@pungfe/element 0.0.1-alpha.28 → 0.0.1-alpha.29
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/README.md +151 -143
- package/dist/advance-CYfRZGwy.js +1892 -0
- package/dist/advance-DoIe6XpY.cjs +1 -0
- package/dist/advance.cjs +1 -0
- package/dist/advance.d.ts +23 -0
- package/dist/advance.js +2 -0
- package/dist/basic-BfqwJFE_.cjs +1 -0
- package/dist/basic-CZ74BN1R.js +1006 -0
- package/dist/basic.cjs +1 -0
- package/dist/basic.d.ts +33 -0
- package/dist/basic.js +2 -0
- package/dist/{types/src/components → components}/advance/XButtonAsync.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XButtonConfirm.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XCascaderRequest.vue.d.ts +2 -2
- package/dist/{types/src/components → components}/advance/XFormFlex.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XFormRequestNext.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XRequest.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XSelectRequest.vue.d.ts +5 -5
- package/dist/{types/src/components → components}/advance/XTableFlex.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XTableRequestConfigNext.vue.d.ts +2 -2
- package/dist/{types/src/components → components}/advance/XTableRequestNext.vue.d.ts +3 -3
- package/dist/{types/src/components → components}/advance/XUploadOssNext.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/basic/DatePicker.vue.d.ts +3 -3
- package/dist/{types/src/components → components}/basic/Input.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/Select.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/Tabs.vue.d.ts +1 -1
- package/dist/{types/src/constants → constants}/index.d.ts +2 -2
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +25 -0
- package/dist/{types/src/install.d.ts → install.d.ts} +2 -2
- package/dist/{es/zh-cn-Bkn9hgF7.js → locales-CPrLlnob.js} +200 -8
- package/dist/locales-fS7f5AIx.cjs +1 -0
- package/dist/locales.cjs +1 -0
- package/dist/locales.d.ts +2 -0
- package/dist/locales.js +2 -0
- package/dist/{cjs/resolver.cjs → resolver.cjs} +1 -2
- package/dist/{es/resolver.js → resolver.js} +1 -3
- package/dist/style.css +3 -0
- package/dist/types.d.ts +30 -0
- package/package.json +120 -105
- package/dist/cjs/Button-8c-6EPNG.cjs +0 -2
- package/dist/cjs/Button-8c-6EPNG.cjs.map +0 -1
- package/dist/cjs/Button.cjs +0 -1
- package/dist/cjs/Cascader-CwDh-TjU.cjs +0 -2
- package/dist/cjs/Cascader-CwDh-TjU.cjs.map +0 -1
- package/dist/cjs/Cascader.cjs +0 -1
- package/dist/cjs/Checkbox-CNcwptzq.cjs +0 -2
- package/dist/cjs/Checkbox-CNcwptzq.cjs.map +0 -1
- package/dist/cjs/Checkbox.cjs +0 -1
- package/dist/cjs/ConfigProvider-CyWiC5MP.cjs +0 -2
- package/dist/cjs/ConfigProvider-CyWiC5MP.cjs.map +0 -1
- package/dist/cjs/ConfigProvider.cjs +0 -1
- package/dist/cjs/DatePicker-pKtnPDXe.cjs +0 -2
- package/dist/cjs/DatePicker-pKtnPDXe.cjs.map +0 -1
- package/dist/cjs/DatePicker.cjs +0 -1
- package/dist/cjs/Dialog-BQzqL743.cjs +0 -2
- package/dist/cjs/Dialog-BQzqL743.cjs.map +0 -1
- package/dist/cjs/Dialog.cjs +0 -1
- package/dist/cjs/Form-DKzgN4am.cjs +0 -2
- package/dist/cjs/Form-DKzgN4am.cjs.map +0 -1
- package/dist/cjs/Form.cjs +0 -1
- package/dist/cjs/FormItem-BSXNuWjn.cjs +0 -2
- package/dist/cjs/FormItem-BSXNuWjn.cjs.map +0 -1
- package/dist/cjs/FormItem.cjs +0 -1
- package/dist/cjs/Input-Bnp7Ap0P.cjs +0 -2
- package/dist/cjs/Input-Bnp7Ap0P.cjs.map +0 -1
- package/dist/cjs/Input.cjs +0 -1
- package/dist/cjs/InputNumber-Ddow_hhd.cjs +0 -2
- package/dist/cjs/InputNumber-Ddow_hhd.cjs.map +0 -1
- package/dist/cjs/InputNumber.cjs +0 -1
- package/dist/cjs/Pagination-Cy3Y08FK.cjs +0 -2
- package/dist/cjs/Pagination-Cy3Y08FK.cjs.map +0 -1
- package/dist/cjs/Pagination.cjs +0 -1
- package/dist/cjs/Select-QOHpdjtL.cjs +0 -2
- package/dist/cjs/Select-QOHpdjtL.cjs.map +0 -1
- package/dist/cjs/Select.cjs +0 -1
- package/dist/cjs/TabPane-C2gWO5xN.cjs +0 -2
- package/dist/cjs/TabPane-C2gWO5xN.cjs.map +0 -1
- package/dist/cjs/TabPane.cjs +0 -1
- package/dist/cjs/Table-B3zf7ybj.cjs +0 -2
- package/dist/cjs/Table-B3zf7ybj.cjs.map +0 -1
- package/dist/cjs/Table.cjs +0 -1
- package/dist/cjs/Tabs-CQcXRrGf.cjs +0 -2
- package/dist/cjs/Tabs-CQcXRrGf.cjs.map +0 -1
- package/dist/cjs/Tabs.cjs +0 -1
- package/dist/cjs/Upload-Cw1DMO7y.cjs +0 -2
- package/dist/cjs/Upload-Cw1DMO7y.cjs.map +0 -1
- package/dist/cjs/Upload.cjs +0 -1
- package/dist/cjs/XButtonAsync-DxB_iRpa.cjs +0 -2
- package/dist/cjs/XButtonAsync-DxB_iRpa.cjs.map +0 -1
- package/dist/cjs/XButtonAsync.cjs +0 -1
- package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs +0 -2
- package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs.map +0 -1
- package/dist/cjs/XButtonConfirm.cjs +0 -1
- package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs +0 -2
- package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs.map +0 -1
- package/dist/cjs/XCascaderRequest.cjs +0 -1
- package/dist/cjs/XFormFlex-CAxHuPZj.cjs +0 -2
- package/dist/cjs/XFormFlex-CAxHuPZj.cjs.map +0 -1
- package/dist/cjs/XFormFlex.cjs +0 -1
- package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs +0 -2
- package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs.map +0 -1
- package/dist/cjs/XFormRequestNext.cjs +0 -1
- package/dist/cjs/XRequest-BNDHllWT.cjs +0 -2
- package/dist/cjs/XRequest-BNDHllWT.cjs.map +0 -1
- package/dist/cjs/XRequest.cjs +0 -1
- package/dist/cjs/XSelectRequest-B0uan46l.cjs +0 -2
- package/dist/cjs/XSelectRequest-B0uan46l.cjs.map +0 -1
- package/dist/cjs/XSelectRequest.cjs +0 -1
- package/dist/cjs/XTableFlex-D8d713CD.cjs +0 -2
- package/dist/cjs/XTableFlex-D8d713CD.cjs.map +0 -1
- package/dist/cjs/XTableFlex.cjs +0 -1
- package/dist/cjs/XTableRequestConfigNext.cjs +0 -1
- package/dist/cjs/XTableRequestNext.cjs +0 -1
- package/dist/cjs/XUploadOssNext-D174wiQw.cjs +0 -2
- package/dist/cjs/XUploadOssNext-D174wiQw.cjs.map +0 -1
- package/dist/cjs/XUploadOssNext.cjs +0 -1
- package/dist/cjs/advance-CXQH0k0U.cjs +0 -2
- package/dist/cjs/advance-CXQH0k0U.cjs.map +0 -1
- package/dist/cjs/advance.cjs +0 -1
- package/dist/cjs/basic-CKVDAV8Q.cjs +0 -2
- package/dist/cjs/basic-CKVDAV8Q.cjs.map +0 -1
- package/dist/cjs/constants-CYUPXiMy.cjs +0 -2
- package/dist/cjs/constants-CYUPXiMy.cjs.map +0 -1
- package/dist/cjs/dist-Dgq63FPm.cjs +0 -2
- package/dist/cjs/dist-Dgq63FPm.cjs.map +0 -1
- package/dist/cjs/element.css +0 -3
- package/dist/cjs/en-Da0_dekZ.cjs +0 -2
- package/dist/cjs/en-Da0_dekZ.cjs.map +0 -1
- package/dist/cjs/en.cjs +0 -1
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index2.cjs +0 -1
- package/dist/cjs/resolver.cjs.map +0 -1
- package/dist/cjs/style.cjs +0 -1
- package/dist/cjs/zh-cn-CF-yyg2O.cjs +0 -2
- package/dist/cjs/zh-cn-CF-yyg2O.cjs.map +0 -1
- package/dist/cjs/zh-cn.cjs +0 -1
- package/dist/es/Button-DSKisAgZ.js +0 -40
- package/dist/es/Button-DSKisAgZ.js.map +0 -1
- package/dist/es/Button.js +0 -2
- package/dist/es/Cascader-Df1d0rtN.js +0 -55
- package/dist/es/Cascader-Df1d0rtN.js.map +0 -1
- package/dist/es/Cascader.js +0 -2
- package/dist/es/Checkbox-C5Z0Dqkx.js +0 -46
- package/dist/es/Checkbox-C5Z0Dqkx.js.map +0 -1
- package/dist/es/Checkbox.js +0 -2
- package/dist/es/ConfigProvider-Dd3Oqqvf.js +0 -17
- package/dist/es/ConfigProvider-Dd3Oqqvf.js.map +0 -1
- package/dist/es/ConfigProvider.js +0 -2
- package/dist/es/DatePicker-xJSFLg0Y.js +0 -70
- package/dist/es/DatePicker-xJSFLg0Y.js.map +0 -1
- package/dist/es/DatePicker.js +0 -2
- package/dist/es/Dialog-BvMeOAU9.js +0 -63
- package/dist/es/Dialog-BvMeOAU9.js.map +0 -1
- package/dist/es/Dialog.js +0 -2
- package/dist/es/Form-V7_olGHq.js +0 -52
- package/dist/es/Form-V7_olGHq.js.map +0 -1
- package/dist/es/Form.js +0 -2
- package/dist/es/FormItem-DCMMnSQO.js +0 -46
- package/dist/es/FormItem-DCMMnSQO.js.map +0 -1
- package/dist/es/FormItem.js +0 -2
- package/dist/es/Input-CQvLBbzQ.js +0 -86
- package/dist/es/Input-CQvLBbzQ.js.map +0 -1
- package/dist/es/Input.js +0 -2
- package/dist/es/InputNumber-DxMf5l3F.js +0 -70
- package/dist/es/InputNumber-DxMf5l3F.js.map +0 -1
- package/dist/es/InputNumber.js +0 -2
- package/dist/es/Pagination-BJEeN66O.js +0 -54
- package/dist/es/Pagination-BJEeN66O.js.map +0 -1
- package/dist/es/Pagination.js +0 -2
- package/dist/es/Select-BHgPcMvn.js +0 -120
- package/dist/es/Select-BHgPcMvn.js.map +0 -1
- package/dist/es/Select.js +0 -2
- package/dist/es/TabPane-B_fsTqWm.js +0 -34
- package/dist/es/TabPane-B_fsTqWm.js.map +0 -1
- package/dist/es/TabPane.js +0 -2
- package/dist/es/Table-Dz_FhW7c.js +0 -112
- package/dist/es/Table-Dz_FhW7c.js.map +0 -1
- package/dist/es/Table.js +0 -2
- package/dist/es/Tabs-COmnZvj1.js +0 -42
- package/dist/es/Tabs-COmnZvj1.js.map +0 -1
- package/dist/es/Tabs.js +0 -2
- package/dist/es/Upload-B9QtDZhT.js +0 -79
- package/dist/es/Upload-B9QtDZhT.js.map +0 -1
- package/dist/es/Upload.js +0 -2
- package/dist/es/XButtonAsync-DN6-j4VG.js +0 -46
- package/dist/es/XButtonAsync-DN6-j4VG.js.map +0 -1
- package/dist/es/XButtonAsync.js +0 -2
- package/dist/es/XButtonConfirm-D8UkJz_d.js +0 -64
- package/dist/es/XButtonConfirm-D8UkJz_d.js.map +0 -1
- package/dist/es/XButtonConfirm.js +0 -2
- package/dist/es/XCascaderRequest-Bsvfwf28.js +0 -54
- package/dist/es/XCascaderRequest-Bsvfwf28.js.map +0 -1
- package/dist/es/XCascaderRequest.js +0 -2
- package/dist/es/XFormFlex-CeKL-p1x.js +0 -36
- package/dist/es/XFormFlex-CeKL-p1x.js.map +0 -1
- package/dist/es/XFormFlex.js +0 -2
- package/dist/es/XFormRequestNext-ClKFsdRJ.js +0 -60
- package/dist/es/XFormRequestNext-ClKFsdRJ.js.map +0 -1
- package/dist/es/XFormRequestNext.js +0 -2
- package/dist/es/XRequest-qctTVADK.js +0 -47
- package/dist/es/XRequest-qctTVADK.js.map +0 -1
- package/dist/es/XRequest.js +0 -2
- package/dist/es/XSelectRequest-eDF112KU.js +0 -86
- package/dist/es/XSelectRequest-eDF112KU.js.map +0 -1
- package/dist/es/XSelectRequest.js +0 -2
- package/dist/es/XTableFlex-IiKO2YNg.js +0 -76
- package/dist/es/XTableFlex-IiKO2YNg.js.map +0 -1
- package/dist/es/XTableFlex.js +0 -2
- package/dist/es/XTableRequestConfigNext.js +0 -2
- package/dist/es/XTableRequestNext.js +0 -2
- package/dist/es/XUploadOssNext-yBI5Peoe.js +0 -70
- package/dist/es/XUploadOssNext-yBI5Peoe.js.map +0 -1
- package/dist/es/XUploadOssNext.js +0 -2
- package/dist/es/advance-9IP8swna.js +0 -1468
- package/dist/es/advance-9IP8swna.js.map +0 -1
- package/dist/es/advance.js +0 -11
- package/dist/es/basic-DvQGCOl7.js +0 -46
- package/dist/es/basic-DvQGCOl7.js.map +0 -1
- package/dist/es/constants-C_Llxhb6.js +0 -6
- package/dist/es/constants-C_Llxhb6.js.map +0 -1
- package/dist/es/dist-DQ3VOl3T.js +0 -151
- package/dist/es/dist-DQ3VOl3T.js.map +0 -1
- package/dist/es/element.css +0 -3
- package/dist/es/en-sGHBfmHX.js +0 -197
- package/dist/es/en-sGHBfmHX.js.map +0 -1
- package/dist/es/en.js +0 -2
- package/dist/es/index.js +0 -47
- package/dist/es/index.js.map +0 -1
- package/dist/es/index2.js +0 -3
- package/dist/es/resolver.js.map +0 -1
- package/dist/es/style.js +0 -0
- package/dist/es/zh-cn-Bkn9hgF7.js.map +0 -1
- package/dist/es/zh-cn.js +0 -2
- package/dist/types/src/advance.d.ts +0 -1
- package/dist/types/src/components/advance.d.ts +0 -38
- package/dist/types/src/components/basic.d.ts +0 -33
- package/dist/types/src/index.d.ts +0 -6
- package/dist/types/src/locales/index.d.ts +0 -2
- package/dist/types/src/style.d.ts +0 -0
- package/dist/types/src/types.d.ts +0 -57
- package/dist/{types/src/components → components}/basic/Button.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Cascader.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Checkbox.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/ConfigProvider.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Dialog.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Form.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/FormItem.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/InputNumber.vue.d.ts +4 -4
- /package/dist/{types/src/components → components}/basic/Pagination.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/TabPane.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/Table.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/Upload.vue.d.ts +0 -0
- /package/dist/{types/src/locales → locales}/en.d.ts +0 -0
- /package/dist/{types/src/locales → locales}/zh-cn.d.ts +0 -0
- /package/dist/{types/src/resolver.d.ts → resolver.d.ts} +0 -0
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, o as r, s as i, u as a } from "./constants-C_Llxhb6.js";
|
|
2
|
-
import { ElFormItem as o } from "element-plus";
|
|
3
|
-
import { createBlock as s, createVNode as c, defineComponent as l, inject as u, onMounted as d, onUnmounted as f, openBlock as p, provide as m, ref as h, unref as g, useId as _, withCtx as v } from "vue";
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/components/basic/FormItem.vue
|
|
6
|
-
var y = /* @__PURE__ */ l({
|
|
7
|
-
__name: "FormItem",
|
|
8
|
-
props: {
|
|
9
|
-
content: { type: Function },
|
|
10
|
-
label: {},
|
|
11
|
-
required: { type: Boolean },
|
|
12
|
-
validator: { type: Function }
|
|
13
|
-
},
|
|
14
|
-
setup(l) {
|
|
15
|
-
let y = u(t, void 0), b = u(e, void 0), x = u(r, void 0), S = u(n, void 0), C = u(a, void 0), w = h(), T = _(), E = {
|
|
16
|
-
id: T,
|
|
17
|
-
clearValidate: () => w.value = void 0,
|
|
18
|
-
label: l.label,
|
|
19
|
-
required: l.required,
|
|
20
|
-
validate: () => (w.value = E.validator?.() ?? void 0, w.value && b && x && S && C?.trigger(S), !w.value)
|
|
21
|
-
};
|
|
22
|
-
m(i, E), d(() => {
|
|
23
|
-
y?.some((e) => e.id === T) || y?.push(E);
|
|
24
|
-
}), f(() => {
|
|
25
|
-
let e = y?.findIndex((e) => e.id === T);
|
|
26
|
-
e && e > -1 && y?.splice(e, 1);
|
|
27
|
-
});
|
|
28
|
-
let D = () => l.content?.();
|
|
29
|
-
return (e, t) => (p(), s(g(o), {
|
|
30
|
-
label: l.label,
|
|
31
|
-
required: l.required,
|
|
32
|
-
error: w.value
|
|
33
|
-
}, {
|
|
34
|
-
default: v(() => [c(D)]),
|
|
35
|
-
_: 1
|
|
36
|
-
}, 8, [
|
|
37
|
-
"label",
|
|
38
|
-
"required",
|
|
39
|
-
"error"
|
|
40
|
-
]));
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
//#endregion
|
|
44
|
-
export { y as t };
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=FormItem-DCMMnSQO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormItem-DCMMnSQO.js","names":[],"sources":["../../src/components/basic/FormItem.vue","../../src/components/basic/FormItem.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElFormItem } from 'element-plus'\r\nimport { inject, onMounted, onUnmounted, provide, ref, useId } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_ELEMENT_IN_TABS, X_FORM_ITEM_VALIDATION, X_FORM_VALIDATIONS, X_TAB_PANE_NAME, X_TABS_MODEL_UPDATE_HOOK } from '@/constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n required?: boolean\r\n validator?: () => string | void\r\n}\r\n\r\nexport interface XFormItemValidation {\r\n id?: string\r\n clearValidate: () => void\r\n label?: string\r\n required?: boolean\r\n validate: () => boolean\r\n validator?: () => string | void\r\n}\r\n\r\nconst { content, label, required } = defineProps<XFormItemProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n label: () => VNodeChild\r\n}>()\r\n\r\nconst validations = inject(X_FORM_VALIDATIONS, undefined)\r\nconst inTabs = inject(X_ELEMENT_IN_TABS, undefined)\r\nconst inTabPane = inject(X_ELEMENT_IN_TAB_PANE, undefined)\r\nconst tabPaneName = inject(X_TAB_PANE_NAME, undefined)\r\nconst tabsUpdateModelHook = inject(X_TABS_MODEL_UPDATE_HOOK, undefined)\r\n\r\nconst error = ref<string | undefined>()\r\n\r\nconst id = useId()\r\nconst validation: XFormItemValidation = {\r\n id,\r\n clearValidate: () => error.value = undefined,\r\n label,\r\n required,\r\n validate: () => {\r\n error.value = validation.validator?.() ?? undefined\r\n\r\n if (error.value && inTabs && inTabPane && tabPaneName) {\r\n tabsUpdateModelHook?.trigger(tabPaneName)\r\n }\r\n\r\n return !error.value\r\n }\r\n}\r\nprovide(X_FORM_ITEM_VALIDATION, validation)\r\n\r\nonMounted(() => {\r\n const exist = validations?.some(it => it.id === id)\r\n if (!exist) {\r\n validations?.push(validation)\r\n }\r\n})\r\n\r\nonUnmounted(() => {\r\n const index = validations?.findIndex(it => it.id === id)\r\n if (index && index > -1) {\r\n validations?.splice(index, 1)\r\n }\r\n})\r\n\r\nconst Content = () => content?.()\r\n</script>\r\n\r\n<template>\r\n <ElFormItem :label=\"label\" :required=\"required\" :error=\"error\">\r\n <Content />\r\n </ElFormItem>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport { ElFormItem } from 'element-plus'\r\nimport { inject, onMounted, onUnmounted, provide, ref, useId } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_ELEMENT_IN_TABS, X_FORM_ITEM_VALIDATION, X_FORM_VALIDATIONS, X_TAB_PANE_NAME, X_TABS_MODEL_UPDATE_HOOK } from '@/constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n required?: boolean\r\n validator?: () => string | void\r\n}\r\n\r\nexport interface XFormItemValidation {\r\n id?: string\r\n clearValidate: () => void\r\n label?: string\r\n required?: boolean\r\n validate: () => boolean\r\n validator?: () => string | void\r\n}\r\n\r\nconst { content, label, required } = defineProps<XFormItemProps>()\r\n\r\ndefineSlots<{\r\n default: () => VNodeChild\r\n label: () => VNodeChild\r\n}>()\r\n\r\nconst validations = inject(X_FORM_VALIDATIONS, undefined)\r\nconst inTabs = inject(X_ELEMENT_IN_TABS, undefined)\r\nconst inTabPane = inject(X_ELEMENT_IN_TAB_PANE, undefined)\r\nconst tabPaneName = inject(X_TAB_PANE_NAME, undefined)\r\nconst tabsUpdateModelHook = inject(X_TABS_MODEL_UPDATE_HOOK, undefined)\r\n\r\nconst error = ref<string | undefined>()\r\n\r\nconst id = useId()\r\nconst validation: XFormItemValidation = {\r\n id,\r\n clearValidate: () => error.value = undefined,\r\n label,\r\n required,\r\n validate: () => {\r\n error.value = validation.validator?.() ?? undefined\r\n\r\n if (error.value && inTabs && inTabPane && tabPaneName) {\r\n tabsUpdateModelHook?.trigger(tabPaneName)\r\n }\r\n\r\n return !error.value\r\n }\r\n}\r\nprovide(X_FORM_ITEM_VALIDATION, validation)\r\n\r\nonMounted(() => {\r\n const exist = validations?.some(it => it.id === id)\r\n if (!exist) {\r\n validations?.push(validation)\r\n }\r\n})\r\n\r\nonUnmounted(() => {\r\n const index = validations?.findIndex(it => it.id === id)\r\n if (index && index > -1) {\r\n validations?.splice(index, 1)\r\n }\r\n})\r\n\r\nconst Content = () => content?.()\r\n</script>\r\n\r\n<template>\r\n <ElFormItem :label=\"label\" :required=\"required\" :error=\"error\">\r\n <Content />\r\n </ElFormItem>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;EA6BA,IAAM,IAAc,EAAO,GAAoB,KAAA,EAAU,EACnD,IAAS,EAAO,GAAmB,KAAA,EAAU,EAC7C,IAAY,EAAO,GAAuB,KAAA,EAAU,EACpD,IAAc,EAAO,GAAiB,KAAA,EAAU,EAChD,IAAsB,EAAO,GAA0B,KAAA,EAAU,EAEjE,IAAQ,GAAyB,EAEjC,IAAK,GAAO,EACZ,IAAkC;GACtC;GACA,qBAAqB,EAAM,QAAQ,KAAA;GACnC,OAAI,EAAA;GACJ,UAAO,EAAA;GACP,iBACE,EAAM,QAAQ,EAAW,aAAa,IAAI,KAAA,GAEtC,EAAM,SAAS,KAAU,KAAa,KACxC,GAAqB,QAAQ,EAAY,EAGpC,CAAC,EAAM;GAEjB;AAUD,EATA,EAAQ,GAAwB,EAAW,EAE3C,QAAgB;AAEd,GADc,GAAa,MAAK,MAAM,EAAG,OAAO,EAAG,IAEjD,GAAa,KAAK,EAAW;IAE/B,EAEF,QAAkB;GAChB,IAAM,IAAQ,GAAa,WAAU,MAAM,EAAG,OAAO,EAAG;AACxD,GAAI,KAAS,IAAQ,MACnB,GAAa,OAAO,GAAO,EAAE;IAE/B;EAEF,IAAM,UAAgB,EAAA,WAAW;yBAI/B,EAEa,EAAA,EAAA,EAAA;GAFA,OAAO,EAAA;GAAQ,UAAU,EAAA;GAAW,OAAO,EAAA;;oBAC3C,CAAX,EAAW,EAAA,CAAA,CAAA"}
|
package/dist/es/FormItem.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { l as e, s as t } from "./constants-C_Llxhb6.js";
|
|
2
|
-
import { ElInput as n, useLocale as r } from "element-plus";
|
|
3
|
-
import { createBlock as i, createSlots as a, defineComponent as o, inject as s, mergeModels as c, mergeProps as l, openBlock as u, renderSlot as d, unref as f, useModel as p, withCtx as m } from "vue";
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/components/basic/Input.vue
|
|
6
|
-
var h = /* @__PURE__ */ o({
|
|
7
|
-
__name: "Input",
|
|
8
|
-
props: /* @__PURE__ */ c({
|
|
9
|
-
clearable: { type: Boolean },
|
|
10
|
-
disabled: {
|
|
11
|
-
type: Boolean,
|
|
12
|
-
default: () => void 0
|
|
13
|
-
},
|
|
14
|
-
size: {},
|
|
15
|
-
type: {},
|
|
16
|
-
showPassword: { type: Boolean },
|
|
17
|
-
autocomplete: {},
|
|
18
|
-
autosize: { type: [Object, Boolean] },
|
|
19
|
-
placeholder: {},
|
|
20
|
-
prefixIcon: {},
|
|
21
|
-
suffixIcon: {}
|
|
22
|
-
}, {
|
|
23
|
-
modelValue: {},
|
|
24
|
-
modelModifiers: {}
|
|
25
|
-
}),
|
|
26
|
-
emits: /* @__PURE__ */ c([
|
|
27
|
-
"blur",
|
|
28
|
-
"focus",
|
|
29
|
-
"change"
|
|
30
|
-
], ["update:modelValue"]),
|
|
31
|
-
setup(o, { emit: c }) {
|
|
32
|
-
let h = c, g = p(o, "modelValue"), { t: _ } = r(s(e)), v = s(t, void 0);
|
|
33
|
-
if (v?.required) {
|
|
34
|
-
let { label: e, validator: t } = v;
|
|
35
|
-
v.validator = () => g.value ? t?.() : `请输入${e}`;
|
|
36
|
-
}
|
|
37
|
-
let y = (e) => {
|
|
38
|
-
h("blur", e), v?.validate?.();
|
|
39
|
-
}, b = (e) => {
|
|
40
|
-
h("focus", e);
|
|
41
|
-
}, x = (e) => {
|
|
42
|
-
h("change", e);
|
|
43
|
-
};
|
|
44
|
-
return (e, t) => (u(), i(f(n), l({
|
|
45
|
-
disabled: o.disabled,
|
|
46
|
-
type: o.type,
|
|
47
|
-
size: o.size,
|
|
48
|
-
clearable: o.clearable,
|
|
49
|
-
showPassword: o.showPassword,
|
|
50
|
-
autocomplete: o.autocomplete,
|
|
51
|
-
autosize: o.autosize,
|
|
52
|
-
placeholder: o.placeholder ?? f(_)("el.input.placeholder")
|
|
53
|
-
}, {
|
|
54
|
-
modelValue: g.value,
|
|
55
|
-
"onUpdate:modelValue": t[0] ||= (e) => g.value = e,
|
|
56
|
-
onBlur: y,
|
|
57
|
-
onFocus: b,
|
|
58
|
-
onChange: x
|
|
59
|
-
}), a({ _: 2 }, [
|
|
60
|
-
"append" in e.$slots ? {
|
|
61
|
-
name: "append",
|
|
62
|
-
fn: m(() => [d(e.$slots, "append")]),
|
|
63
|
-
key: "0"
|
|
64
|
-
} : void 0,
|
|
65
|
-
"prepend" in e.$slots ? {
|
|
66
|
-
name: "prepend",
|
|
67
|
-
fn: m(() => [d(e.$slots, "prepend")]),
|
|
68
|
-
key: "1"
|
|
69
|
-
} : void 0,
|
|
70
|
-
"prefix" in e.$slots ? {
|
|
71
|
-
name: "prefix",
|
|
72
|
-
fn: m(() => [d(e.$slots, "prefix")]),
|
|
73
|
-
key: "2"
|
|
74
|
-
} : void 0,
|
|
75
|
-
"suffix" in e.$slots ? {
|
|
76
|
-
name: "suffix",
|
|
77
|
-
fn: m(() => [d(e.$slots, "suffix")]),
|
|
78
|
-
key: "3"
|
|
79
|
-
} : void 0
|
|
80
|
-
]), 1040, ["modelValue"]));
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
//#endregion
|
|
84
|
-
export { h as t };
|
|
85
|
-
|
|
86
|
-
//# sourceMappingURL=Input-CQvLBbzQ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Input-CQvLBbzQ.js","names":["$slots"],"sources":["../../src/components/basic/Input.vue","../../src/components/basic/Input.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\n\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\n// const inTable = inject(X_ELEMENT_IN_TABLE, false)\r\n// const inTableColumn = inject(X_ELEMENT_IN_TABLE_COLUMN, false)\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\n\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBA,IAAM,IAAO,GAWP,IAAQ,EAAe,GAAA,aAAE,EAMzB,EAAE,SAAM,EADC,EAAO,EAAgB,CACP,EAEzB,IAAqB,EAAO,GAAwB,KAAA,EAAU;AAEpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACZ,EAAM,QAGJ,KAAa,GAFX,MAAM;;EAMnB,IAAM,KAAQ,MAAkB;AAE9B,GADA,EAAK,QAAQ,EAAE,EACf,GAAoB,YAAY;KAE5B,KAAS,MAAkB;AAC/B,KAAK,SAAS,EAAE;KAEZ,KAAU,MAAkB;AAChC,KAAK,UAAU,EAAY;;yBAK3B,EA4BU,EAAA,EAAA,EA5BV,EA4BU;aA3BS,EAAA;SAAiB,EAAA;SAAa,EAAA;cAAa,EAAA;iBAAkB,EAAA;iBAAqB,EAAA;aAAqB,EAAA;gBAA8B,EAAA,eAAe,EAAA,EAAC,CAAA,uBAAA;;eAU7J,EAAA;0CAAA,EAAK,QAAA;GACb,QAAM;GACN,SAAO;GACP,UAAQ;;eAEmBA,EAAAA,SAAAA;UAAS;gBACb,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA;;;gBAEKA,EAAAA,SAAAA;UAAS;gBACb,CAAvB,EAAuB,EAAA,QAAA,UAAA,CAAA,CAAA;;;eAEGA,EAAAA,SAAAA;UAAS;gBACb,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA;;;eAEIA,EAAAA,SAAAA;UAAS;gBACb,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA"}
|
package/dist/es/Input.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { l as e, s as t } from "./constants-C_Llxhb6.js";
|
|
2
|
-
import { ElInputNumber as n, useLocale as r } from "element-plus";
|
|
3
|
-
import { createBlock as i, createSlots as a, defineComponent as o, inject as s, mergeModels as c, mergeProps as l, openBlock as u, renderSlot as d, unref as f, useModel as p, withCtx as m } from "vue";
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/components/basic/InputNumber.vue
|
|
6
|
-
var h = /* @__PURE__ */ o({
|
|
7
|
-
__name: "InputNumber",
|
|
8
|
-
props: /* @__PURE__ */ c({
|
|
9
|
-
align: {},
|
|
10
|
-
controls: { type: Boolean },
|
|
11
|
-
disabled: {
|
|
12
|
-
type: Boolean,
|
|
13
|
-
default: () => void 0
|
|
14
|
-
},
|
|
15
|
-
inputmode: {},
|
|
16
|
-
max: {},
|
|
17
|
-
min: {},
|
|
18
|
-
placeholder: {},
|
|
19
|
-
precision: {},
|
|
20
|
-
size: {},
|
|
21
|
-
step: {},
|
|
22
|
-
stepStrictly: { type: Boolean }
|
|
23
|
-
}, {
|
|
24
|
-
modelValue: {},
|
|
25
|
-
modelModifiers: {}
|
|
26
|
-
}),
|
|
27
|
-
emits: /* @__PURE__ */ c(["blur", "focus"], ["update:modelValue"]),
|
|
28
|
-
setup(o, { emit: c }) {
|
|
29
|
-
let h = c, g = p(o, "modelValue"), { t: _ } = r(s(e)), v = s(t, void 0);
|
|
30
|
-
if (v?.required) {
|
|
31
|
-
let { label: e, validator: t } = v;
|
|
32
|
-
v.validator = () => g.value ? t?.() : `请输入${e}`;
|
|
33
|
-
}
|
|
34
|
-
let y = (e) => {
|
|
35
|
-
h("focus", e);
|
|
36
|
-
}, b = (e) => {
|
|
37
|
-
h("blur", e);
|
|
38
|
-
};
|
|
39
|
-
return (e, t) => (u(), i(f(n), l({
|
|
40
|
-
align: o.align,
|
|
41
|
-
controls: o.controls,
|
|
42
|
-
disabled: o.disabled,
|
|
43
|
-
inputmode: o.inputmode,
|
|
44
|
-
max: o.max,
|
|
45
|
-
min: o.min,
|
|
46
|
-
placeholder: o.placeholder ?? f(_)("el.inputNumber.placeholder"),
|
|
47
|
-
precision: o.precision,
|
|
48
|
-
size: o.size,
|
|
49
|
-
step: o.step,
|
|
50
|
-
stepStrictly: o.stepStrictly
|
|
51
|
-
}, {
|
|
52
|
-
modelValue: g.value,
|
|
53
|
-
"onUpdate:modelValue": t[0] ||= (e) => g.value = e,
|
|
54
|
-
onBlur: b,
|
|
55
|
-
onFocus: y
|
|
56
|
-
}), a({ _: 2 }, ["prefix" in e.$slots ? {
|
|
57
|
-
name: "prefix",
|
|
58
|
-
fn: m(() => [d(e.$slots, "prefix")]),
|
|
59
|
-
key: "0"
|
|
60
|
-
} : void 0, "suffix" in e.$slots ? {
|
|
61
|
-
name: "suffix",
|
|
62
|
-
fn: m(() => [d(e.$slots, "suffix")]),
|
|
63
|
-
key: "1"
|
|
64
|
-
} : void 0]), 1040, ["modelValue"]));
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
//#endregion
|
|
68
|
-
export { h as t };
|
|
69
|
-
|
|
70
|
-
//# sourceMappingURL=InputNumber-DxMf5l3F.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InputNumber-DxMf5l3F.js","names":["$slots"],"sources":["../../src/components/basic/InputNumber.vue","../../src/components/basic/InputNumber.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\nconst { disabled = undefined } = defineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBA,IAAM,IAAO,GAUP,IAAQ,EAAmB,GAAA,aAAE,EAG7B,EAAE,SAAM,EADC,EAAO,EAAgB,CACP,EAEzB,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACZ,EAAM,QAGJ,KAAa,GAFX,MAAM;;EAMnB,IAAM,KAAS,MAAkB;AAC/B,KAAK,SAAS,EAAE;KAGZ,KAAQ,MAAkB;AAC9B,KAAK,QAAQ,EAAE;;yBAKf,EA8BgB,EAAA,EAAA,EA9BhB,EA8BgB;UA7BG,EAAA;aAAc,EAAA;aAAiB,EAAA;cAAiB,EAAA;QAAkB,EAAA;QAAY,EAAA;gBAAyB,EAAA,eAAe,EAAA,EAAC,CAAA,6BAAA;cAAuC,EAAA;SAAkB,EAAA;SAAa,EAAA;iBAAa,EAAA;;eAalN,EAAA;0CAAA,EAAK,QAAA;GACb,QAAM;GACN,SAAO;+BAGYA,EAAAA,SAAAA;SACjB;eAEqB,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA;;0BAGJA,EAAAA,SAAAA;SACjB;eAEqB,CAAtB,EAAsB,EAAA,QAAA,SAAA,CAAA,CAAA"}
|
package/dist/es/InputNumber.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { l as e } from "./constants-C_Llxhb6.js";
|
|
2
|
-
import { ElConfigProvider as t, ElPagination as n, useLocale as r } from "element-plus";
|
|
3
|
-
import { createBlock as i, createVNode as a, defineComponent as o, inject as s, mergeModels as c, mergeProps as l, openBlock as u, renderSlot as d, unref as f, useModel as p, withCtx as m } from "vue";
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/components/basic/Pagination.vue
|
|
6
|
-
var h = /* @__PURE__ */ o({
|
|
7
|
-
__name: "Pagination",
|
|
8
|
-
props: /* @__PURE__ */ c({
|
|
9
|
-
pageSizes: {},
|
|
10
|
-
background: { type: Boolean },
|
|
11
|
-
size: {},
|
|
12
|
-
layout: { default: "prev, pager, next, sizes, jumper, ->, total" },
|
|
13
|
-
total: {},
|
|
14
|
-
defaultPageSize: { default: 20 }
|
|
15
|
-
}, {
|
|
16
|
-
currentPage: {},
|
|
17
|
-
currentPageModifiers: {},
|
|
18
|
-
pageSize: {},
|
|
19
|
-
pageSizeModifiers: {}
|
|
20
|
-
}),
|
|
21
|
-
emits: /* @__PURE__ */ c(["sizeChange", "currentChange"], ["update:currentPage", "update:pageSize"]),
|
|
22
|
-
setup(o, { emit: c }) {
|
|
23
|
-
let h = c, g = p(o, "currentPage"), _ = p(o, "pageSize"), v = s(e);
|
|
24
|
-
return r(v), (e, r) => (u(), i(f(t), { locale: f(v) }, {
|
|
25
|
-
default: m(() => [a(f(n), l({
|
|
26
|
-
size: o.size,
|
|
27
|
-
total: o.total,
|
|
28
|
-
pageSizes: o.pageSizes,
|
|
29
|
-
background: o.background,
|
|
30
|
-
layout: o.layout
|
|
31
|
-
}, {
|
|
32
|
-
"current-page": g.value,
|
|
33
|
-
"onUpdate:currentPage": r[0] ||= (e) => g.value = e,
|
|
34
|
-
"page-size": _.value,
|
|
35
|
-
"onUpdate:pageSize": r[1] ||= (e) => _.value = e,
|
|
36
|
-
"default-page-size": o.defaultPageSize,
|
|
37
|
-
onSizeChange: r[2] ||= (e) => h("sizeChange", e),
|
|
38
|
-
onCurrentChange: r[3] ||= (e) => h("currentChange", e)
|
|
39
|
-
}), {
|
|
40
|
-
default: m(() => [d(e.$slots, "default")]),
|
|
41
|
-
_: 3
|
|
42
|
-
}, 16, [
|
|
43
|
-
"current-page",
|
|
44
|
-
"page-size",
|
|
45
|
-
"default-page-size"
|
|
46
|
-
])]),
|
|
47
|
-
_: 3
|
|
48
|
-
}, 8, ["locale"]));
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
//#endregion
|
|
52
|
-
export { h as t };
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=Pagination-BJEeN66O.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination-BJEeN66O.js","names":[],"sources":["../../src/components/basic/Pagination.vue","../../src/components/basic/Pagination.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { PaginationProps } from 'element-plus'\r\nimport { ElConfigProvider, ElPagination, useLocale } from 'element-plus'\r\n\r\nimport { inject } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XPaginationProps {\r\n pageSizes?: PaginationProps['pageSizes']\r\n background?: PaginationProps['background']\r\n size?: PaginationProps['size']\r\n layout?: PaginationProps['layout']\r\n total?: PaginationProps['total']\r\n defaultPageSize?: PaginationProps['defaultPageSize']\r\n}\r\n\r\nconst { defaultPageSize = 20, layout = 'prev, pager, next, sizes, jumper, ->, total' } = defineProps<XPaginationProps>()\r\n\r\nconst emit = defineEmits<{\r\n sizeChange: [size: number]\r\n currentChange: [current: number]\r\n}>()\r\nconst currentPage = defineModel<number>('currentPage')\r\nconst pageSize = defineModel<number>('pageSize')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nuseLocale(locale)\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElPagination\r\n v-bind=\"{ size, total, pageSizes, background, layout }\"\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :default-page-size=\"defaultPageSize\"\r\n @size-change=\"emit('sizeChange', $event)\"\r\n @current-change=\"emit('currentChange', $event)\"\r\n >\r\n <slot />\r\n </ElPagination>\r\n </ElConfigProvider>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { PaginationProps } from 'element-plus'\r\nimport { ElConfigProvider, ElPagination, useLocale } from 'element-plus'\r\n\r\nimport { inject } from 'vue'\r\nimport { X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XPaginationProps {\r\n pageSizes?: PaginationProps['pageSizes']\r\n background?: PaginationProps['background']\r\n size?: PaginationProps['size']\r\n layout?: PaginationProps['layout']\r\n total?: PaginationProps['total']\r\n defaultPageSize?: PaginationProps['defaultPageSize']\r\n}\r\n\r\nconst { defaultPageSize = 20, layout = 'prev, pager, next, sizes, jumper, ->, total' } = defineProps<XPaginationProps>()\r\n\r\nconst emit = defineEmits<{\r\n sizeChange: [size: number]\r\n currentChange: [current: number]\r\n}>()\r\nconst currentPage = defineModel<number>('currentPage')\r\nconst pageSize = defineModel<number>('pageSize')\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nuseLocale(locale)\r\n</script>\r\n\r\n<template>\r\n <ElConfigProvider :locale=\"locale\">\r\n <ElPagination\r\n v-bind=\"{ size, total, pageSizes, background, layout }\"\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :default-page-size=\"defaultPageSize\"\r\n @size-change=\"emit('sizeChange', $event)\"\r\n @current-change=\"emit('currentChange', $event)\"\r\n >\r\n <slot />\r\n </ElPagination>\r\n </ElConfigProvider>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAkBA,IAAM,IAAO,GAIP,IAAc,EAAmB,GAAC,cAAc,EAChD,IAAW,EAAmB,GAAC,WAAW,EAE1C,IAAS,EAAO,EAAgB;SACtC,EAAU,EAAO,kBAIf,EAWmB,EAAA,EAAA,EAAA,EAXA,QAAQ,EAAA,EAAA,EAAM,EAAA;oBAUhB,CATf,EASe,EAAA,EAAA,EATf,EASe;IAAA,MARH,EAAA;IAAI,OAAE,EAAA;IAAK,WAAE,EAAA;IAAS,YAAE,EAAA;IAAU,QAAE,EAAA;IAAM,EAAA;IAC5C,gBAAc,EAAA;4CAAA,EAAW,QAAA;IACzB,aAAW,EAAA;yCAAA,EAAQ,QAAA;IAC1B,qBAAmB,EAAA;IACnB,cAAW,AAAA,EAAA,QAAA,MAAE,EAAI,cAAe,EAAM;IACtC,iBAAc,AAAA,EAAA,QAAA,MAAE,EAAI,iBAAkB,EAAM;;qBAErC,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA"}
|
package/dist/es/Pagination.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { c as e } from "./dist-DQ3VOl3T.js";
|
|
2
|
-
import { l as t, s as n } from "./constants-C_Llxhb6.js";
|
|
3
|
-
import { ElOption as r, ElSelect as i, useLocale as a } from "element-plus";
|
|
4
|
-
import { Fragment as o, computed as s, createBlock as c, createElementBlock as l, createTextVNode as u, defineComponent as d, inject as f, mergeModels as p, mergeProps as m, openBlock as h, ref as g, renderList as _, toDisplayString as v, unref as y, useModel as b, watch as x, withCtx as S } from "vue";
|
|
5
|
-
//#endregion
|
|
6
|
-
//#region src/components/basic/Select.vue
|
|
7
|
-
var C = /* @__PURE__ */ d({
|
|
8
|
-
__name: "Select",
|
|
9
|
-
props: /* @__PURE__ */ p({
|
|
10
|
-
collapseTagsTooltip: { type: Boolean },
|
|
11
|
-
defaultFirstOption: { type: Boolean },
|
|
12
|
-
clearable: { type: Boolean },
|
|
13
|
-
allowCreate: { type: Boolean },
|
|
14
|
-
collapseTags: { type: Boolean },
|
|
15
|
-
data: {},
|
|
16
|
-
disabled: {
|
|
17
|
-
type: Boolean,
|
|
18
|
-
default: () => void 0
|
|
19
|
-
},
|
|
20
|
-
factory: { type: Function },
|
|
21
|
-
filterable: { type: Boolean },
|
|
22
|
-
identify: { type: Function },
|
|
23
|
-
loading: { type: Boolean },
|
|
24
|
-
multiple: { type: Boolean },
|
|
25
|
-
remote: { type: Boolean },
|
|
26
|
-
remoteMethod: { type: Function },
|
|
27
|
-
size: {},
|
|
28
|
-
supplement: { type: Function },
|
|
29
|
-
placeholder: {},
|
|
30
|
-
noDataText: {}
|
|
31
|
-
}, {
|
|
32
|
-
modelValue: {},
|
|
33
|
-
modelModifiers: {}
|
|
34
|
-
}),
|
|
35
|
-
emits: /* @__PURE__ */ p([
|
|
36
|
-
"blur",
|
|
37
|
-
"change",
|
|
38
|
-
"focus"
|
|
39
|
-
], ["update:modelValue"]),
|
|
40
|
-
setup(d, { emit: p }) {
|
|
41
|
-
let C = p, w = b(d, "modelValue"), { t: T } = a(f(t)), E = g([]), D = e(() => d.data ?? [], d.factory), O = s(() => [...e(E, d.factory).value, ...D.value]), k = (e) => {
|
|
42
|
-
if (typeof e == "object") {
|
|
43
|
-
if (d.identify) return d.identify(e);
|
|
44
|
-
throw Error("`identify` is required when value's type extends `object` or `object[]`");
|
|
45
|
-
} else return e;
|
|
46
|
-
}, A = (e) => O.value.map((e) => e.value).find((t) => k(t) === e), j = 0;
|
|
47
|
-
x([w, D], async () => {
|
|
48
|
-
if (j++, w.value) {
|
|
49
|
-
let e = [...[], ...Array.isArray(w.value) ? w.value : [w.value]].filter((e) => !D.value.map((e) => k(e.value)).includes(k(e))), t = j, n = await d.supplement?.(e);
|
|
50
|
-
t === j && n && (E.value = n);
|
|
51
|
-
} else E.value = [];
|
|
52
|
-
}, { immediate: !0 });
|
|
53
|
-
let M = s(() => O.value.map((e) => {
|
|
54
|
-
let t = k(e.value);
|
|
55
|
-
return {
|
|
56
|
-
disabled: e.disabled,
|
|
57
|
-
key: t,
|
|
58
|
-
label: e.label,
|
|
59
|
-
value: t
|
|
60
|
-
};
|
|
61
|
-
})), N = s({
|
|
62
|
-
get: () => w.value && (Array.isArray(w.value) ? w.value.map(k) : k(w.value)),
|
|
63
|
-
set: (e) => {
|
|
64
|
-
Array.isArray(e) ? w.value = e.map((e) => A(e)) : w.value = e === void 0 ? void 0 : A(e) ?? (d.allowCreate ? e : void 0);
|
|
65
|
-
}
|
|
66
|
-
}), P = f(n, void 0);
|
|
67
|
-
if (P?.required) {
|
|
68
|
-
let { label: e, validator: t } = P;
|
|
69
|
-
P.validator = () => !w.value || Array.isArray(w.value) && w.value.length === 0 ? `请选择${e}` : t?.();
|
|
70
|
-
}
|
|
71
|
-
let F = (e) => {
|
|
72
|
-
C("blur", e), P?.validate?.();
|
|
73
|
-
}, I = (e) => {
|
|
74
|
-
C("focus", e);
|
|
75
|
-
}, L = (e) => {
|
|
76
|
-
C("change", e);
|
|
77
|
-
};
|
|
78
|
-
return (e, t) => (h(), c(y(i), m({
|
|
79
|
-
placeholder: d.placeholder ?? y(T)("el.select.placeholder"),
|
|
80
|
-
noDataText: d.noDataText ?? y(T)("el.select.noDataText"),
|
|
81
|
-
disabled: d.disabled,
|
|
82
|
-
allowCreate: d.allowCreate,
|
|
83
|
-
remote: d.remote,
|
|
84
|
-
filterable: d.filterable || d.remote,
|
|
85
|
-
clearable: d.clearable,
|
|
86
|
-
remoteMethod: d.remoteMethod,
|
|
87
|
-
multiple: d.multiple,
|
|
88
|
-
loading: d.loading,
|
|
89
|
-
size: d.size,
|
|
90
|
-
collapseTags: d.collapseTags,
|
|
91
|
-
collapseTagsTooltip: d.collapseTagsTooltip,
|
|
92
|
-
defaultFirstOption: d.defaultFirstOption || d.allowCreate
|
|
93
|
-
}, {
|
|
94
|
-
modelValue: N.value,
|
|
95
|
-
"onUpdate:modelValue": t[0] ||= (e) => N.value = e,
|
|
96
|
-
onBlur: F,
|
|
97
|
-
onFocus: I,
|
|
98
|
-
onChange: L
|
|
99
|
-
}), {
|
|
100
|
-
default: S(() => [(h(!0), l(o, null, _(M.value, (e) => (h(), c(y(r), {
|
|
101
|
-
key: e.key,
|
|
102
|
-
label: e.label,
|
|
103
|
-
value: e.value,
|
|
104
|
-
disabled: e.disabled
|
|
105
|
-
}, {
|
|
106
|
-
default: S(() => [u(v(e.label), 1)]),
|
|
107
|
-
_: 2
|
|
108
|
-
}, 1032, [
|
|
109
|
-
"label",
|
|
110
|
-
"value",
|
|
111
|
-
"disabled"
|
|
112
|
-
]))), 128))]),
|
|
113
|
-
_: 1
|
|
114
|
-
}, 16, ["modelValue"]));
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
//#endregion
|
|
118
|
-
export { C as t };
|
|
119
|
-
|
|
120
|
-
//# sourceMappingURL=Select-BHgPcMvn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Select-BHgPcMvn.js","names":[],"sources":["../../src/components/basic/Select.vue","../../src/components/basic/Select.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { SelectProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\n\r\nimport { useArrayMap } from '@vueuse/core'\r\nimport { ElOption, ElSelect, useLocale } from 'element-plus'\r\nimport { computed, inject, ref, watch } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XSelectOptionProps<V> {\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n}\r\n\r\nexport interface XSelectProps<D, V> {\r\n collapseTagsTooltip?: SelectProps['collapseTagsTooltip']\r\n defaultFirstOption?: SelectProps['defaultFirstOption']\r\n clearable?: SelectProps['clearable']\r\n allowCreate?: SelectProps['allowCreate']\r\n collapseTags?: SelectProps['collapseTags']\r\n data?: D[]\r\n disabled?: SelectProps['disabled']\r\n factory: (option: D) => XSelectOptionProps<V>\r\n\r\n filterable?: SelectProps['filterable']\r\n identify?: (value: V) => number | string\r\n loading?: SelectProps['loading']\r\n multiple?: SelectProps['multiple']\r\n remote?: SelectProps['remote']\r\n\r\n remoteMethod?: (query: string) => void\r\n size?: SelectProps['size']\r\n\r\n supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>\r\n placeholder?: SelectProps['placeholder']\r\n noDataText?: SelectProps['noDataText']\r\n}\r\n\r\nexport interface XSelectEvents<V> {\r\n blur: [e: FocusEvent]\r\n change: [value: V]\r\n focus: [e: FocusEvent]\r\n}\r\n\r\nconst {\r\n allowCreate,\r\n data,\r\n disabled = undefined,\r\n factory,\r\n identify,\r\n supplement\r\n} = defineProps<XSelectProps<D, V>>()\r\n\r\nconst emit = defineEmits<XSelectEvents<V>>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst supplements = ref([]) as Ref<D[]>\r\nconst init = useArrayMap(() => data ?? [], factory)\r\nconst options = computed(() => [...useArrayMap(supplements, factory).value, ...init.value])\r\n\r\nconst forward = (value: V) => {\r\n if (typeof value === 'object') {\r\n if (identify) {\r\n return identify(value)\r\n }\r\n else {\r\n throw new Error('`identify` is required when value\\'s type extends `object` or `object[]`')\r\n }\r\n }\r\n else {\r\n return value as number | string\r\n }\r\n}\r\nconst backward = (key: number | string) => options.value.map(item => item.value).find(item => forward(item) === key)\r\n\r\nlet no = 0\r\nwatch(\r\n [model, init],\r\n async () => {\r\n no++\r\n if (model.value) {\r\n const lacks = [...[] as V[], ...Array.isArray(model.value) ? model.value : [model.value]]\r\n .filter(item => !init.value.map(it => forward(it.value)).includes(forward(item)))\r\n const _no = no\r\n const _data = await supplement?.(lacks)\r\n if (_no === no && _data) {\r\n supplements.value = _data\r\n }\r\n }\r\n else {\r\n supplements.value = []\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\nconst localOptions = computed(() =>\r\n options.value.map((item) => {\r\n const key = forward(item.value)\r\n return { disabled: item.disabled, key, label: item.label, value: key }\r\n })\r\n)\r\n\r\nconst localModel = computed({\r\n get: () => model.value && (Array.isArray(model.value) ? model.value.map(forward) : forward(model.value as V)),\r\n set: (value) => {\r\n if (Array.isArray(value)) {\r\n model.value = value.map(item => backward(item)!) as MV\r\n }\r\n else {\r\n model.value\r\n = value === undefined\r\n ? undefined\r\n : ((backward(value) ?? (allowCreate ? value : undefined)) as MV)\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: V) => {\r\n emit('change', value)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect\r\n v-bind=\"{\r\n placeholder: placeholder ?? t('el.select.placeholder'),\r\n noDataText: noDataText ?? t('el.select.noDataText'),\r\n disabled,\r\n allowCreate,\r\n remote,\r\n filterable: filterable || remote,\r\n clearable,\r\n remoteMethod,\r\n multiple,\r\n loading,\r\n size,\r\n collapseTags,\r\n collapseTagsTooltip,\r\n defaultFirstOption: defaultFirstOption || allowCreate,\r\n }\"\r\n v-model=\"localModel\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <ElOption\r\n v-for=\"option of localOptions\"\r\n :key=\"option.key\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"\r\n :disabled=\"option.disabled\"\r\n >\r\n {{ option.label }}\r\n </ElOption>\r\n </ElSelect>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { SelectProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\n\r\nimport { useArrayMap } from '@vueuse/core'\r\nimport { ElOption, ElSelect, useLocale } from 'element-plus'\r\nimport { computed, inject, ref, watch } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '@/constants'\r\n\r\nexport interface XSelectOptionProps<V> {\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n}\r\n\r\nexport interface XSelectProps<D, V> {\r\n collapseTagsTooltip?: SelectProps['collapseTagsTooltip']\r\n defaultFirstOption?: SelectProps['defaultFirstOption']\r\n clearable?: SelectProps['clearable']\r\n allowCreate?: SelectProps['allowCreate']\r\n collapseTags?: SelectProps['collapseTags']\r\n data?: D[]\r\n disabled?: SelectProps['disabled']\r\n factory: (option: D) => XSelectOptionProps<V>\r\n\r\n filterable?: SelectProps['filterable']\r\n identify?: (value: V) => number | string\r\n loading?: SelectProps['loading']\r\n multiple?: SelectProps['multiple']\r\n remote?: SelectProps['remote']\r\n\r\n remoteMethod?: (query: string) => void\r\n size?: SelectProps['size']\r\n\r\n supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>\r\n placeholder?: SelectProps['placeholder']\r\n noDataText?: SelectProps['noDataText']\r\n}\r\n\r\nexport interface XSelectEvents<V> {\r\n blur: [e: FocusEvent]\r\n change: [value: V]\r\n focus: [e: FocusEvent]\r\n}\r\n\r\nconst {\r\n allowCreate,\r\n data,\r\n disabled = undefined,\r\n factory,\r\n identify,\r\n supplement\r\n} = defineProps<XSelectProps<D, V>>()\r\n\r\nconst emit = defineEmits<XSelectEvents<V>>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst supplements = ref([]) as Ref<D[]>\r\nconst init = useArrayMap(() => data ?? [], factory)\r\nconst options = computed(() => [...useArrayMap(supplements, factory).value, ...init.value])\r\n\r\nconst forward = (value: V) => {\r\n if (typeof value === 'object') {\r\n if (identify) {\r\n return identify(value)\r\n }\r\n else {\r\n throw new Error('`identify` is required when value\\'s type extends `object` or `object[]`')\r\n }\r\n }\r\n else {\r\n return value as number | string\r\n }\r\n}\r\nconst backward = (key: number | string) => options.value.map(item => item.value).find(item => forward(item) === key)\r\n\r\nlet no = 0\r\nwatch(\r\n [model, init],\r\n async () => {\r\n no++\r\n if (model.value) {\r\n const lacks = [...[] as V[], ...Array.isArray(model.value) ? model.value : [model.value]]\r\n .filter(item => !init.value.map(it => forward(it.value)).includes(forward(item)))\r\n const _no = no\r\n const _data = await supplement?.(lacks)\r\n if (_no === no && _data) {\r\n supplements.value = _data\r\n }\r\n }\r\n else {\r\n supplements.value = []\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\nconst localOptions = computed(() =>\r\n options.value.map((item) => {\r\n const key = forward(item.value)\r\n return { disabled: item.disabled, key, label: item.label, value: key }\r\n })\r\n)\r\n\r\nconst localModel = computed({\r\n get: () => model.value && (Array.isArray(model.value) ? model.value.map(forward) : forward(model.value as V)),\r\n set: (value) => {\r\n if (Array.isArray(value)) {\r\n model.value = value.map(item => backward(item)!) as MV\r\n }\r\n else {\r\n model.value\r\n = value === undefined\r\n ? undefined\r\n : ((backward(value) ?? (allowCreate ? value : undefined)) as MV)\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n formItemValidation?.validate?.()\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: V) => {\r\n emit('change', value)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect\r\n v-bind=\"{\r\n placeholder: placeholder ?? t('el.select.placeholder'),\r\n noDataText: noDataText ?? t('el.select.noDataText'),\r\n disabled,\r\n allowCreate,\r\n remote,\r\n filterable: filterable || remote,\r\n clearable,\r\n remoteMethod,\r\n multiple,\r\n loading,\r\n size,\r\n collapseTags,\r\n collapseTagsTooltip,\r\n defaultFirstOption: defaultFirstOption || allowCreate,\r\n }\"\r\n v-model=\"localModel\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <ElOption\r\n v-for=\"option of localOptions\"\r\n :key=\"option.key\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"\r\n :disabled=\"option.disabled\"\r\n >\r\n {{ option.label }}\r\n </ElOption>\r\n </ElSelect>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDA,IAAM,IAAO,GAEP,IAAQ,EAAe,GAAA,aAAE,EAGzB,EAAE,SAAM,EADC,EAAO,EAAgB,CACP,EAEzB,IAAc,EAAI,EAAE,CAAa,EACjC,IAAO,QAAkB,EAAA,QAAQ,EAAE,EAAE,EAAA,QAAQ,EAC7C,IAAU,QAAe,CAAC,GAAG,EAAY,GAAa,EAAA,QAAQ,CAAC,OAAO,GAAG,EAAK,MAAM,CAAC,EAErF,KAAW,MAAa;AAC5B,OAAI,OAAO,KAAU,UACnB;QAAI,EAAA,SACF,QAAO,EAAA,SAAS,EAAM;AAGtB,UAAU,MAAM,0EAA2E;SAI7F,QAAO;KAGL,KAAY,MAAyB,EAAQ,MAAM,KAAI,MAAQ,EAAK,MAAM,CAAC,MAAK,MAAQ,EAAQ,EAAK,KAAK,EAAI,EAEhH,IAAK;AACT,IACE,CAAC,GAAO,EAAK,EACb,YAAY;AAEV,OADA,KACI,EAAM,OAAO;IACf,IAAM,IAAQ,CAAC,GAAG,EAAS,EAAE,GAAG,MAAM,QAAQ,EAAM,MAAM,GAAG,EAAM,QAAQ,CAAC,EAAM,MAAM,CAAC,CACtF,QAAO,MAAQ,CAAC,EAAK,MAAM,KAAI,MAAM,EAAQ,EAAG,MAAM,CAAC,CAAC,SAAS,EAAQ,EAAK,CAAC,CAAC,EAC7E,IAAM,GACN,IAAQ,MAAM,EAAA,aAAa,EAAM;AACvC,IAAI,MAAQ,KAAM,MAChB,EAAY,QAAQ;SAItB,GAAY,QAAQ,EAAE;KAG1B,EAAE,WAAW,IACf,CAAC;EAED,IAAM,IAAe,QACnB,EAAQ,MAAM,KAAK,MAAS;GAC1B,IAAM,IAAM,EAAQ,EAAK,MAAM;AAC/B,UAAO;IAAE,UAAU,EAAK;IAAU;IAAK,OAAO,EAAK;IAAO,OAAO;IAAK;IAE1E,CAAC,EAEK,IAAa,EAAS;GAC1B,WAAW,EAAM,UAAU,MAAM,QAAQ,EAAM,MAAM,GAAG,EAAM,MAAM,IAAI,EAAQ,GAAG,EAAQ,EAAM,MAAW;GAC5G,MAAM,MAAU;AACd,IAAI,MAAM,QAAQ,EAAM,GACtB,EAAM,QAAQ,EAAM,KAAI,MAAQ,EAAS,EAAM,CAAO,GAGtD,EAAM,QACF,MAAU,KAAA,IACR,KAAA,IACE,EAAS,EAAM,KAAK,EAAA,cAAc,IAAQ,KAAA;;GAGvD,CAAC,EAEI,IAAqB,EAAO,GAAwB,KAAA,EAAU;AACpE,MAAI,GAAoB,UAAU;GAChC,IAAM,EAAE,UAAO,iBAAc;AAC7B,KAAmB,kBACb,CAAC,EAAM,SAAU,MAAM,QAAQ,EAAM,MAAM,IAAI,EAAM,MAAM,WAAW,IACjE,MAAM,MAER,KAAa;;EAIxB,IAAM,KAAQ,MAAkB;AAE9B,GADA,EAAK,QAAQ,EAAE,EACf,GAAoB,YAAY;KAE5B,KAAS,MAAkB;AAC/B,KAAK,SAAS,EAAE;KAEZ,KAAU,MAAa;AAC3B,KAAK,UAAU,EAAM;;yBAKrB,EA+BW,EAAA,EAAA,EA/BX,EA+BW;gBA9BqB,EAAA,eAAe,EAAA,EAAC,CAAA,wBAAA;eAA8C,EAAA,cAAc,EAAA,EAAC,CAAA,uBAAA;aAAiC,EAAA;gBAAiB,EAAA;WAAoB,EAAA;eAA2B,EAAA,cAAc,EAAA;cAAe,EAAA;iBAAkB,EAAA;aAAqB,EAAA;YAAiB,EAAA;SAAgB,EAAA;iBAAa,EAAA;wBAAqB,EAAA;uBAAgD,EAAA,sBAAsB,EAAA;;eAgBhZ,EAAA;0CAAA,EAAU,QAAA;GAClB,QAAM;GACN,SAAO;GACP,UAAQ;;oBAGuB,EAAA,EAAA,GAAA,EADhC,EAQW,GAAA,MAAA,EAPQ,EAAA,QAAV,YADT,EAQW,EAAA,EAAA,EAAA;IANR,KAAK,EAAO;IACZ,OAAO,EAAO;IACd,OAAO,EAAO;IACd,UAAU,EAAO;;qBAEA,CAAA,EAAA,EAAf,EAAO,MAAK,EAAA,EAAA,CAAA,CAAA"}
|
package/dist/es/Select.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { d as e, o as t } from "./constants-C_Llxhb6.js";
|
|
2
|
-
import { ElTabPane as n } from "element-plus";
|
|
3
|
-
import { createBlock as r, defineComponent as i, guardReactiveProps as a, normalizeProps as o, openBlock as s, provide as c, renderSlot as l, unref as u, withCtx as d } from "vue";
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/components/basic/TabPane.vue
|
|
6
|
-
var f = /* @__PURE__ */ i({
|
|
7
|
-
__name: "TabPane",
|
|
8
|
-
props: {
|
|
9
|
-
closable: { type: Boolean },
|
|
10
|
-
disabled: { type: Boolean },
|
|
11
|
-
label: {},
|
|
12
|
-
lazy: { type: Boolean },
|
|
13
|
-
name: {}
|
|
14
|
-
},
|
|
15
|
-
setup(i, { expose: f }) {
|
|
16
|
-
return f({
|
|
17
|
-
label: i.label,
|
|
18
|
-
name: i.name
|
|
19
|
-
}), c(t, !0), c(e, i.name), (e, t) => (s(), r(u(n), o(a({
|
|
20
|
-
label: i.label,
|
|
21
|
-
name: i.name,
|
|
22
|
-
disabled: i.disabled,
|
|
23
|
-
closable: i.closable,
|
|
24
|
-
lazy: i.lazy
|
|
25
|
-
})), {
|
|
26
|
-
default: d(() => [l(e.$slots, "default")]),
|
|
27
|
-
_: 3
|
|
28
|
-
}, 16));
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
//#endregion
|
|
32
|
-
export { f as t };
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=TabPane-B_fsTqWm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabPane-B_fsTqWm.js","names":[],"sources":["../../src/components/basic/TabPane.vue","../../src/components/basic/TabPane.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { TabPaneProps } from 'element-plus'\r\nimport { ElTabPane } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_TAB_PANE_NAME } from '@/constants'\r\n\r\nexport interface XTabPaneConfig {\r\n label?: string\r\n name?: number | string\r\n}\r\n\r\nexport interface XTabPaneProps {\r\n closable?: TabPaneProps['closable']\r\n disabled?: TabPaneProps['disabled']\r\n label?: TabPaneProps['label']\r\n lazy?: TabPaneProps['lazy']\r\n name?: TabPaneProps['name']\r\n}\r\n\r\nconst { label, name } = defineProps<XTabPaneProps>()\r\n\r\nconst pane = { label, name }\r\n\r\ndefineExpose({ ...pane })\r\n\r\nprovide(X_ELEMENT_IN_TAB_PANE, true)\r\nprovide(X_TAB_PANE_NAME, name)\r\n</script>\r\n\r\n<template>\r\n <ElTabPane\r\n v-bind=\"{ label, name, disabled, closable, lazy }\"\r\n >\r\n <slot />\r\n </ElTabPane>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { TabPaneProps } from 'element-plus'\r\nimport { ElTabPane } from 'element-plus'\r\nimport { provide } from 'vue'\r\nimport { X_ELEMENT_IN_TAB_PANE, X_TAB_PANE_NAME } from '@/constants'\r\n\r\nexport interface XTabPaneConfig {\r\n label?: string\r\n name?: number | string\r\n}\r\n\r\nexport interface XTabPaneProps {\r\n closable?: TabPaneProps['closable']\r\n disabled?: TabPaneProps['disabled']\r\n label?: TabPaneProps['label']\r\n lazy?: TabPaneProps['lazy']\r\n name?: TabPaneProps['name']\r\n}\r\n\r\nconst { label, name } = defineProps<XTabPaneProps>()\r\n\r\nconst pane = { label, name }\r\n\r\ndefineExpose({ ...pane })\r\n\r\nprovide(X_ELEMENT_IN_TAB_PANE, true)\r\nprovide(X_TAB_PANE_NAME, name)\r\n</script>\r\n\r\n<template>\r\n <ElTabPane\r\n v-bind=\"{ label, name, disabled, closable, lazy }\"\r\n >\r\n <slot />\r\n </ElTabPane>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;SAuBA,EAAa;GAFE,OAAI,EAAA;GAAG,MAAG,EAAA;GAED,CAAC,EAEzB,EAAQ,GAAuB,GAAK,EACpC,EAAQ,GAAiB,EAAA,KAAK,kBAI5B,EAIY,EAAA,EAAA,EAAA,EAAA,EAAA;GAAA,OAHA,EAAA;GAAK,MAAE,EAAA;GAAI,UAAE,EAAA;GAAQ,UAAE,EAAA;GAAQ,MAAE,EAAA;GAAI,CAAA,CAAA,EAAA;oBAEvC,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA"}
|
package/dist/es/TabPane.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { i as e, l as t, t as n } from "./constants-C_Llxhb6.js";
|
|
2
|
-
import { ElConfigProvider as r, ElTable as i, ElTableColumn as a, useLocale as o } from "element-plus";
|
|
3
|
-
import { Fragment as s, createBlock as c, createElementBlock as l, createVNode as u, defineComponent as d, inject as f, mergeProps as p, openBlock as m, provide as h, renderList as g, unref as _, useTemplateRef as v, withCtx as y } from "vue";
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/components/basic/Table.vue
|
|
6
|
-
var b = /* @__PURE__ */ d({
|
|
7
|
-
__name: "Table",
|
|
8
|
-
props: {
|
|
9
|
-
border: {
|
|
10
|
-
type: Boolean,
|
|
11
|
-
default: () => void 0
|
|
12
|
-
},
|
|
13
|
-
cellClassName: { type: [Function, String] },
|
|
14
|
-
cellStyle: { type: [Function, Object] },
|
|
15
|
-
columns: {},
|
|
16
|
-
data: {},
|
|
17
|
-
height: {},
|
|
18
|
-
emptyText: {},
|
|
19
|
-
rowClassName: { type: [Function, String] },
|
|
20
|
-
rowStyle: { type: [Function, Object] },
|
|
21
|
-
rowKey: { type: Function },
|
|
22
|
-
showOverflowTooltip: {
|
|
23
|
-
type: [Boolean, Object],
|
|
24
|
-
default: () => void 0
|
|
25
|
-
},
|
|
26
|
-
showSummary: { type: Boolean },
|
|
27
|
-
size: {},
|
|
28
|
-
fit: {
|
|
29
|
-
type: Boolean,
|
|
30
|
-
default: !0
|
|
31
|
-
},
|
|
32
|
-
spanMethod: { type: Function },
|
|
33
|
-
summaryMethod: { type: Function }
|
|
34
|
-
},
|
|
35
|
-
emits: [
|
|
36
|
-
"headerDragend",
|
|
37
|
-
"rowClick",
|
|
38
|
-
"rowDblclick",
|
|
39
|
-
"selectionChange"
|
|
40
|
-
],
|
|
41
|
-
setup(b, { expose: x, emit: S }) {
|
|
42
|
-
let C = S, w = f(n)?.table, T = f(t, void 0), { t: E } = o(T), D = v("table");
|
|
43
|
-
x({
|
|
44
|
-
clearSelection: () => D.value?.clearSelection(),
|
|
45
|
-
getSelectionRows: () => D.value?.getSelectionRows(),
|
|
46
|
-
scrollTo: (e, t) => D.value?.scrollTo(e, t),
|
|
47
|
-
setCurrentRow: (e) => D.value?.setCurrentRow(e),
|
|
48
|
-
setScrollLeft: (e) => D.value?.scrollTo(e),
|
|
49
|
-
setScrollTop: (e) => D.value?.scrollTo(e),
|
|
50
|
-
toggleRowSelection: (e, t, n) => D.value?.toggleRowSelection(e, t, n)
|
|
51
|
-
}), h(e, !0);
|
|
52
|
-
let O = /* @__PURE__ */ d((e) => () => u(a, {
|
|
53
|
-
fixed: e.fixed,
|
|
54
|
-
label: e.label,
|
|
55
|
-
prop: e.prop,
|
|
56
|
-
type: e.type,
|
|
57
|
-
width: e.width,
|
|
58
|
-
columnKey: e.columnKey,
|
|
59
|
-
selectable: e.selectable
|
|
60
|
-
}, {
|
|
61
|
-
default: ({ row: t, $index: n }) => e.content?.({
|
|
62
|
-
row: t,
|
|
63
|
-
index: n
|
|
64
|
-
}),
|
|
65
|
-
header: () => e.header?.({ column: { ...e } })
|
|
66
|
-
}), { props: [
|
|
67
|
-
"content",
|
|
68
|
-
"fixed",
|
|
69
|
-
"header",
|
|
70
|
-
"label",
|
|
71
|
-
"prop",
|
|
72
|
-
"selectable",
|
|
73
|
-
"type",
|
|
74
|
-
"width"
|
|
75
|
-
] });
|
|
76
|
-
return (e, t) => (m(), c(_(r), { locale: _(T) }, {
|
|
77
|
-
default: y(() => [u(_(i), p({
|
|
78
|
-
ref_key: "table",
|
|
79
|
-
ref: D
|
|
80
|
-
}, {
|
|
81
|
-
data: b.data,
|
|
82
|
-
height: b.height,
|
|
83
|
-
rowClassName: b.rowClassName,
|
|
84
|
-
rowStyle: b.rowStyle,
|
|
85
|
-
cellClassName: b.cellClassName,
|
|
86
|
-
cellStyle: b.cellStyle,
|
|
87
|
-
showSummary: b.showSummary,
|
|
88
|
-
showOverflowTooltip: b.showOverflowTooltip,
|
|
89
|
-
spanMethod: b.spanMethod,
|
|
90
|
-
summaryMethod: b.summaryMethod,
|
|
91
|
-
size: b.size,
|
|
92
|
-
fit: b.fit,
|
|
93
|
-
rowKey: b.rowKey,
|
|
94
|
-
border: b.border ?? _(w)?.border,
|
|
95
|
-
emptyText: b.emptyText ?? _(E)("el.table.emptyText")
|
|
96
|
-
}, {
|
|
97
|
-
onRowClick: t[0] ||= (e) => C("rowClick", e),
|
|
98
|
-
onRowDblclick: t[1] ||= (e) => C("rowDblclick", e),
|
|
99
|
-
onSelectionChange: t[2] ||= (e) => C("selectionChange", e),
|
|
100
|
-
onHeaderDragend: t[3] ||= (e, t, n) => C("headerDragend", e, t, n)
|
|
101
|
-
}), {
|
|
102
|
-
default: y(() => [(m(!0), l(s, null, g(b.columns, (e) => (m(), c(_(O), p({ ref_for: !0 }, e), null, 16))), 256))]),
|
|
103
|
-
_: 1
|
|
104
|
-
}, 16)]),
|
|
105
|
-
_: 1
|
|
106
|
-
}, 8, ["locale"]));
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
//#endregion
|
|
110
|
-
export { b as t };
|
|
111
|
-
|
|
112
|
-
//# sourceMappingURL=Table-Dz_FhW7c.js.map
|