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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/cjs/Button-Dkqk8lXH.cjs +2 -0
  2. package/dist/cjs/Button-Dkqk8lXH.cjs.map +1 -0
  3. package/dist/cjs/Button.cjs +1 -1
  4. package/dist/cjs/ButtonPopconfirm.cjs +1 -1
  5. package/dist/cjs/ConfigProvider-lII820wO.cjs +2 -0
  6. package/dist/cjs/{ConfigProvider-CF5710p3.cjs.map → ConfigProvider-lII820wO.cjs.map} +1 -1
  7. package/dist/cjs/ConfigProvider.cjs +1 -1
  8. package/dist/cjs/DatePicker-DvW11A5y.cjs +2 -0
  9. package/dist/cjs/DatePicker-DvW11A5y.cjs.map +1 -0
  10. package/dist/cjs/DatePicker.cjs +1 -1
  11. package/dist/cjs/Dialog.cjs +1 -1
  12. package/dist/cjs/Form-269B6UNo.cjs +2 -0
  13. package/dist/cjs/Form-269B6UNo.cjs.map +1 -0
  14. package/dist/cjs/Form.cjs +1 -1
  15. package/dist/cjs/{FormItem-Dpf2GUq-.cjs → FormItem-Dr0G-5Q4.cjs} +2 -2
  16. package/dist/cjs/{FormItem-Dpf2GUq-.cjs.map → FormItem-Dr0G-5Q4.cjs.map} +1 -1
  17. package/dist/cjs/FormItem.cjs +1 -1
  18. package/dist/cjs/Input-DuZALrON.cjs +2 -0
  19. package/dist/cjs/Input-DuZALrON.cjs.map +1 -0
  20. package/dist/cjs/Input.cjs +1 -1
  21. package/dist/cjs/InputNumber-DPd4h9mJ.cjs +2 -0
  22. package/dist/cjs/InputNumber-DPd4h9mJ.cjs.map +1 -0
  23. package/dist/cjs/InputNumber.cjs +1 -1
  24. package/dist/cjs/Pagination.cjs +1 -1
  25. package/dist/cjs/Select-C-b-Biw3.cjs +2 -0
  26. package/dist/cjs/Select-C-b-Biw3.cjs.map +1 -0
  27. package/dist/cjs/Select.cjs +1 -1
  28. package/dist/cjs/{TabPane-9vViJx44.cjs → TabPane-6xH7oG0B.cjs} +2 -2
  29. package/dist/cjs/{TabPane-9vViJx44.cjs.map → TabPane-6xH7oG0B.cjs.map} +1 -1
  30. package/dist/cjs/TabPane.cjs +1 -1
  31. package/dist/cjs/Table-DpQglHP2.cjs +2 -0
  32. package/dist/cjs/Table-DpQglHP2.cjs.map +1 -0
  33. package/dist/cjs/Table.cjs +1 -1
  34. package/dist/cjs/{Tabs-DvJ62WAc.cjs → Tabs-BjfrK6HM.cjs} +2 -2
  35. package/dist/cjs/{Tabs-DvJ62WAc.cjs.map → Tabs-BjfrK6HM.cjs.map} +1 -1
  36. package/dist/cjs/Tabs.cjs +1 -1
  37. package/dist/cjs/{Upload-DP-wG7wt.cjs → Upload-CXRSAOCS.cjs} +2 -2
  38. package/dist/cjs/Upload-CXRSAOCS.cjs.map +1 -0
  39. package/dist/cjs/Upload.cjs +1 -1
  40. package/dist/cjs/components-Xete52W-.cjs +2 -0
  41. package/dist/cjs/components-Xete52W-.cjs.map +1 -0
  42. package/dist/cjs/constants-C1UtNKNR.cjs +2 -0
  43. package/dist/cjs/{constants-498ChIuS.cjs.map → constants-C1UtNKNR.cjs.map} +1 -1
  44. package/dist/cjs/{en-DDRiWSYm.cjs → en-B0d-nlXX.cjs} +2 -2
  45. package/dist/cjs/{en-DDRiWSYm.cjs.map → en-B0d-nlXX.cjs.map} +1 -1
  46. package/dist/cjs/en.cjs +1 -1
  47. package/dist/cjs/index.cjs +2 -1
  48. package/dist/cjs/index.cjs.map +1 -0
  49. package/dist/cjs/index2.cjs +1 -1
  50. package/dist/cjs/resolver.cjs +1 -1
  51. package/dist/cjs/resolver.cjs.map +1 -1
  52. package/dist/cjs/{zh-cn-D5-GtCK7.cjs → zh-cn-DsaoBOfv.cjs} +2 -2
  53. package/dist/cjs/{zh-cn-D5-GtCK7.cjs.map → zh-cn-DsaoBOfv.cjs.map} +1 -1
  54. package/dist/cjs/zh-cn.cjs +1 -1
  55. package/dist/es/{Button-JMW0j5pe.js → Button-BgxatYKq.js} +5 -2
  56. package/dist/es/Button-BgxatYKq.js.map +1 -0
  57. package/dist/es/Button.js +1 -1
  58. package/dist/es/ButtonPopconfirm.js +15 -15
  59. package/dist/es/{ConfigProvider-kajsj06e.js → ConfigProvider-BlRc251T.js} +3 -3
  60. package/dist/es/{ConfigProvider-kajsj06e.js.map → ConfigProvider-BlRc251T.js.map} +1 -1
  61. package/dist/es/ConfigProvider.js +3 -3
  62. package/dist/es/{DatePicker-Bk5znp2I.js → DatePicker-BDjnMA3B.js} +8 -5
  63. package/dist/es/DatePicker-BDjnMA3B.js.map +1 -0
  64. package/dist/es/DatePicker.js +1 -1
  65. package/dist/es/{Form-BDvJQmaK.js → Form-wBMmnwZj.js} +16 -16
  66. package/dist/es/Form-wBMmnwZj.js.map +1 -0
  67. package/dist/es/Form.js +1 -1
  68. package/dist/es/{FormItem-D1urI0Le.js → FormItem--C1bP0wY.js} +4 -4
  69. package/dist/es/{FormItem-D1urI0Le.js.map → FormItem--C1bP0wY.js.map} +1 -1
  70. package/dist/es/FormItem.js +1 -1
  71. package/dist/es/{Input-DzvAvypN.js → Input-JT0g3gkf.js} +7 -4
  72. package/dist/es/Input-JT0g3gkf.js.map +1 -0
  73. package/dist/es/Input.js +1 -1
  74. package/dist/es/{InputNumber-DIO6CJCX.js → InputNumber-CFTLdulD.js} +7 -4
  75. package/dist/es/InputNumber-CFTLdulD.js.map +1 -0
  76. package/dist/es/InputNumber.js +1 -1
  77. package/dist/es/{Select-CFKKE0I-.js → Select-BKdDBeJC.js} +5 -5
  78. package/dist/es/Select-BKdDBeJC.js.map +1 -0
  79. package/dist/es/Select.js +1 -1
  80. package/dist/es/{TabPane-DhCA6CP1.js → TabPane-CzInYf67.js} +3 -3
  81. package/dist/es/{TabPane-DhCA6CP1.js.map → TabPane-CzInYf67.js.map} +1 -1
  82. package/dist/es/TabPane.js +1 -1
  83. package/dist/es/Table-Cm_Dki-c.js +104 -0
  84. package/dist/es/Table-Cm_Dki-c.js.map +1 -0
  85. package/dist/es/Table.js +1 -1
  86. package/dist/es/{Tabs-BOs1W9TP.js → Tabs-CKIkuQ81.js} +2 -2
  87. package/dist/es/{Tabs-BOs1W9TP.js.map → Tabs-CKIkuQ81.js.map} +1 -1
  88. package/dist/es/Tabs.js +1 -1
  89. package/dist/es/Upload-DCnEcRkL.js +52 -0
  90. package/dist/es/Upload-DCnEcRkL.js.map +1 -0
  91. package/dist/es/Upload.js +1 -1
  92. package/dist/es/components-DKoUIsFy.js +91 -0
  93. package/dist/es/components-DKoUIsFy.js.map +1 -0
  94. package/dist/es/constants-TVJ7auaC.js +6 -0
  95. package/dist/es/{constants-C3A6yPOr.js.map → constants-TVJ7auaC.js.map} +1 -1
  96. package/dist/es/{en-DgZ1R4Cz.js → en-BAY1fB2Q.js} +2 -5
  97. package/dist/es/{en-DgZ1R4Cz.js.map → en-BAY1fB2Q.js.map} +1 -1
  98. package/dist/es/en.js +1 -1
  99. package/dist/es/index.js +27 -18
  100. package/dist/es/index.js.map +1 -0
  101. package/dist/es/index2.js +2 -2
  102. package/dist/es/{zh-cn-ddOn6b4x.js → zh-cn-UaM4b5St.js} +2 -5
  103. package/dist/es/{zh-cn-ddOn6b4x.js.map → zh-cn-UaM4b5St.js.map} +1 -1
  104. package/dist/es/zh-cn.js +1 -1
  105. package/dist/types/components/ConfigProvider.vue.d.ts +21 -0
  106. package/dist/types/components/Dialog.vue.d.ts +9 -7
  107. package/dist/types/components/Form.vue.d.ts +0 -7
  108. package/dist/types/components/FormItem.vue.d.ts +1 -8
  109. package/dist/types/components/Input.vue.d.ts +7 -5
  110. package/dist/types/components/Select.vue.d.ts +6 -2
  111. package/dist/types/components/Table.vue.d.ts +1 -0
  112. package/dist/types/components/Upload.vue.d.ts +16 -3
  113. package/dist/types/components/index.d.ts +50 -14
  114. package/dist/types/constants/index.d.ts +3 -1
  115. package/dist/types/index.d.ts +3 -0
  116. package/dist/types/install.d.ts +2 -0
  117. package/package.json +1 -1
  118. package/dist/cjs/Button-BvJXFXQb.cjs +0 -2
  119. package/dist/cjs/Button-BvJXFXQb.cjs.map +0 -1
  120. package/dist/cjs/ConfigProvider-CF5710p3.cjs +0 -2
  121. package/dist/cjs/DatePicker-DokBZGcA.cjs +0 -2
  122. package/dist/cjs/DatePicker-DokBZGcA.cjs.map +0 -1
  123. package/dist/cjs/Form-B2jzuMRl.cjs +0 -2
  124. package/dist/cjs/Form-B2jzuMRl.cjs.map +0 -1
  125. package/dist/cjs/Input-DebAbTvN.cjs +0 -2
  126. package/dist/cjs/Input-DebAbTvN.cjs.map +0 -1
  127. package/dist/cjs/InputNumber-Bkgf6gyB.cjs +0 -2
  128. package/dist/cjs/InputNumber-Bkgf6gyB.cjs.map +0 -1
  129. package/dist/cjs/Select-ClHQizmh.cjs +0 -2
  130. package/dist/cjs/Select-ClHQizmh.cjs.map +0 -1
  131. package/dist/cjs/Table-BxehOmrv.cjs +0 -2
  132. package/dist/cjs/Table-BxehOmrv.cjs.map +0 -1
  133. package/dist/cjs/TableColumn.cjs +0 -2
  134. package/dist/cjs/TableColumn.cjs.map +0 -1
  135. package/dist/cjs/Upload-DP-wG7wt.cjs.map +0 -1
  136. package/dist/cjs/components-B4ncCgXt.cjs +0 -2
  137. package/dist/cjs/components-B4ncCgXt.cjs.map +0 -1
  138. package/dist/cjs/constants-498ChIuS.cjs +0 -2
  139. package/dist/es/Button-JMW0j5pe.js.map +0 -1
  140. package/dist/es/DatePicker-Bk5znp2I.js.map +0 -1
  141. package/dist/es/Form-BDvJQmaK.js.map +0 -1
  142. package/dist/es/Input-DzvAvypN.js.map +0 -1
  143. package/dist/es/InputNumber-DIO6CJCX.js.map +0 -1
  144. package/dist/es/Select-CFKKE0I-.js.map +0 -1
  145. package/dist/es/Table-ZkfKXNqO.js +0 -101
  146. package/dist/es/Table-ZkfKXNqO.js.map +0 -1
  147. package/dist/es/TableColumn.js +0 -17
  148. package/dist/es/TableColumn.js.map +0 -1
  149. package/dist/es/Upload-BvTAas_1.js +0 -44
  150. package/dist/es/Upload-BvTAas_1.js.map +0 -1
  151. package/dist/es/components-BMcANiOi.js +0 -56
  152. package/dist/es/components-BMcANiOi.js.map +0 -1
  153. package/dist/es/constants-C3A6yPOr.js +0 -6
  154. package/dist/types/src/composables/useGlobalConfig.d.ts +0 -1172
