@pungfe/element 0.0.1-alpha.18 → 0.0.1-alpha.20

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 (191) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +20 -1
  3. package/dist/cjs/Button-BvJXFXQb.cjs +2 -0
  4. package/dist/cjs/Button-BvJXFXQb.cjs.map +1 -0
  5. package/dist/cjs/Button.cjs +1 -0
  6. package/dist/cjs/ButtonPopconfirm.cjs +1 -0
  7. package/dist/cjs/ConfigProvider-CF5710p3.cjs +2 -0
  8. package/dist/cjs/ConfigProvider-CF5710p3.cjs.map +1 -0
  9. package/dist/cjs/ConfigProvider.cjs +1 -0
  10. package/dist/cjs/DatePicker-DokBZGcA.cjs +2 -0
  11. package/dist/cjs/DatePicker-DokBZGcA.cjs.map +1 -0
  12. package/dist/cjs/DatePicker.cjs +1 -0
  13. package/dist/cjs/Dialog-C3uo50Lk.cjs +2 -0
  14. package/dist/cjs/Dialog-C3uo50Lk.cjs.map +1 -0
  15. package/dist/cjs/Dialog.cjs +1 -0
  16. package/dist/cjs/Form-B2jzuMRl.cjs +2 -0
  17. package/dist/cjs/Form-B2jzuMRl.cjs.map +1 -0
  18. package/dist/cjs/Form.cjs +1 -0
  19. package/dist/cjs/FormItem-Dpf2GUq-.cjs +2 -0
  20. package/dist/cjs/FormItem-Dpf2GUq-.cjs.map +1 -0
  21. package/dist/cjs/FormItem.cjs +1 -0
  22. package/dist/cjs/Input-DebAbTvN.cjs +2 -0
  23. package/dist/cjs/Input-DebAbTvN.cjs.map +1 -0
  24. package/dist/cjs/Input.cjs +1 -0
  25. package/dist/cjs/InputNumber-Bkgf6gyB.cjs +2 -0
  26. package/dist/cjs/InputNumber-Bkgf6gyB.cjs.map +1 -0
  27. package/dist/cjs/InputNumber.cjs +1 -0
  28. package/dist/cjs/Pagination-C6JSioze.cjs +2 -0
  29. package/dist/cjs/Pagination-C6JSioze.cjs.map +1 -0
  30. package/dist/cjs/Pagination.cjs +1 -0
  31. package/dist/cjs/Select-ClHQizmh.cjs +2 -0
  32. package/dist/cjs/Select-ClHQizmh.cjs.map +1 -0
  33. package/dist/cjs/Select.cjs +1 -0
  34. package/dist/cjs/TabPane-9vViJx44.cjs +2 -0
  35. package/dist/cjs/TabPane-9vViJx44.cjs.map +1 -0
  36. package/dist/cjs/TabPane.cjs +1 -0
  37. package/dist/cjs/Table-BxehOmrv.cjs +2 -0
  38. package/dist/cjs/Table-BxehOmrv.cjs.map +1 -0
  39. package/dist/cjs/Table.cjs +1 -0
  40. package/dist/cjs/TableColumn.cjs +2 -0
  41. package/dist/cjs/TableColumn.cjs.map +1 -0
  42. package/dist/cjs/Tabs-DvJ62WAc.cjs +2 -0
  43. package/dist/cjs/Tabs-DvJ62WAc.cjs.map +1 -0
  44. package/dist/cjs/Tabs.cjs +1 -0
  45. package/dist/cjs/Upload-DP-wG7wt.cjs +2 -0
  46. package/dist/cjs/Upload-DP-wG7wt.cjs.map +1 -0
  47. package/dist/cjs/Upload.cjs +1 -0
  48. package/dist/cjs/components-B4ncCgXt.cjs +2 -0
  49. package/dist/cjs/components-B4ncCgXt.cjs.map +1 -0
  50. package/dist/cjs/constants-498ChIuS.cjs +2 -0
  51. package/dist/cjs/constants-498ChIuS.cjs.map +1 -0
  52. package/dist/cjs/dist-jkU1Ff2x.cjs +2 -0
  53. package/dist/cjs/dist-jkU1Ff2x.cjs.map +1 -0
  54. package/dist/cjs/en-DDRiWSYm.cjs +2 -0
  55. package/dist/cjs/en-DDRiWSYm.cjs.map +1 -0
  56. package/dist/cjs/en.cjs +1 -0
  57. package/dist/cjs/index.cjs +1 -0
  58. package/dist/cjs/index2.cjs +1 -0
  59. package/dist/cjs/resolver.cjs +2 -0
  60. package/dist/cjs/resolver.cjs.map +1 -0
  61. package/dist/cjs/zh-cn-D5-GtCK7.cjs +2 -0
  62. package/dist/cjs/zh-cn-D5-GtCK7.cjs.map +1 -0
  63. package/dist/cjs/zh-cn.cjs +1 -0
  64. package/dist/es/Button-JMW0j5pe.js +34 -0
  65. package/dist/es/Button-JMW0j5pe.js.map +1 -0
  66. package/dist/es/Button.js +2 -0
  67. package/dist/es/ButtonPopconfirm.js +18 -0
  68. package/dist/es/ConfigProvider-kajsj06e.js +16 -0
  69. package/dist/es/ConfigProvider-kajsj06e.js.map +1 -0
  70. package/dist/es/ConfigProvider.js +4 -0
  71. package/dist/es/DatePicker-Bk5znp2I.js +66 -0
  72. package/dist/es/DatePicker-Bk5znp2I.js.map +1 -0
  73. package/dist/es/DatePicker.js +2 -0
  74. package/dist/es/Dialog-BahbAebJ.js +54 -0
  75. package/dist/es/Dialog-BahbAebJ.js.map +1 -0
  76. package/dist/es/Dialog.js +2 -0
  77. package/dist/es/Form-BDvJQmaK.js +44 -0
  78. package/dist/es/Form-BDvJQmaK.js.map +1 -0
  79. package/dist/es/Form.js +2 -0
  80. package/dist/es/FormItem-D1urI0Le.js +37 -0
  81. package/dist/es/FormItem-D1urI0Le.js.map +1 -0
  82. package/dist/es/FormItem.js +2 -0
  83. package/dist/es/Input-DzvAvypN.js +83 -0
  84. package/dist/es/Input-DzvAvypN.js.map +1 -0
  85. package/dist/es/Input.js +2 -0
  86. package/dist/es/InputNumber-DIO6CJCX.js +67 -0
  87. package/dist/es/InputNumber-DIO6CJCX.js.map +1 -0
  88. package/dist/es/InputNumber.js +2 -0
  89. package/dist/es/Pagination-CGeelxQR.js +44 -0
  90. package/dist/es/Pagination-CGeelxQR.js.map +1 -0
  91. package/dist/es/Pagination.js +2 -0
  92. package/dist/es/Select-CFKKE0I-.js +110 -0
  93. package/dist/es/Select-CFKKE0I-.js.map +1 -0
  94. package/dist/es/Select.js +2 -0
  95. package/dist/es/TabPane-DhCA6CP1.js +34 -0
  96. package/dist/es/TabPane-DhCA6CP1.js.map +1 -0
  97. package/dist/es/TabPane.js +2 -0
  98. package/dist/es/Table-ZkfKXNqO.js +101 -0
  99. package/dist/es/Table-ZkfKXNqO.js.map +1 -0
  100. package/dist/es/Table.js +2 -0
  101. package/dist/es/TableColumn.js +17 -0
  102. package/dist/es/TableColumn.js.map +1 -0
  103. package/dist/es/Tabs-BOs1W9TP.js +40 -0
  104. package/dist/es/Tabs-BOs1W9TP.js.map +1 -0
  105. package/dist/es/Tabs.js +2 -0
  106. package/dist/es/Upload-BvTAas_1.js +44 -0
  107. package/dist/es/Upload-BvTAas_1.js.map +1 -0
  108. package/dist/es/Upload.js +2 -0
  109. package/dist/es/components-BMcANiOi.js +56 -0
  110. package/dist/es/components-BMcANiOi.js.map +1 -0
  111. package/dist/es/constants-C3A6yPOr.js +6 -0
  112. package/dist/es/constants-C3A6yPOr.js.map +1 -0
  113. package/dist/es/dist-BPi3_vgC.js +30 -0
  114. package/dist/es/dist-BPi3_vgC.js.map +1 -0
  115. package/dist/es/en-DgZ1R4Cz.js +200 -0
  116. package/dist/es/en-DgZ1R4Cz.js.map +1 -0
  117. package/dist/es/en.js +2 -0
  118. package/dist/es/index.js +19 -0
  119. package/dist/es/index2.js +3 -0
  120. package/dist/es/resolver.js +39 -0
  121. package/dist/es/resolver.js.map +1 -0
  122. package/dist/es/zh-cn-ddOn6b4x.js +200 -0
  123. package/dist/es/zh-cn-ddOn6b4x.js.map +1 -0
  124. package/dist/es/zh-cn.js +2 -0
  125. package/dist/{basic/XButton.vue.d.ts → types/components/Button.vue.d.ts} +10 -5
  126. package/dist/{basic/XReconfirm.vue.d.ts → types/components/ButtonPopconfirm.vue.d.ts} +4 -3
  127. package/dist/{basic/XDatePicker.vue.d.ts → types/components/DatePicker.vue.d.ts} +13 -5
  128. package/dist/{basic/XDialog.vue.d.ts → types/components/Dialog.vue.d.ts} +15 -9
  129. package/dist/{basic/XForm.vue.d.ts → types/components/Form.vue.d.ts} +9 -27
  130. package/dist/types/components/FormItem.vue.d.ts +40 -0
  131. package/dist/types/components/Input.vue.d.ts +42 -0
  132. package/dist/types/components/InputNumber.vue.d.ts +48 -0
  133. package/dist/types/components/Pagination.vue.d.ts +40 -0
  134. package/dist/{basic/XSelect.vue.d.ts → types/components/Select.vue.d.ts} +15 -5
  135. package/dist/types/components/TabPane.vue.d.ts +32 -0
  136. package/dist/types/components/Table.vue.d.ts +88 -0
  137. package/dist/{basic/XTabs.vue.d.ts → types/components/Tabs.vue.d.ts} +4 -12
  138. package/dist/types/components/Upload.vue.d.ts +27 -0
  139. package/dist/types/components/index.d.ts +14 -0
  140. package/dist/types/constants/index.d.ts +13 -0
  141. package/dist/types/index.d.ts +2 -0
  142. package/dist/types/locales/en.d.ts +2 -0
  143. package/dist/types/locales/index.d.ts +2 -0
  144. package/dist/types/locales/zh-cn.d.ts +2 -0
  145. package/dist/{resolver.d.ts → types/resolver.d.ts} +1 -1
  146. package/dist/types/src/components/Button.vue.d.ts +31 -0
  147. package/dist/types/src/components/ButtonPopconfirm.vue.d.ts +27 -0
  148. package/dist/types/src/components/ConfigProvider.vue.d.ts +21 -0
  149. package/dist/types/src/components/DatePicker.vue.d.ts +34 -0
  150. package/dist/types/src/components/Dialog.vue.d.ts +44 -0
  151. package/dist/types/src/components/Form.vue.d.ts +36 -0
  152. package/dist/types/src/components/FormItem.vue.d.ts +33 -0
  153. package/dist/types/src/components/Input.vue.d.ts +44 -0
  154. package/dist/types/src/components/InputNumber.vue.d.ts +48 -0
  155. package/dist/types/src/components/Pagination.vue.d.ts +40 -0
  156. package/dist/types/src/components/Select.vue.d.ts +45 -0
  157. package/dist/types/src/components/TabPane.vue.d.ts +32 -0
  158. package/dist/types/src/components/Table.vue.d.ts +89 -0
  159. package/dist/types/src/components/Tabs.vue.d.ts +26 -0
  160. package/dist/types/src/components/Upload.vue.d.ts +27 -0
  161. package/dist/types/src/components/index.d.ts +15 -0
  162. package/dist/types/src/composables/useGlobalConfig.d.ts +1172 -0
  163. package/dist/types/src/constants/index.d.ts +15 -0
  164. package/dist/types/src/index.d.ts +2 -0
  165. package/dist/types/src/locales/en.d.ts +2 -0
  166. package/dist/types/src/locales/index.d.ts +2 -0
  167. package/dist/types/src/locales/zh-cn.d.ts +2 -0
  168. package/dist/types/src/resolver.d.ts +3 -0
  169. package/dist/types/test/table.test.d.ts +1 -0
  170. package/package.json +32 -26
  171. package/dist/basic/XCascader.vue.d.ts +0 -26
  172. package/dist/basic/XCheckbox.vue.d.ts +0 -28
  173. package/dist/basic/XColorPicker.vue.d.ts +0 -21
  174. package/dist/basic/XDivider.vue.d.ts +0 -20
  175. package/dist/basic/XImage.vue.d.ts +0 -5
  176. package/dist/basic/XInput.vue.d.ts +0 -30
  177. package/dist/basic/XInputNumber.vue.d.ts +0 -38
  178. package/dist/basic/XPagination.vue.d.ts +0 -21
  179. package/dist/basic/XRate.vue.d.ts +0 -20
  180. package/dist/basic/XScrollbar.vue.d.ts +0 -553
  181. package/dist/basic/XSpace.vue.d.ts +0 -20
  182. package/dist/basic/XTable.vue.d.ts +0 -57
  183. package/dist/basic/XTag.vue.d.ts +0 -28
  184. package/dist/basic/XText.vue.d.ts +0 -23
  185. package/dist/basic/XUpload.vue.d.ts +0 -41
  186. package/dist/components.d.ts +0 -43
  187. package/dist/constants.d.ts +0 -12
  188. package/dist/index.d.ts +0 -7
  189. package/dist/index.mjs +0 -1297
  190. package/dist/resolver.mjs +0 -42
  191. package/dist/vendor-pRyQDb6F.js +0 -102
