@silver-formily/element-plus 2.4.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__builtins__/shared/transform-component.d.ts +1 -1
- package/esm/__builtins__/shared/utils.mjs +0 -2
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/index.mjs +11 -11
- package/esm/array-base/symbols.mjs +1 -1
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/utils.mjs +0 -1
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +1 -1
- package/esm/array-collapse/index.mjs +2 -5
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-items/index.mjs +1 -1
- package/esm/array-list-tabs/index.mjs +9 -9
- package/esm/array-table/index.mjs +7 -10
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +1 -2
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/autocomplete.d.ts +16 -16
- package/esm/autocomplete/index.d.ts +8 -8
- package/esm/autocomplete/index.mjs +2 -4
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +2 -2
- package/esm/checkbox/index.d.ts +27 -27
- package/esm/checkbox/index.mjs +7 -12
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/editable/editable.d.ts +12 -12
- package/esm/editable/index.d.ts +6 -6
- package/esm/editable/index.mjs +27 -33
- package/esm/editable/index.mjs.map +1 -1
- package/esm/env.d.d.ts +1 -0
- package/esm/form/form.mjs +5 -5
- package/esm/form-button-group/index.mjs +5 -12
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +1 -1
- package/esm/form-collapse/utils.mjs +0 -2
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/index.d.ts +1 -1
- package/esm/form-dialog/index.mjs +63 -70
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-dialog/types.d.ts +13 -5
- package/esm/form-drawer/index.d.ts +1 -1
- package/esm/form-drawer/index.mjs +62 -69
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-drawer/types.d.ts +13 -5
- package/esm/form-grid/form-grid.d.ts +2 -2
- package/esm/form-grid/hooks.d.ts +1 -2
- package/esm/form-grid/hooks.mjs +4 -11
- package/esm/form-grid/hooks.mjs.map +1 -1
- package/esm/form-grid/index.mjs +34 -32
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.mjs +25 -31
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/types.d.ts +8 -6
- package/esm/form-layout/form-layout.mjs +2 -2
- package/esm/form-layout/utils.mjs +2 -2
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/index.mjs +2 -2
- package/esm/form-step/utils.mjs +0 -3
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/hooks.d.ts +2 -1
- package/esm/form-tab/hooks.mjs +13 -20
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/index.mjs +39 -40
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/index.mjs +9 -9
- package/esm/input/index.mjs +2 -2
- package/esm/input-number/index.d.ts +15 -15
- package/esm/input-tag/index.mjs +2 -2
- package/esm/mention/index.mjs +2 -2
- package/esm/pagination/pagination.mjs +1 -1
- package/esm/pagination/pagination.mjs.map +1 -1
- package/esm/preview-text/index.mjs +2 -11
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/preview-text/utils.mjs +1 -1
- package/esm/preview-text/utils.mjs.map +1 -1
- package/esm/query-form/index.d.ts +3 -3
- package/esm/query-form/index.mjs +28 -31
- package/esm/query-form/index.mjs.map +1 -1
- package/esm/query-form/query-form.d.ts +1 -1
- package/esm/query-form/types.d.ts +1 -1
- package/esm/query-form-item/index.mjs +7 -11
- package/esm/query-form-item/index.mjs.map +1 -1
- package/esm/radio/index.d.ts +18 -18
- package/esm/radio/index.mjs +7 -12
- package/esm/radio/index.mjs.map +1 -1
- package/esm/reset/index.mjs +2 -2
- package/esm/segmented/index.mjs +2 -2
- package/esm/select/index.d.ts +16 -16
- package/esm/select/index.mjs +1 -1
- package/esm/select-table/index.d.ts +6 -6
- package/esm/select-table/index.mjs +4 -5
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/select-table/select-table.d.ts +2 -2
- package/esm/styles/form-grid/index.css +1 -1
- package/esm/submit/index.mjs +3 -3
- package/esm/submit/index.mjs.map +1 -1
- package/esm/switch/index.d.ts +9 -9
- package/esm/time-select/index.d.ts +12 -12
- package/esm/transfer/index.d.ts +12 -12
- package/esm/tree/index.mjs +3 -3
- package/esm/tree/utils.mjs +0 -2
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.mjs +2 -2
- package/esm/upload/index.d.ts +12 -12
- package/esm/upload/index.mjs +3 -3
- package/esm/upload/upload.d.ts +24 -24
- package/esm/vendor/icon.mjs.map +1 -1
- package/esm/vendor/lodash.mjs +111 -85
- package/esm/vendor/lodash.mjs.map +1 -1
- package/esm/vendor/runtime.mjs +23 -29
- package/esm/vendor/runtime.mjs.map +1 -1
- package/esm/vendor/shared.esm-bundler.mjs +2 -7
- package/esm/vendor/shared.esm-bundler.mjs.map +1 -1
- package/esm/vendor/sizes.mjs.map +1 -1
- package/esm/vendor/types.mjs +5 -5
- package/esm/vendor/types.mjs.map +1 -1
- package/package.json +57 -82
- package/LICENSE +0 -21
package/esm/form-tab/index.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { formilyComputed as
|
|
2
|
-
import { ElTabs as
|
|
3
|
-
import { reaction as
|
|
1
|
+
import { formilyComputed as d, observer as k } from "@silver-formily/reactive-vue";
|
|
2
|
+
import { ElTabs as B, ElTabPane as K, ElBadge as w } from "element-plus";
|
|
3
|
+
import { reaction as $ } from "@formily/reactive";
|
|
4
4
|
import "@vueuse/core";
|
|
5
|
-
import { defineComponent as
|
|
5
|
+
import { defineComponent as L, computed as N, ref as R, watch as S, openBlock as t, createBlock as n, unref as a, withCtx as l, createElementBlock as v, Fragment as b, renderList as q, mergeProps as z, normalizeClass as A, createTextVNode as h, toDisplayString as T, createVNode as D } from "vue";
|
|
6
6
|
import "@formily/core";
|
|
7
|
-
import { useField as I,
|
|
8
|
-
import { composeExport as
|
|
9
|
-
import { stylePrefix as
|
|
10
|
-
import { useTabs as
|
|
7
|
+
import { useField as I, useFieldSchema as P, RecursionField as j } from "@silver-formily/vue";
|
|
8
|
+
import { composeExport as G } from "../__builtins__/shared/utils.mjs";
|
|
9
|
+
import { stylePrefix as H } from "../__builtins__/configs/index.mjs";
|
|
10
|
+
import { useTabs as J } from "./hooks.mjs";
|
|
11
11
|
import { createFormTab as y } from "./utils.mjs";
|
|
12
|
-
import '../styles/form-tab/index.css';const
|
|
12
|
+
import '../styles/form-tab/index.css';const M = /* @__PURE__ */ L({
|
|
13
13
|
name: "FFormTab",
|
|
14
14
|
__name: "form-tab",
|
|
15
15
|
props: {
|
|
@@ -17,48 +17,47 @@ import '../styles/form-tab/index.css';const H = /* @__PURE__ */ $({
|
|
|
17
17
|
modelValue: {}
|
|
18
18
|
},
|
|
19
19
|
emits: ["update:modelValue"],
|
|
20
|
-
setup(
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
!
|
|
20
|
+
setup(F, { emit: _ }) {
|
|
21
|
+
const c = F, g = _, m = I(), x = P(), C = `${H}-form-tab`, u = N(() => c.formTab ?? y()), r = d(() => J(m.value, x.value)), o = R(c?.modelValue ?? u.value.activeKey ?? r.value?.[0]?.name);
|
|
22
|
+
$(() => r.value.length, () => {
|
|
23
|
+
!r.value.some((e) => e.name === o.value) && (o.value = r.value?.[0]?.name);
|
|
24
24
|
}, {
|
|
25
25
|
fireImmediately: !0
|
|
26
|
-
}),
|
|
27
|
-
|
|
26
|
+
}), S(() => u.value.activeKey, (e) => {
|
|
27
|
+
o.value = e;
|
|
28
28
|
});
|
|
29
|
-
const
|
|
29
|
+
const i = d(() => r.value.map((e) => m.value.form.queryFeedbacks({
|
|
30
30
|
type: "error",
|
|
31
|
-
address: `${
|
|
31
|
+
address: `${m.value.address}.${e.name}.*`
|
|
32
32
|
}).length));
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
typeof e == "string" && (F("update:modelValue", e), l.value.setActiveKey?.(e));
|
|
33
|
+
function V(e) {
|
|
34
|
+
typeof e == "string" && (g("update:modelValue", e), u.value.setActiveKey?.(e));
|
|
36
35
|
}
|
|
37
|
-
return (e,
|
|
38
|
-
"model-value":
|
|
36
|
+
return (e, Q) => (t(), n(a(B), {
|
|
37
|
+
"model-value": o.value,
|
|
39
38
|
style: { width: "100%" },
|
|
40
|
-
onTabChange:
|
|
39
|
+
onTabChange: V
|
|
41
40
|
}, {
|
|
42
|
-
default:
|
|
43
|
-
(
|
|
44
|
-
default:
|
|
45
|
-
D(
|
|
46
|
-
schema:
|
|
41
|
+
default: l(() => [
|
|
42
|
+
(t(!0), v(b, null, q(a(r), ({ props: s, schema: E, name: f }, p) => (t(), n(a(K), z({ key: f }, { ref_for: !0 }, s), {
|
|
43
|
+
default: l(() => [
|
|
44
|
+
D(a(j), {
|
|
45
|
+
schema: E,
|
|
47
46
|
name: f
|
|
48
47
|
}, null, 8, ["schema", "name"])
|
|
49
48
|
]),
|
|
50
|
-
label:
|
|
51
|
-
|
|
49
|
+
label: l(() => [
|
|
50
|
+
a(i)[p] !== 0 ? (t(), n(a(w), {
|
|
52
51
|
key: 0,
|
|
53
|
-
class: A(
|
|
54
|
-
value:
|
|
52
|
+
class: A(C),
|
|
53
|
+
value: a(i)[p]
|
|
55
54
|
}, {
|
|
56
|
-
default:
|
|
57
|
-
|
|
55
|
+
default: l(() => [
|
|
56
|
+
h(T(s.label), 1)
|
|
58
57
|
]),
|
|
59
58
|
_: 2
|
|
60
|
-
}, 1032, ["value"])) : (
|
|
61
|
-
|
|
59
|
+
}, 1032, ["value"])) : (t(), v(b, { key: 1 }, [
|
|
60
|
+
h(T(s.label), 1)
|
|
62
61
|
], 64))
|
|
63
62
|
]),
|
|
64
63
|
_: 2
|
|
@@ -67,12 +66,12 @@ import '../styles/form-tab/index.css';const H = /* @__PURE__ */ $({
|
|
|
67
66
|
_: 1
|
|
68
67
|
}, 8, ["model-value"]));
|
|
69
68
|
}
|
|
70
|
-
}),
|
|
69
|
+
}), O = k(M), me = G(O, {
|
|
71
70
|
createFormTab: y
|
|
72
71
|
});
|
|
73
72
|
export {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
me as FormTab,
|
|
74
|
+
me as composeFormTab,
|
|
75
|
+
me as default
|
|
77
76
|
};
|
|
78
77
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/form-tab/form-tab.vue","../../src/form-tab/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { IFormTabProps } from './types.ts'\nimport { reaction } from '@formily/reactive'\nimport { formilyComputed } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField } from '@silver-formily/vue'\nimport { ElBadge, ElTabPane, ElTabs } from 'element-plus'\nimport { computed, ref, watch } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { useTabs } from './hooks'\nimport { createFormTab } from './utils'\n\ndefineOptions({\n name: 'FFormTab',\n})\n\nconst props = defineProps<IFormTabProps>()\nconst emit = defineEmits(['update:modelValue'])\n\nconst field = useField()\nconst prefixCls = `${stylePrefix}-form-tab`\nconst formTabRef = computed(() => props.formTab ?? createFormTab())\nconst tabs = useTabs()\nconst _activeKey = ref(props?.modelValue ?? formTabRef.value.activeKey ?? tabs?.[0]?.name)\n\nreaction(() => {\n return tabs.length\n}, () => {\n !tabs.some(tab => tab.name === _activeKey.value) && (_activeKey.value = tabs?.[0]?.name)\n}, {\n fireImmediately: true,\n})\nwatch(() => formTabRef.value.activeKey, (val) => {\n _activeKey.value = val\n})\n\nconst errorList = formilyComputed(() => {\n return tabs.map((tab) => {\n return field.value.form.queryFeedbacks({\n type: 'error',\n address: `${field.value.address}.${tab.name}.*`,\n }).length\n })\n})\n\nfunction handleTabChange(key: string) {\n /* istanbul ignore if -- @preserve */\n if (typeof key !== 'string')\n return\n emit('update:modelValue', key)\n formTabRef.value.setActiveKey?.(key)\n}\n</script>\n\n<template>\n <ElTabs\n :model-value=\"_activeKey\"\n style=\"width: 100%;\"\n @tab-change=\"handleTabChange\"\n >\n <ElTabPane\n v-for=\"({ props: tabProps, schema, name }, key) in tabs\"\n :key=\"name\"\n v-bind=\"tabProps\"\n >\n <template #default>\n <RecursionField :schema=\"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/form-tab/form-tab.vue","../../src/form-tab/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { IFormTabProps } from './types.ts'\nimport { reaction } from '@formily/reactive'\nimport { formilyComputed } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElBadge, ElTabPane, ElTabs } from 'element-plus'\nimport { computed, ref, watch } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { useTabs } from './hooks'\nimport { createFormTab } from './utils'\n\ndefineOptions({\n name: 'FFormTab',\n})\n\nconst props = defineProps<IFormTabProps>()\nconst emit = defineEmits(['update:modelValue'])\n\nconst field = useField()\nconst schema = useFieldSchema()\nconst prefixCls = `${stylePrefix}-form-tab`\nconst formTabRef = computed(() => props.formTab ?? createFormTab())\nconst tabs = formilyComputed(() => useTabs(field.value, schema.value))\nconst _activeKey = ref(props?.modelValue ?? formTabRef.value.activeKey ?? tabs.value?.[0]?.name)\n\nreaction(() => {\n return tabs.value.length\n}, () => {\n !tabs.value.some(tab => tab.name === _activeKey.value) && (_activeKey.value = tabs.value?.[0]?.name)\n}, {\n fireImmediately: true,\n})\nwatch(() => formTabRef.value.activeKey, (val) => {\n _activeKey.value = val\n})\n\nconst errorList = formilyComputed(() => {\n return tabs.value.map((tab) => {\n return field.value.form.queryFeedbacks({\n type: 'error',\n address: `${field.value.address}.${tab.name}.*`,\n }).length\n })\n})\n\nfunction handleTabChange(key: string) {\n /* istanbul ignore if -- @preserve */\n if (typeof key !== 'string')\n return\n emit('update:modelValue', key)\n formTabRef.value.setActiveKey?.(key)\n}\n</script>\n\n<template>\n <ElTabs\n :model-value=\"_activeKey\"\n style=\"width: 100%;\"\n @tab-change=\"handleTabChange\"\n >\n <ElTabPane\n v-for=\"({ props: tabProps, schema: tabSchema, name }, key) in tabs\"\n :key=\"name\"\n v-bind=\"tabProps\"\n >\n <template #default>\n <RecursionField :schema=\"tabSchema\" :name=\"name\" />\n </template>\n <template #label>\n <ElBadge\n v-if=\"errorList[key] !== 0\"\n :class=\"prefixCls\"\n :value=\"errorList[key]\"\n >\n {{ tabProps.label }}\n </ElBadge>\n <template v-else>\n {{ tabProps.label }}\n </template>\n </template>\n </ElTabPane>\n </ElTabs>\n</template>\n","import { observer } from '@silver-formily/reactive-vue'\nimport { composeExport } from '../__builtins__'\nimport FFormTab from './form-tab.vue'\nimport { createFormTab } from './utils'\nimport './style.scss'\n\nconst FormTab = observer(FFormTab)\n\nexport const composeFormTab = composeExport(FormTab, {\n createFormTab,\n})\n\nexport { composeFormTab as FormTab }\nexport default composeFormTab\n"],"names":["props","__props","emit","__emit","field","useField","schema","useFieldSchema","prefixCls","stylePrefix","formTabRef","computed","createFormTab","tabs","formilyComputed","useTabs","_activeKey","ref","reaction","tab","watch","val","errorList","handleTabChange","key","_createBlock","_unref","ElTabs","_createElementBlock","_Fragment","_renderList","tabProps","tabSchema","name","_openBlock","_mergeProps","_createVNode","RecursionField","ElBadge","_createTextVNode","_toDisplayString","FormTab","observer","FFormTab","composeFormTab","composeExport"],"mappings":";;;;;;;;;;;;;;;;;;;;AAeA,UAAMA,IAAQC,GACRC,IAAOC,GAEPC,IAAQC,EAAA,GACRC,IAASC,EAAA,GACTC,IAAY,GAAGC,CAAW,aAC1BC,IAAaC,EAAS,MAAMX,EAAM,WAAWY,GAAe,GAC5DC,IAAOC,EAAgB,MAAMC,EAAQX,EAAM,OAAOE,EAAO,KAAK,CAAC,GAC/DU,IAAaC,EAAIjB,GAAO,cAAcU,EAAW,MAAM,aAAaG,EAAK,QAAQ,CAAC,GAAG,IAAI;AAE/F,IAAAK,EAAS,MACAL,EAAK,MAAM,QACjB,MAAM;AACP,OAACA,EAAK,MAAM,KAAK,CAAAM,MAAOA,EAAI,SAASH,EAAW,KAAK,MAAMA,EAAW,QAAQH,EAAK,QAAQ,CAAC,GAAG;AAAA,IACjG,GAAG;AAAA,MACD,iBAAiB;AAAA,IAAA,CAClB,GACDO,EAAM,MAAMV,EAAW,MAAM,WAAW,CAACW,MAAQ;AAC/C,MAAAL,EAAW,QAAQK;AAAA,IACrB,CAAC;AAED,UAAMC,IAAYR,EAAgB,MACzBD,EAAK,MAAM,IAAI,CAACM,MACdf,EAAM,MAAM,KAAK,eAAe;AAAA,MACrC,MAAM;AAAA,MACN,SAAS,GAAGA,EAAM,MAAM,OAAO,IAAIe,EAAI,IAAI;AAAA,IAAA,CAC5C,EAAE,MACJ,CACF;AAED,aAASI,EAAgBC,GAAa;AAEpC,MAAI,OAAOA,KAAQ,aAEnBtB,EAAK,qBAAqBsB,CAAG,GAC7Bd,EAAW,MAAM,eAAec,CAAG;AAAA,IACrC;2BAIEC,EA0BSC,EAAAC,CAAA,GAAA;AAAA,MAzBN,eAAaX,EAAA;AAAA,MACd,OAAA,EAAA,OAAA,OAAA;AAAA,MACC,aAAYO;AAAA,IAAA;iBAGX,MAAmE;AAAA,gBADrEK,EAoBYC,GAAA,MAAAC,EAnBoDJ,MAAI,CAAA,EAAA,OAAjDK,WAAkBC,GAAW,MAAAC,EAAA,GAAQT,OADxDU,KAAAT,EAoBYC,MApBZS,EAoBY,EAlBT,KAAKF,EAAA,oBACEF,CAAQ,GAAA;AAAA,UAEL,WACT,MAAmD;AAAA,YAAnDK,EAAmDV,EAAAW,CAAA,GAAA;AAAA,cAAlC,QAAQL;AAAA,cAAY,MAAAC;AAAA,YAAA;;UAE5B,SACT,MAMU;AAAA,YALFP,EAAAJ,CAAA,EAAUE,CAAG,MAAA,UADrBC,EAMUC,EAAAY,CAAA,GAAA;AAAA;cAJP,SAAO9B,CAAS;AAAA,cAChB,OAAOkB,EAAAJ,CAAA,EAAUE,CAAG;AAAA,YAAA;yBAErB,MAAoB;AAAA,gBAAjBe,EAAAC,EAAAT,EAAS,KAAK,GAAA,CAAA;AAAA,cAAA;;yCAEnBH,EAEWC,GAAA,EAAA,KAAA,KAAA;AAAA,cADNU,EAAAC,EAAAT,EAAS,KAAK,GAAA,CAAA;AAAA,YAAA;;;;;;;;ICvErBU,IAAUC,EAASC,CAAQ,GAEpBC,KAAiBC,EAAcJ,GAAS;AAAA,EACnD,eAAA7B;AACF,CAAC;"}
|
package/esm/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ArrayCards as e } from "./array-cards/index.mjs";
|
|
2
|
-
import { ArrayCollapse as
|
|
2
|
+
import { ArrayCollapse as m } from "./array-collapse/index.mjs";
|
|
3
3
|
import { ArrayItems as f } from "./array-items/index.mjs";
|
|
4
4
|
import { ArrayListTabs as a } from "./array-list-tabs/index.mjs";
|
|
5
5
|
import { ArrayTable as s } from "./array-table/index.mjs";
|
|
6
|
-
import { ArrayTabs as
|
|
6
|
+
import { ArrayTabs as c } from "./array-tabs/index.mjs";
|
|
7
7
|
import { Autocomplete as T } from "./autocomplete/index.mjs";
|
|
8
8
|
import { Cascader as d } from "./cascader/index.mjs";
|
|
9
9
|
import { Checkbox as S } from "./checkbox/index.mjs";
|
|
@@ -21,14 +21,14 @@ import { FormGrid as j } from "./form-grid/index.mjs";
|
|
|
21
21
|
import { FormBaseItem as z, FormItem as H, fieldFeedbackMapper as J } from "./form-item/index.mjs";
|
|
22
22
|
import { _ as O } from "./form-layout/form-layout.mjs";
|
|
23
23
|
import { FormStep as W } from "./form-step/index.mjs";
|
|
24
|
-
import {
|
|
24
|
+
import { FormTab as Y, FormTab as Z } from "./form-tab/index.mjs";
|
|
25
25
|
import { Input as rr } from "./input/index.mjs";
|
|
26
26
|
import { InputNumber as er } from "./input-number/index.mjs";
|
|
27
|
-
import { InputTag as
|
|
27
|
+
import { InputTag as mr } from "./input-tag/index.mjs";
|
|
28
28
|
import { Mention as fr } from "./mention/index.mjs";
|
|
29
29
|
import { Password as ar } from "./password/index.mjs";
|
|
30
30
|
import { PreviewText as sr } from "./preview-text/index.mjs";
|
|
31
|
-
import { QueryForm as
|
|
31
|
+
import { QueryForm as cr } from "./query-form/index.mjs";
|
|
32
32
|
import { QueryFormItem as Tr } from "./query-form-item/index.mjs";
|
|
33
33
|
import { Radio as dr } from "./radio/index.mjs";
|
|
34
34
|
import { Rate as Sr } from "./rate/index.mjs";
|
|
@@ -48,11 +48,11 @@ import { TreeSelect as Hr } from "./tree-select/index.mjs";
|
|
|
48
48
|
import { Upload as Kr } from "./upload/index.mjs";
|
|
49
49
|
export {
|
|
50
50
|
e as ArrayCards,
|
|
51
|
-
|
|
51
|
+
m as ArrayCollapse,
|
|
52
52
|
f as ArrayItems,
|
|
53
53
|
a as ArrayListTabs,
|
|
54
54
|
s as ArrayTable,
|
|
55
|
-
|
|
55
|
+
c as ArrayTabs,
|
|
56
56
|
T as Autocomplete,
|
|
57
57
|
d as Cascader,
|
|
58
58
|
S as Checkbox,
|
|
@@ -75,11 +75,11 @@ export {
|
|
|
75
75
|
Y as FormTab,
|
|
76
76
|
rr as Input,
|
|
77
77
|
er as InputNumber,
|
|
78
|
-
|
|
78
|
+
mr as InputTag,
|
|
79
79
|
fr as Mention,
|
|
80
80
|
ar as Password,
|
|
81
81
|
sr as PreviewText,
|
|
82
|
-
|
|
82
|
+
cr as QueryForm,
|
|
83
83
|
Tr as QueryFormItem,
|
|
84
84
|
dr as Radio,
|
|
85
85
|
Sr as Rate,
|
package/esm/input/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { connect as s, mapProps as a } from "@silver-formily/vue";
|
|
|
2
2
|
import { ElInput as d } from "element-plus";
|
|
3
3
|
import "@formily/reactive";
|
|
4
4
|
import "@vueuse/core";
|
|
5
|
-
import { defineComponent as l, useSlots as c,
|
|
5
|
+
import { defineComponent as l, useSlots as c, openBlock as y, createBlock as x, unref as p, normalizeProps as I, guardReactiveProps as k, createSlots as v, withCtx as r, renderSlot as o } from "vue";
|
|
6
6
|
import { mapReadPretty as i } from "../__builtins__/shared/transform-component.mjs";
|
|
7
7
|
import { useCleanAttrs as P, composeExport as _ } from "../__builtins__/shared/utils.mjs";
|
|
8
8
|
import { PreviewText as m } from "../preview-text/index.mjs";
|
|
@@ -14,7 +14,7 @@ const f = /* @__PURE__ */ l({
|
|
|
14
14
|
__name: "input",
|
|
15
15
|
setup(n) {
|
|
16
16
|
const e = c(), { props: u } = P();
|
|
17
|
-
return (t, A) => (
|
|
17
|
+
return (t, A) => (y(), x(p(d), I(k(p(u))), v({ _: 2 }, [
|
|
18
18
|
e.prefix ? {
|
|
19
19
|
name: "prefix",
|
|
20
20
|
fn: r(() => [
|
|
@@ -10,7 +10,7 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
10
10
|
type: import('vue').PropType<"" | "small" | "default" | "large">;
|
|
11
11
|
};
|
|
12
12
|
align: {
|
|
13
|
-
type: import('vue').PropType<"center" | "
|
|
13
|
+
type: import('vue').PropType<"center" | "right" | "left">;
|
|
14
14
|
default: string;
|
|
15
15
|
};
|
|
16
16
|
name: {
|
|
@@ -20,6 +20,10 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
20
20
|
type: import('vue').PropType<number>;
|
|
21
21
|
default: number;
|
|
22
22
|
};
|
|
23
|
+
min: {
|
|
24
|
+
type: import('vue').PropType<number>;
|
|
25
|
+
default: number;
|
|
26
|
+
};
|
|
23
27
|
disabled: {
|
|
24
28
|
type: import('vue').PropType<boolean>;
|
|
25
29
|
default: undefined;
|
|
@@ -49,10 +53,6 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
49
53
|
type: import('vue').PropType<"search" | "text" | "url" | "email" | "none" | "tel" | "numeric" | "decimal">;
|
|
50
54
|
default: undefined;
|
|
51
55
|
};
|
|
52
|
-
min: {
|
|
53
|
-
type: import('vue').PropType<number>;
|
|
54
|
-
default: number;
|
|
55
|
-
};
|
|
56
56
|
step: {
|
|
57
57
|
type: import('vue').PropType<number>;
|
|
58
58
|
default: number;
|
|
@@ -120,7 +120,7 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
120
120
|
type: import('vue').PropType<"" | "small" | "default" | "large">;
|
|
121
121
|
};
|
|
122
122
|
align: {
|
|
123
|
-
type: import('vue').PropType<"center" | "
|
|
123
|
+
type: import('vue').PropType<"center" | "right" | "left">;
|
|
124
124
|
default: string;
|
|
125
125
|
};
|
|
126
126
|
name: {
|
|
@@ -130,6 +130,10 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
130
130
|
type: import('vue').PropType<number>;
|
|
131
131
|
default: number;
|
|
132
132
|
};
|
|
133
|
+
min: {
|
|
134
|
+
type: import('vue').PropType<number>;
|
|
135
|
+
default: number;
|
|
136
|
+
};
|
|
133
137
|
disabled: {
|
|
134
138
|
type: import('vue').PropType<boolean>;
|
|
135
139
|
default: undefined;
|
|
@@ -159,10 +163,6 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
159
163
|
type: import('vue').PropType<"search" | "text" | "url" | "email" | "none" | "tel" | "numeric" | "decimal">;
|
|
160
164
|
default: undefined;
|
|
161
165
|
};
|
|
162
|
-
min: {
|
|
163
|
-
type: import('vue').PropType<number>;
|
|
164
|
-
default: number;
|
|
165
|
-
};
|
|
166
166
|
step: {
|
|
167
167
|
type: import('vue').PropType<number>;
|
|
168
168
|
default: number;
|
|
@@ -221,7 +221,7 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
221
221
|
type: import('vue').PropType<"" | "small" | "default" | "large">;
|
|
222
222
|
};
|
|
223
223
|
align: {
|
|
224
|
-
type: import('vue').PropType<"center" | "
|
|
224
|
+
type: import('vue').PropType<"center" | "right" | "left">;
|
|
225
225
|
default: string;
|
|
226
226
|
};
|
|
227
227
|
name: {
|
|
@@ -231,6 +231,10 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
231
231
|
type: import('vue').PropType<number>;
|
|
232
232
|
default: number;
|
|
233
233
|
};
|
|
234
|
+
min: {
|
|
235
|
+
type: import('vue').PropType<number>;
|
|
236
|
+
default: number;
|
|
237
|
+
};
|
|
234
238
|
disabled: {
|
|
235
239
|
type: import('vue').PropType<boolean>;
|
|
236
240
|
default: undefined;
|
|
@@ -260,10 +264,6 @@ export declare const InputNumber: import('element-plus/es/utils/index.mjs').SFCW
|
|
|
260
264
|
type: import('vue').PropType<"search" | "text" | "url" | "email" | "none" | "tel" | "numeric" | "decimal">;
|
|
261
265
|
default: undefined;
|
|
262
266
|
};
|
|
263
|
-
min: {
|
|
264
|
-
type: import('vue').PropType<number>;
|
|
265
|
-
default: number;
|
|
266
|
-
};
|
|
267
267
|
step: {
|
|
268
268
|
type: import('vue').PropType<number>;
|
|
269
269
|
default: number;
|
package/esm/input-tag/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { useField as f, connect as l, mapProps as u } from "@silver-formily/vue"
|
|
|
2
2
|
import { ElInputTag as d } from "element-plus";
|
|
3
3
|
import "@formily/reactive";
|
|
4
4
|
import "@vueuse/core";
|
|
5
|
-
import { defineComponent as c, useSlots as g,
|
|
5
|
+
import { defineComponent as c, useSlots as g, openBlock as x, createBlock as y, unref as o, normalizeProps as n, guardReactiveProps as s, createSlots as P, withCtx as r, renderSlot as i } from "vue";
|
|
6
6
|
import { mapReadPretty as _ } from "../__builtins__/shared/transform-component.mjs";
|
|
7
7
|
import { PreviewText as k } from "../preview-text/index.mjs";
|
|
8
8
|
import "@formily/core";
|
|
@@ -14,7 +14,7 @@ const T = /* @__PURE__ */ c({
|
|
|
14
14
|
__name: "input-tag",
|
|
15
15
|
setup(S) {
|
|
16
16
|
const e = g(), { props: p } = v(), a = f();
|
|
17
|
-
return (t, h) => (
|
|
17
|
+
return (t, h) => (x(), y(o(d), n(s(o(p))), P({ _: 2 }, [
|
|
18
18
|
e.tag ? {
|
|
19
19
|
name: "tag",
|
|
20
20
|
fn: r((m) => [
|
package/esm/mention/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { useField as u, connect as c, mapProps as v } from "@silver-formily/vue"
|
|
|
2
2
|
import { ElMention as y } from "element-plus";
|
|
3
3
|
import "@formily/reactive";
|
|
4
4
|
import "@vueuse/core";
|
|
5
|
-
import { defineComponent as k, useSlots as h, computed as $,
|
|
5
|
+
import { defineComponent as k, useSlots as h, computed as $, openBlock as P, createBlock as S, unref as i, normalizeProps as p, guardReactiveProps as l, createSlots as g, withCtx as n, renderSlot as r } from "vue";
|
|
6
6
|
import { mapReadPretty as b } from "../__builtins__/shared/transform-component.mjs";
|
|
7
7
|
import { PreviewText as M } from "../preview-text/index.mjs";
|
|
8
8
|
import "@formily/core";
|
|
@@ -26,7 +26,7 @@ const C = /* @__PURE__ */ k({
|
|
|
26
26
|
}
|
|
27
27
|
} : e;
|
|
28
28
|
});
|
|
29
|
-
return (e, s) => (
|
|
29
|
+
return (e, s) => (P(), S(i(y), p(l(f.value)), g({ _: 2 }, [
|
|
30
30
|
o.prefix ? {
|
|
31
31
|
name: "prefix",
|
|
32
32
|
fn: n(() => [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DArrowLeft as ce, MoreFilled as re, DArrowRight as pe, ArrowRight as fe, ArrowLeft as me } from "@element-plus/icons-vue";
|
|
2
2
|
import { useLocale as R, useNamespace as O, ElInput as ve, ElIcon as oe, CHANGE_EVENT as X, ElBadge as H, ElSelect as be, ElOption as Pe, useSizeProp as Ce, useGlobalSize as he, useDeprecated as ze, elPaginationKey as Se } from "element-plus";
|
|
3
|
-
import { inject as ye, defineComponent as U, ref as M, computed as C,
|
|
3
|
+
import { inject as ye, defineComponent as U, ref as M, computed as C, openBlock as d, createElementBlock as w, unref as t, normalizeClass as k, createElementVNode as j, toDisplayString as D, createVNode as ne, createBlock as z, withCtx as A, resolveDynamicComponent as ue, watchEffect as ke, withKeys as Ne, createCommentVNode as ae, Fragment as de, renderList as ge, watch as Y, getCurrentInstance as Ee, provide as xe, h as I } from "vue";
|
|
4
4
|
import { paginationJumperProps as $e } from "./components/jumper.mjs";
|
|
5
5
|
import { paginationNextProps as Te } from "./components/next.mjs";
|
|
6
6
|
import { useObserver as Me, formilyComputed as te } from "@silver-formily/reactive-vue";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.mjs","sources":["../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.22_typescript@5.9.3_/node_modules/element-plus/es/components/pagination/src/constants.mjs","../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.22_typescript@5.9.3_/node_modules/element-plus/es/components/pagination/src/usePagination.mjs","../../src/pagination/components/jumper.vue","../../src/pagination/components/next.vue","../../src/pagination/components/pager.vue","../../src/pagination/components/prev.vue","../../src/pagination/components/sizes.vue","../../src/pagination/components/total.vue","../../src/pagination/pagination.ts"],"sourcesContent":["const elPaginationKey = /* @__PURE__ */ Symbol(\"elPaginationKey\");\n\nexport { elPaginationKey };\n//# sourceMappingURL=constants.mjs.map\n","import { inject } from 'vue';\nimport { elPaginationKey } from './constants.mjs';\n\nconst usePagination = () => inject(elPaginationKey, {});\n\nexport { usePagination };\n//# sourceMappingURL=usePagination.mjs.map\n","<script lang=\"ts\" setup>\nimport { ElInput, useLocale, useNamespace } from 'element-plus'\nimport { usePagination } from 'element-plus/es/components/pagination/src/usePagination'\nimport { computed, ref } from 'vue'\nimport { paginationJumperProps } from './jumper'\n\ndefineOptions({\n name: 'ElPaginationJumper',\n})\n\ndefineProps(paginationJumperProps)\nconst { t } = useLocale()\nconst ns = useNamespace('pagination')\nconst { pageCount, disabled, currentPage, changeEvent } = usePagination()\nconst userInput = ref<number | string>()\nconst innerValue = computed(() => userInput.value ?? currentPage?.value)\n\nfunction handleInput(val: number | string) {\n userInput.value = val ? +val : ''\n}\n\nfunction handleChange(val: number | string) {\n val = Math.trunc(+val)\n changeEvent?.(val)\n userInput.value = undefined\n}\n</script>\n\n<template>\n <span :class=\"ns.e('jump')\" :disabled=\"disabled\">\n <span :class=\"[ns.e('goto')]\">{{ t('el.pagination.goto') }}</span>\n <ElInput\n :size=\"size\"\n :class=\"[ns.e('editor'), ns.is('in-pagination')]\"\n :min=\"1\"\n :max=\"pageCount\"\n :disabled=\"disabled\"\n :model-value=\"innerValue\"\n :validate-event=\"false\"\n :aria-label=\"t('el.pagination.page')\"\n type=\"number\"\n @update:model-value=\"handleInput\"\n @change=\"handleChange\"\n />\n <span :class=\"[ns.e('classifier')]\">\n {{ t('el.pagination.pageClassifier') }}\n </span>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport { ElIcon, useLocale } from 'element-plus'\nimport { computed } from 'vue'\nimport { paginationNextProps } from './next'\n\ndefineOptions({\n name: 'ElPaginationNext',\n})\n\nconst props = defineProps(paginationNextProps)\n\ndefineEmits(['click'])\n\nconst { t } = useLocale()\n\nconst internalDisabled = computed(\n () =>\n props.disabled\n || props.currentPage === props.pageCount\n || props.pageCount === 0,\n)\n</script>\n\n<template>\n <button\n type=\"button\"\n class=\"btn-next\"\n :disabled=\"internalDisabled\"\n :aria-label=\"nextText || t('el.pagination.next')\"\n :aria-disabled=\"internalDisabled\"\n @click=\"$emit('click', $event)\"\n >\n <span v-if=\"nextText\">{{ nextText }}</span>\n <ElIcon v-else>\n <component :is=\"nextIcon\" />\n </ElIcon>\n </button>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport { DArrowLeft, DArrowRight, MoreFilled } from '@element-plus/icons-vue'\nimport { formilyComputed, useObserver } from '@silver-formily/reactive-vue'\nimport { useField } from '@silver-formily/vue'\nimport { CHANGE_EVENT, ElBadge, useLocale, useNamespace } from 'element-plus'\nimport { computed, ref, watchEffect } from 'vue'\nimport { paginationPagerProps } from './pager'\n\ndefineOptions({\n name: 'ElPaginationPager',\n})\nconst props = defineProps(paginationPagerProps)\nconst emit = defineEmits([CHANGE_EVENT])\nconst nsPager = useNamespace('pager')\nconst nsIcon = useNamespace('icon')\nconst { t } = useLocale()\n\nconst showPrevMore = ref(false)\nconst showNextMore = ref(false)\nconst quickPrevHover = ref(false)\nconst quickNextHover = ref(false)\nconst quickPrevFocus = ref(false)\nconst quickNextFocus = ref(false)\nconst pagers = computed(() => {\n const pagerCount = props.pagerCount\n const halfPagerCount = (pagerCount - 1) / 2\n const currentPage = Number(props.currentPage)\n const pageCount = Number(props.pageCount)\n let showPrevMore = false\n let showNextMore = false\n if (pageCount > pagerCount) {\n if (currentPage > pagerCount - halfPagerCount) {\n showPrevMore = true\n }\n if (currentPage < pageCount - halfPagerCount) {\n showNextMore = true\n }\n }\n const array: number[] = []\n if (showPrevMore && !showNextMore) {\n const startPage = pageCount - (pagerCount - 2)\n for (let i = startPage; i < pageCount; i++) {\n array.push(i)\n }\n }\n else if (!showPrevMore && showNextMore) {\n for (let i = 2; i < pagerCount; i++) {\n array.push(i)\n }\n }\n else if (showPrevMore && showNextMore) {\n const offset = Math.floor(pagerCount / 2) - 1\n for (let i = currentPage - offset; i <= currentPage + offset; i++) {\n array.push(i)\n }\n }\n else {\n for (let i = 2; i < pageCount; i++) {\n array.push(i)\n }\n }\n return array\n})\n\nconst prevMoreKls = computed(() => [\n 'more',\n 'btn-quickprev',\n nsIcon.b(),\n nsPager.is('disabled', props.disabled),\n])\nconst nextMoreKls = computed(() => [\n 'more',\n 'btn-quicknext',\n nsIcon.b(),\n nsPager.is('disabled', props.disabled),\n])\n\nconst tabindex = computed(() => (props.disabled ? -1 : 0))\nwatchEffect(() => {\n const halfPagerCount = (props.pagerCount - 1) / 2\n showPrevMore.value = false\n showNextMore.value = false\n if (props.pageCount! > props.pagerCount) {\n if (props.currentPage > props.pagerCount - halfPagerCount) {\n showPrevMore.value = true\n }\n if (props.currentPage < props.pageCount! - halfPagerCount) {\n showNextMore.value = true\n }\n }\n})\nfunction onMouseEnter(forward = false) {\n if (props.disabled)\n return\n if (forward) {\n quickPrevHover.value = true\n }\n else {\n quickNextHover.value = true\n }\n}\nfunction onFocus(forward = false) {\n if (forward) {\n quickPrevFocus.value = true\n }\n else {\n quickNextFocus.value = true\n }\n}\nfunction onEnter(e: UIEvent) {\n const target = e.target as HTMLElement\n if (\n target.tagName.toLowerCase() === 'li'\n && Array.from(target.classList).includes('number')\n ) {\n const newPage = Number(target.textContent)\n if (newPage !== props.currentPage) {\n emit(CHANGE_EVENT, newPage)\n }\n }\n else if (\n target.tagName.toLowerCase() === 'li'\n && Array.from(target.classList).includes('more')\n ) {\n onPagerClick(e)\n }\n}\nfunction onPagerClick(event: UIEvent) {\n const target = event.target as HTMLElement\n if (target.tagName.toLowerCase() === 'ul' || props.disabled) {\n return\n }\n let newPage = Number(target.textContent)\n const pageCount = props.pageCount!\n const currentPage = props.currentPage\n const pagerCountOffset = props.pagerCount - 2\n if (target.className.includes('more')) {\n if (target.className.includes('quickprev')) {\n newPage = currentPage - pagerCountOffset\n }\n else if (target.className.includes('quicknext')) {\n newPage = currentPage + pagerCountOffset\n }\n }\n if (!Number.isNaN(+newPage)) {\n if (newPage < 1) {\n newPage = 1\n }\n if (newPage > pageCount) {\n newPage = pageCount\n }\n }\n if (newPage !== currentPage) {\n emit(CHANGE_EVENT, newPage)\n }\n}\n/* formily error count */\nuseObserver()\nconst fieldRef = useField<ArrayField>()\nconst field = fieldRef.value\nconst path = field.address.entire\nconst errorPageIndexList = formilyComputed(() => {\n const errorPageSet = field.form\n .queryFeedbacks({\n type: 'error',\n address: `${path}.**`,\n })\n .map(feedback => Number(feedback.path.split(`${path}.`)[1].split('.')[0]))\n .reduce((acc, cur) => {\n const pageIndex = Math.floor(cur / props.pageSize)\n acc.add(pageIndex)\n return acc\n }, new Set<number>())\n\n const errorPageList = Array.from(errorPageSet).sort((a, b) => a - b)\n return errorPageList\n})\n\nconst isPrevMoreError = formilyComputed(() => {\n return errorPageIndexList.value.some(pageIdx => (pageIdx < pagers.value[0] - 1) && pageIdx !== 0)\n})\nconst isNextMoreError = formilyComputed(() => {\n return errorPageIndexList.value.some(pageIdx => (pageIdx > pagers.value.at(-1) - 1) && pageIdx !== errorPageIndexList.value.length - 1)\n})\n</script>\n\n<template>\n <ul :class=\"nsPager.b()\" @click=\"onPagerClick\" @keyup.enter=\"onEnter\">\n <ElBadge v-if=\"pageCount > 1\" is-dot :value=\"1\" :hidden=\"errorPageIndexList[0] !== 0\">\n <li\n :class=\"[\n nsPager.is('active', currentPage === 1),\n nsPager.is('disabled', disabled),\n ]\" class=\"number\" :aria-current=\"currentPage === 1\" :aria-label=\"t('el.pagination.currentPage', { pager: 1 })\"\n :tabindex=\"tabindex\"\n >\n 1\n </li>\n </ElBadge>\n <ElBadge v-if=\"showPrevMore\" is-dot :value=\"1\" :hidden=\"!isPrevMoreError\">\n <li\n :class=\"prevMoreKls\" :tabindex=\"tabindex\"\n :aria-label=\"t('el.pagination.prevPages', { pager: pagerCount - 2 })\" @mouseenter=\"onMouseEnter(true)\"\n @mouseleave=\"quickPrevHover = false\" @focus=\"onFocus(true)\" @blur=\"quickPrevFocus = false\"\n >\n <DArrowLeft v-if=\"(quickPrevHover || quickPrevFocus) && !disabled\" />\n <MoreFilled v-else />\n </li>\n </ElBadge>\n <ElBadge\n v-for=\"pager in pagers\" :key=\"pager\" is-dot :value=\"1\"\n :hidden=\"!errorPageIndexList.includes(pager - 1)\"\n >\n <li\n :class=\"[\n nsPager.is('active', currentPage === pager),\n nsPager.is('disabled', disabled),\n ]\" class=\"number\" :aria-current=\"currentPage === pager\" :aria-label=\"t('el.pagination.currentPage', { pager })\"\n :tabindex=\"tabindex\"\n >\n {{ pager }}\n </li>\n </ElBadge>\n <ElBadge v-if=\"showNextMore\" is-dot :value=\"1\" :hidden=\"!isNextMoreError\">\n <li\n :class=\"nextMoreKls\" :tabindex=\"tabindex\"\n :aria-label=\"t('el.pagination.nextPages', { pager: pagerCount - 2 })\" @mouseenter=\"onMouseEnter()\"\n @mouseleave=\"quickNextHover = false\" @focus=\"onFocus()\" @blur=\"quickNextFocus = false\"\n >\n <DArrowRight v-if=\"(quickNextHover || quickNextFocus) && !disabled\" />\n <MoreFilled v-else />\n </li>\n </ElBadge>\n <ElBadge\n is-dot\n :value=\"1\"\n :hidden=\"errorPageIndexList[errorPageIndexList.length - 1] !== pageCount - 1\"\n >\n <li\n :class=\"[\n nsPager.is('active', currentPage === pageCount),\n nsPager.is('disabled', disabled),\n ]\" class=\"number\" :aria-current=\"currentPage === pageCount\"\n :aria-label=\"t('el.pagination.currentPage', { pager: pageCount })\" :tabindex=\"tabindex\"\n >\n {{ pageCount }}\n </li>\n </ElBadge>\n </ul>\n</template>\n","<script lang=\"ts\" setup>\nimport { ElIcon, useLocale } from 'element-plus'\nimport { computed } from 'vue'\nimport { paginationPrevEmits, paginationPrevProps } from './prev'\n\ndefineOptions({\n name: 'ElPaginationPrev',\n})\n\nconst props = defineProps(paginationPrevProps)\ndefineEmits(paginationPrevEmits)\n\nconst { t } = useLocale()\n\nconst internalDisabled = computed(\n () => props.disabled || props.currentPage <= 1,\n)\n</script>\n\n<template>\n <button\n type=\"button\"\n class=\"btn-prev\"\n :disabled=\"internalDisabled\"\n :aria-label=\"prevText || t('el.pagination.prev')\"\n :aria-disabled=\"internalDisabled\"\n @click=\"$emit('click', $event)\"\n >\n <span v-if=\"prevText\">{{ prevText }}</span>\n <ElIcon v-else>\n <component :is=\"prevIcon\" />\n </ElIcon>\n </button>\n</template>\n","<script lang=\"ts\" setup>\nimport { isArr, isEqual } from '@formily/shared'\nimport { ElOption, ElSelect, useLocale, useNamespace } from 'element-plus'\nimport { usePagination } from 'element-plus/es/components/pagination/src/usePagination'\nimport { computed, ref, watch } from 'vue'\nimport { paginationSizesProps } from './sizes'\n\ndefineOptions({\n name: 'ElPaginationSizes',\n})\n\nconst props = defineProps(paginationSizesProps)\nconst emit = defineEmits(['page-size-change'])\nconst { t } = useLocale()\nconst ns = useNamespace('pagination')\nconst pagination = usePagination()\nconst innerPageSize = ref<number>(props.pageSize!)\n\nwatch(\n () => props.pageSizes,\n (newVal, oldVal) => {\n if (isEqual(newVal, oldVal))\n return\n if (isArr(newVal)) {\n const pageSize = newVal.includes(props.pageSize!)\n ? props.pageSize\n : props.pageSizes[0]\n // eslint-disable-next-line vue/custom-event-name-casing\n emit('page-size-change', pageSize)\n }\n },\n)\n\nwatch(\n () => props.pageSize,\n (newVal) => {\n innerPageSize.value = newVal!\n },\n)\n\nconst innerPageSizes = computed(() => props.pageSizes)\nfunction handleChange(val: number) {\n if (val !== innerPageSize.value) {\n innerPageSize.value = val\n pagination.handleSizeChange?.(Number(val))\n }\n}\n</script>\n\n<template>\n <span :class=\"ns.e('sizes')\">\n <ElSelect\n :model-value=\"innerPageSize\"\n :disabled=\"disabled\"\n :popper-class=\"popperClass\"\n :size=\"size\"\n :teleported=\"teleported\"\n :validate-event=\"false\"\n :append-to=\"appendSizeTo\"\n @change=\"handleChange\"\n >\n <ElOption\n v-for=\"item in innerPageSizes\"\n :key=\"item\"\n :value=\"item\"\n :label=\"item + t('el.pagination.pagesize')\"\n />\n </ElSelect>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport { useLocale, useNamespace } from 'element-plus'\nimport { usePagination } from 'element-plus/es/components/pagination/src/usePagination'\nimport { paginationTotalProps } from './total'\n\ndefineOptions({\n name: 'ElPaginationTotal',\n})\ndefineProps(paginationTotalProps)\nconst { t } = useLocale()\nconst ns = useNamespace('pagination')\nconst { disabled } = usePagination()\n</script>\n\n<template>\n <span :class=\"ns.e('total')\" :disabled=\"disabled\">\n {{\n t('el.pagination.total', {\n total,\n })\n }}\n </span>\n</template>\n","import type { ExtractPropTypes, VNode } from 'vue'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n elPaginationKey,\n useDeprecated,\n useGlobalSize,\n useLocale,\n useNamespace,\n useSizeProp,\n} from 'element-plus'\nimport {\n buildProps,\n debugWarn,\n definePropType,\n iconPropType,\n isNumber,\n mutable,\n} from 'element-plus/es/utils/index'\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n provide,\n ref,\n watch,\n} from 'vue'\n\nimport Jumper from './components/jumper.vue'\nimport Next from './components/next.vue'\nimport Pager from './components/pager.vue'\nimport Prev from './components/prev.vue'\nimport Sizes from './components/sizes.vue'\nimport Total from './components/total.vue'\n\n/**\n * It it user's responsibility to guarantee that the value of props.total... is number\n * (same as pageSize, defaultPageSize, currentPage, defaultCurrentPage, pageCount)\n * Otherwise we can reasonable infer that the corresponding field is absent\n */\nconst isAbsent = (v: unknown): v is undefined => typeof v !== 'number'\n\ntype LayoutKey\n = | 'prev'\n | 'pager'\n | 'next'\n | 'jumper'\n | '->'\n | 'total'\n | 'sizes'\n | 'slot'\n\nexport const paginationProps = buildProps({\n /**\n * @description options of item count per page\n */\n pageSize: Number,\n /**\n * @description default initial value of page size, not setting is the same as setting 10\n */\n defaultPageSize: Number,\n /**\n * @description total item count\n */\n total: Number,\n /**\n * @description total page count. Set either `total` or `page-count` and pages will be displayed; if you need `page-sizes`, `total` is required\n */\n pageCount: Number,\n /**\n * @description number of pagers. Pagination collapses when the total page count exceeds this value\n */\n pagerCount: {\n type: Number,\n validator: (value: unknown) => {\n return (\n isNumber(value)\n && Math.trunc(value) === value\n && value > 4\n && value < 22\n && value % 2 === 1\n )\n },\n default: 7,\n },\n /**\n * @description current page number\n */\n currentPage: Number,\n /**\n * @description default initial value of current-page, not setting is the same as setting 1\n */\n defaultCurrentPage: Number,\n /**\n * @description layout of Pagination, elements separated with a comma\n */\n layout: {\n type: String,\n default: (\n ['prev', 'pager', 'next', 'jumper', '->', 'total'] as LayoutKey[]\n ).join(', '),\n },\n /**\n * @description item count of each page\n */\n pageSizes: {\n type: definePropType<number[]>(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n /**\n * @description custom class name for the page size Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description text for the prev button\n */\n prevText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the prev button, higher priority of `prev-text`\n */\n prevIcon: {\n type: iconPropType,\n default: () => ArrowLeft,\n },\n /**\n * @description text for the next button\n */\n nextText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the next button, higher priority of `next-text`\n */\n nextIcon: {\n type: iconPropType,\n default: () => ArrowRight,\n },\n /**\n * @description whether Pagination size is teleported to body\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to use small pagination\n */\n small: Boolean,\n /**\n * @description set page size\n */\n size: useSizeProp,\n /**\n * @description whether the buttons have a background color\n */\n background: Boolean,\n /**\n * @description whether Pagination is disabled\n */\n disabled: Boolean,\n /**\n * @description whether to hide when there's only one page\n */\n hideOnSinglePage: Boolean,\n /**\n * @description which element the size dropdown appends to.\n */\n appendSizeTo: String,\n} as const)\nexport type PaginationProps = ExtractPropTypes<typeof paginationProps>\n\nexport const paginationEmits = {\n 'update:current-page': (val: number) => isNumber(val),\n 'update:page-size': (val: number) => isNumber(val),\n 'size-change': (val: number) => isNumber(val),\n 'change': (currentPage: number, pageSize: number) =>\n isNumber(currentPage) && isNumber(pageSize),\n 'current-change': (val: number) => isNumber(val),\n 'prev-click': (val: number) => isNumber(val),\n 'next-click': (val: number) => isNumber(val),\n}\nexport type PaginationEmits = typeof paginationEmits\n\nconst componentName = 'ElPagination'\nexport default defineComponent({\n name: componentName,\n\n props: paginationProps,\n emits: paginationEmits,\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('pagination')\n const vnodeProps = getCurrentInstance()!.vnode.props || {}\n const _globalSize = useGlobalSize()\n const _size = computed(() =>\n props.small ? 'small' : props.size ?? _globalSize.value,\n )\n useDeprecated(\n {\n from: 'small',\n replacement: 'size',\n version: '3.0.0',\n scope: 'el-pagination',\n ref: 'https://element-plus.org/zh-CN/component/pagination.html',\n },\n computed(() => !!props.small),\n )\n // we can find @xxx=\"xxx\" props on `vnodeProps` to check if user bind corresponding events\n const hasCurrentPageListener\n = 'onUpdate:currentPage' in vnodeProps\n || 'onUpdate:current-page' in vnodeProps\n || 'onCurrentChange' in vnodeProps\n const hasPageSizeListener\n = 'onUpdate:pageSize' in vnodeProps\n || 'onUpdate:page-size' in vnodeProps\n || 'onSizeChange' in vnodeProps\n const assertValidUsage = computed(() => {\n // Users have to set either one, otherwise count of pages cannot be determined\n if (isAbsent(props.total) && isAbsent(props.pageCount))\n return false\n // <el-pagination ...otherProps :current-page=\"xxx\" /> without corresponding listener is forbidden now\n // Users have to use two way binding of `currentPage`\n // If users just want to provide a default value, `defaultCurrentPage` is here for you\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener)\n return false\n // When you want to change sizes, things get more complex, detailed below\n // Basically the most important value we need is page count\n // either directly from props.pageCount\n // or calculated from props.total\n // we will take props.pageCount precedence over props.total\n if (props.layout.includes('sizes')) {\n if (!isAbsent(props.pageCount)) {\n // if props.pageCount is assign by user, then user have to watch pageSize change\n // and recalculate pageCount\n if (!hasPageSizeListener)\n return false\n }\n else if (!isAbsent(props.total)) {\n // Otherwise, we will see if user have props.pageSize defined\n // If so, meaning user want to have pageSize controlled himself/herself from component\n // Thus page size listener is required\n // users are account for page size change\n if (isAbsent(props.pageSize)) {\n // (else block just for explaination)\n // else page size is controlled by el-pagination internally\n }\n else {\n if (!hasPageSizeListener) {\n return false\n }\n }\n }\n }\n return true\n })\n\n const innerPageSize = ref(\n isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize,\n )\n const innerCurrentPage = ref(\n isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage,\n )\n\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize\n },\n set(v: number) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v\n }\n if (hasPageSizeListener) {\n emit('update:page-size', v)\n emit('size-change', v)\n }\n },\n })\n\n const pageCountBridge = computed<number>(() => {\n let pageCount = 0\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount\n }\n else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value))\n }\n return pageCount\n })\n\n const currentPageBridge = computed<number>({\n get() {\n return isAbsent(props.currentPage)\n ? innerCurrentPage.value\n : props.currentPage\n },\n set(v) {\n let newCurrentPage = v\n if (v < 1) {\n newCurrentPage = 1\n }\n else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage\n }\n if (hasCurrentPageListener) {\n emit('update:current-page', newCurrentPage)\n emit('current-change', newCurrentPage)\n }\n },\n })\n\n watch(pageCountBridge, (val) => {\n if (currentPageBridge.value > val)\n currentPageBridge.value = val\n })\n\n watch(\n [currentPageBridge, pageSizeBridge],\n (value) => {\n emit(CHANGE_EVENT, ...value)\n },\n { flush: 'post' },\n )\n\n function handleCurrentChange(val: number) {\n currentPageBridge.value = val\n }\n\n function handleSizeChange(val: number) {\n pageSizeBridge.value = val\n const newPageCount = pageCountBridge.value\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount\n }\n }\n\n function prev() {\n if (props.disabled)\n return\n currentPageBridge.value -= 1\n emit('prev-click', currentPageBridge.value)\n }\n\n function next() {\n if (props.disabled)\n return\n currentPageBridge.value += 1\n emit('next-click', currentPageBridge.value)\n }\n\n // eslint-disable-next-line unicorn/consistent-function-scoping\n function addClass(element: any, cls: string) {\n if (element) {\n if (!element.props) {\n element.props = {}\n }\n element.props.class = [element.props.class, cls].join(' ')\n }\n }\n\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange,\n })\n\n return () => {\n if (!assertValidUsage.value) {\n debugWarn(componentName, t('el.pagination.deprecationWarning'))\n return null\n }\n if (!props.layout)\n return null\n if (props.hideOnSinglePage && pageCountBridge.value <= 1)\n return null\n const rootChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperRoot = h(\n 'div',\n { class: ns.e('rightwrapper') },\n rightWrapperChildren,\n )\n const TEMPLATE_MAP: Record<\n Exclude<LayoutKey, '->'>,\n VNode | VNode[] | null\n > = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n prevIcon: props.prevIcon,\n onClick: prev,\n }),\n jumper: h(Jumper, {\n size: _size.value,\n }),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled,\n pageSize: props.pageSize,\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n nextIcon: props.nextIcon,\n onClick: next,\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n teleported: props.teleported,\n size: _size.value,\n appendSizeTo: props.appendSizeTo,\n }),\n slot: slots?.default?.() ?? null,\n total: h(Total, { total: isAbsent(props.total) ? 0 : props.total }),\n }\n\n const components = props.layout\n .split(',')\n .map((item: string) => item.trim()) as LayoutKey[]\n\n let haveRightWrapper = false\n\n for (const c of components) {\n if (c === '->') {\n haveRightWrapper = true\n continue\n }\n if (haveRightWrapper) {\n rightWrapperChildren.push(TEMPLATE_MAP[c])\n }\n else {\n rootChildren.push(TEMPLATE_MAP[c])\n }\n }\n\n addClass(rootChildren[0], ns.is('first'))\n addClass(rootChildren.at(-1), ns.is('last'))\n\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is('first'))\n addClass(\n rightWrapperChildren.at(-1),\n ns.is('last'),\n )\n rootChildren.push(rightWrapperRoot)\n }\n return h(\n 'div',\n {\n class: [\n ns.b(),\n ns.is('background', props.background),\n ns.m(_size.value),\n ],\n },\n rootChildren,\n )\n }\n },\n})\n"],"names":["elPaginationKey","usePagination","inject","t","useLocale","ns","useNamespace","pageCount","disabled","currentPage","changeEvent","userInput","ref","innerValue","computed","handleInput","val","handleChange","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_createVNode","ElInput","size","props","__props","internalDisabled","nextText","_cache","$event","$emit","_openBlock","_createBlock","ElIcon","_resolveDynamicComponent","nextIcon","emit","__emit","nsPager","nsIcon","showPrevMore","showNextMore","quickPrevHover","quickNextHover","quickPrevFocus","quickNextFocus","pagers","pagerCount","halfPagerCount","array","startPage","i","offset","prevMoreKls","nextMoreKls","tabindex","watchEffect","onMouseEnter","forward","onFocus","onEnter","e","target","newPage","CHANGE_EVENT","onPagerClick","event","pagerCountOffset","useObserver","field","useField","path","errorPageIndexList","formilyComputed","errorPageSet","feedback","acc","cur","pageIndex","a","b","isPrevMoreError","pageIdx","isNextMoreError","ElBadge","_hoisted_1","DArrowLeft","MoreFilled","_Fragment","_renderList","pager","_hoisted_3","DArrowRight","_hoisted_5","prevText","prevIcon","pagination","innerPageSize","watch","newVal","oldVal","isEqual","isArr","pageSize","innerPageSizes","ElSelect","popperClass","teleported","appendSizeTo","item","ElOption","total","isAbsent","v","paginationProps","buildProps","value","isNumber","definePropType","mutable","iconPropType","ArrowLeft","ArrowRight","useSizeProp","paginationEmits","componentName","ElPagination","defineComponent","slots","vnodeProps","getCurrentInstance","_globalSize","useGlobalSize","_size","useDeprecated","hasCurrentPageListener","hasPageSizeListener","assertValidUsage","innerCurrentPage","pageSizeBridge","pageCountBridge","currentPageBridge","newCurrentPage","handleCurrentChange","handleSizeChange","newPageCount","prev","next","addClass","element","cls","provide","debugWarn","rootChildren","rightWrapperChildren","rightWrapperRoot","h","TEMPLATE_MAP","Prev","Jumper","Pager","Next","Sizes","Total","components","haveRightWrapper","c"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"pagination.mjs","sources":["../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.28_typescript@5.9.2_/node_modules/element-plus/es/components/pagination/src/constants.mjs","../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.28_typescript@5.9.2_/node_modules/element-plus/es/components/pagination/src/usePagination.mjs","../../src/pagination/components/jumper.vue","../../src/pagination/components/next.vue","../../src/pagination/components/pager.vue","../../src/pagination/components/prev.vue","../../src/pagination/components/sizes.vue","../../src/pagination/components/total.vue","../../src/pagination/pagination.ts"],"sourcesContent":["const elPaginationKey = /* @__PURE__ */ Symbol(\"elPaginationKey\");\n\nexport { elPaginationKey };\n//# sourceMappingURL=constants.mjs.map\n","import { inject } from 'vue';\nimport { elPaginationKey } from './constants.mjs';\n\nconst usePagination = () => inject(elPaginationKey, {});\n\nexport { usePagination };\n//# sourceMappingURL=usePagination.mjs.map\n","<script lang=\"ts\" setup>\nimport { ElInput, useLocale, useNamespace } from 'element-plus'\nimport { usePagination } from 'element-plus/es/components/pagination/src/usePagination'\nimport { computed, ref } from 'vue'\nimport { paginationJumperProps } from './jumper'\n\ndefineOptions({\n name: 'ElPaginationJumper',\n})\n\ndefineProps(paginationJumperProps)\nconst { t } = useLocale()\nconst ns = useNamespace('pagination')\nconst { pageCount, disabled, currentPage, changeEvent } = usePagination()\nconst userInput = ref<number | string>()\nconst innerValue = computed(() => userInput.value ?? currentPage?.value)\n\nfunction handleInput(val: number | string) {\n userInput.value = val ? +val : ''\n}\n\nfunction handleChange(val: number | string) {\n val = Math.trunc(+val)\n changeEvent?.(val)\n userInput.value = undefined\n}\n</script>\n\n<template>\n <span :class=\"ns.e('jump')\" :disabled=\"disabled\">\n <span :class=\"[ns.e('goto')]\">{{ t('el.pagination.goto') }}</span>\n <ElInput\n :size=\"size\"\n :class=\"[ns.e('editor'), ns.is('in-pagination')]\"\n :min=\"1\"\n :max=\"pageCount\"\n :disabled=\"disabled\"\n :model-value=\"innerValue\"\n :validate-event=\"false\"\n :aria-label=\"t('el.pagination.page')\"\n type=\"number\"\n @update:model-value=\"handleInput\"\n @change=\"handleChange\"\n />\n <span :class=\"[ns.e('classifier')]\">\n {{ t('el.pagination.pageClassifier') }}\n </span>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport { ElIcon, useLocale } from 'element-plus'\nimport { computed } from 'vue'\nimport { paginationNextProps } from './next'\n\ndefineOptions({\n name: 'ElPaginationNext',\n})\n\nconst props = defineProps(paginationNextProps)\n\ndefineEmits(['click'])\n\nconst { t } = useLocale()\n\nconst internalDisabled = computed(\n () =>\n props.disabled\n || props.currentPage === props.pageCount\n || props.pageCount === 0,\n)\n</script>\n\n<template>\n <button\n type=\"button\"\n class=\"btn-next\"\n :disabled=\"internalDisabled\"\n :aria-label=\"nextText || t('el.pagination.next')\"\n :aria-disabled=\"internalDisabled\"\n @click=\"$emit('click', $event)\"\n >\n <span v-if=\"nextText\">{{ nextText }}</span>\n <ElIcon v-else>\n <component :is=\"nextIcon\" />\n </ElIcon>\n </button>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport { DArrowLeft, DArrowRight, MoreFilled } from '@element-plus/icons-vue'\nimport { formilyComputed, useObserver } from '@silver-formily/reactive-vue'\nimport { useField } from '@silver-formily/vue'\nimport { CHANGE_EVENT, ElBadge, useLocale, useNamespace } from 'element-plus'\nimport { computed, ref, watchEffect } from 'vue'\nimport { paginationPagerProps } from './pager'\n\ndefineOptions({\n name: 'ElPaginationPager',\n})\nconst props = defineProps(paginationPagerProps)\nconst emit = defineEmits([CHANGE_EVENT])\nconst nsPager = useNamespace('pager')\nconst nsIcon = useNamespace('icon')\nconst { t } = useLocale()\n\nconst showPrevMore = ref(false)\nconst showNextMore = ref(false)\nconst quickPrevHover = ref(false)\nconst quickNextHover = ref(false)\nconst quickPrevFocus = ref(false)\nconst quickNextFocus = ref(false)\nconst pagers = computed(() => {\n const pagerCount = props.pagerCount\n const halfPagerCount = (pagerCount - 1) / 2\n const currentPage = Number(props.currentPage)\n const pageCount = Number(props.pageCount)\n let showPrevMore = false\n let showNextMore = false\n if (pageCount > pagerCount) {\n if (currentPage > pagerCount - halfPagerCount) {\n showPrevMore = true\n }\n if (currentPage < pageCount - halfPagerCount) {\n showNextMore = true\n }\n }\n const array: number[] = []\n if (showPrevMore && !showNextMore) {\n const startPage = pageCount - (pagerCount - 2)\n for (let i = startPage; i < pageCount; i++) {\n array.push(i)\n }\n }\n else if (!showPrevMore && showNextMore) {\n for (let i = 2; i < pagerCount; i++) {\n array.push(i)\n }\n }\n else if (showPrevMore && showNextMore) {\n const offset = Math.floor(pagerCount / 2) - 1\n for (let i = currentPage - offset; i <= currentPage + offset; i++) {\n array.push(i)\n }\n }\n else {\n for (let i = 2; i < pageCount; i++) {\n array.push(i)\n }\n }\n return array\n})\n\nconst prevMoreKls = computed(() => [\n 'more',\n 'btn-quickprev',\n nsIcon.b(),\n nsPager.is('disabled', props.disabled),\n])\nconst nextMoreKls = computed(() => [\n 'more',\n 'btn-quicknext',\n nsIcon.b(),\n nsPager.is('disabled', props.disabled),\n])\n\nconst tabindex = computed(() => (props.disabled ? -1 : 0))\nwatchEffect(() => {\n const halfPagerCount = (props.pagerCount - 1) / 2\n showPrevMore.value = false\n showNextMore.value = false\n if (props.pageCount! > props.pagerCount) {\n if (props.currentPage > props.pagerCount - halfPagerCount) {\n showPrevMore.value = true\n }\n if (props.currentPage < props.pageCount! - halfPagerCount) {\n showNextMore.value = true\n }\n }\n})\nfunction onMouseEnter(forward = false) {\n if (props.disabled)\n return\n if (forward) {\n quickPrevHover.value = true\n }\n else {\n quickNextHover.value = true\n }\n}\nfunction onFocus(forward = false) {\n if (forward) {\n quickPrevFocus.value = true\n }\n else {\n quickNextFocus.value = true\n }\n}\nfunction onEnter(e: UIEvent) {\n const target = e.target as HTMLElement\n if (\n target.tagName.toLowerCase() === 'li'\n && Array.from(target.classList).includes('number')\n ) {\n const newPage = Number(target.textContent)\n if (newPage !== props.currentPage) {\n emit(CHANGE_EVENT, newPage)\n }\n }\n else if (\n target.tagName.toLowerCase() === 'li'\n && Array.from(target.classList).includes('more')\n ) {\n onPagerClick(e)\n }\n}\nfunction onPagerClick(event: UIEvent) {\n const target = event.target as HTMLElement\n if (target.tagName.toLowerCase() === 'ul' || props.disabled) {\n return\n }\n let newPage = Number(target.textContent)\n const pageCount = props.pageCount!\n const currentPage = props.currentPage\n const pagerCountOffset = props.pagerCount - 2\n if (target.className.includes('more')) {\n if (target.className.includes('quickprev')) {\n newPage = currentPage - pagerCountOffset\n }\n else if (target.className.includes('quicknext')) {\n newPage = currentPage + pagerCountOffset\n }\n }\n if (!Number.isNaN(+newPage)) {\n if (newPage < 1) {\n newPage = 1\n }\n if (newPage > pageCount) {\n newPage = pageCount\n }\n }\n if (newPage !== currentPage) {\n emit(CHANGE_EVENT, newPage)\n }\n}\n/* formily error count */\nuseObserver()\nconst fieldRef = useField<ArrayField>()\nconst field = fieldRef.value\nconst path = field.address.entire\nconst errorPageIndexList = formilyComputed(() => {\n const errorPageSet = field.form\n .queryFeedbacks({\n type: 'error',\n address: `${path}.**`,\n })\n .map(feedback => Number(feedback.path.split(`${path}.`)[1].split('.')[0]))\n .reduce((acc, cur) => {\n const pageIndex = Math.floor(cur / props.pageSize)\n acc.add(pageIndex)\n return acc\n }, new Set<number>())\n\n const errorPageList = Array.from(errorPageSet).sort((a, b) => a - b)\n return errorPageList\n})\n\nconst isPrevMoreError = formilyComputed(() => {\n return errorPageIndexList.value.some(pageIdx => (pageIdx < pagers.value[0] - 1) && pageIdx !== 0)\n})\nconst isNextMoreError = formilyComputed(() => {\n return errorPageIndexList.value.some(pageIdx => (pageIdx > pagers.value.at(-1) - 1) && pageIdx !== errorPageIndexList.value.length - 1)\n})\n</script>\n\n<template>\n <ul :class=\"nsPager.b()\" @click=\"onPagerClick\" @keyup.enter=\"onEnter\">\n <ElBadge v-if=\"pageCount > 1\" is-dot :value=\"1\" :hidden=\"errorPageIndexList[0] !== 0\">\n <li\n :class=\"[\n nsPager.is('active', currentPage === 1),\n nsPager.is('disabled', disabled),\n ]\" class=\"number\" :aria-current=\"currentPage === 1\" :aria-label=\"t('el.pagination.currentPage', { pager: 1 })\"\n :tabindex=\"tabindex\"\n >\n 1\n </li>\n </ElBadge>\n <ElBadge v-if=\"showPrevMore\" is-dot :value=\"1\" :hidden=\"!isPrevMoreError\">\n <li\n :class=\"prevMoreKls\" :tabindex=\"tabindex\"\n :aria-label=\"t('el.pagination.prevPages', { pager: pagerCount - 2 })\" @mouseenter=\"onMouseEnter(true)\"\n @mouseleave=\"quickPrevHover = false\" @focus=\"onFocus(true)\" @blur=\"quickPrevFocus = false\"\n >\n <DArrowLeft v-if=\"(quickPrevHover || quickPrevFocus) && !disabled\" />\n <MoreFilled v-else />\n </li>\n </ElBadge>\n <ElBadge\n v-for=\"pager in pagers\" :key=\"pager\" is-dot :value=\"1\"\n :hidden=\"!errorPageIndexList.includes(pager - 1)\"\n >\n <li\n :class=\"[\n nsPager.is('active', currentPage === pager),\n nsPager.is('disabled', disabled),\n ]\" class=\"number\" :aria-current=\"currentPage === pager\" :aria-label=\"t('el.pagination.currentPage', { pager })\"\n :tabindex=\"tabindex\"\n >\n {{ pager }}\n </li>\n </ElBadge>\n <ElBadge v-if=\"showNextMore\" is-dot :value=\"1\" :hidden=\"!isNextMoreError\">\n <li\n :class=\"nextMoreKls\" :tabindex=\"tabindex\"\n :aria-label=\"t('el.pagination.nextPages', { pager: pagerCount - 2 })\" @mouseenter=\"onMouseEnter()\"\n @mouseleave=\"quickNextHover = false\" @focus=\"onFocus()\" @blur=\"quickNextFocus = false\"\n >\n <DArrowRight v-if=\"(quickNextHover || quickNextFocus) && !disabled\" />\n <MoreFilled v-else />\n </li>\n </ElBadge>\n <ElBadge\n is-dot\n :value=\"1\"\n :hidden=\"errorPageIndexList[errorPageIndexList.length - 1] !== pageCount - 1\"\n >\n <li\n :class=\"[\n nsPager.is('active', currentPage === pageCount),\n nsPager.is('disabled', disabled),\n ]\" class=\"number\" :aria-current=\"currentPage === pageCount\"\n :aria-label=\"t('el.pagination.currentPage', { pager: pageCount })\" :tabindex=\"tabindex\"\n >\n {{ pageCount }}\n </li>\n </ElBadge>\n </ul>\n</template>\n","<script lang=\"ts\" setup>\nimport { ElIcon, useLocale } from 'element-plus'\nimport { computed } from 'vue'\nimport { paginationPrevEmits, paginationPrevProps } from './prev'\n\ndefineOptions({\n name: 'ElPaginationPrev',\n})\n\nconst props = defineProps(paginationPrevProps)\ndefineEmits(paginationPrevEmits)\n\nconst { t } = useLocale()\n\nconst internalDisabled = computed(\n () => props.disabled || props.currentPage <= 1,\n)\n</script>\n\n<template>\n <button\n type=\"button\"\n class=\"btn-prev\"\n :disabled=\"internalDisabled\"\n :aria-label=\"prevText || t('el.pagination.prev')\"\n :aria-disabled=\"internalDisabled\"\n @click=\"$emit('click', $event)\"\n >\n <span v-if=\"prevText\">{{ prevText }}</span>\n <ElIcon v-else>\n <component :is=\"prevIcon\" />\n </ElIcon>\n </button>\n</template>\n","<script lang=\"ts\" setup>\nimport { isArr, isEqual } from '@formily/shared'\nimport { ElOption, ElSelect, useLocale, useNamespace } from 'element-plus'\nimport { usePagination } from 'element-plus/es/components/pagination/src/usePagination'\nimport { computed, ref, watch } from 'vue'\nimport { paginationSizesProps } from './sizes'\n\ndefineOptions({\n name: 'ElPaginationSizes',\n})\n\nconst props = defineProps(paginationSizesProps)\nconst emit = defineEmits(['page-size-change'])\nconst { t } = useLocale()\nconst ns = useNamespace('pagination')\nconst pagination = usePagination()\nconst innerPageSize = ref<number>(props.pageSize!)\n\nwatch(\n () => props.pageSizes,\n (newVal, oldVal) => {\n if (isEqual(newVal, oldVal))\n return\n if (isArr(newVal)) {\n const pageSize = newVal.includes(props.pageSize!)\n ? props.pageSize\n : props.pageSizes[0]\n // eslint-disable-next-line vue/custom-event-name-casing\n emit('page-size-change', pageSize)\n }\n },\n)\n\nwatch(\n () => props.pageSize,\n (newVal) => {\n innerPageSize.value = newVal!\n },\n)\n\nconst innerPageSizes = computed(() => props.pageSizes)\nfunction handleChange(val: number) {\n if (val !== innerPageSize.value) {\n innerPageSize.value = val\n pagination.handleSizeChange?.(Number(val))\n }\n}\n</script>\n\n<template>\n <span :class=\"ns.e('sizes')\">\n <ElSelect\n :model-value=\"innerPageSize\"\n :disabled=\"disabled\"\n :popper-class=\"popperClass\"\n :size=\"size\"\n :teleported=\"teleported\"\n :validate-event=\"false\"\n :append-to=\"appendSizeTo\"\n @change=\"handleChange\"\n >\n <ElOption\n v-for=\"item in innerPageSizes\"\n :key=\"item\"\n :value=\"item\"\n :label=\"item + t('el.pagination.pagesize')\"\n />\n </ElSelect>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport { useLocale, useNamespace } from 'element-plus'\nimport { usePagination } from 'element-plus/es/components/pagination/src/usePagination'\nimport { paginationTotalProps } from './total'\n\ndefineOptions({\n name: 'ElPaginationTotal',\n})\ndefineProps(paginationTotalProps)\nconst { t } = useLocale()\nconst ns = useNamespace('pagination')\nconst { disabled } = usePagination()\n</script>\n\n<template>\n <span :class=\"ns.e('total')\" :disabled=\"disabled\">\n {{\n t('el.pagination.total', {\n total,\n })\n }}\n </span>\n</template>\n","import type { ExtractPropTypes, VNode } from 'vue'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n elPaginationKey,\n useDeprecated,\n useGlobalSize,\n useLocale,\n useNamespace,\n useSizeProp,\n} from 'element-plus'\nimport {\n buildProps,\n debugWarn,\n definePropType,\n iconPropType,\n isNumber,\n mutable,\n} from 'element-plus/es/utils/index'\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n provide,\n ref,\n watch,\n} from 'vue'\n\nimport Jumper from './components/jumper.vue'\nimport Next from './components/next.vue'\nimport Pager from './components/pager.vue'\nimport Prev from './components/prev.vue'\nimport Sizes from './components/sizes.vue'\nimport Total from './components/total.vue'\n\n/**\n * It it user's responsibility to guarantee that the value of props.total... is number\n * (same as pageSize, defaultPageSize, currentPage, defaultCurrentPage, pageCount)\n * Otherwise we can reasonable infer that the corresponding field is absent\n */\nconst isAbsent = (v: unknown): v is undefined => typeof v !== 'number'\n\ntype LayoutKey\n = | 'prev'\n | 'pager'\n | 'next'\n | 'jumper'\n | '->'\n | 'total'\n | 'sizes'\n | 'slot'\n\nexport const paginationProps = buildProps({\n /**\n * @description options of item count per page\n */\n pageSize: Number,\n /**\n * @description default initial value of page size, not setting is the same as setting 10\n */\n defaultPageSize: Number,\n /**\n * @description total item count\n */\n total: Number,\n /**\n * @description total page count. Set either `total` or `page-count` and pages will be displayed; if you need `page-sizes`, `total` is required\n */\n pageCount: Number,\n /**\n * @description number of pagers. Pagination collapses when the total page count exceeds this value\n */\n pagerCount: {\n type: Number,\n validator: (value: unknown) => {\n return (\n isNumber(value)\n && Math.trunc(value) === value\n && value > 4\n && value < 22\n && value % 2 === 1\n )\n },\n default: 7,\n },\n /**\n * @description current page number\n */\n currentPage: Number,\n /**\n * @description default initial value of current-page, not setting is the same as setting 1\n */\n defaultCurrentPage: Number,\n /**\n * @description layout of Pagination, elements separated with a comma\n */\n layout: {\n type: String,\n default: (\n ['prev', 'pager', 'next', 'jumper', '->', 'total'] as LayoutKey[]\n ).join(', '),\n },\n /**\n * @description item count of each page\n */\n pageSizes: {\n type: definePropType<number[]>(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n /**\n * @description custom class name for the page size Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description text for the prev button\n */\n prevText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the prev button, higher priority of `prev-text`\n */\n prevIcon: {\n type: iconPropType,\n default: () => ArrowLeft,\n },\n /**\n * @description text for the next button\n */\n nextText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the next button, higher priority of `next-text`\n */\n nextIcon: {\n type: iconPropType,\n default: () => ArrowRight,\n },\n /**\n * @description whether Pagination size is teleported to body\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to use small pagination\n */\n small: Boolean,\n /**\n * @description set page size\n */\n size: useSizeProp,\n /**\n * @description whether the buttons have a background color\n */\n background: Boolean,\n /**\n * @description whether Pagination is disabled\n */\n disabled: Boolean,\n /**\n * @description whether to hide when there's only one page\n */\n hideOnSinglePage: Boolean,\n /**\n * @description which element the size dropdown appends to.\n */\n appendSizeTo: String,\n} as const)\nexport type PaginationProps = ExtractPropTypes<typeof paginationProps>\n\nexport const paginationEmits = {\n 'update:current-page': (val: number) => isNumber(val),\n 'update:page-size': (val: number) => isNumber(val),\n 'size-change': (val: number) => isNumber(val),\n 'change': (currentPage: number, pageSize: number) =>\n isNumber(currentPage) && isNumber(pageSize),\n 'current-change': (val: number) => isNumber(val),\n 'prev-click': (val: number) => isNumber(val),\n 'next-click': (val: number) => isNumber(val),\n}\nexport type PaginationEmits = typeof paginationEmits\n\nconst componentName = 'ElPagination'\nexport default defineComponent({\n name: componentName,\n\n props: paginationProps,\n emits: paginationEmits,\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('pagination')\n const vnodeProps = getCurrentInstance()!.vnode.props || {}\n const _globalSize = useGlobalSize()\n const _size = computed(() =>\n props.small ? 'small' : props.size ?? _globalSize.value,\n )\n useDeprecated(\n {\n from: 'small',\n replacement: 'size',\n version: '3.0.0',\n scope: 'el-pagination',\n ref: 'https://element-plus.org/zh-CN/component/pagination.html',\n },\n computed(() => !!props.small),\n )\n // we can find @xxx=\"xxx\" props on `vnodeProps` to check if user bind corresponding events\n const hasCurrentPageListener\n = 'onUpdate:currentPage' in vnodeProps\n || 'onUpdate:current-page' in vnodeProps\n || 'onCurrentChange' in vnodeProps\n const hasPageSizeListener\n = 'onUpdate:pageSize' in vnodeProps\n || 'onUpdate:page-size' in vnodeProps\n || 'onSizeChange' in vnodeProps\n const assertValidUsage = computed(() => {\n // Users have to set either one, otherwise count of pages cannot be determined\n if (isAbsent(props.total) && isAbsent(props.pageCount))\n return false\n // <el-pagination ...otherProps :current-page=\"xxx\" /> without corresponding listener is forbidden now\n // Users have to use two way binding of `currentPage`\n // If users just want to provide a default value, `defaultCurrentPage` is here for you\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener)\n return false\n // When you want to change sizes, things get more complex, detailed below\n // Basically the most important value we need is page count\n // either directly from props.pageCount\n // or calculated from props.total\n // we will take props.pageCount precedence over props.total\n if (props.layout.includes('sizes')) {\n if (!isAbsent(props.pageCount)) {\n // if props.pageCount is assign by user, then user have to watch pageSize change\n // and recalculate pageCount\n if (!hasPageSizeListener)\n return false\n }\n else if (!isAbsent(props.total)) {\n // Otherwise, we will see if user have props.pageSize defined\n // If so, meaning user want to have pageSize controlled himself/herself from component\n // Thus page size listener is required\n // users are account for page size change\n if (isAbsent(props.pageSize)) {\n // (else block just for explaination)\n // else page size is controlled by el-pagination internally\n }\n else {\n if (!hasPageSizeListener) {\n return false\n }\n }\n }\n }\n return true\n })\n\n const innerPageSize = ref(\n isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize,\n )\n const innerCurrentPage = ref(\n isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage,\n )\n\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize\n },\n set(v: number) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v\n }\n if (hasPageSizeListener) {\n emit('update:page-size', v)\n emit('size-change', v)\n }\n },\n })\n\n const pageCountBridge = computed<number>(() => {\n let pageCount = 0\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount\n }\n else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value))\n }\n return pageCount\n })\n\n const currentPageBridge = computed<number>({\n get() {\n return isAbsent(props.currentPage)\n ? innerCurrentPage.value\n : props.currentPage\n },\n set(v) {\n let newCurrentPage = v\n if (v < 1) {\n newCurrentPage = 1\n }\n else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage\n }\n if (hasCurrentPageListener) {\n emit('update:current-page', newCurrentPage)\n emit('current-change', newCurrentPage)\n }\n },\n })\n\n watch(pageCountBridge, (val) => {\n if (currentPageBridge.value > val)\n currentPageBridge.value = val\n })\n\n watch(\n [currentPageBridge, pageSizeBridge],\n (value) => {\n emit(CHANGE_EVENT, ...value)\n },\n { flush: 'post' },\n )\n\n function handleCurrentChange(val: number) {\n currentPageBridge.value = val\n }\n\n function handleSizeChange(val: number) {\n pageSizeBridge.value = val\n const newPageCount = pageCountBridge.value\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount\n }\n }\n\n function prev() {\n if (props.disabled)\n return\n currentPageBridge.value -= 1\n emit('prev-click', currentPageBridge.value)\n }\n\n function next() {\n if (props.disabled)\n return\n currentPageBridge.value += 1\n emit('next-click', currentPageBridge.value)\n }\n\n function addClass(element: any, cls: string) {\n if (element) {\n if (!element.props) {\n element.props = {}\n }\n element.props.class = [element.props.class, cls].join(' ')\n }\n }\n\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange,\n })\n\n return () => {\n if (!assertValidUsage.value) {\n debugWarn(componentName, t('el.pagination.deprecationWarning'))\n return null\n }\n if (!props.layout)\n return null\n if (props.hideOnSinglePage && pageCountBridge.value <= 1)\n return null\n const rootChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperRoot = h(\n 'div',\n { class: ns.e('rightwrapper') },\n rightWrapperChildren,\n )\n const TEMPLATE_MAP: Record<\n Exclude<LayoutKey, '->'>,\n VNode | VNode[] | null\n > = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n prevIcon: props.prevIcon,\n onClick: prev,\n }),\n jumper: h(Jumper, {\n size: _size.value,\n }),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled,\n pageSize: props.pageSize,\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n nextIcon: props.nextIcon,\n onClick: next,\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n teleported: props.teleported,\n size: _size.value,\n appendSizeTo: props.appendSizeTo,\n }),\n slot: slots?.default?.() ?? null,\n total: h(Total, { total: isAbsent(props.total) ? 0 : props.total }),\n }\n\n const components = props.layout\n .split(',')\n .map((item: string) => item.trim()) as LayoutKey[]\n\n let haveRightWrapper = false\n\n for (const c of components) {\n if (c === '->') {\n haveRightWrapper = true\n continue\n }\n if (haveRightWrapper) {\n rightWrapperChildren.push(TEMPLATE_MAP[c])\n }\n else {\n rootChildren.push(TEMPLATE_MAP[c])\n }\n }\n\n addClass(rootChildren[0], ns.is('first'))\n addClass(rootChildren.at(-1), ns.is('last'))\n\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is('first'))\n addClass(\n rightWrapperChildren.at(-1),\n ns.is('last'),\n )\n rootChildren.push(rightWrapperRoot)\n }\n return h(\n 'div',\n {\n class: [\n ns.b(),\n ns.is('background', props.background),\n ns.m(_size.value),\n ],\n },\n rootChildren,\n )\n }\n },\n})\n"],"names":["elPaginationKey","usePagination","inject","t","useLocale","ns","useNamespace","pageCount","disabled","currentPage","changeEvent","userInput","ref","innerValue","computed","handleInput","val","handleChange","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_createVNode","ElInput","size","props","__props","internalDisabled","nextText","_cache","$event","$emit","_openBlock","_createBlock","ElIcon","_resolveDynamicComponent","nextIcon","emit","__emit","nsPager","nsIcon","showPrevMore","showNextMore","quickPrevHover","quickNextHover","quickPrevFocus","quickNextFocus","pagers","pagerCount","halfPagerCount","array","startPage","i","offset","prevMoreKls","nextMoreKls","tabindex","watchEffect","onMouseEnter","forward","onFocus","onEnter","e","target","newPage","CHANGE_EVENT","onPagerClick","event","pagerCountOffset","useObserver","field","useField","path","errorPageIndexList","formilyComputed","errorPageSet","feedback","acc","cur","pageIndex","a","b","isPrevMoreError","pageIdx","isNextMoreError","ElBadge","_hoisted_1","DArrowLeft","MoreFilled","_Fragment","_renderList","pager","_hoisted_3","DArrowRight","_hoisted_5","prevText","prevIcon","pagination","innerPageSize","watch","newVal","oldVal","isEqual","isArr","pageSize","innerPageSizes","ElSelect","popperClass","teleported","appendSizeTo","item","ElOption","total","isAbsent","v","paginationProps","buildProps","value","isNumber","definePropType","mutable","iconPropType","ArrowLeft","ArrowRight","useSizeProp","paginationEmits","componentName","ElPagination","defineComponent","slots","vnodeProps","getCurrentInstance","_globalSize","useGlobalSize","_size","useDeprecated","hasCurrentPageListener","hasPageSizeListener","assertValidUsage","innerCurrentPage","pageSizeBridge","pageCountBridge","currentPageBridge","newCurrentPage","handleCurrentChange","handleSizeChange","newPageCount","prev","next","addClass","element","cls","provide","debugWarn","rootChildren","rightWrapperChildren","rightWrapperRoot","h","TEMPLATE_MAP","Prev","Jumper","Pager","Next","Sizes","Total","components","haveRightWrapper","c"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAMA,KAAkC,uBAAO,iBAAiB,GCG1DC,KAAgB,MAAMC,GAAOF,IAAiB,EAAE;;;;;ACQtD,UAAM,EAAE,GAAAG,EAAA,IAAMC,EAAA,GACRC,IAAKC,EAAa,YAAY,GAC9B,EAAE,WAAAC,GAAW,UAAAC,GAAU,aAAAC,GAAa,aAAAC,EAAA,IAAgBT,GAAA,GACpDU,IAAYC,EAAA,GACZC,IAAaC,EAAS,MAAMH,EAAU,SAASF,GAAa,KAAK;AAEvE,aAASM,EAAYC,GAAsB;AACzC,MAAAL,EAAU,QAAQK,IAAM,CAACA,IAAM;AAAA,IACjC;AAEA,aAASC,EAAaD,GAAsB;AAC1C,MAAAA,IAAM,KAAK,MAAM,CAACA,CAAG,GACrBN,IAAcM,CAAG,GACjBL,EAAU,QAAQ;AAAA,IACpB;2BAIEO,EAkBO,QAAA;AAAA,MAlBA,OAAKC,EAAEC,EAAAf,CAAA,EAAG,EAAC,MAAA,CAAA;AAAA,MAAW,UAAUe,EAAAZ,CAAA;AAAA,IAAA;MACrCa,EAAkE,QAAA;AAAA,QAA3D,OAAKF,EAAA,CAAGC,EAAAf,CAAA,EAAG,EAAC,MAAA,CAAA,CAAA;AAAA,MAAA,KAAce,EAAAjB,CAAA,EAAC,oBAAA,CAAA,GAAA,CAAA;AAAA,MAClCmB,GAYEF,EAAAG,EAAA,GAAA;AAAA,QAXC,MAAMC,EAAAA;AAAAA,QACN,UAAQJ,EAAAf,CAAA,EAAG,EAAC,QAAA,GAAYe,EAAAf,CAAA,EAAG,GAAE,eAAA,CAAA,CAAA;AAAA,QAC7B,KAAK;AAAA,QACL,KAAKe,EAAAb,CAAA;AAAA,QACL,UAAUa,EAAAZ,CAAA;AAAA,QACV,eAAaK,EAAA;AAAA,QACb,kBAAgB;AAAA,QAChB,cAAYO,EAAAjB,CAAA,EAAC,oBAAA;AAAA,QACd,MAAK;AAAA,QACJ,uBAAoBY;AAAA,QACpB,UAAQE;AAAA,MAAA;MAEXI,EAEO,QAAA;AAAA,QAFA,OAAKF,EAAA,CAAGC,EAAAf,CAAA,EAAG,EAAC,YAAA,CAAA,CAAA;AAAA,MAAA,KACde,EAAAjB,CAAA,EAAC,8BAAA,CAAA,GAAA,CAAA;AAAA,IAAA;;;;;;;;ACpCV,UAAMsB,IAAQC,GAIR,EAAE,GAAAvB,EAAA,IAAMC,EAAA,GAERuB,IAAmBb;AAAA,MACvB,MACEW,EAAM,YACHA,EAAM,gBAAgBA,EAAM,aAC5BA,EAAM,cAAc;AAAA,IAAA;2BAKzBP,EAYS,UAAA;AAAA,MAXP,MAAK;AAAA,MACL,OAAM;AAAA,MACL,UAAUS,EAAA;AAAA,MACV,cAAYC,EAAAA,YAAYR,EAAAjB,CAAA,EAAC,oBAAA;AAAA,MACzB,iBAAewB,EAAA;AAAA,MACf,SAAKE,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEC,EAAAA,MAAK,SAAUD,CAAM;AAAA,IAAA;MAEjBF,EAAAA,YAAZI,KAAAd,EAA2C,cAAlBU,EAAAA,QAAQ,GAAA,CAAA,WACjCK,EAESb,EAAAc,EAAA,GAAA,EAAA,KAAA,KAAA;AAAA,mBADP,MAA4B;AAAA,WAA5BF,KAAAC,EAA4BE,GAAZC,EAAAA,QAAQ,CAAA;AAAA,QAAA;;;;;;;;;;;ACtB9B,UAAMX,IAAQC,GACRW,IAAOC,GACPC,IAAUjC,EAAa,OAAO,GAC9BkC,IAASlC,EAAa,MAAM,GAC5B,EAAE,GAAAH,EAAA,IAAMC,EAAA,GAERqC,IAAe7B,EAAI,EAAK,GACxB8B,IAAe9B,EAAI,EAAK,GACxB+B,IAAiB/B,EAAI,EAAK,GAC1BgC,IAAiBhC,EAAI,EAAK,GAC1BiC,IAAiBjC,EAAI,EAAK,GAC1BkC,IAAiBlC,EAAI,EAAK,GAC1BmC,IAASjC,EAAS,MAAM;AAC5B,YAAMkC,IAAavB,EAAM,YACnBwB,KAAkBD,IAAa,KAAK,GACpCvC,IAAc,OAAOgB,EAAM,WAAW,GACtClB,IAAY,OAAOkB,EAAM,SAAS;AACxC,UAAIgB,IAAe,IACfC,IAAe;AACnB,MAAInC,IAAYyC,MACVvC,IAAcuC,IAAaC,MAC7BR,IAAe,KAEbhC,IAAcF,IAAY0C,MAC5BP,IAAe;AAGnB,YAAMQ,IAAkB,CAAA;AACxB,UAAIT,KAAgB,CAACC,GAAc;AACjC,cAAMS,IAAY5C,KAAayC,IAAa;AAC5C,iBAASI,IAAID,GAAWC,IAAI7C,GAAW6C;AACrC,UAAAF,EAAM,KAAKE,CAAC;AAAA,MAEhB,WACS,CAACX,KAAgBC;AACxB,iBAASU,IAAI,GAAGA,IAAIJ,GAAYI;AAC9B,UAAAF,EAAM,KAAKE,CAAC;AAAA,eAGPX,KAAgBC,GAAc;AACrC,cAAMW,IAAS,KAAK,MAAML,IAAa,CAAC,IAAI;AAC5C,iBAASI,IAAI3C,IAAc4C,GAAQD,KAAK3C,IAAc4C,GAAQD;AAC5D,UAAAF,EAAM,KAAKE,CAAC;AAAA,MAEhB;AAEE,iBAASA,IAAI,GAAGA,IAAI7C,GAAW6C;AAC7B,UAAAF,EAAM,KAAKE,CAAC;AAGhB,aAAOF;AAAA,IACT,CAAC,GAEKI,IAAcxC,EAAS,MAAM;AAAA,MACjC;AAAA,MACA;AAAA,MACA0B,EAAO,EAAA;AAAA,MACPD,EAAQ,GAAG,YAAYd,EAAM,QAAQ;AAAA,IAAA,CACtC,GACK8B,IAAczC,EAAS,MAAM;AAAA,MACjC;AAAA,MACA;AAAA,MACA0B,EAAO,EAAA;AAAA,MACPD,EAAQ,GAAG,YAAYd,EAAM,QAAQ;AAAA,IAAA,CACtC,GAEK+B,IAAW1C,EAAS,MAAOW,EAAM,WAAW,KAAK,CAAE;AACzD,IAAAgC,GAAY,MAAM;AAChB,YAAMR,KAAkBxB,EAAM,aAAa,KAAK;AAChD,MAAAgB,EAAa,QAAQ,IACrBC,EAAa,QAAQ,IACjBjB,EAAM,YAAaA,EAAM,eACvBA,EAAM,cAAcA,EAAM,aAAawB,MACzCR,EAAa,QAAQ,KAEnBhB,EAAM,cAAcA,EAAM,YAAawB,MACzCP,EAAa,QAAQ;AAAA,IAG3B,CAAC;AACD,aAASgB,EAAaC,IAAU,IAAO;AACrC,MAAIlC,EAAM,aAENkC,IACFhB,EAAe,QAAQ,KAGvBC,EAAe,QAAQ;AAAA,IAE3B;AACA,aAASgB,EAAQD,IAAU,IAAO;AAChC,MAAIA,IACFd,EAAe,QAAQ,KAGvBC,EAAe,QAAQ;AAAA,IAE3B;AACA,aAASe,EAAQC,GAAY;AAC3B,YAAMC,IAASD,EAAE;AACjB,UACEC,EAAO,QAAQ,YAAA,MAAkB,QAC9B,MAAM,KAAKA,EAAO,SAAS,EAAE,SAAS,QAAQ,GACjD;AACA,cAAMC,IAAU,OAAOD,EAAO,WAAW;AACzC,QAAIC,MAAYvC,EAAM,eACpBY,EAAK4B,GAAcD,CAAO;AAAA,MAE9B,MAAA,CAEED,EAAO,QAAQ,YAAA,MAAkB,QAC9B,MAAM,KAAKA,EAAO,SAAS,EAAE,SAAS,MAAM,KAE/CG,EAAaJ,CAAC;AAAA,IAElB;AACA,aAASI,EAAaC,GAAgB;AACpC,YAAMJ,IAASI,EAAM;AACrB,UAAIJ,EAAO,QAAQ,YAAA,MAAkB,QAAQtC,EAAM;AACjD;AAEF,UAAIuC,IAAU,OAAOD,EAAO,WAAW;AACvC,YAAMxD,IAAYkB,EAAM,WAClBhB,IAAcgB,EAAM,aACpB2C,IAAmB3C,EAAM,aAAa;AAC5C,MAAIsC,EAAO,UAAU,SAAS,MAAM,MAC9BA,EAAO,UAAU,SAAS,WAAW,IACvCC,IAAUvD,IAAc2D,IAEjBL,EAAO,UAAU,SAAS,WAAW,MAC5CC,IAAUvD,IAAc2D,KAGvB,OAAO,MAAM,CAACJ,CAAO,MACpBA,IAAU,MACZA,IAAU,IAERA,IAAUzD,MACZyD,IAAUzD,KAGVyD,MAAYvD,KACd4B,EAAK4B,GAAcD,CAAO;AAAA,IAE9B;AAEA,IAAAK,GAAA;AAEA,UAAMC,IADWC,GAAA,EACM,OACjBC,IAAOF,EAAM,QAAQ,QACrBG,IAAqBC,GAAgB,MAAM;AAC/C,YAAMC,IAAeL,EAAM,KACxB,eAAe;AAAA,QACd,MAAM;AAAA,QACN,SAAS,GAAGE,CAAI;AAAA,MAAA,CACjB,EACA,IAAI,CAAAI,MAAY,OAAOA,EAAS,KAAK,MAAM,GAAGJ,CAAI,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,EACxE,OAAO,CAACK,GAAKC,MAAQ;AACpB,cAAMC,IAAY,KAAK,MAAMD,IAAMrD,EAAM,QAAQ;AACjD,eAAAoD,EAAI,IAAIE,CAAS,GACVF;AAAA,MACT,GAAG,oBAAI,KAAa;AAGtB,aADsB,MAAM,KAAKF,CAAY,EAAE,KAAK,CAACK,GAAGC,MAAMD,IAAIC,CAAC;AAAA,IAErE,CAAC,GAEKC,KAAkBR,GAAgB,MAC/BD,EAAmB,MAAM,KAAK,CAAAU,MAAYA,IAAUpC,EAAO,MAAM,CAAC,IAAI,KAAMoC,MAAY,CAAC,CACjG,GACKC,IAAkBV,GAAgB,MAC/BD,EAAmB,MAAM,KAAK,CAAAU,MAAYA,IAAUpC,EAAO,MAAM,GAAG,EAAE,IAAI,KAAMoC,MAAYV,EAAmB,MAAM,SAAS,CAAC,CACvI;2BAICvD,EA6DK,MAAA;AAAA,MA7DA,OAAKC,EAAEC,EAAAmB,CAAA,EAAQ,GAAC;AAAA,MAAK,SAAO2B;AAAA,MAAe,YAAaL,GAAO,CAAA,OAAA,CAAA;AAAA,IAAA;MACnDtD,EAAAA,YAAS,UAAxB0B,EAUUb,EAAAiE,CAAA,GAAA;AAAA;QAVoB,UAAA;AAAA,QAAQ,OAAO;AAAA,QAAI,QAAQjE,EAAAqD,CAAA,EAAkB,CAAA,MAAA;AAAA,MAAA;mBACzE,MAQK;AAAA,UARLpD,EAQK,MAAA;AAAA,YAPF,OAAKF,EAAA,CAAA;AAAA,cAAcC,EAAAmB,CAAA,EAAQ,GAAE,UAAW9B,EAAAA,gBAAW,CAAA;AAAA,cAAmBW,EAAAmB,CAAA,EAAQ,GAAE,YAAa/B,EAAAA,QAAQ;AAAA,YAAA,GAG7F,QAAQ,CAAA;AAAA,YAAE,gBAAcC,EAAAA,gBAAW;AAAA,YAAS,cAAYW,EAAAjB,CAAA,EAAC,6BAAA,EAAA,OAAA,GAAA;AAAA,YACjE,UAAUqD,EAAA;AAAA,UAAA,GACZ,OAED,IAAA8B,EAAA;AAAA,QAAA;;;MAEa7C,EAAA,cAAfR,EASUb,EAAAiE,CAAA,GAAA;AAAA;QATmB,UAAA;AAAA,QAAQ,OAAO;AAAA,QAAI,SAASjE,EAAA8D,EAAA;AAAA,MAAA;mBACvD,MAOK;AAAA,UAPL7D,EAOK,MAAA;AAAA,YANF,SAAOiC,EAAA,KAAW;AAAA,YAAG,UAAUE,EAAA;AAAA,YAC/B,cAAYpC,EAAAjB,CAAA,EAAC,2BAAA,EAAA,OAAqC6C,EAAAA,aAAU,GAAA;AAAA,YAAU,qCAAYU,EAAY,EAAA;AAAA,YAC9F,qCAAYf,EAAA,QAAc;AAAA,YAAW,gCAAOiB,EAAO,EAAA;AAAA,YAAS,+BAAMf,EAAA,QAAc;AAAA,UAAA;aAE9DF,EAAA,SAAkBE,EAAA,UAAc,CAAMrC,EAAAA,iBAAzDyB,EAAqEb,EAAAmE,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,WACrEtD,EAAqBb,EAAAoE,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;AAAA,UAAA;;;;cAGzBtE,EAaUuE,IAAA,MAAAC,GAZQ3C,EAAA,OAAM,CAAf4C,YADT1D,EAaUb,EAAAiE,CAAA,GAAA;AAAA,QAZiB,KAAKM;AAAA,QAAO,UAAA;AAAA,QAAQ,OAAO;AAAA,QACnD,QAAM,CAAGvE,EAAAqD,CAAA,EAAmB,SAASkB,IAAK,CAAA;AAAA,MAAA;mBAE3C,MAQK;AAAA,UARLtE,EAQK,MAAA;AAAA,YAPF,OAAKF,EAAA,CAAA;AAAA,cAAcC,EAAAmB,CAAA,EAAQ,GAAE,UAAW9B,EAAAA,gBAAgBkF,CAAK;AAAA,cAAavE,EAAAmB,CAAA,EAAQ,GAAE,YAAa/B,EAAAA,QAAQ;AAAA,YAAA,GAGjG,QAAQ,CAAA;AAAA,YAAE,gBAAcC,EAAAA,gBAAgBkF;AAAA,YAAQ,cAAYvE,EAAAjB,CAAA,EAAC,6BAAA,EAAgC,OAAAwF,GAAK;AAAA,YAC1G,UAAUnC,EAAA;AAAA,UAAA,KAERmC,CAAK,GAAA,IAAAC,EAAA;AAAA,QAAA;;;MAGGlD,EAAA,cAAfT,EASUb,EAAAiE,CAAA,GAAA;AAAA;QATmB,UAAA;AAAA,QAAQ,OAAO;AAAA,QAAI,SAASjE,EAAAgE,CAAA;AAAA,MAAA;mBACvD,MAOK;AAAA,UAPL/D,EAOK,MAAA;AAAA,YANF,SAAOkC,EAAA,KAAW;AAAA,YAAG,UAAUC,EAAA;AAAA,YAC/B,cAAYpC,EAAAjB,CAAA,EAAC,2BAAA,EAAA,OAAqC6C,EAAAA,aAAU,GAAA;AAAA,YAAU,qCAAYU;YAClF,qCAAYd,EAAA,QAAc;AAAA,YAAW,gCAAOgB;YAAY,+BAAMd,EAAA,QAAc;AAAA,UAAA;aAEzDF,EAAA,SAAkBE,EAAA,UAAc,CAAMtC,EAAAA,iBAA1DyB,EAAsEb,EAAAyE,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,WACtE5D,EAAqBb,EAAAoE,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;AAAA,UAAA;;;;MAGzBlE,GAcUF,EAAAiE,CAAA,GAAA;AAAA,QAbR,UAAA;AAAA,QACC,OAAO;AAAA,QACP,QAAQjE,EAAAqD,CAAA,EAAmBrD,KAAmB,gBAAgBb,EAAAA,YAAS;AAAA,MAAA;mBAExE,MAQK;AAAA,UARLc,EAQK,MAAA;AAAA,YAPF,OAAKF,EAAA,CAAA;AAAA,cAAcC,EAAAmB,CAAA,EAAQ,GAAE,UAAW9B,EAAAA,gBAAgBF,EAAAA,SAAS;AAAA,cAAaa,EAAAmB,CAAA,EAAQ,GAAE,YAAa/B,EAAAA,QAAQ;AAAA,YAAA,GAGrG,QAAQ,CAAA;AAAA,YAAE,gBAAcC,EAAAA,gBAAgBF,EAAAA;AAAAA,YAChD,cAAYa,EAAAjB,CAAA,EAAC,6BAAA,EAAA,OAAuCI,EAAAA,WAAS;AAAA,YAAM,UAAUiD,EAAA;AAAA,UAAA,KAE3EjD,EAAAA,SAAS,GAAA,IAAAuF,EAAA;AAAA,QAAA;;;;;;;;;;;AC7OpB,UAAMrE,IAAQC,GAGR,EAAE,GAAAvB,EAAA,IAAMC,EAAA,GAERuB,IAAmBb;AAAA,MACvB,MAAMW,EAAM,YAAYA,EAAM,eAAe;AAAA,IAAA;2BAK7CP,EAYS,UAAA;AAAA,MAXP,MAAK;AAAA,MACL,OAAM;AAAA,MACL,UAAUS,EAAA;AAAA,MACV,cAAYoE,EAAAA,YAAY3E,EAAAjB,CAAA,EAAC,oBAAA;AAAA,MACzB,iBAAewB,EAAA;AAAA,MACf,SAAKE,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEC,EAAAA,MAAK,SAAUD,CAAM;AAAA,IAAA;MAEjBiE,EAAAA,YAAZ/D,KAAAd,EAA2C,cAAlB6E,EAAAA,QAAQ,GAAA,CAAA,WACjC9D,EAESb,EAAAc,EAAA,GAAA,EAAA,KAAA,KAAA;AAAA,mBADP,MAA4B;AAAA,WAA5BF,KAAAC,EAA4BE,GAAZ6D,EAAAA,QAAQ,CAAA;AAAA,QAAA;;;;;;;;;;;ACnB9B,UAAMvE,IAAQC,GACRW,IAAOC,GACP,EAAE,GAAAnC,EAAA,IAAMC,EAAA,GACRC,IAAKC,EAAa,YAAY,GAC9B2F,IAAahG,GAAA,GACbiG,IAAgBtF,EAAYa,EAAM,QAAS;AAEjD,IAAA0E;AAAA,MACE,MAAM1E,EAAM;AAAA,MACZ,CAAC2E,GAAQC,MAAW;AAClB,YAAI,CAAAC,GAAQF,GAAQC,CAAM,KAEtBE,GAAMH,CAAM,GAAG;AACjB,gBAAMI,IAAWJ,EAAO,SAAS3E,EAAM,QAAS,IAC5CA,EAAM,WACNA,EAAM,UAAU,CAAC;AAErB,UAAAY,EAAK,oBAAoBmE,CAAQ;AAAA,QACnC;AAAA,MACF;AAAA,IAAA,GAGFL;AAAA,MACE,MAAM1E,EAAM;AAAA,MACZ,CAAC2E,MAAW;AACV,QAAAF,EAAc,QAAQE;AAAA,MACxB;AAAA,IAAA;AAGF,UAAMK,IAAiB3F,EAAS,MAAMW,EAAM,SAAS;AACrD,aAASR,EAAaD,GAAa;AACjC,MAAIA,MAAQkF,EAAc,UACxBA,EAAc,QAAQlF,GACtBiF,EAAW,mBAAmB,OAAOjF,CAAG,CAAC;AAAA,IAE7C;2BAIEE,EAkBO,QAAA;AAAA,MAlBA,OAAKC,EAAEC,EAAAf,CAAA,EAAG,EAAC,OAAA,CAAA;AAAA,IAAA;MAChBiB,GAgBWF,EAAAsF,EAAA,GAAA;AAAA,QAfR,eAAaR,EAAA;AAAA,QACb,UAAU1F,EAAAA;AAAAA,QACV,gBAAcmG,EAAAA;AAAAA,QACd,MAAMnF,EAAAA;AAAAA,QACN,YAAYoF,EAAAA;AAAAA,QACZ,kBAAgB;AAAA,QAChB,aAAWC,EAAAA;AAAAA,QACX,UAAQ5F;AAAA,MAAA;mBAGP,MAA8B;AAAA,kBADhCC,EAKEuE,IAAA,MAAAC,GAJee,EAAA,OAAc,CAAtBK,YADT7E,EAKEb,EAAA2F,EAAA,GAAA;AAAA,YAHC,KAAKD;AAAA,YACL,OAAOA;AAAA,YACP,OAAOA,IAAO1F,EAAAjB,CAAA,EAAC,wBAAA;AAAA,UAAA;;;;;;;;;;;ACxDxB,UAAM,EAAE,GAAAA,EAAA,IAAMC,EAAA,GACRC,IAAKC,EAAa,YAAY,GAC9B,EAAE,UAAAE,EAAA,IAAaP,GAAA;2BAInBiB,EAMO,QAAA;AAAA,MANA,OAAKC,EAAEC,EAAAf,CAAA,EAAG,EAAC,OAAA,CAAA;AAAA,MAAY,UAAUe,EAAAZ,CAAA;AAAA,IAAA,KAEpCY,EAAAjB,CAAA,EAAC,uBAAA;AAAA,aAAkC6G,EAAAA;AAAAA,IAAAA;;ICwBnCC,IAAW,CAACC,MAA+B,OAAOA,KAAM,UAYjDC,KAAkBC,GAAW;AAAA;AAAA;AAAA;AAAA,EAIxC,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,iBAAiB;AAAA;AAAA;AAAA;AAAA,EAIjB,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,YAAY;AAAA,IACV,MAAM;AAAA,IACN,WAAW,CAACC,MAERC,EAASD,CAAK,KACX,KAAK,MAAMA,CAAK,MAAMA,KACtBA,IAAQ,KACRA,IAAQ,MACRA,IAAQ,MAAM;AAAA,IAGrB,SAAS;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKX,aAAa;AAAA;AAAA;AAAA;AAAA,EAIb,oBAAoB;AAAA;AAAA;AAAA;AAAA,EAIpB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SACE,CAAC,QAAQ,SAAS,QAAQ,UAAU,MAAM,OAAO,EACjD,KAAK,IAAI;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKb,WAAW;AAAA,IACT,MAAME,GAAyB,KAAK;AAAA,IACpC,SAAS,MAAMC,GAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAU;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAK3D,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKX,UAAU;AAAA,IACR,MAAMC;AAAA,IACN,SAAS,MAAMC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKX,UAAU;AAAA,IACR,MAAMD;AAAA,IACN,SAAS,MAAME;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKX,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,MAAMC;AAAA;AAAA;AAAA;AAAA,EAIN,YAAY;AAAA;AAAA;AAAA;AAAA,EAIZ,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAIlB,cAAc;AAChB,CAAU,GAGGC,KAAkB;AAAA,EAC7B,uBAAuB,CAAC7G,MAAgBsG,EAAStG,CAAG;AAAA,EACpD,oBAAoB,CAACA,MAAgBsG,EAAStG,CAAG;AAAA,EACjD,eAAe,CAACA,MAAgBsG,EAAStG,CAAG;AAAA,EAC5C,QAAU,CAACP,GAAqB+F,MAC9Bc,EAAS7G,CAAW,KAAK6G,EAASd,CAAQ;AAAA,EAC5C,kBAAkB,CAACxF,MAAgBsG,EAAStG,CAAG;AAAA,EAC/C,cAAc,CAACA,MAAgBsG,EAAStG,CAAG;AAAA,EAC3C,cAAc,CAACA,MAAgBsG,EAAStG,CAAG;AAC7C,GAGM8G,KAAgB,gBACtBC,KAAeC,EAAgB;AAAA,EAC7B,MAAMF;AAAA,EAEN,OAAOX;AAAA,EACP,OAAOU;AAAA,EAEP,MAAMpG,GAAO,EAAE,MAAAY,GAAM,OAAA4F,KAAS;AAC5B,UAAM,EAAE,GAAA9H,EAAA,IAAMC,EAAA,GACRC,IAAKC,EAAa,YAAY,GAC9B4H,IAAaC,GAAA,EAAsB,MAAM,SAAS,CAAA,GAClDC,IAAcC,GAAA,GACdC,IAAQxH;AAAA,MAAS,MACrBW,EAAM,QAAQ,UAAUA,EAAM,QAAQ2G,EAAY;AAAA,IAAA;AAEpD,IAAAG;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,KAAK;AAAA,MAAA;AAAA,MAEPzH,EAAS,MAAM,CAAC,CAACW,EAAM,KAAK;AAAA,IAAA;AAG9B,UAAM+G,IACF,0BAA0BN,KACvB,2BAA2BA,KAC3B,qBAAqBA,GACtBO,IACF,uBAAuBP,KACpB,wBAAwBA,KACxB,kBAAkBA,GACnBQ,IAAmB5H,EAAS,MAAM;AAOtC,UALImG,EAASxF,EAAM,KAAK,KAAKwF,EAASxF,EAAM,SAAS,KAKjD,CAACwF,EAASxF,EAAM,WAAW,KAAK,CAAC+G;AACnC,eAAO;AAMT,UAAI/G,EAAM,OAAO,SAAS,OAAO;AAC/B,YAAKwF,EAASxF,EAAM,SAAS;AAK7B,cACS,CAACwF,EAASxF,EAAM,KAAK,KAKxB,CAAAwF,EAASxF,EAAM,QAAQ;AAKzB,gBAAI,CAACgH;AACH,qBAAO;AAAA;AAAA,mBAdP,CAACA;AACH,iBAAO;AAAA;AAkBb,aAAO;AAAA,IACT,CAAC,GAEKvC,IAAgBtF;AAAA,MACpBqG,EAASxF,EAAM,eAAe,IAAI,KAAKA,EAAM;AAAA,IAAA,GAEzCkH,IAAmB/H;AAAA,MACvBqG,EAASxF,EAAM,kBAAkB,IAAI,IAAIA,EAAM;AAAA,IAAA,GAG3CmH,IAAiB9H,EAAS;AAAA,MAC9B,MAAM;AACJ,eAAOmG,EAASxF,EAAM,QAAQ,IAAIyE,EAAc,QAAQzE,EAAM;AAAA,MAChE;AAAA,MACA,IAAIyF,GAAW;AACb,QAAID,EAASxF,EAAM,QAAQ,MACzByE,EAAc,QAAQgB,IAEpBuB,MACFpG,EAAK,oBAAoB6E,CAAC,GAC1B7E,EAAK,eAAe6E,CAAC;AAAA,MAEzB;AAAA,IAAA,CACD,GAEK2B,IAAkB/H,EAAiB,MAAM;AAC7C,UAAIP,IAAY;AAChB,aAAK0G,EAASxF,EAAM,SAAS,IAGnBwF,EAASxF,EAAM,KAAK,MAC5BlB,IAAY,KAAK,IAAI,GAAG,KAAK,KAAKkB,EAAM,QAAQmH,EAAe,KAAK,CAAC,KAHrErI,IAAYkB,EAAM,WAKblB;AAAA,IACT,CAAC,GAEKuI,IAAoBhI,EAAiB;AAAA,MACzC,MAAM;AACJ,eAAOmG,EAASxF,EAAM,WAAW,IAC7BkH,EAAiB,QACjBlH,EAAM;AAAA,MACZ;AAAA,MACA,IAAIyF,GAAG;AACL,YAAI6B,IAAiB7B;AACrB,QAAIA,IAAI,IACN6B,IAAiB,IAEV7B,IAAI2B,EAAgB,UAC3BE,IAAiBF,EAAgB,QAE/B5B,EAASxF,EAAM,WAAW,MAC5BkH,EAAiB,QAAQI,IAEvBP,MACFnG,EAAK,uBAAuB0G,CAAc,GAC1C1G,EAAK,kBAAkB0G,CAAc;AAAA,MAEzC;AAAA,IAAA,CACD;AAED,IAAA5C,EAAM0C,GAAiB,CAAC7H,MAAQ;AAC9B,MAAI8H,EAAkB,QAAQ9H,MAC5B8H,EAAkB,QAAQ9H;AAAA,IAC9B,CAAC,GAEDmF;AAAA,MACE,CAAC2C,GAAmBF,CAAc;AAAA,MAClC,CAACvB,MAAU;AACT,QAAAhF,EAAK4B,GAAc,GAAGoD,CAAK;AAAA,MAC7B;AAAA,MACA,EAAE,OAAO,OAAA;AAAA,IAAO;AAGlB,aAAS2B,EAAoBhI,GAAa;AACxC,MAAA8H,EAAkB,QAAQ9H;AAAA,IAC5B;AAEA,aAASiI,EAAiBjI,GAAa;AACrC,MAAA4H,EAAe,QAAQ5H;AACvB,YAAMkI,IAAeL,EAAgB;AACrC,MAAIC,EAAkB,QAAQI,MAC5BJ,EAAkB,QAAQI;AAAA,IAE9B;AAEA,aAASC,IAAO;AACd,MAAI1H,EAAM,aAEVqH,EAAkB,SAAS,GAC3BzG,EAAK,cAAcyG,EAAkB,KAAK;AAAA,IAC5C;AAEA,aAASM,IAAO;AACd,MAAI3H,EAAM,aAEVqH,EAAkB,SAAS,GAC3BzG,EAAK,cAAcyG,EAAkB,KAAK;AAAA,IAC5C;AAEA,aAASO,EAASC,GAAcC,GAAa;AAC3C,MAAID,MACGA,EAAQ,UACXA,EAAQ,QAAQ,CAAA,IAElBA,EAAQ,MAAM,QAAQ,CAACA,EAAQ,MAAM,OAAOC,CAAG,EAAE,KAAK,GAAG;AAAA,IAE7D;AAEA,WAAAC,GAAQxJ,IAAiB;AAAA,MACvB,WAAW6I;AAAA,MACX,UAAU/H,EAAS,MAAMW,EAAM,QAAQ;AAAA,MACvC,aAAaqH;AAAA,MACb,aAAaE;AAAA,MACb,kBAAAC;AAAA,IAAA,CACD,GAEM,MAAM;AACX,UAAI,CAACP,EAAiB;AACpB,eAAAe,GAAU3B,IAAe3H,EAAE,kCAAkC,CAAC,GACvD;AAIT,UAFI,CAACsB,EAAM,UAEPA,EAAM,oBAAoBoH,EAAgB,SAAS;AACrD,eAAO;AACT,YAAMa,IAA8C,CAAA,GAC9CC,IAAsD,CAAA,GACtDC,IAAmBC;AAAA,QACvB;AAAA,QACA,EAAE,OAAOxJ,EAAG,EAAE,cAAc,EAAA;AAAA,QAC5BsJ;AAAA,MAAA,GAEIG,IAGF;AAAA,QACF,MAAMD,EAAEE,IAAM;AAAA,UACZ,UAAUtI,EAAM;AAAA,UAChB,aAAaqH,EAAkB;AAAA,UAC/B,UAAUrH,EAAM;AAAA,UAChB,UAAUA,EAAM;AAAA,UAChB,SAAS0H;AAAA,QAAA,CACV;AAAA,QACD,QAAQU,EAAEG,IAAQ;AAAA,UAChB,MAAM1B,EAAM;AAAA,QAAA,CACb;AAAA,QACD,OAAOuB,EAAEI,IAAO;AAAA,UACd,aAAanB,EAAkB;AAAA,UAC/B,WAAWD,EAAgB;AAAA,UAC3B,YAAYpH,EAAM;AAAA,UAClB,UAAUuH;AAAA,UACV,UAAUvH,EAAM;AAAA,UAChB,UAAUA,EAAM;AAAA,QAAA,CACjB;AAAA,QACD,MAAMoI,EAAEK,IAAM;AAAA,UACZ,UAAUzI,EAAM;AAAA,UAChB,aAAaqH,EAAkB;AAAA,UAC/B,WAAWD,EAAgB;AAAA,UAC3B,UAAUpH,EAAM;AAAA,UAChB,UAAUA,EAAM;AAAA,UAChB,SAAS2H;AAAA,QAAA,CACV;AAAA,QACD,OAAOS,EAAEM,IAAO;AAAA,UACd,UAAUvB,EAAe;AAAA,UACzB,WAAWnH,EAAM;AAAA,UACjB,aAAaA,EAAM;AAAA,UACnB,UAAUA,EAAM;AAAA,UAChB,YAAYA,EAAM;AAAA,UAClB,MAAM6G,EAAM;AAAA,UACZ,cAAc7G,EAAM;AAAA,QAAA,CACrB;AAAA,QACD,MAAMwG,GAAO,UAAA,KAAe;AAAA,QAC5B,OAAO4B,EAAEO,IAAO,EAAE,OAAOnD,EAASxF,EAAM,KAAK,IAAI,IAAIA,EAAM,MAAA,CAAO;AAAA,MAAA,GAG9D4I,KAAa5I,EAAM,OACtB,MAAM,GAAG,EACT,IAAI,CAACqF,MAAiBA,EAAK,KAAA,CAAM;AAEpC,UAAIwD,IAAmB;AAEvB,iBAAWC,KAAKF,IAAY;AAC1B,YAAIE,MAAM,MAAM;AACd,UAAAD,IAAmB;AACnB;AAAA,QACF;AACA,QAAIA,IACFX,EAAqB,KAAKG,EAAaS,CAAC,CAAC,IAGzCb,EAAa,KAAKI,EAAaS,CAAC,CAAC;AAAA,MAErC;AAEA,aAAAlB,EAASK,EAAa,CAAC,GAAGrJ,EAAG,GAAG,OAAO,CAAC,GACxCgJ,EAASK,EAAa,GAAG,EAAE,GAAGrJ,EAAG,GAAG,MAAM,CAAC,GAEvCiK,KAAoBX,EAAqB,SAAS,MACpDN,EAASM,EAAqB,CAAC,GAAGtJ,EAAG,GAAG,OAAO,CAAC,GAChDgJ;AAAA,QACEM,EAAqB,GAAG,EAAE;AAAA,QAC1BtJ,EAAG,GAAG,MAAM;AAAA,MAAA,GAEdqJ,EAAa,KAAKE,CAAgB,IAE7BC;AAAA,QACL;AAAA,QACA;AAAA,UACE,OAAO;AAAA,YACLxJ,EAAG,EAAA;AAAA,YACHA,EAAG,GAAG,cAAcoB,EAAM,UAAU;AAAA,YACpCpB,EAAG,EAAEiI,EAAM,KAAK;AAAA,UAAA;AAAA,QAClB;AAAA,QAEFoB;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AACF,CAAC;","x_google_ignoreList":[0,1]}
|