fast-element-plus 2.0.21 → 2.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/component.d.ts +15 -15
  3. package/dist/components/avatar/index.d.ts +3 -3
  4. package/dist/components/avatar/index.mjs.map +1 -1
  5. package/dist/components/button/index.d.ts +3 -3
  6. package/dist/components/button/index.mjs.map +1 -1
  7. package/dist/components/button/src/button.d.ts +1 -1
  8. package/dist/components/carNumber/index.d.ts +1 -1
  9. package/dist/components/carNumber/index.mjs.map +1 -1
  10. package/dist/components/contextMenu/index.d.ts +1 -1
  11. package/dist/components/contextMenu/index.mjs.map +1 -1
  12. package/dist/components/contextMenu/src/contextMenu.type.d.ts +1 -1
  13. package/dist/components/dialog/index.d.ts +3 -3
  14. package/dist/components/dialog/index.mjs.map +1 -1
  15. package/dist/components/dialog/src/dialog.d.ts +3 -3
  16. package/dist/components/drawer/index.d.ts +3 -3
  17. package/dist/components/drawer/index.mjs.map +1 -1
  18. package/dist/components/drawer/src/drawer.d.ts +3 -3
  19. package/dist/components/form/index.d.ts +4 -4
  20. package/dist/components/form/index.mjs.map +1 -1
  21. package/dist/components/form/utils/form.d.ts +2 -2
  22. package/dist/components/form/utils/form.mjs +2 -2
  23. package/dist/components/form/utils/form.mjs.map +1 -1
  24. package/dist/components/formItemTip/index.d.ts +2 -2
  25. package/dist/components/formItemTip/index.mjs.map +1 -1
  26. package/dist/components/icon/index.d.ts +2 -2
  27. package/dist/components/icon/index.mjs.map +1 -1
  28. package/dist/components/iconSelector/index.d.ts +1 -1
  29. package/dist/components/iconSelector/index.mjs.map +1 -1
  30. package/dist/components/image/index.d.ts +2 -2
  31. package/dist/components/image/index.mjs.map +1 -1
  32. package/dist/components/image/src/image.d.ts +1 -1
  33. package/dist/components/inputDialogPage/index.d.ts +3 -3
  34. package/dist/components/inputDialogPage/index.mjs.map +1 -1
  35. package/dist/components/layoutGrid/index.d.ts +2 -2
  36. package/dist/components/layoutGrid/index.mjs.map +1 -1
  37. package/dist/components/select/index.d.ts +4 -4
  38. package/dist/components/select/index.mjs.map +1 -1
  39. package/dist/components/select/src/select.d.ts +1 -1
  40. package/dist/components/select/src/select.type.d.ts +2 -2
  41. package/dist/components/selectPage/index.d.ts +3 -3
  42. package/dist/components/selectPage/index.mjs.map +1 -1
  43. package/dist/components/selectPage/src/selectPage.d.ts +1 -1
  44. package/dist/components/selectV2/index.d.ts +3 -3
  45. package/dist/components/selectV2/index.mjs.map +1 -1
  46. package/dist/components/selectV2/src/selectV2.d.ts +1 -1
  47. package/dist/components/table/index.d.ts +4 -4
  48. package/dist/components/table/index.mjs.map +1 -1
  49. package/dist/components/table/src/page.type.d.ts +2 -2
  50. package/dist/components/table/src/table.type.d.ts +5 -5
  51. package/dist/components/table/src/table.type.mjs.map +1 -1
  52. package/dist/components/table/src/tableColumn.d.ts +2 -2
  53. package/dist/components/table/src/tableColumn.mjs.map +1 -1
  54. package/dist/components/table/utils/table.d.ts +18 -15
  55. package/dist/components/table/utils/table.mjs +18 -15
  56. package/dist/components/table/utils/table.mjs.map +1 -1
  57. package/dist/components/tree/index.d.ts +3 -3
  58. package/dist/components/tree/index.mjs.map +1 -1
  59. package/dist/components/tree/src/tree.props.d.ts +2 -2
  60. package/dist/components/tree/src/tree.type.d.ts +2 -2
  61. package/dist/components/treeSelect/index.d.ts +3 -3
  62. package/dist/components/treeSelect/index.mjs.map +1 -1
  63. package/dist/components/treeSelect/src/treeSelect.d.ts +1 -1
  64. package/dist/components/upload/index.d.ts +3 -3
  65. package/dist/components/upload/index.mjs.map +1 -1
  66. package/dist/components/upload/utils/upload.d.ts +15 -10
  67. package/dist/components/upload/utils/upload.mjs +15 -10
  68. package/dist/components/upload/utils/upload.mjs.map +1 -1
  69. package/dist/components/uploadImage/index.d.ts +3 -3
  70. package/dist/components/uploadImage/index.mjs.map +1 -1
  71. package/dist/components/uploadImages/index.d.ts +3 -3
  72. package/dist/components/uploadImages/index.mjs.map +1 -1
  73. package/dist/index.global.min.js +4 -4
  74. package/dist/index.global.min.js.map +1 -1
  75. package/dist/internal/props.d.ts +1 -1
  76. package/dist/internal/props.mjs.map +1 -1
  77. package/dist/utils/async/index.d.ts +4 -4
  78. package/dist/utils/async/index.mjs +9 -9
  79. package/dist/utils/async/index.mjs.map +1 -1
  80. package/dist/utils/date/index.d.ts +8 -8
  81. package/dist/utils/date/index.mjs +16 -16
  82. package/dist/utils/date/index.mjs.map +1 -1
  83. package/dist/utils/dom/index.d.ts +1 -1
  84. package/dist/utils/dom/index.mjs +4 -4
  85. package/dist/utils/dom/index.mjs.map +1 -1
  86. package/dist/utils/object/index.d.ts +10 -10
  87. package/dist/utils/object/index.mjs +6 -6
  88. package/dist/utils/object/index.mjs.map +1 -1
  89. package/dist/utils/string/index.d.ts +4 -4
  90. package/dist/utils/string/index.mjs +14 -40
  91. package/dist/utils/string/index.mjs.map +1 -1
  92. package/dist/utils/vue/emits.d.ts +8 -8
  93. package/dist/utils/vue/emits.mjs +7 -7
  94. package/dist/utils/vue/emits.mjs.map +1 -1
  95. package/dist/utils/vue/expose.d.ts +3 -3
  96. package/dist/utils/vue/expose.mjs +3 -3
  97. package/dist/utils/vue/expose.mjs.map +1 -1
  98. package/dist/utils/vue/func.d.ts +2 -2
  99. package/dist/utils/vue/func.mjs +2 -2
  100. package/dist/utils/vue/func.mjs.map +1 -1
  101. package/dist/utils/vue/install.d.ts +9 -9
  102. package/dist/utils/vue/install.mjs +24 -24
  103. package/dist/utils/vue/install.mjs.map +1 -1
  104. package/dist/utils/vue/props.d.ts +4 -4
  105. package/dist/utils/vue/props.mjs +5 -5
  106. package/dist/utils/vue/props.mjs.map +1 -1
  107. package/dist/utils/vue/render.d.ts +1 -1
  108. package/dist/utils/vue/render.mjs +2 -2
  109. package/dist/utils/vue/render.mjs.map +1 -1
  110. package/dist/utils/vue/slots.d.ts +4 -4
  111. package/dist/utils/vue/slots.mjs.map +1 -1
  112. package/dist/utils/vue/with.d.ts +1 -1
  113. package/dist/utils/vue/with.mjs +1 -1
  114. package/dist/utils/vue/with.mjs.map +1 -1
  115. package/dist/version.d.ts +1 -1
  116. package/dist/version.mjs +1 -1
  117. package/dist/version.mjs.map +1 -1
  118. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to this project are documented in this file.
4
4
 
