@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.
Files changed (118) hide show
  1. package/esm/__builtins__/shared/transform-component.d.ts +1 -1
  2. package/esm/__builtins__/shared/utils.mjs +0 -2
  3. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  4. package/esm/array-base/index.mjs +11 -11
  5. package/esm/array-base/symbols.mjs +1 -1
  6. package/esm/array-base/symbols.mjs.map +1 -1
  7. package/esm/array-base/utils.mjs +0 -1
  8. package/esm/array-base/utils.mjs.map +1 -1
  9. package/esm/array-cards/index.mjs +1 -1
  10. package/esm/array-collapse/index.mjs +2 -5
  11. package/esm/array-collapse/index.mjs.map +1 -1
  12. package/esm/array-items/index.mjs +1 -1
  13. package/esm/array-list-tabs/index.mjs +9 -9
  14. package/esm/array-table/index.mjs +7 -10
  15. package/esm/array-table/index.mjs.map +1 -1
  16. package/esm/array-tabs/index.mjs +1 -2
  17. package/esm/array-tabs/index.mjs.map +1 -1
  18. package/esm/autocomplete/autocomplete.d.ts +16 -16
  19. package/esm/autocomplete/index.d.ts +8 -8
  20. package/esm/autocomplete/index.mjs +2 -4
  21. package/esm/autocomplete/index.mjs.map +1 -1
  22. package/esm/cascader/index.mjs +2 -2
  23. package/esm/checkbox/index.d.ts +27 -27
  24. package/esm/checkbox/index.mjs +7 -12
  25. package/esm/checkbox/index.mjs.map +1 -1
  26. package/esm/editable/editable.d.ts +12 -12
  27. package/esm/editable/index.d.ts +6 -6
  28. package/esm/editable/index.mjs +27 -33
  29. package/esm/editable/index.mjs.map +1 -1
  30. package/esm/env.d.d.ts +1 -0
  31. package/esm/form/form.mjs +5 -5
  32. package/esm/form-button-group/index.mjs +5 -12
  33. package/esm/form-button-group/index.mjs.map +1 -1
  34. package/esm/form-collapse/index.mjs +1 -1
  35. package/esm/form-collapse/utils.mjs +0 -2
  36. package/esm/form-collapse/utils.mjs.map +1 -1
  37. package/esm/form-dialog/index.d.ts +1 -1
  38. package/esm/form-dialog/index.mjs +63 -70
  39. package/esm/form-dialog/index.mjs.map +1 -1
  40. package/esm/form-dialog/types.d.ts +13 -5
  41. package/esm/form-drawer/index.d.ts +1 -1
  42. package/esm/form-drawer/index.mjs +62 -69
  43. package/esm/form-drawer/index.mjs.map +1 -1
  44. package/esm/form-drawer/types.d.ts +13 -5
  45. package/esm/form-grid/form-grid.d.ts +2 -2
  46. package/esm/form-grid/hooks.d.ts +1 -2
  47. package/esm/form-grid/hooks.mjs +4 -11
  48. package/esm/form-grid/hooks.mjs.map +1 -1
  49. package/esm/form-grid/index.mjs +34 -32
  50. package/esm/form-grid/index.mjs.map +1 -1
  51. package/esm/form-item/index.mjs +25 -31
  52. package/esm/form-item/index.mjs.map +1 -1
  53. package/esm/form-item/types.d.ts +8 -6
  54. package/esm/form-layout/form-layout.mjs +2 -2
  55. package/esm/form-layout/utils.mjs +2 -2
  56. package/esm/form-layout/utils.mjs.map +1 -1
  57. package/esm/form-step/index.mjs +2 -2
  58. package/esm/form-step/utils.mjs +0 -3
  59. package/esm/form-step/utils.mjs.map +1 -1
  60. package/esm/form-tab/hooks.d.ts +2 -1
  61. package/esm/form-tab/hooks.mjs +13 -20
  62. package/esm/form-tab/hooks.mjs.map +1 -1
  63. package/esm/form-tab/index.mjs +39 -40
  64. package/esm/form-tab/index.mjs.map +1 -1
  65. package/esm/index.mjs +9 -9
  66. package/esm/input/index.mjs +2 -2
  67. package/esm/input-number/index.d.ts +15 -15
  68. package/esm/input-tag/index.mjs +2 -2
  69. package/esm/mention/index.mjs +2 -2
  70. package/esm/pagination/pagination.mjs +1 -1
  71. package/esm/pagination/pagination.mjs.map +1 -1
  72. package/esm/preview-text/index.mjs +2 -11
  73. package/esm/preview-text/index.mjs.map +1 -1
  74. package/esm/preview-text/utils.mjs +1 -1
  75. package/esm/preview-text/utils.mjs.map +1 -1
  76. package/esm/query-form/index.d.ts +3 -3
  77. package/esm/query-form/index.mjs +28 -31
  78. package/esm/query-form/index.mjs.map +1 -1
  79. package/esm/query-form/query-form.d.ts +1 -1
  80. package/esm/query-form/types.d.ts +1 -1
  81. package/esm/query-form-item/index.mjs +7 -11
  82. package/esm/query-form-item/index.mjs.map +1 -1
  83. package/esm/radio/index.d.ts +18 -18
  84. package/esm/radio/index.mjs +7 -12
  85. package/esm/radio/index.mjs.map +1 -1
  86. package/esm/reset/index.mjs +2 -2
  87. package/esm/segmented/index.mjs +2 -2
  88. package/esm/select/index.d.ts +16 -16
  89. package/esm/select/index.mjs +1 -1
  90. package/esm/select-table/index.d.ts +6 -6
  91. package/esm/select-table/index.mjs +4 -5
  92. package/esm/select-table/index.mjs.map +1 -1
  93. package/esm/select-table/select-table.d.ts +2 -2
  94. package/esm/styles/form-grid/index.css +1 -1
  95. package/esm/submit/index.mjs +3 -3
  96. package/esm/submit/index.mjs.map +1 -1
  97. package/esm/switch/index.d.ts +9 -9
  98. package/esm/time-select/index.d.ts +12 -12
  99. package/esm/transfer/index.d.ts +12 -12
  100. package/esm/tree/index.mjs +3 -3
  101. package/esm/tree/utils.mjs +0 -2
  102. package/esm/tree/utils.mjs.map +1 -1
  103. package/esm/tree-select/index.mjs +2 -2
  104. package/esm/upload/index.d.ts +12 -12
  105. package/esm/upload/index.mjs +3 -3
  106. package/esm/upload/upload.d.ts +24 -24
  107. package/esm/vendor/icon.mjs.map +1 -1
  108. package/esm/vendor/lodash.mjs +111 -85
  109. package/esm/vendor/lodash.mjs.map +1 -1
  110. package/esm/vendor/runtime.mjs +23 -29
  111. package/esm/vendor/runtime.mjs.map +1 -1
  112. package/esm/vendor/shared.esm-bundler.mjs +2 -7
  113. package/esm/vendor/shared.esm-bundler.mjs.map +1 -1
  114. package/esm/vendor/sizes.mjs.map +1 -1
  115. package/esm/vendor/types.mjs +5 -5
  116. package/esm/vendor/types.mjs.map +1 -1
  117. package/package.json +57 -82
  118. package/LICENSE +0 -21
