| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631 |
- import { g as oo, m as eo, d as I, r as j, b9 as K, ah as to, E as L, F as ro, I as A, u as H, o as no, c as U, _ as D, bz as ao, a3 as z, P as V, a4 as E, a2 as _, j as io } from "./index2.js";
- import { provide as N, inject as X, defineComponent as W, computed as O, ref as F, createVNode as T, watch as lo, nextTick as so } from "vue";
- const q = Symbol("radioGroupContextKey"), co = (o) => {
- N(q, o);
- }, uo = () => X(q, void 0), J = Symbol("radioOptionTypeContextKey"), po = (o) => {
- N(J, o);
- }, bo = () => X(J, void 0), go = new to("antRadioEffect", {
- "0%": {
- transform: "scale(1)",
- opacity: 0.5
- },
- "100%": {
- transform: "scale(1.6)",
- opacity: 0
- }
- }), ho = (o) => {
- const {
- componentCls: r,
- antCls: n
- } = o, t = `${r}-group`;
- return {
- [t]: I(I({}, j(o)), {
- display: "inline-block",
- fontSize: 0,
- // RTL
- [`&${t}-rtl`]: {
- direction: "rtl"
- },
- [`${n}-badge ${n}-badge-count`]: {
- zIndex: 1
- },
- [`> ${n}-badge:not(:first-child) > ${n}-button-wrapper`]: {
- borderInlineStart: "none"
- }
- })
- };
- }, Co = (o) => {
- const {
- componentCls: r,
- radioWrapperMarginRight: n,
- radioCheckedColor: t,
- radioSize: e,
- motionDurationSlow: d,
- motionDurationMid: s,
- motionEaseInOut: w,
- motionEaseInOutCirc: C,
- radioButtonBg: b,
- colorBorder: B,
- lineWidth: g,
- radioDotSize: f,
- colorBgContainerDisabled: x,
- colorTextDisabled: c,
- paddingXS: h,
- radioDotDisabledColor: a,
- lineType: m,
- radioDotDisabledSize: u,
- wireframe: p,
- colorWhite: y
- } = o, i = `${r}-inner`;
- return {
- [`${r}-wrapper`]: I(I({}, j(o)), {
- position: "relative",
- display: "inline-flex",
- alignItems: "baseline",
- marginInlineStart: 0,
- marginInlineEnd: n,
- cursor: "pointer",
- // RTL
- [`&${r}-wrapper-rtl`]: {
- direction: "rtl"
- },
- "&-disabled": {
- cursor: "not-allowed",
- color: o.colorTextDisabled
- },
- "&::after": {
- display: "inline-block",
- width: 0,
- overflow: "hidden",
- content: '"\\a0"'
- },
- // hashId 在 wrapper 上,只能铺平
- [`${r}-checked::after`]: {
- position: "absolute",
- insetBlockStart: 0,
- insetInlineStart: 0,
- width: "100%",
- height: "100%",
- border: `${g}px ${m} ${t}`,
- borderRadius: "50%",
- visibility: "hidden",
- animationName: go,
- animationDuration: d,
- animationTimingFunction: w,
- animationFillMode: "both",
- content: '""'
- },
- [r]: I(I({}, j(o)), {
- position: "relative",
- display: "inline-block",
- outline: "none",
- cursor: "pointer",
- alignSelf: "center"
- }),
- [`${r}-wrapper:hover &,
- &:hover ${i}`]: {
- borderColor: t
- },
- [`${r}-input:focus-visible + ${i}`]: I({}, K(o)),
- [`${r}:hover::after, ${r}-wrapper:hover &::after`]: {
- visibility: "visible"
- },
- [`${r}-inner`]: {
- "&::after": {
- boxSizing: "border-box",
- position: "absolute",
- insetBlockStart: "50%",
- insetInlineStart: "50%",
- display: "block",
- width: e,
- height: e,
- marginBlockStart: e / -2,
- marginInlineStart: e / -2,
- backgroundColor: p ? t : y,
- borderBlockStart: 0,
- borderInlineStart: 0,
- borderRadius: e,
- transform: "scale(0)",
- opacity: 0,
- transition: `all ${d} ${C}`,
- content: '""'
- },
- boxSizing: "border-box",
- position: "relative",
- insetBlockStart: 0,
- insetInlineStart: 0,
- display: "block",
- width: e,
- height: e,
- backgroundColor: b,
- borderColor: B,
- borderStyle: "solid",
- borderWidth: g,
- borderRadius: "50%",
- transition: `all ${s}`
- },
- [`${r}-input`]: {
- position: "absolute",
- insetBlockStart: 0,
- insetInlineEnd: 0,
- insetBlockEnd: 0,
- insetInlineStart: 0,
- zIndex: 1,
- cursor: "pointer",
- opacity: 0
- },
- // 选中状态
- [`${r}-checked`]: {
- [i]: {
- borderColor: t,
- backgroundColor: p ? b : t,
- "&::after": {
- transform: `scale(${f / e})`,
- opacity: 1,
- transition: `all ${d} ${C}`
- }
- }
- },
- [`${r}-disabled`]: {
- cursor: "not-allowed",
- [i]: {
- backgroundColor: x,
- borderColor: B,
- cursor: "not-allowed",
- "&::after": {
- backgroundColor: a
- }
- },
- [`${r}-input`]: {
- cursor: "not-allowed"
- },
- [`${r}-disabled + span`]: {
- color: c,
- cursor: "not-allowed"
- },
- [`&${r}-checked`]: {
- [i]: {
- "&::after": {
- transform: `scale(${u / e})`
- }
- }
- }
- },
- [`span${r} + *`]: {
- paddingInlineStart: h,
- paddingInlineEnd: h
- }
- })
- };
- }, fo = (o) => {
- const {
- radioButtonColor: r,
- controlHeight: n,
- componentCls: t,
- lineWidth: e,
- lineType: d,
- colorBorder: s,
- motionDurationSlow: w,
- motionDurationMid: C,
- radioButtonPaddingHorizontal: b,
- fontSize: B,
- radioButtonBg: g,
- fontSizeLG: f,
- controlHeightLG: x,
- controlHeightSM: c,
- paddingXS: h,
- borderRadius: a,
- borderRadiusSM: m,
- borderRadiusLG: u,
- radioCheckedColor: p,
- radioButtonCheckedBg: y,
- radioButtonHoverColor: i,
- radioButtonActiveColor: v,
- radioSolidCheckedColor: R,
- colorTextDisabled: l,
- colorBgContainerDisabled: S,
- radioDisabledButtonCheckedColor: P,
- radioDisabledButtonCheckedBg: G
- } = o;
- return {
- [`${t}-button-wrapper`]: {
- position: "relative",
- display: "inline-block",
- height: n,
- margin: 0,
- paddingInline: b,
- paddingBlock: 0,
- color: r,
- fontSize: B,
- lineHeight: `${n - e * 2}px`,
- background: g,
- border: `${e}px ${d} ${s}`,
- // strange align fix for chrome but works
- // https://gw.alipayobjects.com/zos/rmsportal/VFTfKXJuogBAXcvfAUWJ.gif
- borderBlockStartWidth: e + 0.02,
- borderInlineStartWidth: 0,
- borderInlineEndWidth: e,
- cursor: "pointer",
- transition: [`color ${C}`, `background ${C}`, `border-color ${C}`, `box-shadow ${C}`].join(","),
- a: {
- color: r
- },
- [`> ${t}-button`]: {
- position: "absolute",
- insetBlockStart: 0,
- insetInlineStart: 0,
- zIndex: -1,
- width: "100%",
- height: "100%"
- },
- "&:not(:first-child)": {
- "&::before": {
- position: "absolute",
- insetBlockStart: -e,
- insetInlineStart: -e,
- display: "block",
- boxSizing: "content-box",
- width: 1,
- height: "100%",
- paddingBlock: e,
- paddingInline: 0,
- backgroundColor: s,
- transition: `background-color ${w}`,
- content: '""'
- }
- },
- "&:first-child": {
- borderInlineStart: `${e}px ${d} ${s}`,
- borderStartStartRadius: a,
- borderEndStartRadius: a
- },
- "&:last-child": {
- borderStartEndRadius: a,
- borderEndEndRadius: a
- },
- "&:first-child:last-child": {
- borderRadius: a
- },
- [`${t}-group-large &`]: {
- height: x,
- fontSize: f,
- lineHeight: `${x - e * 2}px`,
- "&:first-child": {
- borderStartStartRadius: u,
- borderEndStartRadius: u
- },
- "&:last-child": {
- borderStartEndRadius: u,
- borderEndEndRadius: u
- }
- },
- [`${t}-group-small &`]: {
- height: c,
- paddingInline: h - e,
- paddingBlock: 0,
- lineHeight: `${c - e * 2}px`,
- "&:first-child": {
- borderStartStartRadius: m,
- borderEndStartRadius: m
- },
- "&:last-child": {
- borderStartEndRadius: m,
- borderEndEndRadius: m
- }
- },
- "&:hover": {
- position: "relative",
- color: p
- },
- "&:has(:focus-visible)": I({}, K(o)),
- [`${t}-inner, input[type='checkbox'], input[type='radio']`]: {
- width: 0,
- height: 0,
- opacity: 0,
- pointerEvents: "none"
- },
- [`&-checked:not(${t}-button-wrapper-disabled)`]: {
- zIndex: 1,
- color: p,
- background: y,
- borderColor: p,
- "&::before": {
- backgroundColor: p
- },
- "&:first-child": {
- borderColor: p
- },
- "&:hover": {
- color: i,
- borderColor: i,
- "&::before": {
- backgroundColor: i
- }
- },
- "&:active": {
- color: v,
- borderColor: v,
- "&::before": {
- backgroundColor: v
- }
- }
- },
- [`${t}-group-solid &-checked:not(${t}-button-wrapper-disabled)`]: {
- color: R,
- background: p,
- borderColor: p,
- "&:hover": {
- color: R,
- background: i,
- borderColor: i
- },
- "&:active": {
- color: R,
- background: v,
- borderColor: v
- }
- },
- "&-disabled": {
- color: l,
- backgroundColor: S,
- borderColor: s,
- cursor: "not-allowed",
- "&:first-child, &:hover": {
- color: l,
- backgroundColor: S,
- borderColor: s
- }
- },
- [`&-disabled${t}-button-wrapper-checked`]: {
- color: P,
- backgroundColor: G,
- borderColor: s,
- boxShadow: "none"
- }
- }
- };
- }, Q = oo("Radio", (o) => {
- const {
- padding: r,
- lineWidth: n,
- controlItemBgActiveDisabled: t,
- colorTextDisabled: e,
- colorBgContainer: d,
- fontSizeLG: s,
- controlOutline: w,
- colorPrimaryHover: C,
- colorPrimaryActive: b,
- colorText: B,
- colorPrimary: g,
- marginXS: f,
- controlOutlineWidth: x,
- colorTextLightSolid: c,
- wireframe: h
- } = o, a = `0 0 0 ${x}px ${w}`, m = a, u = s, p = 4, y = u - p * 2, i = h ? y : u - (p + n) * 2, v = g, R = B, l = C, S = b, P = r - n, $ = eo(o, {
- radioFocusShadow: a,
- radioButtonFocusShadow: m,
- radioSize: u,
- radioDotSize: i,
- radioDotDisabledSize: y,
- radioCheckedColor: v,
- radioDotDisabledColor: e,
- radioSolidCheckedColor: c,
- radioButtonBg: d,
- radioButtonCheckedBg: d,
- radioButtonColor: R,
- radioButtonHoverColor: l,
- radioButtonActiveColor: S,
- radioButtonPaddingHorizontal: P,
- radioDisabledButtonCheckedBg: t,
- radioDisabledButtonCheckedColor: e,
- radioWrapperMarginRight: f
- });
- return [ho($), Co($), fo($)];
- });
- var vo = function(o, r) {
- var n = {};
- for (var t in o) Object.prototype.hasOwnProperty.call(o, t) && r.indexOf(t) < 0 && (n[t] = o[t]);
- if (o != null && typeof Object.getOwnPropertySymbols == "function") for (var e = 0, t = Object.getOwnPropertySymbols(o); e < t.length; e++)
- r.indexOf(t[e]) < 0 && Object.prototype.propertyIsEnumerable.call(o, t[e]) && (n[t[e]] = o[t[e]]);
- return n;
- };
- const Y = () => ({
- prefixCls: String,
- checked: z(),
- disabled: z(),
- isGroup: z(),
- value: V.any,
- name: String,
- id: String,
- autofocus: z(),
- onChange: E(),
- onFocus: E(),
- onBlur: E(),
- onClick: E(),
- "onUpdate:checked": E(),
- "onUpdate:value": E()
- }), k = W({
- compatConfig: {
- MODE: 3
- },
- name: "ARadio",
- inheritAttrs: !1,
- props: Y(),
- setup(o, r) {
- let {
- emit: n,
- expose: t,
- slots: e,
- attrs: d
- } = r;
- const s = L(), w = ro.useInject(), C = bo(), b = uo(), B = A(), g = O(() => {
- var l;
- return (l = h.value) !== null && l !== void 0 ? l : B.value;
- }), f = F(), {
- prefixCls: x,
- direction: c,
- disabled: h
- } = H("radio", o), a = O(() => (b == null ? void 0 : b.optionType.value) === "button" || C === "button" ? `${x.value}-button` : x.value), m = A(), [u, p] = Q(x);
- t({
- focus: () => {
- f.value.focus();
- },
- blur: () => {
- f.value.blur();
- }
- });
- const v = (l) => {
- const S = l.target.checked;
- n("update:checked", S), n("update:value", S), n("change", l), s.onFieldChange();
- }, R = (l) => {
- n("change", l), b && b.onChange && b.onChange(l);
- };
- return () => {
- var l;
- const S = b, {
- prefixCls: P,
- id: G = s.id.value
- } = o, M = vo(o, ["prefixCls", "id"]), $ = I(I({
- prefixCls: a.value,
- id: G
- }, no(M, ["onUpdate:checked", "onUpdate:value"])), {
- disabled: (l = h.value) !== null && l !== void 0 ? l : m.value
- });
- S ? ($.name = S.name.value, $.onChange = R, $.checked = o.value === S.value.value, $.disabled = g.value || S.disabled.value) : $.onChange = v;
- const Z = U({
- [`${a.value}-wrapper`]: !0,
- [`${a.value}-wrapper-checked`]: $.checked,
- [`${a.value}-wrapper-disabled`]: $.disabled,
- [`${a.value}-wrapper-rtl`]: c.value === "rtl",
- [`${a.value}-wrapper-in-form-item`]: w.isFormItemInput
- }, d.class, p.value);
- return u(T("label", D(D({}, d), {}, {
- class: Z
- }), [T(ao, D(D({}, $), {}, {
- type: "radio",
- ref: f
- }), null), e.default && T("span", null, [e.default()])]));
- };
- }
- }), mo = () => ({
- prefixCls: String,
- value: V.any,
- size: _(),
- options: io(),
- disabled: z(),
- name: String,
- buttonStyle: _("outline"),
- id: String,
- optionType: _("default"),
- onChange: E(),
- "onUpdate:value": E()
- }), So = W({
- compatConfig: {
- MODE: 3
- },
- name: "ARadioGroup",
- inheritAttrs: !1,
- props: mo(),
- // emits: ['update:value', 'change'],
- setup(o, r) {
- let {
- slots: n,
- emit: t,
- attrs: e
- } = r;
- const d = L(), {
- prefixCls: s,
- direction: w,
- size: C
- } = H("radio", o), [b, B] = Q(s), g = F(o.value), f = F(!1);
- return lo(() => o.value, (c) => {
- g.value = c, f.value = !1;
- }), co({
- onChange: (c) => {
- const h = g.value, {
- value: a
- } = c.target;
- "value" in o || (g.value = a), !f.value && a !== h && (f.value = !0, t("update:value", a), t("change", c), d.onFieldChange()), so(() => {
- f.value = !1;
- });
- },
- value: g,
- disabled: O(() => o.disabled),
- name: O(() => o.name),
- optionType: O(() => o.optionType)
- }), () => {
- var c;
- const {
- options: h,
- buttonStyle: a,
- id: m = d.id.value
- } = o, u = `${s.value}-group`, p = U(u, `${u}-${a}`, {
- [`${u}-${C.value}`]: C.value,
- [`${u}-rtl`]: w.value === "rtl"
- }, e.class, B.value);
- let y = null;
- return h && h.length > 0 ? y = h.map((i) => {
- if (typeof i == "string" || typeof i == "number")
- return T(k, {
- key: i,
- prefixCls: s.value,
- disabled: o.disabled,
- value: i,
- checked: g.value === i
- }, {
- default: () => [i]
- });
- const {
- value: v,
- disabled: R,
- label: l
- } = i;
- return T(k, {
- key: `radio-group-value-options-${v}`,
- prefixCls: s.value,
- disabled: R || o.disabled,
- value: v,
- checked: g.value === v
- }, {
- default: () => [l]
- });
- }) : y = (c = n.default) === null || c === void 0 ? void 0 : c.call(n), b(T("div", D(D({}, e), {}, {
- class: p,
- id: m
- }), [y]));
- };
- }
- }), $o = W({
- compatConfig: {
- MODE: 3
- },
- name: "ARadioButton",
- inheritAttrs: !1,
- props: Y(),
- setup(o, r) {
- let {
- slots: n,
- attrs: t
- } = r;
- const {
- prefixCls: e
- } = H("radio", o);
- return po("button"), () => {
- var d;
- return T(k, D(D(D({}, t), o), {}, {
- prefixCls: e.value
- }), {
- default: () => [(d = n.default) === null || d === void 0 ? void 0 : d.call(n)]
- });
- };
- }
- });
- k.Group = So;
- k.Button = $o;
- k.install = function(o) {
- return o.component(k.name, k), o.component(k.Group.name, k.Group), o.component(k.Button.name, k.Button), o;
- };
- export {
- k as R,
- So as _
- };
|