5
5
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and releases should follow [Semantic Versioning](https://semver.org/).
6
6
 
7
+ ## [2.0.22] - 2026-10-07
8
+
9
+ ### Fixed
10
+
11
+ - Correct internal `pick` and `omit` return types for dynamic key arrays while retaining precise tuple inference.
12
+ - Use a compatible own-property check in deep equality and keep clipboard handling scoped to browser APIs, including the legacy copy fallback.
13
+
14
+ ### Changed
15
+
16
+ - Use English errors in internal utilities and Vue helpers without changing error types or failure conditions.
17
+ - Normalize API documentation and clarify table, upload and validation contracts.
18
+
7
19
  ## [2.0.21] - 2026-09-27
8
20
 
9
21
  ### Fixed
@@ -234,6 +246,7 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
234
246
  - Scoped Table styles and added responsive IconSelector styling.
235
247
  - Improved dialogs, drawers, tables, forms, trees, selectors, car-number input, images, and uploads for dark mode, touch input, and narrow viewports.
236
248
 
249
+ [2.0.22]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.21...v2.0.22
237
250
  [2.0.21]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.20...v2.0.21
238
251
  [2.0.20]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.19...v2.0.20
239
252
  [2.0.19]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.18...v2.0.19
@@ -154,11 +154,11 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
154
154
  onClick?: ((event: MouseEvent, done?: (() => void) | undefined) => any) | undefined;
155
155
  }>, {
156
156
  link: boolean;
157
- loading: boolean;
158
157
  type: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<StringConstructor, "" | "default" | "text" | "primary" | "success" | "warning" | "info" | "danger", unknown>;
159
158
  circle: boolean;
160
159
  text: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
161
160
  plain: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
161
+ loading: boolean;
162
162
  loadingIcon: string | import("vue").Component;
163
163
  disabledLoading: boolean;
164
164
  disabled: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -652,16 +652,15 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
652
652
  title: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
653
653
  ariaLevel: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
654
654
  }>> & Readonly<{
655
- onClose?: (() => any) | undefined;
656
- onOpen?: (() => any) | undefined;
657
655
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
656
+ onOpen?: (() => any) | undefined;
657
+ onClose?: (() => any) | undefined;
658
658
  onConfirmClick?: (() => any) | undefined;
659
659
  onOpened?: (() => any) | undefined;
660
660
  onClosed?: (() => any) | undefined;
661
661
  onOpenAutoFocus?: (() => any) | undefined;
662
662
  onCloseAutoFocus?: (() => any) | undefined;
663
663
  }>, {
664
- fullscreen: boolean;
665
664
  title: string;
666
665
  center: boolean;
667
666
  showClose: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -695,6 +694,7 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
695
694
  modalClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
696
695
  trapFocus: boolean;
697
696
  headerAriaLevel: string;
697
+ fullscreen: boolean;
698
698
  headerClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
699
699
  bodyClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
700
700
  footerClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
@@ -922,10 +922,10 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
922
922
  title: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
923
923
  ariaLevel: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
924
924
  }>> & Readonly<{
925
- onClose?: (() => any) | undefined;
926
- onOpen?: (() => any) | undefined;
927
925
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
928
926
  onResize?: ((evt: MouseEvent, size: number) => any) | undefined;
927
+ onOpen?: (() => any) | undefined;
928
+ onClose?: (() => any) | undefined;
929
929
  onConfirmClick?: (() => any) | undefined;
930
930
  onOpened?: (() => any) | undefined;
931
931
  onClosed?: (() => any) | undefined;
@@ -934,7 +934,6 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
934
934
  "onResize-start"?: ((evt: MouseEvent, size: number) => any) | undefined;
935
935
  "onResize-end"?: ((evt: MouseEvent, size: number) => any) | undefined;
936
936
  }>, {
937
- fullscreen: boolean;
938
937
  title: string;
939
938
  size: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
940
939
  center: boolean;
@@ -966,6 +965,7 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
966
965
  modalClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
967
966
  trapFocus: boolean;
968
967
  headerAriaLevel: string;
968
+ fullscreen: boolean;
969
969
  headerClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
970
970
  bodyClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
971
971
  footerClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
@@ -1698,9 +1698,9 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
1698
1698
  __epPropKey: true;
1699
1699
  };
1700
1700
  }>> & Readonly<{
1701
- onClose?: (() => any) | undefined;
1702
1701
  onError?: ((evt: Event) => any) | undefined;
1703
1702
  onSwitch?: ((val: number) => any) | undefined;
1703
+ onClose?: (() => any) | undefined;
1704
1704
  onLoad?: ((evt: Event) => any) | undefined;
1705
1705
  onShow?: (() => any) | undefined;
1706
1706
  }>, {
@@ -3022,7 +3022,7 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
3022
3022
  minWidth: string | number;
3023
3023
  align: string;
3024
3024
  headerAlign: string;
3025
- showOverflowTooltip: boolean | Partial<Omit<import("element-plus").UseTooltipProps, "visible" | "rawContent" | "referenceEl" | "triggerTargetEl" | "virtualTriggering" | "content" | "persistent" | "autoClose" | "virtualRef">> | undefined;
3025
+ showOverflowTooltip: boolean | Partial<Omit<import("element-plus").UseTooltipProps, "rawContent" | "visible" | "referenceEl" | "triggerTargetEl" | "virtualTriggering" | "content" | "persistent" | "autoClose" | "virtualRef">> | undefined;
3026
3026
  reserveSelection: boolean;
3027
3027
  filterMultiple: boolean;
3028
3028
  sortOrders: (import("element-plus/es/components/table/src/table/defaults.mjs").TableSortOrder | null)[];
@@ -3277,10 +3277,10 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
3277
3277
  clear: () => boolean;
3278
3278
  }, import("vue").PublicProps, {
3279
3279
  data: import("./components").ElSelectorOutput<import("./components").ElSelectorValue, any>[];
3280
- loading: boolean;
3281
3280
  props: import("./components/select/src/select").SelectComponentProps;
3282
3281
  offset: number;
3283
3282
  placement: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | null)[], import("element-plus").Placement, unknown>;
3283
+ loading: boolean;
3284
3284
  disabled: boolean;
3285
3285
  modelValue: import("./components").ElSelectorModelValue;
3286
3286
  autocomplete: string;
@@ -3498,10 +3498,10 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
3498
3498
  clearSelection: () => void;
3499
3499
  }, {}, {}, {}, {
3500
3500
  data: import("./components").ElSelectorOutput<import("./components").ElSelectorValue, any>[];
3501
- loading: boolean;
3502
3501
  props: import("./components/select/src/select").SelectComponentProps;
3503
3502
  offset: number;
3504
3503
  placement: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | null)[], import("element-plus").Placement, unknown>;
3504
+ loading: boolean;
3505
3505
  disabled: boolean;
3506
3506
  modelValue: import("./components").ElSelectorModelValue;
3507
3507
  autocomplete: string;
@@ -3731,10 +3731,10 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
3731
3731
  clear: () => boolean;
3732
3732
  }, string, {
3733
3733
  data: import("./components").ElSelectorOutput<import("./components").ElSelectorValue, any>[];
3734
- loading: boolean;
3735
3734
  props: import("./components/select/src/select").SelectComponentProps;
3736
3735
  offset: number;
3737
3736
  placement: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | null)[], import("element-plus").Placement, unknown>;
3737
+ loading: boolean;
3738
3738
  disabled: boolean;
3739
3739
  modelValue: import("./components").ElSelectorModelValue;
3740
3740
  autocomplete: string;
@@ -4142,10 +4142,10 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
4142
4142
  }) => any) | undefined;
4143
4143
  "onRemove-tag"?: ((val: unknown) => any) | undefined;
4144
4144
  }>, {
4145
- loading: boolean;
4146
4145
  props: import("./components/select/src/select").SelectComponentProps;
4147
4146
  offset: number;
4148
4147
  placement: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | null)[], import("element-plus").Placement, unknown>;