@@ -0,0 +1,21 @@
1
+ import { ConfigProviderProps } from 'element-plus';
2
+ export interface XConfigProviderProps {
3
+ locale?: ConfigProviderProps['locale'];
4
+ }
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: {
8
+ default?(_: {}): any;
9
+ };
10
+ refs: {};
11
+ rootEl: any;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: import('vue').DefineComponent<XConfigProviderProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<XConfigProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
16
+ export default _default;
17
+ type __VLS_WithTemplateSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -1,5 +1,5 @@
1
1
  import { DialogProps } from 'element-plus';
2
- import { VNode } from 'vue';
2
+ import { VNodeChild } from 'vue';
3
3
  export interface XDialogProps {
4
4
  bodyClass?: DialogProps['bodyClass'];
5
5
  width?: DialogProps['width'];
@@ -8,6 +8,8 @@ export interface XDialogProps {
8
8
  center?: DialogProps['center'];
9
9
  alignCenter?: DialogProps['alignCenter'];
10
10
  draggable?: DialogProps['draggable'];
11
+ closeOnClickModal?: DialogProps['closeOnClickModal'];
12
+ closeOnPressEscape?: DialogProps['closeOnPressEscape'];
11
13
  }
12
14
  type __VLS_Props = XDialogProps;
13
15
  type __VLS_PublicProps = {
@@ -16,13 +18,13 @@ type __VLS_PublicProps = {
16
18
  declare function __VLS_template(): {
17
19
  attrs: Partial<{}>;
18
20
  slots: Readonly<{
19
- default?: () => VNode;
20
- header?: () => VNode;
21
- footer?: () => VNode;
21
+ default?: () => VNodeChild;
22
+ header?: () => VNodeChild;
23
+ footer?: () => VNodeChild;
22
24
  }> & {
23
- default?: () => VNode;
24
- header?: () => VNode;
25
- footer?: () => VNode;
25
+ default?: () => VNodeChild;
26
+ header?: () => VNodeChild;
27
+ footer?: () => VNodeChild;
26
28
  };
27
29
  refs: {};
28
30
  rootEl: any;
@@ -1,11 +1,4 @@
1
1
  import { VNodeChild } from 'vue';
2
- export interface XFormItemProps {
3
- content?: () => VNodeChild;
4
- label?: string;
5
- labelPosition?: '' | 'left' | 'right' | 'top';
6
- labelWidth?: number | string;
7
- required?: boolean;
8
- }
9
2
  export interface XFormProps<D> {
10
3
  content?: (scope: {
11
4
  data: D;
@@ -2,7 +2,6 @@ import { VNodeChild } from 'vue';
2
2
  export interface XFormItemProps {
3
3
  content?: () => VNodeChild;
4
4
  label?: string;
5
- prop?: string;
6
5
  required?: boolean;
7
6
  validator?: () => string | void;
8
7
  }
@@ -15,13 +14,7 @@ export interface XFormItemValidation {
15
14
  }
16
15
  declare const _default: <D extends object>(__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<{
17
16
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, never> & XFormItemProps & Partial<{}>> & import('vue').PublicProps;
18
- expose(exposed: import('vue').ShallowUnwrapRef<{
19
- clearValidate: () => void;
20
- label?: string;
21
- required?: boolean;
22
- validate: () => boolean;
23
- validator?: () => string | void;
24
- }>): void;
17
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
25
18
  attrs: any;
26
19
  slots: Readonly<{
27
20
  default: () => VNodeChild;
@@ -1,22 +1,24 @@
1
- import { InputProps, InputType } from 'element-plus';
1
+ import { InputProps } from 'element-plus';
2
2
  import { VNode } from 'vue';
3
3
  export interface XInputProps {
4
4
  clearable?: InputProps['clearable'];
5
- placeholder?: InputProps['placeholder'];
6
5
  disabled?: InputProps['disabled'];
7
6
  size?: InputProps['size'];
8
7
  type?: InputProps['type'];
9
8
  showPassword?: InputProps['showPassword'];
10
9
  autocomplete?: InputProps['autocomplete'];
11
10
  autosize?: InputProps['autosize'];
11
+ placeholder?: InputProps['placeholder'];
12
+ prefixIcon?: InputProps['prefixIcon'];
13
+ suffixIcon?: InputProps['suffixIcon'];
12
14
  }
13
- export type XInputType = InputType;
14
15
  declare const _default: <MV extends string | number>(__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<{
15
16
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
16
17
  readonly "onUpdate:modelValue"?: ((value: MV) => any) | undefined;
17
18
  readonly onBlur?: ((e: FocusEvent) => any) | undefined;
18
19
  readonly onFocus?: ((e: FocusEvent) => any) | undefined;
19
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onFocus" | "onBlur" | "onUpdate:modelValue"> & ({
20
+ readonly onChange?: ((e: MV) => any) | undefined;
21
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onFocus" | "onBlur" | "onChange" | "onUpdate:modelValue"> & ({
20
22
  modelValue?: MV;
21
23
  } & XInputProps) & Partial<{}>> & import('vue').PublicProps;
22
24
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
@@ -32,7 +34,7 @@ declare const _default: <MV extends string | number>(__VLS_props: NonNullable<Aw
32
34
  prepend: () => VNode;
33
35
  suffix: () => VNode;
34
36
  };
35
- emit: (((evt: "blur", e: FocusEvent) => void) & ((evt: "focus", e: FocusEvent) => void)) & ((evt: "update:modelValue", value: MV) => void);
37
+ emit: (((evt: "blur", e: FocusEvent) => void) & ((evt: "focus", e: FocusEvent) => void) & ((evt: "change", e: MV) => void)) & ((evt: "update:modelValue", value: MV) => void);
36
38
  }>) => import('vue').VNode & {
37
39
  __ctx?: Awaited<typeof __VLS_setup>;
38
40
  };
@@ -5,6 +5,8 @@ export interface XSelectOptionProps<V> {
5
5
  value: V;
6
6
  }
7
7
  export interface XSelectProps<D, V> {
8
+ collapseTagsTooltip?: SelectProps['collapseTagsTooltip'];
9
+ clearable?: SelectProps['clearable'];
8
10
  allowCreate?: SelectProps['allowCreate'];
9
11
  collapseTags?: SelectProps['collapseTags'];
10
12
  data?: D[];
@@ -18,20 +20,22 @@ export interface XSelectProps<D, V> {
18
20
  remoteMethod?: (query: string) => void;
19
21
  size?: SelectProps['size'];
20
22
  supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>;
23
+ placeholder?: SelectProps['placeholder'];
24
+ noDataText?: SelectProps['noDataText'];
21
25
  }
22
26
  declare const _default: <D, V, MV extends V | V[]>(__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<{
23
27
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
24
28
  readonly "onUpdate:modelValue"?: ((value: MV) => any) | undefined;
25
29
  readonly onBlur?: ((e: FocusEvent) => any) | undefined;
26
30
  readonly onFocus?: (() => any) | undefined;
27
- readonly onChange?: ((value: MV) => any) | undefined;
31
+ readonly onChange?: ((value: V) => any) | undefined;
28
32
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onFocus" | "onBlur" | "onChange" | "onUpdate:modelValue"> & ({
29
33
  modelValue?: MV;
30
34
  } & XSelectProps<D, V>) & Partial<{}>> & import('vue').PublicProps;
31
35
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
32
36
  attrs: any;
33
37
  slots: {};
34
- emit: (((evt: "blur", e: FocusEvent) => void) & ((evt: "focus") => void) & ((evt: "change", value: MV) => void)) & ((evt: "update:modelValue", value: MV) => void);
38
+ emit: (((evt: "blur", e: FocusEvent) => void) & ((evt: "focus") => void) & ((evt: "change", value: V) => void)) & ((evt: "update:modelValue", value: MV) => void);
35
39
  }>) => import('vue').VNode & {
36
40
  __ctx?: Awaited<typeof __VLS_setup>;
37
41
  };
@@ -32,6 +32,7 @@ export interface XTableProps<D> {
32
32
  columns?: XTableColumnProps<D>[];
33
33
  data?: D[];
34
34
  height?: TableProps<any>['height'];
35
+ emptyText?: TableProps<any>['emptyText'];
35
36
  rowClassName?: ((scope: {
36
37
  row: D;
37
38
  rowIndex: number;
@@ -1,4 +1,5 @@
1
- import { UploadProps } from 'element-plus';
1
+ import { UploadFile, UploadProps } from 'element-plus';
2
+ import { VNodeChild } from 'vue';
2
3
  export interface XUploadProps {
3
4
  accept?: UploadProps['accept'];
4
5
  data?: UploadProps['data'];
@@ -14,8 +15,20 @@ declare const _default: <MV extends string | string[]>(__VLS_props: NonNullable<
14
15
  } & XUploadProps) & Partial<{}>> & import('vue').PublicProps;
15
16
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
16
17
  attrs: any;
17
- slots: {
18
- default?(_: {}): any;
18
+ slots: Readonly<{
19
+ default: () => VNodeChild;
20
+ file: (scope: {
21
+ file: UploadFile;
22
+ index: number;
23
+ }) => VNodeChild;
24
+ tips: () => VNodeChild;
25
+ }> & {
26
+ default: () => VNodeChild;
27
+ file: (scope: {
28
+ file: UploadFile;
29
+ index: number;
30
+ }) => VNodeChild;
31
+ tips: () => VNodeChild;
19
32
  };
20
33
  emit: (evt: "update:modelValue", value: MV) => void;
21
34
  }>) => import('vue').VNode & {
@@ -1,14 +1,50 @@
1
- export { default as XButton, type XButtonProps } from './Button.vue';
2
- export { default as XButtonPopconfirm, type XButtonPopconfirmProps } from './ButtonPopconfirm.vue';
3
- export { default as XDatePicker, type XDatePickerProps } from './DatePicker.vue';
4
- export { default as XDialog, type XDialogProps } from './Dialog.vue';
5
- export { default as XForm, type XFormProps } from './Form.vue';
6
- export { default as XFormItem, type XFormItemProps } from './FormItem.vue';
7
- export { default as XInput, type XInputProps } from './Input.vue';
8
- export { default as XInputNumber, type XInputNumberProps } from './InputNumber.vue';
9
- export { default as XPagination, type XPaginationProps } from './Pagination.vue';
10
- export { default as XSelect, type XSelectProps } from './Select.vue';
11
- export { default as XTable, type XTableColumnProps, type XTableProps } from './Table.vue';
12
- export { default as XTabPane, type XTabPaneProps } from './TabPane.vue';
13
- export { default as XTabs, type XTabsProps } from './Tabs.vue';
14
- export { default as XUpload, type XUploadProps } from './Upload.vue';
1
+ import { default as XButton } from './Button.vue';
2
+ import { default as XButtonPopconfirm } from './ButtonPopconfirm.vue';
3
+ import { default as XConfigProvider } from './ConfigProvider.vue';
4
+ import { default as XDatePicker } from './DatePicker.vue';
5
+ import { default as XDialog } from './Dialog.vue';
6
+ import { default as XForm } from './Form.vue';
7
+ import { default as XFormItem } from './FormItem.vue';
8
+ import { default as XInput } from './Input.vue';
9
+ import { default as XInputNumber } from './InputNumber.vue';
10
+ import { default as XPagination } from './Pagination.vue';
11
+ import { default as XSelect } from './Select.vue';
12
+ import { default as XTable } from './Table.vue';
13
+ import { default as XTabPane } from './TabPane.vue';
14
+ import { default as XTabs } from './Tabs.vue';
15
+ import { default as XUpload } from './Upload.vue';
16
+ export { XButton, XButtonPopconfirm, XConfigProvider, XDatePicker, XDialog, XForm, XFormItem, XInput, XInputNumber, XPagination, XSelect, XTable, XTabPane, XTabs, XUpload };
17
+ export * from './Button.vue';
18
+ export * from './ButtonPopconfirm.vue';
19
+ export * from './ConfigProvider.vue';
20
+ export * from './DatePicker.vue';
21
+ export * from './Dialog.vue';
22
+ export * from './Form.vue';
23
+ export * from './FormItem.vue';
24
+ export * from './Input.vue';
25
+ export * from './InputNumber.vue';
26
+ export * from './Pagination.vue';
27
+ export * from './Select.vue';
28
+ export * from './Table.vue';
29
+ export * from './TabPane.vue';
30
+ export * from './Tabs.vue';
31
+ export * from './Upload.vue';
32
+ declare module 'vue' {
33
+ interface GlobalComponents {
34
+ XButton: typeof XButton;
35
+ XButtonPopconfirm: typeof XButtonPopconfirm;
36
+ XConfigProvider: typeof XConfigProvider;
37
+ XDatePicker: typeof XDatePicker;
38
+ XDialog: typeof XDialog;
39
+ XForm: typeof XForm;
40
+ XFormItem: typeof XFormItem;
41
+ XInput: typeof XInput;
42
+ XInputNumber: typeof XInputNumber;
43
+ XPagination: typeof XPagination;
44
+ XSelect: typeof XSelect;
45
+ XTable: typeof XTable;
46
+ XTabPane: typeof XTabPane;
47
+ XTabs: typeof XTabs;
48
+ XUpload: typeof XUpload;
49
+ }
50
+ }
@@ -1,6 +1,8 @@
1
1
  import { EventHook } from '@vueuse/core';
2
- import { InjectionKey } from 'vue';
2
+ import { Language } from 'element-plus/es/locale';
3
+ import { InjectionKey, Ref } from 'vue';
3
4
  import { XFormItemValidation } from '../components/FormItem.vue';
5
+ export declare const X_LOCALE_CONFIG: InjectionKey<Ref<Language>>;
4
6
  export declare const X_ELEMENT_IN_TABLE: InjectionKey<boolean>;
5
7
  export declare const X_ELEMENT_IN_TABLE_COLUMN: InjectionKey<boolean>;
6
8
  export declare const X_ELEMENT_IN_FORM: InjectionKey<boolean>;
@@ -1,2 +1,5 @@
1
+ import { install } from './install';
1
2
  export * from './components';
3
+ export * from './install';
2
4
  export * from './locales';
5
+ export default install;
@@ -0,0 +1,2 @@
1
+ import { App } from 'vue';
2
+ export declare const install: (app: App) => void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pungfe/element",
3
3
  "type": "module",
4
- "version": "0.0.1-alpha.20",
4
+ "version": "0.0.1-alpha.21",
5
5
  "description": "Element Plus Components",
6
6
  "author": "pungfeng <fp94214@gmail.com>",
7
7
  "license": "MIT",
@@ -1,2 +0,0 @@
1
- let e=require(`vue`),t=require(`element-plus`);var n=(0,e.defineComponent)({__name:`Button`,props:{disabled:{type:Boolean},link:{type:Boolean},size:{},text:{type:Boolean},type:{},icon:{}},emits:[`click`],setup(n,{emit:r}){let i=r;return(r,a)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElButton),(0,e.mergeProps)({type:n.type,text:n.text,link:n.link,disabled:n.disabled,size:n.size,icon:n.icon},{onClick:a[0]||=e=>i(`click`,e)}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,`default`)]),_:3},16))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
2
- //# sourceMappingURL=Button-BvJXFXQb.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button-BvJXFXQb.cjs","names":[],"sources":["../../src/components/Button.vue","../../src/components/Button.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { ButtonProps, ButtonType } from 'element-plus'\r\n\r\nimport { ElButton } from 'element-plus'\r\n\r\nexport interface XButtonProps {\r\n disabled?: ButtonProps['disabled']\r\n link?: ButtonProps['link']\r\n size?: ButtonProps['size']\r\n text?: ButtonProps['text']\r\n type?: ButtonProps['type']\r\n icon?: ButtonProps['icon']\r\n}\r\n\r\nexport type XButtonType = ButtonType\r\n\r\ndefineProps<XButtonProps>()\r\n\r\nconst emit = defineEmits<{\r\n click: [e: MouseEvent]\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n v-bind=\"{ type, text, link, disabled, size, icon }\"\r\n @click=\"emit('click', $event)\"\r\n >\r\n <slot />\r\n </ElButton>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { ButtonProps, ButtonType } from 'element-plus'\r\n\r\nimport { ElButton } from 'element-plus'\r\n\r\nexport interface XButtonProps {\r\n disabled?: ButtonProps['disabled']\r\n link?: ButtonProps['link']\r\n size?: ButtonProps['size']\r\n text?: ButtonProps['text']\r\n type?: ButtonProps['type']\r\n icon?: ButtonProps['icon']\r\n}\r\n\r\nexport type XButtonType = ButtonType\r\n\r\ndefineProps<XButtonProps>()\r\n\r\nconst emit = defineEmits<{\r\n click: [e: MouseEvent]\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n v-bind=\"{ type, text, link, disabled, size, icon }\"\r\n @click=\"emit('click', $event)\"\r\n >\r\n <slot />\r\n </ElButton>\r\n</template>\r\n"],"mappings":"8NCkBA,IAAM,EAAO,gEAWA,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,CAAA,KAJC,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,SAAE,EAAA,SAAQ,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,CAAA,CAC/C,QAAK,AAAA,EAAA,KAAA,GAAE,EAAI,QAAU,EAAM,CAAA,CAAA,CAAA,2BAEpB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- const e=require(`./constants-498ChIuS.cjs`),t=require(`./zh-cn-D5-GtCK7.cjs`);let n=require(`vue`);var r=(0,n.defineComponent)({__name:`ConfigProvider`,props:{locale:{}},setup(r){return(0,n.provide)(e.o,(0,n.computed)(()=>r.locale??t.t)),(e,t)=>(0,n.renderSlot)(e.$slots,`default`)}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=ConfigProvider-CF5710p3.cjs.map
@@ -1,2 +0,0 @@
1
- const e=require(`./constants-498ChIuS.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`DatePicker`,props:(0,t.mergeModels)({disabled:{type:Boolean},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.o),{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.i,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-DokBZGcA.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatePicker-DokBZGcA.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' } = 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' } = 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,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
- const e=require(`./constants-498ChIuS.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`Form`,props:{content:{type:Function},data:{},disabled:{type:Boolean},inline:{type:Boolean},labelPosition:{},labelSuffix:{},labelWidth:{}},setup(r,{expose:i}){let a=(0,t.useTemplateRef)(`form`),o=()=>r.content?.({data:r.data??{}});(0,t.provide)(e.t,!0);let s=[];return(0,t.provide)(e.a,s),i({clearValidate:()=>s.forEach(e=>e.clearValidate()),data:r.data,validate:()=>s.every(e=>e.validate())}),(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElForm),(0,t.mergeProps)({ref_key:`form`,ref:a},{model:r.data,disabled:r.disabled,inline:r.inline,labelPosition:r.labelPosition,labelWidth:r.labelWidth,labelSuffix:r.labelSuffix}),{default:(0,t.withCtx)(()=>[(0,t.createVNode)(o)]),_:1},16))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=Form-B2jzuMRl.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form-B2jzuMRl.cjs","names":[],"sources":["../../src/components/Form.vue","../../src/components/Form.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XFormItemValidation } from './FormItem.vue'\r\nimport { ElForm } from 'element-plus'\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { X_ELEMENT_IN_FORM, X_FORM_VALIDATIONS } from '../constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n labelPosition?: '' | 'left' | 'right' | 'top'\r\n labelWidth?: number | string\r\n required?: boolean\r\n}\r\n\r\nexport interface XFormProps<D> {\r\n content?: (scope: { data: D }) => VNodeChild\r\n data?: D\r\n disabled?: boolean\r\n inline?: boolean\r\n labelPosition?: 'left' | 'right' | 'top'\r\n labelSuffix?: string\r\n labelWidth?: number | string\r\n}\r\n\r\nconst { content, data } = defineProps<XFormProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n\r\nprovide(X_ELEMENT_IN_FORM, true)\r\n\r\nconst validations = [] as XFormItemValidation[]\r\nprovide(X_FORM_VALIDATIONS, validations)\r\nconst validate = () => validations.every(item => item.validate())\r\nconst clearValidate = () => validations.forEach(it => it.clearValidate())\r\n\r\ndefineExpose({ clearValidate, data, validate })\r\n</script>\r\n\r\n<template>\r\n <ElForm\r\n ref=\"form\"\r\n v-bind=\"{ model: data, disabled, inline, labelPosition, labelWidth, labelSuffix }\"\r\n >\r\n <Content />\r\n </ElForm>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XFormItemValidation } from './FormItem.vue'\r\nimport { ElForm } from 'element-plus'\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { X_ELEMENT_IN_FORM, X_FORM_VALIDATIONS } from '../constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n labelPosition?: '' | 'left' | 'right' | 'top'\r\n labelWidth?: number | string\r\n required?: boolean\r\n}\r\n\r\nexport interface XFormProps<D> {\r\n content?: (scope: { data: D }) => VNodeChild\r\n data?: D\r\n disabled?: boolean\r\n inline?: boolean\r\n labelPosition?: 'left' | 'right' | 'top'\r\n labelSuffix?: string\r\n labelWidth?: number | string\r\n}\r\n\r\nconst { content, data } = defineProps<XFormProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n\r\nprovide(X_ELEMENT_IN_FORM, true)\r\n\r\nconst validations = [] as XFormItemValidation[]\r\nprovide(X_FORM_VALIDATIONS, validations)\r\nconst validate = () => validations.every(item => item.validate())\r\nconst clearValidate = () => validations.forEach(it => it.clearValidate())\r\n\r\ndefineExpose({ clearValidate, data, validate })\r\n</script>\r\n\r\n<template>\r\n <ElForm\r\n ref=\"form\"\r\n v-bind=\"{ model: data, disabled, inline, labelPosition, labelWidth, labelSuffix }\"\r\n >\r\n <Content />\r\n </ElForm>\r\n</template>\r\n"],"mappings":"8RC2BA,IAAM,GAAA,EAAA,EAAA,gBAAsB,OAAO,CAE7B,MAAgB,EAAA,UAAU,CAAE,KAAM,EAAA,MAAQ,EAAC,CAAkB,CAAC,EAEpE,EAAA,EAAA,SAAQ,EAAA,EAAmB,GAAK,CAEhC,IAAM,EAAc,EAA2B,QAC/C,EAAA,EAAA,SAAQ,EAAA,EAAoB,EAAY,CAIxC,EAAa,CAAE,kBAFa,EAAY,QAAQ,GAAM,EAAG,eAAe,CAAC,CAE3C,KAAG,EAAA,KAAG,aAHb,EAAY,MAAM,GAAQ,EAAK,UAAU,CAAC,CAGnB,CAAC,yDASpC,EAAA,OAAA,EAAA,EAAA,EAAA,YAAA,SAJH,OAAJ,IAAI,UACa,EAAA,KAAI,SAAE,EAAA,SAAQ,OAAE,EAAA,OAAM,cAAE,EAAA,cAAa,WAAE,EAAA,WAAU,YAAE,EAAA,YAAW,CAAA,CAAA,2BAEpE,EAAA,EAAA,EAAA,aAAA,EAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- const e=require(`./constants-498ChIuS.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`Input`,props:(0,t.mergeModels)({clearable:{type:Boolean},disabled:{type:Boolean},size:{},type:{},showPassword:{type:Boolean},autocomplete:{},autosize:{type:[Object,Boolean]},placeholder:{},prefixIcon:{},suffixIcon:{}},{modelValue:{},modelModifiers:{}}),emits:(0,t.mergeModels)([`blur`,`focus`,`change`],[`update:modelValue`]),setup(r,{emit:i}){let a=i,o=(0,t.useModel)(r,`modelValue`),{t:s}=(0,n.useLocale)((0,t.inject)(e.o)),c=(0,t.inject)(e.i,void 0);if(c?.required){let{label:e,validator:t}=c;c.validator=()=>o.value?t?.():`请输入${e}`}let l=e=>{c?.validate?.(),a(`blur`,e)},u=e=>{a(`focus`,e)},d=e=>{a(`change`,e)};return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElInput),(0,t.mergeProps)({disabled:r.disabled,type:r.type,size:r.size,clearable:r.clearable,showPassword:r.showPassword,autocomplete:r.autocomplete,autosize:r.autosize,placeholder:r.placeholder??(0,t.unref)(s)(`el.input.placeholder`)},{modelValue:o.value,"onUpdate:modelValue":i[0]||=e=>o.value=e,onBlur:l,onFocus:u,onChange:d}),(0,t.createSlots)({_:2},[`append`in e.$slots?{name:`append`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`append`)]),key:`0`}:void 0,`prepend`in e.$slots?{name:`prepend`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`prepend`)]),key:`1`}:void 0,`prefix`in e.$slots?{name:`prefix`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`prefix`)]),key:`2`}:void 0,`suffix`in e.$slots?{name:`suffix`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`suffix`)]),key:`3`}:void 0]),1040,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=Input-DebAbTvN.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Input-DebAbTvN.cjs","names":["$slots"],"sources":["../../src/components/Input.vue","../../src/components/Input.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\ndefineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n formItemValidation?.validate?.()\r\n emit('blur', e)\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | number\">\r\nimport type { InputProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInput, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XInputProps {\r\n clearable?: InputProps['clearable']\r\n disabled?: InputProps['disabled']\r\n size?: InputProps['size']\r\n type?: InputProps['type']\r\n showPassword?: InputProps['showPassword']\r\n autocomplete?: InputProps['autocomplete']\r\n autosize?: InputProps['autosize']\r\n placeholder?: InputProps['placeholder']\r\n prefixIcon?: InputProps['prefixIcon']\r\n suffixIcon?: InputProps['suffixIcon']\r\n}\r\n\r\ndefineProps<XInputProps>()\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n change: [e: MV]\r\n}>()\r\ndefineSlots<{\r\n append: () => VNode\r\n prefix: () => VNode\r\n prepend: () => VNode\r\n suffix: () => VNode\r\n}>()\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n formItemValidation?.validate?.()\r\n emit('blur', e)\r\n}\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\nconst change = (value: string) => {\r\n emit('change', value as MV)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInput\r\n v-bind=\"{\r\n disabled,\r\n type,\r\n size,\r\n clearable,\r\n showPassword,\r\n autocomplete,\r\n autosize,\r\n placeholder: placeholder ?? t('el.input.placeholder'),\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n @change=\"change\"\r\n >\r\n <template v-if=\"'append' in $slots\" #append>\r\n <slot name=\"append\" />\r\n </template>\r\n <template v-if=\"'prepend' in $slots\" #prepend>\r\n <slot name=\"prepend\" />\r\n </template>\r\n <template v-if=\"'prefix' in $slots\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"'suffix' in $slots\" #suffix>\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInput>\r\n</template>\r\n"],"mappings":"wdCsBA,IAAM,EAAO,EAWP,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAGzB,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,IAMnB,IAAM,EAAQ,GAAkB,CAC9B,GAAoB,YAAY,CAChC,EAAK,OAAQ,EAAE,EAEX,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAEZ,EAAU,GAAkB,CAChC,EAAK,SAAU,EAAY,gEAiCjB,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,UA3BS,EAAA,cAAiB,EAAA,UAAa,EAAA,eAAa,EAAA,uBAAkB,EAAA,0BAAqB,EAAA,sBAAqB,EAAA,qBAA8B,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,uBAAA,cAU7J,EAAA,sCAAA,EAAK,MAAA,EACb,OAAM,EACN,QAAO,EACP,SAAQ,wCAEmBA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,6BAEKA,EAAAA,OAAAA,MAAS,+BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,4BAEGA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAEIA,EAAAA,OAAAA,MAAS,8BACb,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- const e=require(`./constants-498ChIuS.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`InputNumber`,props:(0,t.mergeModels)({align:{},controls:{type:Boolean},disabled:{type:Boolean},inputmode:{},max:{},min:{},placeholder:{},precision:{},size:{},step:{},stepStrictly:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:(0,t.mergeModels)([`blur`,`focus`],[`update:modelValue`]),setup(r,{emit:i}){let a=i,o=(0,t.useModel)(r,`modelValue`),{t:s}=(0,n.useLocale)((0,t.inject)(e.o)),c=(0,t.inject)(e.i,void 0);if(c?.required){let{label:e,validator:t}=c;c.validator=()=>o.value?t?.():`请输入${e}`}let l=e=>{a(`focus`,e)},u=e=>{a(`blur`,e)};return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElInputNumber),(0,t.mergeProps)({align:r.align,controls:r.controls,disabled:r.disabled,inputmode:r.inputmode,max:r.max,min:r.min,placeholder:r.placeholder??(0,t.unref)(s)(`el.inputNumber.placeholder`),precision:r.precision,size:r.size,step:r.step,stepStrictly:r.stepStrictly},{modelValue:o.value,"onUpdate:modelValue":i[0]||=e=>o.value=e,onBlur:u,onFocus:l}),(0,t.createSlots)({_:2},[`prefix`in e.$slots?{name:`prefix`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`prefix`)]),key:`0`}:void 0,`suffix`in e.$slots?{name:`suffix`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`suffix`)]),key:`1`}:void 0]),1040,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=InputNumber-Bkgf6gyB.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputNumber-Bkgf6gyB.cjs","names":["$slots"],"sources":["../../src/components/InputNumber.vue","../../src/components/InputNumber.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\ndefineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { InputNumberProps } from 'element-plus'\r\nimport type { VNode } from 'vue'\r\nimport { ElInputNumber, useLocale } from 'element-plus'\r\nimport { inject } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XInputNumberProps {\r\n align?: InputNumberProps['align']\r\n controls?: InputNumberProps['controls']\r\n disabled?: InputNumberProps['disabled']\r\n inputmode?: InputNumberProps['inputmode']\r\n max?: InputNumberProps['max']\r\n min?: InputNumberProps['min']\r\n placeholder?: InputNumberProps['placeholder']\r\n precision?: InputNumberProps['precision']\r\n size?: InputNumberProps['size']\r\n step?: InputNumberProps['step']\r\n stepStrictly?: InputNumberProps['stepStrictly']\r\n}\r\n\r\ndefineProps<XInputNumberProps>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n focus: [e: FocusEvent]\r\n}>()\r\n\r\ndefineSlots<{\r\n prefix: () => VNode\r\n suffix: () => VNode\r\n}>()\r\n\r\nconst model = defineModel<number>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value) {\r\n return `请输入${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n\r\nconst focus = (e: FocusEvent) => {\r\n emit('focus', e)\r\n}\r\n\r\nconst blur = (e: FocusEvent) => {\r\n emit('blur', e)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElInputNumber\r\n v-bind=\"{\r\n align,\r\n controls,\r\n disabled,\r\n inputmode,\r\n max,\r\n min,\r\n placeholder: placeholder ?? t('el.inputNumber.placeholder'),\r\n precision,\r\n size,\r\n step,\r\n stepStrictly,\r\n }\"\r\n v-model=\"model\"\r\n @blur=\"blur\"\r\n @focus=\"focus\"\r\n >\r\n <template\r\n v-if=\"'prefix' in $slots\"\r\n #prefix\r\n >\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template\r\n v-if=\"'suffix' in $slots\"\r\n #suffix\r\n >\r\n <slot name=\"suffix\" />\r\n </template>\r\n </ElInputNumber>\r\n</template>\r\n"],"mappings":"wbCwBA,IAAM,EAAO,EAUP,GAAA,EAAA,EAAA,UAA2B,EAAA,aAAE,CAG7B,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,QAA4B,EAAA,EAAwB,IAAA,GAAU,CACpE,GAAI,GAAoB,SAAU,CAChC,GAAM,CAAE,QAAO,aAAc,EAC7B,EAAmB,cACZ,EAAM,MAGJ,KAAa,CAFX,MAAM,IAMnB,IAAM,EAAS,GAAkB,CAC/B,EAAK,QAAS,EAAE,EAGZ,EAAQ,GAAkB,CAC9B,EAAK,OAAQ,EAAE,gEAmCC,EAAA,cAAA,EAAA,EAAA,EAAA,YAAA,OA7BG,EAAA,eAAc,EAAA,kBAAiB,EAAA,mBAAiB,EAAA,cAAkB,EAAA,QAAY,EAAA,gBAAyB,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,6BAAA,WAAuC,EAAA,eAAkB,EAAA,UAAa,EAAA,kBAAa,EAAA,0BAalN,EAAA,sCAAA,EAAK,MAAA,EACb,OAAM,EACN,QAAO,wCAGYA,EAAAA,OAAAA,MACjB,8BAEqB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA,4BAGJA,EAAAA,OAAAA,MACjB,8BAEqB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,SAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- const e=require(`./constants-498ChIuS.cjs`),t=require(`./dist-jkU1Ff2x.cjs`);let n=require(`vue`),r=require(`element-plus`);var i=(0,n.defineComponent)({__name:`Select`,props:(0,n.mergeModels)({collapseTagsTooltip:{type:Boolean},clearable:{type:Boolean},allowCreate:{type:Boolean},collapseTags:{type:Boolean},data:{},disabled:{type:Boolean,default:!1},factory:{type:Function},filterable:{type:Boolean},identify:{type:Function},loading:{type:Boolean},multiple:{type:Boolean},remote:{type:Boolean},remoteMethod:{type:Function},size:{},supplement:{type:Function},placeholder:{},noDataText:{}},{modelValue:{},modelModifiers:{}}),emits:(0,n.mergeModels)([`blur`,`change`,`focus`],[`update:modelValue`]),setup(i,{emit:a}){let o=a,s=(0,n.useModel)(i,`modelValue`),{t:c}=(0,r.useLocale)((0,n.inject)(e.o)),l=(0,n.ref)([]),u=t.n(()=>i.data??[],i.factory),d=(0,n.computed)(()=>[...t.n(l,i.factory).value,...u.value]),f=e=>{if(typeof e==`object`){if(i.identify)return i.identify(e);throw Error("`identify` is required when value's type extends `object` or `object[]`")}else return e},p=e=>d.value.map(e=>e.value).find(t=>f(t)===e),m=0;(0,n.watch)([s,u],async()=>{if(m++,s.value){let e=[...[],...Array.isArray(s.value)?s.value:[s.value]].filter(e=>!u.value.map(e=>f(e.value)).includes(f(e))),t=m,n=await i.supplement?.(e);t===m&&n&&(l.value=n)}else l.value=[]},{immediate:!0});let h=(0,n.computed)(()=>d.value.map(e=>{let t=f(e.value);return{disabled:e.disabled,key:t,label:e.label,value:t}})),g=(0,n.computed)({get:()=>s.value&&(Array.isArray(s.value)?s.value.map(f):f(s.value)),set:e=>{Array.isArray(e)?s.value=e.map(e=>p(e)):s.value=e===void 0?void 0:p(e)??(i.allowCreate?e:void 0)}}),_=(0,n.inject)(e.i,void 0);if(_?.required){let{label:e,validator:t}=_;_.validator=()=>!s.value||Array.isArray(s.value)&&s.value.length===0?`请选择${e}`:t?.()}return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.ElSelect),(0,n.mergeProps)({placeholder:i.placeholder??(0,n.unref)(c)(`el.select.placeholder`),noDataText:i.noDataText??(0,n.unref)(c)(`el.select.noDataText`),disabled:i.disabled,allowCreate:i.allowCreate,remote:i.remote,filterable:i.filterable||i.remote,clearable:i.clearable,remoteMethod:i.remoteMethod,multiple:i.multiple,loading:i.loading,size:i.size,collapseTags:i.collapseTags,collapseTagsTooltip:i.collapseTagsTooltip},{modelValue:g.value,"onUpdate:modelValue":t[0]||=e=>g.value=e,onBlur:t[1]||=e=>o(`blur`,e),onChange:t[2]||=e=>o(`change`,e)}),{default:(0,n.withCtx)(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(h.value,e=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.ElOption),{key:e.key,label:e.label,value:e.value,disabled:e.disabled},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},16,[`modelValue`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=Select-ClHQizmh.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select-ClHQizmh.cjs","names":[],"sources":["../../src/components/Select.vue","../../src/components/Select.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { SelectProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\n\r\nimport { useArrayMap } from '@vueuse/core'\r\nimport { ElOption, ElSelect, useLocale } from 'element-plus'\r\nimport { computed, inject, ref, watch } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XSelectOptionProps<V> {\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n}\r\n\r\nexport interface XSelectProps<D, V> {\r\n collapseTagsTooltip?: SelectProps['collapseTagsTooltip']\r\n clearable?: SelectProps['clearable']\r\n allowCreate?: SelectProps['allowCreate']\r\n collapseTags?: SelectProps['collapseTags']\r\n data?: D[]\r\n disabled?: SelectProps['disabled']\r\n factory: (option: D) => XSelectOptionProps<V>\r\n\r\n filterable?: SelectProps['filterable']\r\n identify?: (value: V) => number | string\r\n loading?: SelectProps['loading']\r\n multiple?: SelectProps['multiple']\r\n remote?: SelectProps['remote']\r\n\r\n remoteMethod?: (query: string) => void\r\n size?: SelectProps['size']\r\n\r\n supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>\r\n placeholder?: SelectProps['placeholder']\r\n noDataText?: SelectProps['noDataText']\r\n}\r\n\r\nconst {\r\n allowCreate,\r\n data,\r\n disabled = false,\r\n factory,\r\n identify,\r\n supplement\r\n} = defineProps<XSelectProps<D, V>>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n change: [value: MV]\r\n focus: []\r\n}>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst supplements = ref([]) as Ref<D[]>\r\nconst init = useArrayMap(() => data ?? [], factory)\r\nconst options = computed(() => [...useArrayMap(supplements, factory).value, ...init.value])\r\n\r\nconst forward = (value: V) => {\r\n if (typeof value === 'object') {\r\n if (identify) {\r\n return identify(value)\r\n }\r\n else {\r\n throw new Error('`identify` is required when value\\'s type extends `object` or `object[]`')\r\n }\r\n }\r\n else {\r\n return value as number | string\r\n }\r\n}\r\nconst backward = (key: number | string) =>\r\n options.value.map(item => item.value).find(item => forward(item) === key)\r\n\r\nlet no = 0\r\nwatch(\r\n [model, init],\r\n async () => {\r\n no++\r\n if (model.value) {\r\n const lacks = [...[] as V[], ...Array.isArray(model.value) ? model.value : [model.value]]\r\n .filter(item => !init.value.map(it => forward(it.value)).includes(forward(item)))\r\n const _no = no\r\n const _data = await supplement?.(lacks)\r\n if (_no === no && _data) {\r\n supplements.value = _data\r\n }\r\n }\r\n else {\r\n supplements.value = []\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\nconst localOptions = computed(() =>\r\n options.value.map((item) => {\r\n const key = forward(item.value)\r\n return { disabled: item.disabled, key, label: item.label, value: key }\r\n })\r\n)\r\n\r\nconst localModel = computed({\r\n get: () =>\r\n model.value\r\n && (Array.isArray(model.value) ? model.value.map(forward) : forward(model.value as V)),\r\n set: (value) => {\r\n if (Array.isArray(value)) {\r\n model.value = value.map(item => backward(item)!) as MV\r\n }\r\n else {\r\n model.value\r\n = value === undefined\r\n ? undefined\r\n : ((backward(value) ?? (allowCreate ? value : undefined)) as MV)\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect\r\n v-bind=\"{\r\n placeholder: placeholder ?? t('el.select.placeholder'),\r\n noDataText: noDataText ?? t('el.select.noDataText'),\r\n disabled,\r\n allowCreate,\r\n remote,\r\n filterable: filterable || remote,\r\n clearable,\r\n remoteMethod,\r\n multiple,\r\n loading,\r\n size,\r\n collapseTags,\r\n collapseTagsTooltip,\r\n }\"\r\n v-model=\"localModel\"\r\n @blur=\"emit('blur', $event)\"\r\n @change=\"value => emit('change', value)\"\r\n >\r\n <ElOption\r\n v-for=\"option of localOptions\"\r\n :key=\"option.key\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"\r\n :disabled=\"option.disabled\"\r\n >\r\n {{ option.label }}\r\n </ElOption>\r\n </ElSelect>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D, V, MV extends V | V[]\">\r\nimport type { SelectProps } from 'element-plus'\r\nimport type { Ref } from 'vue'\r\n\r\nimport { useArrayMap } from '@vueuse/core'\r\nimport { ElOption, ElSelect, useLocale } from 'element-plus'\r\nimport { computed, inject, ref, watch } from 'vue'\r\n\r\nimport { X_FORM_ITEM_VALIDATION, X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XSelectOptionProps<V> {\r\n disabled?: boolean\r\n label?: number | string\r\n value: V\r\n}\r\n\r\nexport interface XSelectProps<D, V> {\r\n collapseTagsTooltip?: SelectProps['collapseTagsTooltip']\r\n clearable?: SelectProps['clearable']\r\n allowCreate?: SelectProps['allowCreate']\r\n collapseTags?: SelectProps['collapseTags']\r\n data?: D[]\r\n disabled?: SelectProps['disabled']\r\n factory: (option: D) => XSelectOptionProps<V>\r\n\r\n filterable?: SelectProps['filterable']\r\n identify?: (value: V) => number | string\r\n loading?: SelectProps['loading']\r\n multiple?: SelectProps['multiple']\r\n remote?: SelectProps['remote']\r\n\r\n remoteMethod?: (query: string) => void\r\n size?: SelectProps['size']\r\n\r\n supplement?: (lacks: V[]) => D[] | PromiseLike<D[]>\r\n placeholder?: SelectProps['placeholder']\r\n noDataText?: SelectProps['noDataText']\r\n}\r\n\r\nconst {\r\n allowCreate,\r\n data,\r\n disabled = false,\r\n factory,\r\n identify,\r\n supplement\r\n} = defineProps<XSelectProps<D, V>>()\r\n\r\nconst emit = defineEmits<{\r\n blur: [e: FocusEvent]\r\n change: [value: MV]\r\n focus: []\r\n}>()\r\n\r\nconst model = defineModel<MV>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst supplements = ref([]) as Ref<D[]>\r\nconst init = useArrayMap(() => data ?? [], factory)\r\nconst options = computed(() => [...useArrayMap(supplements, factory).value, ...init.value])\r\n\r\nconst forward = (value: V) => {\r\n if (typeof value === 'object') {\r\n if (identify) {\r\n return identify(value)\r\n }\r\n else {\r\n throw new Error('`identify` is required when value\\'s type extends `object` or `object[]`')\r\n }\r\n }\r\n else {\r\n return value as number | string\r\n }\r\n}\r\nconst backward = (key: number | string) =>\r\n options.value.map(item => item.value).find(item => forward(item) === key)\r\n\r\nlet no = 0\r\nwatch(\r\n [model, init],\r\n async () => {\r\n no++\r\n if (model.value) {\r\n const lacks = [...[] as V[], ...Array.isArray(model.value) ? model.value : [model.value]]\r\n .filter(item => !init.value.map(it => forward(it.value)).includes(forward(item)))\r\n const _no = no\r\n const _data = await supplement?.(lacks)\r\n if (_no === no && _data) {\r\n supplements.value = _data\r\n }\r\n }\r\n else {\r\n supplements.value = []\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\nconst localOptions = computed(() =>\r\n options.value.map((item) => {\r\n const key = forward(item.value)\r\n return { disabled: item.disabled, key, label: item.label, value: key }\r\n })\r\n)\r\n\r\nconst localModel = computed({\r\n get: () =>\r\n model.value\r\n && (Array.isArray(model.value) ? model.value.map(forward) : forward(model.value as V)),\r\n set: (value) => {\r\n if (Array.isArray(value)) {\r\n model.value = value.map(item => backward(item)!) as MV\r\n }\r\n else {\r\n model.value\r\n = value === undefined\r\n ? undefined\r\n : ((backward(value) ?? (allowCreate ? value : undefined)) as MV)\r\n }\r\n }\r\n})\r\n\r\nconst formItemValidation = inject(X_FORM_ITEM_VALIDATION, undefined)\r\nif (formItemValidation?.required) {\r\n const { label, validator } = formItemValidation\r\n formItemValidation.validator = () => {\r\n if (!model.value || (Array.isArray(model.value) && model.value.length === 0)) {\r\n return `请选择${label}`\r\n }\r\n return validator?.()\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect\r\n v-bind=\"{\r\n placeholder: placeholder ?? t('el.select.placeholder'),\r\n noDataText: noDataText ?? t('el.select.noDataText'),\r\n disabled,\r\n allowCreate,\r\n remote,\r\n filterable: filterable || remote,\r\n clearable,\r\n remoteMethod,\r\n multiple,\r\n loading,\r\n size,\r\n collapseTags,\r\n collapseTagsTooltip,\r\n }\"\r\n v-model=\"localModel\"\r\n @blur=\"emit('blur', $event)\"\r\n @change=\"value => emit('change', value)\"\r\n >\r\n <ElOption\r\n v-for=\"option of localOptions\"\r\n :key=\"option.key\"\r\n :label=\"option.label\"\r\n :value=\"option.value\"\r\n :disabled=\"option.disabled\"\r\n >\r\n {{ option.label }}\r\n </ElOption>\r\n </ElSelect>\r\n</template>\r\n"],"mappings":"4sBCgDA,IAAM,EAAO,EAMP,GAAA,EAAA,EAAA,UAAuB,EAAA,aAAE,CAGzB,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,KAAkB,EAAE,CAAa,CACjC,EAAO,EAAA,MAAkB,EAAA,MAAQ,EAAE,CAAE,EAAA,QAAQ,CAC7C,GAAA,EAAA,EAAA,cAAyB,CAAC,GAAG,EAAA,EAAY,EAAa,EAAA,QAAQ,CAAC,MAAO,GAAG,EAAK,MAAM,CAAC,CAErF,EAAW,GAAa,CAC5B,GAAI,OAAO,GAAU,SACnB,IAAI,EAAA,SACF,OAAO,EAAA,SAAS,EAAM,CAGtB,MAAU,MAAM,0EAA2E,MAI7F,OAAO,GAGL,EAAY,GAChB,EAAQ,MAAM,IAAI,GAAQ,EAAK,MAAM,CAAC,KAAK,GAAQ,EAAQ,EAAK,GAAK,EAAI,CAEvE,EAAK,GACT,EAAA,EAAA,OACE,CAAC,EAAO,EAAK,CACb,SAAY,CAEV,GADA,IACI,EAAM,MAAO,CACf,IAAM,EAAQ,CAAC,GAAG,EAAS,CAAE,GAAG,MAAM,QAAQ,EAAM,MAAM,CAAG,EAAM,MAAQ,CAAC,EAAM,MAAM,CAAC,CACtF,OAAO,GAAQ,CAAC,EAAK,MAAM,IAAI,GAAM,EAAQ,EAAG,MAAM,CAAC,CAAC,SAAS,EAAQ,EAAK,CAAC,CAAC,CAC7E,EAAM,EACN,EAAQ,MAAM,EAAA,aAAa,EAAM,CACnC,IAAQ,GAAM,IAChB,EAAY,MAAQ,QAItB,EAAY,MAAQ,EAAE,EAG1B,CAAE,UAAW,GACf,CAAC,CAED,IAAM,GAAA,EAAA,EAAA,cACJ,EAAQ,MAAM,IAAK,GAAS,CAC1B,IAAM,EAAM,EAAQ,EAAK,MAAM,CAC/B,MAAO,CAAE,SAAU,EAAK,SAAU,MAAK,MAAO,EAAK,MAAO,MAAO,EAAK,EAE1E,CAAC,CAEK,GAAA,EAAA,EAAA,UAAsB,CAC1B,QACE,EAAM,QACF,MAAM,QAAQ,EAAM,MAAM,CAAG,EAAM,MAAM,IAAI,EAAQ,CAAG,EAAQ,EAAM,MAAW,EACvF,IAAM,GAAU,CACV,MAAM,QAAQ,EAAM,CACtB,EAAM,MAAQ,EAAM,IAAI,GAAQ,EAAS,EAAM,CAAO,CAGtD,EAAM,MACF,IAAU,IAAA,GACR,IAAA,GACE,EAAS,EAAM,GAAK,EAAA,YAAc,EAAQ,IAAA,KAGvD,CAAC,CAEI,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,+DAmCX,EAAA,SAAA,EAAA,EAAA,EAAA,YAAA,aA5BqB,EAAA,cAAA,EAAA,EAAA,OAAe,EAAC,CAAA,wBAAA,YAA8C,EAAA,aAAA,EAAA,EAAA,OAAc,EAAC,CAAA,uBAAA,UAAiC,EAAA,qBAAiB,EAAA,mBAAoB,EAAA,kBAA2B,EAAA,YAAc,EAAA,iBAAe,EAAA,uBAAkB,EAAA,sBAAqB,EAAA,iBAAiB,EAAA,aAAgB,EAAA,kBAAa,EAAA,iCAAqB,EAAA,iCAe1U,EAAA,sCAAA,EAAU,MAAA,EAClB,OAAI,AAAA,EAAA,KAAA,GAAE,EAAI,OAAS,EAAM,CACzB,SAAM,AAAA,EAAA,KAAE,GAAS,EAAI,SAAW,EAAK,8BAGN,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBAOrB,EAAA,SAAA,MAAA,EAAA,EAAA,YAPQ,EAAA,MAAV,oDAOE,EAAA,SAAA,CAAA,CANR,IAAK,EAAO,IACZ,MAAO,EAAO,MACd,MAAO,EAAO,MACd,SAAU,EAAO,qCAEA,EAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAf,EAAO,MAAK,CAAA,EAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- const e=require(`./constants-498ChIuS.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`Table`,props:{border:{type:Boolean,default:!0},cellClassName:{type:[Function,String]},cellStyle:{type:[Function,Object]},columns:{},data:{},height:{},emptyText:{},rowClassName:{type:[Function,String]},rowKey:{type:Function},rowStyle:{type:[Function,Object]},showOverflowTooltip:{type:[Boolean,Object],default:!0},showSummary:{type:Boolean},size:{},spanMethod:{type:Function},summaryMethod:{type:Function}},emits:[`headerDragend`,`rowClick`,`rowDbClick`,`selectionChange`],setup(r,{expose:i,emit:a}){let o=a,{t:s}=(0,n.useLocale)((0,t.inject)(e.o)),c=(0,t.useTemplateRef)(`table`);i({clearSelection:()=>c.value?.clearSelection(),getSelectionRows:()=>c.value?.getSelectionRows(),scrollTo:(e,t)=>c.value?.scrollTo(e,t),setCurrentRow:e=>c.value?.setCurrentRow(e),setScrollLeft:e=>c.value?.scrollTo(e),setScrollTop:e=>c.value?.scrollTo(e),toggleRowSelection:(e,t,n)=>c.value?.toggleRowSelection(e,t,n)});let l=(0,t.defineComponent)(e=>()=>(0,t.createVNode)(n.ElTableColumn,{fixed:e.fixed,label:e.label,prop:e.prop,type:e.type},{default:({row:t,$index:n})=>e.content?.({row:t,index:n}),header:()=>e.header?.({column:{...e}})}),{props:[`content`,`fixed`,`header`,`label`,`prop`,`selectable`,`type`,`width`]});return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElTable),(0,t.mergeProps)({ref_key:`table`,ref:c},{data:r.data,height:r.height,rowClassName:r.rowClassName,rowStyle:r.rowStyle,cellClassName:r.cellClassName,cellStyle:r.cellStyle,showSummary:r.showSummary,showOverflowTooltip:r.showOverflowTooltip,spanMethod:r.spanMethod,summaryMethod:r.summaryMethod,size:r.size,rowKey:r.rowKey,border:r.border,emptyText:r.emptyText??(0,t.unref)(s)(`el.table.emptyText`)},{onRowClick:i[0]||=e=>o(`rowClick`,e),onRowDblclick:i[1]||=e=>o(`rowDbClick`,e),onSelectionChange:i[2]||=e=>o(`selectionChange`,e),onHeaderDragend:i[3]||=(e,t,n)=>o(`headerDragend`,e,t,n)}),{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.columns,e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(l),(0,t.mergeProps)({ref_for:!0},e),null,16))),256))]),_:1},16))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=Table-BxehOmrv.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Table-BxehOmrv.cjs","names":[],"sources":["../../src/components/Table.vue","../../src/components/Table.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D\">\r\nimport type { TableColumnCtx, TableProps } from 'element-plus'\r\nimport type { CSSProperties, VNode, VNodeChild } from 'vue'\r\n\r\nimport { ElTable, ElTableColumn, useLocale } from 'element-plus'\r\nimport { defineComponent, inject, useTemplateRef } from 'vue'\r\n\r\nimport { X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XTableColumnProps<D> {\r\n content?: (scope: { index: number, row: D }) => VNodeChild\r\n fixed?: 'left' | 'right'\r\n header?: (scope: { column: XTableColumnProps<D> }) => VNodeChild\r\n label?: string\r\n prop?: string\r\n selectable?: (row: D, index: number) => boolean\r\n type?: 'index' | 'selection'\r\n width?: number\r\n}\r\n\r\nexport interface XTableProps<D> {\r\n border?: TableProps<any>['border']\r\n cellClassName?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => string) | string\r\n cellStyle?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n columns?: XTableColumnProps<D>[]\r\n data?: D[]\r\n height?: TableProps<any>['height']\r\n emptyText?: TableProps<any>['emptyText']\r\n rowClassName?: ((scope: { row: D, rowIndex: number }) => string) | string\r\n rowKey?: (scope: { row: D }) => string\r\n rowStyle?: ((scope: { row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n showOverflowTooltip?: TableProps<any>['showOverflowTooltip']\r\n showSummary?: TableProps<any>['showSummary']\r\n size?: TableProps<any>['size']\r\n spanMethod?: (scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => number[] | undefined | { colspan: number, rowspan: number }\r\n summaryMethod?: (scope: { columns: TableColumnCtx[], data: D[] }) => (string | VNode)[]\r\n}\r\n\r\nconst { columns, data, showOverflowTooltip = true, border = true } = defineProps<XTableProps<D>>()\r\n\r\nconst emit = defineEmits<{\r\n headerDragend: [newWidth: number, oldWidth: number, column: TableColumnCtx]\r\n rowClick: [row: D]\r\n rowDbClick: [row: D]\r\n selectionChange: [rows: D[]]\r\n}>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst table = useTemplateRef('table')\r\n\r\ndefineExpose({\r\n clearSelection: () => table.value?.clearSelection(),\r\n getSelectionRows: () => table.value?.getSelectionRows(),\r\n scrollTo: (options: number | ScrollToOptions, yCoord?: number) => table.value?.scrollTo(options, yCoord),\r\n setCurrentRow: (row: D) => table.value?.setCurrentRow(row),\r\n setScrollLeft: (left: number) => table.value?.scrollTo(left),\r\n setScrollTop: (top: number) => table.value?.scrollTo(top),\r\n toggleRowSelection: (row: D, selected?: boolean, ignoreSelectable?: boolean) => table.value?.toggleRowSelection(row, selected, ignoreSelectable)\r\n})\r\n\r\nconst XTableColumn = defineComponent((props: XTableColumnProps<D>) => {\r\n return () => (\r\n <ElTableColumn\r\n fixed={props.fixed}\r\n label={props.label}\r\n prop={props.prop}\r\n type={props.type}\r\n >\r\n {{\r\n default: ({ row, $index }: { row: D, $index: number }) => props.content?.({ row, index: $index }),\r\n header: () => props.header?.({ column: { ...props } })\r\n }}\r\n </ElTableColumn>\r\n )\r\n}, { props: ['content', 'fixed', 'header', 'label', 'prop', 'selectable', 'type', 'width'] })\r\n</script>\r\n\r\n<template>\r\n <ElTable\r\n ref=\"table\"\r\n v-bind=\"{\r\n data,\r\n height,\r\n rowClassName,\r\n rowStyle,\r\n cellClassName,\r\n cellStyle,\r\n showSummary,\r\n showOverflowTooltip,\r\n spanMethod,\r\n summaryMethod,\r\n size,\r\n rowKey,\r\n border,\r\n emptyText: emptyText ?? t('el.table.emptyText'),\r\n }\"\r\n @row-click=\"(row: D) => emit('rowClick', row)\"\r\n @row-dblclick=\"(row: D) => emit('rowDbClick', row)\"\r\n @selection-change=\"(rows: D[]) => emit('selectionChange', rows)\"\r\n @header-dragend=\"(newWidth, oldWidth, column) => emit('headerDragend', newWidth, oldWidth, column)\"\r\n >\r\n <XTableColumn\r\n v-for=\"column of columns\"\r\n v-bind=\"column\"\r\n />\r\n </ElTable>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D\">\r\nimport type { TableColumnCtx, TableProps } from 'element-plus'\r\nimport type { CSSProperties, VNode, VNodeChild } from 'vue'\r\n\r\nimport { ElTable, ElTableColumn, useLocale } from 'element-plus'\r\nimport { defineComponent, inject, useTemplateRef } from 'vue'\r\n\r\nimport { X_LOCALE_CONFIG } from '../constants'\r\n\r\nexport interface XTableColumnProps<D> {\r\n content?: (scope: { index: number, row: D }) => VNodeChild\r\n fixed?: 'left' | 'right'\r\n header?: (scope: { column: XTableColumnProps<D> }) => VNodeChild\r\n label?: string\r\n prop?: string\r\n selectable?: (row: D, index: number) => boolean\r\n type?: 'index' | 'selection'\r\n width?: number\r\n}\r\n\r\nexport interface XTableProps<D> {\r\n border?: TableProps<any>['border']\r\n cellClassName?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => string) | string\r\n cellStyle?: ((scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n columns?: XTableColumnProps<D>[]\r\n data?: D[]\r\n height?: TableProps<any>['height']\r\n emptyText?: TableProps<any>['emptyText']\r\n rowClassName?: ((scope: { row: D, rowIndex: number }) => string) | string\r\n rowKey?: (scope: { row: D }) => string\r\n rowStyle?: ((scope: { row: D, rowIndex: number }) => CSSProperties) | CSSProperties\r\n showOverflowTooltip?: TableProps<any>['showOverflowTooltip']\r\n showSummary?: TableProps<any>['showSummary']\r\n size?: TableProps<any>['size']\r\n spanMethod?: (scope: { column: TableColumnCtx, columnIndex: number, row: D, rowIndex: number }) => number[] | undefined | { colspan: number, rowspan: number }\r\n summaryMethod?: (scope: { columns: TableColumnCtx[], data: D[] }) => (string | VNode)[]\r\n}\r\n\r\nconst { columns, data, showOverflowTooltip = true, border = true } = defineProps<XTableProps<D>>()\r\n\r\nconst emit = defineEmits<{\r\n headerDragend: [newWidth: number, oldWidth: number, column: TableColumnCtx]\r\n rowClick: [row: D]\r\n rowDbClick: [row: D]\r\n selectionChange: [rows: D[]]\r\n}>()\r\n\r\nconst locale = inject(X_LOCALE_CONFIG)\r\nconst { t } = useLocale(locale)\r\n\r\nconst table = useTemplateRef('table')\r\n\r\ndefineExpose({\r\n clearSelection: () => table.value?.clearSelection(),\r\n getSelectionRows: () => table.value?.getSelectionRows(),\r\n scrollTo: (options: number | ScrollToOptions, yCoord?: number) => table.value?.scrollTo(options, yCoord),\r\n setCurrentRow: (row: D) => table.value?.setCurrentRow(row),\r\n setScrollLeft: (left: number) => table.value?.scrollTo(left),\r\n setScrollTop: (top: number) => table.value?.scrollTo(top),\r\n toggleRowSelection: (row: D, selected?: boolean, ignoreSelectable?: boolean) => table.value?.toggleRowSelection(row, selected, ignoreSelectable)\r\n})\r\n\r\nconst XTableColumn = defineComponent((props: XTableColumnProps<D>) => {\r\n return () => (\r\n <ElTableColumn\r\n fixed={props.fixed}\r\n label={props.label}\r\n prop={props.prop}\r\n type={props.type}\r\n >\r\n {{\r\n default: ({ row, $index }: { row: D, $index: number }) => props.content?.({ row, index: $index }),\r\n header: () => props.header?.({ column: { ...props } })\r\n }}\r\n </ElTableColumn>\r\n )\r\n}, { props: ['content', 'fixed', 'header', 'label', 'prop', 'selectable', 'type', 'width'] })\r\n</script>\r\n\r\n<template>\r\n <ElTable\r\n ref=\"table\"\r\n v-bind=\"{\r\n data,\r\n height,\r\n rowClassName,\r\n rowStyle,\r\n cellClassName,\r\n cellStyle,\r\n showSummary,\r\n showOverflowTooltip,\r\n spanMethod,\r\n summaryMethod,\r\n size,\r\n rowKey,\r\n border,\r\n emptyText: emptyText ?? t('el.table.emptyText'),\r\n }\"\r\n @row-click=\"(row: D) => emit('rowClick', row)\"\r\n @row-dblclick=\"(row: D) => emit('rowDbClick', row)\"\r\n @selection-change=\"(rows: D[]) => emit('selectionChange', rows)\"\r\n @header-dragend=\"(newWidth, oldWidth, column) => emit('headerDragend', newWidth, oldWidth, column)\"\r\n >\r\n <XTableColumn\r\n v-for=\"column of columns\"\r\n v-bind=\"column\"\r\n />\r\n </ElTable>\r\n</template>\r\n"],"mappings":"mnBCwCA,IAAM,EAAO,EAQP,CAAE,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QADc,EAAA,EAAgB,CACP,CAEzB,GAAA,EAAA,EAAA,gBAAuB,QAAQ,CAErC,EAAa,CACX,mBAAsB,EAAM,OAAO,gBAAgB,CACnD,qBAAwB,EAAM,OAAO,kBAAkB,CACvD,UAAW,EAAmC,IAAoB,EAAM,OAAO,SAAS,EAAS,EAAO,CACxG,cAAgB,GAAW,EAAM,OAAO,cAAc,EAAI,CAC1D,cAAgB,GAAiB,EAAM,OAAO,SAAS,EAAK,CAC5D,aAAe,GAAgB,EAAM,OAAO,SAAS,EAAI,CACzD,oBAAqB,EAAQ,EAAoB,IAA+B,EAAM,OAAO,mBAAmB,EAAK,EAAU,EAAgB,CAChJ,CAAC,CAEF,IAAM,GAAA,EAAA,EAAA,iBAAgC,QACpC,EAAA,EAAA,aAAO,EAAA,cAAA,CAAA,MAEI,EAAM,MAAK,MACX,EAAM,MAAK,KACZ,EAAM,KAAI,KACV,EAAM,KAAI,CAAA,CAGd,SAAU,CAAE,MAAK,YAAyC,EAAM,UAAU,CAAE,MAAK,MAAO,EAAQ,CAAC,CACjG,WAAc,EAAM,SAAS,CAAE,OAAQ,CAAE,GAAG,EAAM,CAAG,CAAA,CAAC,CAG3D,CACA,CAAE,MAAO,CAAC,UAAW,QAAS,SAAU,QAAS,OAAQ,aAAc,OAAQ,QAAO,CAAG,CAAC,+DA+BjF,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,SA1BJ,QAAJ,IAAI,SACa,EAAA,YAAa,EAAA,oBAAe,EAAA,sBAAqB,EAAA,uBAAiB,EAAA,wBAAsB,EAAA,sBAAkB,EAAA,gCAAoB,EAAA,+BAA4B,EAAA,yBAAmB,EAAA,mBAAsB,EAAA,YAAa,EAAA,cAAe,EAAA,iBAA0B,EAAA,YAAA,EAAA,EAAA,OAAa,EAAC,CAAA,qBAAA,GAgBvR,WAAS,AAAA,EAAA,KAAG,GAAW,EAAI,WAAa,EAAG,CAC3C,cAAY,AAAA,EAAA,KAAG,GAAW,EAAI,aAAe,EAAG,CAChD,kBAAgB,AAAA,EAAA,KAAG,GAAc,EAAI,kBAAoB,EAAI,CAC7D,gBAAc,AAAA,EAAA,MAAG,EAAU,EAAU,IAAW,EAAI,gBAAkB,EAAU,EAAU,EAAM,8BAGtE,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBAEzB,EAAA,SAAA,MAAA,EAAA,EAAA,YAFiB,EAAA,QAAV,oDAEP,EAAA,EAAA,EAAA,EAAA,YAAA,CAAA,QAAA,GAAA,CADQ,EAAM,CAAA,KAAA,GAAA"}
@@ -1,2 +0,0 @@
1
- let e=require(`vue`),t=require(`element-plus`);var n=(0,e.defineComponent)({__name:`TableColumn`,setup(n){return(n,r)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElTableColumn),null,{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,`default`)]),_:3}))}});module.exports=n;
2
- //# sourceMappingURL=TableColumn.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableColumn.cjs","names":[],"sources":["../../src/components/TableColumn.vue","../../src/components/TableColumn.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport { ElTableColumn } from 'element-plus'\r\n</script>\r\n\r\n<template>\r\n <ElTableColumn>\r\n <slot></slot>\r\n </ElTableColumn>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport { ElTableColumn } from 'element-plus'\r\n</script>\r\n\r\n<template>\r\n <ElTableColumn>\r\n <slot></slot>\r\n </ElTableColumn>\r\n</template>\r\n"],"mappings":"wKCOkB,EAAA,cAAA,CAAA,KAAA,2BADD,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Upload-DP-wG7wt.cjs","names":[],"sources":["../../src/components/Upload.vue","../../src/components/Upload.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadProps } from 'element-plus'\r\n\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\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 </ElUpload>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"MV extends string | string[]\">\r\nimport type { UploadProps } from 'element-plus'\r\n\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\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 </ElUpload>\r\n</template>\r\n"],"mappings":"gVCkBA,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,+DAQX,EAAA,SAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,SAFS,EAAA,SAAQ,OAAE,EAAA,OAAM,KAAE,EAAA,KAAI,MAAE,EAAA,MAAK,SAAE,EAAA,MAAQ,aAAE,EAAA,aAAY,CAAA,CAAA,CAAA,2BAC/D,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- const e=require(`./Button-BvJXFXQb.cjs`);let t=require(`vue`),n=require(`element-plus`);var r=(0,t.defineComponent)({__name:`ButtonPopconfirm`,props:{title:{default:`是否执行?`},disabled:{type:Boolean},link:{type:Boolean},size:{},text:{type:Boolean},type:{},icon:{}},emits:[`cancel`,`confirm`],setup(r,{emit:i}){let a=i;return(i,o)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ElPopconfirm),{title:r.title,onCancel:o[0]||=()=>a(`cancel`),onConfirm:o[1]||=()=>a(`confirm`)},{reference:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(e.t),(0,t.normalizeProps)((0,t.guardReactiveProps)({disabled:r.disabled,type:r.type,text:r.text,size:r.size,link:r.link})),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(i.$slots,`default`)]),_:3},16)]),actions:(0,t.withCtx)(({confirm:n,cancel:r})=>[(0,t.createVNode)((0,t.unref)(e.t),{size:`small`,onClick:r},{default:(0,t.withCtx)(()=>[...o[2]||=[(0,t.createTextVNode)(` 取消 `,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)((0,t.unref)(e.t),{type:`danger`,size:`small`,onClick:n},{default:(0,t.withCtx)(()=>[...o[3]||=[(0,t.createTextVNode)(` 确定 `,-1)]]),_:1},8,[`onClick`])]),_:3},8,[`title`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=components-B4ncCgXt.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components-B4ncCgXt.cjs","names":[],"sources":["../../src/components/ButtonPopconfirm.vue","../../src/components/ButtonPopconfirm.vue"],"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"],"mappings":"oTCWA,IAAM,EAAO,gEAyBI,EAAA,aAAA,CAAA,CAjBZ,MAAO,EAAA,MACP,SAAM,AAAA,EAAA,SAAQ,EAAI,SAAA,CAClB,UAAO,AAAA,EAAA,SAAQ,EAAI,UAAA,GAET,WAAA,EAAA,EAAA,aAGC,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,SAFS,EAAA,SAAQ,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,KAAE,EAAA,KAAI,CAAA,CAAA,CAAA,2BACpC,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,YAGN,SAAA,EAAA,EAAA,UAGC,CAHU,UAAS,YAAM,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAGzB,EAAA,EAAA,CAAA,CAFD,KAAK,QAAS,QAAO,8BAE9B,CAAA,GAAA,AAAA,EAAA,KAAA,EAAA,EAAA,EAAA,iBAFsC,OAEtC,GAAA,CAAA,CAAA,CAAA,mDAGU,EAAA,EAAA,CAAA,CAFD,KAAK,SAAS,KAAK,QAAS,QAAO,8BAE5C,CAAA,GAAA,AAAA,EAAA,KAAA,EAAA,EAAA,EAAA,iBAFqD,OAErD,GAAA,CAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- var e=Symbol(`X_LOCALE_CONFIG`),t=Symbol(`X_ELEMENT_IN_FORM`),n=Symbol(`X_ELEMENT_IN_TABS`),r=Symbol(`X_ELEMENT_IN_TAB_PANE`),i=Symbol(`X_FORM_VALIDATIONS`),a=Symbol(`X_FORM_ITEM_VALIDATION`),o=Symbol(`X_TAB_PANE`),s=Symbol(`X_TABS_MODEL_UPDATE_HOOK`);Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
2
- //# sourceMappingURL=constants-498ChIuS.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button-JMW0j5pe.js","names":[],"sources":["../../src/components/Button.vue","../../src/components/Button.vue"],"sourcesContent":["<script setup lang=\"tsx\">\r\nimport type { ButtonProps, ButtonType } from 'element-plus'\r\n\r\nimport { ElButton } from 'element-plus'\r\n\r\nexport interface XButtonProps {\r\n disabled?: ButtonProps['disabled']\r\n link?: ButtonProps['link']\r\n size?: ButtonProps['size']\r\n text?: ButtonProps['text']\r\n type?: ButtonProps['type']\r\n icon?: ButtonProps['icon']\r\n}\r\n\r\nexport type XButtonType = ButtonType\r\n\r\ndefineProps<XButtonProps>()\r\n\r\nconst emit = defineEmits<{\r\n click: [e: MouseEvent]\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n v-bind=\"{ type, text, link, disabled, size, icon }\"\r\n @click=\"emit('click', $event)\"\r\n >\r\n <slot />\r\n </ElButton>\r\n</template>\r\n","<script setup lang=\"tsx\">\r\nimport type { ButtonProps, ButtonType } from 'element-plus'\r\n\r\nimport { ElButton } from 'element-plus'\r\n\r\nexport interface XButtonProps {\r\n disabled?: ButtonProps['disabled']\r\n link?: ButtonProps['link']\r\n size?: ButtonProps['size']\r\n text?: ButtonProps['text']\r\n type?: ButtonProps['type']\r\n icon?: ButtonProps['icon']\r\n}\r\n\r\nexport type XButtonType = ButtonType\r\n\r\ndefineProps<XButtonProps>()\r\n\r\nconst emit = defineEmits<{\r\n click: [e: MouseEvent]\r\n}>()\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n v-bind=\"{ type, text, link, disabled, size, icon }\"\r\n @click=\"emit('click', $event)\"\r\n >\r\n <slot />\r\n </ElButton>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;ECkBA,IAAM,IAAO;yBAMX,EAKW,EAAA,EAAA,EALX,EAKW;GAAA,MAJC,EAAA;GAAI,MAAE,EAAA;GAAI,MAAE,EAAA;GAAI,UAAE,EAAA;GAAQ,MAAE,EAAA;GAAI,MAAE,EAAA;GAAI,EAAA,EAC/C,SAAK,AAAA,EAAA,QAAA,MAAE,EAAI,SAAU,EAAM,EAAA,CAAA,EAAA;oBAEpB,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatePicker-Bk5znp2I.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' } = 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' } = 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":"Form-BDvJQmaK.js","names":[],"sources":["../../src/components/Form.vue","../../src/components/Form.vue"],"sourcesContent":["<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XFormItemValidation } from './FormItem.vue'\r\nimport { ElForm } from 'element-plus'\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { X_ELEMENT_IN_FORM, X_FORM_VALIDATIONS } from '../constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n labelPosition?: '' | 'left' | 'right' | 'top'\r\n labelWidth?: number | string\r\n required?: boolean\r\n}\r\n\r\nexport interface XFormProps<D> {\r\n content?: (scope: { data: D }) => VNodeChild\r\n data?: D\r\n disabled?: boolean\r\n inline?: boolean\r\n labelPosition?: 'left' | 'right' | 'top'\r\n labelSuffix?: string\r\n labelWidth?: number | string\r\n}\r\n\r\nconst { content, data } = defineProps<XFormProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n\r\nprovide(X_ELEMENT_IN_FORM, true)\r\n\r\nconst validations = [] as XFormItemValidation[]\r\nprovide(X_FORM_VALIDATIONS, validations)\r\nconst validate = () => validations.every(item => item.validate())\r\nconst clearValidate = () => validations.forEach(it => it.clearValidate())\r\n\r\ndefineExpose({ clearValidate, data, validate })\r\n</script>\r\n\r\n<template>\r\n <ElForm\r\n ref=\"form\"\r\n v-bind=\"{ model: data, disabled, inline, labelPosition, labelWidth, labelSuffix }\"\r\n >\r\n <Content />\r\n </ElForm>\r\n</template>\r\n","<script setup lang=\"tsx\" generic=\"D extends object\">\r\nimport type { VNodeChild } from 'vue'\r\nimport type { XFormItemValidation } from './FormItem.vue'\r\nimport { ElForm } from 'element-plus'\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { X_ELEMENT_IN_FORM, X_FORM_VALIDATIONS } from '../constants'\r\n\r\nexport interface XFormItemProps {\r\n content?: () => VNodeChild\r\n label?: string\r\n labelPosition?: '' | 'left' | 'right' | 'top'\r\n labelWidth?: number | string\r\n required?: boolean\r\n}\r\n\r\nexport interface XFormProps<D> {\r\n content?: (scope: { data: D }) => VNodeChild\r\n data?: D\r\n disabled?: boolean\r\n inline?: boolean\r\n labelPosition?: 'left' | 'right' | 'top'\r\n labelSuffix?: string\r\n labelWidth?: number | string\r\n}\r\n\r\nconst { content, data } = defineProps<XFormProps<D>>()\r\n\r\nconst form = useTemplateRef('form')\r\n\r\nconst Content = () => content?.({ data: data ?? {} } as { data: D })\r\n\r\nprovide(X_ELEMENT_IN_FORM, true)\r\n\r\nconst validations = [] as XFormItemValidation[]\r\nprovide(X_FORM_VALIDATIONS, validations)\r\nconst validate = () => validations.every(item => item.validate())\r\nconst clearValidate = () => validations.forEach(it => it.clearValidate())\r\n\r\ndefineExpose({ clearValidate, data, validate })\r\n</script>\r\n\r\n<template>\r\n <ElForm\r\n ref=\"form\"\r\n v-bind=\"{ model: data, disabled, inline, labelPosition, labelWidth, labelSuffix }\"\r\n >\r\n <Content />\r\n </ElForm>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;;;EC2BA,IAAM,IAAO,EAAe,OAAO,EAE7B,UAAgB,EAAA,UAAU,EAAE,MAAM,EAAA,QAAQ,EAAC,EAAkB,CAAC;AAEpE,IAAQ,GAAmB,GAAK;EAEhC,IAAM,IAAc,EAA2B;SAC/C,EAAQ,GAAoB,EAAY,EAIxC,EAAa;GAAE,qBAFa,EAAY,SAAQ,MAAM,EAAG,eAAe,CAAC;GAE3C,MAAG,EAAA;GAAG,gBAHb,EAAY,OAAM,MAAQ,EAAK,UAAU,CAAC;GAGnB,CAAC,kBAI7C,EAKS,EAAA,EAAA,EALT,EAKS;YAJH;GAAJ,KAAI;;UACa,EAAA;GAAI,UAAE,EAAA;GAAQ,QAAE,EAAA;GAAM,eAAE,EAAA;GAAa,YAAE,EAAA;GAAU,aAAE,EAAA;GAAW,CAAA,EAAA;oBAEpE,CAAX,EAAW,EAAA,CAAA,CAAA"}