UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1,382 lines 321 kB
var Kn = Object.defineProperty; var Qn = (e, t, n) => t in e ? Kn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n; var q = (e, t, n) => Qn(e, typeof t != "symbol" ? t + "" : t, n); import { computed as P, ref as T, createVNode as I, defineComponent as Ae, onMounted as mt, watch as we, createTextVNode as st, Fragment as xt, reactive as lt, createApp as cn, onUnmounted as Pt, Transition as dn, mergeProps as gt, onBeforeUnmount as fn, withDirectives as Zn, resolveDirective as Jn, onBeforeMount as eo, Teleport as to, shallowRef as no, nextTick as Kt, render as Ht, h as oo, cloneVNode as ro, inject as yt, provide as io, triggerRef as ao, isVNode as lo } from "vue"; import { isPlainObject as nn, cloneDeep as pt, isUndefined as on } from "lodash-es"; import Re from "bignumber.js"; import { DgControl as rn } from "../designer-canvas/index.esm.js"; import { useDateFormat as so, useNumberFormat as uo, resolveField as Xe, setFieldValue as Gt, getCustomClass as At, withInstall as pn, FormSchemaEntityField$Type as an, FormSchemaEntityFieldType$Type as co } from "../common/index.esm.js"; import { useResizeObserver as mn } from "@vueuse/core"; import { useIdentify as fo, useGroupData as po, useFilter as mo, useHierarchy as ho, useLoading as vo, useDataView as go, useSelection as yo, useSelectHierarchyItem as bo, useDataViewContainerStyle as Co, useCommandColumn as wo, useColumn as So, useSort as _o, useGroupColumn as xo, useRow as To, useEdit as Fo, useVisualDataBound as Eo, useVisualDataCell as Io, useVisualDataRow as ko, useVisualData as Mo, useCellPosition as Oo, useSidebar as Bo, useVirtualScroll as Vo, useFitColumn as No, useFilterHistory as Do, useColumnFilter as Ro, useDragColumn as $o, getColumnHeader as Po, getSidebar as jo, getDisableMask as Lo, getHorizontalScrollbar as Wo, getVerticalScrollbar as Ho, getEmpty as Ao } from "../data-view/index.esm.js"; import "../modal/index.esm.js"; import zo from "../transfer/index.esm.js"; import Go from "../tabs/index.esm.js"; import qo from "../order/index.esm.js"; import "../condition/index.esm.js"; import Uo, { FCheckbox as Yo } from "../checkbox/index.esm.js"; import Xo from "../filter-bar/index.esm.js"; import ln from "../tooltip/index.esm.js"; import Ko from "../pagination/index.esm.js"; import Qo from "../button/index.esm.js"; import Zo from "../search-box/index.esm.js"; import Jo from "../tags/index.esm.js"; import er, { FDynamicFormGroup as tr, FDynamicFormInput as nr } from "../dynamic-form/index.esm.js"; import or from "../binding-selector/index.esm.js"; import "../notify/index.esm.js"; import rr from "../accordion/index.esm.js"; import ir from "../avatar/index.esm.js"; import ar from "../button-edit/index.esm.js"; import lr from "../button-group/index.esm.js"; import sr from "../calendar/index.esm.js"; import ur from "../capsule/index.esm.js"; import cr from "../color-picker/index.esm.js"; import qt from "../combo-list/index.esm.js"; import dr from "../content-container/index.esm.js"; import fr from "../data-grid/index.esm.js"; import pr from "../date-picker/index.esm.js"; import mr from "../dropdown/index.esm.js"; import "../external-container/index.esm.js"; import hr from "../events-editor/index.esm.js"; import vr from "../image-cropper/index.esm.js"; import gr from "../input-group/index.esm.js"; import yr from "../layout/index.esm.js"; import br from "../list-nav/index.esm.js"; import Cr from "../list-view/index.esm.js"; import wr from "../lookup/index.esm.js"; import Sr from "../nav/index.esm.js"; import _r from "../number-spinner/index.esm.js"; import xr from "../number-range/index.esm.js"; import Tr from "../page-header/index.esm.js"; import Fr from "../page-footer/index.esm.js"; import Er from "../progress/index.esm.js"; import Ir from "../query-solution/index.esm.js"; import kr from "../radio-group/index.esm.js"; import Mr from "../rate/index.esm.js"; import Or from "../response-toolbar/index.esm.js"; import Br from "../response-layout/index.esm.js"; import Vr from "../response-layout-editor/index.esm.js"; import Nr from "../section/index.esm.js"; import Dr from "../smoke-detector/index.esm.js"; import Rr from "../splitter/index.esm.js"; import $r from "../step/index.esm.js"; import Pr from "../switch/index.esm.js"; import jr from "../text/index.esm.js"; import Lr from "../time-picker/index.esm.js"; import Wr from "../tree-view/index.esm.js"; import Hr from "../uploader/index.esm.js"; import Ar from "../verify-detail/index.esm.js"; import zr from "../component/index.esm.js"; import Gr from "../video/index.esm.js"; import qr from "../textarea/index.esm.js"; import Ur from "../tree-grid/index.esm.js"; import Yr from "../fieldset/index.esm.js"; import Xr from "../drawer/index.esm.js"; import Kr from "../combo-tree/index.esm.js"; import Qr from "../field-selector/index.esm.js"; import Zr from "../mapping-editor/index.esm.js"; import Jr from "../schema-selector/index.esm.js"; import ei from "../event-parameter/index.esm.js"; import ti from "../filter-condition-editor/index.esm.js"; import ni from "../sort-condition-editor/index.esm.js"; import oi from "../menu-lookup/index.esm.js"; import { createPropsResolver as ri } from "../dynamic-resolver/index.esm.js"; function ii(e, t, n) { return t; } const hn = {}, vn = {}; function Qt(e) { const { properties: t, title: n, ignore: o } = e, r = o && Array.isArray(o), a = Object.keys(t).reduce((i, u) => ((!r || !o.find((s) => s === u)) && (i[u] = t[u].type === "object" && t[u].properties ? Qt(t[u]) : pt(t[u].default)), i), {}); if (n && (!r || !o.find((i) => i === "id"))) { const i = n.toLowerCase().replace(/-/g, "_"); a.id = `${i}_${Math.random().toString().slice(2, 6)}`; } return a; } function ai(e) { const { properties: t, title: n, required: o } = e; if (o && Array.isArray(o)) { const r = o.reduce((a, i) => (a[i] = t[i].type === "object" && t[i].properties ? Qt(t[i]) : pt(t[i].default), a), {}); if (n && o.find((a) => a === "id")) { const a = n.toLowerCase().replace(/-/g, "_"); r.id = `${a}_${Math.random().toString().slice(2, 6)}`; } return r; } return { type: n }; } function gn(e, t = {}, n) { const o = hn[e]; if (o) { let r = ai(o); const a = vn[e]; return r = a ? a({ getSchemaByType: gn }, r, t, n) : r, r; } return null; } function li(e, t) { const n = Qt(t); return Object.keys(n).reduce((o, r) => (Object.prototype.hasOwnProperty.call(e, r) && (o[r] && nn(o[r]) && nn(e[r] || !e[r]) ? Object.assign(o[r], e[r] || {}) : o[r] = e[r]), o), n), n; } function yn(e, t) { return Object.keys(e).filter((o) => e[o] != null).reduce((o, r) => { if (t.has(r)) { const a = t.get(r); if (typeof a == "string") o[a] = e[r]; else { const i = a(r, e[r], e); Object.assign(o, i); } } else o[r] = e[r]; return o; }, {}); } function si(e, t, n = /* @__PURE__ */ new Map()) { const o = li(e, t); return yn(o, n); } function ui(e = {}) { function t(d, c, l, f) { if (typeof l == "number") return f[d].length === l; if (typeof l == "object") { const v = Object.keys(l)[0], g = l[v]; if (v === "not") return Number(f[d].length) !== Number(g); if (v === "moreThan") return Number(f[d].length) >= Number(g); if (v === "lessThan") return Number(f[d].length) <= Number(g); } return !1; } function n(d, c, l, f) { return f[d] && f[d].propertyValue && String(f[d].propertyValue.value) === String(l); } const o = /* @__PURE__ */ new Map([ ["length", t], ["getProperty", n] ]); Object.keys(e).reduce((d, c) => (d.set(c, e[c]), d), o); function r(d, c) { const l = d; return typeof c == "number" ? [{ target: l, operator: "length", param: null, value: Number(c) }] : typeof c == "boolean" ? [{ target: l, operator: "getProperty", param: d, value: !!c }] : typeof c == "object" ? Object.keys(c).map((f) => { if (f === "length") return { target: l, operator: "length", param: null, value: c[f] }; const v = f, g = c[f]; return { target: l, operator: "getProperty", param: v, value: g }; }) : []; } function a(d) { return Object.keys(d).reduce((l, f) => { const v = r(f, d[f]); return l.push(...v), l; }, []); } function i(d, c) { if (o.has(d.operator)) { const l = o.get(d.operator); return l && l(d.target, d.param, d.value, c) || !1; } return !1; } function u(d, c) { return a(d).reduce((v, g) => v && i(g, c), !0); } function s(d, c) { const l = Object.keys(d), f = l.includes("allOf"), v = l.includes("anyOf"), g = f || v, m = (g ? d[g ? f ? "allOf" : "anyOf" : "allOf"] : [d]).map((_) => u(_, c)); return f ? !m.includes(!1) : m.includes(!0); } return { parseValueSchema: s }; } const le = { button: { type: "button", name: "按钮" }, "response-toolbar": { type: "response-toolbar", name: "工具栏" }, "response-toolbar-item": { type: "response-toolbar-item", name: "按钮" }, "content-container": { type: "content-container", name: "容器" }, "input-group": { type: "input-group", name: "文本" }, textarea: { type: "textarea", name: "多行文本" }, lookup: { type: "lookup", name: "帮助" }, "number-spinner": { type: "number-spinner", name: "数值" }, "date-picker": { type: "date-picker", name: "日期" }, switch: { type: "switch", name: "开关" }, "radio-group": { type: "radio-group", name: "单选组" }, "check-box": { type: "check-box", name: "复选框" }, "check-group": { type: "check-group", name: "复选框组" }, "combo-list": { type: "combo-list", name: "下拉列表" }, "response-form": { type: "response-form", name: "卡片面板" }, "response-layout": { type: "response-layout", name: "布局容器", icon: "response-layout-3" }, "response-layout-item": { type: "response-layout-item", name: "布局", icon: "response-layout-1" }, "tree-grid": { type: "tree-grid", name: "树表格" }, "tree-grid-column": { type: "tree-grid-column", name: "树表格列" }, "data-grid": { type: "data-grid", name: "表格" }, "data-grid-column": { type: "data-grid-column", name: "表格列" }, module: { type: "Module", name: "模块" }, component: { type: "component", name: "组件" }, tabs: { type: "tabs", name: "标签页" }, "tab-page": { type: "tab-page", name: "标签页项", dependentParentControl: "Tab" }, "tab-toolbar-item": { type: "tab-toolbar-item", name: "标签页工具栏按钮" }, "time-picker": { type: "time-picker", name: "时间选择" }, section: { type: "section", name: "分组面板" }, "section-toolbar": { type: "section-toolbar", name: "分组面板工具栏" }, "section-toolbar-item": { type: "section-toolbar-item", name: "分组面板按钮" }, splitter: { type: "splitter", name: "分栏面板" }, "splitter-pane": { type: "splitter-pane", name: "分栏面板项", dependentParentControl: "Splitter" }, "component-ref": { type: "component-ref", name: "组件引用节点" }, uploader: { type: "uploader", name: "附件上传" }, "page-header": { type: "page-header", name: "页头" }, "page-footer": { type: "page-footer", name: "页脚" }, "tab-toolbar": { type: "tab-toolbar", name: "标签页工具栏" }, fieldset: { type: "fieldset", name: "分组" }, "query-solution": { type: "query-solution", name: "筛选方案" }, drawer: { type: "drawer", name: "抽屉" } }, ci = {}, di = {}; ui(); function ht(e, t, n = /* @__PURE__ */ new Map(), o = (i, u, s, d) => u, r = {}, a = (i) => i) { return hn[t.title] = t, vn[t.title] = o, ci[t.title] = r, di[t.title] = a, (i = {}, u = !0) => { if (!u) return yn(i, n); const s = si(i, t, n), d = Object.keys(e).reduce((c, l) => (c[l] = e[l].default, c), {}); return Object.assign(d, s); }; } function Tt(e, t) { return { customClass: t.class, customStyle: t.style }; } function fi() { function e(t, n) { const { dataSource: o } = t || {}; return o === void 0 ? {} : {}; } return { resolve: e }; } function pi() { function e(t, n) { return t.selectItemById(n); } return { selectItemById: e }; } function mi() { function e(t, n) { const { columns: o } = n; return t.updateColumns(o); } return { updateColumns: e }; } const hi = /* @__PURE__ */ new Map([ ["appearance", Tt] ]), vi = "https://json-schema.org/draft/2020-12/schema", gi = "https://farris-design.gitee.io/number-range.schema.json", yi = "number-range", bi = "A Farris Component", Ci = "object", wi = { id: { description: "The unique identifier for a number-range", type: "string" }, type: { description: "The type string of number-range component", type: "string", default: "number-range" }, appearance: { description: "", type: "object", properties: { class: { type: "string" }, style: { type: "string" } }, default: {} }, binding: { description: "", type: "object", default: {} }, disabled: { type: "boolean", default: !1 }, editable: { description: "", type: "boolean", default: !0 }, placeholder: { description: "", type: "string", default: "" }, readonly: { description: "", type: "boolean", default: !1 }, required: { description: "", type: "boolean", default: !1 }, precision: { description: "", type: "number", default: 0 }, tabindex: { description: "", type: "number", default: -1 }, visible: { description: "", type: "boolean", default: !0 }, beginValue: { description: "", type: "number" }, endValue: { description: "", type: "number" }, nullable: { description: "", type: "boolean", default: !1 }, min: { description: "", type: "string" }, max: { description: "", type: "string" } }, Si = [ "type" ], _i = { $schema: vi, $id: gi, title: yi, description: bi, type: Ci, properties: wi, required: Si }, Zt = { /** * 组件标识 */ id: String, /** * 自动补全小数 */ autoDecimal: { type: Boolean, default: !0 }, /** * 下限placeholder---未实现 */ beginPlaceHolder: { type: String, default: "请输入开始数字" }, /** * 下限值 */ beginValue: { type: [Number, String], default: "" }, /** * 启用大数支持 */ bigNumber: { type: Boolean, default: !1 }, /** * 允许为空 */ nullable: { type: Boolean, default: !1 }, /** * 小数点符号 */ decimalSeparator: { type: String, default: "." }, /** * 是否禁用 */ disabled: { type: Boolean, default: !1 }, /** * 是否可编辑 */ editable: { type: Boolean, default: !0 }, /** * 上限placeholder---未实现 */ endPlaceHolder: { type: String, default: "请输入结束数字" }, /** * 上限值 */ endValue: { type: [Number, String], default: "" }, /** * 格式化 formatter 和 parser 必须同时存在 * formatter: (val: number) => string; * parser: (val: string | number) => number; */ formatter: { type: Function }, /** * 千分位符号 */ groupSeparator: { type: String, default: "," }, /** * 使用千分位时,每组显示的字符数 */ groupSize: { type: Number, default: 3 }, /** * 最大值 */ max: { type: [Number, String] }, /** * 最小值 */ min: { type: [Number, String] }, parser: { type: Function }, /** * 空白提示文本 */ placeholder: { type: String, default: "请输入数字" }, /** * 精度 */ precision: { type: Number, default: 0 }, /** * 前缀 */ prefix: { type: String, default: "" }, /** * 是否只读 */ readonly: { type: Boolean, default: !1 }, /** * 间隔符---未实现 */ separator: { type: String, default: "~" }, /** * 是否显示加减按钮 */ showButton: { type: Boolean, default: !0 }, /** * 显示0值 */ showZero: { type: Boolean, default: !0 }, /** * up or down 步长 */ step: { type: Number, default: 1 }, /** * 后缀 */ suffix: { type: String, default: "" }, /** * 文本方向 */ textAlign: { type: String, default: "left" }, /** * 是否使用千分值 */ useThousands: { type: Boolean, default: !0 } }, bn = ht(Zt, _i, hi, ii); function Cn(e, t) { const n = P(() => Number(e.precision) || 0); function o(s) { return s.toFixed(n.value); } function r(s) { return isNaN(s) || s === null || s === void 0 || s === ""; } function a(s) { const d = r(e.max) ? null : new Re(String(e.max), 10), c = r(e.min) ? null : new Re(String(e.min), 10); return d && s.gt(d) ? d : c && s.lt(c) ? c : s; } function i(s, d, c, l) { const f = new Re(s, 10), v = r(c && c.value) ? null : new Re(String(c.value), 10), g = r(d && d.value) ? null : new Re(String(d.value), 10); let M; return l ? M = v && f.gt(v) ? v : f : M = g && f.lt(g) ? g : f, M.toString(); } function u(s, d = !0) { if (e.parser) return isNaN(Number(s)) ? e.parser(s) : s; let c = new Re(s, 10); if (d && (c = a(c)), c.isNaN()) { if (e.nullable) return null; const f = new Re("" + e.min, 10), v = new Re("" + e.max, 10); if (!f.isNaN()) c = f; else if (!v.isNaN()) c = v; else return 0; } return o(c); } return { getRealValue: u, isEmpty: r, precision: n, getValidNumberObject: a, getValidNumberInRange: i }; } function wn(e, t, n) { const o = P(() => ({ prefix: e.prefix, suffix: e.suffix, decimalSeparator: e.decimalSeparator, groupSeparator: e.useThousands ? e.groupSeparator : "", groupSize: e.groupSize })), { getValidNumberObject: r, precision: a } = n; function i(d) { return d = d == null || d === "" ? "" : String(d), d = d.replace(new RegExp(e.prefix, "g"), "").replace(new RegExp(e.suffix, "g"), "").replace(/,/g, ""), e.groupSeparator && e.groupSeparator !== "," && (d = d.replace(new RegExp(`\\${e.groupSeparator}`, "g"), "")), e.decimalSeparator && e.decimalSeparator !== "." && (d = d.replace(new RegExp(`\\${e.decimalSeparator}`, "g"), ".")), d; } function u(d, c) { return e.precision !== null && e.precision !== void 0 ? d.toFormat(a.value, c) : d.toFormat(c); } function s(d, c = !0) { const l = i(d), f = new Re(l, 10); let v = f; return c && (v = r(f)), v.valueOf() === "0" && !e.showZero || v.isNaN() ? "" : e.formatter ? e.formatter(v.toNumber()) : u(v, o.value); } return { cleanFormat: i, format: s }; } function kt(e, t, n, o, r, a, i, u, s, d) { const { format: c } = r, { getRealValue: l, getValidNumberInRange: f } = a; function v() { const h = new Re(o.value || 0); return !((e.max || e.max === 0) && !new Re(e.max).isNaN() && h.gte(new Re(e.max)) && (o.value || o.value === 0)); } function g() { const h = new Re(o.value || 0); return !((e.min || e.min === 0) && !new Re(e.min).isNaN() && h.lte(new Re(e.min)) && (o.value || o.value === 0)); } function M(h) { if (e.readonly || e.disabled) return; const w = h === "up" ? v : g, E = h === "up" ? "plus" : "minus"; if (w()) { let C = new Re(o.value || 0)[E](Number(e.step)).toFixed(); C = f(C, u, s, d), n.value = c(C), o.value = l(C), i(o.value); } } function x() { M("up"); } function m() { M("down"); } function y(h) { x(), h.stopPropagation(); } function _(h) { m(), h.stopPropagation(); } return { canDownward: g, canUpward: v, downward: m, onClickDownButton: _, onClickUpButton: y, upward: x }; } function Mt(e, t, n, o, r, a, i, u, s, d, c) { const { cleanFormat: l, format: f } = r, { getRealValue: v, isEmpty: g, getValidNumberInRange: M } = a, { downward: x, upward: m } = i, y = P(() => n.value), _ = T(!1); function h(b) { var S; if (b.stopPropagation(), e.readonly || e.disabled) return; _.value = !1; let C = (S = b.target) == null ? void 0 : S.value; e.nullable || (C = C || 0); let F = l(C); F = M(F, s, d, c), n.value = f(F), o.value = v(F), u(o.value), t.emit("blur", { event: b, formatted: n.value, value: o.value }); } function w(b) { b.stopPropagation(), !(e.readonly || e.disabled) && (_.value = !0, n.value = g(o.value) || !e.showZero && o.value === "0" ? "" : String(o.value), t.emit("focus", { event: b, formatted: n.value, value: o.value })); } function E(b) { var S; b.stopPropagation(); let C = (S = b.target) == null ? void 0 : S.value; e.nullable || (C = C || 0); const F = l(C); n.value = F, o.value = v(F), u(o.value); } function p(b) { b.key === "ArrowDown" && (b.preventDefault(), x()), b.key === "ArrowUp" && (b.preventDefault(), m()), b.stopPropagation(); } return { textBoxValue: y, onBlurTextBox: h, onFocusTextBox: w, onInput: E, onKeyDown: p, isTextBoxFocused: _ }; } function Ot(e, t, n, o) { const { onBlurTextBox: r, onFocusTextBox: a, onInput: i, onKeyDown: u, textBoxValue: s } = n, d = P(() => o ? e.beginPlaceHolder : e.endPlaceHolder), c = P(() => ({ "form-control": !0, "sub-input": !0 })), l = P(() => ({ "text-align": e.textAlign })); function f(v) { v.stopPropagation(); } return () => I("input", { class: c.value, style: l.value, type: "text", value: s.value, disabled: e.disabled, readonly: e.readonly || !e.editable, placeholder: d.value, onBlur: r, onChange: f, onFocus: a, onInput: i, onKeydown: u }, null); } function Bt(e, t, n) { const { canDownward: o, canUpward: r, onClickDownButton: a, onClickUpButton: i } = n, u = P(() => ({ "input-group-append": !0, "btn-group": !0, "btn-group-number": !0, "sub-btn-group": !0 })), s = P(() => ({ btn: !0, "btn-secondary": !0, "btn-number-flag": !0 })), d = P(() => ({ cursor: r() ? "pointer" : "not-allowed", "margin-left": 0 })), c = P(() => ({ cursor: o() ? "pointer" : "not-allowed", "margin-left": 0 })); return () => I("div", { class: u.value }, [I("button", { class: s.value, style: d.value, onClick: i, disabled: !r() }, [I("span", { class: "f-icon f-icon-arrow-chevron-up number-arrow-chevron" }, null)]), I("button", { class: s.value, style: c.value, onClick: a, disabled: !o() }, [I("span", { class: "f-icon f-icon-arrow-chevron-down number-arrow-chevron" }, null)])]); } const Vt = /* @__PURE__ */ Ae({ name: "FNumberRange", props: Zt, emits: ["valueChange", "blur", "focus", "click", "input", "beginValueChange", "endValueChange"], setup(e, t) { const n = T(e.beginValue), o = T(""), r = T(e.endValue), a = T(""), i = Cn(e), u = wn(e, t, i), s = (w) => { t.emit("beginValueChange", w); }, d = kt(e, t, o, n, u, i, s, n, r, !0), c = Mt(e, t, o, n, u, i, d, s, n, r, !0), l = Bt(e, t, d), f = Ot(e, t, c, !0), v = (w) => { t.emit("endValueChange", w); }, g = kt(e, t, a, r, u, i, v, n, r, !1), M = Mt(e, t, a, r, u, i, g, v, n, r, !1), x = Bt(e, t, g), m = Ot(e, t, M, !1), { getRealValue: y } = i, { format: _ } = u, h = P(() => !e.disabled && !e.readonly && e.showButton); return mt(() => { const w = y(e.beginValue, !1), E = y(e.endValue, !1); o.value = _(w, !1), a.value = _(E, !1); }), we(() => [e.beginValue], ([w]) => { if (!c.isTextBoxFocused.value) { const E = y(w, !1); n.value = E, o.value = _(E, !1); } }), we(() => [e.endValue], ([w]) => { if (!M.isTextBoxFocused.value) { const E = y(w, !1); r.value = E, a.value = _(E, !1); } }), we(() => [e.precision, e.useThousands, e.prefix, e.suffix, e.showZero], () => { o.value = _(n.value), a.value = _(r.value); }), () => I("div", { class: "input-group number-range f-cmp-number-spinner" }, [I("div", { class: "form-control input-container" }, [I("div", { class: "sub-input-group" }, [f(), h.value && l()]), I("span", { class: "spliter" }, [st("~")]), I("div", { class: "sub-input-group" }, [m(), h.value && x()])])]); } }); function Sn(e, t, n) { var E; const o = n && n.getStyles && n.getStyles() || "", r = n && n.getDesignerClass && n.getDesignerClass() || "", a = T(); function i() { return (t == null ? void 0 : t.schema.componentType) === "frame" ? !1 : n && n.checkCanMoveComponent ? n.checkCanMoveComponent() : !0; } function u() { return !1; } function s() { return (t == null ? void 0 : t.schema.componentType) === "frame" ? !1 : n && n.checkCanDeleteComponent ? n.checkCanDeleteComponent() : !0; } function d() { return (t == null ? void 0 : t.schema.componentType) === "frame" ? !0 : n && n.hideNestedPaddingInDesginerView ? n.hideNestedPaddingInDesginerView() : !1; } function c(p) { if (!p || !p.value) return null; if (p.value.schema && p.value.schema.type === "component") return p.value; const b = T(p == null ? void 0 : p.value.parent), C = c(b); return C || null; } function l(p = t) { var S; if (n != null && n.getDraggableDesignItemElement) return n.getDraggableDesignItemElement(p); const { componentInstance: b, designerItemElementRef: C } = p; if (!b || !b.value) return null; const { getCustomButtons: F } = b.value; return b.value.canMove || F && ((S = F()) != null && S.length) ? C : l(p.parent); } function f(p) { return !!n && n.canAccepts(p); } function v() { return (t == null ? void 0 : t.schema.label) || (t == null ? void 0 : t.schema.title) || (t == null ? void 0 : t.schema.name); } function g() { } function M(p, b) { var C; !p || !b || (n != null && n.onAcceptMovedChildElement && n.onAcceptMovedChildElement(p, b), (C = t == null ? void 0 : t.setupContext) == null || C.emit("dragEnd")); } function x(p, b) { const { componentType: C } = p; let F = gn(C, p, b); n && n.onResolveNewComponentSchema && (F = n.onResolveNewComponentSchema(p, F)); const S = C.toLowerCase().replace(/-/g, "_"); return F && !F.id && F.type === C && (F.id = `${S}_${Math.random().toString().slice(2, 6)}`), F; } function m(p) { p && n != null && n.onChildElementMovedOut && n.onChildElementMovedOut(p); } function y(...p) { if (n && n.getPropsConfig) return n.getPropsConfig(...p); } function _() { n && n.onRemoveComponent && n.onRemoveComponent(), t != null && t.schema.contents && t.schema.contents.map((p) => { let b = p.id; p.type === "component-ref" && (b = p.component); const C = e.value.querySelectorAll(`#${b}-design-item`); C != null && C.length && Array.from(C).map((F) => { var S; (S = F == null ? void 0 : F.componentInstance) != null && S.value.onRemoveComponent && F.componentInstance.value.onRemoveComponent(); }); }); } function h() { if (n && n.getCustomButtons) return n.getCustomButtons(); } function w(p) { if (n && n.onPropertyChanged) return n.onPropertyChanged(p); } return a.value = { canMove: i(), canSelectParent: u(), canDelete: s(), canNested: !d(), contents: t == null ? void 0 : t.schema.contents, elementRef: e, parent: (E = t == null ? void 0 : t.parent) == null ? void 0 : E.componentInstance, schema: t == null ? void 0 : t.schema, styles: o, designerClass: r, canAccepts: f, getBelongedComponentInstance: c, getDraggableDesignItemElement: l, getDraggingDisplayText: v, getPropConfig: y, getDragScopeElement: g, onAcceptMovedChildElement: M, onChildElementMovedOut: m, addNewChildComponentSchema: x, triggerBelongedComponentToMoveWhenMoved: !!n && n.triggerBelongedComponentToMoveWhenMoved || T(!1), triggerBelongedComponentToDeleteWhenDeleted: !!n && n.triggerBelongedComponentToDeleteWhenDeleted || T(!1), onRemoveComponent: _, getCustomButtons: h, onPropertyChanged: w }, a; } const xi = T(0); function Ti() { xi.value++; } const bt = T(0); function Fi(e, t) { const n = t.getBoundingClientRect(), o = e.getBoundingClientRect(), r = o.top >= n.top, a = o.top <= n.bottom; return r && a; } function Ei(e) { const t = e.querySelector(".component-btn-group"); if (!t) return; t.style.display = ""; const n = t.getBoundingClientRect(); if (!(n.top === 0 && n.left === 0)) { const o = t.querySelector("div"); if (o) { const r = o.getBoundingClientRect(); o.style.top = n.top + "px"; let a = n.left - r.width; const i = document.querySelector(".editorDiv"); if (i) { const u = i.getBoundingClientRect(); a < u.left && ({ left: a } = e.getBoundingClientRect()); } o.style.left = a + "px"; } } } function Ii(e) { if (!window.scrollContainerList) return; const t = Array.from(window.scrollContainerList); if (t.length && t.length === 1) { const n = t[0], o = document.querySelector(`[id=${n}]`); if (o && o.contains(e)) return o; } } function _n(e) { if (!e) return; const t = e.getBoundingClientRect(); if (t.width === 0 && t.height === 0) return; const n = e.querySelector(".component-btn-group"); if (n) { let o = !0; const r = Ii(e); if (r && (o = Fi(e, r)), !o) { n.style.display = "none"; return; } Ei(e); } } function ki(e) { if (!e) return; let t; e.className.includes("dgComponentSelected") ? t = e : t = e.querySelector(".dgComponentSelected"), t && _n(t); } class xn { constructor(t, n) { q(this, "componentId"); q(this, "viewModelId"); q(this, "eventsEditorUtils"); q(this, "formSchemaUtils"); q(this, "formMetadataConverter"); q(this, "designViewModelUtils"); q(this, "designViewModelField"); q(this, "controlCreatorUtils"); q(this, "designerHostService"); q(this, "schemaService", null); q(this, "metadataService", null); q(this, "propertyConfig", { type: "object", categories: {} }); var o; this.componentId = t, this.designerHostService = n, this.eventsEditorUtils = n.eventsEditorUtils, this.formSchemaUtils = n.formSchemaUtils, this.formMetadataConverter = n.formMetadataConverter, this.viewModelId = ((o = this.formSchemaUtils) == null ? void 0 : o.getViewModelIdByComponentId(t)) || "", this.designViewModelUtils = n.designViewModelUtils, this.controlCreatorUtils = n.controlCreatorUtils, this.metadataService = n.metadataService, this.schemaService = n.schemaService; } getTableInfo() { var t; return (t = this.schemaService) == null ? void 0 : t.getTableInfoByViewModelId(this.viewModelId); } setDesignViewModelField(t) { var o; const n = t.binding && t.binding.type === "Form" && t.binding.field; if (n) { if (!this.designViewModelField) { const r = this.designViewModelUtils.getDgViewModel(this.viewModelId); this.designViewModelField = r.fields.find((a) => a.id === n); } t.updateOn = (o = this.designViewModelField) == null ? void 0 : o.updateOn; } } getBasicPropConfig(t) { return { description: "Basic Information", title: "基本信息", properties: { id: { description: "组件标识", title: "标识", type: "string", readonly: !0 }, type: { description: "组件类型", title: "控件类型", type: "select", editor: { type: "combo-list", textField: "name", valueField: "value", editable: !1, data: [{ value: t.type, name: le[t.type].name }] } } } }; } getAppearanceConfig(t = null) { return { title: "外观", description: "Appearance", properties: { class: { title: "class样式", type: "string", description: "组件的CSS样式", $converter: "/converter/appearance.converter" }, style: { title: "style样式", type: "string", description: "组件的样式", $converter: "/converter/appearance.converter" } }, setPropertyRelates(n, o) { if (n) switch (n && n.propertyID) { case "class": case "style": { bt.value++; break; } } } }; } /** * * @param propertyId * @param componentInstance * @returns */ updateElementByParentContainer(t, n) { const o = n && n.parent && n.parent.schema; if (!o) return; const r = o.contents.findIndex((i) => i.id === t), a = pt(o.contents[r]); o.contents.splice(r, 1), o.contents.splice(r, 0, a), Ti(); } } const Ct = class Ct { /** * 根据绑定字段类型获取可用的输入类控件 */ static getEditorTypesByMDataType(t, n = "") { let o = Ct.fieldControlTypeMapping[t]; if (n === "data-grid-column" && (o != null && o.length)) { const r = [le["check-group"].type, le["radio-group"].type]; o = o.filter((a) => !r.includes(a.key)); } return o; } /** * 获取所有输入类控件 */ static getAllInputTypes() { const t = []; for (const n in Ct.fieldControlTypeMapping) Ct.fieldControlTypeMapping[n].forEach((o) => { t.find((r) => r.key === o.key && r.value === o.value) || t.push({ key: o.key, value: o.value }); }); return t; } /** * 提供schema字段基础属性和DOM控件属性的映射 * @param control 控件元数据 */ static mappingDomPropAndSchemaProp(t) { var r; const n = (r = t.editor) == null ? void 0 : r.type, o = []; return (t.type === le["data-grid-column"].type || t.type === le["tree-grid-column"].type) && o.push({ domField: "title", schemaField: "name" }), o.push({ domField: "label", schemaField: "name" }), o.push({ domField: "editor.required", schemaField: "require" }), o.push({ domField: "editor.readonly", schemaField: "readonly" }), (n === le["input-group"].type || n === le.textarea.type || n === le["number-spinner"].type) && o.push({ domField: "editor.maxLength", schemaField: "type.length" }), n === le["number-spinner"].type && o.push({ domField: "editor.precision", schemaField: "type.precision" }), (t.type === le["data-grid-column"].type || t.type === le["tree-grid-column"].type) && o.push({ domField: "formatter.precision", schemaField: "type.precision" }), (n === le["combo-list"].type || n === le["radio-group"].type) && o.push({ domField: "editor.data", schemaField: "type.enumValues" }), (t.type === le["data-grid-column"].type || t.type === le["tree-grid-column"].type) && o.push({ domField: "formatter.data", schemaField: "type.enumValues" }), n === le["date-picker"].type && (o.push({ domField: "editor.displayFormat", schemaField: "editor.format" }), o.push({ domField: "editor.fieldType", schemaField: "type.name" })), n === le["number-spinner"].type && (o.push({ domField: "editor.max", schemaField: "editor.maxValue" }), o.push({ domField: "editor.min", schemaField: "editor.minValue" })), n === le.lookup.type && (o.push({ domField: "editor.dataSource", schemaField: "editor.dataSource" }), o.push({ domField: "editor.valueField", schemaField: "editor.valueField" }), o.push({ domField: "editor.textField", schemaField: "editor.textField" }), o.push({ domField: "editor.displayType", schemaField: "editor.displayType" }), o.push({ domField: "editor.mapFields", schemaField: "editor.mapFields" }), o.push({ domField: "editor.helpId", schemaField: "editor.helpId" })), o.push({ domField: "path", schemaField: "bindingPath" }), o.push({ domField: "binding.path", schemaField: "bindingField" }), o.push({ domField: "binding.fullPath", schemaField: "path" }), (t.type === le["data-grid-column"].type || t.type === le["tree-grid-column"].type) && o.push({ domField: "field", schemaField: "bindingPath" }), o; } }; /** * <字段类型,可配置的控件类型列表>的映射 */ q(Ct, "fieldControlTypeMapping", { String: [ { key: le["input-group"].type, value: le["input-group"].name }, { key: le.lookup.type, value: le.lookup.name }, { key: le["date-picker"].type, value: le["date-picker"].name }, { key: le["check-group"].type, value: le["check-group"].name }, { key: le["radio-group"].type, value: le["radio-group"].name }, { key: le["combo-list"].type, value: le["combo-list"].name }, { key: le.textarea.type, value: le.textarea.name }, { key: le["time-picker"].type, value: le["time-picker"].name } ], Text: [ { key: le.textarea.type, value: le.textarea.name }, { key: le.lookup.type, value: le.lookup.name } ], Decimal: [ { key: le["number-spinner"].type, value: le["number-spinner"].name } ], Integer: [ { key: le["number-spinner"].type, value: le["number-spinner"].name } ], Number: [ { key: le["number-spinner"].type, value: le["number-spinner"].name } ], BigNumber: [ { key: le["number-spinner"].type, value: le["number-spinner"].name } ], Date: [ { key: le["date-picker"].type, value: le["date-picker"].name } ], DateTime: [ { key: le["date-picker"].type, value: le["date-picker"].name } ], Boolean: [ { key: le.switch.type, value: le.switch.name }, { key: le["check-box"].type, value: le["check-box"].name } ], Enum: [ { key: le["combo-list"].type, value: le["combo-list"].name }, { key: le["radio-group"].type, value: le["radio-group"].name } ], Object: [ { key: le.lookup.type, value: le.lookup.name }, { key: le["combo-list"].type, value: le["combo-list"].name }, { key: le["radio-group"].type, value: le["radio-group"].name } ] }); let Nt = Ct; class Mi { constructor() { /** 控件标题 */ q(this, "label", ""); /** 控件id */ q(this, "id", ""); /** 每个控件占用的栅格数 */ q(this, "columnInSM", 12); q(this, "columnInMD", 6); q(this, "columnInLG", 3); q(this, "columnInEL", 2); /** 每个控件占用的列数 */ q(this, "displayWidthInSM", 1); q(this, "displayWidthInMD", 1); q(this, "displayWidthInLG", 1); q(this, "displayWidthInEL", 1); /** 编辑器内部默认显示的屏幕大小-----可以去掉 */ q(this, "displayColumnCountAtBreakPoint", "md"); /** 控件所在行,传0即可-----编辑器内部使用 */ q(this, "tagRow", 0); /** 控件是否显示上方空白:传0即可-----编辑器内部使用 */ q(this, "showTopBorder", 0); /** 区域,从1开始。卡片内的控件从上往下,从左往右划分区域,遇到分组fieldSet时group+1,分组结束后group+1 */ q(this, "group", 1); /** 控件是否符合标准的class配置(设计器用的) */ q(this, "isSupportedClass", !0); /** 控件所在分组id(设计器用的) */ q(this, "fieldSetId", ""); } } function Oi(e) { let t, n; const o = /* @__PURE__ */ new Map(); let r = []; function a(c, l) { const v = c.split(" ").filter((y) => y.startsWith("col-")); if (v.length === 0) { l.isSupportedClass = !1; return; } let g = v.find((y) => /^col-([1-9]|10|11|12)$/.test(y)), M = v.find((y) => /^col-md-([1-9]|10|11|12)$/.test(y)), x = v.find((y) => /^col-xl-([1-9]|10|11|12)$/.test(y)), m = v.find((y) => /^col-el-([1-9]|10|11|12)$/.test(y)); g = g || "col-12", l.columnInSM = parseInt(g.replace("col-", ""), 10), l.displayWidthInSM = l.columnInSM / 12, l.displayWidthInSM !== 1 && (l.isSupportedClass = !1), M = M || "col-md-" + l.columnInSM, l.columnInMD = parseInt(M.replace("col-md-", ""), 10), l.displayWidthInMD = l.columnInMD / 6, [1, 2].includes(l.displayWidthInMD) || (l.isSupportedClass = !1), x = x || "col-xl-" + l.columnInMD, l.columnInLG = parseInt(x.replace("col-xl-", ""), 10), l.displayWidthInLG = l.columnInLG / 3, [1, 2, 3, 4].includes(l.displayWidthInLG) || (l.isSupportedClass = !1), m = m || "col-el-" + l.columnInLG, l.columnInEL = parseInt(m.replace("col-el-", ""), 10), l.displayWidthInEL = l.columnInEL / 2, [1, 2, 3, 4, 5, 6].includes(l.displayWidthInEL) || (l.isSupportedClass = !1); } function i(c, l, f, v = !1) { let g = !1; c.contents.forEach((M) => { if (M.type === "fieldset") { f += 1, i(M, l, f, !0), g = !0; return; } g && (f += 1, g = !1); const x = M.appearance && M.appearance.class, m = new Mi(); x ? a(x, m) : m.isSupportedClass = !1, m.label = M.label || M.id, m.id = M.id, m.group = f, v && (m.fieldSetId = c.id), n === M.id && (t = f), o.set(M.id, M), l.push(m); }); } function u(c) { const l = e.getComponentById(c); if (!l || !l.componentType || !l.componentType.startsWith("form")) return { result: !1, message: "只可以在响应式表单组件中调整响应式布局配置" }; const f = e.selectNode(l, (v) => v.type === rn["response-form"].type); return !f || !f.contents || f.contents.length === 0 ? { result: !1, message: "Form区域内没有控件,请先添加控件" } : { result: !0, message: "", formNode: f }; } function s(c, l) { l = l || c.id; const { result: f, message: v, formNode: g } = u(l); if (!f) return { result: f, message: v }; n = c.id, r = [], o.clear(); const M = g.contents[0].type === rn.fieldset.type ? 0 : 1; i(g, r, M); const x = r.find((y) => !y.isSupportedClass); return { defaultState: { defaultGroupNumber: t || 1, model: x ? "customize" : "standard" }, importData: r }; } function d(c, l) { l = l; const { result: f, formNode: v } = u(l); if (!f) return ""; const g = []; return c.forEach((M) => { var y; const x = o.get(M.id), m = x.appearance && x.appearance.class; if (m) { const h = m.split(" ").filter((F) => !F.startsWith("col-")), w = "col-" + M.columnInSM, E = "col-md-" + M.columnInMD, p = "col-xl-" + M.columnInLG, b = "col-el-" + M.columnInEL, C = [w, E, p, b].concat(h); x.appearance.class = C.join(" "); } if (M.fieldSetId) { const _ = v.contents.find((w) => w.id === M.fieldSetId), h = g.find((w) => w.id === M.fieldSetId); h ? (y = h.contents) == null || y.push(x) : (g.push(_), _.contents = [x]); } else g.push(x); }), v.contents = g, v.id; } return { checkCanFindFormNode: u, checkCanOpenLayoutEditor: s, changeFormControlsByResponseLayoutConfig: d, getResonseFormLayoutConfig: i }; } var dt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Ft(e) { throw new Error('Could not dynamically require "' + e + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); } var Bi = { exports: {} }; (function(e, t) { (function(n) { e.exports = n(); })(function() { return (/* @__PURE__ */ function() { function n(o, r, a) { function i(d, c) { if (!r[d]) { if (!o[d]) { var l = typeof Ft == "function" && Ft; if (!c && l) return l(d, !0); if (u) return u(d, !0); var f = new Error("Cannot find module '" + d + "'"); throw f.code = "MODULE_NOT_FOUND", f; } var v = r[d] = { exports: {} }; o[d][0].call(v.exports, function(g) { var M = o[d][1][g]; return i(M || g); }, v, v.exports, n, o, r, a); } return r[d].exports; } for (var u = typeof Ft == "function" && Ft, s = 0; s < a.length; s++) i(a[s]); return i; } return n; }())({ 1: [function(n, o, r) { var a = {}, i = "(?:^|\\s)", u = "(?:\\s|$)"; function s(l) { var f = a[l]; return f ? f.lastIndex = 0 : a[l] = f = new RegExp(i + l + u, "g"), f; } function d(l, f) { var v = l.className; v.length ? s(f).test(v) || (l.className += " " + f) : l.className = f; } function c(l, f) { l.className = l.className.replace(s(f), " ").trim(); } o.exports = { add: d, rm: c }; }, {}], 2: [function(n, o, r) { (function(a) { var i = n("contra/emitter"), u = n("crossvent"), s = n("./classes"), d = document, c = d.documentElement; function l(S, D) { var V = arguments.length; V === 1 && Array.isArray(S) === !1 && (D = S, S = []); var N, k, B, O, R, H, K, oe, te, pe = null, W, L, A = !1, Y = 0, Z, X = D || {}; X.moves === void 0 && (X.moves = y), X.accepts === void 0 && (X.accepts = y), X.invalid === void 0 && (X.invalid = it), X.containers === void 0 && (X.containers = S || []), X.isContainer === void 0 && (X.isContainer = m), X.copy === void 0 && (X.copy = !1), X.copySortSource === void 0 && (X.copySortSource = !1), X.revertOnSpill === void 0 && (X.revertOnSpill = !1), X.removeOnSpill === void 0 && (X.removeOnSpill = !1), X.direction === void 0 && (X.direction = "vertical"), X.ignoreInputTextSelection === void 0 && (X.ignoreInputTextSelection = !0), X.mirrorContainer === void 0 && (X.mirrorContainer = d.body); var $ = i({ containers: X.containers, start: qe, end: ne, cancel: at, remove: Ee, destroy: xe, canMove: Me, dragging: !1 }); return X.removeOnSpill === !0 && $.on("over", me).on("out", ve), ie(), $; function G(j) { return $.containers.indexOf(j) !== -1 || X.isContainer(j); } function ie(j) { var Q = j ? "remove" : "add"; g(c, Q, "mousedown", Te), g(c, Q, "mouseup", Ie); } function J(j) { var Q = j ? "remove" : "add"; g(c, Q, "mousemove", We); } function ee(j) { var Q = j ? "remove" : "add"; u[Q](c, "selectstart", Fe), u[Q](c, "click", Fe); } function xe() { ie(!0), Ie({}); } function Fe(j) { W && j.preventDefault(); } function Te(j) { O = j.clientX, R = j.clientY; var Q = M(j) !== 1 || j.metaKey || j.ctrlKey; if (!Q) { var U = j.target, ce = De(U); ce && (W = ce, J(), j.type === "mousedown" && (E(U) ? U.focus() : j.preventDefault())); } } function We(j) { if (W) { if (M(j) === 0) { Ie({}); return; } if (!(j.clientX !== void 0 && Math.abs(j.clientX - O) <= (X.slideFactorX || 0) && j.clientY !== void 0 && Math.abs(j.clientY - R) <= (X.slideFactorY || 0))) { if (X.ignoreInputTextSelection) { var Q = F("clientX", j) || 0, U = F("clientY", j) || 0, ce = d.elementFromPoint(Q, U); if (E(ce)) return; } var ge = W; J(!0), ee(), ne(), ze(ge), s.add(oe || B, "gu-transit"), ke(), _e(), Y = 0, Ue(j); } } } function De(j) { if (!($.dragging && N) && !G(j)) { for (var Q = j; w(j) && G(w(j)) === !1; ) if (X.invalid(j, Q) || (j = w(j), !j)) return; var U = w(j); if (U && !X.invalid(j, Q)) { var ce = X.moves(j, U, Q, b(j)); if (ce) return { item: j, source: U }; } } } function Me(j) { return !!De(j); } function qe(j) { var Q = De(j); Q && ze(Q); } function ze(j) { Pe(j.item, j.source) && (oe = j.item.cloneNode(!0), $.emit("cloned", oe, j.item, "copy")), k = j.source, B = j.item, H = K = b(j.item), $.dragging = !0, $.emit("drag", B, k); } function it() { return !1; } function ne() { if ($.dragging) { var j = oe || B; Ve(j, w(j)); } } function be() { W = !1, J(!0), ee(!0); } function Ie(j) { if (be(), !!$.dragging) { var Q = oe || B, U = F("clientX", j) || 0, ce = F("clientY", j) || 0, ge = x(N, U, ce), ye = ut(ge, U, ce); ye && (oe && X.copySortSource || !oe || ye !== k) ? Ve(Q, ye) : X.removeOnSpill ? Ee() : at(); } } function Ve(j, Q) { var U = w(j); oe && X.copySortSource && Q === k && U.removeChild(B), tt(Q) ? $.emit("cancel", j, k) : $.emit("drop", j, Q, k, K), et(); } function Ee() { if ($.dragging) { var j = oe || B, Q = w(j); Q && Q.removeChild(j), $.emit(oe ? "cancel" : "remove", j, Q, k), et(); } } function at(j) { if ($.dragging) { var Q = arguments.length > 0 ? j : X.revertOnSpill, U = oe || B, ce = w(U), ge = tt(ce); ge === !1 && Q && (oe ? ce && ce.removeChild(oe) : k.insertBefore(U, H)), ge || Q ? $.emit("cancel", U, k, k) : $.emit("drop", U, ce, k, K), et(); } } function et() { var j = oe || B; be(), $e(), Ge(), j && s.rm(j, "gu-transit"), te && clearTimeout(te), $.dragging = !1, pe && $.emit("out", j, pe, k), $.emit("dragend", j, Y), k = B = oe = H = K = te = pe = null; } function tt(j, Q) { var U; return Q !== void 0 ? U = Q : N ? U = K : U = b(oe || B), j === k && U === H; } function ut(j, Q, U) { for (var ce = j; ce && !ge(); ) ce = w(ce); return ce; function ge() { var ye = G(ce); if (ye === !1) return !1; var ae = nt(ce, j), Se = Be(ce, ae, Q, U), Ne = tt(ce, Se); return Ne ? !0 : X.accepts(B, ce, k, Se); } } function Ue(j) { if (!N) return; j.preventDefault(); var Q = F(