4148
+ loading: boolean;
4149
4149
  disabled: boolean;
4150
4150
  modelValue: import("./components").ElSelectorModelValue;
4151
4151
  autocomplete: string;
@@ -4613,10 +4613,10 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
4613
4613
  "onRemove-tag"?: ((_value: import("./components").ElSelectorValue) => any) | undefined;
4614
4614
  }>, {
4615
4615
  data: import("./components").ElSelectorOutput<import("./components").ElSelectorValue, any>[];
4616
- loading: boolean;
4617
4616
  props: import("./internal/props").Props;
4618
4617
  offset: number;
4619
4618
  placement: import("element-plus").Placement;
4619
+ loading: boolean;
4620
4620
  disabled: boolean;
4621
4621
  modelValue: import("./components").ElSelectorModelValue;
4622
4622
  autocomplete: "none" | "both" | "inline" | "list";
@@ -5547,10 +5547,10 @@ declare const _default: (import("./utils").TSXWithInstall<import("vue").DefineCo
5547
5547
  "onNode-drag-over"?: ((draggingNode: import("element-plus/es/components/tree/src/model/node.mjs").default, dropNode: import("element-plus/es/components/tree/src/model/node.mjs").default, evt: DragEvent) => any) | undefined;
5548
5548
  }>, {
5549
5549
  data: import("./components").ElSelectorOutput<import("./components").ElSelectorValue, any>[];
5550
- loading: boolean;
5551
5550
  props: import("./components/select/src/select").SelectComponentProps;
5552
5551
  offset: number;
5553
5552
  placement: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | null)[], import("element-plus").Placement, unknown>;
5553
+ loading: boolean;
5554
5554
  disabled: boolean;
5555
5555
  modelValue: import("./components").ElSelectorModelValue;
5556
5556
  autocomplete: string;
@@ -7,9 +7,9 @@ export declare const FaAvatar: TSXWithInstall<typeof Avatar>;
7
7
  export default FaAvatar;
8
8
  export { faAvatarEmits, faAvatarProps } from "./src/avatar";
9
9
  export type { FaAvatarSlots } from "./src/avatar";
10
- /** FaAvatar 暴露的组件实例类型。 */
10
+ /** FaAvatar 暴露的组件实例类型 */
11
11
  export type FaAvatarInstance = InstanceType<typeof Avatar>;
12
- /** FaAvatar 的完整 Props 类型。 */
12
+ /** FaAvatar 的完整 Props 类型 */
13
13
  export type FaAvatarProps = ExtractPropTypes<typeof faAvatarProps>;
14
- /** FaAvatar 的 Emits 类型。 */
14
+ /** FaAvatar 的 Emits 类型 */
15
15
  export type FaAvatarEmits = typeof faAvatarEmits;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Avatar"],"sources":["../../../src/components/avatar/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Avatar from \"./src/avatar\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\nimport type { faAvatarEmits, faAvatarProps } from \"./src/avatar\";\n\n/** 支持图片地址规格转换的头像组件。 */\nexport const FaAvatar: TSXWithInstall<typeof Avatar> = withInstall(Avatar);\nexport default FaAvatar;\n\nexport { faAvatarEmits, faAvatarProps } from \"./src/avatar\";\nexport type { FaAvatarSlots } from \"./src/avatar\";\n\n/** FaAvatar 暴露的组件实例类型。 */\nexport type FaAvatarInstance = InstanceType<typeof Avatar>;\n\n/** FaAvatar 的完整 Props 类型。 */\nexport type FaAvatarProps = ExtractPropTypes<typeof faAvatarProps>;\n\n/** FaAvatar 的 Emits 类型。 */\nexport type FaAvatarEmits = typeof faAvatarEmits;\n"],"mappings":";;;;AAOA,MAAa,WAA0C,YAAYA,cAAM"}
1
+ {"version":3,"file":"index.mjs","names":["Avatar"],"sources":["../../../src/components/avatar/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Avatar from \"./src/avatar\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\nimport type { faAvatarEmits, faAvatarProps } from \"./src/avatar\";\n\n/** 支持图片地址规格转换的头像组件。 */\nexport const FaAvatar: TSXWithInstall<typeof Avatar> = withInstall(Avatar);\nexport default FaAvatar;\n\nexport { faAvatarEmits, faAvatarProps } from \"./src/avatar\";\nexport type { FaAvatarSlots } from \"./src/avatar\";\n\n/** FaAvatar 暴露的组件实例类型 */\nexport type FaAvatarInstance = InstanceType<typeof Avatar>;\n\n/** FaAvatar 的完整 Props 类型 */\nexport type FaAvatarProps = ExtractPropTypes<typeof faAvatarProps>;\n\n/** FaAvatar 的 Emits 类型 */\nexport type FaAvatarEmits = typeof faAvatarEmits;\n"],"mappings":";;;;AAOA,MAAa,WAA0C,YAAYA,cAAM"}
@@ -6,9 +6,9 @@ export declare const FaButton: TSXWithInstall<typeof Button>;
6
6
  export default FaButton;
7
7
  export { faButtonProps, faButtonEmits };
8
8
  export type { FaButtonSlots } from "./src/button";
9
- /** FaButton 暴露的组件实例类型。 */
9
+ /** FaButton 暴露的组件实例类型 */
10
10
  export type FaButtonInstance = InstanceType<typeof Button>;
11
- /** FaButton 的完整 Props 类型。 */
11
+ /** FaButton 的完整 Props 类型 */
12
12
  export type FaButtonProps = ExtractPropTypes<typeof faButtonProps>;
13
- /** FaButton 的 Emits 类型。 */
13
+ /** FaButton 的 Emits 类型 */
14
14
  export type FaButtonEmits = typeof faButtonEmits;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Button"],"sources":["../../../src/components/button/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Button, { faButtonEmits, faButtonProps } from \"./src/button\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 支持异步加载状态和全局遮罩联动的按钮组件。 */\nexport const FaButton: TSXWithInstall<typeof Button> = withInstall(Button);\nexport default FaButton;\n\nexport { faButtonProps, faButtonEmits };\nexport type { FaButtonSlots } from \"./src/button\";\n\n/** FaButton 暴露的组件实例类型。 */\nexport type FaButtonInstance = InstanceType<typeof Button>;\n\n/** FaButton 的完整 Props 类型。 */\nexport type FaButtonProps = ExtractPropTypes<typeof faButtonProps>;\n\n/** FaButton 的 Emits 类型。 */\nexport type FaButtonEmits = typeof faButtonEmits;\n"],"mappings":";;;;AAMA,MAAa,WAA0C,YAAYA,cAAM"}
1
+ {"version":3,"file":"index.mjs","names":["Button"],"sources":["../../../src/components/button/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Button, { faButtonEmits, faButtonProps } from \"./src/button\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 支持异步加载状态和全局遮罩联动的按钮组件。 */\nexport const FaButton: TSXWithInstall<typeof Button> = withInstall(Button);\nexport default FaButton;\n\nexport { faButtonProps, faButtonEmits };\nexport type { FaButtonSlots } from \"./src/button\";\n\n/** FaButton 暴露的组件实例类型 */\nexport type FaButtonInstance = InstanceType<typeof Button>;\n\n/** FaButton 的完整 Props 类型 */\nexport type FaButtonProps = ExtractPropTypes<typeof faButtonProps>;\n\n/** FaButton 的 Emits 类型 */\nexport type FaButtonEmits = typeof faButtonEmits;\n"],"mappings":";;;;AAMA,MAAa,WAA0C,YAAYA,cAAM"}
@@ -165,11 +165,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
165
165
  onClick?: ((event: MouseEvent, done?: (() => void) | undefined) => any) | undefined;
