@pungfe/element 0.0.1-alpha.21 → 0.0.1-alpha.22

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 (53) hide show
  1. package/dist/cjs/ButtonPopconfirm.cjs +1 -1
  2. package/dist/cjs/{FormItem-Dr0G-5Q4.cjs → FormItem-DT2H_f3C.cjs} +2 -2
  3. package/dist/cjs/FormItem-DT2H_f3C.cjs.map +1 -0
  4. package/dist/cjs/FormItem.cjs +1 -1
  5. package/dist/cjs/Input-DuZALrON.cjs.map +1 -1
  6. package/dist/cjs/Select-DbiBYKYx.cjs +2 -0
  7. package/dist/cjs/Select-DbiBYKYx.cjs.map +1 -0
  8. package/dist/cjs/Select.cjs +1 -1
  9. package/dist/cjs/{components-Xete52W-.cjs → components-DyNGpunH.cjs} +2 -2
  10. package/dist/cjs/{components-Xete52W-.cjs.map → components-DyNGpunH.cjs.map} +1 -1
  11. package/dist/cjs/index.cjs +1 -1
  12. package/dist/es/ButtonPopconfirm.js +3 -3
  13. package/dist/es/FormItem-DFIl76qa.js +41 -0
  14. package/dist/es/FormItem-DFIl76qa.js.map +1 -0
  15. package/dist/es/FormItem.js +1 -1
  16. package/dist/es/Input-JT0g3gkf.js.map +1 -1
  17. package/dist/es/{Select-BKdDBeJC.js → Select-DNpw-ydO.js} +4 -2
  18. package/dist/es/Select-DNpw-ydO.js.map +1 -0
  19. package/dist/es/Select.js +1 -1
  20. package/dist/es/{components-DKoUIsFy.js → components-CEMhBZ0B.js} +3 -3
  21. package/dist/es/{components-DKoUIsFy.js.map → components-CEMhBZ0B.js.map} +1 -1
  22. package/dist/es/index.js +3 -3
  23. package/dist/types/components/Select.vue.d.ts +1 -0
  24. package/package.json +5 -5
  25. package/dist/cjs/FormItem-Dr0G-5Q4.cjs.map +0 -1
  26. package/dist/cjs/Select-C-b-Biw3.cjs +0 -2
  27. package/dist/cjs/Select-C-b-Biw3.cjs.map +0 -1
  28. package/dist/es/FormItem--C1bP0wY.js +0 -37
  29. package/dist/es/FormItem--C1bP0wY.js.map +0 -1
  30. package/dist/es/Select-BKdDBeJC.js.map +0 -1
  31. package/dist/types/src/components/Button.vue.d.ts +0 -31
  32. package/dist/types/src/components/ButtonPopconfirm.vue.d.ts +0 -27
  33. package/dist/types/src/components/ConfigProvider.vue.d.ts +0 -21
  34. package/dist/types/src/components/DatePicker.vue.d.ts +0 -34
  35. package/dist/types/src/components/Dialog.vue.d.ts +0 -44
  36. package/dist/types/src/components/Form.vue.d.ts +0 -36
  37. package/dist/types/src/components/FormItem.vue.d.ts +0 -33
  38. package/dist/types/src/components/Input.vue.d.ts +0 -44
  39. package/dist/types/src/components/InputNumber.vue.d.ts +0 -48
  40. package/dist/types/src/components/Pagination.vue.d.ts +0 -40
  41. package/dist/types/src/components/Select.vue.d.ts +0 -45
  42. package/dist/types/src/components/TabPane.vue.d.ts +0 -32
  43. package/dist/types/src/components/Table.vue.d.ts +0 -89
  44. package/dist/types/src/components/Tabs.vue.d.ts +0 -26
  45. package/dist/types/src/components/Upload.vue.d.ts +0 -27
  46. package/dist/types/src/components/index.d.ts +0 -15
  47. package/dist/types/src/constants/index.d.ts +0 -15
  48. package/dist/types/src/index.d.ts +0 -2
  49. package/dist/types/src/locales/en.d.ts +0 -2
  50. package/dist/types/src/locales/index.d.ts +0 -2
  51. package/dist/types/src/locales/zh-cn.d.ts +0 -2
  52. package/dist/types/src/resolver.d.ts +0 -3
  53. package/dist/types/test/table.test.d.ts +0 -1
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./components-Xete52W-.cjs`);require(`./Button-Dkqk8lXH.cjs`),require(`./en-B0d-nlXX.cjs`),require(`./zh-cn-DsaoBOfv.cjs`),require(`./ConfigProvider-lII820wO.cjs`),require(`./DatePicker-DvW11A5y.cjs`),require(`./Dialog-C3uo50Lk.cjs`),require(`./Form-269B6UNo.cjs`),require(`./FormItem-Dr0G-5Q4.cjs`),require(`./Input-DuZALrON.cjs`),require(`./InputNumber-DPd4h9mJ.cjs`),require(`./Pagination-C6JSioze.cjs`),require(`./Select-C-b-Biw3.cjs`),require(`./Table-DpQglHP2.cjs`),require(`./TabPane-6xH7oG0B.cjs`),require(`./Tabs-BjfrK6HM.cjs`),require(`./Upload-CXRSAOCS.cjs`),exports.default=e.n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./components-DyNGpunH.cjs`);require(`./Button-Dkqk8lXH.cjs`),require(`./en-B0d-nlXX.cjs`),require(`./zh-cn-DsaoBOfv.cjs`),require(`./ConfigProvider-lII820wO.cjs`),require(`./DatePicker-DvW11A5y.cjs`),require(`./Dialog-C3uo50Lk.cjs`),require(`./Form-269B6UNo.cjs`),require(`./FormItem-DT2H_f3C.cjs`),require(`./Input-DuZALrON.cjs`),require(`./InputNumber-DPd4h9mJ.cjs`),require(`./Pagination-C6JSioze.cjs`),require(`./Select-DbiBYKYx.cjs`),require(`./Table-DpQglHP2.cjs`),require(`./TabPane-6xH7oG0B.cjs`),require(`./Tabs-BjfrK6HM.cjs`),require(`./Upload-CXRSAOCS.cjs`),exports.default=e.n;
@@ -1,2 +1,2 @@
1
- const e=require(`./constants-C1UtNKNR.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`FormItem`,props:{content:{type:Function},label:{},required:{type:Boolean},validator:{type:Function}},setup(r){let i=(0,t.inject)(e.s,void 0),a=(0,t.inject)(e.i,void 0),o=(0,t.inject)(e.a,void 0),s=(0,t.inject)(e.u,void 0),c=(0,t.inject)(e.l,void 0),l=(0,t.ref)(),u={clearValidate:()=>l.value=void 0,label:r.label,required:r.required,validator:r.validator,validate:()=>(l.value=u.validator?.()??void 0,l.value&&a&&o&&s&&c?.trigger(s),!l.value)};i?.push(u),(0,t.provide)(e.o,u);let d=()=>r.content?.();return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElFormItem),(0,t.normalizeProps)((0,t.guardReactiveProps)({label:r.label,required:r.required,error:l.value})),{default:(0,t.withCtx)(()=>[(0,t.createVNode)(d),`label`in e.$slots?(0,t.renderSlot)(e.$slots,`label`,{key:0}):(0,t.createCommentVNode)(``,!0)]),_:3},16))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=FormItem-Dr0G-5Q4.cjs.map
1
+ const e=require(`./constants-C1UtNKNR.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`FormItem`,props:{content:{type:Function},label:{},required:{type:Boolean},validator:{type:Function}},setup(r){let i=(0,t.inject)(e.s,void 0),a=(0,t.inject)(e.i,void 0),o=(0,t.inject)(e.a,void 0),s=(0,t.inject)(e.u,void 0),c=(0,t.inject)(e.l,void 0),l=(0,t.ref)(),u={clearValidate:()=>l.value=void 0,label:r.label,required:r.required,validator:r.validator,validate:()=>(l.value=u.validator?.()??void 0,l.value&&a&&o&&s&&c?.trigger(s),!l.value)};i?.push(u),(0,t.provide)(e.o,u);let d=()=>r.content?.();return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElFormItem),{label:r.label,required:r.required,error:l.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(d)]),_:1},8,[`label`,`required`,`error`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
+ //# sourceMappingURL=FormItem-DT2H_f3C.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormItem-DT2H_f3C.cjs","names":[],"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 :label=\"label\" :required=\"required\" :error=\"error\">\r\n <Content />\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 :label=\"label\" :required=\"required\" :error=\"error\">\r\n <Content />\r\n </ElFormItem>\r\n</template>\r\n"],"mappings":"8OC4BA,IAAM,GAAA,EAAA,EAAA,QAAqB,EAAA,EAAoB,IAAA,GAAU,CACnD,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAmB,IAAA,GAAU,CAC7C,GAAA,EAAA,EAAA,QAAmB,EAAA,EAAuB,IAAA,GAAU,CACpD,GAAA,EAAA,EAAA,QAAqB,EAAA,EAAiB,IAAA,GAAU,CAChD,GAAA,EAAA,EAAA,QAA6B,EAAA,EAA0B,IAAA,GAAU,CAEjE,GAAA,EAAA,EAAA,MAAiC,CAEjC,EAAkC,CACtC,kBAAqB,EAAM,MAAQ,IAAA,GACnC,MAAI,EAAA,MACJ,SAAO,EAAA,SACP,UAAQ,EAAA,UACR,cACE,EAAM,MAAQ,EAAW,aAAa,EAAI,IAAA,GAEtC,EAAM,OAAS,GAAU,GAAa,GACxC,GAAqB,QAAQ,EAAY,CAGpC,CAAC,EAAM,OAEjB,CACD,GAAa,KAAK,EAAW,EAC7B,EAAA,EAAA,SAAQ,EAAA,EAAwB,EAAW,CAE3C,IAAM,MAAgB,EAAA,WAAW,+DAMlB,EAAA,WAAA,CAAA,CAFA,MAAO,EAAA,MAAQ,SAAU,EAAA,SAAW,MAAO,EAAA,kCAC3C,EAAA,EAAA,EAAA,aAAA,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./FormItem-Dr0G-5Q4.cjs`);exports.default=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./FormItem-DT2H_f3C.cjs`);exports.default=e.t;
@@ -1 +1 @@
1
- {"version":3,"file":"Input-DuZALrON.cjs","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\nconst { disabled = undefined } = defineProps<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\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\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\nconst { disabled = undefined } = defineProps<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\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\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":"2eCsBA,IAAM,EAAO,EAWP,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAMzB,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,IAMnB,IAAM,EAAQ,GAAkB,CAC9B,GAAoB,YAAY,CAChC,EAAK,OAAQ,EAAE,EAEX,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAEZ,EAAU,GAAkB,CAChC,EAAK,SAAU,EAAY,gEAiCjB,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,UA3BS,EAAA,cAAiB,EAAA,UAAa,EAAA,eAAa,EAAA,uBAAkB,EAAA,0BAAqB,EAAA,sBAAqB,EAAA,qBAA8B,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,uBAAA,cAU7J,EAAA,sCAAA,EAAK,MAAA,EACb,OAAM,EACN,QAAO,EACP,SAAQ,wCAEmBA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,6BAEKA,EAAAA,OAAAA,MAAS,+BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,4BAEGA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAEIA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Input-DuZALrON.cjs","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\nconst { disabled = undefined } = defineProps<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\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\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\n\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\nconst { disabled = undefined } = defineProps<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\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\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\n\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":"2eCsBA,IAAM,EAAO,EAWP,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAMzB,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CAEpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,IAMnB,IAAM,EAAQ,GAAkB,CAC9B,GAAoB,YAAY,CAChC,EAAK,OAAQ,EAAE,EAEX,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAEZ,EAAU,GAAkB,CAChC,EAAK,SAAU,EAAY,gEAiCjB,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,UA3BS,EAAA,cAAiB,EAAA,UAAa,EAAA,eAAa,EAAA,uBAAkB,EAAA,0BAAqB,EAAA,sBAAqB,EAAA,qBAA8B,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,uBAAA,cAU7J,EAAA,sCAAA,EAAK,MAAA,EACb,OAAM,EACN,QAAO,EACP,SAAQ,wCAEmBA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,6BAEKA,EAAAA,OAAAA,MAAS,+BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,4BAEGA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAEIA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./constants-C1UtNKNR.cjs`),t=require(`./dist-jkU1Ff2x.cjs`);let n=require(`vue`),r=require(`element-plus`);var i=(0,n.defineComponent)({__name:`Select`,props:(0,n.mergeModels)({collapseTagsTooltip:{type:Boolean},defaultFirstOption:{type:Boolean},clearable:{type:Boolean},allowCreate:{type:Boolean},collapseTags:{type:Boolean},data:{},disabled:{type:Boolean,default:()=>void 0},factory:{type:Function},filterable:{type:Boolean},identify:{type:Function},loading:{type:Boolean},multiple:{type:Boolean},remote:{type:Boolean},remoteMethod:{type:Function},size:{},supplement:{type:Function},placeholder:{},noDataText:{}},{modelValue:{},modelModifiers:{}}),emits:(0,n.mergeModels)([`blur`,`change`,`focus`],[`update:modelValue`]),setup(i,{emit:a}){let o=a,s=(0,n.useModel)(i,`modelValue`),{t:c}=(0,r.useLocale)((0,n.inject)(e.c)),l=(0,n.ref)([]),u=t.n(()=>i.data??[],i.factory),d=(0,n.computed)(()=>[...t.n(l,i.factory).value,...u.value]),f=e=>{if(typeof e==`object`){if(i.identify)return i.identify(e);throw Error("`identify` is required when value's type extends `object` or `object[]`")}else return e},p=e=>d.value.map(e=>e.value).find(t=>f(t)===e),m=0;(0,n.watch)([s,u],async()=>{if(m++,s.value){let e=[...[],...Array.isArray(s.value)?s.value:[s.value]].filter(e=>!u.value.map(e=>f(e.value)).includes(f(e))),t=m,n=await i.supplement?.(e);t===m&&n&&(l.value=n)}else l.value=[]},{immediate:!0});let h=(0,n.computed)(()=>d.value.map(e=>{let t=f(e.value);return{disabled:e.disabled,key:t,label:e.label,value:t}})),g=(0,n.computed)({get:()=>s.value&&(Array.isArray(s.value)?s.value.map(f):f(s.value)),set:e=>{Array.isArray(e)?s.value=e.map(e=>p(e)):s.value=e===void 0?void 0:p(e)??(i.allowCreate?e:void 0)}}),_=(0,n.inject)(e.o,void 0);if(_?.required){let{label:e,validator:t}=_;_.validator=()=>!s.value||Array.isArray(s.value)&&s.value.length===0?`请选择${e}`:t?.()}return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.ElSelect),(0,n.mergeProps)({placeholder:i.placeholder??(0,n.unref)(c)(`el.select.placeholder`),noDataText:i.noDataText??(0,n.unref)(c)(`el.select.noDataText`),disabled:i.disabled,allowCreate:i.allowCreate,remote:i.remote,filterable:i.filterable||i.remote,clearable:i.clearable,remoteMethod:i.remoteMethod,multiple:i.multiple,loading:i.loading,size:i.size,collapseTags:i.collapseTags,collapseTagsTooltip:i.collapseTagsTooltip,defaultFirstOption:i.defaultFirstOption||i.allowCreate},{modelValue:g.value,"onUpdate:modelValue":t[0]||=e=>g.value=e,onBlur:t[1]||=e=>o(`blur`,e),onChange:t[2]||=e=>o(`change`,e)}),{default:(0,n.withCtx)(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(h.value,e=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.ElOption),{key:e.key,label:e.label,value:e.value,disabled:e.disabled},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},16,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=Select-DbiBYKYx.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-DbiBYKYx.cjs","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 defaultFirstOption?: SelectProps['defaultFirstOption']\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 = undefined,\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: V]\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 defaultFirstOption: defaultFirstOption || allowCreate,\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 defaultFirstOption?: SelectProps['defaultFirstOption']\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 = undefined,\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: V]\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 defaultFirstOption: defaultFirstOption || allowCreate,\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":"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"}
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./Select-C-b-Biw3.cjs`);exports.default=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./Select-DbiBYKYx.cjs`);exports.default=e.t;
@@ -1,2 +1,2 @@
1
- var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};const n=require(`./Button-Dkqk8lXH.cjs`),r=require(`./ConfigProvider-lII820wO.cjs`),i=require(`./DatePicker-DvW11A5y.cjs`),a=require(`./Dialog-C3uo50Lk.cjs`),o=require(`./Form-269B6UNo.cjs`),s=require(`./FormItem-Dr0G-5Q4.cjs`),c=require(`./Input-DuZALrON.cjs`),l=require(`./InputNumber-DPd4h9mJ.cjs`),u=require(`./Pagination-C6JSioze.cjs`),d=require(`./Select-C-b-Biw3.cjs`),f=require(`./Table-DpQglHP2.cjs`),p=require(`./TabPane-6xH7oG0B.cjs`),m=require(`./Tabs-BjfrK6HM.cjs`),h=require(`./Upload-CXRSAOCS.cjs`);let g=require(`vue`),_=require(`element-plus`);var v=(0,g.defineComponent)({__name:`ButtonPopconfirm`,props:{title:{default:`是否执行?`},disabled:{type:Boolean},link:{type:Boolean},size:{},text:{type:Boolean},type:{},icon:{}},emits:[`cancel`,`confirm`],setup(e,{emit:t}){let r=t;return(t,i)=>((0,g.openBlock)(),(0,g.createBlock)((0,g.unref)(_.ElPopconfirm),{title:e.title,onCancel:i[0]||=()=>r(`cancel`),onConfirm:i[1]||=()=>r(`confirm`)},{reference:(0,g.withCtx)(()=>[(0,g.createVNode)((0,g.unref)(n.t),(0,g.normalizeProps)((0,g.guardReactiveProps)({disabled:e.disabled,type:e.type,text:e.text,size:e.size,link:e.link})),{default:(0,g.withCtx)(()=>[(0,g.renderSlot)(t.$slots,`default`)]),_:3},16)]),actions:(0,g.withCtx)(({confirm:e,cancel:t})=>[(0,g.createVNode)((0,g.unref)(n.t),{size:`small`,onClick:t},{default:(0,g.withCtx)(()=>[...i[2]||=[(0,g.createTextVNode)(` 取消 `,-1)]]),_:1},8,[`onClick`]),(0,g.createVNode)((0,g.unref)(n.t),{type:`danger`,size:`small`,onClick:e},{default:(0,g.withCtx)(()=>[...i[3]||=[(0,g.createTextVNode)(` 确定 `,-1)]]),_:1},8,[`onClick`])]),_:3},8,[`title`]))}}),y=t({XButton:()=>n.t,XButtonPopconfirm:()=>v,XConfigProvider:()=>r.t,XDatePicker:()=>i.t,XDialog:()=>a.t,XForm:()=>o.t,XFormItem:()=>s.t,XInput:()=>c.t,XInputNumber:()=>l.t,XPagination:()=>u.t,XSelect:()=>d.t,XTabPane:()=>p.t,XTable:()=>f.t,XTabs:()=>m.t,XUpload:()=>h.t});Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});
2
- //# sourceMappingURL=components-Xete52W-.cjs.map
1
+ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};const n=require(`./Button-Dkqk8lXH.cjs`),r=require(`./ConfigProvider-lII820wO.cjs`),i=require(`./DatePicker-DvW11A5y.cjs`),a=require(`./Dialog-C3uo50Lk.cjs`),o=require(`./Form-269B6UNo.cjs`),s=require(`./FormItem-DT2H_f3C.cjs`),c=require(`./Input-DuZALrON.cjs`),l=require(`./InputNumber-DPd4h9mJ.cjs`),u=require(`./Pagination-C6JSioze.cjs`),d=require(`./Select-DbiBYKYx.cjs`),f=require(`./Table-DpQglHP2.cjs`),p=require(`./TabPane-6xH7oG0B.cjs`),m=require(`./Tabs-BjfrK6HM.cjs`),h=require(`./Upload-CXRSAOCS.cjs`);let g=require(`vue`),_=require(`element-plus`);var v=(0,g.defineComponent)({__name:`ButtonPopconfirm`,props:{title:{default:`是否执行?`},disabled:{type:Boolean},link:{type:Boolean},size:{},text:{type:Boolean},type:{},icon:{}},emits:[`cancel`,`confirm`],setup(e,{emit:t}){let r=t;return(t,i)=>((0,g.openBlock)(),(0,g.createBlock)((0,g.unref)(_.ElPopconfirm),{title:e.title,onCancel:i[0]||=()=>r(`cancel`),onConfirm:i[1]||=()=>r(`confirm`)},{reference:(0,g.withCtx)(()=>[(0,g.createVNode)((0,g.unref)(n.t),(0,g.normalizeProps)((0,g.guardReactiveProps)({disabled:e.disabled,type:e.type,text:e.text,size:e.size,link:e.link})),{default:(0,g.withCtx)(()=>[(0,g.renderSlot)(t.$slots,`default`)]),_:3},16)]),actions:(0,g.withCtx)(({confirm:e,cancel:t})=>[(0,g.createVNode)((0,g.unref)(n.t),{size:`small`,onClick:t},{default:(0,g.withCtx)(()=>[...i[2]||=[(0,g.createTextVNode)(` 取消 `,-1)]]),_:1},8,[`onClick`]),(0,g.createVNode)((0,g.unref)(n.t),{type:`danger`,size:`small`,onClick:e},{default:(0,g.withCtx)(()=>[...i[3]||=[(0,g.createTextVNode)(` 确定 `,-1)]]),_:1},8,[`onClick`])]),_:3},8,[`title`]))}}),y=t({XButton:()=>n.t,XButtonPopconfirm:()=>v,XConfigProvider:()=>r.t,XDatePicker:()=>i.t,XDialog:()=>a.t,XForm:()=>o.t,XFormItem:()=>s.t,XInput:()=>c.t,XInputNumber:()=>l.t,XPagination:()=>u.t,XSelect:()=>d.t,XTabPane:()=>p.t,XTable:()=>f.t,XTabs:()=>m.t,XUpload:()=>h.t});Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});
2
+ //# sourceMappingURL=components-DyNGpunH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-Xete52W-.cjs","names":[],"sources":["../../src/components/ButtonPopconfirm.vue","../../src/components/ButtonPopconfirm.vue","../../src/components/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { XButton } from '@/components'\r\n\r\nexport interface XButtonPopconfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?' } = defineProps<XButtonPopconfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton v-bind=\"{ disabled, type, text, size, link }\">\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { XButton } from '@/components'\r\n\r\nexport interface XButtonPopconfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?' } = defineProps<XButtonPopconfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton v-bind=\"{ disabled, type, text, size, link }\">\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","import XButton from '@/components/Button.vue'\r\nimport XButtonPopconfirm from '@/components/ButtonPopconfirm.vue'\r\nimport XConfigProvider from '@/components/ConfigProvider.vue'\r\nimport XDatePicker from '@/components/DatePicker.vue'\r\nimport XDialog from '@/components/Dialog.vue'\r\nimport XForm from '@/components/Form.vue'\r\nimport XFormItem from '@/components/FormItem.vue'\r\nimport XInput from '@/components/Input.vue'\r\nimport XInputNumber from '@/components/InputNumber.vue'\r\nimport XPagination from '@/components/Pagination.vue'\r\nimport XSelect from '@/components/Select.vue'\r\nimport XTable from '@/components/Table.vue'\r\nimport XTabPane from '@/components/TabPane.vue'\r\nimport XTabs from '@/components/Tabs.vue'\r\nimport XUpload from '@/components/Upload.vue'\r\n\r\nexport {\r\n XButton,\r\n XButtonPopconfirm,\r\n XConfigProvider,\r\n XDatePicker,\r\n XDialog,\r\n XForm,\r\n XFormItem,\r\n XInput,\r\n XInputNumber,\r\n XPagination,\r\n XSelect,\r\n XTable,\r\n XTabPane,\r\n XTabs,\r\n XUpload\r\n}\r\n\r\nexport * from '@/components/Button.vue'\r\nexport * from '@/components/ButtonPopconfirm.vue'\r\nexport * from '@/components/ConfigProvider.vue'\r\nexport * from '@/components/DatePicker.vue'\r\nexport * from '@/components/Dialog.vue'\r\nexport * from '@/components/Form.vue'\r\nexport * from '@/components/FormItem.vue'\r\nexport * from '@/components/Input.vue'\r\nexport * from '@/components/InputNumber.vue'\r\nexport * from '@/components/Pagination.vue'\r\nexport * from '@/components/Select.vue'\r\nexport * from '@/components/Table.vue'\r\nexport * from '@/components/TabPane.vue'\r\nexport * from '@/components/Tabs.vue'\r\nexport * from '@/components/Upload.vue'\r\n\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\r\n XButton: typeof XButton\r\n XButtonPopconfirm: typeof XButtonPopconfirm\r\n XConfigProvider: typeof XConfigProvider\r\n XDatePicker: typeof XDatePicker\r\n XDialog: typeof XDialog\r\n XForm: typeof XForm\r\n XFormItem: typeof XFormItem\r\n XInput: typeof XInput\r\n XInputNumber: typeof XInputNumber\r\n XPagination: typeof XPagination\r\n XSelect: typeof XSelect\r\n XTable: typeof XTable\r\n XTabPane: typeof XTabPane\r\n XTabs: typeof XTabs\r\n XUpload: typeof XUpload\r\n }\r\n}\r\n"],"mappings":"i6BCWA,IAAM,EAAO,gEAyBI,EAAA,aAAA,CAAA,CAjBZ,MAAO,EAAA,MACP,SAAM,AAAA,EAAA,SAAQ,EAAI,SAAA,CAClB,UAAO,AAAA,EAAA,SAAQ,EAAI,UAAA,GAET,WAAA,EAAA,EAAA,aAGC,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,SAFS,EAAA,SAAQ,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,CAAA,CAAA,CAAA,2BACpC,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,YAGN,SAAA,EAAA,EAAA,UAGC,CAHU,UAAS,YAAM,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAGzB,EAAA,EAAA,CAAA,CAFD,KAAK,QAAS,QAAO,8BAE9B,CAAA,GAAA,AAAA,EAAA,KAAA,EAAA,EAAA,EAAA,iBAFsC,OAEtC,GAAA,CAAA,CAAA,CAAA,mDAGU,EAAA,EAAA,CAAA,CAFD,KAAK,SAAS,KAAK,QAAS,QAAO,8BAE5C,CAAA,GAAA,AAAA,EAAA,KAAA,EAAA,EAAA,EAAA,iBAFqD,OAErD,GAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"components-DyNGpunH.cjs","names":[],"sources":["../../src/components/ButtonPopconfirm.vue","../../src/components/ButtonPopconfirm.vue","../../src/components/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { XButton } from '@/components'\r\n\r\nexport interface XButtonPopconfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?' } = defineProps<XButtonPopconfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton v-bind=\"{ disabled, type, text, size, link }\">\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { XButton } from '@/components'\r\n\r\nexport interface XButtonPopconfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?' } = defineProps<XButtonPopconfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton v-bind=\"{ disabled, type, text, size, link }\">\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","import XButton from '@/components/Button.vue'\r\nimport XButtonPopconfirm from '@/components/ButtonPopconfirm.vue'\r\nimport XConfigProvider from '@/components/ConfigProvider.vue'\r\nimport XDatePicker from '@/components/DatePicker.vue'\r\nimport XDialog from '@/components/Dialog.vue'\r\nimport XForm from '@/components/Form.vue'\r\nimport XFormItem from '@/components/FormItem.vue'\r\nimport XInput from '@/components/Input.vue'\r\nimport XInputNumber from '@/components/InputNumber.vue'\r\nimport XPagination from '@/components/Pagination.vue'\r\nimport XSelect from '@/components/Select.vue'\r\nimport XTable from '@/components/Table.vue'\r\nimport XTabPane from '@/components/TabPane.vue'\r\nimport XTabs from '@/components/Tabs.vue'\r\nimport XUpload from '@/components/Upload.vue'\r\n\r\nexport {\r\n XButton,\r\n XButtonPopconfirm,\r\n XConfigProvider,\r\n XDatePicker,\r\n XDialog,\r\n XForm,\r\n XFormItem,\r\n XInput,\r\n XInputNumber,\r\n XPagination,\r\n XSelect,\r\n XTable,\r\n XTabPane,\r\n XTabs,\r\n XUpload\r\n}\r\n\r\nexport * from '@/components/Button.vue'\r\nexport * from '@/components/ButtonPopconfirm.vue'\r\nexport * from '@/components/ConfigProvider.vue'\r\nexport * from '@/components/DatePicker.vue'\r\nexport * from '@/components/Dialog.vue'\r\nexport * from '@/components/Form.vue'\r\nexport * from '@/components/FormItem.vue'\r\nexport * from '@/components/Input.vue'\r\nexport * from '@/components/InputNumber.vue'\r\nexport * from '@/components/Pagination.vue'\r\nexport * from '@/components/Select.vue'\r\nexport * from '@/components/Table.vue'\r\nexport * from '@/components/TabPane.vue'\r\nexport * from '@/components/Tabs.vue'\r\nexport * from '@/components/Upload.vue'\r\n\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\r\n XButton: typeof XButton\r\n XButtonPopconfirm: typeof XButtonPopconfirm\r\n XConfigProvider: typeof XConfigProvider\r\n XDatePicker: typeof XDatePicker\r\n XDialog: typeof XDialog\r\n XForm: typeof XForm\r\n XFormItem: typeof XFormItem\r\n XInput: typeof XInput\r\n XInputNumber: typeof XInputNumber\r\n XPagination: typeof XPagination\r\n XSelect: typeof XSelect\r\n XTable: typeof XTable\r\n XTabPane: typeof XTabPane\r\n XTabs: typeof XTabs\r\n XUpload: typeof XUpload\r\n }\r\n}\r\n"],"mappings":"i6BCWA,IAAM,EAAO,gEAyBI,EAAA,aAAA,CAAA,CAjBZ,MAAO,EAAA,MACP,SAAM,AAAA,EAAA,SAAQ,EAAI,SAAA,CAClB,UAAO,AAAA,EAAA,SAAQ,EAAI,UAAA,GAET,WAAA,EAAA,EAAA,aAGC,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,SAFS,EAAA,SAAQ,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,CAAA,CAAA,CAAA,2BACpC,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,YAGN,SAAA,EAAA,EAAA,UAGC,CAHU,UAAS,YAAM,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAGzB,EAAA,EAAA,CAAA,CAFD,KAAK,QAAS,QAAO,8BAE9B,CAAA,GAAA,AAAA,EAAA,KAAA,EAAA,EAAA,EAAA,iBAFsC,OAEtC,GAAA,CAAA,CAAA,CAAA,mDAGU,EAAA,EAAA,CAAA,CAFD,KAAK,SAAS,KAAK,QAAS,QAAO,8BAE5C,CAAA,GAAA,AAAA,EAAA,KAAA,EAAA,EAAA,EAAA,iBAFqD,OAErD,GAAA,CAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./components-Xete52W-.cjs`),t=require(`./Button-Dkqk8lXH.cjs`),n=require(`./en-B0d-nlXX.cjs`),r=require(`./zh-cn-DsaoBOfv.cjs`);require(`./index2.cjs`);const i=require(`./ConfigProvider-lII820wO.cjs`),a=require(`./DatePicker-DvW11A5y.cjs`),o=require(`./Dialog-C3uo50Lk.cjs`),s=require(`./Form-269B6UNo.cjs`),c=require(`./FormItem-Dr0G-5Q4.cjs`),l=require(`./Input-DuZALrON.cjs`),u=require(`./InputNumber-DPd4h9mJ.cjs`),d=require(`./Pagination-C6JSioze.cjs`),f=require(`./Select-C-b-Biw3.cjs`),p=require(`./Table-DpQglHP2.cjs`),m=require(`./TabPane-6xH7oG0B.cjs`),h=require(`./Tabs-BjfrK6HM.cjs`),g=require(`./Upload-CXRSAOCS.cjs`);var _=t=>{Object.entries(e.t).forEach(([e,n])=>{t.component(e,n)})},v=_;exports.XButton=t.t,exports.XButtonPopconfirm=e.n,exports.XConfigProvider=i.t,exports.XDatePicker=a.t,exports.XDialog=o.t,exports.XForm=s.t,exports.XFormItem=c.t,exports.XInput=l.t,exports.XInputNumber=u.t,exports.XPagination=d.t,exports.XSelect=f.t,exports.XTabPane=m.t,exports.XTable=p.t,exports.XTabs=h.t,exports.XUpload=g.t,exports.default=v,exports.en=n.t,exports.install=_,exports.zhCn=r.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./components-DyNGpunH.cjs`),t=require(`./Button-Dkqk8lXH.cjs`),n=require(`./en-B0d-nlXX.cjs`),r=require(`./zh-cn-DsaoBOfv.cjs`);require(`./index2.cjs`);const i=require(`./ConfigProvider-lII820wO.cjs`),a=require(`./DatePicker-DvW11A5y.cjs`),o=require(`./Dialog-C3uo50Lk.cjs`),s=require(`./Form-269B6UNo.cjs`),c=require(`./FormItem-DT2H_f3C.cjs`),l=require(`./Input-DuZALrON.cjs`),u=require(`./InputNumber-DPd4h9mJ.cjs`),d=require(`./Pagination-C6JSioze.cjs`),f=require(`./Select-DbiBYKYx.cjs`),p=require(`./Table-DpQglHP2.cjs`),m=require(`./TabPane-6xH7oG0B.cjs`),h=require(`./Tabs-BjfrK6HM.cjs`),g=require(`./Upload-CXRSAOCS.cjs`);var _=t=>{Object.entries(e.t).forEach(([e,n])=>{t.component(e,n)})},v=_;exports.XButton=t.t,exports.XButtonPopconfirm=e.n,exports.XConfigProvider=i.t,exports.XDatePicker=a.t,exports.XDialog=o.t,exports.XForm=s.t,exports.XFormItem=c.t,exports.XInput=l.t,exports.XInputNumber=u.t,exports.XPagination=d.t,exports.XSelect=f.t,exports.XTabPane=m.t,exports.XTable=p.t,exports.XTabs=h.t,exports.XUpload=g.t,exports.default=v,exports.en=n.t,exports.install=_,exports.zhCn=r.t;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { n as e } from "./components-DKoUIsFy.js";
1
+ import { n as e } from "./components-CEMhBZ0B.js";
2
2
  import "./Button-BgxatYKq.js";
