ai-form-designer
Version:
vue3+adv的设计器,可视化开发页面表单
1,877 lines • 67.8 kB
JavaScript
import { c as I } from "./_commonjsHelpers-BVfed4GL.js";
import { r as Ne, c as Ie, a as Qe, b as Ke, _ as Ce, e as Ae, i as io, p as so, f as Rt } from "./index-CFbzusj4.js";
import { g as Mt, d as St, b as Pt, s as Tt, a as uo, _ as we, i as fo, h as ho, j as vo, r as Ot, e as Nt } from "./index-B5s4z2wp.js";
import { r as fe } from "./_vue_commonjs-external-NwvjgbHK.js";
import { u as bo } from "./utils-BM69FtWE.js";
import { f as mo } from "./fade-in-scale-up.cssr-Ce2i0ZnO.js";
function go(e, i) {
for (var l = 0; l < i.length; l++) {
const c = i[l];
if (typeof c != "string" && !Array.isArray(c)) {
for (const a in c)
if (a !== "default" && !(a in e)) {
const o = Object.getOwnPropertyDescriptor(c, a);
o && Object.defineProperty(e, a, o.get ? o : {
enumerable: !0,
get: () => c[a]
});
}
}
}
return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }));
}
var $t = {}, jt = {}, Dt = {}, Xe = {}, Ee = {}, Ze = {}, $e = {}, et = {};
Object.defineProperty(et, "__esModule", { value: !0 });
et.default = {
sizeSmall: "14px",
sizeMedium: "16px",
sizeLarge: "18px",
labelPadding: "0 8px",
labelFontWeight: "400"
};
var po = I && I.__importDefault || function(e) {
return e && e.__esModule ? e : { default: e };
};
Object.defineProperty($e, "__esModule", { value: !0 });
$e.self = Ft;
const ko = Ne, yo = Ie, _o = po(et);
function Ft(e) {
const { baseColor: i, inputColorDisabled: l, cardColor: c, modalColor: a, popoverColor: o, textColorDisabled: _, borderColor: b, primaryColor: y, textColor2: m, fontSizeSmall: O, fontSizeMedium: E, fontSizeLarge: V, borderRadiusSmall: U, lineHeight: q } = e;
return Object.assign(Object.assign({}, _o.default), {
labelLineHeight: q,
fontSizeSmall: O,
fontSizeMedium: E,
fontSizeLarge: V,
borderRadius: U,
color: i,
colorChecked: y,
colorDisabled: l,
colorDisabledChecked: l,
colorTableHeader: c,
colorTableHeaderModal: a,
colorTableHeaderPopover: o,
checkMarkColor: i,
checkMarkColorDisabled: _,
checkMarkColorDisabledChecked: _,
border: `1px solid ${b}`,
borderDisabled: `1px solid ${b}`,
borderDisabledChecked: `1px solid ${b}`,
borderChecked: `1px solid ${y}`,
borderFocus: `1px solid ${y}`,
boxShadowFocus: `0 0 0 2px ${(0, ko.changeColor)(y, { alpha: 0.3 })}`,
textColor: m,
textColorDisabled: _
});
}
const xo = {
name: "Checkbox",
common: yo.commonLight,
self: Ft
};
$e.default = xo;
Object.defineProperty(Ze, "__esModule", { value: !0 });
const Co = Ie, wo = $e, Ro = {
name: "Checkbox",
common: Co.commonDark,
self(e) {
const { cardColor: i } = e, l = (0, wo.self)(e);
return l.color = "#0000", l.checkMarkColor = i, l;
}
};
Ze.default = Ro;
var Ve = {}, tt = {};
Object.defineProperty(tt, "__esModule", {
value: !0
});
const kt = Qe;
tt.default = (0, kt.cB)("checkbox", [(0, kt.cM)("rtl", `
direction: rtl;
`)]);
var Mo = I && I.__importDefault || function(e) {
return e && e.__esModule ? e : { default: e };
};
Object.defineProperty(Ve, "__esModule", { value: !0 });
Ve.checkboxRtl = void 0;
const So = Mo(tt);
Ve.checkboxRtl = {
name: "Checkbox",
style: So.default
};
(function(e) {
var i = I && I.__importDefault || function(o) {
return o && o.__esModule ? o : { default: o };
};
Object.defineProperty(e, "__esModule", { value: !0 }), e.checkboxRtl = e.checkboxLight = e.checkboxDark = void 0;
var l = Ze;
Object.defineProperty(e, "checkboxDark", { enumerable: !0, get: function() {
return i(l).default;
} });
var c = $e;
Object.defineProperty(e, "checkboxLight", { enumerable: !0, get: function() {
return i(c).default;
} });
var a = Ve;
Object.defineProperty(e, "checkboxRtl", { enumerable: !0, get: function() {
return a.checkboxRtl;
} });
})(Ee);
var je = {};
Object.defineProperty(je, "__esModule", { value: !0 });
je.self = Bt;
const Po = St, To = Tt, Oo = Pt, No = Ke, $o = Ie, jo = Ee, Do = Mt;
function Bt(e) {
const { borderRadius: i, boxShadow2: l, popoverColor: c, textColor2: a, textColor3: o, primaryColor: _, textColorDisabled: b, dividerColor: y, hoverColor: m, fontSizeMedium: O, heightMedium: E } = e;
return {
menuBorderRadius: i,
menuColor: c,
menuBoxShadow: l,
menuDividerColor: y,
menuHeight: "calc(var(--n-option-height) * 6.6)",
optionArrowColor: o,
optionHeight: E,
optionFontSize: O,
optionColorHover: m,
optionTextColor: a,
optionTextColorActive: _,
optionTextColorDisabled: b,
optionCheckMarkColor: _,
loadingColor: _,
columnWidth: "180px"
};
}
const Fo = (0, No.createTheme)({
name: "Cascader",
common: $o.commonLight,
peers: {
InternalSelectMenu: To.internalSelectMenuLight,
InternalSelection: Oo.internalSelectionLight,
Scrollbar: Po.scrollbarLight,
Checkbox: jo.checkboxLight,
Empty: Do.emptyLight
},
self: Bt
});
je.default = Fo;
Object.defineProperty(Xe, "__esModule", { value: !0 });
const Bo = St, zo = Tt, Lo = Pt, Io = Ie, Ko = Ee, Ao = Mt, Eo = je, Vo = {
name: "Cascader",
common: Io.commonDark,
peers: {
InternalSelectMenu: zo.internalSelectMenuDark,
InternalSelection: Lo.internalSelectionDark,
Scrollbar: Bo.scrollbarDark,
Checkbox: Ko.checkboxDark,
Empty: Ao.emptyLight
},
self: Eo.self
};
Xe.default = Vo;
(function(e) {
var i = I && I.__importDefault || function(a) {
return a && a.__esModule ? a : { default: a };
};
Object.defineProperty(e, "__esModule", { value: !0 }), e.cascaderLight = e.cascaderDark = void 0;
var l = Xe;
Object.defineProperty(e, "cascaderDark", { enumerable: !0, get: function() {
return i(l).default;
} });
var c = je;
Object.defineProperty(e, "cascaderLight", { enumerable: !0, get: function() {
return i(c).default;
} });
})(Dt);
var ot = {}, nt = {}, rt = {}, zt = {}, Lt = {}, lt = {};
(function(e) {
Object.defineProperty(e, "__esModule", { value: !0 }), e.checkboxGroupProps = e.checkboxGroupInjectionKey = void 0;
const i = Ae, l = fe, c = Ke, a = Ce;
e.checkboxGroupInjectionKey = (0, a.createInjectionKey)("n-checkbox-group"), e.checkboxGroupProps = {
min: Number,
max: Number,
size: String,
value: Array,
defaultValue: {
type: Array,
default: null
},
disabled: {
type: Boolean,
default: void 0
},
"onUpdate:value": [Function, Array],
onUpdateValue: [Function, Array],
// deprecated
onChange: [Function, Array]
}, e.default = (0, l.defineComponent)({
name: "CheckboxGroup",
props: e.checkboxGroupProps,
setup(o) {
process.env.NODE_ENV !== "production" && (0, l.watchEffect)(() => {
o.onChange !== void 0 && (0, a.warnOnce)("checkbox-group", "`on-change` is deprecated, please use `on-update:value` instead.");
});
const { mergedClsPrefixRef: _ } = (0, c.useConfig)(o), b = (0, c.useFormItem)(o), { mergedSizeRef: y, mergedDisabledRef: m } = b, O = (0, l.ref)(o.defaultValue), E = (0, l.computed)(() => o.value), V = (0, i.useMergedState)(E, O), U = (0, l.computed)(() => {
var n;
return ((n = V.value) === null || n === void 0 ? void 0 : n.length) || 0;
}), q = (0, l.computed)(() => Array.isArray(V.value) ? new Set(V.value) : /* @__PURE__ */ new Set());
function p(n, s) {
const { nTriggerFormInput: d, nTriggerFormChange: T } = b, { onChange: R, "onUpdate:value": z, onUpdateValue: $ } = o;
if (Array.isArray(V.value)) {
const j = Array.from(V.value), M = j.findIndex((X) => X === s);
n ? ~M || (j.push(s), $ && (0, a.call)($, j, {
actionType: "check",
value: s
}), z && (0, a.call)(z, j, {
actionType: "check",
value: s
}), d(), T(), O.value = j, R && (0, a.call)(R, j)) : ~M && (j.splice(M, 1), $ && (0, a.call)($, j, {
actionType: "uncheck",
value: s
}), z && (0, a.call)(z, j, {
actionType: "uncheck",
value: s
}), R && (0, a.call)(R, j), O.value = j, d(), T());
} else
n ? ($ && (0, a.call)($, [s], {
actionType: "check",
value: s
}), z && (0, a.call)(z, [s], {
actionType: "check",
value: s
}), R && (0, a.call)(R, [s]), O.value = [s], d(), T()) : ($ && (0, a.call)($, [], {
actionType: "uncheck",
value: s
}), z && (0, a.call)(z, [], {
actionType: "uncheck",
value: s
}), R && (0, a.call)(R, []), O.value = [], d(), T());
}
return (0, l.provide)(e.checkboxGroupInjectionKey, {
checkedCountRef: U,
maxRef: (0, l.toRef)(o, "max"),
minRef: (0, l.toRef)(o, "min"),
valueSetRef: q,
disabledRef: m,
mergedSizeRef: y,
toggleCheckbox: p
}), {
mergedClsPrefix: _
};
},
render() {
return (0, l.h)("div", { class: `${this.mergedClsPrefix}-checkbox-group`, role: "group" }, this.$slots);
}
});
})(lt);
var at = {};
Object.defineProperty(at, "__esModule", { value: !0 });
const yt = fe;
at.default = () => (0, yt.h)(
"svg",
{ viewBox: "0 0 64 64", class: "check-icon" },
(0, yt.h)("path", { d: "M50.42,16.76L22.34,39.45l-8.1-11.46c-1.12-1.58-3.3-1.96-4.88-0.84c-1.58,1.12-1.95,3.3-0.84,4.88l10.26,14.51 c0.56,0.79,1.42,1.31,2.38,1.45c0.16,0.02,0.32,0.03,0.48,0.03c0.8,0,1.57-0.27,2.2-0.78l30.99-25.03c1.5-1.21,1.74-3.42,0.52-4.92 C54.13,15.78,51.93,15.55,50.42,16.76z" })
);
var ct = {};
Object.defineProperty(ct, "__esModule", { value: !0 });
const _t = fe;
ct.default = () => (0, _t.h)(
"svg",
{ viewBox: "0 0 100 100", class: "line-icon" },
(0, _t.h)("path", { d: "M80.2,55.5H21.4c-2.8,0-5.1-2.5-5.1-5.5l0,0c0-3,2.3-5.5,5.1-5.5h58.7c2.8,0,5.1,2.5,5.1,5.5l0,0C85.2,53.1,82.9,55.5,80.2,55.5z" })
);
var it = {};
Object.defineProperty(it, "__esModule", {
value: !0
});
const Uo = uo, u = Qe;
it.default = (0, u.c)([
(0, u.cB)("checkbox", `
font-size: var(--n-font-size);
outline: none;
cursor: pointer;
display: inline-flex;
flex-wrap: nowrap;
align-items: flex-start;
word-break: break-word;
line-height: var(--n-size);
--n-merged-color-table: var(--n-color-table);
`, [(0, u.cM)("show-label", "line-height: var(--n-label-line-height);"), (0, u.c)("&:hover", [(0, u.cB)("checkbox-box", [(0, u.cE)("border", "border: var(--n-border-checked);")])]), (0, u.c)("&:focus:not(:active)", [(0, u.cB)("checkbox-box", [(0, u.cE)("border", `
border: var(--n-border-focus);
box-shadow: var(--n-box-shadow-focus);
`)])]), (0, u.cM)("inside-table", [(0, u.cB)("checkbox-box", `
background-color: var(--n-merged-color-table);
`)]), (0, u.cM)("checked", [(0, u.cB)("checkbox-box", `
background-color: var(--n-color-checked);
`, [(0, u.cB)("checkbox-icon", [
// if not set width to 100%, safari & old chrome won't display the icon
(0, u.c)(".check-icon", `
opacity: 1;
transform: scale(1);
`)
])])]), (0, u.cM)("indeterminate", [(0, u.cB)("checkbox-box", [(0, u.cB)("checkbox-icon", [(0, u.c)(".check-icon", `
opacity: 0;
transform: scale(.5);
`), (0, u.c)(".line-icon", `
opacity: 1;
transform: scale(1);
`)])])]), (0, u.cM)("checked, indeterminate", [(0, u.c)("&:focus:not(:active)", [(0, u.cB)("checkbox-box", [(0, u.cE)("border", `
border: var(--n-border-checked);
box-shadow: var(--n-box-shadow-focus);
`)])]), (0, u.cB)("checkbox-box", `
background-color: var(--n-color-checked);
border-left: 0;
border-top: 0;
`, [(0, u.cE)("border", {
border: "var(--n-border-checked)"
})])]), (0, u.cM)("disabled", {
cursor: "not-allowed"
}, [(0, u.cM)("checked", [(0, u.cB)("checkbox-box", `
background-color: var(--n-color-disabled-checked);
`, [(0, u.cE)("border", {
border: "var(--n-border-disabled-checked)"
}), (0, u.cB)("checkbox-icon", [(0, u.c)(".check-icon, .line-icon", {
fill: "var(--n-check-mark-color-disabled-checked)"
})])])]), (0, u.cB)("checkbox-box", `
background-color: var(--n-color-disabled);
`, [(0, u.cE)("border", `
border: var(--n-border-disabled);
`), (0, u.cB)("checkbox-icon", [(0, u.c)(".check-icon, .line-icon", `
fill: var(--n-check-mark-color-disabled);
`)])]), (0, u.cE)("label", `
color: var(--n-text-color-disabled);
`)]), (0, u.cB)("checkbox-box-wrapper", `
position: relative;
width: var(--n-size);
flex-shrink: 0;
flex-grow: 0;
user-select: none;
-webkit-user-select: none;
`), (0, u.cB)("checkbox-box", `
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
height: var(--n-size);
width: var(--n-size);
display: inline-block;
box-sizing: border-box;
border-radius: var(--n-border-radius);
background-color: var(--n-color);
transition: background-color 0.3s var(--n-bezier);
`, [(0, u.cE)("border", `
transition:
border-color .3s var(--n-bezier),
box-shadow .3s var(--n-bezier);
border-radius: inherit;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
border: var(--n-border);
`), (0, u.cB)("checkbox-icon", `
display: flex;
align-items: center;
justify-content: center;
position: absolute;
left: 1px;
right: 1px;
top: 1px;
bottom: 1px;
`, [(0, u.c)(".check-icon, .line-icon", `
width: 100%;
fill: var(--n-check-mark-color);
opacity: 0;
transform: scale(0.5);
transform-origin: center;
transition:
fill 0.3s var(--n-bezier),
transform 0.3s var(--n-bezier),
opacity 0.3s var(--n-bezier),
border-color 0.3s var(--n-bezier);
`), (0, Uo.iconSwitchTransition)({
left: "1px",
top: "1px"
})])]), (0, u.cE)("label", `
color: var(--n-text-color);
transition: color .3s var(--n-bezier);
user-select: none;
-webkit-user-select: none;
padding: var(--n-label-padding);
font-weight: var(--n-label-font-weight);
`, [(0, u.c)("&:empty", {
display: "none"
})])]),
// modal table header checkbox
(0, u.insideModal)((0, u.cB)("checkbox", `
--n-merged-color-table: var(--n-color-table-modal);
`)),
// popover table header checkbox
(0, u.insidePopover)((0, u.cB)("checkbox", `
--n-merged-color-table: var(--n-color-table-popover);
`))
]);
(function(e) {
var i = I && I.__importDefault || function(p) {
return p && p.__esModule ? p : { default: p };
};
Object.defineProperty(e, "__esModule", { value: !0 }), e.checkboxProps = void 0;
const l = io, c = Ne, a = Ae, o = fe, _ = we, b = Ke, y = so, m = Ce, O = Ee, E = lt, V = i(at), U = i(ct), q = i(it);
e.checkboxProps = Object.assign(Object.assign({}, b.useTheme.props), {
size: String,
checked: {
type: [Boolean, String, Number],
default: void 0
},
defaultChecked: {
type: [Boolean, String, Number],
default: !1
},
value: [String, Number],
disabled: {
type: Boolean,
default: void 0
},
indeterminate: Boolean,
label: String,
focusable: {
type: Boolean,
default: !0
},
checkedValue: {
type: [Boolean, String, Number],
default: !0
},
uncheckedValue: {
type: [Boolean, String, Number],
default: !1
},
"onUpdate:checked": [Function, Array],
onUpdateChecked: [Function, Array],
// private
privateInsideTable: Boolean,
// deprecated
onChange: [Function, Array]
}), e.default = (0, o.defineComponent)({
name: "Checkbox",
props: e.checkboxProps,
setup(p) {
process.env.NODE_ENV !== "production" && (0, o.watchEffect)(() => {
p.onChange && (0, m.warnOnce)("checkbox", "`on-change` is deprecated, please use `on-update:checked` instead.");
});
const n = (0, o.inject)(E.checkboxGroupInjectionKey, null), s = (0, o.ref)(null), { mergedClsPrefixRef: d, inlineThemeDisabled: T, mergedRtlRef: R } = (0, b.useConfig)(p), z = (0, o.ref)(p.defaultChecked), $ = (0, o.toRef)(p, "checked"), j = (0, a.useMergedState)($, z), M = (0, a.useMemo)(() => {
if (n) {
const f = n.valueSetRef.value;
return f && p.value !== void 0 ? f.has(p.value) : !1;
} else
return j.value === p.checkedValue;
}), X = (0, b.useFormItem)(p, {
mergedSize(f) {
const { size: K } = p;
if (K !== void 0)
return K;
if (n) {
const { value: A } = n.mergedSizeRef;
if (A !== void 0)
return A;
}
if (f) {
const { mergedSize: A } = f;
if (A !== void 0)
return A.value;
}
return "medium";
},
mergedDisabled(f) {
const { disabled: K } = p;
if (K !== void 0)
return K;
if (n) {
if (n.disabledRef.value)
return !0;
const { maxRef: { value: A }, checkedCountRef: ee } = n;
if (A !== void 0 && ee.value >= A && !M.value)
return !0;
const { minRef: { value: te } } = n;
if (te !== void 0 && ee.value <= te && M.value)
return !0;
}
return f ? f.disabled.value : !1;
}
}), { mergedDisabledRef: h, mergedSizeRef: x } = X, N = (0, b.useTheme)("Checkbox", "-checkbox", q.default, O.checkboxLight, p, d);
function W(f) {
if (n && p.value !== void 0)
n.toggleCheckbox(!M.value, p.value);
else {
const { onChange: K, "onUpdate:checked": A, onUpdateChecked: ee } = p, { nTriggerFormInput: te, nTriggerFormChange: oe } = X, ne = M.value ? p.uncheckedValue : p.checkedValue;
A && (0, m.call)(A, ne, f), ee && (0, m.call)(ee, ne, f), K && (0, m.call)(K, ne, f), te(), oe(), z.value = ne;
}
}
function Z(f) {
h.value || W(f);
}
function le(f) {
if (!h.value)
switch (f.key) {
case " ":
case "Enter":
W(f);
}
}
function ye(f) {
switch (f.key) {
case " ":
f.preventDefault();
}
}
const Y = {
focus: () => {
var f;
(f = s.value) === null || f === void 0 || f.focus();
},
blur: () => {
var f;
(f = s.value) === null || f === void 0 || f.blur();
}
}, se = (0, y.useRtl)("Checkbox", R, d), J = (0, o.computed)(() => {
const { value: f } = x, { common: { cubicBezierEaseInOut: K }, self: { borderRadius: A, color: ee, colorChecked: te, colorDisabled: oe, colorTableHeader: ne, colorTableHeaderModal: he, colorTableHeaderPopover: P, checkMarkColor: G, checkMarkColorDisabled: ve, border: be, borderFocus: ae, borderDisabled: Me, borderChecked: ce, boxShadowFocus: De, textColor: Fe, textColorDisabled: de, checkMarkColorDisabledChecked: me, colorDisabledChecked: pe, borderDisabledChecked: Se, labelPadding: Be, labelLineHeight: Pe, labelFontWeight: Ue, [(0, m.createKey)("fontSize", f)]: He, [(0, m.createKey)("size", f)]: qe } } = N.value;
return {
"--n-label-line-height": Pe,
"--n-label-font-weight": Ue,
"--n-size": qe,
"--n-bezier": K,
"--n-border-radius": A,
"--n-border": be,
"--n-border-checked": ce,
"--n-border-focus": ae,
"--n-border-disabled": Me,
"--n-border-disabled-checked": Se,
"--n-box-shadow-focus": De,
"--n-color": ee,
"--n-color-checked": te,
"--n-color-table": ne,
"--n-color-table-modal": he,
"--n-color-table-popover": P,
"--n-color-disabled": oe,
"--n-color-disabled-checked": pe,
"--n-text-color": Fe,
"--n-text-color-disabled": de,
"--n-check-mark-color": G,
"--n-check-mark-color-disabled": ve,
"--n-check-mark-color-disabled-checked": me,
"--n-font-size": He,
"--n-label-padding": Be
};
}), L = T ? (0, b.useThemeClass)("checkbox", (0, o.computed)(() => x.value[0]), J, p) : void 0;
return Object.assign(X, Y, {
rtlEnabled: se,
selfRef: s,
mergedClsPrefix: d,
mergedDisabled: h,
renderedChecked: M,
mergedTheme: N,
labelId: (0, c.createId)(),
handleClick: Z,
handleKeyUp: le,
handleKeyDown: ye,
cssVars: T ? void 0 : J,
themeClass: L == null ? void 0 : L.themeClass,
onRender: L == null ? void 0 : L.onRender
});
},
render() {
var p;
const { $slots: n, renderedChecked: s, mergedDisabled: d, indeterminate: T, privateInsideTable: R, cssVars: z, labelId: $, label: j, mergedClsPrefix: M, focusable: X, handleKeyUp: h, handleKeyDown: x, handleClick: N } = this;
(p = this.onRender) === null || p === void 0 || p.call(this);
const W = (0, m.resolveWrappedSlot)(n.default, (Z) => j || Z ? (0, o.h)("span", { class: `${M}-checkbox__label`, id: $ }, j || Z) : null);
return (0, o.h)(
"div",
{ ref: "selfRef", class: [
`${M}-checkbox`,
this.themeClass,
this.rtlEnabled && `${M}-checkbox--rtl`,
s && `${M}-checkbox--checked`,
d && `${M}-checkbox--disabled`,
T && `${M}-checkbox--indeterminate`,
R && `${M}-checkbox--inside-table`,
W && `${M}-checkbox--show-label`
], tabindex: d || !X ? void 0 : 0, role: "checkbox", "aria-checked": T ? "mixed" : s, "aria-labelledby": $, style: z, onKeyup: h, onKeydown: x, onClick: N, onMousedown: () => {
(0, l.on)("selectstart", window, (Z) => {
Z.preventDefault();
}, {
once: !0
});
} },
(0, o.h)(
"div",
{ class: `${M}-checkbox-box-wrapper` },
" ",
(0, o.h)(
"div",
{ class: `${M}-checkbox-box` },
(0, o.h)(_.NIconSwitchTransition, null, {
default: () => this.indeterminate ? (0, o.h)("div", { key: "indeterminate", class: `${M}-checkbox-icon` }, (0, U.default)()) : (0, o.h)("div", { key: "check", class: `${M}-checkbox-icon` }, (0, V.default)())
}),
(0, o.h)("div", { class: `${M}-checkbox-box__border` })
)
),
W
);
}
});
})(Lt);
(function(e) {
var i = I && I.__importDefault || function(a) {
return a && a.__esModule ? a : { default: a };
};
Object.defineProperty(e, "__esModule", { value: !0 }), e.NCheckboxGroup = e.checkboxGroupProps = e.NCheckbox = e.checkboxProps = void 0;
var l = Lt;
Object.defineProperty(e, "checkboxProps", { enumerable: !0, get: function() {
return l.checkboxProps;
} }), Object.defineProperty(e, "NCheckbox", { enumerable: !0, get: function() {
return i(l).default;
} });
var c = lt;
Object.defineProperty(e, "checkboxGroupProps", { enumerable: !0, get: function() {
return c.checkboxGroupProps;
} }), Object.defineProperty(e, "NCheckboxGroup", { enumerable: !0, get: function() {
return i(c).default;
} });
})(zt);
var ge = {};
Object.defineProperty(ge, "__esModule", { value: !0 });
ge.cascaderInjectionKey = void 0;
const Ho = Ce;
ge.cascaderInjectionKey = (0, Ho.createInjectionKey)("n-cascader");
Object.defineProperty(rt, "__esModule", { value: !0 });
const qo = Ne, Oe = Ae, B = fe, Ye = we, xt = fo, Go = zt, Wo = ge;
rt.default = (0, B.defineComponent)({
name: "NCascaderOption",
props: {
tmNode: {
type: Object,
required: !0
}
},
setup(e) {
const { expandTriggerRef: i, remoteRef: l, multipleRef: c, mergedValueRef: a, checkedKeysRef: o, indeterminateKeysRef: _, hoverKeyPathRef: b, keyboardKeyRef: y, loadingKeySetRef: m, cascadeRef: O, mergedCheckStrategyRef: E, onLoadRef: V, mergedClsPrefixRef: U, mergedThemeRef: q, labelFieldRef: p, showCheckboxRef: n, renderPrefixRef: s, renderSuffixRef: d, updateHoverKey: T, updateKeyboardKey: R, addLoadingKey: z, deleteLoadingKey: $, closeMenu: j, doCheck: M, doUncheck: X, renderLabelRef: h } = (0, B.inject)(Wo.cascaderInjectionKey), x = (0, B.computed)(() => e.tmNode.key), N = (0, B.computed)(() => {
const { value: P } = i, { value: G } = l;
return !G && P === "hover";
}), W = (0, B.computed)(() => {
if (N.value)
return te;
}), Z = (0, B.computed)(() => {
if (N.value)
return oe;
}), le = (0, Oe.useMemo)(() => {
const { value: P } = c;
return P ? o.value.includes(x.value) : a.value === x.value;
}), ye = (0, Oe.useMemo)(() => c.value ? _.value.includes(x.value) : !1), Y = (0, Oe.useMemo)(() => b.value.includes(x.value)), se = (0, Oe.useMemo)(() => {
const { value: P } = y;
return P === null ? !1 : P === x.value;
}), J = (0, Oe.useMemo)(() => l.value ? m.value.has(x.value) : !1), L = (0, B.computed)(() => e.tmNode.isLeaf), f = (0, B.computed)(() => e.tmNode.disabled), K = (0, B.computed)(() => e.tmNode.rawNode[p.value]), A = (0, B.computed)(() => e.tmNode.shallowLoaded);
function ee(P) {
if (f.value)
return;
const { value: G } = l, { value: ve } = m, { value: be } = V, { value: ae } = x, { value: Me } = L, { value: ce } = A;
(0, qo.happensIn)(P, "checkbox") || (G && !ce && !ve.has(ae) && be && (z(ae), be(e.tmNode.rawNode).then(() => {
$(ae);
}).catch(() => {
$(ae);
})), T(ae), R(ae)), Me && he();
}
function te() {
if (!N.value || f.value)
return;
const { value: P } = x;
T(P), R(P);
}
function oe() {
N.value && te();
}
function ne() {
const { value: P } = L;
P || he();
}
function he() {
const { value: P } = c, { value: G } = x;
P ? ye.value || le.value ? X(G) : M(G) : (M(G), j(!0));
}
return {
checkStrategy: E,
multiple: c,
cascade: O,
checked: le,
indeterminate: ye,
hoverPending: Y,
keyboardPending: se,
isLoading: J,
showCheckbox: n,
isLeaf: L,
disabled: f,
label: K,
mergedClsPrefix: U,
mergedTheme: q,
handleClick: ee,
handleCheckboxUpdateValue: ne,
mergedHandleMouseEnter: W,
mergedHandleMouseMove: Z,
renderLabel: h,
renderPrefix: s,
renderSuffix: d
};
},
render() {
const { mergedClsPrefix: e, showCheckbox: i, renderLabel: l, renderPrefix: c, renderSuffix: a } = this;
let o = null;
if (i || c) {
const y = this.showCheckbox ? (0, B.h)(Go.NCheckbox, { focusable: !1, "data-checkbox": !0, disabled: this.disabled, checked: this.checked, indeterminate: this.indeterminate, theme: this.mergedTheme.peers.Checkbox, themeOverrides: this.mergedTheme.peerOverrides.Checkbox, onUpdateChecked: this.handleCheckboxUpdateValue }) : null;
o = (0, B.h)("div", { class: `${e}-cascader-option__prefix` }, c ? c({
option: this.tmNode.rawNode,
checked: this.checked,
node: y
}) : y);
}
let _ = null;
const b = (0, B.h)("div", { class: `${e}-cascader-option-icon-placeholder` }, this.isLeaf ? this.checkStrategy === "child" && !(this.multiple && this.cascade) ? (0, B.h)(B.Transition, { name: "fade-in-scale-up-transition" }, {
default: () => this.checked ? (0, B.h)(Ye.NBaseIcon, { clsPrefix: e, class: `${e}-cascader-option-icon ${e}-cascader-option-icon--checkmark` }, { default: () => (0, B.h)(xt.CheckmarkIcon, null) }) : null
}) : null : (0, B.h)(Ye.NBaseLoading, { clsPrefix: e, scale: 0.85, strokeWidth: 24, show: this.isLoading, class: `${e}-cascader-option-icon` }, {
default: () => (0, B.h)(Ye.NBaseIcon, { clsPrefix: e, key: "arrow", class: `${e}-cascader-option-icon ${e}-cascader-option-icon--arrow` }, {
default: () => (0, B.h)(xt.ChevronRightIcon, null)
})
}));
return _ = (0, B.h)("div", { class: `${e}-cascader-option__suffix` }, a ? a({
option: this.tmNode.rawNode,
checked: this.checked,
node: b
}) : b), (0, B.h)(
"div",
{ class: [
`${e}-cascader-option`,
this.keyboardPending || this.hoverPending && `${e}-cascader-option--pending`,
this.disabled && `${e}-cascader-option--disabled`,
this.showCheckbox && `${e}-cascader-option--show-prefix`
], onMouseenter: this.mergedHandleMouseEnter, onMousemove: this.mergedHandleMouseMove, onClick: this.handleClick },
o,
(0, B.h)("span", { class: `${e}-cascader-option__label` }, l ? l(this.tmNode.rawNode, this.checked) : this.label),
_
);
}
});
var Yo = I && I.__importDefault || function(e) {
return e && e.__esModule ? e : { default: e };
};
Object.defineProperty(nt, "__esModule", { value: !0 });
const Jo = Ne, ie = fe, Qo = Rt, Xo = we, Ct = Yo(rt), Zo = ge;
nt.default = (0, ie.defineComponent)({
name: "CascaderSubmenu",
props: {
depth: {
type: Number,
required: !0
},
tmNodes: {
type: Array,
required: !0
}
},
setup() {
const { virtualScrollRef: e, mergedClsPrefixRef: i, mergedThemeRef: l, optionHeightRef: c } = (0, ie.inject)(Zo.cascaderInjectionKey), a = (0, ie.ref)(null), o = (0, ie.ref)(null), _ = {
scroll(b, y) {
var m, O;
e.value ? (m = o.value) === null || m === void 0 || m.scrollTo({
index: b
}) : (O = a.value) === null || O === void 0 || O.scrollTo({
index: b,
elSize: y
});
}
};
return Object.assign({
mergedClsPrefix: i,
mergedTheme: l,
scrollbarInstRef: a,
vlInstRef: o,
virtualScroll: e,
itemSize: (0, ie.computed)(() => (0, Jo.depx)(c.value)),
handleVlScroll: () => {
var b;
(b = a.value) === null || b === void 0 || b.sync();
},
getVlContainer: () => {
var b;
return (b = o.value) === null || b === void 0 ? void 0 : b.listElRef;
},
getVlContent: () => {
var b;
return (b = o.value) === null || b === void 0 ? void 0 : b.itemsElRef;
}
}, _);
},
render() {
const { mergedClsPrefix: e, mergedTheme: i, virtualScroll: l } = this;
return (0, ie.h)(
"div",
{ class: [
l && `${e}-cascader-submenu--virtual`,
`${e}-cascader-submenu`
] },
(0, ie.h)(Xo.NScrollbar, { ref: "scrollbarInstRef", theme: i.peers.Scrollbar, themeOverrides: i.peerOverrides.Scrollbar, container: l ? this.getVlContainer : void 0, content: l ? this.getVlContent : void 0 }, {
default: () => l ? (0, ie.h)(Qo.VirtualList, { items: this.tmNodes, itemSize: this.itemSize, onScroll: this.handleVlScroll, showScrollbar: !1, ref: "vlInstRef" }, {
default: ({ item: c }) => (0, ie.h)(Ct.default, { key: c.key, tmNode: c })
}) : this.tmNodes.map((c) => (0, ie.h)(Ct.default, { key: c.key, tmNode: c }))
})
);
}
});
var It = I && I.__importDefault || function(e) {
return e && e.__esModule ? e : { default: e };
};
Object.defineProperty(ot, "__esModule", { value: !0 });
const en = Ot, H = fe, tn = we, on = It(ho), Je = Ce, nn = vo, rn = It(nt), ln = ge;
ot.default = (0, H.defineComponent)({
name: "NCascaderMenu",
props: {
value: [String, Number, Array],
placement: {
type: String,
default: "bottom-start"
},
show: Boolean,
menuModel: {
type: Array,
required: !0
},
loading: Boolean,
onFocus: {
type: Function,
required: !0
},
onBlur: {
type: Function,
required: !0
},
onKeydown: {
type: Function,
required: !0
},
onMousedown: {
type: Function,
required: !0
},
onTabout: {
type: Function,
required: !0
}
},
setup(e) {
const { localeRef: i, isMountedRef: l, mergedClsPrefixRef: c, syncCascaderMenuPosition: a, handleCascaderMenuClickOutside: o, mergedThemeRef: _, getColumnStyleRef: b } = (0, H.inject)(ln.cascaderInjectionKey), y = [], m = (0, H.ref)(null), O = (0, H.ref)(null);
function E() {
a();
}
(0, Je.useOnResize)(O, E);
function V(s) {
var d;
const { value: { loadingRequiredMessage: T } } = i;
(d = m.value) === null || d === void 0 || d.showOnce(T(s));
}
function U(s) {
o(s);
}
function q(s) {
const { value: d } = O;
d && (d.contains(s.relatedTarget) || e.onFocus(s));
}
function p(s) {
const { value: d } = O;
d && (d.contains(s.relatedTarget) || e.onBlur(s));
}
return Object.assign({
isMounted: l,
mergedClsPrefix: c,
selfElRef: O,
submenuInstRefs: y,
maskInstRef: m,
mergedTheme: _,
getColumnStyle: b,
handleFocusin: q,
handleFocusout: p,
handleClickOutside: U
}, {
scroll(s, d, T) {
const R = y[s];
R && R.scroll(d, T);
},
showErrorMessage: V
});
},
render() {
const { submenuInstRefs: e, mergedClsPrefix: i, mergedTheme: l } = this;
return (0, H.h)(H.Transition, { name: "fade-in-scale-up-transition", appear: this.isMounted }, {
default: () => this.show ? (0, H.withDirectives)((0, H.h)(
"div",
{ tabindex: "0", ref: "selfElRef", class: `${i}-cascader-menu`, onMousedown: this.onMousedown, onFocusin: this.handleFocusin, onFocusout: this.handleFocusout, onKeydown: this.onKeydown },
this.menuModel[0].length ? (0, H.h)(
"div",
{ class: `${i}-cascader-submenu-wrapper` },
this.menuModel.map((c, a) => {
var o;
return (0, H.h)(rn.default, { style: (o = this.getColumnStyle) === null || o === void 0 ? void 0 : o.call(this, { level: a }), ref: (_) => {
_ && (e[a] = _);
}, key: a, tmNodes: c, depth: a + 1 });
}),
(0, H.h)(tn.NBaseMenuMask, { clsPrefix: i, ref: "maskInstRef" })
) : (0, H.h)("div", { class: `${i}-cascader-menu__empty` }, (0, Je.resolveSlot)(this.$slots.empty, () => [
(0, H.h)(nn.NEmpty, { theme: l.peers.Empty, themeOverrides: l.peerOverrides.Empty })
])),
(0, Je.resolveWrappedSlot)(this.$slots.action, (c) => c && (0, H.h)("div", { class: `${i}-cascader-menu-action`, "data-action": !0 }, c)),
(0, H.h)(on.default, { onFocus: this.onTabout })
), [
[
en.clickoutside,
this.handleClickOutside,
void 0,
{ capture: !0 }
]
]) : null
});
}
});
var st = {}, Re = {};
Object.defineProperty(Re, "__esModule", { value: !0 });
Re.getRawNodePath = an;
Re.createSelectOptions = cn;
Re.getPathLabel = Kt;
function an(e) {
return e ? e.map((i) => i.rawNode) : null;
}
function cn(e, i, l, c) {
const a = [], o = [];
function _(b) {
for (const y of b) {
if (y.disabled)
continue;
const { rawNode: m } = y;
o.push(m), (y.isLeaf || !i) && a.push({
label: Kt(y, c, l),
value: y.key,
rawNode: y.rawNode,
path: Array.from(o)
}), !y.isLeaf && y.children && _(y.children), o.pop();
}
}
return _(e), a;
}
function Kt(e, i, l) {
const c = [];
for (; e; )
c.push(e.rawNode[l]), e = e.parent;
return c.reverse().join(i);
}
Object.defineProperty(st, "__esModule", { value: !0 });
const sn = Nt, dn = Ot, re = fe, un = we, fn = Ce, hn = bo, vn = ge, bn = Re;
st.default = (0, re.defineComponent)({
name: "NCascaderSelectMenu",
props: {
value: {
type: [String, Number, Array],
default: null
},
show: Boolean,
pattern: {
type: String,
default: ""
},
multiple: Boolean,
tmNodes: {
type: Array,
default: () => []
},
filter: Function,
labelField: {
type: String,
required: !0
},
separator: {
type: String,
required: !0
}
},
setup(e) {
const { isMountedRef: i, mergedValueRef: l, mergedClsPrefixRef: c, mergedThemeRef: a, mergedCheckStrategyRef: o, slots: _, syncSelectMenuPosition: b, closeMenu: y, handleSelectMenuClickOutside: m, doUncheck: O, doCheck: E, clearPattern: V } = (0, re.inject)(vn.cascaderInjectionKey), U = (0, re.ref)(null), q = (0, re.computed)(() => (0, bn.createSelectOptions)(e.tmNodes, o.value === "child", e.labelField, e.separator)), p = (0, re.computed)(() => {
const { filter: h } = e;
if (h)
return h;
const { labelField: x } = e;
return (N, W, Z) => Z.some((le) => le[x] && ~le[x].toLowerCase().indexOf(N.toLowerCase()));
}), n = (0, re.computed)(() => {
const { pattern: h } = e, { value: x } = p;
return (h ? q.value.filter((N) => x(h, N.rawNode, N.path)) : q.value).map((N) => ({
value: N.value,
label: N.label
}));
}), s = (0, re.computed)(() => (0, sn.createTreeMate)(n.value, (0, hn.createTmOptions)("value", "children")));
function d() {
b();
}
function T(h) {
R(h);
}
function R(h) {
if (e.multiple) {
const { value: x } = l;
Array.isArray(x) ? x.includes(h.key) ? O(h.key) : E(h.key) : x === null && E(h.key), V();
} else
E(h.key), y(!0);
}
function z() {
var h;
(h = U.value) === null || h === void 0 || h.prev();
}
function $() {
var h;
(h = U.value) === null || h === void 0 || h.next();
}
function j() {
var h;
if (U) {
const x = (h = U.value) === null || h === void 0 ? void 0 : h.getPendingTmNode();
return x && R(x), !0;
}
return !1;
}
function M(h) {
m(h);
}
return Object.assign({
isMounted: i,
mergedTheme: a,
mergedClsPrefix: c,
menuInstRef: U,
selectTreeMate: s,
handleResize: d,
handleToggle: T,
handleClickOutside: M,
cascaderSlots: _
}, {
prev: z,
next: $,
enter: j
});
},
render() {
const { mergedClsPrefix: e, isMounted: i, mergedTheme: l, cascaderSlots: c } = this;
return (0, re.h)(re.Transition, { name: "fade-in-scale-up-transition", appear: i }, {
default: () => this.show ? (0, re.withDirectives)((0, re.h)(un.NInternalSelectMenu, { ref: "menuInstRef", onResize: this.handleResize, clsPrefix: e, class: `${e}-cascader-menu`, autoPending: !0, themeOverrides: l.peerOverrides.InternalSelectMenu, theme: l.peers.InternalSelectMenu, treeMate: this.selectTreeMate, multiple: this.multiple, value: this.value, onToggle: this.handleToggle }, {
empty: () => (0, fn.resolveSlot)(c["not-found"], () => [])
}), [
[
dn.clickoutside,
this.handleClickOutside,
void 0,
{ capture: !0 }
]
]) : null
});
}
});
var dt = {};
Object.defineProperty(dt, "__esModule", {
value: !0
});
const wt = mo, S = Qe;
dt.default = (0, S.c)([(0, S.cB)("cascader-menu", `
outline: none;
position: relative;
margin: 4px 0;
display: flex;
flex-flow: column nowrap;
border-radius: var(--n-menu-border-radius);
overflow: hidden;
box-shadow: var(--n-menu-box-shadow);
color: var(--n-option-text-color);
background-color: var(--n-menu-color);
`, [
(0, wt.fadeInScaleUpTransition)({
transformOrigin: "inherit",
duration: "0.2s"
}),
(0, S.cE)("empty", `
display: flex;
padding: 12px 32px;
flex: 1;
justify-content: center;
`),
// if width not set, cascader select menu's inner scroll area's width is
// not correct, which won't change after select menu width is set
(0, S.cB)("scrollbar", `
width: 100%;
`),
(0, S.cB)("base-menu-mask", `
background-color: var(--n-menu-mask-color);
`),
(0, S.cB)("base-loading", `
color: var(--n-loading-color);
`),
(0, S.cB)("cascader-submenu-wrapper", `
position: relative;
display: flex;
flex-wrap: nowrap;
`),
(0, S.cB)("cascader-submenu", `
height: var(--n-menu-height);
min-width: var(--n-column-width);
position: relative;
`, [(0, S.cM)("virtual", `
width: var(--n-column-width);
`), (0, S.cB)("scrollbar-content", `
position: relative;
`), (0, S.c)("&:first-child", `
border-top-left-radius: var(--n-menu-border-radius);
border-bottom-left-radius: var(--n-menu-border-radius);
`), (0, S.c)("&:last-child", `
border-top-right-radius: var(--n-menu-border-radius);
border-bottom-right-radius: var(--n-menu-border-radius);
`), (0, S.c)("&:not(:first-child)", `
border-left: 1px solid var(--n-menu-divider-color);
`)]),
(0, S.cB)("cascader-menu-action", `
box-sizing: border-box;
padding: 8px;
border-top: 1px solid var(--n-menu-divider-color);
`),
(0, S.cB)("cascader-option", `
height: var(--n-option-height);
line-height: var(--n-option-height);
font-size: var(--n-option-font-size);
padding: 0 0 0 18px;
box-sizing: border-box;
min-width: 182px;
background-color: #0000;
display: flex;
align-items: center;
white-space: nowrap;
position: relative;
cursor: pointer;
transition:
background-color .2s var(--n-bezier),
color 0.2s var(--n-bezier);
`, [(0, S.cM)("show-prefix", `
padding-left: 0;
`), (0, S.cE)("label", `
flex: 1 0 0;
overflow: hidden;
text-overflow: ellipsis;
`), (0, S.cE)("prefix", `
min-width: 32px;
display: flex;
align-items: center;
justify-content: center;
`), (0, S.cE)("suffix", `
min-width: 32px;
display: flex;
align-items: center;
justify-content: center;
`), (0, S.cB)("cascader-option-icon-placeholder", `
line-height: 0;
position: relative;
width: 16px;
height: 16px;
font-size: 16px;
`, [(0, S.cB)("cascader-option-icon", [(0, S.cM)("checkmark", `
color: var(--n-option-check-mark-color);
`, [(0, wt.fadeInScaleUpTransition)({
originalTransition: "background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"
})]), (0, S.cM)("arrow", `
color: var(--n-option-arrow-color);
`)])]), (0, S.cM)("selected", `
color: var(--n-option-text-color-active);
`), (0, S.cM)("active", `
color: var(--n-option-text-color-active);
background-color: var(--n-option-color-hover);
`), (0, S.cM)("pending", `
background-color: var(--n-option-color-hover);
`), (0, S.c)("&:hover", `
background-color: var(--n-option-color-hover);
`), (0, S.cM)("disabled", `
color: var(--n-option-text-color-disabled);
background-color: #0000;
cursor: not-allowed;
`, [(0, S.cB)("cascader-option-icon", [(0, S.cM)("arrow", `
color: var(--n-option-text-color-disabled);
`)])])])
]), (0, S.cB)("cascader", `
z-index: auto;
position: relative;
width: 100%;
`)]);
(function(e) {
var i = I && I.__importDefault || function(n) {
return n && n.__esModule ? n : { default: n };
};
Object.defineProperty(e, "__esModule", { value: !0 }), e.cascaderProps = void 0;
const l = Ne, c = Nt, a = Ae, o = fe, _ = Rt, b = we, y = Ke, m = Ce, O = Dt, E = i(ot), V = i(st), U = ge, q = i(dt), p = Re;
e.cascaderProps = Object.assign(Object.assign({}, y.useTheme.props), {
allowCheckingNotLoaded: Boolean,
to: m.useAdjustedTo.propTo,
bordered: {
type: Boolean,
default: void 0
},
options: {
type: Array,
default: () => []
},
value: [String, Number, Array],
defaultValue: {
type: [String, Number, Array],
default: null
},
placeholder: String,
multiple: Boolean,
size: String,
filterable: Boolean,
disabled: {
type: Boolean,
default: void 0
},
disabledField: {
type: String,
default: "disabled"
},
expandTrigger: {
type: String,
default: "click"
},
clearable: Boolean,
clearFilterAfterSelect: {
type: Boolean,
default: !0
},
remote: Boolean,
onLoad: Function,
separator: {
type: String,
default: " / "
},
filter: Function,
placement: {
type: String,
default: "bottom-start"
},
cascade: {
type: Boolean,
default: !0
},
leafOnly: Boolean,
showPath: {
type: Boolean,
default: !0
},
show: {
type: Boolean,
default: void 0
},
maxTagCount: [String, Number],
ellipsisTagPopoverProps: Object,
menuProps: Object,
filterMenuProps: Object,
virtualScroll: {
type: Boolean,
default: !0
},
checkStrategy: {
type: String,
default: "all"
},
valueField: {
type: String,
default: "value"
},
labelField: {
type: String,
default: "label"
},
childrenField: {
type: String,
default: "children"
},
renderLabel: Function,
status: String,
"onUpdate:value": [Function, Array],
onUpdateValue: [Function, Array],
"onUpdate:show": [Function, Array],
onUpdateShow: [Function, Array],
onBlur: Function,
onFocus: Function,
getColumnStyle: Function,
renderPrefix: Function,
renderSuffix: Function,
// deprecated
onChange: [Function, Array]
}), e.default = (0, o.defineComponent)({
name: "Cascader",
props: e.cascaderProps,
slots: Object,
setup(n, { slots: s }) {
process.env.NODE_ENV !== "production" && (0, o.watchEffect)(() => {
n.leafOnly && (0, m.warnOnce)("cascader", '`leaf-only` is deprecated, please use `check-strategy="child"` instead'), n.onChange !== void 0 && (0, m.warnOnce)("cascader", "`on-change` is deprecated, please use `on-update:value` instead.");
});
const { mergedBorderedRef: d, mergedClsPrefixRef: T, namespaceRef: R, inlineThemeDisabled: z } = (0, y.useConfig)(n), $ = (0, y.useTheme)("Cascader", "-cascader", q.default, O.cascaderLight, n, T), { localeRef: j } = (0, y.useLocale)("Cascader"), M = (0, o.ref)(n.defaultValue), X = (0, o.computed)(() => n.value), h = (0, a.useMergedState)(X, M), x = (0, o.computed)(() => n.leafOnly ? "child" : n.checkStrategy), N = (0, o.ref)(""), W = (0, y.useFormItem)(n), { mergedSizeRef: Z, mergedDisabledRef: le, mergedStatusRef: ye } = W, Y = (0, o.ref)(null), se = (0, o.ref)(null), J = (0, o.ref)(null), L = (0, o.ref)(null), f = (0, o.ref)(null), K = (0, o.ref)(/* @__PURE__ */ new Set()), A = (0, o.ref)(null), ee = (0, o.ref)(null), te = (0, m.useAdjustedTo)(n), oe = (0, o.ref)(!1), ne = (t) => {
K.value.add(t);
}, he = (t) => {
K.value.delete(t);
}, P = (0, o.computed)(() => {
const { valueField: t, childrenField: r, disabledField: v } = n;
return (0, c.createTreeMate)(n.options, {
getDisabled(C) {
return C[v];
},
getKey(C) {
return C[t];
},
getChildren(C) {
return C[r];
}
});
}), G = (0, o.computed)(() => {
const { cascade: t, multiple: r } = n;
return r && Array.isArray(h.value) ? P.value.getCheckedKeys(h.value, {
cascade: t,
allowNotLoaded: n.allowCheckingNotLoaded
}) : {
checkedKeys: [],
indeterminateKeys: []
};
}), ve = (0, o.computed)(() => G.value.checkedKeys), be = (0, o.computed)(() => G.value.indeterminateKeys), ae = (0, o.computed)(() => {
const { treeNodePath: t, treeNode: r } = P.value.getPath(f.value);
let v;
return r === null ? v = [P.value.treeNodes] : (v = t.map((C) => C.siblings), !r.isLeaf && !K.value.has(r.key) && r.children && v.push(r.children)), v;
}), Me = (0, o.computed)(() => {
const { keyPath: t } = P.value.getPath(f.value);
return t;
}), ce = (0, o.computed)(() => $.value.self.optionHeight);
(0, o.isReactive)(n.options) && (0, o.watch)(n.options, (t, r) => {
t !== r && (f.value = null, L.value = null);
});
const De = (0, o.ref)(!1);
function Fe(t) {
const { onUpdateShow: r, "onUpdate:show": v } = n;
r && (0, m.call)(r, t), v && (0, m.call)(v, t), De.value = t;
}
function de(t, r, v) {
const { onUpdateValue: C, "onUpdate:value": g, onChange: D } = n, { nTriggerFormInput: k, nTriggerFormChange: F } = W;
C && (0, m.call)(C, t, r, v), g && (0, m.call)(g, t, r, v), D && (0, m.call)(D, t, r, v), M.value = t, k(), F();
}
function me(t) {
L.value = t;
}
function pe(t) {
f.value = t;
}
function Se(t) {
const { value: { getNode: r } } = P;
return t.map((v) => {
var C;
return ((C = r(v)) === null || C === void 0 ? void 0 : C.rawNode) || null;
});
}
function Be(t) {
var r;
const { cascade: v, multiple: C, filterable: g } = n, { value: { check: D, getNode: k, getPath: F } } = P;
if (C)
try {
const { checkedKeys: w } = D(t, G.value.checkedKeys, {
cascade: v,
checkStrategy: x.value,
allowNotLoaded: n.allowCheckingNotLoaded
});
de(w, Se(w), w.map((xe) => {
var Te;
return (0, p.getRawNodePath)((Te = F(xe)) === null || Te === void 0 ? void 0 : Te.treeNodePath);
})), g && Ge(), L.value = t, f.value = t;
} catch (w) {
if (w instanceof c.SubtreeNotLoadedError) {
if (Y.value) {
const xe = k(t);
xe !== null && Y.value.showErrorMessage(xe.rawNode[n.labelField]);
}
} else
throw w;
}
else if (x.value === "child") {
const w = k(t);
if (w != null && w.isLeaf)
de(t, w.rawNode, (0, p.getRawNodePath)(F(t).treeNodePath));
else
return !1;
} else {
const w = k(t);
de(t, (w == null ? void 0 : w.rawNode) || null, (0, p.getRawNodePath)((r = F(t)) === null || r === void 0 ? void 0 : r.treeNodePath));
}
return !0;
}
function Pe(t) {
const { cascade: r, multiple: v } = n;
if (v) {
const { value: { uncheck: C, getNode: g, getPath: D } } = P, { checkedKeys: k } = C(t, G.value.checkedKeys, {
cascade: r,
checkStrategy: x.value,
allowNotLoaded: n.allowCheckingNotLoaded
});
de(k, k.map((F) => {
var w;
return ((w = g(F)) === null || w === void 0 ? void 0 : w.rawNode) || null;
}), k.map((F) => {
var w;
return (0, p.getRawNodePath)((w = D(F)) === null || w === void 0 ? void 0 : w.treeNodePath);
})), L.value = t, f.value = t;
}
}
const Ue = (0, o.computed)(() => {
if (n.multiple) {
const { showPath: t, separator: r, labelField: v, cascade: C } = n, { getCheckedKeys: g, getNode: D } = P.value;
return g(ve.value, {
cascade: C,
checkStrategy: x.value,
allowNotLoaded: n.allowCheckingNotLoaded
}).checkedKeys.map((F) => {
const w = D(F);
return w === null ? {
label: String(F),
value: F
} : {
label: t ? (0, p.getPathLabel)(w, r, v) : w.rawNode[v],
value: w.key
};
});
} else
return [];
}), He = (0, o.computed)(() => {
const { multiple: t, showPath: r, separator: v, labelField: C } = n, { value: g } = h;
if (!t && !Array.isArray(g)) {
const { getNode: D } = P.value;
if (g === null)
return null;
const k = D(g);
return k === null ? {
label: String(g),
value: g
} : {
label: r ? (0, p.getPathLabel)(k, v, C) : k.rawNode[C],
value: k.key
};
} else
return null;
}), qe = (0, o.toRef)(n, "show"), Q = (0, a.useMergedState)(qe, De), At = (0, o.computed)(() => {
const { placeholder: t } = n;
return t !== void 0 ? t : j.value.placeholder;
}), ue = (0, o.computed)(() => !!(n.filterable && N.value));
(0, o.watch)(Q, (t) => {
if (!t || n.multiple)
return;
const { value: r } = h;
!Array.isArray(r) && r !== null ? (L.value = r, f.value = r, (0, o.nextTick)(() => {
var v;
if (!Q.value)
return;
const { value: C } = f;
if (h.value !== null) {
const g = P.value.getNode(C);
g && ((v = Y.value) === null || v === void 0 || v.scroll(g.level, g.index, (0, l.depx)(ce.value)));
}
})) : (L.value = null, f.value = null);
}, {
immediate: !0
});
function ut(t) {
const { onBlur: r } = n, { nTriggerFormBlur: v } = W;
r && (0, m.call)(r, t), v();
}
function ft(t) {
const { onFocus: r } = n, { nTriggerFormFocus: v } = W;
r && (0, m.call)(r, t), v();
}
function Ge() {
var t;
(t = J.value) === null || t === void 0 || t.focusInput();
}
function Et() {
var t;
(t = J.value) === null || t === void 0 || t.focus();
}
function ze() {
le.value || (N.value = "", Fe(!0), n.filterable && Ge());
}
function ke(t = !1) {
t && Et(), Fe(!1), N.value = "";
}
function ht(t) {
var r;
ue.value || Q.value && (!((r = J.value) === null || r === void 0) && r.$el.contains((0, l.getPreciseEventTarget)(t)) || ke());
}
function Vt(t) {
ue.value && ht(t);
}
function vt() {
n.clearFilterAfterSelect && (N.value = "");
}
function Le(t) {
var r, v, C;
const { value: g } = L, { value: D } = P;
switch (t) {
case "prev":
if (g !== null) {
const k = D.getPrev(g, { loop: !0 });
k !== null && (me(k.key), (r = Y.value) === null || r === void 0 || r.scroll(k.level, k.index, (0, l.depx)(ce.value)));
}
break;
case "next":
if (g === null) {
const k = D.getFirstAvailableNode();
k !== null && (me(k.key), (v = Y.value) === null || v === void 0 || v.scroll(k.level, k.index, (0, l.depx)(ce.value)));
} else {
const k = D.getNext(g, { loop: !0 });
k !== null && (me(k.key), (C = Y.value) === null || C === void 0 || C.scroll(k.level, k.index, (0, l.depx)(ce.value)));
}
break;
case "child":
if (g !== null) {
const k = D.getNode(g);
if (k !== null)
if (k.shallowLoaded) {
const F = D.getChild(g);
F !== null && (pe(g), me(F.key));
} else {
const { value: F } = K;
if (!F.has(g)) {
ne(g), pe(g);
const { onLoad: w } = n;
w && w(k.rawNode).then(() => {
he(g);
}).catch(() => {
he(g);
});
}
}
}
break;
case "parent":
if (g !== null) {
const k = D.getParent(g);
if (k !== null) {
me(k.key);
const F = k.getParent();
pe(F === null ? null : F.key);
}
}
break;
}
}
function bt(t) {
var r, v;
switch (t.key) {
case " ":
case "ArrowDown":
case "ArrowUp":
if (n.filterable && Q.value)
break;
t.preventDefault();
break;
}
if (!(0, l.happensIn)(t, "action"))
switch (t.key) {
case " ":
if (n.filterable)
return;
case "Enter":
if (!Q.value)
ze();
else {
const { value: C } = ue, { value: g } = L;
if (C)
se.value && se.value.enter() && vt();
else if (g !== null)
if (ve.value.includes(g) || be.value.includes(g))
Pe(g);
else {
const D = Be(g);
!n.multiple && D && ke(!0);
}
}
break;
case "ArrowUp":
t.preventDefault(), Q.value && (ue.value ? (r = se.value) === null || r === void 0 || r.prev() : Le("prev"));
break;
case "ArrowDown":
t.preventDefault(), Q.value ? ue.value ? (v = se.value) === null || v === void 0 || v.next() : Le("next") : ze();
break;
case "ArrowLeft":
t.preventDefault(), Q.value && !ue.value && Le("parent");
break;
case "ArrowRight":
t.preventDefault(), Q.value && !ue.value && Le("child");
break;
case "Escape":
Q.value && ((0, m.markEventEffectPerformed)(t), ke(!0));
}
}
function Ut(t) {
bt(t);
}
function Ht(t) {
t.stopPropagation(), n.multiple ? de([], [], []) : de(null, null, null);
}
function qt(t) {
var r;
!((r = Y.value) === null || r === void 0) && r.$el.contains(t.relatedTarget) || (oe.value = !0, ft(t));
}
function Gt(t) {
var r;
!((r = Y.value) === null || r === void 0) && r.$el.contains(t.relatedTarget) || (oe.value = !1, ut(t), ke());
}
function Wt(t) {
var r;
!((r = J.value) === null || r === void 0) && r.$el.contains(t.relatedTarget) || (oe.value = !0, ft(t));
}
function Yt(t) {
var r;
!((r = J.value) === null || r === void 0) && r.$el.contains(t.relatedTarget) || (oe.value = !1, ut(t));
}
function Jt(t) {
(0, l.happensIn)(t, "action") || n.multiple && n.filter && (t.preventDefault(), Ge());
}
function Qt() {
ke(!0);
}
function Xt() {
n.filterable ? ze() : Q.value ? ke(!0) : ze();
}
function Zt(t) {
N.value = t.target.value;
}
function eo(t) {
const { multiple: r } = n, { value: v } = h;
r && Array.isArray(v) && t.value !== void 0 ? Pe(t.value) : de(null, null, null);
}
function mt() {
var t;
(t = A.value) === null || t === void 0 || t.syncPosition();
}
function gt() {
var t;
(t = ee.value) === null || t === void 0 || t.syncPosition();
}
function to() {
Q.value && (ue.value ? mt() : gt());
}
const We = (0, o.computed)(() => !!(n.multiple && n.cascade || x.value !== "child"));
(0, o.provide)(U.cascaderInjectionKey, {
slots: s,
mergedClsPrefixRef: T,
mergedThemeRef: $,
mergedValueRef: h,
checkedKeysRef: ve,
indeterminateKeysRef: be,
hoverKeyPathRef: Me,
mergedCheckStrategyRef: x,
showCheckboxRef: We,
cascadeRef: (0, o.toRef)(n, "cascade"),
multipleRef: (0, o.toRef)(n, "multiple"),
keyboardKeyRef: L,
hoverKeyRef: f,
remoteRef: (0, o.toRef)(n, "remote"),
loadingKeySetRef: K,
expandTriggerRef: (0, o.toRef)(n, "expandTrigger"),
isMountedRef: (0, a.useIsMounted)(),
onLoadRef: (0, o.toRef)(n, "onLoad"),
virtualScrollRef: (0, o.toRef)(n, "virtualScroll"),
optionHeightRef: ce,
localeRef: j,
labelFieldRef: (0, o.toRef)(n, "labelField"),
renderLabelRef: (0, o.toRef)(n, "renderLabel"),
getColumnStyleRef: (0, o.toRef)(n, "getColumnStyle"),
renderPrefixRef: (0, o.toRef)(n, "renderPrefix"),
renderSuffixRef: (0, o.toRef)(n, "renderSuffix"),
syncCascaderMenuPosition: gt,
syncSelectMenuPosition: mt,
updateKeyboardKey: me,
updateHoverKey: pe,
addLoadingKey: ne,
deleteLoadingKey: he,
doCheck: Be,
doUncheck: Pe,
closeMenu: ke,
handleSelectMenuClickOutside: Vt,
handleCascaderMenuClickOutside: ht,
clearPattern: vt
});
const oo = {
focus: () => {
var t;
(t = J.value) === null || t === void 0 || t.focus();
},
blur: () => {
var t;
(t = J.value) === null || t === void 0 || t.blur();
},
getCheckedData: () => {
if (We.value) {
const t = ve.value;
return {
keys: t,
options: Se(t)
};
}
return {
keys: [],
options: []
};
},
getIndeterminateData: () => {
if (We.value) {
const t = be.value;
return {
keys: t,
options: Se(t)
};
}
return {
keys: [],
options: []
};
}
}, pt = (0, o.computed)(() => {
const { self: { optionArrowColor: t, optionTextColor: r, optionTextColorActive: v, optionTextColorDisabled: C, optionCheckMarkColor: g, menuColor: D, menuBoxShadow: k, menuDividerColor: F, menuBorderRadius: w, menuHeight: xe, optionColorHover: Te, optionHeight: no, optionFontSize: ro, loadingColor: lo, columnWidth: ao }, common: { cubicBezierEaseInOut: co } } = $.value;
return {
"--n-bezier": co,
"--n-menu-border-radius": w,
"--n-menu-box-shadow": k,
"--n-menu-height": xe,
"--n-column-width": ao,
"--n-menu-color": D,
"--n-menu-divider-color": F,
"--n-option-height": no,
"--n-option-font-size": ro,
"--n-option-text-color": r,
"--n-option-text-color-disabled": C,
"--n-option-text-color-active": v,
"--n-option-color-hover": Te,
"--n-option-check-mark-color": g,
"--n-option-arrow-color": t,
"--n-menu-mask-color": (0, l.changeColor)(D, { alpha: 0.75 }),
"--n-loading-color": lo
};
}), _e = z ? (0, y.useThemeClass)("cascader", void 0, pt, n) : void 0;
return Object.assign(Object.assign({}, oo), {
handleTriggerResize: to,
mergedStatus: ye,
selectMenuFollowerRef: A,
cascaderMenuFollowerRef: ee,
triggerInstRef: J,
selectMenuInstRef: se,
cascaderMenuInstRef: Y,
mergedBordered: d,
mergedClsPrefix: T,
namespace: R,
mergedValue: h,
mergedShow: Q,
showSelectMenu: ue,
pattern: N,
treeMate: P,
mergedSize: Z,
mergedDisabled: le,
localizedPlaceholder: At,
selectedOption: He,
selectedOptions: Ue,
adjustedTo: te,
menuModel: ae,
handleMenuTabout: Qt,
handleMenuFocus: Wt,
handleMenuBlur: Yt,
handleMenuKeydown: Ut,
handleMenuMousedown: Jt,
handleTriggerFocus: qt,
handleTriggerBlur: Gt,
handleTriggerClick: Xt,
handleClear: Ht,
handleDeleteOption: eo,
handlePatternInput: Zt,
handleKeydown: bt,
focused: oe,
optionHeight: ce,
mergedTheme: $,
cssVars: z ? void 0 : pt,
themeClass: _e == null ? void 0 : _e.themeClass,
onRender: _e == null ? void 0 : _e.onRender
});
},
render() {
const { mergedClsPrefix: n } = this;
return (0, o.h)(
"div",
{ class: `${n}-cascader` },
(0, o.h)(_.VBinder, null, {
default: () => [
(0, o.h)(_.VTarget, null, {
default: () => (0, o.h)(b.NInternalSelection, { onResize: this.handleTriggerResize, ref: "triggerInstRef", status: this.mergedStatus, clsPrefix: n, maxTagCount: this.maxTagCount, ellipsisTagPopoverProps: this.ellipsisTagPopoverProps, bordered: this.mergedBordered, size: this.mergedSize, theme: this.mergedTheme.peers.InternalSelection, themeOverrides: this.mergedTheme.peerOverrides.InternalSelection, active: this.mergedShow, pattern: this.pattern, placeholder: this.localizedPlaceholder, selectedOption: this.selectedOption, selectedOptions: this.selectedOptions, multiple: this.multiple, filterable: this.filterable, clearable: this.clearable, disabled: this.mergedDisabled, focused: this.focused, onFocus: this.handleTriggerFocus, onBlur: this.handleTriggerBlur, onClick: this.handleTriggerClick, onClear: this.handleClear, onDeleteOption: this.handleDeleteOption, onPatternInput: this.handlePatternInput, onKeydown: this.handleKeydown }, {
arrow: () => {
var s, d;
return (d = (s = this.$slots).arrow) === null || d === void 0 ? void 0 : d.call(s);
}
})
}),
(0, o.h)(_.VFollower, { key: "cascaderMenu", ref: "cascaderMenuFollowerRef", show: this.mergedShow && !this.showSelectMenu, containerClass: this.namespace, placement: this.placement, width: this.options.length ? void 0 : "target", teleportDisabled: this.adjustedTo === m.useAdjustedTo.tdkey, to: this.adjustedTo }, {
default: () => {
var s;
(s = this.onRender) === null || s === void 0 || s.call(this);
const { menuProps: d } = this;
return (0, o.h)(E.default, Object.assign({}, d, { ref: "cascaderMenuInstRef", class: [this.themeClass, d == null ? void 0 : d.class], value: this.mergedValue, show: this.mergedShow && !this.showSelectMenu, menuModel: this.menuModel, style: [
this.cssVars,
d == null ? void 0 : d.style
], onFocus: this.handleMenuFocus, onBlur: this.handleMenuBlur, onKeydown: this.handleMenuKeydown, onMousedown: this.handleMenuMousedown, onTabout: this.handleMenuTabout }), {
action: () => {
var T, R;
return (R = (T = this.$slots).action) === null || R === void 0 ? void 0 : R.call(T);
},
empty: () => {
var T, R;
return (R = (T = this.$slots).empty) === null || R === void 0 ? void 0 : R.call(T);
}
});
}
}),
(0, o.h)(_.VFollower, { key: "selectMenu", ref: "selectMenuFollowerRef", show: this.mergedShow && this.showSelectMenu, containerClass: this.namespace, width: "target", placement: this.placement, to: this.adjustedTo, teleportDisabled: this.adjustedTo === m.useAdjustedTo.tdkey }, {
default: () => {
var s;
(s = this.onRender) === null || s === void 0 || s.call(this);
const { filterMenuProps: d } = this;
return (0, o.h)(V.default, Object.assign({}, d, { ref: "selectMenuInstRef", class: [this.themeClass, d == null ? void 0 : d.class], value: this.mergedValue, show: this.mergedShow && this.showSelectMenu, pattern: this.pattern, multiple: this.multiple, tmNodes: this.treeMate.treeNodes, filter: this.filter, labelField: this.labelField, separator: this.separator, style: [
this.cssVars,
d == null ? void 0 : d.style
] }));
}
})
]
})
);
}
});
})(jt);
(function(e) {
var i = I && I.__importDefault || function(c) {
return c && c.__esModule ? c : { default: c };
};
Object.defineProperty(e, "__esModule", { value: !0 }), e.NCascader = e.cascaderProps = void 0;
var l = jt;
Object.defineProperty(e, "cascaderProps", { enumerable: !0, get: function() {
return l.cascaderProps;
} }), Object.defineProperty(e, "NCascader", { enumerable: !0, get: function() {
return i(l).default;
} });
})($t);
const xn = /* @__PURE__ */ go({
__proto__: null
}, [$t]);
export {
xn as i
};