166
166
  }>, {
167
167
  link: boolean;
168
- loading: boolean;
169
168
  type: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<StringConstructor, "" | "default" | "text" | "primary" | "success" | "warning" | "info" | "danger", unknown>;
170
169
  circle: boolean;
171
170
  text: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
172
171
  plain: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
172
+ loading: boolean;
173
173
  loadingIcon: string | Component;
174
174
  disabledLoading: boolean;
175
175
  disabled: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -4,5 +4,5 @@ import type { TSXWithInstall } from "../../utils";
4
4
  export declare const FaCarNumber: TSXWithInstall<typeof CarNumber>;
5
5
  export default FaCarNumber;
6
6
  export * from "./src/common";
7
- /** FaCarNumber 暴露的组件实例类型。 */
7
+ /** FaCarNumber 暴露的组件实例类型 */
8
8
  export type FaCarNumberInstance = InstanceType<typeof CarNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["CarNumber"],"sources":["../../../src/components/carNumber/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport CarNumber from \"./src/carNumber\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 中国大陆机动车号牌输入组件。 */\nexport const FaCarNumber: TSXWithInstall<typeof CarNumber> = withInstall(CarNumber);\nexport default FaCarNumber;\n\nexport * from \"./src/common\";\n\n/** FaCarNumber 暴露的组件实例类型。 */\nexport type FaCarNumberInstance = InstanceType<typeof CarNumber>;\n"],"mappings":";;;;;AAKA,MAAa,cAAgD,YAAYA,iBAAS"}
1
+ {"version":3,"file":"index.mjs","names":["CarNumber"],"sources":["../../../src/components/carNumber/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport CarNumber from \"./src/carNumber\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 中国大陆机动车号牌输入组件。 */\nexport const FaCarNumber: TSXWithInstall<typeof CarNumber> = withInstall(CarNumber);\nexport default FaCarNumber;\n\nexport * from \"./src/common\";\n\n/** FaCarNumber 暴露的组件实例类型 */\nexport type FaCarNumberInstance = InstanceType<typeof CarNumber>;\n"],"mappings":";;;;;AAKA,MAAa,cAAgD,YAAYA,iBAAS"}
@@ -4,5 +4,5 @@ import type { TSXWithInstall } from "../../utils";
4
4
  export declare const FaContextMenu: TSXWithInstall<typeof ContextMenu>;
5
5
  export default FaContextMenu;
6
6
  export type * from "./src/contextMenu.type";
7
- /** FaContextMenu 暴露的组件实例类型。 */
7
+ /** FaContextMenu 暴露的组件实例类型 */
8
8
  export type FaContextMenuInstance = InstanceType<typeof ContextMenu>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["ContextMenu"],"sources":["../../../src/components/contextMenu/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport ContextMenu from \"./src/contextMenu\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 支持定位和嵌套操作项的右键菜单组件。 */\nexport const FaContextMenu: TSXWithInstall<typeof ContextMenu> = withInstall(ContextMenu);\nexport default FaContextMenu;\n\nexport type * from \"./src/contextMenu.type\";\n\n/** FaContextMenu 暴露的组件实例类型。 */\nexport type FaContextMenuInstance = InstanceType<typeof ContextMenu>;\n"],"mappings":";;;;AAKA,MAAa,gBAAoD,YAAYA,mBAAW"}
1
+ {"version":3,"file":"index.mjs","names":["ContextMenu"],"sources":["../../../src/components/contextMenu/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport ContextMenu from \"./src/contextMenu\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 支持定位和嵌套操作项的右键菜单组件。 */\nexport const FaContextMenu: TSXWithInstall<typeof ContextMenu> = withInstall(ContextMenu);\nexport default FaContextMenu;\n\nexport type * from \"./src/contextMenu.type\";\n\n/** FaContextMenu 暴露的组件实例类型 */\nexport type FaContextMenuInstance = InstanceType<typeof ContextMenu>;\n"],"mappings":";;;;AAKA,MAAa,gBAAoD,YAAYA,mBAAW"}
@@ -1,4 +1,4 @@
1
- /** FaContextMenu 菜单项配置。 */
1
+ /** FaContextMenu 菜单项配置 */
2
2
  export interface FaContextMenuData<Data = any> {
3
3
  /**
4
4
  * 名称
@@ -6,9 +6,9 @@ export declare const FaDialog: TSXWithInstall<typeof Dialog>;
6
6
  export default FaDialog;
7
7
  export { faDialogProps, faDialogEmits };
8
8
  export type { FaDialogSlots } from "./src/dialog";
9
- /** FaDialog 暴露的组件实例类型。 */
9
+ /** FaDialog 暴露的组件实例类型 */
10
10
  export type FaDialogInstance = InstanceType<typeof Dialog>;
11
- /** FaDialog 的完整 Props 类型。 */
11
+ /** FaDialog 的完整 Props 类型 */
12
12
  export type FaDialogProps = ExtractPropTypes<typeof faDialogProps>;
13
- /** FaDialog 的 Emits 类型。 */
13
+ /** FaDialog 的 Emits 类型 */
14
14
  export type FaDialogEmits = typeof faDialogEmits;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Dialog"],"sources":["../../../src/components/dialog/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Dialog, { faDialogEmits, faDialogProps } from \"./src/dialog\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 封装加载、确认与关闭控制的业务对话框组件。 */\nexport const FaDialog: TSXWithInstall<typeof Dialog> = withInstall(Dialog);\nexport default FaDialog;\n\nexport { faDialogProps, faDialogEmits };\nexport type { FaDialogSlots } from \"./src/dialog\";\n\n/** FaDialog 暴露的组件实例类型。 */\nexport type FaDialogInstance = InstanceType<typeof Dialog>;\n\n/** FaDialog 的完整 Props 类型。 */\nexport type FaDialogProps = ExtractPropTypes<typeof faDialogProps>;\n\n/** FaDialog 的 Emits 类型。 */\nexport type FaDialogEmits = typeof faDialogEmits;\n"],"mappings":";;;;AAMA,MAAa,WAA0C,YAAYA,cAAM"}
1
+ {"version":3,"file":"index.mjs","names":["Dialog"],"sources":["../../../src/components/dialog/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Dialog, { faDialogEmits, faDialogProps } from \"./src/dialog\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 封装加载、确认与关闭控制的业务对话框组件。 */\nexport const FaDialog: TSXWithInstall<typeof Dialog> = withInstall(Dialog);\nexport default FaDialog;\n\nexport { faDialogProps, faDialogEmits };\nexport type { FaDialogSlots } from \"./src/dialog\";\n\n/** FaDialog 暴露的组件实例类型 */\nexport type FaDialogInstance = InstanceType<typeof Dialog>;\n\n/** FaDialog 的完整 Props 类型 */\nexport type FaDialogProps = ExtractPropTypes<typeof faDialogProps>;\n\n/** FaDialog 的 Emits 类型 */\nexport type FaDialogEmits = typeof faDialogEmits;\n"],"mappings":";;;;AAMA,MAAa,WAA0C,YAAYA,cAAM"}
@@ -424,16 +424,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
424
424
  title: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
425
425
  ariaLevel: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