@@ -1,15 +1,15 @@
1
- import { formilyComputed as V, observer as E } from "@silver-formily/reactive-vue";
2
- import { ElTabs as k, ElTabPane as B, ElBadge as K } from "element-plus";
3
- import { reaction as w } from "@formily/reactive";
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 $, computed as L, ref as N, watch as R, createBlock as s, openBlock as o, unref as r, withCtx as m, createElementBlock as d, Fragment as b, renderList as q, mergeProps as z, normalizeClass as A, createTextVNode as v, toDisplayString as T, createVNode as D } from "vue";
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, RecursionField as P } from "@silver-formily/vue";
8
- import { composeExport as S } from "../__builtins__/shared/utils.mjs";
9
- import { stylePrefix as j } from "../__builtins__/configs/index.mjs";
10
- import { useTabs as G } from "./hooks.mjs";
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 H = /* @__PURE__ */ $({
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(_, { emit: h }) {
21
- const u = _, F = h, i = I(), g = `${j}-form-tab`, l = L(() => u.formTab ?? y()), t = G(), a = N(u?.modelValue ?? l.value.activeKey ?? t?.[0]?.name);
22
- w(() => t.length, () => {
23
- !t.some((e) => e.name === a.value) && (a.value = t?.[0]?.name);
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
- }), R(() => l.value.activeKey, (e) => {
27
- a.value = e;
26
+ }), S(() => u.value.activeKey, (e) => {
27
+ o.value = e;
28
28
  });
29
- const c = V(() => t.map((e) => i.value.form.queryFeedbacks({
29
+ const i = d(() => r.value.map((e) => m.value.form.queryFeedbacks({
30
30
  type: "error",
31
- address: `${i.value.address}.${e.name}.*`
31
+ address: `${m.value.address}.${e.name}.*`
32
32
  }).length));
33
- function x(e) {
34
- /* istanbul ignore if -- @preserve */
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, M) => (o(), s(r(k), {
38
- "model-value": a.value,
36
+ return (e, Q) => (t(), n(a(B), {
37
+ "model-value": o.value,
39
38
  style: { width: "100%" },
40
- onTabChange: x
39
+ onTabChange: V
41
40
  }, {
42
- default: m(() => [
43
- (o(!0), d(b, null, q(r(t), ({ props: n, schema: C, name: f }, p) => (o(), s(r(B), z({ key: f }, { ref_for: !0 }, n), {
44
- default: m(() => [
45
- D(r(P), {
46
- schema: C,
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: m(() => [
51
- r(c)[p] !== 0 ? (o(), s(r(K), {
49
+ label: l(() => [
50
+ a(i)[p] !== 0 ? (t(), n(a(w), {
52
51
  key: 0,
53
- class: A(g),
54
- value: r(c)[p]
52
+ class: A(C),
53
+ value: a(i)[p]
55
54
  }, {
56
- default: m(() => [
57
- v(T(n.label), 1)
55
+ default: l(() => [
56
+ h(T(s.label), 1)
58
57
  ]),
59
58
  _: 2
60
- }, 1032, ["value"])) : (o(), d(b, { key: 1 }, [
61
- v(T(n.label), 1)
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
- }), J = E(H), ae = S(J, {
69
+ }), O = k(M), me = G(O, {
71
70
  createFormTab: y
72
71
  });
73
72
  export {
74
- ae as FormTab,
75
- ae as composeFormTab,
76
- ae as default
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=\"schema\" :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","prefixCls","stylePrefix","formTabRef","computed","createFormTab","tabs","useTabs","_activeKey","ref","reaction","tab","watch","val","errorList","formilyComputed","handleTabChange","key","_createBlock","_unref","ElTabs","_createElementBlock","_Fragment","_renderList","tabProps","schema","name","_openBlock","_mergeProps","_createVNode","RecursionField","ElBadge","_createTextVNode","_toDisplayString","FormTab","observer","FFormTab","composeFormTab","composeExport"],"mappings":";;;;;;;;;;;;;;;;;;;;AAeA,UAAMA,IAAQC,GACRC,IAAOC,GAEPC,IAAQC,EAAA,GACRC,IAAY,GAAGC,CAAW,aAC1BC,IAAaC,EAAS,MAAMT,EAAM,WAAWU,GAAe,GAC5DC,IAAOC,EAAA,GACPC,IAAaC,EAAId,GAAO,cAAcQ,EAAW,MAAM,aAAaG,IAAO,CAAC,GAAG,IAAI;AAEzF,IAAAI,EAAS,MACAJ,EAAK,QACX,MAAM;AACP,OAACA,EAAK,KAAK,CAAAK,MAAOA,EAAI,SAASH,EAAW,KAAK,MAAMA,EAAW,QAAQF,IAAO,CAAC,GAAG;AAAA,IACrF,GAAG;AAAA,MACD,iBAAiB;AAAA,IAAA,CAClB,GACDM,EAAM,MAAMT,EAAW,MAAM,WAAW,CAACU,MAAQ;AAC/C,MAAAL,EAAW,QAAQK;AAAA,IACrB,CAAC;AAED,UAAMC,IAAYC,EAAgB,MACzBT,EAAK,IAAI,CAACK,MACRZ,EAAM,MAAM,KAAK,eAAe;AAAA,MACrC,MAAM;AAAA,MACN,SAAS,GAAGA,EAAM,MAAM,OAAO,IAAIY,EAAI,IAAI;AAAA,IAAA,CAC5C,EAAE,MACJ,CACF;AAED,aAASK,EAAgBC,GAAa;AAAA,MAAA;AAEpC,MAAI,OAAOA,KAAQ,aAEnBpB,EAAK,qBAAqBoB,CAAG,GAC7Bd,EAAW,MAAM,eAAec,CAAG;AAAA,IACrC;2BAIEC,EA0BSC,EAAAC,CAAA,GAAA;AAAA,MAzBN,eAAaZ,EAAA;AAAA,MACd,OAAA,EAAA,OAAA,OAAA;AAAA,MACC,aAAYQ;AAAA,IAAA;iBAGX,MAAwD;AAAA,gBAD1DK,EAoBYC,GAAA,MAAAC,EAnByCJ,MAAI,CAAA,EAAA,OAAtCK,GAAU,QAAAC,GAAQ,MAAAC,EAAA,GAAQT,OAD7CU,KAAAT,EAoBYC,MApBZS,EAoBY,EAlBT,KAAKF,EAAA,oBACEF,CAAQ,GAAA;AAAA,UAEL,WACT,MAAgD;AAAA,YAAhDK,EAAgDV,EAAAW,CAAA,GAAA;AAAA,cAA/B,QAAAL;AAAA,cAAiB,MAAAC;AAAA,YAAA;;UAEzB,SACT,MAMU;AAAA,YALFP,EAAAL,CAAA,EAAUG,CAAG,MAAA,UADrBC,EAMUC,EAAAY,CAAA,GAAA;AAAA;cAJP,SAAO9B,CAAS;AAAA,cAChB,OAAOkB,EAAAL,CAAA,EAAUG,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;;;;;;;;ICtErBU,IAAUC,EAASC,CAAQ,GAEpBC,KAAiBC,EAAcJ,GAAS;AAAA,EACnD,eAAA7B;AACF,CAAC;"}
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 t } from "./array-collapse/index.mjs";
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 i } from "./array-tabs/index.mjs";
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 { composeFormTab as Y, composeFormTab as Z } from "./form-tab/index.mjs";
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 tr } from "./input-tag/index.mjs";
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 ir } from "./query-form/index.mjs";
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
- t as ArrayCollapse,
51
+ m as ArrayCollapse,
52
52
  f as ArrayItems,
53
53
  a as ArrayListTabs,
54
54
  s as ArrayTable,
55
- i as ArrayTabs,
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
- tr as InputTag,
78
+ mr as InputTag,
79
79
  fr as Mention,
80
80
  ar as Password,
81
81
  sr as PreviewText,
82
- ir as QueryForm,
82
+ cr as QueryForm,
83
83
  Tr as QueryFormItem,
84
84
  dr as Radio,
85
85
  Sr as Rate,
@@ -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, createBlock as y, openBlock as x, unref as p, normalizeProps as I, guardReactiveProps as k, createSlots as v, withCtx as r, renderSlot as o } from "vue";
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) => (x(), y(p(d), I(k(p(u))), v({ _: 2 }, [
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" | "left" | "right">;
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" | "left" | "right">;
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" | "left" | "right">;
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;
@@ -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, createBlock as x, openBlock as y, unref as o, normalizeProps as n, guardReactiveProps as s, createSlots as P, withCtx as r, renderSlot as i } from "vue";
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) => (y(), x(o(d), n(s(o(p))), P({ _: 2 }, [
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) => [
@@ -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 $, createBlock as P, openBlock as S, unref as i, normalizeProps as p, guardReactiveProps as l, createSlots as g, withCtx as n, renderSlot as r } from "vue";
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) => (S(), P(i(y), p(l(f.value)), g({ _: 2 }, [
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, createElementBlock as w, openBlock as d, unref as t, normalizeClass as k, createElementVNode as j, createVNode as ne, toDisplayString as D, 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";
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]}