3
3
  import "./en-BAY1fB2Q.js";
4
4
  import "./zh-cn-UaM4b5St.js";
@@ -6,11 +6,11 @@ import "./ConfigProvider-BlRc251T.js";
6
6
  import "./DatePicker-BDjnMA3B.js";
7
7
  import "./Dialog-BahbAebJ.js";
8
8
  import "./Form-wBMmnwZj.js";
9
- import "./FormItem--C1bP0wY.js";
9
+ import "./FormItem-DFIl76qa.js";
10
10
  import "./Input-JT0g3gkf.js";
11
11
  import "./InputNumber-CFTLdulD.js";
12
12
  import "./Pagination-CGeelxQR.js";
13
- import "./Select-BKdDBeJC.js";
13
+ import "./Select-DNpw-ydO.js";
14
14
  import "./Table-Cm_Dki-c.js";
15
15
  import "./TabPane-CzInYf67.js";
16
16
  import "./Tabs-CKIkuQ81.js";
@@ -0,0 +1,41 @@
1
+ import { a as e, i as t, l as n, o as r, s as i, u as a } from "./constants-TVJ7auaC.js";
2
+ import { createBlock as o, createVNode as s, defineComponent as c, inject as l, openBlock as u, provide as d, ref as f, unref as p, withCtx as m } from "vue";
3
+ import { ElFormItem as h } from "element-plus";
4
+ //#endregion
5
+ //#region src/components/FormItem.vue
6
+ var g = /* @__PURE__ */ c({
7
+ __name: "FormItem",
8
+ props: {
9
+ content: { type: Function },
10
+ label: {},
11
+ required: { type: Boolean },
12
+ validator: { type: Function }
13
+ },
14
+ setup(c) {
15
+ let g = l(i, void 0), _ = l(t, void 0), v = l(e, void 0), y = l(a, void 0), b = l(n, void 0), x = f(), S = {
16
+ clearValidate: () => x.value = void 0,
17
+ label: c.label,
18
+ required: c.required,
19
+ validator: c.validator,
20
+ validate: () => (x.value = S.validator?.() ?? void 0, x.value && _ && v && y && b?.trigger(y), !x.value)
21
+ };
22
+ g?.push(S), d(r, S);
23
+ let C = () => c.content?.();
24
+ return (e, t) => (u(), o(p(h), {
25
+ label: c.label,
26
+ required: c.required,
27
+ error: x.value
28
+ }, {
29
+ default: m(() => [s(C)]),
30
+ _: 1
31
+ }, 8, [
32
+ "label",
33
+ "required",
34
+ "error"
35
+ ]));
36
+ }
37
+ });
38
+ //#endregion
39
+ export { g as t };
40
+
41
+ //# sourceMappingURL=FormItem-DFIl76qa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormItem-DFIl76qa.js","names":[],"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 :label=\"label\" :required=\"required\" :error=\"error\">\r\n <Content />\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 :label=\"label\" :required=\"required\" :error=\"error\">\r\n <Content />\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,EAEa,EAAA,EAAA,EAAA;GAFA,OAAO,EAAA;GAAQ,UAAU,EAAA;GAAW,OAAO,EAAA;;oBAC3C,CAAX,EAAW,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "./FormItem--C1bP0wY.js";
1
+ import { t as e } from "./FormItem-DFIl76qa.js";
2
2
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Input-JT0g3gkf.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\nconst { disabled = undefined } = defineProps<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\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\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\nconst { disabled = undefined } = defineProps<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\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\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,EAMzB,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"}
1
+ {"version":3,"file":"Input-JT0g3gkf.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\nconst { disabled = undefined } = defineProps<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\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\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\n\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\nconst { disabled = undefined } = defineProps<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\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\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\n\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,EAMzB,EAAE,SAAM,EADC,EAAO,EAAgB,CACP,EAEzB,IAAqB,EAAO,GAAwB,KAAA,EAAU;AAEpE,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"}
@@ -8,6 +8,7 @@ var C = /* @__PURE__ */ c({
8
8
  __name: "Select",
9
9
  props: /* @__PURE__ */ u({
10
10
  collapseTagsTooltip: { type: Boolean },
11
+ defaultFirstOption: { type: Boolean },
11
12
  clearable: { type: Boolean },
12
13
  allowCreate: { type: Boolean },
13
14
  collapseTags: { type: Boolean },
@@ -80,7 +81,8 @@ var C = /* @__PURE__ */ c({
80
81
  loading: c.loading,
81
82
  size: c.size,
82
83
  collapseTags: c.collapseTags,
83
- collapseTagsTooltip: c.collapseTagsTooltip
84
+ collapseTagsTooltip: c.collapseTagsTooltip,
85
+ defaultFirstOption: c.defaultFirstOption || c.allowCreate
84
86
  }, {
85
87
  modelValue: N.value,
86
88
  "onUpdate:modelValue": t[0] ||= (e) => N.value = e,
@@ -107,4 +109,4 @@ var C = /* @__PURE__ */ c({
107
109
  //#endregion
108
110
  export { C as t };
109
111
 
110
- //# sourceMappingURL=Select-BKdDBeJC.js.map
112
+ //# sourceMappingURL=Select-DNpw-ydO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-DNpw-ydO.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 defaultFirstOption?: SelectProps['defaultFirstOption']\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 = undefined,\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: V]\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 defaultFirstOption: defaultFirstOption || allowCreate,\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 defaultFirstOption?: SelectProps['defaultFirstOption']\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 = undefined,\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: V]\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 defaultFirstOption: defaultFirstOption || allowCreate,\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":"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"}
package/dist/es/Select.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./Select-BKdDBeJC.js";
1
+ import { t as e } from "./Select-DNpw-ydO.js";
2
2
  export { e as default };
@@ -3,11 +3,11 @@ import { t } from "./ConfigProvider-BlRc251T.js";
3
3
  import { t as n } from "./DatePicker-BDjnMA3B.js";
4
4
  import { t as r } from "./Dialog-BahbAebJ.js";
5
5
  import { t as i } from "./Form-wBMmnwZj.js";
6
- import { t as a } from "./FormItem--C1bP0wY.js";
6
+ import { t as a } from "./FormItem-DFIl76qa.js";
7
7
  import { t as o } from "./Input-JT0g3gkf.js";
8
8
  import { t as s } from "./InputNumber-CFTLdulD.js";
9
9
  import { t as c } from "./Pagination-CGeelxQR.js";
10
- import { t as l } from "./Select-BKdDBeJC.js";
10
+ import { t as l } from "./Select-DNpw-ydO.js";
11
11
  import { t as u } from "./Table-Cm_Dki-c.js";
12
12
  import { t as d } from "./TabPane-CzInYf67.js";
13
13
  import { t as f } from "./Tabs-CKIkuQ81.js";
@@ -88,4 +88,4 @@ var T = Object.defineProperty, E = (e, t) => {
88
88
  //#endregion
89
89
  export { D as n, O as t };
90
90
 
91
- //# sourceMappingURL=components-DKoUIsFy.js.map
91
+ //# sourceMappingURL=components-CEMhBZ0B.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-DKoUIsFy.js","names":[],"sources":["../../src/components/ButtonPopconfirm.vue","../../src/components/ButtonPopconfirm.vue","../../src/components/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { XButton } from '@/components'\r\n\r\nexport interface XButtonPopconfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?' } = defineProps<XButtonPopconfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton v-bind=\"{ disabled, type, text, size, link }\">\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { XButton } from '@/components'\r\n\r\nexport interface XButtonPopconfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?' } = defineProps<XButtonPopconfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton v-bind=\"{ disabled, type, text, size, link }\">\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","import XButton from '@/components/Button.vue'\r\nimport XButtonPopconfirm from '@/components/ButtonPopconfirm.vue'\r\nimport XConfigProvider from '@/components/ConfigProvider.vue'\r\nimport XDatePicker from '@/components/DatePicker.vue'\r\nimport XDialog from '@/components/Dialog.vue'\r\nimport XForm from '@/components/Form.vue'\r\nimport XFormItem from '@/components/FormItem.vue'\r\nimport XInput from '@/components/Input.vue'\r\nimport XInputNumber from '@/components/InputNumber.vue'\r\nimport XPagination from '@/components/Pagination.vue'\r\nimport XSelect from '@/components/Select.vue'\r\nimport XTable from '@/components/Table.vue'\r\nimport XTabPane from '@/components/TabPane.vue'\r\nimport XTabs from '@/components/Tabs.vue'\r\nimport XUpload from '@/components/Upload.vue'\r\n\r\nexport {\r\n XButton,\r\n XButtonPopconfirm,\r\n XConfigProvider,\r\n XDatePicker,\r\n XDialog,\r\n XForm,\r\n XFormItem,\r\n XInput,\r\n XInputNumber,\r\n XPagination,\r\n XSelect,\r\n XTable,\r\n XTabPane,\r\n XTabs,\r\n XUpload\r\n}\r\n\r\nexport * from '@/components/Button.vue'\r\nexport * from '@/components/ButtonPopconfirm.vue'\r\nexport * from '@/components/ConfigProvider.vue'\r\nexport * from '@/components/DatePicker.vue'\r\nexport * from '@/components/Dialog.vue'\r\nexport * from '@/components/Form.vue'\r\nexport * from '@/components/FormItem.vue'\r\nexport * from '@/components/Input.vue'\r\nexport * from '@/components/InputNumber.vue'\r\nexport * from '@/components/Pagination.vue'\r\nexport * from '@/components/Select.vue'\r\nexport * from '@/components/Table.vue'\r\nexport * from '@/components/TabPane.vue'\r\nexport * from '@/components/Tabs.vue'\r\nexport * from '@/components/Upload.vue'\r\n\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\r\n XButton: typeof XButton\r\n XButtonPopconfirm: typeof XButtonPopconfirm\r\n XConfigProvider: typeof XConfigProvider\r\n XDatePicker: typeof XDatePicker\r\n XDialog: typeof XDialog\r\n XForm: typeof XForm\r\n XFormItem: typeof XFormItem\r\n XInput: typeof XInput\r\n XInputNumber: typeof XInputNumber\r\n XPagination: typeof XPagination\r\n XSelect: typeof XSelect\r\n XTable: typeof XTable\r\n XTabPane: typeof XTabPane\r\n XTabs: typeof XTabs\r\n XUpload: typeof XUpload\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECWA,IAAM,IAAO;yBAOX,EAkBe,EAAA,EAAA,EAAA;GAjBZ,OAAO,EAAA;GACP,UAAM,AAAA,EAAA,aAAQ,EAAI,SAAA;GAClB,WAAO,AAAA,EAAA,aAAQ,EAAI,UAAA;;GAET,WAAS,QAGR,CAFV,EAEU,EAAA,EAAA,EAAA,EAAA,EAAA;IAAA,UAFS,EAAA;IAAQ,MAAE,EAAA;IAAI,MAAE,EAAA;IAAI,MAAE,EAAA;IAAI,MAAE,EAAA;IAAI,CAAA,CAAA,EAAA;qBACpC,CAAb,EAAa,EAAA,QAAA,UAAA,CAAA,CAAA;;;GAGN,SAAO,GAGN,EAHU,YAAS,gBAAM,CACnC,EAEU,EAAA,EAAA,EAAA;IAFD,MAAK;IAAS,SAAO;;qBAE9B,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFsC,QAEtC,GAAA,CAAA,CAAA,CAAA;;uBACA,EAEU,EAAA,EAAA,EAAA;IAFD,MAAK;IAAS,MAAK;IAAS,SAAO;;qBAE5C,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFqD,QAErD,GAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"components-CEMhBZ0B.js","names":[],"sources":["../../src/components/ButtonPopconfirm.vue","../../src/components/ButtonPopconfirm.vue","../../src/components/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { XButton } from '@/components'\r\n\r\nexport interface XButtonPopconfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?' } = defineProps<XButtonPopconfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton v-bind=\"{ disabled, type, text, size, link }\">\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { XButtonProps } from '@/components/Button.vue'\r\nimport { ElPopconfirm } from 'element-plus'\r\nimport { XButton } from '@/components'\r\n\r\nexport interface XButtonPopconfirmProps extends XButtonProps {\r\n title?: string\r\n}\r\n\r\nconst { title = '是否执行?' } = defineProps<XButtonPopconfirmProps>()\r\n\r\nconst emit = defineEmits<{\r\n cancel: []\r\n confirm: []\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElPopconfirm\r\n :title=\"title\"\r\n @cancel=\"() => emit('cancel')\"\r\n @confirm=\"() => emit('confirm')\"\r\n >\r\n <template #reference>\r\n <XButton v-bind=\"{ disabled, type, text, size, link }\">\r\n <slot></slot>\r\n </XButton>\r\n </template>\r\n <template #actions=\"{ confirm, cancel }\">\r\n <XButton size=\"small\" @click=\"cancel\">\r\n 取消\r\n </XButton>\r\n <XButton type=\"danger\" size=\"small\" @click=\"confirm\">\r\n 确定\r\n </XButton>\r\n </template>\r\n </ElPopconfirm>\r\n</template>\r\n","import XButton from '@/components/Button.vue'\r\nimport XButtonPopconfirm from '@/components/ButtonPopconfirm.vue'\r\nimport XConfigProvider from '@/components/ConfigProvider.vue'\r\nimport XDatePicker from '@/components/DatePicker.vue'\r\nimport XDialog from '@/components/Dialog.vue'\r\nimport XForm from '@/components/Form.vue'\r\nimport XFormItem from '@/components/FormItem.vue'\r\nimport XInput from '@/components/Input.vue'\r\nimport XInputNumber from '@/components/InputNumber.vue'\r\nimport XPagination from '@/components/Pagination.vue'\r\nimport XSelect from '@/components/Select.vue'\r\nimport XTable from '@/components/Table.vue'\r\nimport XTabPane from '@/components/TabPane.vue'\r\nimport XTabs from '@/components/Tabs.vue'\r\nimport XUpload from '@/components/Upload.vue'\r\n\r\nexport {\r\n XButton,\r\n XButtonPopconfirm,\r\n XConfigProvider,\r\n XDatePicker,\r\n XDialog,\r\n XForm,\r\n XFormItem,\r\n XInput,\r\n XInputNumber,\r\n XPagination,\r\n XSelect,\r\n XTable,\r\n XTabPane,\r\n XTabs,\r\n XUpload\r\n}\r\n\r\nexport * from '@/components/Button.vue'\r\nexport * from '@/components/ButtonPopconfirm.vue'\r\nexport * from '@/components/ConfigProvider.vue'\r\nexport * from '@/components/DatePicker.vue'\r\nexport * from '@/components/Dialog.vue'\r\nexport * from '@/components/Form.vue'\r\nexport * from '@/components/FormItem.vue'\r\nexport * from '@/components/Input.vue'\r\nexport * from '@/components/InputNumber.vue'\r\nexport * from '@/components/Pagination.vue'\r\nexport * from '@/components/Select.vue'\r\nexport * from '@/components/Table.vue'\r\nexport * from '@/components/TabPane.vue'\r\nexport * from '@/components/Tabs.vue'\r\nexport * from '@/components/Upload.vue'\r\n\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\r\n XButton: typeof XButton\r\n XButtonPopconfirm: typeof XButtonPopconfirm\r\n XConfigProvider: typeof XConfigProvider\r\n XDatePicker: typeof XDatePicker\r\n XDialog: typeof XDialog\r\n XForm: typeof XForm\r\n XFormItem: typeof XFormItem\r\n XInput: typeof XInput\r\n XInputNumber: typeof XInputNumber\r\n XPagination: typeof XPagination\r\n XSelect: typeof XSelect\r\n XTable: typeof XTable\r\n XTabPane: typeof XTabPane\r\n XTabs: typeof XTabs\r\n XUpload: typeof XUpload\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECWA,IAAM,IAAO;yBAOX,EAkBe,EAAA,EAAA,EAAA;GAjBZ,OAAO,EAAA;GACP,UAAM,AAAA,EAAA,aAAQ,EAAI,SAAA;GAClB,WAAO,AAAA,EAAA,aAAQ,EAAI,UAAA;;GAET,WAAS,QAGR,CAFV,EAEU,EAAA,EAAA,EAAA,EAAA,EAAA;IAAA,UAFS,EAAA;IAAQ,MAAE,EAAA;IAAI,MAAE,EAAA;IAAI,MAAE,EAAA;IAAI,MAAE,EAAA;IAAI,CAAA,CAAA,EAAA;qBACpC,CAAb,EAAa,EAAA,QAAA,UAAA,CAAA,CAAA;;;GAGN,SAAO,GAGN,EAHU,YAAS,gBAAM,CACnC,EAEU,EAAA,EAAA,EAAA;IAFD,MAAK;IAAS,SAAO;;qBAE9B,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFsC,QAEtC,GAAA,CAAA,CAAA,CAAA;;uBACA,EAEU,EAAA,EAAA,EAAA;IAFD,MAAK;IAAS,MAAK;IAAS,SAAO;;qBAE5C,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFqD,QAErD,GAAA,CAAA,CAAA,CAAA"}
package/dist/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as e, t } from "./components-DKoUIsFy.js";
1
+ import { n as e, t } from "./components-CEMhBZ0B.js";
2
2
  import { t as n } from "./Button-BgxatYKq.js";
3
3
  import { t as r } from "./en-BAY1fB2Q.js";
4
4
  import { t as i } from "./zh-cn-UaM4b5St.js";
@@ -7,11 +7,11 @@ import { t as a } from "./ConfigProvider-BlRc251T.js";
7
7
  import { t as o } from "./DatePicker-BDjnMA3B.js";
8
8
  import { t as s } from "./Dialog-BahbAebJ.js";
9
9
  import { t as c } from "./Form-wBMmnwZj.js";
10
- import { t as l } from "./FormItem--C1bP0wY.js";
10
+ import { t as l } from "./FormItem-DFIl76qa.js";
11
11
  import { t as u } from "./Input-JT0g3gkf.js";
12
12
  import { t as d } from "./InputNumber-CFTLdulD.js";
13
13
  import { t as f } from "./Pagination-CGeelxQR.js";
14
- import { t as p } from "./Select-BKdDBeJC.js";
14
+ import { t as p } from "./Select-DNpw-ydO.js";
15
15
  import { t as m } from "./Table-Cm_Dki-c.js";
16
16
  import { t as h } from "./TabPane-CzInYf67.js";
17
17
  import { t as g } from "./Tabs-CKIkuQ81.js";
@@ -6,6 +6,7 @@ export interface XSelectOptionProps<V> {
6
6
  }
7
7
  export interface XSelectProps<D, V> {
8
8
  collapseTagsTooltip?: SelectProps['collapseTagsTooltip'];
9
+ defaultFirstOption?: SelectProps['defaultFirstOption'];
9
10
  clearable?: SelectProps['clearable'];
10
11
  allowCreate?: SelectProps['allowCreate'];
11
12
  collapseTags?: SelectProps['collapseTags'];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pungfe/element",
3
3
  "type": "module",
4
- "version": "0.0.1-alpha.21",
4
+ "version": "0.0.1-alpha.22",
5
5
  "description": "Element Plus Components",
6
6
  "author": "pungfeng <fp94214@gmail.com>",
7
7
  "license": "MIT",
@@ -52,11 +52,11 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "@vueuse/core": "^14.2.1",
55
- "element-plus": "^2.13.1",
56
- "vue": "^3.5.27"
55
+ "element-plus": "^2.13.5",
56
+ "vue": "^3.5.30"
57
57
  },
58
58
  "devDependencies": {
59
- "@antfu/eslint-config": "^7.7.2",
59
+ "@antfu/eslint-config": "^7.7.3",
60
60
  "@types/node": "^25.5.0",
61
61
  "@vitejs/plugin-vue": "^6.0.5",
62
62
  "@vitejs/plugin-vue-jsx": "^5.1.5",
@@ -74,7 +74,7 @@
74
74
  "vite": "^8.0.0",
75
75
  "vite-plugin-dts": "^4.5.4",
76
76
  "vitest": "^4.1.0",
77
- "vue-tsc": "^3.2.5"
77
+ "vue-tsc": "^3.2.6"
78
78
  },
79
79
  "publishConfig": {
80
80
  "access": "public"
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormItem-Dr0G-5Q4.cjs","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":"8OC4BA,IAAM,GAAA,EAAA,EAAA,QAAqB,EAAA,EAAoB,IAAA,GAAU,CACnD,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAmB,IAAA,GAAU,CAC7C,GAAA,EAAA,EAAA,QAAmB,EAAA,EAAuB,IAAA,GAAU,CACpD,GAAA,EAAA,EAAA,QAAqB,EAAA,EAAiB,IAAA,GAAU,CAChD,GAAA,EAAA,EAAA,QAA6B,EAAA,EAA0B,IAAA,GAAU,CAEjE,GAAA,EAAA,EAAA,MAAiC,CAEjC,EAAkC,CACtC,kBAAqB,EAAM,MAAQ,IAAA,GACnC,MAAI,EAAA,MACJ,SAAO,EAAA,SACP,UAAQ,EAAA,UACR,cACE,EAAM,MAAQ,EAAW,aAAa,EAAI,IAAA,GAEtC,EAAM,OAAS,GAAU,GAAa,GACxC,GAAqB,QAAQ,EAAY,CAGpC,CAAC,EAAM,OAEjB,CACD,GAAa,KAAK,EAAW,EAC7B,EAAA,EAAA,SAAQ,EAAA,EAAwB,EAAW,CAE3C,IAAM,MAAgB,EAAA,WAAW,+DASlB,EAAA,WAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,MALS,EAAA,MAAK,SAAE,EAAA,SAAQ,MAAE,EAAA,MAAK,CAAA,CAAA,CAAA,2BAC/B,EAAA,EAAA,EAAA,aAAA,EAAA,CAAA,UACgBA,EAAAA,QAAAA,EAAAA,EAAAA,YACJ,EAAA,OAAA,QAAA,CAAA,IAAA,EAAA,CAAA,EAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- const e=require(`./constants-C1UtNKNR.cjs`),t=require(`./dist-jkU1Ff2x.cjs`);let n=require(`vue`),r=require(`element-plus`);var i=(0,n.defineComponent)({__name:`Select`,props:(0,n.mergeModels)({collapseTagsTooltip:{type:Boolean},clearable:{type:Boolean},allowCreate:{type:Boolean},collapseTags:{type:Boolean},data:{},disabled:{type:Boolean,default:()=>void 0},factory:{type:Function},filterable:{type:Boolean},identify:{type:Function},loading:{type:Boolean},multiple:{type:Boolean},remote:{type:Boolean},remoteMethod:{type:Function},size:{},supplement:{type:Function},placeholder:{},noDataText:{}},{modelValue:{},modelModifiers:{}}),emits:(0,n.mergeModels)([`blur`,`change`,`focus`],[`update:modelValue`]),setup(i,{emit:a}){let o=a,s=(0,n.useModel)(i,`modelValue`),{t:c}=(0,r.useLocale)((0,n.inject)(e.c)),l=(0,n.ref)([]),u=t.n(()=>i.data??[],i.factory),d=(0,n.computed)(()=>[...t.n(l,i.factory).value,...u.value]),f=e=>{if(typeof e==`object`){if(i.identify)return i.identify(e);throw Error("`identify` is required when value's type extends `object` or `object[]`")}else return e},p=e=>d.value.map(e=>e.value).find(t=>f(t)===e),m=0;(0,n.watch)([s,u],async()=>{if(m++,s.value){let e=[...[],...Array.isArray(s.value)?s.value:[s.value]].filter(e=>!u.value.map(e=>f(e.value)).includes(f(e))),t=m,n=await i.supplement?.(e);t===m&&n&&(l.value=n)}else l.value=[]},{immediate:!0});let h=(0,n.computed)(()=>d.value.map(e=>{let t=f(e.value);return{disabled:e.disabled,key:t,label:e.label,value:t}})),g=(0,n.computed)({get:()=>s.value&&(Array.isArray(s.value)?s.value.map(f):f(s.value)),set:e=>{Array.isArray(e)?s.value=e.map(e=>p(e)):s.value=e===void 0?void 0:p(e)??(i.allowCreate?e:void 0)}}),_=(0,n.inject)(e.o,void 0);if(_?.required){let{label:e,validator:t}=_;_.validator=()=>!s.value||Array.isArray(s.value)&&s.value.length===0?`请选择${e}`:t?.()}return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.ElSelect),(0,n.mergeProps)({placeholder:i.placeholder??(0,n.unref)(c)(`el.select.placeholder`),noDataText:i.noDataText??(0,n.unref)(c)(`el.select.noDataText`),disabled:i.disabled,allowCreate:i.allowCreate,remote:i.remote,filterable:i.filterable||i.remote,clearable:i.clearable,remoteMethod:i.remoteMethod,multiple:i.multiple,loading:i.loading,size:i.size,collapseTags:i.collapseTags,collapseTagsTooltip:i.collapseTagsTooltip},{modelValue:g.value,"onUpdate:modelValue":t[0]||=e=>g.value=e,onBlur:t[1]||=e=>o(`blur`,e),onChange:t[2]||=e=>o(`change`,e)}),{default:(0,n.withCtx)(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(h.value,e=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.ElOption),{key:e.key,label:e.label,value:e.value,disabled:e.disabled},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},16,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=Select-C-b-Biw3.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select-C-b-Biw3.cjs","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 = undefined,\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: V]\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 = undefined,\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: V]\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":"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"}
@@ -1,37 +0,0 @@
1
- import { a as e, i as t, l as n, o as r, s as i, u as a } from "./constants-TVJ7auaC.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(i, void 0), x = d(t, void 0), S = d(e, void 0), C = d(a, void 0), w = d(n, 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(r, 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--C1bP0wY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormItem--C1bP0wY.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"}