426
426
  }>> & Readonly<{
427
- onClose?: (() => any) | undefined;
428
- onOpen?: (() => any) | undefined;
429
427
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
428
+ onOpen?: (() => any) | undefined;
429
+ onClose?: (() => any) | undefined;
430
430
  onConfirmClick?: (() => any) | undefined;
431
431
  onOpened?: (() => any) | undefined;
432
432
  onClosed?: (() => any) | undefined;
433
433
  onOpenAutoFocus?: (() => any) | undefined;
434
434
  onCloseAutoFocus?: (() => any) | undefined;
435
435
  }>, {
436
- fullscreen: boolean;
437
436
  title: string;
438
437
  center: boolean;
439
438
  showClose: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -467,6 +466,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
467
466
  modalClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
468
467
  trapFocus: boolean;
469
468
  headerAriaLevel: string;
469
+ fullscreen: boolean;
470
470
  headerClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
471
471
  bodyClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
472
472
  footerClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
@@ -7,9 +7,9 @@ export declare const FaDrawer: TSXWithInstall<typeof Drawer>;
7
7
  export default FaDrawer;
8
8
  export { faDrawerEmits, faDrawerProps } from "./src/drawer";
9
9
  export type { FaDrawerSlots } from "./src/drawer";
10
- /** FaDrawer 暴露的组件实例类型。 */
10
+ /** FaDrawer 暴露的组件实例类型 */
11
11
  export type FaDrawerInstance = InstanceType<typeof Drawer>;
12
- /** FaDrawer 的完整 Props 类型。 */
12
+ /** FaDrawer 的完整 Props 类型 */
13
13
  export type FaDrawerProps = ExtractPropTypes<typeof faDrawerProps>;
14
- /** FaDrawer 的 Emits 类型。 */
14
+ /** FaDrawer 的 Emits 类型 */
15
15
  export type FaDrawerEmits = typeof faDrawerEmits;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Drawer"],"sources":["../../../src/components/drawer/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Drawer from \"./src/drawer\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\nimport type { faDrawerEmits, faDrawerProps } from \"./src/drawer\";\n\n/** 封装加载、确认与关闭控制的业务抽屉组件。 */\nexport const FaDrawer: TSXWithInstall<typeof Drawer> = withInstall(Drawer);\nexport default FaDrawer;\n\nexport { faDrawerEmits, faDrawerProps } from \"./src/drawer\";\nexport type { FaDrawerSlots } from \"./src/drawer\";\n\n/** FaDrawer 暴露的组件实例类型。 */\nexport type FaDrawerInstance = InstanceType<typeof Drawer>;\n\n/** FaDrawer 的完整 Props 类型。 */\nexport type FaDrawerProps = ExtractPropTypes<typeof faDrawerProps>;\n\n/** FaDrawer 的 Emits 类型。 */\nexport type FaDrawerEmits = typeof faDrawerEmits;\n"],"mappings":";;;;AAOA,MAAa,WAA0C,YAAYA,cAAM"}
1
+ {"version":3,"file":"index.mjs","names":["Drawer"],"sources":["../../../src/components/drawer/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Drawer from \"./src/drawer\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\nimport type { faDrawerEmits, faDrawerProps } from \"./src/drawer\";\n\n/** 封装加载、确认与关闭控制的业务抽屉组件。 */\nexport const FaDrawer: TSXWithInstall<typeof Drawer> = withInstall(Drawer);\nexport default FaDrawer;\n\nexport { faDrawerEmits, faDrawerProps } from \"./src/drawer\";\nexport type { FaDrawerSlots } from \"./src/drawer\";\n\n/** FaDrawer 暴露的组件实例类型 */\nexport type FaDrawerInstance = InstanceType<typeof Drawer>;\n\n/** FaDrawer 的完整 Props 类型 */\nexport type FaDrawerProps = ExtractPropTypes<typeof faDrawerProps>;\n\n/** FaDrawer 的 Emits 类型 */\nexport type FaDrawerEmits = typeof faDrawerEmits;\n"],"mappings":";;;;AAOA,MAAa,WAA0C,YAAYA,cAAM"}
@@ -414,10 +414,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
414
414
  title: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
415
415
  ariaLevel: import("element-plus/es/utils/vue/props/types.mjs").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
416
416
  }>> & Readonly<{
417
- onClose?: (() => any) | undefined;
418
- onOpen?: (() => any) | undefined;
419
417
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
420
418
  onResize?: ((evt: MouseEvent, size: number) => any) | undefined;
419
+ onOpen?: (() => any) | undefined;
420
+ onClose?: (() => any) | undefined;
421
421
  onConfirmClick?: (() => any) | undefined;
422
422
  onOpened?: (() => any) | undefined;
423
423
  onClosed?: (() => any) | undefined;
@@ -426,7 +426,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
426
426
  "onResize-start"?: ((evt: MouseEvent, size: number) => any) | undefined;
427
427
  "onResize-end"?: ((evt: MouseEvent, size: number) => any) | undefined;
428
428
  }>, {
429
- fullscreen: boolean;
430
429
  title: string;
431
430
  size: import("element-plus/es/utils/vue/props/types.mjs").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
432
431
  center: boolean;
@@ -458,6 +457,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
458
457
  modalClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
459
458
  trapFocus: boolean;
460
459
  headerAriaLevel: string;
460
+ fullscreen: boolean;
461
461
  headerClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
462
462
  bodyClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
463
463
  footerClass: import("element-plus/es/utils/typescript.mjs").ClassValue;
@@ -12,12 +12,12 @@ export declare const FaFormItem: TSXWithInstall<typeof FormItem>;
12
12
  export { faFormEmits, faFormProps, faFormItemProps };
13
13
  export type { FaFormSlots } from "./src/form";
14
14
  export type { FaFormItemSlots } from "./src/formItem";
15
- /** FaForm 暴露的组件实例类型。 */
15
+ /** FaForm 暴露的组件实例类型 */
16
16
  export type FaFormInstance = InstanceType<typeof Form>;
17
- /** FaForm 的完整 Props 类型。 */
17
+ /** FaForm 的完整 Props 类型 */
18
18
  export type FaFormProps = ExtractPropTypes<typeof faFormProps>;
19
- /** FaFormItem 暴露的组件实例类型。 */
19
+ /** FaFormItem 暴露的组件实例类型 */
20
20
  export type FaFormItemInstance = InstanceType<typeof FormItem>;
21
- /** FaFormItem 的完整 Props 类型。 */
21
+ /** FaFormItem 的完整 Props 类型 */
22
22
  export type FaFormItemProps = ExtractPropTypes<typeof faFormItemProps>;
23
23
  export * from "./utils/form";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Form","FormItem"],"sources":["../../../src/components/form/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from \"../../utils\";\nimport Form, { faFormEmits, faFormProps } from \"./src/form\";\nimport FormItem, { faFormItemProps } from \"./src/formItem\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 支持响应式布局和表单项配置的业务表单组件。 */\nexport const FaForm: TSXWithInstall<typeof Form> & { FormItem: typeof FormItem } = withInstall(Form, {\n\tFormItem,\n});\nexport default FaForm;\n\n/** 可独立注册的 FaForm 表单项组件。 */\nexport const FaFormItem: TSXWithInstall<typeof FormItem> = withNoopInstall(FormItem);\n\nexport { faFormEmits, faFormProps, faFormItemProps };\nexport type { FaFormSlots } from \"./src/form\";\nexport type { FaFormItemSlots } from \"./src/formItem\";\n\n/** FaForm 暴露的组件实例类型。 */\nexport type FaFormInstance = InstanceType<typeof Form>;\n\n/** FaForm 的完整 Props 类型。 */\nexport type FaFormProps = ExtractPropTypes<typeof faFormProps>;\n\n/** FaFormItem 暴露的组件实例类型。 */\nexport type FaFormItemInstance = InstanceType<typeof FormItem>;\n\n/** FaFormItem 的完整 Props 类型。 */\nexport type FaFormItemProps = ExtractPropTypes<typeof faFormItemProps>;\n\nexport * from \"./utils/form\";\n"],"mappings":";;;;;;AAOA,MAAa,SAAsE,YAAYA,cAAM,EACpG,UAAA,iBACD,CAAC;;AAID,MAAa,aAA8C,gBAAgBC,gBAAQ"}
