@pungfe/element 0.0.1-alpha.22 → 0.0.1-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ButtonPopconfirm.cjs +1 -1
- package/dist/cjs/DatePicker-Bs1ylK57.cjs +2 -0
- package/dist/cjs/DatePicker-Bs1ylK57.cjs.map +1 -0
- package/dist/cjs/DatePicker.cjs +1 -1
- package/dist/cjs/Dialog-CSSTtlWY.cjs +2 -0
- package/dist/cjs/Dialog-CSSTtlWY.cjs.map +1 -0
- package/dist/cjs/Dialog.cjs +1 -1
- package/dist/cjs/Upload-DxAM_SRp.cjs +2 -0
- package/dist/cjs/Upload-DxAM_SRp.cjs.map +1 -0
- package/dist/cjs/Upload.cjs +1 -1
- package/dist/cjs/{components-DyNGpunH.cjs → components-H3u1l6SK.cjs} +2 -2
- package/dist/cjs/{components-DyNGpunH.cjs.map → components-H3u1l6SK.cjs.map} +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/es/ButtonPopconfirm.js +4 -4
- package/dist/es/DatePicker-DEQxQ4xR.js +70 -0
- package/dist/es/DatePicker-DEQxQ4xR.js.map +1 -0
- package/dist/es/DatePicker.js +1 -1
- package/dist/es/{Dialog-BahbAebJ.js → Dialog-BKSJCB-R.js} +13 -4
- package/dist/es/Dialog-BKSJCB-R.js.map +1 -0
- package/dist/es/Dialog.js +1 -1
- package/dist/es/Upload-BPg4xGOl.js +61 -0
- package/dist/es/Upload-BPg4xGOl.js.map +1 -0
- package/dist/es/Upload.js +1 -1
- package/dist/es/{components-CEMhBZ0B.js → components-CTV9E5y1.js} +4 -4
- package/dist/es/{components-CEMhBZ0B.js.map → components-CTV9E5y1.js.map} +1 -1
- package/dist/es/index.js +4 -4
- package/dist/types/components/Upload.vue.d.ts +5 -2
- package/package.json +1 -1
- package/dist/cjs/DatePicker-DvW11A5y.cjs +0 -2
- package/dist/cjs/DatePicker-DvW11A5y.cjs.map +0 -1
- package/dist/cjs/Dialog-C3uo50Lk.cjs +0 -2
- package/dist/cjs/Dialog-C3uo50Lk.cjs.map +0 -1
- package/dist/cjs/Upload-CXRSAOCS.cjs +0 -2
- package/dist/cjs/Upload-CXRSAOCS.cjs.map +0 -1
- package/dist/es/DatePicker-BDjnMA3B.js +0 -69
- package/dist/es/DatePicker-BDjnMA3B.js.map +0 -1
- package/dist/es/Dialog-BahbAebJ.js.map +0 -1
- package/dist/es/Upload-DCnEcRkL.js +0 -52
- package/dist/es/Upload-DCnEcRkL.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./components-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./components-H3u1l6SK.cjs`);require(`./Button-Dkqk8lXH.cjs`),require(`./en-B0d-nlXX.cjs`),require(`./zh-cn-DsaoBOfv.cjs`),require(`./ConfigProvider-lII820wO.cjs`),require(`./DatePicker-Bs1ylK57.cjs`),require(`./Dialog-CSSTtlWY.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-DxAM_SRp.cjs`),exports.default=e.n;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./constants-C1UtNKNR.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`DatePicker`,props:(0,t.mergeModels)({disabled:{type:Boolean,default:()=>void 0},disabledDate:{},endPlaceholder:{},placeholder:{},shortcuts:{},startPlaceholder:{},type:{default:`date`},valueFormat:{}},{modelValue:{},modelModifiers:{},start:{},startModifiers:{},end:{},endModifiers:{}}),emits:(0,t.mergeModels)([`blur`,`focus`],[`update:modelValue`,`update:start`,`update:end`]),setup(r){let i=(0,t.useAttrs)(),a=(0,t.useModel)(r,`modelValue`),o=(0,t.useModel)(r,`start`),s=(0,t.useModel)(r,`end`),c=(0,t.inject)(e.c),{t:l}=(0,n.useLocale)(c),u=(0,t.computed)({get(){return r.type.includes(`range`)&&o.value&&s.value?[o.value,s.value]:r.type.includes(`range`)?null:a.value},set(e){r.type.includes(`range`)&&Array.isArray(e)?(o.value=e?.[0],s.value=e?.[1]):a.value=e}}),d=(0,t.inject)(e.o,void 0);if(d?.required){let{label:e,validator:t}=d;d.validator=()=>r.type.includes(`range`)&&(!o.value||!s.value)?`请选择${e}`:a.value?t?.():`请选择${e}`}return(e,a)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElConfigProvider),{locale:(0,t.unref)(c)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.ElDatePicker),(0,t.mergeProps)({disabled:r.disabled,disabledDate:r.disabledDate,type:r.type,valueFormat:r.valueFormat,placeholder:r.placeholder??(0,t.unref)(l)(`el.datepicker.placeholder`),startPlaceholder:r.placeholder??(0,t.unref)(l)(`el.datepicker.startPlaceholder`),endPlaceholder:r.placeholder??(0,t.unref)(l)(`el.datepicker.endPlaceholder`),shortcuts:r.shortcuts,...(0,t.unref)(i)},{modelValue:u.value,"onUpdate:modelValue":a[0]||=e=>u.value=e,onBlur:a[1]||=t=>e.$emit(`blur`,t),onFocus:a[2]||=t=>e.$emit(`focus`,t)}),null,16,[`modelValue`])]),_:1},8,[`locale`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
+
//# sourceMappingURL=DatePicker-Bs1ylK57.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker-Bs1ylK57.cjs","names":["$emit"],"sources":["../../src/components/DatePicker.vue","../../src/components/DatePicker.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject, useAttrs } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\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 (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n ...attrs,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject, useAttrs } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\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 (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n ...attrs,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":"kgBCyBA,IAAM,GAAA,EAAA,EAAA,WAAkB,CAClB,GAAA,EAAA,EAAA,UAAsB,EAAA,aAAE,CACxB,GAAA,EAAA,EAAA,UAAsB,EAAC,QAAQ,CAC/B,GAAA,EAAA,EAAA,UAAoB,EAAC,MAAM,CAE3B,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAgB,CAChC,CAAE,MAAA,EAAA,EAAA,WAAgB,EAAO,CAEzB,GAAA,EAAA,EAAA,UAAsB,CAC1B,KAAM,CAOJ,OANI,EAAA,KAAK,SAAS,QAAQ,EAAI,EAAM,OAAS,EAAI,MACxC,CAAC,EAAM,MAAO,EAAI,MAAM,CAEvB,EAAA,KAAK,SAAS,QAAQ,CAGzB,KAFE,EAAM,OAIjB,IAAI,EAAO,CACL,EAAA,KAAK,SAAS,QAAQ,EAAI,MAAM,QAAQ,EAAM,EAChD,EAAM,MAAQ,IAAQ,GACtB,EAAI,MAAQ,IAAQ,IAGpB,EAAM,MAAQ,GAGnB,CAAC,CAEI,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,EAAA,KAAK,SAAS,QAAQ,GAAK,CAAC,EAAM,OAAS,CAAC,EAAI,OAC3C,MAAM,IAEL,EAAM,MAGT,KAAa,CAFX,MAAM,kEAyBE,EAAA,iBAAA,CAAA,CAjBA,QAAA,EAAA,EAAA,OAAQ,EAAA,CAAM,CAAA,2BAgB7B,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,EAAA,YAAA,UAdmB,EAAA,sBAAmB,EAAA,kBAAuB,EAAA,iBAAe,EAAA,wBAAmC,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,4BAAA,kBAA0D,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,iCAAA,gBAA6D,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,+BAAA,WAA2C,EAAA,yBAAuB,EAAA,cAW/U,EAAA,sCAAA,EAAU,MAAA,EAClB,OAAI,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,OAAS,EAAM,CAC1B,QAAK,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,QAAU,EAAM"}
|
package/dist/cjs/DatePicker.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./DatePicker-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./DatePicker-Bs1ylK57.cjs`);exports.default=e.t;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require(`vue`),t=require(`element-plus`);var n=(0,e.defineComponent)({__name:`Dialog`,props:(0,e.mergeModels)({bodyClass:{},width:{},showClose:{type:Boolean,default:()=>void 0},title:{},center:{type:Boolean},alignCenter:{type:Boolean},draggable:{type:Boolean},closeOnClickModal:{type:Boolean,default:()=>void 0},closeOnPressEscape:{type:Boolean,default:()=>void 0}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(n){let r=(0,e.useModel)(n,`modelValue`);return(i,a)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDialog),(0,e.mergeProps)({modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e},{bodyClass:n.bodyClass,width:n.width,showClose:n.showClose,title:n.title,center:n.center,alignCenter:n.alignCenter,draggable:n.draggable,closeOnClickModal:n.closeOnClickModal,closeOnPressEscape:n.closeOnPressEscape}),(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,`default`)]),_:2},[`header`in i.$slots?{name:`header`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,`header`)]),key:`0`}:void 0,`footer`in i.$slots?{name:`footer`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,`footer`)]),key:`1`}:void 0]),1040,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|
|
2
|
+
//# sourceMappingURL=Dialog-CSSTtlWY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog-CSSTtlWY.cjs","names":["$slots"],"sources":["../../src/components/Dialog.vue","../../src/components/Dialog.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\nconst {\r\n showClose = undefined,\r\n closeOnClickModal = undefined,\r\n closeOnPressEscape = undefined\r\n} = defineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\"\r\n v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\nconst {\r\n showClose = undefined,\r\n closeOnClickModal = undefined,\r\n closeOnPressEscape = undefined\r\n} = defineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\"\r\n v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n"],"mappings":"wcC4BA,IAAM,GAAA,EAAA,EAAA,UAA8B,EAAA,aAAE,+DAyBzB,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,YApBA,EAAA,sCAAA,EAAO,MAAA,cACC,EAAA,gBAAkB,EAAA,gBAAc,EAAA,gBAAkB,EAAA,aAAc,EAAA,mBAAe,EAAA,sBAAoB,EAAA,4BAAkB,EAAA,qCAA0B,EAAA,kEAenJ,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,kBAHeA,EAAAA,OAAAA,MAAS,8BACR,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAGDA,EAAAA,OAAAA,MAAS,8BACR,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
|
package/dist/cjs/Dialog.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./Dialog-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./Dialog-CSSTtlWY.cjs`);exports.default=e.t;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./constants-C1UtNKNR.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`Upload`,props:(0,t.mergeModels)({accept:{},data:{type:[Promise,Function]},disabled:{type:Boolean},limit:{},showFileList:{type:Boolean},fileList:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(r){let i=(0,t.useModel)(r,`modelValue`),a=(0,t.inject)(e.o,void 0);if(a?.required){let{label:e,validator:t}=a;a.validator=()=>!i.value||Array.isArray(i.value)&&i.value.length===0?`请上传${e}`:t?.()}return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElUpload),(0,t.normalizeProps)((0,t.guardReactiveProps)({disabled:r.disabled,accept:r.accept,data:r.data,limit:r.limit,fileList:r.fileList,showFileList:r.showFileList})),(0,t.createSlots)({default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:2},[`file`in e.$slots?{name:`file`,fn:(0,t.withCtx)(({file:n,index:r})=>[(0,t.renderSlot)(e.$slots,`file`,{file:n,index:r})]),key:`0`}:void 0,`tip`in e.$slots?{name:`tip`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`tip`)]),key:`1`}:void 0,`trigger`in e.$slots?{name:`trigger`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`trigger`)]),key:`2`}:void 0]),1040))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
+
//# sourceMappingURL=Upload-DxAM_SRp.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Upload-DxAM_SRp.cjs","names":["$slots"],"sources":["../../src/components/Upload.vue","../../src/components/Upload.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '../constants'\r\n\r\nexport interface XUploadProps {\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n fileList?: UploadProps['fileList']\r\n}\r\n\r\ndefineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tip: () => VNodeChild\r\n trigger: () => VNodeChild\r\n}>()\r\n\r\nconst model = defineModel<MV>()\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 <ElUpload v-bind=\"{ disabled, accept, data, limit, fileList, showFileList }\">\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file=\"{ file, index }\">\r\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\r\n </template>\r\n <template v-if=\"'tip' in $slots\" #tip>\r\n <slot name=\"tip\" />\r\n </template>\r\n <template v-if=\"'trigger' in $slots\" #trigger>\r\n <slot name=\"trigger\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '../constants'\r\n\r\nexport interface XUploadProps {\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n fileList?: UploadProps['fileList']\r\n}\r\n\r\ndefineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tip: () => VNodeChild\r\n trigger: () => VNodeChild\r\n}>()\r\n\r\nconst model = defineModel<MV>()\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 <ElUpload v-bind=\"{ disabled, accept, data, limit, fileList, showFileList }\">\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file=\"{ file, index }\">\r\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\r\n </template>\r\n <template v-if=\"'tip' in $slots\" #tip>\r\n <slot name=\"tip\" />\r\n </template>\r\n <template v-if=\"'trigger' in $slots\" #trigger>\r\n <slot name=\"trigger\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n"],"mappings":"4VC2BA,IAAM,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,CAAC,EAAM,OAAU,MAAM,QAAQ,EAAM,MAAM,EAAI,EAAM,MAAM,SAAW,EACjE,MAAM,IAER,KAAa,+DAkBX,EAAA,SAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,SAZS,EAAA,SAAQ,OAAE,EAAA,OAAM,KAAE,EAAA,KAAI,MAAE,EAAA,MAAK,SAAE,EAAA,SAAQ,aAAE,EAAA,aAAY,CAAA,CAAA,EAAA,EAAA,EAAA,aAAA,2BAC/D,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,gBAEkBA,EAAAA,OAAAA,MAAS,yBACe,CADP,OAAM,WAAK,EAAA,EAAA,EAAA,YACJ,EAAA,OAAA,OAAA,CAAvB,OAAc,oCAEhBA,EAAAA,OAAAA,MAAS,2BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,MAAA,CAAA,CAAA,6BAEQA,EAAAA,OAAAA,MAAS,+BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
|
package/dist/cjs/Upload.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./Upload-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./Upload-DxAM_SRp.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-
|
|
2
|
-
//# sourceMappingURL=components-
|
|
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-Bs1ylK57.cjs`),a=require(`./Dialog-CSSTtlWY.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-DxAM_SRp.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-H3u1l6SK.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-
|
|
1
|
+
{"version":3,"file":"components-H3u1l6SK.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"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./components-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./components-H3u1l6SK.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-Bs1ylK57.cjs`),o=require(`./Dialog-CSSTtlWY.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-DxAM_SRp.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,10 +1,10 @@
|
|
|
1
|
-
import { n as e } from "./components-
|
|
1
|
+
import { n as e } from "./components-CTV9E5y1.js";
|
|
2
2
|
import "./Button-BgxatYKq.js";
|
|
3
3
|
import "./en-BAY1fB2Q.js";
|
|
4
4
|
import "./zh-cn-UaM4b5St.js";
|
|
5
5
|
import "./ConfigProvider-BlRc251T.js";
|
|
6
|
-
import "./DatePicker-
|
|
7
|
-
import "./Dialog-
|
|
6
|
+
import "./DatePicker-DEQxQ4xR.js";
|
|
7
|
+
import "./Dialog-BKSJCB-R.js";
|
|
8
8
|
import "./Form-wBMmnwZj.js";
|
|
9
9
|
import "./FormItem-DFIl76qa.js";
|
|
10
10
|
import "./Input-JT0g3gkf.js";
|
|
@@ -14,5 +14,5 @@ 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";
|
|
17
|
-
import "./Upload-
|
|
17
|
+
import "./Upload-BPg4xGOl.js";
|
|
18
18
|
export { e as default };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { c as e, o as t } from "./constants-TVJ7auaC.js";
|
|
2
|
+
import { computed as n, createBlock as r, createVNode as i, defineComponent as a, inject as o, mergeModels as s, mergeProps as c, openBlock as l, unref as u, useAttrs as d, useModel as f, withCtx as p } from "vue";
|
|
3
|
+
import { ElConfigProvider as m, ElDatePicker as h, useLocale as g } from "element-plus";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/DatePicker.vue
|
|
6
|
+
var _ = /* @__PURE__ */ a({
|
|
7
|
+
__name: "DatePicker",
|
|
8
|
+
props: /* @__PURE__ */ s({
|
|
9
|
+
disabled: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: () => void 0
|
|
12
|
+
},
|
|
13
|
+
disabledDate: {},
|
|
14
|
+
endPlaceholder: {},
|
|
15
|
+
placeholder: {},
|
|
16
|
+
shortcuts: {},
|
|
17
|
+
startPlaceholder: {},
|
|
18
|
+
type: { default: "date" },
|
|
19
|
+
valueFormat: {}
|
|
20
|
+
}, {
|
|
21
|
+
modelValue: {},
|
|
22
|
+
modelModifiers: {},
|
|
23
|
+
start: {},
|
|
24
|
+
startModifiers: {},
|
|
25
|
+
end: {},
|
|
26
|
+
endModifiers: {}
|
|
27
|
+
}),
|
|
28
|
+
emits: /* @__PURE__ */ s(["blur", "focus"], [
|
|
29
|
+
"update:modelValue",
|
|
30
|
+
"update:start",
|
|
31
|
+
"update:end"
|
|
32
|
+
]),
|
|
33
|
+
setup(a) {
|
|
34
|
+
let s = d(), _ = f(a, "modelValue"), v = f(a, "start"), y = f(a, "end"), b = o(e), { t: x } = g(b), S = n({
|
|
35
|
+
get() {
|
|
36
|
+
return a.type.includes("range") && v.value && y.value ? [v.value, y.value] : a.type.includes("range") ? null : _.value;
|
|
37
|
+
},
|
|
38
|
+
set(e) {
|
|
39
|
+
a.type.includes("range") && Array.isArray(e) ? (v.value = e?.[0], y.value = e?.[1]) : _.value = e;
|
|
40
|
+
}
|
|
41
|
+
}), C = o(t, void 0);
|
|
42
|
+
if (C?.required) {
|
|
43
|
+
let { label: e, validator: t } = C;
|
|
44
|
+
C.validator = () => a.type.includes("range") && (!v.value || !y.value) ? `请选择${e}` : _.value ? t?.() : `请选择${e}`;
|
|
45
|
+
}
|
|
46
|
+
return (e, t) => (l(), r(u(m), { locale: u(b) }, {
|
|
47
|
+
default: p(() => [i(u(h), c({
|
|
48
|
+
disabled: a.disabled,
|
|
49
|
+
disabledDate: a.disabledDate,
|
|
50
|
+
type: a.type,
|
|
51
|
+
valueFormat: a.valueFormat,
|
|
52
|
+
placeholder: a.placeholder ?? u(x)("el.datepicker.placeholder"),
|
|
53
|
+
startPlaceholder: a.placeholder ?? u(x)("el.datepicker.startPlaceholder"),
|
|
54
|
+
endPlaceholder: a.placeholder ?? u(x)("el.datepicker.endPlaceholder"),
|
|
55
|
+
shortcuts: a.shortcuts,
|
|
56
|
+
...u(s)
|
|
57
|
+
}, {
|
|
58
|
+
modelValue: S.value,
|
|
59
|
+
"onUpdate:modelValue": t[0] ||= (e) => S.value = e,
|
|
60
|
+
onBlur: t[1] ||= (t) => e.$emit("blur", t),
|
|
61
|
+
onFocus: t[2] ||= (t) => e.$emit("focus", t)
|
|
62
|
+
}), null, 16, ["modelValue"])]),
|
|
63
|
+
_: 1
|
|
64
|
+
}, 8, ["locale"]));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
//#endregion
|
|
68
|
+
export { _ as t };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=DatePicker-DEQxQ4xR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker-DEQxQ4xR.js","names":["$emit"],"sources":["../../src/components/DatePicker.vue","../../src/components/DatePicker.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject, useAttrs } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\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 (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n ...attrs,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject, useAttrs } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\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 (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n ...attrs,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECyBA,IAAM,IAAQ,GAAU,EAClB,IAAQ,EAAc,GAAA,aAAE,EACxB,IAAQ,EAAc,GAAC,QAAQ,EAC/B,IAAM,EAAc,GAAC,MAAM,EAE3B,IAAS,EAAO,EAAgB,EAChC,EAAE,SAAM,EAAU,EAAO,EAEzB,IAAa,EAAS;GAC1B,MAAM;AAOJ,WANI,EAAA,KAAK,SAAS,QAAQ,IAAI,EAAM,SAAS,EAAI,QACxC,CAAC,EAAM,OAAO,EAAI,MAAM,GAEvB,EAAA,KAAK,SAAS,QAAQ,GAGzB,OAFE,EAAM;;GAIjB,IAAI,GAAO;AACT,IAAI,EAAA,KAAK,SAAS,QAAQ,IAAI,MAAM,QAAQ,EAAM,IAChD,EAAM,QAAQ,IAAQ,IACtB,EAAI,QAAQ,IAAQ,MAGpB,EAAM,QAAQ;;GAGnB,CAAC,EAEI,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACb,EAAA,KAAK,SAAS,QAAQ,KAAK,CAAC,EAAM,SAAS,CAAC,EAAI,SAC3C,MAAM,MAEL,EAAM,QAGT,KAAa,GAFX,MAAM;;yBAQjB,EAiBmB,EAAA,EAAA,EAAA,EAjBA,QAAQ,EAAA,EAAA,EAAM,EAAA;oBAgB7B,CAfF,EAeE,EAAA,EAAA,EAfF,EAeE;cAdmB,EAAA;kBAAmB,EAAA;UAAuB,EAAA;iBAAe,EAAA;iBAAmC,EAAA,eAAe,EAAA,EAAC,CAAA,4BAAA;sBAA0D,EAAA,eAAe,EAAA,EAAC,CAAA,iCAAA;oBAA6D,EAAA,eAAe,EAAA,EAAC,CAAA,+BAAA;eAA2C,EAAA;OAAuB,EAAA,EAAA;;gBAW/U,EAAA;2CAAA,EAAU,QAAA;IAClB,QAAI,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,QAAS,EAAM;IAC1B,SAAK,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,SAAU,EAAM"}
|
package/dist/es/DatePicker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./DatePicker-
|
|
1
|
+
import { t as e } from "./DatePicker-DEQxQ4xR.js";
|
|
2
2
|
export { e as default };
|
|
@@ -7,13 +7,22 @@ var d = /* @__PURE__ */ n({
|
|
|
7
7
|
props: /* @__PURE__ */ r({
|
|
8
8
|
bodyClass: {},
|
|
9
9
|
width: {},
|
|
10
|
-
showClose: {
|
|
10
|
+
showClose: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: () => void 0
|
|
13
|
+
},
|
|
11
14
|
title: {},
|
|
12
15
|
center: { type: Boolean },
|
|
13
16
|
alignCenter: { type: Boolean },
|
|
14
17
|
draggable: { type: Boolean },
|
|
15
|
-
closeOnClickModal: {
|
|
16
|
-
|
|
18
|
+
closeOnClickModal: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: () => void 0
|
|
21
|
+
},
|
|
22
|
+
closeOnPressEscape: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: () => void 0
|
|
25
|
+
}
|
|
17
26
|
}, {
|
|
18
27
|
modelValue: { type: Boolean },
|
|
19
28
|
modelModifiers: {}
|
|
@@ -51,4 +60,4 @@ var d = /* @__PURE__ */ n({
|
|
|
51
60
|
//#endregion
|
|
52
61
|
export { d as t };
|
|
53
62
|
|
|
54
|
-
//# sourceMappingURL=Dialog-
|
|
63
|
+
//# sourceMappingURL=Dialog-BKSJCB-R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog-BKSJCB-R.js","names":["$slots"],"sources":["../../src/components/Dialog.vue","../../src/components/Dialog.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\nconst {\r\n showClose = undefined,\r\n closeOnClickModal = undefined,\r\n closeOnPressEscape = undefined\r\n} = defineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\"\r\n v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\nconst {\r\n showClose = undefined,\r\n closeOnClickModal = undefined,\r\n closeOnPressEscape = undefined\r\n} = defineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\"\r\n v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC4BA,IAAM,IAAU,EAAoB,GAAA,aAAE;yBAIpC,EAqBW,EAAA,EAAA,EArBX,EAqBW;eApBA,EAAA;0CAAA,EAAO,QAAA;;cACC,EAAA;UAAkB,EAAA;cAAc,EAAA;UAAkB,EAAA;WAAc,EAAA;gBAAe,EAAA;cAAoB,EAAA;sBAAkB,EAAA;uBAA0B,EAAA;;oBAenJ,CAAb,EAAa,EAAA,QAAA,UAAA,CAAA,CAAA;;kBAHeA,EAAAA,SAAAA;SAAS;eACR,CAA3B,EAA2B,EAAA,QAAA,SAAA,CAAA,CAAA;;0BAGDA,EAAAA,SAAAA;SAAS;eACR,CAA3B,EAA2B,EAAA,QAAA,SAAA,CAAA,CAAA"}
|
package/dist/es/Dialog.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./Dialog-
|
|
1
|
+
import { t as e } from "./Dialog-BKSJCB-R.js";
|
|
2
2
|
export { e as default };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { o as e } from "./constants-TVJ7auaC.js";
|
|
2
|
+
import { createBlock as t, createSlots as n, defineComponent as r, guardReactiveProps as i, inject as a, mergeModels as o, normalizeProps as s, openBlock as c, renderSlot as l, unref as u, useModel as d, withCtx as f } from "vue";
|
|
3
|
+
import { ElUpload as p } from "element-plus";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/Upload.vue
|
|
6
|
+
var m = /* @__PURE__ */ r({
|
|
7
|
+
__name: "Upload",
|
|
8
|
+
props: /* @__PURE__ */ o({
|
|
9
|
+
accept: {},
|
|
10
|
+
data: { type: [Promise, Function] },
|
|
11
|
+
disabled: { type: Boolean },
|
|
12
|
+
limit: {},
|
|
13
|
+
showFileList: { type: Boolean },
|
|
14
|
+
fileList: {}
|
|
15
|
+
}, {
|
|
16
|
+
modelValue: {},
|
|
17
|
+
modelModifiers: {}
|
|
18
|
+
}),
|
|
19
|
+
emits: ["update:modelValue"],
|
|
20
|
+
setup(r) {
|
|
21
|
+
let o = d(r, "modelValue"), m = a(e, void 0);
|
|
22
|
+
if (m?.required) {
|
|
23
|
+
let { label: e, validator: t } = m;
|
|
24
|
+
m.validator = () => !o.value || Array.isArray(o.value) && o.value.length === 0 ? `请上传${e}` : t?.();
|
|
25
|
+
}
|
|
26
|
+
return (e, a) => (c(), t(u(p), s(i({
|
|
27
|
+
disabled: r.disabled,
|
|
28
|
+
accept: r.accept,
|
|
29
|
+
data: r.data,
|
|
30
|
+
limit: r.limit,
|
|
31
|
+
fileList: r.fileList,
|
|
32
|
+
showFileList: r.showFileList
|
|
33
|
+
})), n({
|
|
34
|
+
default: f(() => [l(e.$slots, "default")]),
|
|
35
|
+
_: 2
|
|
36
|
+
}, [
|
|
37
|
+
"file" in e.$slots ? {
|
|
38
|
+
name: "file",
|
|
39
|
+
fn: f(({ file: t, index: n }) => [l(e.$slots, "file", {
|
|
40
|
+
file: t,
|
|
41
|
+
index: n
|
|
42
|
+
})]),
|
|
43
|
+
key: "0"
|
|
44
|
+
} : void 0,
|
|
45
|
+
"tip" in e.$slots ? {
|
|
46
|
+
name: "tip",
|
|
47
|
+
fn: f(() => [l(e.$slots, "tip")]),
|
|
48
|
+
key: "1"
|
|
49
|
+
} : void 0,
|
|
50
|
+
"trigger" in e.$slots ? {
|
|
51
|
+
name: "trigger",
|
|
52
|
+
fn: f(() => [l(e.$slots, "trigger")]),
|
|
53
|
+
key: "2"
|
|
54
|
+
} : void 0
|
|
55
|
+
]), 1040));
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//#endregion
|
|
59
|
+
export { m as t };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=Upload-BPg4xGOl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Upload-BPg4xGOl.js","names":["$slots"],"sources":["../../src/components/Upload.vue","../../src/components/Upload.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '../constants'\r\n\r\nexport interface XUploadProps {\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n fileList?: UploadProps['fileList']\r\n}\r\n\r\ndefineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tip: () => VNodeChild\r\n trigger: () => VNodeChild\r\n}>()\r\n\r\nconst model = defineModel<MV>()\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 <ElUpload v-bind=\"{ disabled, accept, data, limit, fileList, showFileList }\">\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file=\"{ file, index }\">\r\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\r\n </template>\r\n <template v-if=\"'tip' in $slots\" #tip>\r\n <slot name=\"tip\" />\r\n </template>\r\n <template v-if=\"'trigger' in $slots\" #trigger>\r\n <slot name=\"trigger\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '../constants'\r\n\r\nexport interface XUploadProps {\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n fileList?: UploadProps['fileList']\r\n}\r\n\r\ndefineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tip: () => VNodeChild\r\n trigger: () => VNodeChild\r\n}>()\r\n\r\nconst model = defineModel<MV>()\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 <ElUpload v-bind=\"{ disabled, accept, data, limit, fileList, showFileList }\">\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file=\"{ file, index }\">\r\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\r\n </template>\r\n <template v-if=\"'tip' in $slots\" #tip>\r\n <slot name=\"tip\" />\r\n </template>\r\n <template v-if=\"'trigger' in $slots\" #trigger>\r\n <slot name=\"trigger\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EC2BA,IAAM,IAAQ,EAAe,GAAA,aAAE,EAEzB,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACb,CAAC,EAAM,SAAU,MAAM,QAAQ,EAAM,MAAM,IAAI,EAAM,MAAM,WAAW,IACjE,MAAM,MAER,KAAa;;yBAMtB,EAYW,EAAA,EAAA,EAAA,EAAA,EAAA;GAAA,UAZS,EAAA;GAAQ,QAAE,EAAA;GAAM,MAAE,EAAA;GAAI,OAAE,EAAA;GAAK,UAAE,EAAA;GAAQ,cAAE,EAAA;GAAY,CAAA,CAAA,EAAA,EAAA;oBAC/D,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA;;;aAEkBA,EAAAA,SAAAA;UAAS;WACe,EADP,SAAM,eAAK,CACpD,EAAgD,EAAA,QAAA,QAAA;KAAvB;KAAc;;;;YAEhBA,EAAAA,SAAAA;UAAS;gBACb,CAAnB,EAAmB,EAAA,QAAA,MAAA,CAAA,CAAA;;;gBAEQA,EAAAA,SAAAA;UAAS;gBACb,CAAvB,EAAuB,EAAA,QAAA,UAAA,CAAA,CAAA"}
|
package/dist/es/Upload.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./Upload-
|
|
1
|
+
import { t as e } from "./Upload-BPg4xGOl.js";
|
|
2
2
|
export { e as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./Button-BgxatYKq.js";
|
|
2
2
|
import { t } from "./ConfigProvider-BlRc251T.js";
|
|
3
|
-
import { t as n } from "./DatePicker-
|
|
4
|
-
import { t as r } from "./Dialog-
|
|
3
|
+
import { t as n } from "./DatePicker-DEQxQ4xR.js";
|
|
4
|
+
import { t as r } from "./Dialog-BKSJCB-R.js";
|
|
5
5
|
import { t as i } from "./Form-wBMmnwZj.js";
|
|
6
6
|
import { t as a } from "./FormItem-DFIl76qa.js";
|
|
7
7
|
import { t as o } from "./Input-JT0g3gkf.js";
|
|
@@ -11,7 +11,7 @@ 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";
|
|
14
|
-
import { t as p } from "./Upload-
|
|
14
|
+
import { t as p } from "./Upload-BPg4xGOl.js";
|
|
15
15
|
import { createBlock as m, createTextVNode as h, createVNode as g, defineComponent as _, guardReactiveProps as v, normalizeProps as y, openBlock as b, renderSlot as x, unref as S, withCtx as C } from "vue";
|
|
16
16
|
import { ElPopconfirm as w } from "element-plus";
|
|
17
17
|
//#region \0rolldown/runtime.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-
|
|
91
|
+
//# sourceMappingURL=components-CTV9E5y1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-
|
|
1
|
+
{"version":3,"file":"components-CTV9E5y1.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,11 +1,11 @@
|
|
|
1
|
-
import { n as e, t } from "./components-
|
|
1
|
+
import { n as e, t } from "./components-CTV9E5y1.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";
|
|
5
5
|
import "./index2.js";
|
|
6
6
|
import { t as a } from "./ConfigProvider-BlRc251T.js";
|
|
7
|
-
import { t as o } from "./DatePicker-
|
|
8
|
-
import { t as s } from "./Dialog-
|
|
7
|
+
import { t as o } from "./DatePicker-DEQxQ4xR.js";
|
|
8
|
+
import { t as s } from "./Dialog-BKSJCB-R.js";
|
|
9
9
|
import { t as c } from "./Form-wBMmnwZj.js";
|
|
10
10
|
import { t as l } from "./FormItem-DFIl76qa.js";
|
|
11
11
|
import { t as u } from "./Input-JT0g3gkf.js";
|
|
@@ -15,7 +15,7 @@ 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";
|
|
18
|
-
import { t as _ } from "./Upload-
|
|
18
|
+
import { t as _ } from "./Upload-BPg4xGOl.js";
|
|
19
19
|
//#region src/install.ts
|
|
20
20
|
var v = (e) => {
|
|
21
21
|
Object.entries(t).forEach(([t, n]) => {
|
|
@@ -6,6 +6,7 @@ export interface XUploadProps {
|
|
|
6
6
|
disabled?: UploadProps['disabled'];
|
|
7
7
|
limit?: UploadProps['limit'];
|
|
8
8
|
showFileList?: UploadProps['showFileList'];
|
|
9
|
+
fileList?: UploadProps['fileList'];
|
|
9
10
|
}
|
|
10
11
|
declare const _default: <MV extends string | string[]>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
11
12
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
@@ -21,14 +22,16 @@ declare const _default: <MV extends string | string[]>(__VLS_props: NonNullable<
|
|
|
21
22
|
file: UploadFile;
|
|
22
23
|
index: number;
|
|
23
24
|
}) => VNodeChild;
|
|
24
|
-
|
|
25
|
+
tip: () => VNodeChild;
|
|
26
|
+
trigger: () => VNodeChild;
|
|
25
27
|
}> & {
|
|
26
28
|
default: () => VNodeChild;
|
|
27
29
|
file: (scope: {
|
|
28
30
|
file: UploadFile;
|
|
29
31
|
index: number;
|
|
30
32
|
}) => VNodeChild;
|
|
31
|
-
|
|
33
|
+
tip: () => VNodeChild;
|
|
34
|
+
trigger: () => VNodeChild;
|
|
32
35
|
};
|
|
33
36
|
emit: (evt: "update:modelValue", value: MV) => void;
|
|
34
37
|
}>) => import('vue').VNode & {
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./constants-C1UtNKNR.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`DatePicker`,props:(0,t.mergeModels)({disabled:{type:Boolean,default:()=>void 0},disabledDate:{},endPlaceholder:{},placeholder:{},shortcuts:{},startPlaceholder:{},type:{default:`date`},valueFormat:{}},{modelValue:{},modelModifiers:{},start:{},startModifiers:{},end:{},endModifiers:{}}),emits:(0,t.mergeModels)([`blur`,`focus`],[`update:modelValue`,`update:start`,`update:end`]),setup(r){let i=(0,t.useModel)(r,`modelValue`),a=(0,t.useModel)(r,`start`),o=(0,t.useModel)(r,`end`),s=(0,t.inject)(e.c),{t:c}=(0,n.useLocale)(s),l=(0,t.computed)({get(){return r.type.includes(`range`)&&a.value&&o.value?[a.value,o.value]:r.type.includes(`range`)?null:i.value},set(e){r.type.includes(`range`)&&Array.isArray(e)?(a.value=e?.[0],o.value=e?.[1]):i.value=e}}),u=(0,t.inject)(e.o,void 0);if(u?.required){let{label:e,validator:t}=u;u.validator=()=>r.type.includes(`range`)&&(!a.value||!o.value)?`请选择${e}`:i.value?t?.():`请选择${e}`}return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElConfigProvider),{locale:(0,t.unref)(s)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.ElDatePicker),(0,t.mergeProps)({disabled:r.disabled,disabledDate:r.disabledDate,type:r.type,valueFormat:r.valueFormat,placeholder:r.placeholder??(0,t.unref)(c)(`el.datepicker.placeholder`),startPlaceholder:r.placeholder??(0,t.unref)(c)(`el.datepicker.startPlaceholder`),endPlaceholder:r.placeholder??(0,t.unref)(c)(`el.datepicker.endPlaceholder`),shortcuts:r.shortcuts},{modelValue:l.value,"onUpdate:modelValue":i[0]||=e=>l.value=e,onBlur:i[1]||=t=>e.$emit(`blur`,t),onFocus:i[2]||=t=>e.$emit(`focus`,t)}),null,16,[`modelValue`])]),_:1},8,[`locale`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
-
//# sourceMappingURL=DatePicker-DvW11A5y.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker-DvW11A5y.cjs","names":["$emit"],"sources":["../../src/components/DatePicker.vue","../../src/components/DatePicker.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\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 (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\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 (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":"kgBCwBA,IAAM,GAAA,EAAA,EAAA,UAAsB,EAAA,aAAE,CACxB,GAAA,EAAA,EAAA,UAAsB,EAAC,QAAQ,CAC/B,GAAA,EAAA,EAAA,UAAoB,EAAC,MAAM,CAE3B,GAAA,EAAA,EAAA,QAAgB,EAAA,EAAgB,CAChC,CAAE,MAAA,EAAA,EAAA,WAAgB,EAAO,CAEzB,GAAA,EAAA,EAAA,UAAsB,CAC1B,KAAM,CAOJ,OANI,EAAA,KAAK,SAAS,QAAQ,EAAI,EAAM,OAAS,EAAI,MACxC,CAAC,EAAM,MAAO,EAAI,MAAM,CAEvB,EAAA,KAAK,SAAS,QAAQ,CAGzB,KAFE,EAAM,OAIjB,IAAI,EAAO,CACL,EAAA,KAAK,SAAS,QAAQ,EAAI,MAAM,QAAQ,EAAM,EAChD,EAAM,MAAQ,IAAQ,GACtB,EAAI,MAAQ,IAAQ,IAGpB,EAAM,MAAQ,GAGnB,CAAC,CAEI,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,EAAA,KAAK,SAAS,QAAQ,GAAK,CAAC,EAAM,OAAS,CAAC,EAAI,OAC3C,MAAM,IAEL,EAAM,MAGT,KAAa,CAFX,MAAM,kEAwBE,EAAA,iBAAA,CAAA,CAhBA,QAAA,EAAA,EAAA,OAAQ,EAAA,CAAM,CAAA,2BAe7B,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,EAAA,YAAA,UAbmB,EAAA,sBAAmB,EAAA,kBAAuB,EAAA,iBAAe,EAAA,wBAAmC,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,4BAAA,kBAA0D,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,iCAAA,gBAA6D,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,+BAAA,WAA2C,EAAA,uBAUxT,EAAA,sCAAA,EAAU,MAAA,EAClB,OAAI,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,OAAS,EAAM,CAC1B,QAAK,AAAA,EAAA,KAAA,GAAEA,EAAAA,MAAK,QAAU,EAAM"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
let e=require(`vue`),t=require(`element-plus`);var n=(0,e.defineComponent)({__name:`Dialog`,props:(0,e.mergeModels)({bodyClass:{},width:{},showClose:{type:Boolean},title:{},center:{type:Boolean},alignCenter:{type:Boolean},draggable:{type:Boolean},closeOnClickModal:{type:Boolean},closeOnPressEscape:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(n){let r=(0,e.useModel)(n,`modelValue`);return(i,a)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDialog),(0,e.mergeProps)({modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e},{bodyClass:n.bodyClass,width:n.width,showClose:n.showClose,title:n.title,center:n.center,alignCenter:n.alignCenter,draggable:n.draggable,closeOnClickModal:n.closeOnClickModal,closeOnPressEscape:n.closeOnPressEscape}),(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,`default`)]),_:2},[`header`in i.$slots?{name:`header`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,`header`)]),key:`0`}:void 0,`footer`in i.$slots?{name:`footer`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,`footer`)]),key:`1`}:void 0]),1040,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|
|
2
|
-
//# sourceMappingURL=Dialog-C3uo50Lk.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog-C3uo50Lk.cjs","names":["$slots"],"sources":["../../src/components/Dialog.vue","../../src/components/Dialog.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\ndefineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\" v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\ndefineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\" v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n"],"mappings":"+YCwBA,IAAM,GAAA,EAAA,EAAA,UAA8B,EAAA,aAAE,+DAwBzB,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,YAnBA,EAAA,sCAAA,EAAO,MAAA,cAAmB,EAAA,gBAAkB,EAAA,gBAAc,EAAA,gBAAkB,EAAA,aAAc,EAAA,mBAAe,EAAA,sBAAoB,EAAA,4BAAkB,EAAA,qCAA0B,EAAA,kEAerK,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,kBAHeA,EAAAA,OAAAA,MAAS,8BACR,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAGDA,EAAAA,OAAAA,MAAS,8BACR,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./constants-C1UtNKNR.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`Upload`,props:(0,t.mergeModels)({accept:{},data:{type:[Promise,Function]},disabled:{type:Boolean},limit:{},showFileList:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(r){let i=(0,t.useModel)(r,`modelValue`),a=(0,t.computed)(()=>[...[],...i.value||[]].reverse().map(e=>({name:e.split(`/`).findLast(()=>!0),url:e}))),o=(0,t.inject)(e.o,void 0);if(o?.required){let{label:e,validator:t}=o;o.validator=()=>!i.value||Array.isArray(i.value)&&i.value.length===0?`请选择${e}`:t?.()}return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElUpload),(0,t.normalizeProps)((0,t.guardReactiveProps)({disabled:r.disabled,accept:r.accept,data:r.data,limit:r.limit,fileList:a.value,showFileList:r.showFileList})),(0,t.createSlots)({default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:2},[`file`in e.$slots?{name:`file`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`file`)]),key:`0`}:void 0,`tips`in e.$slots?{name:`tips`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`tips`)]),key:`1`}:void 0]),1040))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
-
//# sourceMappingURL=Upload-CXRSAOCS.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Upload-CXRSAOCS.cjs","names":["$slots"],"sources":["../../src/components/Upload.vue","../../src/components/Upload.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '../constants'\r\n\r\nexport interface XUploadProps {\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n}\r\n\r\ndefineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tips: () => VNodeChild\r\n}>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst fileList = computed(() => [...[] as string[], ...model.value || []].reverse().map(item => ({ name: item.split('/').findLast(() => true)!, url: item })))\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 <ElUpload v-bind=\"{ disabled, accept, data, limit, fileList, showFileList }\">\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file>\r\n <slot name=\"file\" />\r\n </template>\r\n <template v-if=\"'tips' in $slots\" #tips>\r\n <slot name=\"tips\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '../constants'\r\n\r\nexport interface XUploadProps {\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n}\r\n\r\ndefineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tips: () => VNodeChild\r\n}>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst fileList = computed(() => [...[] as string[], ...model.value || []].reverse().map(item => ({ name: item.split('/').findLast(() => true)!, url: item })))\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 <ElUpload v-bind=\"{ disabled, accept, data, limit, fileList, showFileList }\">\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file>\r\n <slot name=\"file\" />\r\n </template>\r\n <template v-if=\"'tips' in $slots\" #tips>\r\n <slot name=\"tips\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n"],"mappings":"gVCyBA,IAAM,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAEzB,GAAA,EAAA,EAAA,cAA0B,CAAC,GAAG,EAAc,CAAE,GAAG,EAAM,OAAS,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,IAAS,CAAE,KAAM,EAAK,MAAM,IAAI,CAAC,aAAe,GAAM,CAAE,IAAK,EAAM,EAAE,CAAC,CAExJ,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACb,CAAC,EAAM,OAAU,MAAM,QAAQ,EAAM,MAAM,EAAI,EAAM,MAAM,SAAW,EACjE,MAAM,IAER,KAAa,+DAeX,EAAA,SAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,SATS,EAAA,SAAQ,OAAE,EAAA,OAAM,KAAE,EAAA,KAAI,MAAE,EAAA,MAAK,SAAE,EAAA,MAAQ,aAAE,EAAA,aAAY,CAAA,CAAA,EAAA,EAAA,EAAA,aAAA,2BAC/D,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,gBAEkBA,EAAAA,OAAAA,MAAS,4BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,OAAA,CAAA,CAAA,0BAEIA,EAAAA,OAAAA,MAAS,4BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,OAAA,CAAA,CAAA"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { c as e, o as t } from "./constants-TVJ7auaC.js";
|
|
2
|
-
import { computed as n, createBlock as r, createVNode as i, defineComponent as a, inject as o, mergeModels as s, mergeProps as c, openBlock as l, unref as u, useModel as d, withCtx as f } from "vue";
|
|
3
|
-
import { ElConfigProvider as p, ElDatePicker as m, useLocale as h } from "element-plus";
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/components/DatePicker.vue
|
|
6
|
-
var g = /* @__PURE__ */ a({
|
|
7
|
-
__name: "DatePicker",
|
|
8
|
-
props: /* @__PURE__ */ s({
|
|
9
|
-
disabled: {
|
|
10
|
-
type: Boolean,
|
|
11
|
-
default: () => void 0
|
|
12
|
-
},
|
|
13
|
-
disabledDate: {},
|
|
14
|
-
endPlaceholder: {},
|
|
15
|
-
placeholder: {},
|
|
16
|
-
shortcuts: {},
|
|
17
|
-
startPlaceholder: {},
|
|
18
|
-
type: { default: "date" },
|
|
19
|
-
valueFormat: {}
|
|
20
|
-
}, {
|
|
21
|
-
modelValue: {},
|
|
22
|
-
modelModifiers: {},
|
|
23
|
-
start: {},
|
|
24
|
-
startModifiers: {},
|
|
25
|
-
end: {},
|
|
26
|
-
endModifiers: {}
|
|
27
|
-
}),
|
|
28
|
-
emits: /* @__PURE__ */ s(["blur", "focus"], [
|
|
29
|
-
"update:modelValue",
|
|
30
|
-
"update:start",
|
|
31
|
-
"update:end"
|
|
32
|
-
]),
|
|
33
|
-
setup(a) {
|
|
34
|
-
let s = d(a, "modelValue"), g = d(a, "start"), _ = d(a, "end"), v = o(e), { t: y } = h(v), b = n({
|
|
35
|
-
get() {
|
|
36
|
-
return a.type.includes("range") && g.value && _.value ? [g.value, _.value] : a.type.includes("range") ? null : s.value;
|
|
37
|
-
},
|
|
38
|
-
set(e) {
|
|
39
|
-
a.type.includes("range") && Array.isArray(e) ? (g.value = e?.[0], _.value = e?.[1]) : s.value = e;
|
|
40
|
-
}
|
|
41
|
-
}), x = o(t, void 0);
|
|
42
|
-
if (x?.required) {
|
|
43
|
-
let { label: e, validator: t } = x;
|
|
44
|
-
x.validator = () => a.type.includes("range") && (!g.value || !_.value) ? `请选择${e}` : s.value ? t?.() : `请选择${e}`;
|
|
45
|
-
}
|
|
46
|
-
return (e, t) => (l(), r(u(p), { locale: u(v) }, {
|
|
47
|
-
default: f(() => [i(u(m), c({
|
|
48
|
-
disabled: a.disabled,
|
|
49
|
-
disabledDate: a.disabledDate,
|
|
50
|
-
type: a.type,
|
|
51
|
-
valueFormat: a.valueFormat,
|
|
52
|
-
placeholder: a.placeholder ?? u(y)("el.datepicker.placeholder"),
|
|
53
|
-
startPlaceholder: a.placeholder ?? u(y)("el.datepicker.startPlaceholder"),
|
|
54
|
-
endPlaceholder: a.placeholder ?? u(y)("el.datepicker.endPlaceholder"),
|
|
55
|
-
shortcuts: a.shortcuts
|
|
56
|
-
}, {
|
|
57
|
-
modelValue: b.value,
|
|
58
|
-
"onUpdate:modelValue": t[0] ||= (e) => b.value = e,
|
|
59
|
-
onBlur: t[1] ||= (t) => e.$emit("blur", t),
|
|
60
|
-
onFocus: t[2] ||= (t) => e.$emit("focus", t)
|
|
61
|
-
}), null, 16, ["modelValue"])]),
|
|
62
|
-
_: 1
|
|
63
|
-
}, 8, ["locale"]));
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
//#endregion
|
|
67
|
-
export { g as t };
|
|
68
|
-
|
|
69
|
-
//# sourceMappingURL=DatePicker-BDjnMA3B.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker-BDjnMA3B.js","names":["$emit"],"sources":["../../src/components/DatePicker.vue","../../src/components/DatePicker.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\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 (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"V extends string\">\r\nimport type { DatePickerProps } from 'element-plus'\r\nimport { ElConfigProvider, ElDatePicker, useLocale } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XDatePickerProps {\r\n disabled?: boolean\r\n disabledDate?: DatePickerProps['disabledDate']\r\n endPlaceholder?: DatePickerProps['endPlaceholder']\r\n placeholder?: DatePickerProps['placeholder']\r\n shortcuts?: DatePickerProps['shortcuts']\r\n startPlaceholder?: DatePickerProps['startPlaceholder']\r\n type?: DatePickerProps['type']\r\n valueFormat?: DatePickerProps['valueFormat']\r\n}\r\n\r\nconst { type = 'date', disabled = undefined } = defineProps<XDatePickerProps>()\r\n\r\ndefineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\nconst model = defineModel<V>()\r\nconst start = defineModel<V>('start')\r\nconst end = defineModel<V>('end')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst modelValue = computed({\r\n get() {\r\n if (type.includes('range') && start.value && end.value) {\r\n return [start.value, end.value]\r\n }\r\n else if (!type.includes('range')) {\r\n return model.value\r\n }\r\n return null\r\n },\r\n set(value) {\r\n if (type.includes('range') && Array.isArray(value)) {\r\n start.value = value?.[0] as V\r\n end.value = value?.[1] as V\r\n }\r\n else {\r\n model.value = value as V\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 (type.includes('range') && (!start.value || !end.value)) {\r\n return `请选择${label}`\r\n }\r\n else if (!model.value) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElDatePicker\r\n v-bind=\"{\r\n disabled,\r\n disabledDate,\r\n type,\r\n valueFormat,\r\n placeholder: placeholder ?? t('el.datepicker.placeholder'),\r\n startPlaceholder: placeholder ?? t('el.datepicker.startPlaceholder'),\r\n endPlaceholder: placeholder ?? t('el.datepicker.endPlaceholder'),\r\n shortcuts,\r\n }\"\r\n v-model=\"modelValue\"\r\n @blur=\"$emit('blur', $event)\"\r\n @focus=\"$emit('focus', $event)\"\r\n />\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECwBA,IAAM,IAAQ,EAAc,GAAA,aAAE,EACxB,IAAQ,EAAc,GAAC,QAAQ,EAC/B,IAAM,EAAc,GAAC,MAAM,EAE3B,IAAS,EAAO,EAAgB,EAChC,EAAE,SAAM,EAAU,EAAO,EAEzB,IAAa,EAAS;GAC1B,MAAM;AAOJ,WANI,EAAA,KAAK,SAAS,QAAQ,IAAI,EAAM,SAAS,EAAI,QACxC,CAAC,EAAM,OAAO,EAAI,MAAM,GAEvB,EAAA,KAAK,SAAS,QAAQ,GAGzB,OAFE,EAAM;;GAIjB,IAAI,GAAO;AACT,IAAI,EAAA,KAAK,SAAS,QAAQ,IAAI,MAAM,QAAQ,EAAM,IAChD,EAAM,QAAQ,IAAQ,IACtB,EAAI,QAAQ,IAAQ,MAGpB,EAAM,QAAQ;;GAGnB,CAAC,EAEI,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACb,EAAA,KAAK,SAAS,QAAQ,KAAK,CAAC,EAAM,SAAS,CAAC,EAAI,SAC3C,MAAM,MAEL,EAAM,QAGT,KAAa,GAFX,MAAM;;yBAQjB,EAgBmB,EAAA,EAAA,EAAA,EAhBA,QAAQ,EAAA,EAAA,EAAM,EAAA;oBAe7B,CAdF,EAcE,EAAA,EAAA,EAdF,EAcE;cAbmB,EAAA;kBAAmB,EAAA;UAAuB,EAAA;iBAAe,EAAA;iBAAmC,EAAA,eAAe,EAAA,EAAC,CAAA,4BAAA;sBAA0D,EAAA,eAAe,EAAA,EAAC,CAAA,iCAAA;oBAA6D,EAAA,eAAe,EAAA,EAAC,CAAA,+BAAA;eAA2C,EAAA;;gBAUxT,EAAA;2CAAA,EAAU,QAAA;IAClB,QAAI,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,QAAS,EAAM;IAC1B,SAAK,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,SAAU,EAAM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog-BahbAebJ.js","names":["$slots"],"sources":["../../src/components/Dialog.vue","../../src/components/Dialog.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\ndefineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\" v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { DialogProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\n\r\nexport interface XDialogProps {\r\n bodyClass?: DialogProps['bodyClass']\r\n width?: DialogProps['width']\r\n showClose?: DialogProps['showClose']\r\n title?: DialogProps['title']\r\n center?: DialogProps['center']\r\n alignCenter?: DialogProps['alignCenter']\r\n draggable?: DialogProps['draggable']\r\n closeOnClickModal?: DialogProps['closeOnClickModal']\r\n closeOnPressEscape?: DialogProps['closeOnPressEscape']\r\n}\r\n\r\ndefineProps<XDialogProps>()\r\ndefineSlots<{\r\n default?: () => VNodeChild\r\n header?: () => VNodeChild\r\n footer?: () => VNodeChild\r\n}>()\r\nconst visible = defineModel<boolean>()\r\n</script>\r\n\r\n<template>\r\n <ElDialog\r\n v-model=\"visible\" v-bind=\"{\r\n bodyClass,\r\n width,\r\n showClose,\r\n title,\r\n center,\r\n alignCenter,\r\n draggable,\r\n closeOnClickModal,\r\n closeOnPressEscape,\r\n }\"\r\n >\r\n <template v-if=\"'header' in $slots\" #header>\r\n <slot name=\"header\"></slot>\r\n </template>\r\n <slot></slot>\r\n <template v-if=\"'footer' in $slots\" #footer>\r\n <slot name=\"footer\"></slot>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;ECwBA,IAAM,IAAU,EAAoB,GAAA,aAAE;yBAIpC,EAoBW,EAAA,EAAA,EApBX,EAoBW;eAnBA,EAAA;0CAAA,EAAO,QAAA;;cAAmB,EAAA;UAAkB,EAAA;cAAc,EAAA;UAAkB,EAAA;WAAc,EAAA;gBAAe,EAAA;cAAoB,EAAA;sBAAkB,EAAA;uBAA0B,EAAA;;oBAerK,CAAb,EAAa,EAAA,QAAA,UAAA,CAAA,CAAA;;kBAHeA,EAAAA,SAAAA;SAAS;eACR,CAA3B,EAA2B,EAAA,QAAA,SAAA,CAAA,CAAA;;0BAGDA,EAAAA,SAAAA;SAAS;eACR,CAA3B,EAA2B,EAAA,QAAA,SAAA,CAAA,CAAA"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { o as e } from "./constants-TVJ7auaC.js";
|
|
2
|
-
import { computed as t, createBlock as n, createSlots as r, defineComponent as i, guardReactiveProps as a, inject as o, mergeModels as s, normalizeProps as c, openBlock as l, renderSlot as u, unref as d, useModel as f, withCtx as p } from "vue";
|
|
3
|
-
import { ElUpload as m } from "element-plus";
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/components/Upload.vue
|
|
6
|
-
var h = /* @__PURE__ */ i({
|
|
7
|
-
__name: "Upload",
|
|
8
|
-
props: /* @__PURE__ */ s({
|
|
9
|
-
accept: {},
|
|
10
|
-
data: { type: [Promise, Function] },
|
|
11
|
-
disabled: { type: Boolean },
|
|
12
|
-
limit: {},
|
|
13
|
-
showFileList: { type: Boolean }
|
|
14
|
-
}, {
|
|
15
|
-
modelValue: {},
|
|
16
|
-
modelModifiers: {}
|
|
17
|
-
}),
|
|
18
|
-
emits: ["update:modelValue"],
|
|
19
|
-
setup(i) {
|
|
20
|
-
let s = f(i, "modelValue"), h = t(() => [...[], ...s.value || []].reverse().map((e) => ({
|
|
21
|
-
name: e.split("/").findLast(() => !0),
|
|
22
|
-
url: e
|
|
23
|
-
}))), g = o(e, void 0);
|
|
24
|
-
if (g?.required) {
|
|
25
|
-
let { label: e, validator: t } = g;
|
|
26
|
-
g.validator = () => !s.value || Array.isArray(s.value) && s.value.length === 0 ? `请选择${e}` : t?.();
|
|
27
|
-
}
|
|
28
|
-
return (e, t) => (l(), n(d(m), c(a({
|
|
29
|
-
disabled: i.disabled,
|
|
30
|
-
accept: i.accept,
|
|
31
|
-
data: i.data,
|
|
32
|
-
limit: i.limit,
|
|
33
|
-
fileList: h.value,
|
|
34
|
-
showFileList: i.showFileList
|
|
35
|
-
})), r({
|
|
36
|
-
default: p(() => [u(e.$slots, "default")]),
|
|
37
|
-
_: 2
|
|
38
|
-
}, ["file" in e.$slots ? {
|
|
39
|
-
name: "file",
|
|
40
|
-
fn: p(() => [u(e.$slots, "file")]),
|
|
41
|
-
key: "0"
|
|
42
|
-
} : void 0, "tips" in e.$slots ? {
|
|
43
|
-
name: "tips",
|
|
44
|
-
fn: p(() => [u(e.$slots, "tips")]),
|
|
45
|
-
key: "1"
|
|
46
|
-
} : void 0]), 1040));
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
//#endregion
|
|
50
|
-
export { h as t };
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=Upload-DCnEcRkL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Upload-DCnEcRkL.js","names":["$slots"],"sources":["../../src/components/Upload.vue","../../src/components/Upload.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '../constants'\r\n\r\nexport interface XUploadProps {\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n}\r\n\r\ndefineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tips: () => VNodeChild\r\n}>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst fileList = computed(() => [...[] as string[], ...model.value || []].reverse().map(item => ({ name: item.split('/').findLast(() => true)!, url: item })))\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 <ElUpload v-bind=\"{ disabled, accept, data, limit, fileList, showFileList }\">\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file>\r\n <slot name=\"file\" />\r\n </template>\r\n <template v-if=\"'tips' in $slots\" #tips>\r\n <slot name=\"tips\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadFile, UploadProps } from 'element-plus'\r\n\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElUpload } from 'element-plus'\r\nimport { computed, inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION } from '../constants'\r\n\r\nexport interface XUploadProps {\r\n accept?: UploadProps['accept']\r\n data?: UploadProps['data']\r\n disabled?: UploadProps['disabled']\r\n limit?: UploadProps['limit']\r\n showFileList?: UploadProps['showFileList']\r\n}\r\n\r\ndefineProps<XUploadProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n file: (scope: { file: UploadFile, index: number }) => VNodeChild\r\n tips: () => VNodeChild\r\n}>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst fileList = computed(() => [...[] as string[], ...model.value || []].reverse().map(item => ({ name: item.split('/').findLast(() => true)!, url: item })))\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 <ElUpload v-bind=\"{ disabled, accept, data, limit, fileList, showFileList }\">\r\n <slot />\r\n\r\n <template v-if=\"'file' in $slots\" #file>\r\n <slot name=\"file\" />\r\n </template>\r\n <template v-if=\"'tips' in $slots\" #tips>\r\n <slot name=\"tips\" />\r\n </template>\r\n </ElUpload>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;ECyBA,IAAM,IAAQ,EAAe,GAAA,aAAE,EAEzB,IAAW,QAAe,CAAC,GAAG,EAAc,EAAE,GAAG,EAAM,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAI,OAAS;GAAE,MAAM,EAAK,MAAM,IAAI,CAAC,eAAe,GAAM;GAAE,KAAK;GAAM,EAAE,CAAC,EAExJ,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACb,CAAC,EAAM,SAAU,MAAM,QAAQ,EAAM,MAAM,IAAI,EAAM,MAAM,WAAW,IACjE,MAAM,MAER,KAAa;;yBAMtB,EASW,EAAA,EAAA,EAAA,EAAA,EAAA;GAAA,UATS,EAAA;GAAQ,QAAE,EAAA;GAAM,MAAE,EAAA;GAAI,OAAE,EAAA;GAAK,UAAE,EAAA;GAAQ,cAAE,EAAA;GAAY,CAAA,CAAA,EAAA,EAAA;oBAC/D,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA;;gBAEkBA,EAAAA,SAAAA;SAAS;eACb,CAApB,EAAoB,EAAA,QAAA,OAAA,CAAA,CAAA;;wBAEIA,EAAAA,SAAAA;SAAS;eACb,CAApB,EAAoB,EAAA,QAAA,OAAA,CAAA,CAAA"}
|