fast-element-plus 2.0.19 → 2.0.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 (128) hide show
  1. package/CHANGELOG.md +47 -20
  2. package/CONTRIBUTING.md +3 -4
  3. package/README.md +80 -27
  4. package/README.zh.md +66 -27
  5. package/dist/component.d.ts +110 -110
  6. package/dist/components/avatar/src/avatar.d.ts +26 -26
  7. package/dist/components/avatar/src/avatar.mjs +10 -10
  8. package/dist/components/avatar/src/avatar.mjs.map +1 -1
  9. package/dist/components/button/src/button.d.ts +32 -27
  10. package/dist/components/button/src/button.mjs +57 -36
  11. package/dist/components/button/src/button.mjs.map +1 -1
  12. package/dist/components/carNumber/src/carNumber.d.ts +8 -8
  13. package/dist/components/carNumber/src/carNumber.mjs +5 -5
  14. package/dist/components/carNumber/src/carNumber.mjs.map +1 -1
  15. package/dist/components/contextMenu/src/contextMenu.d.ts +6 -6
  16. package/dist/components/contextMenu/src/contextMenu.mjs +5 -5
  17. package/dist/components/contextMenu/src/contextMenu.mjs.map +1 -1
  18. package/dist/components/contextMenu/src/contextMenu.type.d.ts +7 -7
  19. package/dist/components/dialog/src/dialog.d.ts +74 -74
  20. package/dist/components/dialog/src/dialog.mjs +31 -31
  21. package/dist/components/dialog/src/dialog.mjs.map +1 -1
  22. package/dist/components/drawer/src/drawer.d.ts +57 -57
  23. package/dist/components/drawer/src/drawer.mjs +24 -24
  24. package/dist/components/drawer/src/drawer.mjs.map +1 -1
  25. package/dist/components/form/src/form.d.ts +30 -30
  26. package/dist/components/form/src/form.mjs +16 -16
  27. package/dist/components/form/src/form.mjs.map +1 -1
  28. package/dist/components/form/src/formItem.d.ts +30 -30
  29. package/dist/components/form/src/formItem.mjs +13 -13
  30. package/dist/components/form/src/formItem.mjs.map +1 -1
  31. package/dist/components/formItemTip/src/formItemTip.d.ts +9 -9
  32. package/dist/components/formItemTip/src/formItemTip.mjs +3 -3
  33. package/dist/components/formItemTip/src/formItemTip.mjs.map +1 -1
  34. package/dist/components/icon/src/icon.d.ts +10 -10
  35. package/dist/components/icon/src/icon.mjs +4 -4
  36. package/dist/components/icon/src/icon.mjs.map +1 -1
  37. package/dist/components/iconSelector/src/iconSelector.d.ts +6 -6
  38. package/dist/components/iconSelector/src/iconSelector.mjs +4 -4
  39. package/dist/components/iconSelector/src/iconSelector.mjs.map +1 -1
  40. package/dist/components/image/src/image.d.ts +36 -36
  41. package/dist/components/image/src/image.mjs +11 -11
  42. package/dist/components/image/src/image.mjs.map +1 -1
  43. package/dist/components/inputDialogPage/src/inputDialogPage.d.ts +37 -37
  44. package/dist/components/inputDialogPage/src/inputDialogPage.mjs +16 -16
  45. package/dist/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -1
  46. package/dist/components/layoutGrid/src/layoutGrid.d.ts +12 -12
  47. package/dist/components/layoutGrid/src/layoutGrid.mjs +6 -6
  48. package/dist/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
  49. package/dist/components/layoutGrid/src/layoutGridItem.d.ts +18 -18
  50. package/dist/components/layoutGrid/src/layoutGridItem.mjs +8 -8
  51. package/dist/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
  52. package/dist/components/select/src/select.d.ts +88 -88
  53. package/dist/components/select/src/select.mjs +28 -28
  54. package/dist/components/select/src/select.mjs.map +1 -1
  55. package/dist/components/select/src/selectOption.d.ts +13 -13
  56. package/dist/components/select/src/selectOption.mjs +6 -6
  57. package/dist/components/select/src/selectOption.mjs.map +1 -1
  58. package/dist/components/selectPage/src/selectPage.d.ts +78 -84
  59. package/dist/components/selectPage/src/selectPage.mjs +49 -35
  60. package/dist/components/selectPage/src/selectPage.mjs.map +1 -1
  61. package/dist/components/selectV2/index.mjs +2 -1
  62. package/dist/components/selectV2/index.mjs.map +1 -1
  63. package/dist/components/selectV2/src/selectV2.d.ts +160 -851
  64. package/dist/components/selectV2/src/selectV2.mjs +30 -338
  65. package/dist/components/selectV2/src/selectV2.mjs.map +1 -1
  66. package/dist/components/table/index.mjs +3 -2
  67. package/dist/components/table/index.mjs.map +1 -1
  68. package/dist/components/table/src/page.type.d.ts +1 -1
  69. package/dist/components/table/src/table.d.ts +211 -744
  70. package/dist/components/table/src/table.mjs +131 -327
  71. package/dist/components/table/src/table.mjs.map +1 -1
  72. package/dist/components/table/src/table.state.d.ts +3 -3
  73. package/dist/components/table/src/table.type.d.ts +1 -9
  74. package/dist/components/table/src/table.type.mjs.map +1 -1
  75. package/dist/components/table/src/tableColumn.d.ts +102 -399
  76. package/dist/components/table/src/tableColumn.mjs +62 -213
  77. package/dist/components/table/src/tableColumn.mjs.map +1 -1
  78. package/dist/components/table/src/tableColumnSettingDialog.d.ts +4 -4
  79. package/dist/components/table/src/tableColumnSettingDialog.mjs +3 -3
  80. package/dist/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
  81. package/dist/components/table/src/tablePagination.d.ts +4 -4
  82. package/dist/components/table/src/tablePagination.mjs +3 -3
  83. package/dist/components/table/src/tablePagination.mjs.map +1 -1
  84. package/dist/components/table/src/tableSearchForm.d.ts +12 -12
  85. package/dist/components/table/src/tableSearchForm.mjs +6 -6
  86. package/dist/components/table/src/tableSearchForm.mjs.map +1 -1
  87. package/dist/components/table/src/tableSearchFormItem.d.ts +4 -4
  88. package/dist/components/table/src/tableSearchFormItem.mjs +2 -2
  89. package/dist/components/table/src/tableSearchFormItem.mjs.map +1 -1
  90. package/dist/components/table/src/useTable.d.ts +1 -0
  91. package/dist/components/table/src/useTable.mjs +109 -65
  92. package/dist/components/table/src/useTable.mjs.map +1 -1
  93. package/dist/components/table/utils/table.d.ts +4 -4
  94. package/dist/components/table/utils/table.mjs +6 -6
  95. package/dist/components/table/utils/table.mjs.map +1 -1
  96. package/dist/components/tree/src/tree.d.ts +86 -86
  97. package/dist/components/tree/src/tree.mjs +46 -46
  98. package/dist/components/tree/src/tree.mjs.map +1 -1
  99. package/dist/components/treeSelect/src/treeSelect.d.ts +144 -150
  100. package/dist/components/treeSelect/src/treeSelect.mjs +55 -55
  101. package/dist/components/treeSelect/src/treeSelect.mjs.map +1 -1
  102. package/dist/components/upload/src/upload.d.ts +36 -36
  103. package/dist/components/upload/src/upload.mjs +17 -17
  104. package/dist/components/upload/src/upload.mjs.map +1 -1
  105. package/dist/components/uploadImage/src/uploadImage.d.ts +47 -47
  106. package/dist/components/uploadImage/src/uploadImage.mjs +23 -23
  107. package/dist/components/uploadImage/src/uploadImage.mjs.map +1 -1
  108. package/dist/components/uploadImages/src/uploadImages.d.ts +41 -41
  109. package/dist/components/uploadImages/src/uploadImages.mjs +21 -21
  110. package/dist/components/uploadImages/src/uploadImages.mjs.map +1 -1
  111. package/dist/directives/click-debounce/index.mjs +19 -11
  112. package/dist/directives/click-debounce/index.mjs.map +1 -1
  113. package/dist/directives/click-throttle/index.d.ts +4 -2
  114. package/dist/directives/click-throttle/index.mjs +21 -11
  115. package/dist/directives/click-throttle/index.mjs.map +1 -1
  116. package/dist/index.global.min.js +4 -4
  117. package/dist/index.global.min.js.map +1 -1
  118. package/dist/index.mjs +3 -3
  119. package/dist/internal/props.d.ts +685 -0
  120. package/dist/internal/props.mjs +683 -0
  121. package/dist/internal/props.mjs.map +1 -0
  122. package/dist/utils/loading-tasks.d.ts +5 -0
  123. package/dist/utils/loading-tasks.mjs +32 -0
  124. package/dist/utils/loading-tasks.mjs.map +1 -0
  125. package/dist/version.d.ts +1 -1
  126. package/dist/version.mjs +1 -1
  127. package/dist/version.mjs.map +1 -1
  128. package/package.json +5 -10