@@ -0,0 +1,37 @@
1
+ import { a as e, c as t, i as n, n as r, r as i, s as a } from "./constants-C3A6yPOr.js";
2
+ import { createBlock as o, createCommentVNode as s, createVNode as c, defineComponent as l, guardReactiveProps as u, inject as d, normalizeProps as f, openBlock as p, provide as m, ref as h, renderSlot as g, unref as _, withCtx as v } from "vue";
3
+ import { ElFormItem as y } from "element-plus";
4
+ //#endregion
5
+ //#region src/components/FormItem.vue
6
+ var b = /* @__PURE__ */ l({
7
+ __name: "FormItem",
8
+ props: {
9
+ content: { type: Function },
10
+ label: {},
11
+ required: { type: Boolean },
12
+ validator: { type: Function }
13
+ },
14
+ setup(l) {
15
+ let b = d(e, void 0), x = d(r, void 0), S = d(i, void 0), C = d(t, void 0), w = d(a, void 0), T = h(), E = {
16
+ clearValidate: () => T.value = void 0,
17
+ label: l.label,
18
+ required: l.required,
19
+ validator: l.validator,
20
+ validate: () => (T.value = E.validator?.() ?? void 0, T.value && x && S && C && w?.trigger(C), !T.value)
21
+ };
22
+ b?.push(E), m(n, E);
23
+ let D = () => l.content?.();
24
+ return (e, t) => (p(), o(_(y), f(u({
25
+ label: l.label,
26
+ required: l.required,
27
+ error: T.value
28
+ })), {
29
+ default: v(() => [c(D), "label" in e.$slots ? g(e.$slots, "label", { key: 0 }) : s("", !0)]),
30
+ _: 3
31
+ }, 16));
32
+ }
33
+ });
34
+ //#endregion
35
+ export { b as t };
36
+
37
+ //# sourceMappingURL=FormItem-D1urI0Le.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormItem-D1urI0Le.js","names":["$slots"],"sources":["../../src/components/FormItem.vue","../../src/components/FormItem.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElFormItem } from 'element-plus'\r\nimport { inject, provide, ref } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_ELEMENT_IN_TABS, X_FORM_ITEM_VALIDATION, X_FORM_VALIDATIONS, X_TAB_PANE_NAME, X_TABS_MODEL_UPDATE_HOOK } from '../constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n required?: boolean\r\n validator?: () => string | void\r\n}\r\n\r\nexport interface XFormItemValidation {\r\n clearValidate: () => void\r\n label?: string\r\n required?: boolean\r\n validate: () => boolean\r\n validator?: () => string | void\r\n}\r\n\r\nconst { content, label, required, validator } = defineProps<XFormItemProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n label: () => VNodeChild\r\n}>()\r\n\r\nconst validations = inject(X_FORM_VALIDATIONS, undefined)\r\nconst inTabs = inject(X_ELEMENT_IN_TABS, undefined)\r\nconst inTabPane = inject(X_ELEMENT_IN_TAB_PANE, undefined)\r\nconst tabPaneName = inject(X_TAB_PANE_NAME, undefined)\r\nconst tabsUpdateModelHook = inject(X_TABS_MODEL_UPDATE_HOOK, undefined)\r\n\r\nconst error = ref<string | undefined>()\r\n\r\nconst validation: XFormItemValidation = {\r\n clearValidate: () => error.value = undefined,\r\n label,\r\n required,\r\n validator,\r\n validate: () => {\r\n error.value = validation.validator?.() ?? undefined\r\n\r\n if (error.value && inTabs && inTabPane && tabPaneName) {\r\n tabsUpdateModelHook?.trigger(tabPaneName)\r\n }\r\n\r\n return !error.value\r\n }\r\n}\r\nvalidations?.push(validation)\r\nprovide(X_FORM_ITEM_VALIDATION, validation)\r\n\r\nconst Content = () => content?.()\r\n</script>\r\n\r\n<template>\r\n <ElFormItem v-bind=\"{ label, required, error }\">\r\n <Content />\r\n <template v-if=\"'label' in $slots\">\r\n <slot name=\"label\" />\r\n </template>\r\n </ElFormItem>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElFormItem } from 'element-plus'\r\nimport { inject, provide, ref } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_ELEMENT_IN_TABS, X_FORM_ITEM_VALIDATION, X_FORM_VALIDATIONS, X_TAB_PANE_NAME, X_TABS_MODEL_UPDATE_HOOK } from '../constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n required?: boolean\r\n validator?: () => string | void\r\n}\r\n\r\nexport interface XFormItemValidation {\r\n clearValidate: () => void\r\n label?: string\r\n required?: boolean\r\n validate: () => boolean\r\n validator?: () => string | void\r\n}\r\n\r\nconst { content, label, required, validator } = defineProps<XFormItemProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n label: () => VNodeChild\r\n}>()\r\n\r\nconst validations = inject(X_FORM_VALIDATIONS, undefined)\r\nconst inTabs = inject(X_ELEMENT_IN_TABS, undefined)\r\nconst inTabPane = inject(X_ELEMENT_IN_TAB_PANE, undefined)\r\nconst tabPaneName = inject(X_TAB_PANE_NAME, undefined)\r\nconst tabsUpdateModelHook = inject(X_TABS_MODEL_UPDATE_HOOK, undefined)\r\n\r\nconst error = ref<string | undefined>()\r\n\r\nconst validation: XFormItemValidation = {\r\n clearValidate: () => error.value = undefined,\r\n label,\r\n required,\r\n validator,\r\n validate: () => {\r\n error.value = validation.validator?.() ?? undefined\r\n\r\n if (error.value && inTabs && inTabPane && tabPaneName) {\r\n tabsUpdateModelHook?.trigger(tabPaneName)\r\n }\r\n\r\n return !error.value\r\n }\r\n}\r\nvalidations?.push(validation)\r\nprovide(X_FORM_ITEM_VALIDATION, validation)\r\n\r\nconst Content = () => content?.()\r\n</script>\r\n\r\n<template>\r\n <ElFormItem v-bind=\"{ label, required, error }\">\r\n <Content />\r\n <template v-if=\"'label' in $slots\">\r\n <slot name=\"label\" />\r\n </template>\r\n </ElFormItem>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;EC4BA,IAAM,IAAc,EAAO,GAAoB,KAAA,EAAU,EACnD,IAAS,EAAO,GAAmB,KAAA,EAAU,EAC7C,IAAY,EAAO,GAAuB,KAAA,EAAU,EACpD,IAAc,EAAO,GAAiB,KAAA,EAAU,EAChD,IAAsB,EAAO,GAA0B,KAAA,EAAU,EAEjE,IAAQ,GAAyB,EAEjC,IAAkC;GACtC,qBAAqB,EAAM,QAAQ,KAAA;GACnC,OAAI,EAAA;GACJ,UAAO,EAAA;GACP,WAAQ,EAAA;GACR,iBACE,EAAM,QAAQ,EAAW,aAAa,IAAI,KAAA,GAEtC,EAAM,SAAS,KAAU,KAAa,KACxC,GAAqB,QAAQ,EAAY,EAGpC,CAAC,EAAM;GAEjB;AAED,EADA,GAAa,KAAK,EAAW,EAC7B,EAAQ,GAAwB,EAAW;EAE3C,IAAM,UAAgB,EAAA,WAAW;yBAI/B,EAKa,EAAA,EAAA,EAAA,EAAA,EAAA;GAAA,OALS,EAAA;GAAK,UAAE,EAAA;GAAQ,OAAE,EAAA;GAAK,CAAA,CAAA,EAAA;oBAC/B,CAAX,EAAW,EAAA,EAAA,WACgBA,EAAAA,SACzB,EAAqB,EAAA,QAAA,SAAA,EAAA,KAAA,GAAA,CAAA,GAAA,EAAA,IAAA,GAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./FormItem-D1urI0Le.js";
2
+ export { e as default };
@@ -0,0 +1,83 @@
1
+ import { i as e, o as t } from "./constants-C3A6yPOr.js";
2
+ import { createBlock as n, createSlots as r, defineComponent as i, inject as a, mergeModels as o, mergeProps as s, openBlock as c, renderSlot as l, unref as u, useModel as d, withCtx as f } from "vue";
3
+ import { ElInput as p, useLocale as m } from "element-plus";
4
+ //#endregion
5
+ //#region src/components/Input.vue
6
+ var h = /* @__PURE__ */ i({
7
+ __name: "Input",
8
+ props: /* @__PURE__ */ o({
9
+ clearable: { type: Boolean },
10
+ disabled: { type: Boolean },
11
+ size: {},
12
+ type: {},
13
+ showPassword: { type: Boolean },
14
+ autocomplete: {},
15
+ autosize: { type: [Object, Boolean] },
16
+ placeholder: {},
17
+ prefixIcon: {},
18
+ suffixIcon: {}
19
+ }, {
20
+ modelValue: {},
21
+ modelModifiers: {}
22
+ }),
23
+ emits: /* @__PURE__ */ o([
24
+ "blur",
25
+ "focus",
26
+ "change"
27
+ ], ["update:modelValue"]),
28
+ setup(i, { emit: o }) {
29
+ let h = o, g = d(i, "modelValue"), { t: _ } = m(a(t)), v = a(e, void 0);
30
+ if (v?.required) {
31
+ let { label: e, validator: t } = v;
32
+ v.validator = () => g.value ? t?.() : `请输入${e}`;
33
+ }
34
+ let y = (e) => {
35
+ v?.validate?.(), h("blur", e);
36
+ }, b = (e) => {
37
+ h("focus", e);
38
+ }, x = (e) => {
39
+ h("change", e);
40
+ };
41
+ return (e, t) => (c(), n(u(p), s({
42
+ disabled: i.disabled,
43
+ type: i.type,
44
+ size: i.size,
45
+ clearable: i.clearable,
46
+ showPassword: i.showPassword,
47
+ autocomplete: i.autocomplete,
48
+ autosize: i.autosize,
49
+ placeholder: i.placeholder ?? u(_)("el.input.placeholder")
50
+ }, {
51
+ modelValue: g.value,
52
+ "onUpdate:modelValue": t[0] ||= (e) => g.value = e,
53
+ onBlur: y,
54
+ onFocus: b,
55
+ onChange: x
56
+ }), r({ _: 2 }, [
57
+ "append" in e.$slots ? {
58
+ name: "append",
59
+ fn: f(() => [l(e.$slots, "append")]),
60
+ key: "0"
61
+ } : void 0,
62
+ "prepend" in e.$slots ? {
63
+ name: "prepend",
64
+ fn: f(() => [l(e.$slots, "prepend")]),
65
+ key: "1"
66
+ } : void 0,
67
+ "prefix" in e.$slots ? {
68
+ name: "prefix",
69
+ fn: f(() => [l(e.$slots, "prefix")]),
70
+ key: "2"
71
+ } : void 0,
72
+ "suffix" in e.$slots ? {
73
+ name: "suffix",
74
+ fn: f(() => [l(e.$slots, "suffix")]),
75
+ key: "3"
76
+ } : void 0
77
+ ]), 1040, ["modelValue"]));
78
+ }
79
+ });
80
+ //#endregion
81
+ export { h as t };
82
+
83
+ //# sourceMappingURL=Input-DzvAvypN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input-DzvAvypN.js","names":["$slots"],"sources":["../../src/components/Input.vue","../../src/components/Input.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\ndefineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n formItemValidation?.validate?.()\r\n emit('blur', e)\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\ndefineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n formItemValidation?.validate?.()\r\n emit('blur', e)\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;ECsBA,IAAM,IAAO,GAWP,IAAQ,EAAe,GAAA,aAAE,EAGzB,EAAE,SAAM,EADC,EAAO,EAAgB,CACP,EAEzB,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACZ,EAAM,QAGJ,KAAa,GAFX,MAAM;;EAMnB,IAAM,KAAQ,MAAkB;AAE9B,GADA,GAAoB,YAAY,EAChC,EAAK,QAAQ,EAAE;KAEX,KAAS,MAAkB;AAC/B,KAAK,SAAS,EAAE;KAEZ,KAAU,MAAkB;AAChC,KAAK,UAAU,EAAY;;yBAK3B,EA4BU,EAAA,EAAA,EA5BV,EA4BU;aA3BS,EAAA;SAAiB,EAAA;SAAa,EAAA;cAAa,EAAA;iBAAkB,EAAA;iBAAqB,EAAA;aAAqB,EAAA;gBAA8B,EAAA,eAAe,EAAA,EAAC,CAAA,uBAAA;;eAU7J,EAAA;0CAAA,EAAK,QAAA;GACb,QAAM;GACN,SAAO;GACP,UAAQ;;eAEmBA,EAAAA,SAAAA;UAAS;gBACb,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA;;;gBAEKA,EAAAA,SAAAA;UAAS;gBACb,CAAvB,EAAuB,EAAA,QAAA,UAAA,CAAA,CAAA;;;eAEGA,EAAAA,SAAAA;UAAS;gBACb,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA;;;eAEIA,EAAAA,SAAAA;UAAS;gBACb,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./Input-DzvAvypN.js";
2
+ export { e as default };
@@ -0,0 +1,67 @@
1
+ import { i as e, o as t } from "./constants-C3A6yPOr.js";
2
+ import { createBlock as n, createSlots as r, defineComponent as i, inject as a, mergeModels as o, mergeProps as s, openBlock as c, renderSlot as l, unref as u, useModel as d, withCtx as f } from "vue";
3
+ import { ElInputNumber as p, useLocale as m } from "element-plus";
4
+ //#endregion
5
+ //#region src/components/InputNumber.vue
6
+ var h = /* @__PURE__ */ i({
7
+ __name: "InputNumber",
8
+ props: /* @__PURE__ */ o({
9
+ align: {},
10
+ controls: { type: Boolean },
11
+ disabled: { type: Boolean },
12
+ inputmode: {},
13
+ max: {},
14
+ min: {},
15
+ placeholder: {},
16
+ precision: {},
17
+ size: {},
18
+ step: {},
19
+ stepStrictly: { type: Boolean }
20
+ }, {
21
+ modelValue: {},
22
+ modelModifiers: {}
23
+ }),
24
+ emits: /* @__PURE__ */ o(["blur", "focus"], ["update:modelValue"]),
25
+ setup(i, { emit: o }) {
26
+ let h = o, g = d(i, "modelValue"), { t: _ } = m(a(t)), v = a(e, void 0);
27
+ if (v?.required) {
28
+ let { label: e, validator: t } = v;
29
+ v.validator = () => g.value ? t?.() : `请输入${e}`;
30
+ }
31
+ let y = (e) => {
32
+ h("focus", e);
33
+ }, b = (e) => {
34
+ h("blur", e);
35
+ };
36
+ return (e, t) => (c(), n(u(p), s({
37
+ align: i.align,
38
+ controls: i.controls,
39
+ disabled: i.disabled,
40
+ inputmode: i.inputmode,
41
+ max: i.max,
42
+ min: i.min,
43
+ placeholder: i.placeholder ?? u(_)("el.inputNumber.placeholder"),
44
+ precision: i.precision,
45
+ size: i.size,
46
+ step: i.step,
47
+ stepStrictly: i.stepStrictly
48
+ }, {
49
+ modelValue: g.value,
50
+ "onUpdate:modelValue": t[0] ||= (e) => g.value = e,
51
+ onBlur: b,
52
+ onFocus: y
53
+ }), r({ _: 2 }, ["prefix" in e.$slots ? {
54
+ name: "prefix",
55
+ fn: f(() => [l(e.$slots, "prefix")]),
56
+ key: "0"
57
+ } : void 0, "suffix" in e.$slots ? {
58
+ name: "suffix",
59
+ fn: f(() => [l(e.$slots, "suffix")]),
60
+ key: "1"
61
+ } : void 0]), 1040, ["modelValue"]));
62
+ }
63
+ });
64
+ //#endregion
65
+ export { h as t };
66
+
67
+ //# sourceMappingURL=InputNumber-DIO6CJCX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputNumber-DIO6CJCX.js","names":["$slots"],"sources":["../../src/components/InputNumber.vue","../../src/components/InputNumber.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\ndefineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\ndefineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;ECwBA,IAAM,IAAO,GAUP,IAAQ,EAAmB,GAAA,aAAE,EAG7B,EAAE,SAAM,EADC,EAAO,EAAgB,CACP,EAEzB,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACZ,EAAM,QAGJ,KAAa,GAFX,MAAM;;EAMnB,IAAM,KAAS,MAAkB;AAC/B,KAAK,SAAS,EAAE;KAGZ,KAAQ,MAAkB;AAC9B,KAAK,QAAQ,EAAE;;yBAKf,EA8BgB,EAAA,EAAA,EA9BhB,EA8BgB;UA7BG,EAAA;aAAc,EAAA;aAAiB,EAAA;cAAiB,EAAA;QAAkB,EAAA;QAAY,EAAA;gBAAyB,EAAA,eAAe,EAAA,EAAC,CAAA,6BAAA;cAAuC,EAAA;SAAkB,EAAA;SAAa,EAAA;iBAAa,EAAA;;eAalN,EAAA;0CAAA,EAAK,QAAA;GACb,QAAM;GACN,SAAO;+BAGYA,EAAAA,SAAAA;SACjB;eAEqB,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA;;0BAGJA,EAAAA,SAAAA;SACjB;eAEqB,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./InputNumber-DIO6CJCX.js";
2
+ export { e as default };
@@ -0,0 +1,44 @@
1
+ import { createBlock as e, defineComponent as t, mergeModels as n, mergeProps as r, openBlock as i, renderSlot as a, unref as o, useModel as s, withCtx as c } from "vue";
2
+ import { ElPagination as l } from "element-plus";
3
+ //#endregion
4
+ //#region src/components/Pagination.vue
5
+ var u = /* @__PURE__ */ t({
6
+ __name: "Pagination",
7
+ props: /* @__PURE__ */ n({
8
+ pageSizes: {},
9
+ background: { type: Boolean },
10
+ size: {},
11
+ layout: {},
12
+ total: {}
13
+ }, {
14
+ currentPage: {},
15
+ currentPageModifiers: {},
16
+ pageSize: {},
17
+ pageSizeModifiers: {}
18
+ }),
19
+ emits: /* @__PURE__ */ n(["sizeChange", "currentChange"], ["update:currentPage", "update:pageSize"]),
20
+ setup(t, { emit: n }) {
21
+ let u = n, d = s(t, "currentPage"), f = s(t, "pageSize");
22
+ return (n, s) => (i(), e(o(l), r({
23
+ size: t.size,
24
+ total: t.total,
25
+ pageSizes: t.pageSizes,
26
+ background: t.background,
27
+ layout: t.layout
28
+ }, {
29
+ "current-page": d.value,
30
+ "onUpdate:currentPage": s[0] ||= (e) => d.value = e,
31
+ "page-size": f.value,
32
+ "onUpdate:pageSize": s[1] ||= (e) => f.value = e,
33
+ onSizeChange: s[2] ||= (e) => u("sizeChange", e),
34
+ onCurrentChange: s[3] ||= (e) => u("currentChange", e)
35
+ }), {
36
+ default: c(() => [a(n.$slots, "default")]),
37
+ _: 3
38
+ }, 16, ["current-page", "page-size"]));
39
+ }
40
+ });
41
+ //#endregion
42
+ export { u as t };
43
+
44
+ //# sourceMappingURL=Pagination-CGeelxQR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination-CGeelxQR.js","names":[],"sources":["../../src/components/Pagination.vue","../../src/components/Pagination.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { PaginationProps } from 'element-plus'\r\nimport { ElPagination } from 'element-plus'\r\n\r\nexport interface XPaginationProps {\r\n pageSizes?: PaginationProps['pageSizes']\r\n background?: PaginationProps['background']\r\n size?: PaginationProps['size']\r\n layout?: PaginationProps['layout']\r\n total?: PaginationProps['total']\r\n}\r\n\r\ndefineProps<XPaginationProps>()\r\n\r\nconst emit = defineEmits<{\r\n sizeChange: [size: number]\r\n currentChange: [current: number]\r\n}>()\r\nconst currentPage = defineModel<number>('currentPage')\r\nconst pageSize = defineModel<number>('pageSize')\r\n</script>\r\n\r\n<template>\r\n <ElPagination\r\n v-bind=\"{ size, total, pageSizes, background, layout }\"\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n @size-change=\"emit('sizeChange', $event)\"\r\n @current-change=\"emit('currentChange', $event)\"\r\n >\r\n <slot />\r\n </ElPagination>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { PaginationProps } from 'element-plus'\r\nimport { ElPagination } from 'element-plus'\r\n\r\nexport interface XPaginationProps {\r\n pageSizes?: PaginationProps['pageSizes']\r\n background?: PaginationProps['background']\r\n size?: PaginationProps['size']\r\n layout?: PaginationProps['layout']\r\n total?: PaginationProps['total']\r\n}\r\n\r\ndefineProps<XPaginationProps>()\r\n\r\nconst emit = defineEmits<{\r\n sizeChange: [size: number]\r\n currentChange: [current: number]\r\n}>()\r\nconst currentPage = defineModel<number>('currentPage')\r\nconst pageSize = defineModel<number>('pageSize')\r\n</script>\r\n\r\n<template>\r\n <ElPagination\r\n v-bind=\"{ size, total, pageSizes, background, layout }\"\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n @size-change=\"emit('sizeChange', $event)\"\r\n @current-change=\"emit('currentChange', $event)\"\r\n >\r\n <slot />\r\n </ElPagination>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;ECcA,IAAM,IAAO,GAIP,IAAc,EAAmB,GAAC,cAAc,EAChD,IAAW,EAAmB,GAAC,WAAW;yBAI9C,EAQe,EAAA,EAAA,EARf,EAQe;GAAA,MAPH,EAAA;GAAI,OAAE,EAAA;GAAK,WAAE,EAAA;GAAS,YAAE,EAAA;GAAU,QAAE,EAAA;GAAM,EAAA;GAC5C,gBAAc,EAAA;2CAAA,EAAW,QAAA;GACzB,aAAW,EAAA;wCAAA,EAAQ,QAAA;GAC1B,cAAW,AAAA,EAAA,QAAA,MAAE,EAAI,cAAe,EAAM;GACtC,iBAAc,AAAA,EAAA,QAAA,MAAE,EAAI,iBAAkB,EAAM;;oBAErC,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./Pagination-CGeelxQR.js";
2
+ export { e as default };
@@ -0,0 +1,110 @@
1
+ import { i as e, o as t } from "./constants-C3A6yPOr.js";
2
+ import { n } from "./dist-BPi3_vgC.js";
3
+ import { Fragment as r, computed as i, createBlock as a, createElementBlock as o, createTextVNode as s, defineComponent as c, inject as l, mergeModels as u, mergeProps as d, openBlock as f, ref as p, renderList as m, toDisplayString as h, unref as g, useModel as _, watch as v, withCtx as y } from "vue";
4
+ import { ElOption as b, ElSelect as x, useLocale as S } from "element-plus";
5
+ //#endregion
6
+ //#region src/components/Select.vue
7
+ var C = /* @__PURE__ */ c({
8
+ __name: "Select",
9
+ props: /* @__PURE__ */ u({
10
+ collapseTagsTooltip: { type: Boolean },
11
+ clearable: { type: Boolean },
12
+ allowCreate: { type: Boolean },
13
+ collapseTags: { type: Boolean },
14
+ data: {},
15
+ disabled: {
16
+ type: Boolean,
17
+ default: !1
18
+ },
19
+ factory: { type: Function },
20
+ filterable: { type: Boolean },
21
+ identify: { type: Function },
22
+ loading: { type: Boolean },
23
+ multiple: { type: Boolean },
24
+ remote: { type: Boolean },
25
+ remoteMethod: { type: Function },
26
+ size: {},
27
+ supplement: { type: Function },
28
+ placeholder: {},
29
+ noDataText: {}
30
+ }, {
31
+ modelValue: {},
32
+ modelModifiers: {}
33
+ }),
34
+ emits: /* @__PURE__ */ u([
35
+ "blur",
36
+ "change",
37
+ "focus"
38
+ ], ["update:modelValue"]),
39
+ setup(c, { emit: u }) {
40
+ let C = u, w = _(c, "modelValue"), { t: T } = S(l(t)), E = p([]), D = n(() => c.data ?? [], c.factory), O = i(() => [...n(E, c.factory).value, ...D.value]), k = (e) => {
41
+ if (typeof e == "object") {
42
+ if (c.identify) return c.identify(e);
43
+ throw Error("`identify` is required when value's type extends `object` or `object[]`");
44
+ } else return e;
45
+ }, A = (e) => O.value.map((e) => e.value).find((t) => k(t) === e), j = 0;
46
+ v([w, D], async () => {
47
+ if (j++, w.value) {
48
+ let e = [...[], ...Array.isArray(w.value) ? w.value : [w.value]].filter((e) => !D.value.map((e) => k(e.value)).includes(k(e))), t = j, n = await c.supplement?.(e);
49
+ t === j && n && (E.value = n);
50
+ } else E.value = [];
51
+ }, { immediate: !0 });
52
+ let M = i(() => O.value.map((e) => {
53
+ let t = k(e.value);
54
+ return {
55
+ disabled: e.disabled,
56
+ key: t,
57
+ label: e.label,
58
+ value: t
59
+ };
60
+ })), N = i({
61
+ get: () => w.value && (Array.isArray(w.value) ? w.value.map(k) : k(w.value)),
62
+ set: (e) => {
63
+ Array.isArray(e) ? w.value = e.map((e) => A(e)) : w.value = e === void 0 ? void 0 : A(e) ?? (c.allowCreate ? e : void 0);
64
+ }
65
+ }), P = l(e, void 0);
66
+ if (P?.required) {
67
+ let { label: e, validator: t } = P;
68
+ P.validator = () => !w.value || Array.isArray(w.value) && w.value.length === 0 ? `请选择${e}` : t?.();
69
+ }
70
+ return (e, t) => (f(), a(g(x), d({
71
+ placeholder: c.placeholder ?? g(T)("el.select.placeholder"),
72
+ noDataText: c.noDataText ?? g(T)("el.select.noDataText"),
73
+ disabled: c.disabled,
74
+ allowCreate: c.allowCreate,
75
+ remote: c.remote,
76
+ filterable: c.filterable || c.remote,
77
+ clearable: c.clearable,
78
+ remoteMethod: c.remoteMethod,
79
+ multiple: c.multiple,
80
+ loading: c.loading,
81
+ size: c.size,
82
+ collapseTags: c.collapseTags,
83
+ collapseTagsTooltip: c.collapseTagsTooltip
84
+ }, {
85
+ modelValue: N.value,
86
+ "onUpdate:modelValue": t[0] ||= (e) => N.value = e,
87
+ onBlur: t[1] ||= (e) => C("blur", e),
88
+ onChange: t[2] ||= (e) => C("change", e)
89
+ }), {
90
+ default: y(() => [(f(!0), o(r, null, m(M.value, (e) => (f(), a(g(b), {
91
+ key: e.key,
92
+ label: e.label,
93
+ value: e.value,
94
+ disabled: e.disabled
95
+ }, {
96
+ default: y(() => [s(h(e.label), 1)]),
97
+ _: 2
98
+ }, 1032, [
99
+ "label",
100
+ "value",
101
+ "disabled"
102
+ ]))), 128))]),
103
+ _: 1
104
+ }, 16, ["modelValue"]));
105
+ }
106
+ });
107
+ //#endregion
108
+ export { C as t };
109
+
110
+ //# sourceMappingURL=Select-CFKKE0I-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-CFKKE0I-.js","names":[],"sources":["../../src/components/Select.vue","../../src/components/Select.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { SelectProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\n\r\nimport { useArrayMap } from '@vueuse/core'\r\nimport { ElOption, ElSelect, useLocale } from 'element-plus'\r\nimport { computed, inject, ref, watch } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XSelectOptionProps<V> {\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n}\r\n\r\nexport interface XSelectProps<D, V> {\r\n collapseTagsTooltip?: SelectProps['collapseTagsTooltip']\r\n clearable?: SelectProps['clearable']\r\n allowCreate?: SelectProps['allowCreate']\r\n collapseTags?: SelectProps['collapseTags']\r\n data?: D[]\r\n disabled?: SelectProps['disabled']\r\n factory: (option: D) => XSelectOptionProps<V>\r\n\r\n filterable?: SelectProps['filterable']\r\n identify?: (value: V) => number | string\r\n loading?: SelectProps['loading']\r\n multiple?: SelectProps['multiple']\r\n remote?: SelectProps['remote']\r\n\r\n remoteMethod?: (query: string) => void\r\n size?: SelectProps['size']\r\n\r\n supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>\r\n placeholder?: SelectProps['placeholder']\r\n noDataText?: SelectProps['noDataText']\r\n}\r\n\r\nconst {\r\n allowCreate,\r\n data,\r\n disabled = false,\r\n factory,\r\n identify,\r\n supplement\r\n} = defineProps<XSelectProps<D, V>>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n change: [value: MV]\r\n focus: []\r\n}>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst supplements = ref([]) as Ref<D[]>\r\nconst init = useArrayMap(() => data ?? [], factory)\r\nconst options = computed(() => [...useArrayMap(supplements, factory).value, ...init.value])\r\n\r\nconst forward = (value: V) => {\r\n if (typeof value === 'object') {\r\n if (identify) {\r\n return identify(value)\r\n }\r\n else {\r\n throw new Error('`identify` is required when value\\'s type extends `object` or `object[]`')\r\n }\r\n }\r\n else {\r\n return value as number | string\r\n }\r\n}\r\nconst backward = (key: number | string) =>\r\n options.value.map(item => item.value).find(item => forward(item) === key)\r\n\r\nlet no = 0\r\nwatch(\r\n [model, init],\r\n async () => {\r\n no++\r\n if (model.value) {\r\n const lacks = [...[] as V[], ...Array.isArray(model.value) ? model.value : [model.value]]\r\n .filter(item => !init.value.map(it => forward(it.value)).includes(forward(item)))\r\n const _no = no\r\n const _data = await supplement?.(lacks)\r\n if (_no === no && _data) {\r\n supplements.value = _data\r\n }\r\n }\r\n else {\r\n supplements.value = []\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\nconst localOptions = computed(() =>\r\n options.value.map((item) => {\r\n const key = forward(item.value)\r\n return { disabled: item.disabled, key, label: item.label, value: key }\r\n })\r\n)\r\n\r\nconst localModel = computed({\r\n get: () =>\r\n model.value\r\n && (Array.isArray(model.value) ? model.value.map(forward) : forward(model.value as V)),\r\n set: (value) => {\r\n if (Array.isArray(value)) {\r\n model.value = value.map(item => backward(item)!) as MV\r\n }\r\n else {\r\n model.value\r\n = value === undefined\r\n ? undefined\r\n : ((backward(value) ?? (allowCreate ? value : undefined)) as MV)\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect\r\n v-bind=\"{\r\n placeholder: placeholder ?? t('el.select.placeholder'),\r\n noDataText: noDataText ?? t('el.select.noDataText'),\r\n disabled,\r\n allowCreate,\r\n remote,\r\n filterable: filterable || remote,\r\n clearable,\r\n remoteMethod,\r\n multiple,\r\n loading,\r\n size,\r\n collapseTags,\r\n collapseTagsTooltip,\r\n }\"\r\n v-model=\"localModel\"\r\n @blur=\"emit('blur', $event)\"\r\n @change=\"value => emit('change', value)\"\r\n >\r\n <ElOption\r\n v-for=\"option of localOptions\"\r\n :key=\"option.key\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"\r\n :disabled=\"option.disabled\"\r\n >\r\n {{ option.label }}\r\n </ElOption>\r\n </ElSelect>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { SelectProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\n\r\nimport { useArrayMap } from '@vueuse/core'\r\nimport { ElOption, ElSelect, useLocale } from 'element-plus'\r\nimport { computed, inject, ref, watch } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XSelectOptionProps<V> {\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n}\r\n\r\nexport interface XSelectProps<D, V> {\r\n collapseTagsTooltip?: SelectProps['collapseTagsTooltip']\r\n clearable?: SelectProps['clearable']\r\n allowCreate?: SelectProps['allowCreate']\r\n collapseTags?: SelectProps['collapseTags']\r\n data?: D[]\r\n disabled?: SelectProps['disabled']\r\n factory: (option: D) => XSelectOptionProps<V>\r\n\r\n filterable?: SelectProps['filterable']\r\n identify?: (value: V) => number | string\r\n loading?: SelectProps['loading']\r\n multiple?: SelectProps['multiple']\r\n remote?: SelectProps['remote']\r\n\r\n remoteMethod?: (query: string) => void\r\n size?: SelectProps['size']\r\n\r\n supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>\r\n placeholder?: SelectProps['placeholder']\r\n noDataText?: SelectProps['noDataText']\r\n}\r\n\r\nconst {\r\n allowCreate,\r\n data,\r\n disabled = false,\r\n factory,\r\n identify,\r\n supplement\r\n} = defineProps<XSelectProps<D, V>>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n change: [value: MV]\r\n focus: []\r\n}>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst supplements = ref([]) as Ref<D[]>\r\nconst init = useArrayMap(() => data ?? [], factory)\r\nconst options = computed(() => [...useArrayMap(supplements, factory).value, ...init.value])\r\n\r\nconst forward = (value: V) => {\r\n if (typeof value === 'object') {\r\n if (identify) {\r\n return identify(value)\r\n }\r\n else {\r\n throw new Error('`identify` is required when value\\'s type extends `object` or `object[]`')\r\n }\r\n }\r\n else {\r\n return value as number | string\r\n }\r\n}\r\nconst backward = (key: number | string) =>\r\n options.value.map(item => item.value).find(item => forward(item) === key)\r\n\r\nlet no = 0\r\nwatch(\r\n [model, init],\r\n async () => {\r\n no++\r\n if (model.value) {\r\n const lacks = [...[] as V[], ...Array.isArray(model.value) ? model.value : [model.value]]\r\n .filter(item => !init.value.map(it => forward(it.value)).includes(forward(item)))\r\n const _no = no\r\n const _data = await supplement?.(lacks)\r\n if (_no === no && _data) {\r\n supplements.value = _data\r\n }\r\n }\r\n else {\r\n supplements.value = []\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\nconst localOptions = computed(() =>\r\n options.value.map((item) => {\r\n const key = forward(item.value)\r\n return { disabled: item.disabled, key, label: item.label, value: key }\r\n })\r\n)\r\n\r\nconst localModel = computed({\r\n get: () =>\r\n model.value\r\n && (Array.isArray(model.value) ? model.value.map(forward) : forward(model.value as V)),\r\n set: (value) => {\r\n if (Array.isArray(value)) {\r\n model.value = value.map(item => backward(item)!) as MV\r\n }\r\n else {\r\n model.value\r\n = value === undefined\r\n ? undefined\r\n : ((backward(value) ?? (allowCreate ? value : undefined)) as MV)\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect\r\n v-bind=\"{\r\n placeholder: placeholder ?? t('el.select.placeholder'),\r\n noDataText: noDataText ?? t('el.select.noDataText'),\r\n disabled,\r\n allowCreate,\r\n remote,\r\n filterable: filterable || remote,\r\n clearable,\r\n remoteMethod,\r\n multiple,\r\n loading,\r\n size,\r\n collapseTags,\r\n collapseTagsTooltip,\r\n }\"\r\n v-model=\"localModel\"\r\n @blur=\"emit('blur', $event)\"\r\n @change=\"value => emit('change', value)\"\r\n >\r\n <ElOption\r\n v-for=\"option of localOptions\"\r\n :key=\"option.key\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"\r\n :disabled=\"option.disabled\"\r\n >\r\n {{ option.label }}\r\n </ElOption>\r\n </ElSelect>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECgDA,IAAM,IAAO,GAMP,IAAQ,EAAe,GAAA,aAAE,EAGzB,EAAE,SAAM,EADC,EAAO,EAAgB,CACP,EAEzB,IAAc,EAAI,EAAE,CAAa,EACjC,IAAO,QAAkB,EAAA,QAAQ,EAAE,EAAE,EAAA,QAAQ,EAC7C,IAAU,QAAe,CAAC,GAAG,EAAY,GAAa,EAAA,QAAQ,CAAC,OAAO,GAAG,EAAK,MAAM,CAAC,EAErF,KAAW,MAAa;AAC5B,OAAI,OAAO,KAAU,UACnB;QAAI,EAAA,SACF,QAAO,EAAA,SAAS,EAAM;AAGtB,UAAU,MAAM,0EAA2E;SAI7F,QAAO;KAGL,KAAY,MAChB,EAAQ,MAAM,KAAI,MAAQ,EAAK,MAAM,CAAC,MAAK,MAAQ,EAAQ,EAAK,KAAK,EAAI,EAEvE,IAAK;AACT,IACE,CAAC,GAAO,EAAK,EACb,YAAY;AAEV,OADA,KACI,EAAM,OAAO;IACf,IAAM,IAAQ,CAAC,GAAG,EAAS,EAAE,GAAG,MAAM,QAAQ,EAAM,MAAM,GAAG,EAAM,QAAQ,CAAC,EAAM,MAAM,CAAC,CACtF,QAAO,MAAQ,CAAC,EAAK,MAAM,KAAI,MAAM,EAAQ,EAAG,MAAM,CAAC,CAAC,SAAS,EAAQ,EAAK,CAAC,CAAC,EAC7E,IAAM,GACN,IAAQ,MAAM,EAAA,aAAa,EAAM;AACvC,IAAI,MAAQ,KAAM,MAChB,EAAY,QAAQ;SAItB,GAAY,QAAQ,EAAE;KAG1B,EAAE,WAAW,IACf,CAAC;EAED,IAAM,IAAe,QACnB,EAAQ,MAAM,KAAK,MAAS;GAC1B,IAAM,IAAM,EAAQ,EAAK,MAAM;AAC/B,UAAO;IAAE,UAAU,EAAK;IAAU;IAAK,OAAO,EAAK;IAAO,OAAO;IAAK;IAE1E,CAAC,EAEK,IAAa,EAAS;GAC1B,WACE,EAAM,UACF,MAAM,QAAQ,EAAM,MAAM,GAAG,EAAM,MAAM,IAAI,EAAQ,GAAG,EAAQ,EAAM,MAAW;GACvF,MAAM,MAAU;AACd,IAAI,MAAM,QAAQ,EAAM,GACtB,EAAM,QAAQ,EAAM,KAAI,MAAQ,EAAS,EAAM,CAAO,GAGtD,EAAM,QACF,MAAU,KAAA,IACR,KAAA,IACE,EAAS,EAAM,KAAK,EAAA,cAAc,IAAQ,KAAA;;GAGvD,CAAC,EAEI,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACb,CAAC,EAAM,SAAU,MAAM,QAAQ,EAAM,MAAM,IAAI,EAAM,MAAM,WAAW,IACjE,MAAM,MAER,KAAa;;yBAMtB,EA6BW,EAAA,EAAA,EA7BX,EA6BW;gBA5BqB,EAAA,eAAe,EAAA,EAAC,CAAA,wBAAA;eAA8C,EAAA,cAAc,EAAA,EAAC,CAAA,uBAAA;aAAiC,EAAA;gBAAiB,EAAA;WAAoB,EAAA;eAA2B,EAAA,cAAc,EAAA;cAAe,EAAA;iBAAkB,EAAA;aAAqB,EAAA;YAAiB,EAAA;SAAgB,EAAA;iBAAa,EAAA;wBAAqB,EAAA;;eAe1U,EAAA;0CAAA,EAAU,QAAA;GAClB,QAAI,AAAA,EAAA,QAAA,MAAE,EAAI,QAAS,EAAM;GACzB,UAAM,AAAA,EAAA,QAAE,MAAS,EAAI,UAAW,EAAK;;oBAGN,EAAA,EAAA,GAAA,EADhC,EAQW,GAAA,MAAA,EAPQ,EAAA,QAAV,YADT,EAQW,EAAA,EAAA,EAAA;IANR,KAAK,EAAO;IACZ,OAAO,EAAO;IACd,OAAO,EAAO;IACd,UAAU,EAAO;;qBAEA,CAAA,EAAA,EAAf,EAAO,MAAK,EAAA,EAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./Select-CFKKE0I-.js";
2
+ export { e as default };
@@ -0,0 +1,34 @@
1
+ import { c as e, r as t } from "./constants-C3A6yPOr.js";
2
+ import { createBlock as n, defineComponent as r, guardReactiveProps as i, normalizeProps as a, openBlock as o, provide as s, renderSlot as c, unref as l, withCtx as u } from "vue";
3
+ import { ElTabPane as d } from "element-plus";
4
+ //#endregion
5
+ //#region src/components/TabPane.vue
6
+ var f = /* @__PURE__ */ r({
7
+ __name: "TabPane",
8
+ props: {
9
+ closable: { type: Boolean },
10
+ disabled: { type: Boolean },
11
+ label: {},
12
+ lazy: { type: Boolean },
13
+ name: {}
14
+ },
15
+ setup(r, { expose: f }) {
16
+ return f({
17
+ label: r.label,
18
+ name: r.name
19
+ }), s(t, !0), s(e, r.name), (e, t) => (o(), n(l(d), a(i({
20
+ label: r.label,
21
+ name: r.name,
22
+ disabled: r.disabled,
23
+ closable: r.closable,
24
+ lazy: r.lazy
25
+ })), {
26
+ default: u(() => [c(e.$slots, "default")]),
27
+ _: 3
28
+ }, 16));
29
+ }
30
+ });
31
+ //#endregion
32
+ export { f as t };
33
+
34
+ //# sourceMappingURL=TabPane-DhCA6CP1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabPane-DhCA6CP1.js","names":[],"sources":["../../src/components/TabPane.vue","../../src/components/TabPane.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { TabPaneProps } from 'element-plus'\r\nimport { ElTabPane } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_TAB_PANE_NAME } from '../constants'\r\n\r\nexport interface XTabPaneConfig {\r\n label?: string\r\n name?: number | string\r\n}\r\n\r\nexport interface XTabPaneProps {\r\n closable?: TabPaneProps['closable']\r\n disabled?: TabPaneProps['disabled']\r\n label?: TabPaneProps['label']\r\n lazy?: TabPaneProps['lazy']\r\n name?: TabPaneProps['name']\r\n}\r\n\r\nconst { label, name } = defineProps<XTabPaneProps>()\r\n\r\nconst pane = { label, name }\r\n\r\ndefineExpose({ ...pane })\r\n\r\nprovide(X_ELEMENT_IN_TAB_PANE, true)\r\nprovide(X_TAB_PANE_NAME, name)\r\n</script>\r\n\r\n<template>\r\n <ElTabPane\r\n v-bind=\"{ label, name, disabled, closable, lazy }\"\r\n >\r\n <slot />\r\n </ElTabPane>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { TabPaneProps } from 'element-plus'\r\nimport { ElTabPane } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_TAB_PANE_NAME } from '../constants'\r\n\r\nexport interface XTabPaneConfig {\r\n label?: string\r\n name?: number | string\r\n}\r\n\r\nexport interface XTabPaneProps {\r\n closable?: TabPaneProps['closable']\r\n disabled?: TabPaneProps['disabled']\r\n label?: TabPaneProps['label']\r\n lazy?: TabPaneProps['lazy']\r\n name?: TabPaneProps['name']\r\n}\r\n\r\nconst { label, name } = defineProps<XTabPaneProps>()\r\n\r\nconst pane = { label, name }\r\n\r\ndefineExpose({ ...pane })\r\n\r\nprovide(X_ELEMENT_IN_TAB_PANE, true)\r\nprovide(X_TAB_PANE_NAME, name)\r\n</script>\r\n\r\n<template>\r\n <ElTabPane\r\n v-bind=\"{ label, name, disabled, closable, lazy }\"\r\n >\r\n <slot />\r\n </ElTabPane>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;SCuBA,EAAa;GAFE,OAAI,EAAA;GAAG,MAAG,EAAA;GAED,CAAC,EAEzB,EAAQ,GAAuB,GAAK,EACpC,EAAQ,GAAiB,EAAA,KAAK,kBAI5B,EAIY,EAAA,EAAA,EAAA,EAAA,EAAA;GAAA,OAHA,EAAA;GAAK,MAAE,EAAA;GAAI,UAAE,EAAA;GAAQ,UAAE,EAAA;GAAQ,MAAE,EAAA;GAAI,CAAA,CAAA,EAAA;oBAEvC,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./TabPane-DhCA6CP1.js";
2
+ export { e as default };
@@ -0,0 +1,101 @@
1
+ import { o as e } from "./constants-C3A6yPOr.js";
2
+ import { Fragment as t, createBlock as n, createElementBlock as r, createVNode as i, defineComponent as a, inject as o, mergeProps as s, openBlock as c, renderList as l, unref as u, useTemplateRef as d, withCtx as f } from "vue";
3
+ import { ElTable as p, ElTableColumn as m, useLocale as h } from "element-plus";
4
+ //#endregion
5
+ //#region src/components/Table.vue
6
+ var g = /* @__PURE__ */ a({
7
+ __name: "Table",
8
+ props: {
9
+ border: {
10
+ type: Boolean,
11
+ default: !0
12
+ },
13
+ cellClassName: { type: [Function, String] },
14
+ cellStyle: { type: [Function, Object] },
15
+ columns: {},
16
+ data: {},
17
+ height: {},
18
+ emptyText: {},
19
+ rowClassName: { type: [Function, String] },
20
+ rowKey: { type: Function },
21
+ rowStyle: { type: [Function, Object] },
22
+ showOverflowTooltip: {
23
+ type: [Boolean, Object],
24
+ default: !0
25
+ },
26
+ showSummary: { type: Boolean },
27
+ size: {},
28
+ spanMethod: { type: Function },
29
+ summaryMethod: { type: Function }
30
+ },
31
+ emits: [
32
+ "headerDragend",
33
+ "rowClick",
34
+ "rowDbClick",
35
+ "selectionChange"
36
+ ],
37
+ setup(g, { expose: _, emit: v }) {
38
+ let y = v, { t: b } = h(o(e)), x = d("table");
39
+ _({
40
+ clearSelection: () => x.value?.clearSelection(),
41
+ getSelectionRows: () => x.value?.getSelectionRows(),
42
+ scrollTo: (e, t) => x.value?.scrollTo(e, t),
43
+ setCurrentRow: (e) => x.value?.setCurrentRow(e),
44
+ setScrollLeft: (e) => x.value?.scrollTo(e),
45
+ setScrollTop: (e) => x.value?.scrollTo(e),
46
+ toggleRowSelection: (e, t, n) => x.value?.toggleRowSelection(e, t, n)
47
+ });
48
+ let S = /* @__PURE__ */ a((e) => () => i(m, {
49
+ fixed: e.fixed,
50
+ label: e.label,
51
+ prop: e.prop,
52
+ type: e.type
53
+ }, {
54
+ default: ({ row: t, $index: n }) => e.content?.({
55
+ row: t,
56
+ index: n
57
+ }),
58
+ header: () => e.header?.({ column: { ...e } })
59
+ }), { props: [
60
+ "content",
61
+ "fixed",
62
+ "header",
63
+ "label",
64
+ "prop",
65
+ "selectable",
66
+ "type",
67
+ "width"
68
+ ] });
69
+ return (e, i) => (c(), n(u(p), s({
70
+ ref_key: "table",
71
+ ref: x
72
+ }, {
73
+ data: g.data,
74
+ height: g.height,
75
+ rowClassName: g.rowClassName,
76
+ rowStyle: g.rowStyle,
77
+ cellClassName: g.cellClassName,
78
+ cellStyle: g.cellStyle,
79
+ showSummary: g.showSummary,
80
+ showOverflowTooltip: g.showOverflowTooltip,
81
+ spanMethod: g.spanMethod,
82
+ summaryMethod: g.summaryMethod,
83
+ size: g.size,
84
+ rowKey: g.rowKey,
85
+ border: g.border,
86
+ emptyText: g.emptyText ?? u(b)("el.table.emptyText")
87
+ }, {
88
+ onRowClick: i[0] ||= (e) => y("rowClick", e),
89
+ onRowDblclick: i[1] ||= (e) => y("rowDbClick", e),
90
+ onSelectionChange: i[2] ||= (e) => y("selectionChange", e),
91
+ onHeaderDragend: i[3] ||= (e, t, n) => y("headerDragend", e, t, n)
92
+ }), {
93
+ default: f(() => [(c(!0), r(t, null, l(g.columns, (e) => (c(), n(u(S), s({ ref_for: !0 }, e), null, 16))), 256))]),
94
+ _: 1
95
+ }, 16));
96
+ }
97
+ });
98
+ //#endregion
99
+ export { g as t };
100
+
101
+ //# sourceMappingURL=Table-ZkfKXNqO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table-ZkfKXNqO.js","names":[],"sources":["../../src/components/Table.vue","../../src/components/Table.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D\">\r\nimport type { TableColumnCtx, TableProps } from 'element-plus'\r\nimport type { CSSProperties, VNode, VNodeChild } from 'vue'\r\n\r\nimport { ElTable, ElTableColumn, useLocale } from 'element-plus'\r\nimport { defineComponent, inject, useTemplateRef } from 'vue'\r\n\r\nimport { X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XTableColumnProps<D> {\r\n content?: (scope: { index: number, row: D }) => VNodeChild\r\n fixed?: 'left' | 'right'\r\n header?: (scope: { column: XTableColumnProps<D> }) => VNodeChild\r\n label?: string\r\n prop?: string\r\n selectable?: (row: D, index: number) => boolean\r\n type?: 'index' | 'selection'\r\n width?: number\r\n}\r\n\r\nexport interface XTableProps<D> {\r\n border?: TableProps<any>['border']\r\n cellClassName?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => string) | string\r\n cellStyle?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n columns?: XTableColumnProps<D>[]\r\n data?: D[]\r\n height?: TableProps<any>['height']\r\n emptyText?: TableProps<any>['emptyText']\r\n rowClassName?: ((scope: { row: D, rowIndex: number }) => string) | string\r\n rowKey?: (scope: { row: D }) => string\r\n rowStyle?: ((scope: { row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n showOverflowTooltip?: TableProps<any>['showOverflowTooltip']\r\n showSummary?: TableProps<any>['showSummary']\r\n size?: TableProps<any>['size']\r\n spanMethod?: (scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => number[] | undefined | { colspan: number, rowspan: number }\r\n summaryMethod?: (scope: { columns: TableColumnCtx[], data: D[] }) => (string | VNode)[]\r\n}\r\n\r\nconst { columns, data, showOverflowTooltip = true, border = true } = defineProps<XTableProps<D>>()\r\n\r\nconst emit = defineEmits<{\r\n headerDragend: [newWidth: number, oldWidth: number, column: TableColumnCtx]\r\n rowClick: [row: D]\r\n rowDbClick: [row: D]\r\n selectionChange: [rows: D[]]\r\n}>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst table = useTemplateRef('table')\r\n\r\ndefineExpose({\r\n clearSelection: () => table.value?.clearSelection(),\r\n getSelectionRows: () => table.value?.getSelectionRows(),\r\n scrollTo: (options: number | ScrollToOptions, yCoord?: number) => table.value?.scrollTo(options, yCoord),\r\n setCurrentRow: (row: D) => table.value?.setCurrentRow(row),\r\n setScrollLeft: (left: number) => table.value?.scrollTo(left),\r\n setScrollTop: (top: number) => table.value?.scrollTo(top),\r\n toggleRowSelection: (row: D, selected?: boolean, ignoreSelectable?: boolean) => table.value?.toggleRowSelection(row, selected, ignoreSelectable)\r\n})\r\n\r\nconst XTableColumn = defineComponent((props: XTableColumnProps<D>) => {\r\n return () => (\r\n <ElTableColumn\r\n fixed={props.fixed}\r\n label={props.label}\r\n prop={props.prop}\r\n type={props.type}\r\n >\r\n {{\r\n default: ({ row, $index }: { row: D, $index: number }) => props.content?.({ row, index: $index }),\r\n header: () => props.header?.({ column: { ...props } })\r\n }}\r\n </ElTableColumn>\r\n )\r\n}, { props: ['content', 'fixed', 'header', 'label', 'prop', 'selectable', 'type', 'width'] })\r\n</script>\r\n\r\n<template>\r\n <ElTable\r\n ref=\"table\"\r\n v-bind=\"{\r\n data,\r\n height,\r\n rowClassName,\r\n rowStyle,\r\n cellClassName,\r\n cellStyle,\r\n showSummary,\r\n showOverflowTooltip,\r\n spanMethod,\r\n summaryMethod,\r\n size,\r\n rowKey,\r\n border,\r\n emptyText: emptyText ?? t('el.table.emptyText'),\r\n }\"\r\n @row-click=\"(row: D) => emit('rowClick', row)\"\r\n @row-dblclick=\"(row: D) => emit('rowDbClick', row)\"\r\n @selection-change=\"(rows: D[]) => emit('selectionChange', rows)\"\r\n @header-dragend=\"(newWidth, oldWidth, column) => emit('headerDragend', newWidth, oldWidth, column)\"\r\n >\r\n <XTableColumn\r\n v-for=\"column of columns\"\r\n v-bind=\"column\"\r\n />\r\n </ElTable>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D\">\r\nimport type { TableColumnCtx, TableProps } from 'element-plus'\r\nimport type { CSSProperties, VNode, VNodeChild } from 'vue'\r\n\r\nimport { ElTable, ElTableColumn, useLocale } from 'element-plus'\r\nimport { defineComponent, inject, useTemplateRef } from 'vue'\r\n\r\nimport { X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XTableColumnProps<D> {\r\n content?: (scope: { index: number, row: D }) => VNodeChild\r\n fixed?: 'left' | 'right'\r\n header?: (scope: { column: XTableColumnProps<D> }) => VNodeChild\r\n label?: string\r\n prop?: string\r\n selectable?: (row: D, index: number) => boolean\r\n type?: 'index' | 'selection'\r\n width?: number\r\n}\r\n\r\nexport interface XTableProps<D> {\r\n border?: TableProps<any>['border']\r\n cellClassName?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => string) | string\r\n cellStyle?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n columns?: XTableColumnProps<D>[]\r\n data?: D[]\r\n height?: TableProps<any>['height']\r\n emptyText?: TableProps<any>['emptyText']\r\n rowClassName?: ((scope: { row: D, rowIndex: number }) => string) | string\r\n rowKey?: (scope: { row: D }) => string\r\n rowStyle?: ((scope: { row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n showOverflowTooltip?: TableProps<any>['showOverflowTooltip']\r\n showSummary?: TableProps<any>['showSummary']\r\n size?: TableProps<any>['size']\r\n spanMethod?: (scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => number[] | undefined | { colspan: number, rowspan: number }\r\n summaryMethod?: (scope: { columns: TableColumnCtx[], data: D[] }) => (string | VNode)[]\r\n}\r\n\r\nconst { columns, data, showOverflowTooltip = true, border = true } = defineProps<XTableProps<D>>()\r\n\r\nconst emit = defineEmits<{\r\n headerDragend: [newWidth: number, oldWidth: number, column: TableColumnCtx]\r\n rowClick: [row: D]\r\n rowDbClick: [row: D]\r\n selectionChange: [rows: D[]]\r\n}>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst table = useTemplateRef('table')\r\n\r\ndefineExpose({\r\n clearSelection: () => table.value?.clearSelection(),\r\n getSelectionRows: () => table.value?.getSelectionRows(),\r\n scrollTo: (options: number | ScrollToOptions, yCoord?: number) => table.value?.scrollTo(options, yCoord),\r\n setCurrentRow: (row: D) => table.value?.setCurrentRow(row),\r\n setScrollLeft: (left: number) => table.value?.scrollTo(left),\r\n setScrollTop: (top: number) => table.value?.scrollTo(top),\r\n toggleRowSelection: (row: D, selected?: boolean, ignoreSelectable?: boolean) => table.value?.toggleRowSelection(row, selected, ignoreSelectable)\r\n})\r\n\r\nconst XTableColumn = defineComponent((props: XTableColumnProps<D>) => {\r\n return () => (\r\n <ElTableColumn\r\n fixed={props.fixed}\r\n label={props.label}\r\n prop={props.prop}\r\n type={props.type}\r\n >\r\n {{\r\n default: ({ row, $index }: { row: D, $index: number }) => props.content?.({ row, index: $index }),\r\n header: () => props.header?.({ column: { ...props } })\r\n }}\r\n </ElTableColumn>\r\n )\r\n}, { props: ['content', 'fixed', 'header', 'label', 'prop', 'selectable', 'type', 'width'] })\r\n</script>\r\n\r\n<template>\r\n <ElTable\r\n ref=\"table\"\r\n v-bind=\"{\r\n data,\r\n height,\r\n rowClassName,\r\n rowStyle,\r\n cellClassName,\r\n cellStyle,\r\n showSummary,\r\n showOverflowTooltip,\r\n spanMethod,\r\n summaryMethod,\r\n size,\r\n rowKey,\r\n border,\r\n emptyText: emptyText ?? t('el.table.emptyText'),\r\n }\"\r\n @row-click=\"(row: D) => emit('rowClick', row)\"\r\n @row-dblclick=\"(row: D) => emit('rowDbClick', row)\"\r\n @selection-change=\"(rows: D[]) => emit('selectionChange', rows)\"\r\n @header-dragend=\"(newWidth, oldWidth, column) => emit('headerDragend', newWidth, oldWidth, column)\"\r\n >\r\n <XTableColumn\r\n v-for=\"column of columns\"\r\n v-bind=\"column\"\r\n />\r\n </ElTable>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECwCA,IAAM,IAAO,GAQP,EAAE,SAAM,EADC,EAAO,EAAgB,CACP,EAEzB,IAAQ,EAAe,QAAQ;AAErC,IAAa;GACX,sBAAsB,EAAM,OAAO,gBAAgB;GACnD,wBAAwB,EAAM,OAAO,kBAAkB;GACvD,WAAW,GAAmC,MAAoB,EAAM,OAAO,SAAS,GAAS,EAAO;GACxG,gBAAgB,MAAW,EAAM,OAAO,cAAc,EAAI;GAC1D,gBAAgB,MAAiB,EAAM,OAAO,SAAS,EAAK;GAC5D,eAAe,MAAgB,EAAM,OAAO,SAAS,EAAI;GACzD,qBAAqB,GAAQ,GAAoB,MAA+B,EAAM,OAAO,mBAAmB,GAAK,GAAU,EAAgB;GAChJ,CAAC;EAEF,IAAM,IAAe,mBAAiB,YAC7B,EAAA,GAAA;GAAA,OAEI,EAAM;GAAK,OACX,EAAM;GAAK,MACZ,EAAM;GAAI,MACV,EAAM;GAAI,EAAA;GAGd,UAAU,EAAE,QAAK,gBAAyC,EAAM,UAAU;IAAE;IAAK,OAAO;IAAQ,CAAC;GACjG,cAAc,EAAM,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAM,EAAG,CAAA;GAAC,CAG3D,EACA,EAAE,OAAO;GAAC;GAAW;GAAS;GAAU;GAAS;GAAQ;GAAc;GAAQ;GAAO,EAAG,CAAC;yBAI3F,EA2BU,EAAA,EAAA,EA3BV,EA2BU;YA1BJ;GAAJ,KAAI;;SACa,EAAA;WAAa,EAAA;iBAAe,EAAA;aAAqB,EAAA;kBAAiB,EAAA;cAAsB,EAAA;gBAAkB,EAAA;wBAAoB,EAAA;eAA4B,EAAA;kBAAmB,EAAA;SAAsB,EAAA;WAAa,EAAA;WAAe,EAAA;cAA0B,EAAA,aAAa,EAAA,EAAC,CAAA,qBAAA;;GAgBvR,YAAS,AAAA,EAAA,QAAG,MAAW,EAAI,YAAa,EAAG;GAC3C,eAAY,AAAA,EAAA,QAAG,MAAW,EAAI,cAAe,EAAG;GAChD,mBAAgB,AAAA,EAAA,QAAG,MAAc,EAAI,mBAAoB,EAAI;GAC7D,iBAAc,AAAA,EAAA,QAAG,GAAU,GAAU,MAAW,EAAI,iBAAkB,GAAU,GAAU,EAAM;;oBAGtE,EAAA,EAAA,GAAA,EAD3B,EAGE,GAAA,MAAA,EAFiB,EAAA,UAAV,YADT,EAGE,EAAA,EAAA,EAHF,EAGE,EAAA,SAAA,IAAA,EADQ,EAAM,EAAA,MAAA,GAAA"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./Table-ZkfKXNqO.js";
2
+ export { e as default };
@@ -0,0 +1,17 @@
1
+ import { createBlock as e, defineComponent as t, openBlock as n, renderSlot as r, unref as i, withCtx as a } from "vue";
2
+ import { ElTableColumn as o } from "element-plus";
3
+ //#endregion
4
+ //#region src/components/TableColumn.vue
5
+ var s = /* @__PURE__ */ t({
6
+ __name: "TableColumn",
7
+ setup(t) {
8
+ return (t, s) => (n(), e(i(o), null, {
9
+ default: a(() => [r(t.$slots, "default")]),
10
+ _: 3
11
+ }));
12
+ }
13
+ });
14
+ //#endregion
15
+ export { s as default };
16
+
17
+ //# sourceMappingURL=TableColumn.js.map