1
+ {"version":3,"file":"index.mjs","names":["Form","FormItem"],"sources":["../../../src/components/form/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from \"../../utils\";\nimport Form, { faFormEmits, faFormProps } from \"./src/form\";\nimport FormItem, { faFormItemProps } from \"./src/formItem\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 支持响应式布局和表单项配置的业务表单组件。 */\nexport const FaForm: TSXWithInstall<typeof Form> & { FormItem: typeof FormItem } = withInstall(Form, {\n\tFormItem,\n});\nexport default FaForm;\n\n/** 可独立注册的 FaForm 表单项组件。 */\nexport const FaFormItem: TSXWithInstall<typeof FormItem> = withNoopInstall(FormItem);\n\nexport { faFormEmits, faFormProps, faFormItemProps };\nexport type { FaFormSlots } from \"./src/form\";\nexport type { FaFormItemSlots } from \"./src/formItem\";\n\n/** FaForm 暴露的组件实例类型 */\nexport type FaFormInstance = InstanceType<typeof Form>;\n\n/** FaForm 的完整 Props 类型 */\nexport type FaFormProps = ExtractPropTypes<typeof faFormProps>;\n\n/** FaFormItem 暴露的组件实例类型 */\nexport type FaFormItemInstance = InstanceType<typeof FormItem>;\n\n/** FaFormItem 的完整 Props 类型 */\nexport type FaFormItemProps = ExtractPropTypes<typeof faFormItemProps>;\n\nexport * from \"./utils/form\";\n"],"mappings":";;;;;;AAOA,MAAa,SAAsE,YAAYA,cAAM,EACpG,UAAA,iBACD,CAAC;;AAID,MAAa,aAA8C,gBAAgBC,gBAAQ"}
@@ -7,12 +7,12 @@ type ValidationCallback = (error?: Error) => void;
7
7
  export declare const formUtil: {
8
8
  /**
9
9
  * ElForm 表单验证
10
- * @param elFormRef ElForm 组件ref
10
+ * @param elFormRef - ElForm 组件ref
11
11
  */
12
12
  validate(elFormRef: Readonly<Ref<FormInstance | null | undefined>>): FormValidationResult;
13
13
  /**
14
14
  * ElForm 表单验证,带滚动
15
- * @param elFormRef ElForm 组件ref
15
+ * @param elFormRef - ElForm 组件ref
16
16
  */
17
17
  validateScrollToField(elFormRef: Readonly<Ref<FormInstance | null | undefined>>): FormValidationResult;
18
18
  /**
@@ -6,7 +6,7 @@ import { RegExps } from "../../../constants/regex.mjs";
6
6
  const formUtil = {
7
7
  /**
8
8
  * ElForm 表单验证
9
- * @param elFormRef ElForm 组件ref
9
+ * @param elFormRef - ElForm 组件ref
10
10
  */
11
11
  validate(elFormRef) {
12
12
  return new Promise((resolve, reject) => {
@@ -23,7 +23,7 @@ const formUtil = {
23
23
  },
24
24
  /**
25
25
  * ElForm 表单验证,带滚动
26
- * @param elFormRef ElForm 组件ref
26
+ * @param elFormRef - ElForm 组件ref
27
27
  */
28
28
  validateScrollToField(elFormRef) {
29
29
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"form.mjs","names":[],"sources":["../../../../src/components/form/utils/form.ts"],"sourcesContent":["import { RegExps } from \"../../../constants\";\nimport type { FormInstance, FormItemRule, FormValidationResult } from \"element-plus\";\nimport type { Ref } from \"vue\";\n\ntype ValidationCallback = (error?: Error) => void;\n\n/**\n * 表单工具类\n */\nexport const formUtil = {\n\t/**\n\t * ElForm 表单验证\n\t * @param elFormRef ElForm 组件ref\n\t */\n\tvalidate(elFormRef: Readonly<Ref<FormInstance | null | undefined>>): FormValidationResult {\n\t\treturn new Promise<boolean>((resolve, reject) => {\n\t\t\tconst form = elFormRef.value;\n\t\t\tif (form == null) {\n\t\t\t\treject(new Error(\"ElForm 实例尚未挂载。\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tform.validate((isValid: boolean, invalidFields?) => {\n\t\t\t\tif (isValid) {\n\t\t\t\t\tresolve(isValid);\n\t\t\t\t} else {\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n\t\t\t\t\treject(invalidFields);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * ElForm 表单验证,带滚动\n\t * @param elFormRef ElForm 组件ref\n\t */\n\tvalidateScrollToField(elFormRef: Readonly<Ref<FormInstance | null | undefined>>): FormValidationResult {\n\t\treturn new Promise<boolean>((resolve, reject) => {\n\t\t\tconst form = elFormRef.value;\n\t\t\tif (form == null) {\n\t\t\t\treject(new Error(\"ElForm 实例尚未挂载。\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tform.validate((isValid: boolean, invalidFields?) => {\n\t\t\t\tif (isValid) {\n\t\t\t\t\tresolve(isValid);\n\t\t\t\t} else {\n\t\t\t\t\tform.scrollToField(Object.keys(invalidFields ?? {}));\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n\t\t\t\t\treject(invalidFields);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * 手机号\n\t */\n\tmobile(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (!value) {\n\t\t\tcallback(new Error(\"请输入手机号码\"));\n\t\t} else if (RegExps.Mobile.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的手机号码\"));\n\t\t}\n\t},\n\t/**\n\t * 电话号码\n\t */\n\tphone(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (!value) {\n\t\t\tcallback();\n\t\t} else if (RegExps.Phone.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的电话号码\"));\n\t\t}\n\t},\n\t/**\n\t * 邮箱\n\t */\n\temail(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (!value) {\n\t\t\tcallback();\n\t\t} else if (RegExps.Email.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的邮箱地址\"));\n\t\t}\n\t},\n\t/**\n\t * 身份证\n\t */\n\tidCard(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.IdCard.test(value) || !value) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的身份证号码\"));\n\t\t}\n\t},\n\t/**\n\t * 车牌号\n\t */\n\tcarNumber(_rule: FormItemRule, value: string | null | undefined, callback: ValidationCallback): void {\n\t\tlet success = false;\n\t\tif (value?.length === 7) {\n\t\t\tsuccess = RegExps.CarNumber.test(value);\n\t\t} else if (value?.length === 8) {\n\t\t\tsuccess = RegExps.NewEnergyCarNumber.test(value);\n\t\t}\n\t\tif (success) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的车牌号码\"));\n\t\t}\n\t},\n\t/**\n\t * editor 必填\n\t */\n\teditorRequired(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (value === \"<p><br></p>\") {\n\t\t\tcallback(new Error(\"内容不能为空\"));\n\t\t} else {\n\t\t\tcallback();\n\t\t}\n\t},\n\t/**\n\t * 外部链接\n\t */\n\texternal(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.External.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的外部链接\"));\n\t\t}\n\t},\n\t/**\n\t * 有效的URL\n\t */\n\turl(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.Url.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的 URL。\"));\n\t\t}\n\t},\n\t/**\n\t * 邮政编码\n\t */\n\tpostCode(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.PostCode.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的邮政编码\"));\n\t\t}\n\t},\n\t/**\n\t * 账号(6-20位字母或数字,必须以字母开头,不能全为数字)\n\t */\n\taccount(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.Account.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的账号(6-20位字母或数字,必须以字母开头,不能全为数字)\"));\n\t\t}\n\t},\n\t/**\n\t * 弱密码(只包含字母和数字,长度为6到18位)\n\t */\n\tpassword(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.Password.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的密码(只包含字母和数字,长度为6到18位)\"));\n\t\t}\n\t},\n\t/**\n\t * 强密码(8到20位,包含大小写字母、数字及特殊字符)\n\t */\n\tstrongPassword(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.StrongPassword.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的密码(8到20位,包含大小写字母、数字及特殊字符)\"));\n\t\t}\n\t},\n\t/**\n\t * 中文字符\n\t */\n\tchinese(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.Chinese.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的中文字符\"));\n\t\t}\n\t},\n\t/**\n\t * 英文字符\n\t */\n\tenglish(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.English.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的英文字符\"));\n\t\t}\n\t},\n\t/**\n\t * 文本框必填\n\t */\n\tinputRequired(message: string, trigger = \"blur\"): FormItemRule {\n\t\treturn {\n\t\t\trequired: true,\n\t\t\tmessage,\n\t\t\ttrigger,\n\t\t};\n\t},\n\t/**\n\t * 选择器必选\n\t */\n\tselectRequired(message: string, trigger = \"change\"): FormItemRule {\n\t\treturn {\n\t\t\trequired: true,\n\t\t\tmessage,\n\t\t\ttrigger,\n\t\t};\n\t},\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"form.mjs","names":[],"sources":["../../../../src/components/form/utils/form.ts"],"sourcesContent":["import { RegExps } from \"../../../constants\";\nimport type { FormInstance, FormItemRule, FormValidationResult } from \"element-plus\";\nimport type { Ref } from \"vue\";\n\ntype ValidationCallback = (error?: Error) => void;\n\n/**\n * 表单工具类\n */\nexport const formUtil = {\n\t/**\n\t * ElForm 表单验证\n\t * @param elFormRef - ElForm 组件ref\n\t */\n\tvalidate(elFormRef: Readonly<Ref<FormInstance | null | undefined>>): FormValidationResult {\n\t\treturn new Promise<boolean>((resolve, reject) => {\n\t\t\tconst form = elFormRef.value;\n\t\t\tif (form == null) {\n\t\t\t\treject(new Error(\"ElForm 实例尚未挂载。\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tform.validate((isValid: boolean, invalidFields?) => {\n\t\t\t\tif (isValid) {\n\t\t\t\t\tresolve(isValid);\n\t\t\t\t} else {\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors -- 保持 Element Plus 校验失败时返回字段错误对象的合同\n\t\t\t\t\treject(invalidFields);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * ElForm 表单验证,带滚动\n\t * @param elFormRef - ElForm 组件ref\n\t */\n\tvalidateScrollToField(elFormRef: Readonly<Ref<FormInstance | null | undefined>>): FormValidationResult {\n\t\treturn new Promise<boolean>((resolve, reject) => {\n\t\t\tconst form = elFormRef.value;\n\t\t\tif (form == null) {\n\t\t\t\treject(new Error(\"ElForm 实例尚未挂载。\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tform.validate((isValid: boolean, invalidFields?) => {\n\t\t\t\tif (isValid) {\n\t\t\t\t\tresolve(isValid);\n\t\t\t\t} else {\n\t\t\t\t\tform.scrollToField(Object.keys(invalidFields ?? {}));\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors -- 保持 Element Plus 校验失败时返回字段错误对象的合同\n\t\t\t\t\treject(invalidFields);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * 手机号\n\t */\n\tmobile(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (!value) {\n\t\t\tcallback(new Error(\"请输入手机号码\"));\n\t\t} else if (RegExps.Mobile.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的手机号码\"));\n\t\t}\n\t},\n\t/**\n\t * 电话号码\n\t */\n\tphone(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (!value) {\n\t\t\tcallback();\n\t\t} else if (RegExps.Phone.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的电话号码\"));\n\t\t}\n\t},\n\t/**\n\t * 邮箱\n\t */\n\temail(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (!value) {\n\t\t\tcallback();\n\t\t} else if (RegExps.Email.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的邮箱地址\"));\n\t\t}\n\t},\n\t/**\n\t * 身份证\n\t */\n\tidCard(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.IdCard.test(value) || !value) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的身份证号码\"));\n\t\t}\n\t},\n\t/**\n\t * 车牌号\n\t */\n\tcarNumber(_rule: FormItemRule, value: string | null | undefined, callback: ValidationCallback): void {\n\t\tlet success = false;\n\t\tif (value?.length === 7) {\n\t\t\tsuccess = RegExps.CarNumber.test(value);\n\t\t} else if (value?.length === 8) {\n\t\t\tsuccess = RegExps.NewEnergyCarNumber.test(value);\n\t\t}\n\t\tif (success) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的车牌号码\"));\n\t\t}\n\t},\n\t/**\n\t * editor 必填\n\t */\n\teditorRequired(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (value === \"<p><br></p>\") {\n\t\t\tcallback(new Error(\"内容不能为空\"));\n\t\t} else {\n\t\t\tcallback();\n\t\t}\n\t},\n\t/**\n\t * 外部链接\n\t */\n\texternal(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.External.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的外部链接\"));\n\t\t}\n\t},\n\t/**\n\t * 有效的URL\n\t */\n\turl(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.Url.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的 URL。\"));\n\t\t}\n\t},\n\t/**\n\t * 邮政编码\n\t */\n\tpostCode(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.PostCode.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的邮政编码\"));\n\t\t}\n\t},\n\t/**\n\t * 账号(6-20位字母或数字,必须以字母开头,不能全为数字)\n\t */\n\taccount(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.Account.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的账号(6-20位字母或数字,必须以字母开头,不能全为数字)\"));\n\t\t}\n\t},\n\t/**\n\t * 弱密码(只包含字母和数字,长度为6到18位)\n\t */\n\tpassword(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.Password.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的密码(只包含字母和数字,长度为6到18位)\"));\n\t\t}\n\t},\n\t/**\n\t * 强密码(8到20位,包含大小写字母、数字及特殊字符)\n\t */\n\tstrongPassword(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.StrongPassword.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的密码(8到20位,包含大小写字母、数字及特殊字符)\"));\n\t\t}\n\t},\n\t/**\n\t * 中文字符\n\t */\n\tchinese(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.Chinese.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的中文字符\"));\n\t\t}\n\t},\n\t/**\n\t * 英文字符\n\t */\n\tenglish(_rule: FormItemRule, value: string, callback: ValidationCallback): void {\n\t\tif (RegExps.English.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的英文字符\"));\n\t\t}\n\t},\n\t/**\n\t * 文本框必填\n\t */\n\tinputRequired(message: string, trigger = \"blur\"): FormItemRule {\n\t\treturn {\n\t\t\trequired: true,\n\t\t\tmessage,\n\t\t\ttrigger,\n\t\t};\n\t},\n\t/**\n\t * 选择器必选\n\t */\n\tselectRequired(message: string, trigger = \"change\"): FormItemRule {\n\t\treturn {\n\t\t\trequired: true,\n\t\t\tmessage,\n\t\t\ttrigger,\n\t\t};\n\t},\n};\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare const FaFormItemTip: TSXWithInstall<typeof FormItemTip>;
6
6
  export default FaFormItemTip;
7
7
  export { faFormItemTipProps };
8
8
  export type { FaFormItemTipSlots } from "./src/formItemTip";
9
- /** FaFormItemTip 暴露的组件实例类型。 */
9
+ /** FaFormItemTip 暴露的组件实例类型 */
10
10
  export type FaFormItemTipInstance = InstanceType<typeof FormItemTip>;
11
- /** FaFormItemTip 的完整 Props 类型。 */
11
+ /** FaFormItemTip 的完整 Props 类型 */
12
12
  export type FaFormItemTipProps = ExtractPropTypes<typeof faFormItemTipProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["FormItemTip"],"sources":["../../../src/components/formItemTip/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport FormItemTip, { faFormItemTipProps } from \"./src/formItemTip\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 为表单项标签提供补充说明的提示组件。 */\nexport const FaFormItemTip: TSXWithInstall<typeof FormItemTip> = withInstall(FormItemTip);\nexport default FaFormItemTip;\n\nexport { faFormItemTipProps };\nexport type { FaFormItemTipSlots } from \"./src/formItemTip\";\n\n/** FaFormItemTip 暴露的组件实例类型。 */\nexport type FaFormItemTipInstance = InstanceType<typeof FormItemTip>;\n\n/** FaFormItemTip 的完整 Props 类型。 */\nexport type FaFormItemTipProps = ExtractPropTypes<typeof faFormItemTipProps>;\n"],"mappings":";;;;AAMA,MAAa,gBAAoD,YAAYA,mBAAW"}
1
+ {"version":3,"file":"index.mjs","names":["FormItemTip"],"sources":["../../../src/components/formItemTip/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport FormItemTip, { faFormItemTipProps } from \"./src/formItemTip\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 为表单项标签提供补充说明的提示组件。 */\nexport const FaFormItemTip: TSXWithInstall<typeof FormItemTip> = withInstall(FormItemTip);\nexport default FaFormItemTip;\n\nexport { faFormItemTipProps };\nexport type { FaFormItemTipSlots } from \"./src/formItemTip\";\n\n/** FaFormItemTip 暴露的组件实例类型 */\nexport type FaFormItemTipInstance = InstanceType<typeof FormItemTip>;\n\n/** FaFormItemTip 的完整 Props 类型 */\nexport type FaFormItemTipProps = ExtractPropTypes<typeof faFormItemTipProps>;\n"],"mappings":";;;;AAMA,MAAa,gBAAoD,YAAYA,mBAAW"}
@@ -6,7 +6,7 @@ import type { faIconProps } from "./src/icon";
6
6
  export declare const FaIcon: TSXWithInstall<typeof Icon>;
7
7
  export default FaIcon;
8
8
  export { faIconProps } from "./src/icon";
9
- /** FaIcon 暴露的组件实例类型。 */
9
+ /** FaIcon 暴露的组件实例类型 */
10
10
  export type FaIconInstance = InstanceType<typeof Icon>;
11
- /** FaIcon 的完整 Props 类型。 */
11
+ /** FaIcon 的完整 Props 类型 */
12
12
  export type FaIconProps = ExtractPropTypes<typeof faIconProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Icon"],"sources":["../../../src/components/icon/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Icon from \"./src/icon\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\nimport type { faIconProps } from \"./src/icon\";\n\n/** 按名称或组件渲染图标的统一图标组件。 */\nexport const FaIcon: TSXWithInstall<typeof Icon> = withInstall(Icon);\nexport default FaIcon;\n\nexport { faIconProps } from \"./src/icon\";\n\n/** FaIcon 暴露的组件实例类型。 */\nexport type FaIconInstance = InstanceType<typeof Icon>;\n\n/** FaIcon 的完整 Props 类型。 */\nexport type FaIconProps = ExtractPropTypes<typeof faIconProps>;\n"],"mappings":";;;;AAOA,MAAa,SAAsC,YAAYA,YAAI"}
1
+ {"version":3,"file":"index.mjs","names":["Icon"],"sources":["../../../src/components/icon/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Icon from \"./src/icon\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\nimport type { faIconProps } from \"./src/icon\";\n\n/** 按名称或组件渲染图标的统一图标组件。 */\nexport const FaIcon: TSXWithInstall<typeof Icon> = withInstall(Icon);\nexport default FaIcon;\n\nexport { faIconProps } from \"./src/icon\";\n\n/** FaIcon 暴露的组件实例类型 */\nexport type FaIconInstance = InstanceType<typeof Icon>;\n\n/** FaIcon 的完整 Props 类型 */\nexport type FaIconProps = ExtractPropTypes<typeof faIconProps>;\n"],"mappings":";;;;AAOA,MAAa,SAAsC,YAAYA,YAAI"}
@@ -3,5 +3,5 @@ import type { TSXWithInstall } from "../../utils";
3
3
  /** 提供图标检索与选择能力的选择器组件。 */
4
4
  export declare const FaIconSelector: TSXWithInstall<typeof IconSelector>;
5
5
  export default FaIconSelector;
6
- /** FaIconSelector 暴露的组件实例类型。 */
6
+ /** FaIconSelector 暴露的组件实例类型 */
7
7
  export type FaIconSelectorInstance = InstanceType<typeof IconSelector>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["IconSelector"],"sources":["../../../src/components/iconSelector/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport IconSelector from \"./src/iconSelector\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 提供图标检索与选择能力的选择器组件。 */\nexport const FaIconSelector: TSXWithInstall<typeof IconSelector> = withInstall(IconSelector);\nexport default FaIconSelector;\n\n/** FaIconSelector 暴露的组件实例类型。 */\nexport type FaIconSelectorInstance = InstanceType<typeof IconSelector>;\n"],"mappings":";;;;AAKA,MAAa,iBAAsD,YAAYA,oBAAY"}
1
+ {"version":3,"file":"index.mjs","names":["IconSelector"],"sources":["../../../src/components/iconSelector/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport IconSelector from \"./src/iconSelector\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 提供图标检索与选择能力的选择器组件。 */\nexport const FaIconSelector: TSXWithInstall<typeof IconSelector> = withInstall(IconSelector);\nexport default FaIconSelector;\n\n/** FaIconSelector 暴露的组件实例类型 */\nexport type FaIconSelectorInstance = InstanceType<typeof IconSelector>;\n"],"mappings":";;;;AAKA,MAAa,iBAAsD,YAAYA,oBAAY"}
@@ -6,7 +6,7 @@ export declare const FaImage: TSXWithInstall<typeof Image>;
6
6
  export default FaImage;
7
7
  export { faImageEmits, faImageProps };
8
8
  export type { FaImageSlots } from "./src/image";
9
- /** FaImage 暴露的组件实例类型。 */
9
+ /** FaImage 暴露的组件实例类型 */
10
10
  export type FaImageInstance = InstanceType<typeof Image>;
11
- /** FaImage 的完整 Props 类型。 */
11
+ /** FaImage 的完整 Props 类型 */
12
12
  export type FaImageProps = ExtractPropTypes<typeof faImageProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Image"],"sources":["../../../src/components/image/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Image, { faImageEmits, faImageProps } from \"./src/image\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 支持占位、失败回退和地址处理的图片组件。 */\nexport const FaImage: TSXWithInstall<typeof Image> = withInstall(Image);\nexport default FaImage;\n\nexport { faImageEmits, faImageProps };\nexport type { FaImageSlots } from \"./src/image\";\n\n/** FaImage 暴露的组件实例类型。 */\nexport type FaImageInstance = InstanceType<typeof Image>;\n\n/** FaImage 的完整 Props 类型。 */\nexport type FaImageProps = ExtractPropTypes<typeof faImageProps>;\n"],"mappings":";;;;AAMA,MAAa,UAAwC,YAAYA,aAAK"}