package/CHANGELOG.md CHANGED
@@ -1,6 +1,31 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to Fast.Element.Plus are documented in this file.
3
+ All notable changes to this project are documented in this file.
4
+
5
+ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and releases should follow [Semantic Versioning](https://semver.org/).
6
+
7
+ ## [2.0.21] - 2026-09-27
8
+
9
+ ### Fixed
10
+
11
+ - Resolve nested `prop` paths consistently for default, date/time, numeric, link, tag, enum and image table columns, including local sorting.
12
+
13
+ ## [2.0.20] - 2026-09-22
14
+
15
+ ### Fixed
16
+
17
+ - Keep independent Loading ownership for concurrent button/table tasks and external/manual states; stale completions cannot release another task.
18
+ - Cancel delayed table work on unmount, invalidate stale request results immediately on rerender and disconnect ResizeObserver through actual watchEffect cleanup.
19
+ - Prefer current remote option labels while retaining out-of-page selections, and clear stale selector caches after reset/context changes.
20
+ - Release debounce/throttle timers on directive unmount; preserve the throttle unlock timer across extra events and callback errors.
21
+ - Track FaButton overlay ownership so initial false state, duplicate completion and unmount do not close another component's overlay.
22
+
23
+ ### Documentation and Tooling
24
+
25
+ - Admit Icons 2.x and the corrected 3.x through the peer range; the installer continues registering `fa-icon-*` by public export keys. Locked development dependencies remain unchanged.
26
+ - Correct localized Fast.Docs links and retain minimal README examples.
27
+ - Align public-contract comments and agent guidance.
28
+ - Keep ESLint and Prettier skill-file ignores separate and add regression checks.
4
29
 
5
30
  ## [2.0.19] - 2026-09-16
6
31
 
@@ -209,23 +234,25 @@ All notable changes to Fast.Element.Plus are documented in this file.
209
234
  - Scoped Table styles and added responsive IconSelector styling.
210
235
  - Improved dialogs, drawers, tables, forms, trees, selectors, car-number input, images, and uploads for dark mode, touch input, and narrow viewports.
211
236
 
212
- [2.0.19]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.19
213
- [2.0.18]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.18
214
- [2.0.17]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.17
215
- [2.0.16]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.16
216
- [2.0.15]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.15
217
- [2.0.14]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.14
218
- [2.0.13]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.13
219
- [2.0.12]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.12
220
- [2.0.11]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.11
221
- [2.0.10]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.10
222
- [2.0.9]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.9
223
- [2.0.8]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.8
224
- [2.0.7]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.7
225
- [2.0.6]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.6
226
- [2.0.5]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.5
227
- [2.0.4]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.4
228
- [2.0.3]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.3
229
- [2.0.2]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.2
230
- [2.0.1]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.1
237
+ [2.0.21]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.20...v2.0.21
238
+ [2.0.20]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.19...v2.0.20
239
+ [2.0.19]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.18...v2.0.19
240
+ [2.0.18]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.17...v2.0.18
241
+ [2.0.17]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.16...v2.0.17
242
+ [2.0.16]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.15...v2.0.16
243
+ [2.0.15]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.14...v2.0.15
244
+ [2.0.14]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.13...v2.0.14
245
+ [2.0.13]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.12...v2.0.13
246
+ [2.0.12]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.11...v2.0.12
247
+ [2.0.11]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.10...v2.0.11
248
+ [2.0.10]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.9...v2.0.10
249
+ [2.0.9]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.8...v2.0.9
250
+ [2.0.8]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.7...v2.0.8
251
+ [2.0.7]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.6...v2.0.7
252
+ [2.0.6]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.5...v2.0.6
253
+ [2.0.5]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.4...v2.0.5
254
+ [2.0.4]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.3...v2.0.4
255
+ [2.0.3]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.2...v2.0.3
256
+ [2.0.2]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.1...v2.0.2
257
+ [2.0.1]: https://gitee.com/FastDotnet/fast.element.plus/compare/v2.0.0...v2.0.1
231
258
  [2.0.0]: https://gitee.com/FastDotnet/fast.element.plus/releases/tag/v2.0.0
package/CONTRIBUTING.md CHANGED
@@ -15,7 +15,7 @@ pnpm check
15
15
  ```
16
16
 
17
17
  Use `pnpm dev` when a long-running tsdown watch build is useful during implementation.
18
- Use `pnpm docs:dev` to review component examples and documentation changes in the VitePress site.
18
+ Review component usage and examples in the [documentation](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/).
19
19
 
20
20
  ## Design rules
21
21
 
@@ -52,7 +52,6 @@ Run the narrowest relevant command during development, then run the full set bef
52
52
  pnpm typecheck
53
53
  pnpm lint
54
54
  pnpm test
55
- pnpm docs:build
56
55
  pnpm format:check
57
56
  pnpm --config.ignore-scripts=true pack --dry-run
58
57
  ```
@@ -61,9 +60,9 @@ pnpm --config.ignore-scripts=true pack --dry-run
61
60
 
62
61
  Use one release flow: change code → update the package version → review and synchronize affected documentation → update the reviewed documentation version → run tests and the documentation build.
63
62
 
64
- The single reviewed documentation version is `docReviewVersion` in the frontmatter of `docs/index.md`. It means the documentation has been checked against that package version; it is not the version in which a component or property was introduced. Before updating it, compare the release changes with source and verify the affected Props, Events, Slots, Exposes, `v-model` contracts, defaults, types, behavior, and examples. Update the field after the review even when no documentation text needs to change. If the change scope is uncertain, widen the review instead of assuming that no documentation update is required.
63
+ Documentation maintainers record the reviewed package version as `docReviewVersion`. It means the documentation has been checked against that package version; it is not the version in which a component or property was introduced. Before updating it, compare the release changes with source and verify the affected Props, Events, Slots, Exposes, `v-model` contracts, defaults, types, behavior, and examples. Update the field after the review even when no documentation text needs to change. If the change scope is uncertain, widen the review instead of assuming that no documentation update is required.
65
64
 
66
- `pnpm test:docs` checks the package/documentation version match, public component API-page coverage, required API references, and Markdown example paths. These stable checks do not prove that every semantic description or example is correct, so never update only `docReviewVersion` to make the test pass.
65
+ The documentation validation workflow checks the package/documentation version match, public component API-page coverage, required API references, and Markdown example paths. These stable checks do not prove that every semantic description or example is correct, so never update only `docReviewVersion` to make the test pass.
67
66
 
68
67
  ## Dependencies
69
68
 
package/README.md CHANGED
@@ -1,31 +1,34 @@
1
- [中文](./README.zh.md) | **English**
2
-
3
- <h1 align="center">Fast.Element.Plus</h1>
1
+ [简体中文](./README.zh.md) | **English**
4
2
 
5
3
  <p align="center">
6
- Typed Vue 3 components, directives, and hooks for business applications built on Element Plus.
4
+ <img src="./Fast.png" width="128" alt="Fast.Element.Plus Logo" />
7
5
  </p>
8
6
 
7
+ <h1 align="center">Fast.Element.Plus</h1>
8
+
9
9
  <p align="center">
10
- <a href="https://www.npmjs.com/package/fast-element-plus"><img src="https://img.shields.io/npm/v/fast-element-plus?color=orange" alt="npm version" /></a>
11
- <a href="https://gitee.com/FastDotnet/fast.element.plus/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/fast-element-plus" alt="license" /></a>
10
+ <a href="https://www.npmjs.com/package/fast-element-plus"><img src="https://img.shields.io/npm/v/fast-element-plus?logo=npm" alt="npm version" /></a>
11
+ <a href="https://www.npmjs.com/package/fast-element-plus"><img src="https://img.shields.io/npm/dm/fast-element-plus" alt="npm downloads" /></a>
12
+ <a href="./LICENSE"><img src="https://img.shields.io/npm/l/fast-element-plus" alt="License" /></a>
12
13
  </p>
13
14
 
14
- Fast.Element.Plus is an officially open-source Fast business SDK for the Fast team and developers who adopt its coding and interaction conventions. It provides opinionated form, selection, table, tree, upload, layout, dialog, drawer, image, icon, and utility components, plus installable directives, browser UI hooks, shared constants, global component types, and one complete `app.use()` plugin.
15
+ A Vue 3 and Element Plus business-component SDK with components, directives, hooks and types.
16
+
17
+ **[Documentation](http://docs.fastdotnet.cn/en-US/frontend/element-plus/) · [Official website](http://fastdotnet.com)**
15
18
 
16
- The SDK builds business behavior on Element Plus and is not a drop-in replacement. Some defaults, event semantics, remote-data flows, and interactions intentionally follow Fast team conventions.
19
+ This SDK is not a drop-in replacement for Element Plus; business defaults, event semantics and data flows follow Fast conventions.
17
20
 
18
21
  ## Requirements
19
22
 
20
23
  - ES2022 modern browsers or WebViews.
21
- - Vue `^3.5.41`.
24
+ - Vue `^3.5.11`.
22
25
  - Element Plus `^2.14.5`.
23
26
  - Element Plus Icons `^2.3.2`.
24
27
  - Fast.Element.Plus.Icons `^2.0.0`.
25
28
 
26
29
  Vue, Element Plus, Element Plus Icons, and Fast.Element.Plus.Icons are required peer dependencies. Both icon packages remain external to the build. Package managers install declared runtime dependencies automatically, and the ESM build keeps those imports external instead of copying them into `dist/node_modules`; the CDN IIFE bundles them for direct browser use. Component-only utilities are included in the Fast.Element.Plus build.
27
30
 
28
- The current manually audited Element Plus baseline is `2.14.x`. When the Element Plus minor version changes, for example from `2.14.x` to `2.15.x` or later, native Props, Emits, Slots, exposed methods, defaults, and internal style structures must be audited again. See [Element Plus compatibility and upgrade audit](./docs/ELEMENT_PLUS_COMPATIBILITY.md).
31
+ The current manually audited Element Plus baseline is `2.14.x`. When the Element Plus minor version changes, for example from `2.14.x` to `2.15.x` or later, native Props, Emits, Slots, exposed methods, defaults, and internal style structures must be audited again. See [Element Plus compatibility and upgrade audit](http://docs.fastdotnet.cn/en-US/frontend/element-plus/ELEMENT_PLUS_COMPATIBILITY).
29
32
 
30
33
  ## Install
31
34
 
@@ -33,7 +36,43 @@ The current manually audited Element Plus baseline is `2.14.x`. When the Element
33
36
  pnpm add fast-element-plus vue element-plus @element-plus/icons-vue @fast-element-plus/icons-vue
34
37
  ```
35
38
 
36
- ## Use
39
+ ## CDN
40
+
41
+ The jsDelivr entry uses `dist/index.global.min.js`. Load Vue, Element Plus, Element Plus Icons, and Fast.Element.Plus.Icons first, then access the library as `globalThis.FastElementPlus`. Load `dist/index.css` separately.
42
+
43
+ | Resource | jsDelivr | unpkg |
44
+ | -------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
45
+ | `fast-element-plus/dist/index.global.min.js` | [jsDelivr](https://cdn.jsdelivr.net/npm/fast-element-plus/dist/index.global.min.js) | [unpkg](https://unpkg.com/fast-element-plus/dist/index.global.min.js) |
46
+ | `fast-element-plus/dist/index.css` | [jsDelivr](https://cdn.jsdelivr.net/npm/fast-element-plus/dist/index.css) | [unpkg](https://unpkg.com/fast-element-plus/dist/index.css) |
47
+
48
+ ```html
49
+ <!doctype html>
50
+ <html lang="en">
51
+ <head>
52
+ <meta charset="UTF-8" />
53
+ <title>Fast Element Plus</title>
54
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-plus@2.14.5/dist/index.css" />
55
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fast-element-plus/dist/index.css" />
56
+ </head>
57
+ <body>
58
+ <div id="app"></div>
59
+ <script src="https://cdn.jsdelivr.net/npm/vue@3.5.11/dist/vue.global.prod.js"></script>
60
+ <script src="https://cdn.jsdelivr.net/npm/element-plus@2.14.5/dist/index.full.min.js"></script>
61
+ <script src="https://cdn.jsdelivr.net/npm/@element-plus/icons-vue@2.3.2/dist/index.iife.min.js"></script>
62
+ <script src="https://cdn.jsdelivr.net/npm/@fast-element-plus/icons-vue/dist/index.global.min.js"></script>
63
+ <script src="https://cdn.jsdelivr.net/npm/fast-element-plus/dist/index.global.min.js"></script>
64
+ <script>
65
+ Vue.createApp({
66
+ render: () => Vue.h(globalThis.FastElementPlus.FaButton, { type: "primary" }, () => "Button"),
67
+ })
68
+ .use(globalThis.FastElementPlus)
69
+ .mount("#app");
70
+ </script>
71
+ </body>
72
+ </html>
73
+ ```
74
+
75
+ ## Quick start
37
76
 
38
77
  Register the complete component library:
39
78
 
@@ -83,6 +122,24 @@ For global component and directive types, add the package type entry to the appl
83
122
  }
84
123
  ```
85
124
 
125
+ ## Component example
126
+
127
+ After the full installation above, use the button in a page:
128
+
129
+ ```vue
130
+ <script setup lang="ts">
131
+ import { ref } from "vue";
132
+
133
+ const count = ref(0);
134
+ </script>
135
+
136
+ <template>
137
+ <FaButton :disabled-loading="true" @click="count++">{{ count }}</FaButton>
138
+ </template>
139
+ ```
140
+
141
+ When using internal loading for asynchronous work, finish through the click `done` callback or the exposed `doLoading()` contract.
142
+
86
143
  ## Public modules
87
144
 
88
145
  | Module | Public APIs |
@@ -97,29 +154,25 @@ The package root is the only JavaScript API entry. `fast-element-plus/global` pr
97
154
 
98
155
  Open-ended business rows, paging extensions, selector/tree payloads, request parameters, and dynamic configuration use `any` where the SDK cannot know the application schema; exported generics can constrain known models. Untrusted runtime inputs, errors, and values that require validation remain `unknown`. `DefaultRow` is the public default FaTable row type for business tables whose fields are not declared in advance.
99
156
 
100
- ## CDN
101
-
102
- The `unpkg` and `jsdelivr` fields select `dist/index.global.min.js`. Load Vue, Element Plus, Element Plus Icons, and Fast.Element.Plus.Icons first, then access the library as `globalThis.FastElementPlus`. Load `dist/index.css` separately.
103
-
104
157
  ## Documentation
105
158
 
106
- - [Component documentation and interactive examples (Chinese)](./docs/components/overview.md)
107
- - [Installation guide (Chinese)](./docs/guide/installation.md)
108
- - [Documentation build and deployment (Chinese)](./docs/guide/deployment.md)
109
- - [API reference](./docs/API.md)
110
- - [Runtime contract](./docs/RUNTIME_CONTRACT.md)
111
- - [Element Plus compatibility and upgrade audit](./docs/ELEMENT_PLUS_COMPATIBILITY.md)
159
+ - [Component documentation and interactive examples (Chinese)](http://docs.fastdotnet.cn/en-US/frontend/element-plus/components/overview)
160
+ - [Installation guide (Chinese)](http://docs.fastdotnet.cn/en-US/frontend/element-plus/guide/installation)
161
+ - [Documentation build and deployment (Chinese)](http://docs.fastdotnet.cn/en-US/frontend/element-plus/guide/deployment)
162
+ - [API reference](http://docs.fastdotnet.cn/en-US/frontend/element-plus/api/)
163
+ - [Runtime contract](http://docs.fastdotnet.cn/en-US/frontend/element-plus/RUNTIME_CONTRACT)
164
+ - [Element Plus compatibility and upgrade audit](http://docs.fastdotnet.cn/en-US/frontend/element-plus/ELEMENT_PLUS_COMPATIBILITY)
112
165
  - [Development and release guide (Chinese)](./docs/DEVELOPMENT_RELEASE.zh-CN.md)
113
166
  - [Contributing](./CONTRIBUTING.md)
114
167
  - [Security policy](./SECURITY.md)
115
168
  - [Changelog](./CHANGELOG.md)
116
169
 
117
- Run the complete documentation site locally:
170
+ ## Copyright, license and use
118
171
 
119
- ```bash
120
- pnpm docs:dev
121
- ```
172
+ Copyright © 2018-Now 小方. This project uses [Apache License 2.0](./LICENSE). Use, modification, distribution and commercial use are permitted subject to its terms.
173
+
174
+ When redistributing, provide the license, mark modified files and preserve applicable copyright, attribution and supplied NOTICE information as required. This summary does not replace the license or impose additional UI attribution.
122
175
 
123
- ## License
176
+ Users are responsible for the legal compliance and authorization of their own modifications, deployment, data processing and operations. This reminder is not an additional license condition.
124
177
 
125
- [Apache-2.0](./LICENSE)
178
+ Except as required by applicable law or agreed in writing, the software is provided on an "AS IS" basis. Sections 7 and 8 govern warranty disclaimers and liability limits. Providing the project does not endorse downstream activities or assume users' contractual commitments. This statement does not exclude liability that cannot lawfully be excluded.
package/README.zh.md CHANGED
@@ -1,31 +1,34 @@
1
- **中文** | [English](./README.md)
2
-
3
- <h1 align="center">Fast.Element.Plus</h1>
1
+ **简体中文** | [English](./README.md)
4
2
 
5
3
  <p align="center">
6
- 基于 Element Plus 构建的 Vue 3 类型化业务组件、指令与 Hook。
4
+ <img src="./Fast.png" width="128" alt="Fast.Element.Plus Logo" />
7
5
  </p>
8
6
 
7
+ <h1 align="center">Fast.Element.Plus</h1>
8
+
9
9
  <p align="center">
10
- <a href="https://www.npmjs.com/package/fast-element-plus"><img src="https://img.shields.io/npm/v/fast-element-plus?color=orange" alt="npm 版本" /></a>
11
- <a href="https://gitee.com/FastDotnet/fast.element.plus/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/fast-element-plus" alt="开源协议" /></a>
10
+ <a href="https://www.npmjs.com/package/fast-element-plus"><img src="https://img.shields.io/npm/v/fast-element-plus?logo=npm" alt="npm version" /></a>
11
+ <a href="https://www.npmjs.com/package/fast-element-plus"><img src="https://img.shields.io/npm/dm/fast-element-plus" alt="npm downloads" /></a>
12
+ <a href="./LICENSE"><img src="https://img.shields.io/npm/l/fast-element-plus" alt="License" /></a>
12
13
  </p>
13
14
 
14
- Fast.Element.Plus 是正式开源的 Fast 系列业务 SDK,面向 Fast 团队以及认同 Fast 团队编码与交互约定的开发者。它提供表单、选择器、表格、树、上传、布局、对话框、抽屉、图片、图标等约定式组件,以及可安装指令、浏览器 UI Hook、共享常量、全局组件类型和完整的 `app.use()` 插件。
15
+ 基于 Vue 3 和 Element Plus 的业务组件 SDK,提供组件、指令、Hooks 与类型。
16
+
17
+ **[使用文档](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/) · [官方网站](http://fastdotnet.com)**
15
18
 
16
- 本 SDK 基于 Element Plus 进行业务增强,不承诺无差异替代 Element Plus 原生组件。部分默认 Props、事件语义、远程数据流程和交互行为会遵循 Fast 团队约定。
19
+ 本库不是 Element Plus 的直接替代品;业务默认值、事件语义和数据交互遵循 Fast 约定。
17
20
 
18
21
  ## 环境要求
19
22
 
20
23
  - 支持 ES2022 的现代浏览器或 WebView。
21
- - Vue `^3.5.41`。
24
+ - Vue `^3.5.11`。
22
25
  - Element Plus `^2.14.5`。
23
26
  - Element Plus Icons `^2.3.2`。
24
27
  - Fast.Element.Plus.Icons `^2.0.0`。
25
28
 
26
29
  Vue、Element Plus、Element Plus Icons 和 Fast.Element.Plus.Icons 均为强制 Peer Dependency。两套图标包保持在构建产物之外。包管理器会自动安装正式 Runtime Dependency,ESM 构建保留这些外部导入,不再将其复制到 `dist/node_modules`;CDN IIFE 仍会内联依赖以支持浏览器直接使用。组件内部工具包含在 Fast.Element.Plus 构建产物中。
27
30
 
28
- 当前 Element Plus 人工审计基线为 `2.14.x`。当 Element Plus 次版本号发生变化,例如由 `2.14.x` 升级到 `2.15.x` 或更高时,必须重新核对封装涉及的原生 Props、Emits、Slots、Expose、默认值和内部样式结构,详见 [Element Plus 兼容性与升级核对](./docs/ELEMENT_PLUS_COMPATIBILITY.zh-CN.md)。
31
+ 当前 Element Plus 人工审计基线为 `2.14.x`。当 Element Plus 次版本号发生变化,例如由 `2.14.x` 升级到 `2.15.x` 或更高时,必须重新核对封装涉及的原生 Props、Emits、Slots、Expose、默认值和内部样式结构,详见 [Element Plus 兼容性与升级核对](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/ELEMENT_PLUS_COMPATIBILITY)。
29
32
 
30
33
  ## 安装
31
34
 
@@ -33,7 +36,43 @@ Vue、Element Plus、Element Plus Icons 和 Fast.Element.Plus.Icons 均为强制
33
36
  pnpm add fast-element-plus vue element-plus @element-plus/icons-vue @fast-element-plus/icons-vue
34
37
  ```
35
38
 
36
- ## 使用
39
+ ## CDN
40
+
41
+ jsDelivr 入口为 `dist/index.global.min.js`。页面先加载 Vue、Element Plus、Element Plus Icons 和 Fast.Element.Plus.Icons,再通过 `globalThis.FastElementPlus` 访问组件库。样式需单独加载 `dist/index.css`。
42
+
43
+ | 资源 | jsDelivr | unpkg |
44
+ | -------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
45
+ | `fast-element-plus/dist/index.global.min.js` | [jsDelivr](https://cdn.jsdelivr.net/npm/fast-element-plus/dist/index.global.min.js) | [unpkg](https://unpkg.com/fast-element-plus/dist/index.global.min.js) |
46
+ | `fast-element-plus/dist/index.css` | [jsDelivr](https://cdn.jsdelivr.net/npm/fast-element-plus/dist/index.css) | [unpkg](https://unpkg.com/fast-element-plus/dist/index.css) |
47
+
48
+ ```html
49
+ <!doctype html>
50
+ <html lang="zh-CN">
51
+ <head>
52
+ <meta charset="UTF-8" />
53
+ <title>Fast Element Plus</title>
54
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-plus@2.14.5/dist/index.css" />
55
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fast-element-plus/dist/index.css" />
56
+ </head>
57
+ <body>
58
+ <div id="app"></div>
59
+ <script src="https://cdn.jsdelivr.net/npm/vue@3.5.11/dist/vue.global.prod.js"></script>
60
+ <script src="https://cdn.jsdelivr.net/npm/element-plus@2.14.5/dist/index.full.min.js"></script>
61
+ <script src="https://cdn.jsdelivr.net/npm/@element-plus/icons-vue@2.3.2/dist/index.iife.min.js"></script>
62
+ <script src="https://cdn.jsdelivr.net/npm/@fast-element-plus/icons-vue/dist/index.global.min.js"></script>
63
+ <script src="https://cdn.jsdelivr.net/npm/fast-element-plus/dist/index.global.min.js"></script>
64
+ <script>
65
+ Vue.createApp({
66
+ render: () => Vue.h(globalThis.FastElementPlus.FaButton, { type: "primary" }, () => "按钮"),
67
+ })
68
+ .use(globalThis.FastElementPlus)
69
+ .mount("#app");
70
+ </script>
71
+ </body>
72
+ </html>
73
+ ```
74
+
75
+ ## 快速开始
37
76
 
38
77
  注册完整组件库:
39
78
 
@@ -97,29 +136,29 @@ useOverlay.show();
97
136
 
98
137
  业务行、分页扩展字段、选择器与树节点附加数据、请求参数和动态配置在 SDK 无法预知应用模型时使用 `any`,已知模型可通过公开泛型约束;未经验证的运行时输入、错误对象和必须先收窄的值继续使用 `unknown`。`DefaultRow` 是 FaTable 默认公开行类型,可直接用于未预先定义字段的业务表格。
99
138
 
100
- ## CDN
101
-
102
- `unpkg` 和 `jsdelivr` 字段都指向 `dist/index.global.min.js`。页面先加载 Vue、Element Plus、Element Plus Icons 和 Fast.Element.Plus.Icons,再通过 `globalThis.FastElementPlus` 访问组件库。样式需单独加载 `dist/index.css`。
103
-
104
139
  ## 文档
105
140
 
106
- - [组件文档与交互案例](./docs/components/overview.md)
107
- - [安装与使用](./docs/guide/installation.md)
108
- - [文档站构建与部署](./docs/guide/deployment.md)
109
- - [API 参考](./docs/API.zh-CN.md)
110
- - [运行时契约](./docs/RUNTIME_CONTRACT.md)
111
- - [Element Plus 兼容性与升级核对](./docs/ELEMENT_PLUS_COMPATIBILITY.zh-CN.md)
141
+ - [组件文档与交互案例](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/components/overview)
142
+ - [安装与使用](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/guide/installation)
143
+ - [文档站构建与部署](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/guide/deployment)
144
+ - [API 参考](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/api/)
145
+ - [运行时契约](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/RUNTIME_CONTRACT)
146
+ - [Element Plus 兼容性与升级核对](http://docs.fastdotnet.cn/zh-CN/frontend/element-plus/ELEMENT_PLUS_COMPATIBILITY)
112
147
  - [开发与发布指南](./docs/DEVELOPMENT_RELEASE.zh-CN.md)
113
148
  - [贡献指南](./CONTRIBUTING.md)
114
149
  - [安全策略](./SECURITY.md)
115
150
  - [更新日志](./CHANGELOG.md)
116
151
 
117
- 本地运行完整文档站:
118
-
119
- ```bash
120
- pnpm docs:dev
121
- ```
122
-
123
152
  ## 开源协议
124
153
 
125
154
  [Apache-2.0](./LICENSE)
155
+
156
+ ## 版权、许可证与使用声明
157
+
158
+ 版权所有 © 2018-Now 小方。本项目依据 [Apache License 2.0](./LICENSE) 开源;在遵守许可证的前提下,可以使用、修改和分发本软件,包括商业使用。
159
+
160
+ 再分发时,应按许可证要求提供许可证副本、对修改的文件作出显著说明,并保留适用的版权和归属声明;包含需要保留的 NOTICE 信息时一并处理。本说明不替代正式许可证,也不额外要求在产品界面展示作者或项目标识。
161
+
162
+ 使用者应就自身使用、二次开发、部署、数据处理及运营活动遵守适用法律和第三方合法权益,自行取得依法需要的授权。上述内容为合规提醒,不构成附加许可条件。
163
+
164
+ 除适用法律另有规定或另有书面约定外,本软件按“原样”提供;保证排除与责任限制以许可证第 7、8 条为准。提供本项目不代表原作者为使用者的二次开发和运营活动背书,也不当然承担其对第三方作出的合同承诺。本说明不排除依法不得排除的责任。