1
+ {"version":3,"file":"index.mjs","names":["Image"],"sources":["../../../src/components/image/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport Image, { faImageEmits, faImageProps } from \"./src/image\";\nimport type { ExtractPropTypes } from \"vue\";\nimport type { TSXWithInstall } from \"../../utils\";\n\n/** 支持占位、失败回退和地址处理的图片组件。 */\nexport const FaImage: TSXWithInstall<typeof Image> = withInstall(Image);\nexport default FaImage;\n\nexport { faImageEmits, faImageProps };\nexport type { FaImageSlots } from \"./src/image\";\n\n/** FaImage 暴露的组件实例类型 */\nexport type FaImageInstance = InstanceType<typeof Image>;\n\n/** FaImage 的完整 Props 类型 */\nexport type FaImageProps = ExtractPropTypes<typeof faImageProps>;\n"],"mappings":";;;;AAMA,MAAa,UAAwC,YAAYA,aAAK"}
@@ -247,9 +247,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
247
247
  __epPropKey: true;
248
248
  };
249
249
  }>> & Readonly<{
250
- onClose?: (() => any) | undefined;
251
250
  onError?: ((evt: Event) => any) | undefined;
252
251
  onSwitch?: ((val: number) => any) | undefined;
252
+ onClose?: (() => any) | undefined;
253
253
  onLoad?: ((evt: Event) => any) | undefined;
254
254
  onShow?: (() => any) | undefined;
255
255
  }>, {