@silver-formily/element-plus 2.0.0 → 2.0.1

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 (162) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +35 -35
  3. package/esm/__builtins__/configs/index.mjs.map +1 -1
  4. package/esm/__builtins__/shared/hooks.mjs.map +1 -1
  5. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  6. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  7. package/esm/__builtins__/shared/transform-component.d.ts +1 -2
  8. package/esm/__builtins__/shared/transform-component.mjs +1 -1
  9. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  10. package/esm/__builtins__/shared/utils.mjs +1 -1
  11. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  12. package/esm/array-base/index.mjs +39 -42
  13. package/esm/array-base/index.mjs.map +1 -1
  14. package/esm/array-base/symbols.mjs.map +1 -1
  15. package/esm/array-base/utils.mjs +29 -33
  16. package/esm/array-base/utils.mjs.map +1 -1
  17. package/esm/array-cards/array-cards.d.ts +1 -1
  18. package/esm/array-cards/index.d.ts +3 -3
  19. package/esm/array-cards/index.mjs +23 -25
  20. package/esm/array-cards/index.mjs.map +1 -1
  21. package/esm/array-collapse/array-collapse.d.ts +2 -2
  22. package/esm/array-collapse/index.d.ts +3 -3
  23. package/esm/array-collapse/index.mjs +87 -88
  24. package/esm/array-collapse/index.mjs.map +1 -1
  25. package/esm/array-collapse/utils.mjs +2 -8
  26. package/esm/array-collapse/utils.mjs.map +1 -1
  27. package/esm/array-items/index.mjs +29 -32
  28. package/esm/array-items/index.mjs.map +1 -1
  29. package/esm/array-list-tabs/array-list-tabs.d.ts +3 -3
  30. package/esm/array-list-tabs/index.d.ts +6 -6
  31. package/esm/array-list-tabs/index.mjs +88 -86
  32. package/esm/array-list-tabs/index.mjs.map +1 -1
  33. package/esm/array-list-tabs/utils.mjs +5 -11
  34. package/esm/array-list-tabs/utils.mjs.map +1 -1
  35. package/esm/array-table/array-table.d.ts +1 -1
  36. package/esm/array-table/index.d.ts +3 -3
  37. package/esm/array-table/index.mjs +48 -50
  38. package/esm/array-table/index.mjs.map +1 -1
  39. package/esm/array-table/types.d.ts +1 -1
  40. package/esm/array-table/utils.mjs +12 -18
  41. package/esm/array-table/utils.mjs.map +1 -1
  42. package/esm/array-tabs/index.mjs +26 -28
  43. package/esm/array-tabs/index.mjs.map +1 -1
  44. package/esm/cascader/cascader.d.ts +1 -6
  45. package/esm/cascader/index.d.ts +3 -16
  46. package/esm/cascader/index.mjs +26 -32
  47. package/esm/cascader/index.mjs.map +1 -1
  48. package/esm/checkbox/checkbox-group.d.ts +2 -15
  49. package/esm/checkbox/index.d.ts +3 -28
  50. package/esm/checkbox/index.mjs +33 -45
  51. package/esm/checkbox/index.mjs.map +1 -1
  52. package/esm/date-picker/index.d.ts +442 -1
  53. package/esm/date-picker/index.mjs +9 -18
  54. package/esm/date-picker/index.mjs.map +1 -1
  55. package/esm/editable/index.mjs +34 -36
  56. package/esm/editable/index.mjs.map +1 -1
  57. package/esm/form/form.mjs +7 -7
  58. package/esm/form/form.mjs.map +1 -1
  59. package/esm/form-button-group/index.mjs +20 -23
  60. package/esm/form-button-group/index.mjs.map +1 -1
  61. package/esm/form-button-group/utils.mjs +2 -8
  62. package/esm/form-button-group/utils.mjs.map +1 -1
  63. package/esm/form-collapse/index.mjs +31 -32
  64. package/esm/form-collapse/index.mjs.map +1 -1
  65. package/esm/form-collapse/utils.mjs.map +1 -1
  66. package/esm/form-dialog/index.mjs +18 -18
  67. package/esm/form-dialog/index.mjs.map +1 -1
  68. package/esm/form-drawer/index.mjs +17 -17
  69. package/esm/form-drawer/index.mjs.map +1 -1
  70. package/esm/form-grid/hooks.mjs.map +1 -1
  71. package/esm/form-grid/index.mjs +20 -23
  72. package/esm/form-grid/index.mjs.map +1 -1
  73. package/esm/form-item/index.mjs +30 -32
  74. package/esm/form-item/index.mjs.map +1 -1
  75. package/esm/form-item/utils.mjs.map +1 -1
  76. package/esm/form-layout/form-layout.mjs +11 -14
  77. package/esm/form-layout/form-layout.mjs.map +1 -1
  78. package/esm/form-layout/utils.mjs +19 -24
  79. package/esm/form-layout/utils.mjs.map +1 -1
  80. package/esm/form-step/index.mjs +22 -24
  81. package/esm/form-step/index.mjs.map +1 -1
  82. package/esm/form-step/utils.mjs.map +1 -1
  83. package/esm/form-tab/form-tab.d.ts +2 -2
  84. package/esm/form-tab/hooks.mjs +1 -1
  85. package/esm/form-tab/hooks.mjs.map +1 -1
  86. package/esm/form-tab/index.d.ts +5 -5
  87. package/esm/form-tab/index.mjs +28 -29
  88. package/esm/form-tab/index.mjs.map +1 -1
  89. package/esm/form-tab/types.d.ts +1 -1
  90. package/esm/form-tab/utils.mjs.map +1 -1
  91. package/esm/index.mjs +58 -58
  92. package/esm/input/index.d.ts +6 -38
  93. package/esm/input/index.mjs +36 -48
  94. package/esm/input/index.mjs.map +1 -1
  95. package/esm/input/input.d.ts +1 -8
  96. package/esm/input-number/index.d.ts +215 -1
  97. package/esm/input-number/index.mjs +8 -17
  98. package/esm/input-number/index.mjs.map +1 -1
  99. package/esm/pagination/components/jumper.mjs.map +1 -1
  100. package/esm/pagination/components/next.mjs.map +1 -1
  101. package/esm/pagination/components/pager.mjs.map +1 -1
  102. package/esm/pagination/components/prev.mjs.map +1 -1
  103. package/esm/pagination/components/total.mjs.map +1 -1
  104. package/esm/pagination/pagination.mjs +1 -1
  105. package/esm/pagination/pagination.mjs.map +1 -1
  106. package/esm/password/index.d.ts +6 -38
  107. package/esm/password/index.mjs +1 -1
  108. package/esm/password/index.mjs.map +1 -1
  109. package/esm/preview-text/cascader.d.ts +1 -1
  110. package/esm/preview-text/date-picker.d.ts +1 -1
  111. package/esm/preview-text/index.d.ts +13 -13
  112. package/esm/preview-text/index.mjs +115 -118
  113. package/esm/preview-text/index.mjs.map +1 -1
  114. package/esm/preview-text/input.d.ts +1 -1
  115. package/esm/preview-text/select.d.ts +1 -1
  116. package/esm/preview-text/time-picker.d.ts +1 -1
  117. package/esm/preview-text/tree.d.ts +1 -1
  118. package/esm/preview-text/utils.mjs.map +1 -1
  119. package/esm/radio/index.d.ts +3 -25
  120. package/esm/radio/index.mjs +34 -44
  121. package/esm/radio/index.mjs.map +1 -1
  122. package/esm/radio/radio-group.d.ts +2 -13
  123. package/esm/reset/index.mjs +1 -1
  124. package/esm/reset/index.mjs.map +1 -1
  125. package/esm/select/index.d.ts +3 -16
  126. package/esm/select/index.mjs +62 -70
  127. package/esm/select/index.mjs.map +1 -1
  128. package/esm/select/select.d.ts +1 -6
  129. package/esm/select-table/index.d.ts +5 -5
  130. package/esm/select-table/index.mjs +78 -81
  131. package/esm/select-table/index.mjs.map +1 -1
  132. package/esm/select-table/select-table.d.ts +2 -2
  133. package/esm/select-table/types.d.ts +1 -1
  134. package/esm/submit/index.mjs +1 -1
  135. package/esm/submit/index.mjs.map +1 -1
  136. package/esm/switch/index.d.ts +260 -1
  137. package/esm/switch/index.mjs +5 -11
  138. package/esm/switch/index.mjs.map +1 -1
  139. package/esm/time-picker/index.d.ts +442 -1
  140. package/esm/time-picker/index.mjs +8 -15
  141. package/esm/time-picker/index.mjs.map +1 -1
  142. package/esm/time-select/index.d.ts +124 -1
  143. package/esm/time-select/index.mjs +10 -17
  144. package/esm/time-select/index.mjs.map +1 -1
  145. package/esm/transfer/index.mjs +5 -5
  146. package/esm/transfer/index.mjs.map +1 -1
  147. package/esm/tree/index.d.ts +5 -5
  148. package/esm/tree/index.mjs +42 -45
  149. package/esm/tree/index.mjs.map +1 -1
  150. package/esm/tree/tree.d.ts +2 -2
  151. package/esm/tree/types.d.ts +1 -1
  152. package/esm/tree/utils.mjs.map +1 -1
  153. package/esm/tree-select/index.d.ts +3 -19
  154. package/esm/tree-select/index.mjs +22 -32
  155. package/esm/tree-select/index.mjs.map +1 -1
  156. package/esm/tree-select/tree-select.d.ts +1 -8
  157. package/esm/upload/index.d.ts +5 -5
  158. package/esm/upload/index.mjs +14 -16
  159. package/esm/upload/index.mjs.map +1 -1
  160. package/esm/upload/upload.d.ts +2 -2
  161. package/esm/vendor/sizes.mjs.map +1 -1
  162. package/package.json +114 -116
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 hezhengxu2018
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 hezhengxu2018
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,35 +1,35 @@
1
- # Silver Formily Element Plus
2
-
3
- [![codecov](https://codecov.io/gh/hezhengxu2018/silver-formily-element-plus/graph/badge.svg?token=LZF15NPLJU)](https://codecov.io/gh/hezhengxu2018/silver-formily-element-plus)
4
-
5
- Another @formily/element-plus component library.
6
-
7
- ## Features
8
-
9
- ### 💡 Unified Component Style
10
-
11
- The component style leans more towards Element Plus, while the component configuration options lean towards Formily. For conflicting configuration items between the two, we take a balanced approach to ensure flexibility and style consistency.
12
-
13
- ### 🔌 Flexible Dependencies
14
-
15
- Both Formily and Element Plus versions are treated as peerDependencies, allowing you to choose the Element Plus version that best suits your project needs.
16
-
17
- ### 🔑 Complete Form Components
18
-
19
- Complements Element Plus form components while adding additional scenario components to meet various business needs.
20
-
21
- ### ♿️ Better Accessibility
22
-
23
- Enhanced component accessibility. Special focus on FormItem component reconstruction to provide more friendly component access support and visual feedback.
24
-
25
- ### ✅ Comprehensive Testing
26
-
27
- All new components come with comprehensive component testing, ensuring component quality and confidence in refactoring.
28
-
29
- ### 📝 Vue Template Syntax Based
30
-
31
- New components are developed using Vue template syntax whenever possible, providing better readability and runtime optimization, making the code more maintainable and performant.
32
-
33
- ## Contributor Guide
34
-
35
- Please review [`AGENTS.md`](AGENTS.md) for repository structure, workflows, and PR expectations before submitting changes.
1
+ # Silver Formily Element Plus
2
+
3
+ [![codecov](https://codecov.io/gh/hezhengxu2018/silver-formily-element-plus/graph/badge.svg?token=LZF15NPLJU)](https://codecov.io/gh/hezhengxu2018/silver-formily-element-plus)
4
+
5
+ Another @formily/element-plus component library.
6
+
7
+ ## Features
8
+
9
+ ### 💡 Unified Component Style
10
+
11
+ The component style leans more towards Element Plus, while the component configuration options lean towards Formily. For conflicting configuration items between the two, we take a balanced approach to ensure flexibility and style consistency.
12
+
13
+ ### 🔌 Flexible Dependencies
14
+
15
+ Both Formily and Element Plus versions are treated as peerDependencies, allowing you to choose the Element Plus version that best suits your project needs.
16
+
17
+ ### 🔑 Complete Form Components
18
+
19
+ Complements Element Plus form components while adding additional scenario components to meet various business needs.
20
+
21
+ ### ♿️ Better Accessibility
22
+
23
+ Enhanced component accessibility. Special focus on FormItem component reconstruction to provide more friendly component access support and visual feedback.
24
+
25
+ ### ✅ Comprehensive Testing
26
+
27
+ All new components come with comprehensive component testing, ensuring component quality and confidence in refactoring.
28
+
29
+ ### 📝 Vue Template Syntax Based
30
+
31
+ New components are developed using Vue template syntax whenever possible, providing better readability and runtime optimization, making the code more maintainable and performant.
32
+
33
+ ## Contributor Guide
34
+
35
+ Please review [`AGENTS.md`](AGENTS.md) for repository structure, workflows, and PR expectations before submitting changes.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/__builtins__/configs/index.ts"],"sourcesContent":["export const stylePrefix = 'formily-element-plus'\n"],"names":["stylePrefix"],"mappings":"AAAO,MAAMA,IAAc;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/__builtins__/configs/index.ts"],"sourcesContent":["export const stylePrefix = 'formily-element-plus'\r\n"],"names":["stylePrefix"],"mappings":"AAAO,MAAMA,IAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.mjs","sources":["../../../src/__builtins__/shared/hooks.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { onUnmounted, watch } from 'vue'\n\nexport function useDebounceFn<T extends (...args: any[]) => any>(\n fn: T,\n delay: number | (() => number),\n): T {\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n return ((...args: Parameters<T>) => {\n if (timeoutId !== null) {\n clearTimeout(timeoutId)\n }\n\n const delayMs = typeof delay === 'function' ? delay() : delay\n\n timeoutId = setTimeout(() => {\n fn(...args)\n timeoutId = null\n }, delayMs)\n }) as T\n}\n\nexport function useThrottleFn<T extends (...args: any[]) => any>(\n fn: T,\n delay: number,\n trailing = true,\n leading = true,\n): T {\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n let lastCallTime = 0\n let lastArgs: Parameters<T> | null = null\n\n return ((...args: Parameters<T>) => {\n const now = Date.now()\n if (lastCallTime === 0 && leading) {\n lastCallTime = now\n fn(...args)\n return\n }\n if (lastCallTime === 0 && !leading) {\n lastCallTime = now\n }\n\n const remainingTime = delay - (now - lastCallTime)\n\n lastArgs = args\n\n if (timeoutId !== null) {\n clearTimeout(timeoutId)\n }\n\n if (remainingTime <= 0 && lastCallTime !== now) {\n lastCallTime = now\n fn(...args)\n lastArgs = null\n }\n else if (trailing) {\n timeoutId = setTimeout(() => {\n lastCallTime = Date.now()\n if (lastArgs !== null) {\n fn(...lastArgs)\n lastArgs = null\n }\n timeoutId = null\n }, remainingTime)\n }\n }) as T\n}\n\nexport function useResizeObserver(\n target: Ref<Element | null> | Element | null,\n callback: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void,\n options?: ResizeObserverOptions,\n): {\n isSupported: boolean\n stop: () => void\n} {\n let observer: ResizeObserver | null = null\n const isSupported = globalThis.window !== undefined && 'ResizeObserver' in globalThis\n\n const cleanup = () => {\n if (observer) {\n observer.disconnect()\n observer = null\n }\n }\n\n const stop = () => {\n cleanup()\n }\n\n const start = () => {\n cleanup()\n\n /* istanbul ignore if @preserve */\n if (!isSupported) {\n return\n }\n\n const element = (target && 'value' in target ? target.value : target) as Element\n\n if (!element) {\n return\n }\n\n observer = new ResizeObserver(callback)\n observer.observe(element, options)\n }\n\n if (target && 'value' in target) {\n watch(\n target,\n () => {\n start()\n },\n { immediate: true, flush: 'post' },\n )\n }\n else {\n start()\n }\n onUnmounted(() => {\n cleanup()\n })\n\n return {\n isSupported,\n stop,\n }\n}\n"],"names":["useDebounceFn","fn","delay","timeoutId","args","delayMs","useThrottleFn","trailing","leading","lastCallTime","lastArgs","now","remainingTime","useResizeObserver","target","callback","options","observer","isSupported","cleanup","stop","start","element","watch","onUnmounted"],"mappings":";AAGO,SAASA,EACdC,GACAC,GACG;AACH,MAAIC,IAAkD;AAEtD,UAAQ,IAAIC,MAAwB;AAClC,IAAID,MAAc,QAChB,aAAaA,CAAS;AAGxB,UAAME,IAAU,OAAOH,KAAU,aAAaA,MAAUA;AAExD,IAAAC,IAAY,WAAW,MAAM;AAC3B,MAAAF,EAAG,GAAGG,CAAI,GACVD,IAAY;AAAA,IACd,GAAGE,CAAO;AAAA,EACZ;AACF;AAEO,SAASC,EACdL,GACAC,GACAK,IAAW,IACXC,IAAU,IACP;AACH,MAAIL,IAAkD,MAClDM,IAAe,GACfC,IAAiC;AAErC,UAAQ,IAAIN,MAAwB;AAClC,UAAMO,IAAM,KAAK,IAAA;AACjB,QAAIF,MAAiB,KAAKD,GAAS;AACjC,MAAAC,IAAeE,GACfV,EAAG,GAAGG,CAAI;AACV;AAAA,IACF;AACA,IAAIK,MAAiB,KAAK,CAACD,MACzBC,IAAeE;AAGjB,UAAMC,IAAgBV,KAASS,IAAMF;AAErC,IAAAC,IAAWN,GAEPD,MAAc,QAChB,aAAaA,CAAS,GAGpBS,KAAiB,KAAKH,MAAiBE,KACzCF,IAAeE,GACfV,EAAG,GAAGG,CAAI,GACVM,IAAW,QAEJH,MACPJ,IAAY,WAAW,MAAM;AAC3B,MAAAM,IAAe,KAAK,IAAA,GAChBC,MAAa,SACfT,EAAG,GAAGS,CAAQ,GACdA,IAAW,OAEbP,IAAY;AAAA,IACd,GAAGS,CAAa;AAAA,EAEpB;AACF;AAEO,SAASC,EACdC,GACAC,GACAC,GAIA;AACA,MAAIC,IAAkC;AACtC,QAAMC,IAAc,WAAW,WAAW,UAAa,oBAAoB,YAErEC,IAAU,MAAM;AACpB,IAAIF,MACFA,EAAS,WAAA,GACTA,IAAW;AAAA,EAEf,GAEMG,IAAO,MAAM;AACjB,IAAAD,EAAA;AAAA,EACF,GAEME,IAAQ,MAAM;AAClB,IAAAF,EAAA;AAAA,IAAQ;AAGR,QAAI,CAACD;AACH;AAGF,UAAMI,IAAWR,KAAU,WAAWA,IAASA,EAAO,QAAQA;AAE9D,IAAKQ,MAILL,IAAW,IAAI,eAAeF,CAAQ,GACtCE,EAAS,QAAQK,GAASN,CAAO;AAAA,EACnC;AAEA,SAAIF,KAAU,WAAWA,IACvBS;AAAA,IACET;AAAA,IACA,MAAM;AACJ,MAAAO,EAAA;AAAA,IACF;AAAA,IACA,EAAE,WAAW,IAAM,OAAO,OAAA;AAAA,EAAO,IAInCA,EAAA,GAEFG,EAAY,MAAM;AAChB,IAAAL,EAAA;AAAA,EACF,CAAC,GAEM;AAAA,IACL,aAAAD;AAAA,IACA,MAAAE;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"hooks.mjs","sources":["../../../src/__builtins__/shared/hooks.ts"],"sourcesContent":["import type { Ref } from 'vue'\r\nimport { onUnmounted, watch } from 'vue'\r\n\r\nexport function useDebounceFn<T extends (...args: any[]) => any>(\r\n fn: T,\r\n delay: number | (() => number),\r\n): T {\r\n let timeoutId: ReturnType<typeof setTimeout> | null = null\r\n\r\n return ((...args: Parameters<T>) => {\r\n if (timeoutId !== null) {\r\n clearTimeout(timeoutId)\r\n }\r\n\r\n const delayMs = typeof delay === 'function' ? delay() : delay\r\n\r\n timeoutId = setTimeout(() => {\r\n fn(...args)\r\n timeoutId = null\r\n }, delayMs)\r\n }) as T\r\n}\r\n\r\nexport function useThrottleFn<T extends (...args: any[]) => any>(\r\n fn: T,\r\n delay: number,\r\n trailing = true,\r\n leading = true,\r\n): T {\r\n let timeoutId: ReturnType<typeof setTimeout> | null = null\r\n let lastCallTime = 0\r\n let lastArgs: Parameters<T> | null = null\r\n\r\n return ((...args: Parameters<T>) => {\r\n const now = Date.now()\r\n if (lastCallTime === 0 && leading) {\r\n lastCallTime = now\r\n fn(...args)\r\n return\r\n }\r\n if (lastCallTime === 0 && !leading) {\r\n lastCallTime = now\r\n }\r\n\r\n const remainingTime = delay - (now - lastCallTime)\r\n\r\n lastArgs = args\r\n\r\n if (timeoutId !== null) {\r\n clearTimeout(timeoutId)\r\n }\r\n\r\n if (remainingTime <= 0 && lastCallTime !== now) {\r\n lastCallTime = now\r\n fn(...args)\r\n lastArgs = null\r\n }\r\n else if (trailing) {\r\n timeoutId = setTimeout(() => {\r\n lastCallTime = Date.now()\r\n if (lastArgs !== null) {\r\n fn(...lastArgs)\r\n lastArgs = null\r\n }\r\n timeoutId = null\r\n }, remainingTime)\r\n }\r\n }) as T\r\n}\r\n\r\nexport function useResizeObserver(\r\n target: Ref<Element | null> | Element | null,\r\n callback: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void,\r\n options?: ResizeObserverOptions,\r\n): {\r\n isSupported: boolean\r\n stop: () => void\r\n} {\r\n let observer: ResizeObserver | null = null\r\n const isSupported = globalThis.window !== undefined && 'ResizeObserver' in globalThis\r\n\r\n const cleanup = () => {\r\n if (observer) {\r\n observer.disconnect()\r\n observer = null\r\n }\r\n }\r\n\r\n const stop = () => {\r\n cleanup()\r\n }\r\n\r\n const start = () => {\r\n cleanup()\r\n\r\n /* istanbul ignore if @preserve */\r\n if (!isSupported) {\r\n return\r\n }\r\n\r\n const element = (target && 'value' in target ? target.value : target) as Element\r\n\r\n if (!element) {\r\n return\r\n }\r\n\r\n observer = new ResizeObserver(callback)\r\n observer.observe(element, options)\r\n }\r\n\r\n if (target && 'value' in target) {\r\n watch(\r\n target,\r\n () => {\r\n start()\r\n },\r\n { immediate: true, flush: 'post' },\r\n )\r\n }\r\n else {\r\n start()\r\n }\r\n onUnmounted(() => {\r\n cleanup()\r\n })\r\n\r\n return {\r\n isSupported,\r\n stop,\r\n }\r\n}\r\n"],"names":["useDebounceFn","fn","delay","timeoutId","args","delayMs","useThrottleFn","trailing","leading","lastCallTime","lastArgs","now","remainingTime","useResizeObserver","target","callback","options","observer","isSupported","cleanup","stop","start","element","watch","onUnmounted"],"mappings":";AAGO,SAASA,EACdC,GACAC,GACG;AACH,MAAIC,IAAkD;AAEtD,UAAQ,IAAIC,MAAwB;AAClC,IAAID,MAAc,QAChB,aAAaA,CAAS;AAGxB,UAAME,IAAU,OAAOH,KAAU,aAAaA,MAAUA;AAExD,IAAAC,IAAY,WAAW,MAAM;AAC3B,MAAAF,EAAG,GAAGG,CAAI,GACVD,IAAY;AAAA,IACd,GAAGE,CAAO;AAAA,EACZ;AACF;AAEO,SAASC,EACdL,GACAC,GACAK,IAAW,IACXC,IAAU,IACP;AACH,MAAIL,IAAkD,MAClDM,IAAe,GACfC,IAAiC;AAErC,UAAQ,IAAIN,MAAwB;AAClC,UAAMO,IAAM,KAAK,IAAA;AACjB,QAAIF,MAAiB,KAAKD,GAAS;AACjC,MAAAC,IAAeE,GACfV,EAAG,GAAGG,CAAI;AACV;AAAA,IACF;AACA,IAAIK,MAAiB,KAAK,CAACD,MACzBC,IAAeE;AAGjB,UAAMC,IAAgBV,KAASS,IAAMF;AAErC,IAAAC,IAAWN,GAEPD,MAAc,QAChB,aAAaA,CAAS,GAGpBS,KAAiB,KAAKH,MAAiBE,KACzCF,IAAeE,GACfV,EAAG,GAAGG,CAAI,GACVM,IAAW,QAEJH,MACPJ,IAAY,WAAW,MAAM;AAC3B,MAAAM,IAAe,KAAK,IAAA,GAChBC,MAAa,SACfT,EAAG,GAAGS,CAAQ,GACdA,IAAW,OAEbP,IAAY;AAAA,IACd,GAAGS,CAAa;AAAA,EAEpB;AACF;AAEO,SAASC,EACdC,GACAC,GACAC,GAIA;AACA,MAAIC,IAAkC;AACtC,QAAMC,IAAc,WAAW,WAAW,UAAa,oBAAoB,YAErEC,IAAU,MAAM;AACpB,IAAIF,MACFA,EAAS,WAAA,GACTA,IAAW;AAAA,EAEf,GAEMG,IAAO,MAAM;AACjB,IAAAD,EAAA;AAAA,EACF,GAEME,IAAQ,MAAM;AAClB,IAAAF,EAAA;AAAA,IAAQ;AAGR,QAAI,CAACD;AACH;AAGF,UAAMI,IAAWR,KAAU,WAAWA,IAASA,EAAO,QAAQA;AAE9D,IAAKQ,MAILL,IAAW,IAAI,eAAeF,CAAQ,GACtCE,EAAS,QAAQK,GAASN,CAAO;AAAA,EACnC;AAEA,SAAIF,KAAU,WAAWA,IACvBS;AAAA,IACET;AAAA,IACA,MAAM;AACJ,MAAAO,EAAA;AAAA,IACF;AAAA,IACA,EAAE,WAAW,IAAM,OAAO,OAAA;AAAA,EAAO,IAInCA,EAAA,GAEFG,EAAY,MAAM;AAChB,IAAAL,EAAA;AAAA,EACF,CAAC,GAEM;AAAA,IACL,aAAAD;AAAA,IACA,MAAAE;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading.mjs","sources":["../../../src/__builtins__/shared/loading.ts"],"sourcesContent":["import type { Form } from '@formily/core'\nimport { reaction } from '@formily/reactive'\nimport { ElLoading } from 'element-plus'\nimport { ref } from 'vue'\nimport { useDebounceFn } from './hooks'\n\nexport async function loading(loadingText = 'Loading...', processor: () => Promise<any>) {\n let loadingInstance\n const loading = setTimeout(() => {\n loadingInstance = ElLoading.service({\n text: loadingText,\n background: 'transparent',\n })\n }, 100)\n try {\n return await processor()\n }\n finally {\n loadingInstance?.close()\n clearTimeout(loading)\n }\n}\n\n/**\n * 获取当前element-plus的过渡时长并转换为毫秒\n * @param cssVarName CSS 变量名,默认为 '--el-transition-duration'\n * @param defaultValue 默认值(毫秒),默认为 200\n * @returns 过渡时长(毫秒)\n */\nexport function getTransitionDuration(cssVarName = '--el-transition-duration', defaultValue = 200): number {\n const cssVar = getComputedStyle(document.documentElement)\n .getPropertyValue(cssVarName)\n .trim()\n if (!cssVar) {\n return defaultValue\n }\n const durationMatch = cssVar.match(/^([\\d.]+)\\s*(s|ms)?$/)\n if (!durationMatch) {\n return defaultValue\n }\n\n const value = Number.parseFloat(durationMatch[1])\n const unit = durationMatch[2] || 'ms'\n\n switch (unit) {\n case 's': {\n return value * 1000\n }\n case 'ms': {\n return value\n }\n }\n}\n\nexport function useDebonceSubmitting(form: Form) {\n const internalSubmitting = ref(false)\n const transitionDuration = getTransitionDuration()\n\n const setSubmittingFalse = useDebounceFn(() => {\n internalSubmitting.value = false\n }, () => transitionDuration)\n\n reaction(() => form.submitting, (val) => {\n if (val === false) {\n setSubmittingFalse()\n }\n else {\n internalSubmitting.value = val\n }\n })\n\n return {\n internalSubmitting,\n }\n}\n"],"names":["loading","loadingText","processor","loadingInstance","ElLoading","getTransitionDuration","cssVarName","defaultValue","cssVar","durationMatch","value","useDebonceSubmitting","form","internalSubmitting","ref","transitionDuration","setSubmittingFalse","useDebounceFn","reaction","val"],"mappings":";;;;AAMA,eAAsBA,EAAQC,IAAc,cAAcC,GAA+B;AACvF,MAAIC;AACJ,QAAMH,IAAU,WAAW,MAAM;AAC/B,IAAAG,IAAkBC,EAAU,QAAQ;AAAA,MAClC,MAAMH;AAAA,MACN,YAAY;AAAA,IAAA,CACb;AAAA,EACH,GAAG,GAAG;AACN,MAAI;AACF,WAAO,MAAMC,EAAA;AAAA,EACf,UAAA;AAEE,IAAAC,GAAiB,MAAA,GACjB,aAAaH,CAAO;AAAA,EACtB;AACF;AAQO,SAASK,EAAsBC,IAAa,4BAA4BC,IAAe,KAAa;AACzG,QAAMC,IAAS,iBAAiB,SAAS,eAAe,EACrD,iBAAiBF,CAAU,EAC3B,KAAA;AACH,MAAI,CAACE;AACH,WAAOD;AAET,QAAME,IAAgBD,EAAO,MAAM,sBAAsB;AACzD,MAAI,CAACC;AACH,WAAOF;AAGT,QAAMG,IAAQ,OAAO,WAAWD,EAAc,CAAC,CAAC;AAGhD,UAFaA,EAAc,CAAC,KAAK,MAEzB;AAAA,IACN,KAAK;AACH,aAAOC,IAAQ;AAAA,IAEjB,KAAK;AACH,aAAOA;AAAA,EACT;AAEJ;AAEO,SAASC,EAAqBC,GAAY;AAC/C,QAAMC,IAAqBC,EAAI,EAAK,GAC9BC,IAAqBV,EAAA,GAErBW,IAAqBC,EAAc,MAAM;AAC7C,IAAAJ,EAAmB,QAAQ;AAAA,EAC7B,GAAG,MAAME,CAAkB;AAE3B,SAAAG,EAAS,MAAMN,EAAK,YAAY,CAACO,MAAQ;AACvC,IAAIA,MAAQ,KACVH,EAAA,IAGAH,EAAmB,QAAQM;AAAA,EAE/B,CAAC,GAEM;AAAA,IACL,oBAAAN;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"loading.mjs","sources":["../../../src/__builtins__/shared/loading.ts"],"sourcesContent":["import type { Form } from '@formily/core'\r\nimport { reaction } from '@formily/reactive'\r\nimport { ElLoading } from 'element-plus'\r\nimport { ref } from 'vue'\r\nimport { useDebounceFn } from './hooks'\r\n\r\nexport async function loading(loadingText = 'Loading...', processor: () => Promise<any>) {\r\n let loadingInstance\r\n const loading = setTimeout(() => {\r\n loadingInstance = ElLoading.service({\r\n text: loadingText,\r\n background: 'transparent',\r\n })\r\n }, 100)\r\n try {\r\n return await processor()\r\n }\r\n finally {\r\n loadingInstance?.close()\r\n clearTimeout(loading)\r\n }\r\n}\r\n\r\n/**\r\n * 获取当前element-plus的过渡时长并转换为毫秒\r\n * @param cssVarName CSS 变量名,默认为 '--el-transition-duration'\r\n * @param defaultValue 默认值(毫秒),默认为 200\r\n * @returns 过渡时长(毫秒)\r\n */\r\nexport function getTransitionDuration(cssVarName = '--el-transition-duration', defaultValue = 200): number {\r\n const cssVar = getComputedStyle(document.documentElement)\r\n .getPropertyValue(cssVarName)\r\n .trim()\r\n if (!cssVar) {\r\n return defaultValue\r\n }\r\n const durationMatch = cssVar.match(/^([\\d.]+)\\s*(s|ms)?$/)\r\n if (!durationMatch) {\r\n return defaultValue\r\n }\r\n\r\n const value = Number.parseFloat(durationMatch[1])\r\n const unit = durationMatch[2] || 'ms'\r\n\r\n switch (unit) {\r\n case 's': {\r\n return value * 1000\r\n }\r\n case 'ms': {\r\n return value\r\n }\r\n }\r\n}\r\n\r\nexport function useDebonceSubmitting(form: Form) {\r\n const internalSubmitting = ref(false)\r\n const transitionDuration = getTransitionDuration()\r\n\r\n const setSubmittingFalse = useDebounceFn(() => {\r\n internalSubmitting.value = false\r\n }, () => transitionDuration)\r\n\r\n reaction(() => form.submitting, (val) => {\r\n if (val === false) {\r\n setSubmittingFalse()\r\n }\r\n else {\r\n internalSubmitting.value = val\r\n }\r\n })\r\n\r\n return {\r\n internalSubmitting,\r\n }\r\n}\r\n"],"names":["loading","loadingText","processor","loadingInstance","ElLoading","getTransitionDuration","cssVarName","defaultValue","cssVar","durationMatch","value","useDebonceSubmitting","form","internalSubmitting","ref","transitionDuration","setSubmittingFalse","useDebounceFn","reaction","val"],"mappings":";;;;AAMA,eAAsBA,EAAQC,IAAc,cAAcC,GAA+B;AACvF,MAAIC;AACJ,QAAMH,IAAU,WAAW,MAAM;AAC/B,IAAAG,IAAkBC,EAAU,QAAQ;AAAA,MAClC,MAAMH;AAAA,MACN,YAAY;AAAA,IAAA,CACb;AAAA,EACH,GAAG,GAAG;AACN,MAAI;AACF,WAAO,MAAMC,EAAA;AAAA,EACf,UAAA;AAEE,IAAAC,GAAiB,MAAA,GACjB,aAAaH,CAAO;AAAA,EACtB;AACF;AAQO,SAASK,EAAsBC,IAAa,4BAA4BC,IAAe,KAAa;AACzG,QAAMC,IAAS,iBAAiB,SAAS,eAAe,EACrD,iBAAiBF,CAAU,EAC3B,KAAA;AACH,MAAI,CAACE;AACH,WAAOD;AAET,QAAME,IAAgBD,EAAO,MAAM,sBAAsB;AACzD,MAAI,CAACC;AACH,WAAOF;AAGT,QAAMG,IAAQ,OAAO,WAAWD,EAAc,CAAC,CAAC;AAGhD,UAFaA,EAAc,CAAC,KAAK,MAEzB;AAAA,IACN,KAAK;AACH,aAAOC,IAAQ;AAAA,IAEjB,KAAK;AACH,aAAOA;AAAA,EACT;AAEJ;AAEO,SAASC,EAAqBC,GAAY;AAC/C,QAAMC,IAAqBC,EAAI,EAAK,GAC9BC,IAAqBV,EAAA,GAErBW,IAAqBC,EAAc,MAAM;AAC7C,IAAAJ,EAAmB,QAAQ;AAAA,EAC7B,GAAG,MAAME,CAAkB;AAE3B,SAAAG,EAAS,MAAMN,EAAK,YAAY,CAACO,MAAQ;AACvC,IAAIA,MAAQ,KACVH,EAAA,IAGAH,EAAmB,QAAQM;AAAA,EAE/B,CAAC,GAEM;AAAA,IACL,oBAAAN;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple-version-compare.mjs","sources":["../../../src/__builtins__/shared/simple-version-compare.ts"],"sourcesContent":["function normalizeVersion(v: string) {\n return v.split('.').map((n) => {\n const num = Number.parseInt(n, 10)\n return Number.isNaN(num) ? '0'.padStart(10, '0') : num.toString().padStart(10, '0')\n }).join('.')\n}\n\nexport function quickVersionCompare(v1: string, v2: string): number {\n const nv1 = normalizeVersion(v1)\n const nv2 = normalizeVersion(v2)\n return nv1 > nv2 ? 1 : (nv1 < nv2 ? -1 : 0)\n}\n\nexport function lt(v1: string, v2: string): boolean {\n return quickVersionCompare(v1, v2) < 0\n}\n"],"names":["normalizeVersion","v","n","num","quickVersionCompare","v1","v2","nv1","nv2","lt"],"mappings":"AAAA,SAASA,EAAiBC,GAAW;AACnC,SAAOA,EAAE,MAAM,GAAG,EAAE,IAAI,CAACC,MAAM;AAC7B,UAAMC,IAAM,OAAO,SAASD,GAAG,EAAE;AACjC,WAAO,OAAO,MAAMC,CAAG,IAAI,IAAI,SAAS,IAAI,GAAG,IAAIA,EAAI,SAAA,EAAW,SAAS,IAAI,GAAG;AAAA,EACpF,CAAC,EAAE,KAAK,GAAG;AACb;AAEO,SAASC,EAAoBC,GAAYC,GAAoB;AAClE,QAAMC,IAAMP,EAAiBK,CAAE,GACzBG,IAAMR,EAAiBM,CAAE;AAC/B,SAAOC,IAAMC,IAAM,IAAKD,IAAMC,IAAM,KAAK;AAC3C;AAEO,SAASC,EAAGJ,GAAYC,GAAqB;AAClD,SAAOF,EAAoBC,GAAIC,CAAE,IAAI;AACvC;"}
1
+ {"version":3,"file":"simple-version-compare.mjs","sources":["../../../src/__builtins__/shared/simple-version-compare.ts"],"sourcesContent":["function normalizeVersion(v: string) {\r\n return v.split('.').map((n) => {\r\n const num = Number.parseInt(n, 10)\r\n return Number.isNaN(num) ? '0'.padStart(10, '0') : num.toString().padStart(10, '0')\r\n }).join('.')\r\n}\r\n\r\nexport function quickVersionCompare(v1: string, v2: string): number {\r\n const nv1 = normalizeVersion(v1)\r\n const nv2 = normalizeVersion(v2)\r\n return nv1 > nv2 ? 1 : (nv1 < nv2 ? -1 : 0)\r\n}\r\n\r\nexport function lt(v1: string, v2: string): boolean {\r\n return quickVersionCompare(v1, v2) < 0\r\n}\r\n"],"names":["normalizeVersion","v","n","num","quickVersionCompare","v1","v2","nv1","nv2","lt"],"mappings":"AAAA,SAASA,EAAiBC,GAAW;AACnC,SAAOA,EAAE,MAAM,GAAG,EAAE,IAAI,CAACC,MAAM;AAC7B,UAAMC,IAAM,OAAO,SAASD,GAAG,EAAE;AACjC,WAAO,OAAO,MAAMC,CAAG,IAAI,IAAI,SAAS,IAAI,GAAG,IAAIA,EAAI,SAAA,EAAW,SAAS,IAAI,GAAG;AAAA,EACpF,CAAC,EAAE,KAAK,GAAG;AACb;AAEO,SAASC,EAAoBC,GAAYC,GAAoB;AAClE,QAAMC,IAAMP,EAAiBK,CAAE,GACzBG,IAAMR,EAAiBM,CAAE;AAC/B,SAAOC,IAAMC,IAAM,IAAKD,IAAMC,IAAM,KAAK;AAC3C;AAEO,SAASC,EAAGJ,GAAYC,GAAqB;AAClD,SAAOF,EAAoBC,GAAIC,CAAE,IAAI;AACvC;"}
@@ -1,8 +1,7 @@
1
- import { VueComponent } from '@formily/vue';
2
1
  import { Component } from 'vue';
3
2
  type ListenersTransformRules = Record<string, string>;
4
3
  export declare function transformComponent<T extends Record<string, any>>(tag: any, transformRules?: ListenersTransformRules): Component<T> | any;
5
- export declare function mapReadPretty<T extends VueComponent, C extends VueComponent>(component: C, readPrettyProps?: Record<string, any>): (target: T) => import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
4
+ export declare function mapReadPretty<T extends Component, C extends Component>(component: C, readPrettyProps?: Record<string, any>): (target: T) => import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
6
5
  [key: string]: any;
7
6
  }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
8
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { isVoidField as f } from "@formily/core";
2
2
  import { observer as l } from "@formily/reactive-vue";
3
3
  import { each as c } from "@formily/shared";
4
- import { useField as C } from "@formily/vue";
4
+ import { useField as C } from "@silver-formily/vue";
5
5
  import { defineComponent as i, h as s } from "vue";
6
6
  import { useCleanAttrs as $ } from "./utils.mjs";
7
7
  function h(t, o) {
@@ -1 +1 @@
1
- {"version":3,"file":"transform-component.mjs","sources":["../../../src/__builtins__/shared/transform-component.ts"],"sourcesContent":["import type { VueComponent } from '@formily/vue'\nimport type { Component } from 'vue'\nimport { isVoidField } from '@formily/core'\nimport { observer } from '@formily/reactive-vue'\nimport { each } from '@formily/shared'\nimport { useField } from '@formily/vue'\nimport { defineComponent, h } from 'vue'\nimport { useCleanAttrs } from './utils'\n\ntype ListenersTransformRules = Record<string, string>\n\nexport function transformComponent<T extends Record<string, any>>(tag: any, transformRules?: ListenersTransformRules): Component<T> | any {\n const componentName = tag.name.split('El')[1]\n return defineComponent({\n name: `F${componentName}`,\n setup(props, { attrs, slots }) {\n return () => {\n const { props: data } = useCleanAttrs()\n if (transformRules) {\n each(transformRules, (event, extract) => {\n data.value[`on${event[0].toUpperCase()}${event.slice(1)}`]\n = attrs[`on${extract[0].toUpperCase()}${extract.slice(1)}`]\n })\n }\n return h(tag, data.value, slots)\n }\n },\n })\n}\n\n// fork from https://github.com/alibaba/formily/blob/7c64c671252adf85471ac5aabfddbaf4fc537354/packages/vue/src/shared/connect.ts#L65\nexport function mapReadPretty<T extends VueComponent, C extends VueComponent>(\n component: C,\n readPrettyProps?: Record<string, any>,\n) {\n return (target: T) => {\n return observer(\n defineComponent({\n name: target.name ? `Read${target.name}` : `ReadComponent`,\n setup(props, { attrs, slots, listeners }: Record<string, any>) {\n const fieldRef = useField()\n return () => {\n const field = fieldRef.value\n const isEditableReadPretty = !!field?.data?.readPretty\n return h(\n field && !isVoidField(field) && (field.pattern === 'readPretty' || isEditableReadPretty)\n ? component\n : target,\n {\n attrs: {\n ...readPrettyProps,\n ...attrs,\n },\n on: listeners,\n },\n slots,\n )\n }\n },\n }),\n )\n }\n}\n"],"names":["transformComponent","tag","transformRules","componentName","defineComponent","props","attrs","slots","data","useCleanAttrs","each","event","extract","h","mapReadPretty","component","readPrettyProps","target","observer","listeners","fieldRef","useField","field","isEditableReadPretty","isVoidField"],"mappings":";;;;;;AAWO,SAASA,EAAkDC,GAAUC,GAA8D;AACxI,QAAMC,IAAgBF,EAAI,KAAK,MAAM,IAAI,EAAE,CAAC;AAC5C,SAAOG,EAAgB;AAAA,IACrB,MAAM,IAAID,CAAa;AAAA,IACvB,MAAME,GAAO,EAAE,OAAAC,GAAO,OAAAC,KAAS;AAC7B,aAAO,MAAM;AACX,cAAM,EAAE,OAAOC,EAAA,IAASC,EAAA;AACxB,eAAIP,KACFQ,EAAKR,GAAgB,CAACS,GAAOC,MAAY;AACvC,UAAAJ,EAAK,MAAM,KAAKG,EAAM,CAAC,EAAE,YAAA,CAAa,GAAGA,EAAM,MAAM,CAAC,CAAC,EAAE,IACrDL,EAAM,KAAKM,EAAQ,CAAC,EAAE,aAAa,GAAGA,EAAQ,MAAM,CAAC,CAAC,EAAE;AAAA,QAC9D,CAAC,GAEIC,EAAEZ,GAAKO,EAAK,OAAOD,CAAK;AAAA,MACjC;AAAA,IACF;AAAA,EAAA,CACD;AACH;AAGO,SAASO,EACdC,GACAC,GACA;AACA,SAAO,CAACC,MACCC;AAAA,IACLd,EAAgB;AAAA,MACd,MAAMa,EAAO,OAAO,OAAOA,EAAO,IAAI,KAAK;AAAA,MAC3C,MAAMZ,GAAO,EAAE,OAAAC,GAAO,OAAAC,GAAO,WAAAY,KAAkC;AAC7D,cAAMC,IAAWC,EAAA;AACjB,eAAO,MAAM;AACX,gBAAMC,IAAQF,EAAS,OACjBG,IAAuB,CAAC,CAACD,GAAO,MAAM;AAC5C,iBAAOT;AAAA,YACLS,KAAS,CAACE,EAAYF,CAAK,MAAMA,EAAM,YAAY,gBAAgBC,KAC/DR,IACAE;AAAA,YACJ;AAAA,cACE,OAAO;AAAA,gBACL,GAAGD;AAAA,gBACH,GAAGV;AAAA,cAAA;AAAA,cAEL,IAAIa;AAAA,YAAA;AAAA,YAENZ;AAAA,UAAA;AAAA,QAEJ;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"transform-component.mjs","sources":["../../../src/__builtins__/shared/transform-component.ts"],"sourcesContent":["import type { Component } from 'vue'\r\nimport { isVoidField } from '@formily/core'\r\nimport { observer } from '@formily/reactive-vue'\r\nimport { each } from '@formily/shared'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { defineComponent, h } from 'vue'\r\nimport { useCleanAttrs } from './utils'\r\n\r\ntype ListenersTransformRules = Record<string, string>\r\n\r\nexport function transformComponent<T extends Record<string, any>>(tag: any, transformRules?: ListenersTransformRules): Component<T> | any {\r\n const componentName = tag.name.split('El')[1]\r\n return defineComponent({\r\n name: `F${componentName}`,\r\n setup(props, { attrs, slots }) {\r\n return () => {\r\n const { props: data } = useCleanAttrs()\r\n if (transformRules) {\r\n each(transformRules, (event, extract) => {\r\n data.value[`on${event[0].toUpperCase()}${event.slice(1)}`]\r\n = attrs[`on${extract[0].toUpperCase()}${extract.slice(1)}`]\r\n })\r\n }\r\n return h(tag, data.value, slots)\r\n }\r\n },\r\n })\r\n}\r\n\r\n// fork from https://github.com/alibaba/formily/blob/7c64c671252adf85471ac5aabfddbaf4fc537354/packages/vue/src/shared/connect.ts#L65\r\nexport function mapReadPretty<T extends Component, C extends Component>(\r\n component: C,\r\n readPrettyProps?: Record<string, any>,\r\n) {\r\n return (target: T) => {\r\n return observer(\r\n defineComponent({\r\n name: target.name ? `Read${target.name}` : `ReadComponent`,\r\n setup(props, { attrs, slots, listeners }: Record<string, any>) {\r\n const fieldRef = useField()\r\n return () => {\r\n const field = fieldRef.value\r\n const isEditableReadPretty = !!field?.data?.readPretty\r\n return h(\r\n field && !isVoidField(field) && (field.pattern === 'readPretty' || isEditableReadPretty)\r\n ? component\r\n : target,\r\n {\r\n attrs: {\r\n ...readPrettyProps,\r\n ...attrs,\r\n },\r\n on: listeners,\r\n },\r\n slots,\r\n )\r\n }\r\n },\r\n }),\r\n )\r\n }\r\n}\r\n"],"names":["transformComponent","tag","transformRules","componentName","defineComponent","props","attrs","slots","data","useCleanAttrs","each","event","extract","h","mapReadPretty","component","readPrettyProps","target","observer","listeners","fieldRef","useField","field","isEditableReadPretty","isVoidField"],"mappings":";;;;;;AAUO,SAASA,EAAkDC,GAAUC,GAA8D;AACxI,QAAMC,IAAgBF,EAAI,KAAK,MAAM,IAAI,EAAE,CAAC;AAC5C,SAAOG,EAAgB;AAAA,IACrB,MAAM,IAAID,CAAa;AAAA,IACvB,MAAME,GAAO,EAAE,OAAAC,GAAO,OAAAC,KAAS;AAC7B,aAAO,MAAM;AACX,cAAM,EAAE,OAAOC,EAAA,IAASC,EAAA;AACxB,eAAIP,KACFQ,EAAKR,GAAgB,CAACS,GAAOC,MAAY;AACvC,UAAAJ,EAAK,MAAM,KAAKG,EAAM,CAAC,EAAE,YAAA,CAAa,GAAGA,EAAM,MAAM,CAAC,CAAC,EAAE,IACrDL,EAAM,KAAKM,EAAQ,CAAC,EAAE,aAAa,GAAGA,EAAQ,MAAM,CAAC,CAAC,EAAE;AAAA,QAC9D,CAAC,GAEIC,EAAEZ,GAAKO,EAAK,OAAOD,CAAK;AAAA,MACjC;AAAA,IACF;AAAA,EAAA,CACD;AACH;AAGO,SAASO,EACdC,GACAC,GACA;AACA,SAAO,CAACC,MACCC;AAAA,IACLd,EAAgB;AAAA,MACd,MAAMa,EAAO,OAAO,OAAOA,EAAO,IAAI,KAAK;AAAA,MAC3C,MAAMZ,GAAO,EAAE,OAAAC,GAAO,OAAAC,GAAO,WAAAY,KAAkC;AAC7D,cAAMC,IAAWC,EAAA;AACjB,eAAO,MAAM;AACX,gBAAMC,IAAQF,EAAS,OACjBG,IAAuB,CAAC,CAACD,GAAO,MAAM;AAC5C,iBAAOT;AAAA,YACLS,KAAS,CAACE,EAAYF,CAAK,MAAMA,EAAM,YAAY,gBAAgBC,KAC/DR,IACAE;AAAA,YACJ;AAAA,cACE,OAAO;AAAA,gBACL,GAAGD;AAAA,gBACH,GAAGV;AAAA,cAAA;AAAA,cAEL,IAAIa;AAAA,YAAA;AAAA,YAENZ;AAAA,UAAA;AAAA,QAEJ;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAAA;AAGP;"}
@@ -6,7 +6,7 @@ function y(t = []) {
6
6
  const r = i();
7
7
  return {
8
8
  props: a(() => {
9
- const e = ["modelValue", "value", "onChange", "attrs", "on", "readOnly"];
9
+ const e = ["value", "onChange", "attrs", "on", "readOnly"];
10
10
  return o(r.value.attrs) ? n({ ...r.value, ...r.value.attrs }, e.concat(t)) : n(r.value, e.concat(t));
11
11
  })
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../src/__builtins__/shared/utils.ts"],"sourcesContent":["import type { Component, ComputedRef, Slot, VNode } from 'vue'\nimport { isPlainObj } from '@formily/shared'\nimport { useAttrs } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, Fragment } from 'vue'\n\nexport function useCleanAttrs(removeAttrsList: string[] = []): {\n props: ComputedRef<Record<string, any>>\n} {\n const attrs = useAttrs()\n const props = computed(() => {\n const DEFAULT_REMOVE_ATTRS = ['modelValue', 'value', 'onChange', 'attrs', 'on', 'readOnly']\n if (isPlainObj(attrs.value.attrs)) {\n return omit({ ...attrs.value, ...attrs.value.attrs }, DEFAULT_REMOVE_ATTRS.concat(removeAttrsList))\n }\n return omit(attrs.value, DEFAULT_REMOVE_ATTRS.concat(removeAttrsList))\n })\n return {\n props,\n }\n}\n\nexport function isVueOptions(options: any): options is Component {\n return (\n options\n && (typeof options.template === 'string'\n || typeof options.render === 'function')\n )\n}\n\nexport function composeExport<T0 extends object, T1 extends object>(\n s0: T0,\n s1: T1,\n): T0 & T1 {\n return Object.assign(s0, s1)\n}\n\n// Adapted from https://github.com/vuejs/vue-next/blob/ca17162e377e0a0bf3fae9d92d0fdcb32084a9fe/packages/runtime-core/src/helpers/renderSlot.ts#L77\n/* istanbul ignore next -- @preserve */\nexport function isVnodeEmpty(vnodes: Array<VNode>) {\n return vnodes.every((node: VNode) => {\n if (node.type === Comment) {\n return true\n }\n\n if (node.type === Text && typeof node.children === 'string' && !node.children.trim()) {\n return true\n }\n\n if (\n node.type === Fragment\n && isVnodeEmpty(node.children as Array<VNode>)\n ) {\n return true\n }\n\n return false\n })\n}\n\nexport function hasSlotContent(slot: Slot<any> | undefined) {\n if (!slot) {\n return false\n }\n return !isVnodeEmpty(slot())\n}\n"],"names":["useCleanAttrs","removeAttrsList","attrs","useAttrs","computed","DEFAULT_REMOVE_ATTRS","isPlainObj","omit","isVueOptions","options","composeExport","s0","s1","isVnodeEmpty","vnodes","node","Fragment","hasSlotContent","slot"],"mappings":";;;;AAMO,SAASA,EAAcC,IAA4B,IAExD;AACA,QAAMC,IAAQC,EAAA;AAQd,SAAO;AAAA,IACL,OARYC,EAAS,MAAM;AAC3B,YAAMC,IAAuB,CAAC,cAAc,SAAS,YAAY,SAAS,MAAM,UAAU;AAC1F,aAAIC,EAAWJ,EAAM,MAAM,KAAK,IACvBK,EAAK,EAAE,GAAGL,EAAM,OAAO,GAAGA,EAAM,MAAM,MAAA,GAASG,EAAqB,OAAOJ,CAAe,CAAC,IAE7FM,EAAKL,EAAM,OAAOG,EAAqB,OAAOJ,CAAe,CAAC;AAAA,IACvE,CAAC;AAAA,EAEC;AAEJ;AAEO,SAASO,EAAaC,GAAoC;AAC/D,SACEA,MACI,OAAOA,EAAQ,YAAa,YAC3B,OAAOA,EAAQ,UAAW;AAEnC;AAEO,SAASC,EACdC,GACAC,GACS;AACT,SAAO,OAAO,OAAOD,GAAIC,CAAE;AAC7B;AAGA;AACO,SAASC,EAAaC,GAAsB;AACjD,SAAOA,EAAO,MAAM,CAACC,MACf,GAAAA,EAAK,SAAS,WAIdA,EAAK,SAAS,QAAQ,OAAOA,EAAK,YAAa,YAAY,CAACA,EAAK,SAAS,KAAA,KAK5EA,EAAK,SAASC,KACXH,EAAaE,EAAK,QAAwB,EAMhD;AACH;AAEO,SAASE,EAAeC,GAA6B;AAC1D,SAAKA,IAGE,CAACL,EAAaK,GAAM,IAFlB;AAGX;"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../../src/__builtins__/shared/utils.ts"],"sourcesContent":["import type { Component, ComputedRef, Slot, VNode } from 'vue'\r\nimport { isPlainObj } from '@formily/shared'\r\nimport { useAttrs } from 'element-plus'\r\nimport { omit } from 'lodash-es'\r\nimport { computed, Fragment } from 'vue'\r\n\r\nexport function useCleanAttrs(removeAttrsList: string[] = []): {\r\n props: ComputedRef<Record<string, any>>\r\n} {\r\n const attrs = useAttrs()\r\n const props = computed(() => {\r\n const DEFAULT_REMOVE_ATTRS = ['value', 'onChange', 'attrs', 'on', 'readOnly']\r\n if (isPlainObj(attrs.value.attrs)) {\r\n return omit({ ...attrs.value, ...attrs.value.attrs }, DEFAULT_REMOVE_ATTRS.concat(removeAttrsList))\r\n }\r\n return omit(attrs.value, DEFAULT_REMOVE_ATTRS.concat(removeAttrsList))\r\n })\r\n return {\r\n props,\r\n }\r\n}\r\n\r\nexport function isVueOptions(options: any): options is Component {\r\n return (\r\n options\r\n && (typeof options.template === 'string'\r\n || typeof options.render === 'function')\r\n )\r\n}\r\n\r\nexport function composeExport<T0 extends object, T1 extends object>(\r\n s0: T0,\r\n s1: T1,\r\n): T0 & T1 {\r\n return Object.assign(s0, s1)\r\n}\r\n\r\n// Adapted from https://github.com/vuejs/vue-next/blob/ca17162e377e0a0bf3fae9d92d0fdcb32084a9fe/packages/runtime-core/src/helpers/renderSlot.ts#L77\r\n/* istanbul ignore next -- @preserve */\r\nexport function isVnodeEmpty(vnodes: Array<VNode>) {\r\n return vnodes.every((node: VNode) => {\r\n if (node.type === Comment) {\r\n return true\r\n }\r\n\r\n if (node.type === Text && typeof node.children === 'string' && !node.children.trim()) {\r\n return true\r\n }\r\n\r\n if (\r\n node.type === Fragment\r\n && isVnodeEmpty(node.children as Array<VNode>)\r\n ) {\r\n return true\r\n }\r\n\r\n return false\r\n })\r\n}\r\n\r\nexport function hasSlotContent(slot: Slot<any> | undefined) {\r\n if (!slot) {\r\n return false\r\n }\r\n return !isVnodeEmpty(slot())\r\n}\r\n"],"names":["useCleanAttrs","removeAttrsList","attrs","useAttrs","computed","DEFAULT_REMOVE_ATTRS","isPlainObj","omit","isVueOptions","options","composeExport","s0","s1","isVnodeEmpty","vnodes","node","Fragment","hasSlotContent","slot"],"mappings":";;;;AAMO,SAASA,EAAcC,IAA4B,IAExD;AACA,QAAMC,IAAQC,EAAA;AAQd,SAAO;AAAA,IACL,OARYC,EAAS,MAAM;AAC3B,YAAMC,IAAuB,CAAC,SAAS,YAAY,SAAS,MAAM,UAAU;AAC5E,aAAIC,EAAWJ,EAAM,MAAM,KAAK,IACvBK,EAAK,EAAE,GAAGL,EAAM,OAAO,GAAGA,EAAM,MAAM,MAAA,GAASG,EAAqB,OAAOJ,CAAe,CAAC,IAE7FM,EAAKL,EAAM,OAAOG,EAAqB,OAAOJ,CAAe,CAAC;AAAA,IACvE,CAAC;AAAA,EAEC;AAEJ;AAEO,SAASO,EAAaC,GAAoC;AAC/D,SACEA,MACI,OAAOA,EAAQ,YAAa,YAC3B,OAAOA,EAAQ,UAAW;AAEnC;AAEO,SAASC,EACdC,GACAC,GACS;AACT,SAAO,OAAO,OAAOD,GAAIC,CAAE;AAC7B;AAGA;AACO,SAASC,EAAaC,GAAsB;AACjD,SAAOA,EAAO,MAAM,CAACC,MACf,GAAAA,EAAK,SAAS,WAIdA,EAAK,SAAS,QAAQ,OAAOA,EAAK,YAAa,YAAY,CAACA,EAAK,SAAS,KAAA,KAK5EA,EAAK,SAASC,KACXH,EAAaE,EAAK,QAAwB,EAMhD;AACH;AAEO,SAASE,EAAeC,GAA6B;AAC1D,SAAKA,IAGE,CAACL,EAAaK,GAAM,IAFlB;AAGX;"}
@@ -1,14 +1,11 @@
1
1
  import { defineComponent as o, createBlock as m, createCommentVNode as f, unref as a, openBlock as i, normalizeClass as u, withCtx as h, createTextVNode as _, toDisplayString as v, createElementBlock as C, renderSlot as c, provide as M, useAttrs as w, withModifiers as $ } from "vue";
2
+ import { Plus as D, ArrowDown as I, ArrowUp as R, Delete as S, Rank as U } from "@element-plus/icons-vue";
3
+ import { useField as B, useFieldSchema as V } from "@silver-formily/vue";
2
4
  import { ElLink as y } from "element-plus";
3
- import "@formily/reactive";
4
- import "@formily/core";
5
- import "@formily/reactive-vue";
6
- import { useField as B, useFieldSchema as D } from "@formily/vue";
7
- import { composeExport as I } from "../__builtins__/shared/utils.mjs";
8
- import { Plus as R, ArrowDown as S, ArrowUp as U, Delete as V, Rank as z } from "@element-plus/icons-vue";
9
- import { useArray as p, compatibleUnderlineProp as b, prefixCls as d, getDefaultValue as g, useIndex as k, useRecord as E, useKey as F } from "./utils.mjs";
10
- import { ArrayBaseSymbol as H, ItemSymbol as N } from "./symbols.mjs";
5
+ import { useArray as p, compatibleUnderlineProp as b, prefixCls as d, getDefaultValue as z, useIndex as k, useRecord as g, useKey as E } from "./utils.mjs";
6
+ import { ArrayBaseSymbol as F, ItemSymbol as H } from "./symbols.mjs";
11
7
  import { isArr as x } from "@formily/shared";
8
+ import { composeExport as N } from "../__builtins__/shared/utils.mjs";
12
9
  import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
13
10
  name: "ArrayBaseAddition",
14
11
  __name: "array-base-addition",
@@ -17,16 +14,16 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
17
14
  defaultValue: null,
18
15
  title: null
19
16
  },
20
- setup(r) {
21
- const n = r, t = B(), e = p();
17
+ setup(l) {
18
+ const n = l, t = B(), e = p();
22
19
  function s() {
23
- const l = g(n.defaultValue, e?.schema.value);
24
- n.method === "unshift" ? (e?.field?.value.unshift(l), e.attrs?.add?.(0)) : (e?.field?.value.push(l), e.attrs?.add?.(e?.field?.value?.value?.length - 1));
20
+ const r = z(n.defaultValue, e?.schema.value);
21
+ n.method === "unshift" ? (e?.field?.value.unshift(r), e.attrs?.add?.(0)) : (e?.field?.value.push(r), e.attrs?.add?.(e?.field?.value?.value?.length - 1));
25
22
  }
26
- return (l, A) => a(e).field.value.pattern === "editable" ? (i(), m(a(y), {
23
+ return (r, A) => a(e).field.value.pattern === "editable" ? (i(), m(a(y), {
27
24
  key: 0,
28
25
  class: u(`${a(d)}-addition`),
29
- icon: a(R),
26
+ icon: a(D),
30
27
  underline: a(b)(),
31
28
  role: "button",
32
29
  "aria-label": "添加条目",
@@ -41,7 +38,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
41
38
  }), K = /* @__PURE__ */ o({
42
39
  name: "ArrayBaseIndex",
43
40
  __name: "array-base-index",
44
- setup(r) {
41
+ setup(l) {
45
42
  const n = k();
46
43
  return (t, e) => (i(), C("span", {
47
44
  class: u(`${a(d)}-index`)
@@ -59,15 +56,15 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
59
56
  disabled: { type: Boolean },
60
57
  keyMap: null
61
58
  },
62
- setup(r) {
63
- const n = r, t = B(), e = D();
64
- return M(H, {
59
+ setup(l) {
60
+ const n = l, t = B(), e = V();
61
+ return M(F, {
65
62
  field: t,
66
63
  schema: e,
67
64
  props: n,
68
65
  attrs: w(),
69
66
  keyMap: n.keyMap
70
- }), (s, l) => c(s.$slots, "default");
67
+ }), (s, r) => c(s.$slots, "default");
71
68
  }
72
69
  }), T = /* @__PURE__ */ o({
73
70
  name: "ArrayBaseItem",
@@ -76,8 +73,8 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
76
73
  index: null,
77
74
  record: null
78
75
  },
79
- setup(r) {
80
- return M(N, r), (t, e) => c(t.$slots, "default");
76
+ setup(l) {
77
+ return M(H, l), (t, e) => c(t.$slots, "default");
81
78
  }
82
79
  }), j = /* @__PURE__ */ o({
83
80
  name: "ArrayBaseMoveDown",
@@ -85,8 +82,8 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
85
82
  props: {
86
83
  title: null
87
84
  },
88
- setup(r) {
89
- const n = r, t = k(), e = p();
85
+ setup(l) {
86
+ const n = l, t = k(), e = p();
90
87
  function s() {
91
88
  x(e?.keyMap) && e.keyMap.splice(
92
89
  t.value + 1,
@@ -94,18 +91,18 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
94
91
  e.keyMap.splice(t.value, 1)[0]
95
92
  ), e?.field.value.moveDown(t.value), e?.attrs?.moveDown?.(t.value);
96
93
  }
97
- return (l, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
94
+ return (r, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
98
95
  key: 0,
99
96
  class: u(`${a(d)}-move-down`),
100
97
  size: "small",
101
- icon: a(S),
98
+ icon: a(I),
102
99
  underline: a(b)(),
103
100
  role: "button",
104
101
  "aria-label": "下移条目",
105
102
  onClick: $(s, ["stop"])
106
103
  }, {
107
104
  default: h(() => [
108
- c(l.$slots, "default", {}, () => [
105
+ c(r.$slots, "default", {}, () => [
109
106
  _(v(n.title), 1)
110
107
  ])
111
108
  ]),
@@ -118,8 +115,8 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
118
115
  props: {
119
116
  title: null
120
117
  },
121
- setup(r) {
122
- const n = r, t = k(), e = p();
118
+ setup(l) {
119
+ const n = l, t = k(), e = p();
123
120
  function s() {
124
121
  x(e?.keyMap) && e.keyMap.splice(
125
122
  t.value - 1,
@@ -127,18 +124,18 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
127
124
  e.keyMap.splice(t.value, 1)[0]
128
125
  ), e?.field.value.moveUp(t.value), e?.attrs?.moveUp?.(t.value);
129
126
  }
130
- return (l, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
127
+ return (r, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
131
128
  key: 0,
132
129
  class: u(`${a(d)}-move-up`),
133
130
  size: "small",
134
- icon: a(U),
131
+ icon: a(R),
135
132
  underline: a(b)(),
136
133
  role: "button",
137
134
  "aria-label": "上移条目",
138
135
  onClick: $(s, ["stop"])
139
136
  }, {
140
137
  default: h(() => [
141
- c(l.$slots, "default", {}, () => [
138
+ c(r.$slots, "default", {}, () => [
142
139
  _(v(n.title), 1)
143
140
  ])
144
141
  ]),
@@ -151,23 +148,23 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
151
148
  props: {
152
149
  title: null
153
150
  },
154
- setup(r) {
155
- const n = r, t = k(), e = p();
151
+ setup(l) {
152
+ const n = l, t = k(), e = p();
156
153
  function s() {
157
154
  x(e?.keyMap) && e?.keyMap?.splice(t.value, 1), e?.field.value.remove(t.value), e?.attrs?.remove?.(t.value);
158
155
  }
159
- return (l, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
156
+ return (r, A) => a(e)?.field.value.pattern === "editable" ? (i(), m(a(y), {
160
157
  key: 0,
161
158
  class: u(`${a(d)}-remove`),
162
159
  size: "small",
163
- icon: a(V),
160
+ icon: a(S),
164
161
  underline: a(b)(),
165
162
  role: "button",
166
163
  "aria-label": "移除条目",
167
164
  onClick: $(s, ["stop"])
168
165
  }, {
169
166
  default: h(() => [
170
- c(l.$slots, "default", {}, () => [
167
+ c(r.$slots, "default", {}, () => [
171
168
  _(v(n.title), 1)
172
169
  ])
173
170
  ]),
@@ -177,20 +174,20 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
177
174
  }), J = /* @__PURE__ */ o({
178
175
  name: "ArrayBaseSortHandle",
179
176
  __name: "array-base-sort-handle",
180
- setup(r) {
177
+ setup(l) {
181
178
  const n = p();
182
179
  return (t, e) => a(n).field.value?.pattern === "editable" ? (i(), m(a(y), {
183
180
  key: 0,
184
181
  class: u(`${a(d)}-sort-handle`),
185
182
  size: "small",
186
- icon: a(z),
183
+ icon: a(U),
187
184
  underline: a(b)(),
188
185
  role: "button",
189
186
  "aria-label": "拖拽排序",
190
187
  "aria-dropeffect": "move"
191
188
  }, null, 8, ["class", "icon", "underline"])) : f("", !0);
192
189
  }
193
- }), le = I(L, {
190
+ }), te = N(L, {
194
191
  Index: K,
195
192
  Item: T,
196
193
  SortHandle: J,
@@ -200,10 +197,10 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
200
197
  MoveUp: q,
201
198
  useArray: p,
202
199
  useIndex: k,
203
- useKey: F,
204
- useRecord: E
200
+ useKey: E,
201
+ useRecord: g
205
202
  });
206
203
  export {
207
- le as ArrayBase
204
+ te as ArrayBase
208
205
  };
209
206
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/array-base/array-base-addition.vue","../../src/array-base/array-base-index.vue","../../src/array-base/array-base-inner.vue","../../src/array-base/array-base-item.vue","../../src/array-base/array-base-move-down.vue","../../src/array-base/array-base-move-up.vue","../../src/array-base/array-base-remove.vue","../../src/array-base/array-base-sort-handle.vue","../../src/array-base/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IArrayBaseAdditionProps } from './types'\nimport { Plus } from '@element-plus/icons-vue'\nimport { useField } from '@formily/vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, getDefaultValue, prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseAddition',\n})\n\nconst props = defineProps({\n method: { default: 'push' },\n defaultValue: null,\n title: null\n})\n\nconst self = useField()\nconst base = useArray()\n\nfunction onAddItemClick() {\n const defaultValue = getDefaultValue(props.defaultValue, base?.schema.value)\n if (props.method === 'unshift') {\n base?.field?.value.unshift(defaultValue)\n base.attrs?.add?.(0)\n }\n else {\n base?.field?.value.push(defaultValue)\n base.attrs?.add?.(base?.field?.value?.value?.length - 1)\n }\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-addition`\"\n :icon=\"Plus\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"添加条目\"\n @click=\"onAddItemClick\"\n >\n {{ self.title || props.title }}\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { prefixCls, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseIndex',\n})\n\nconst index = useIndex()\n</script>\n\n<template>\n <span :class=\"`${prefixCls}-index`\">\n <slot :index=\"index\">\n #{{ index + 1 }}.\n </slot>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { IArrayBaseProps } from './types'\nimport { useField, useFieldSchema } from '@formily/vue'\nimport { provide, useAttrs } from 'vue'\nimport { ArrayBaseSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseInner',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n disabled: { type: Boolean },\n keyMap: null\n})\n\nconst field = useField<ArrayField>()\nconst schema = useFieldSchema()\n\nprovide(ArrayBaseSymbol, {\n field,\n schema,\n props,\n attrs: useAttrs(),\n keyMap: props.keyMap,\n})\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseItemProps } from './types'\nimport { provide } from 'vue'\nimport { ItemSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseItem',\n})\n\nconst props = defineProps({\n index: null,\n record: null\n})\n\nprovide(ItemSymbol, props)\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveDown',\n})\n\nconst props = defineProps({\n title: null\n})\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value + 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveDown(indexRef.value as number)\n base?.attrs?.moveDown?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-down`\"\n size=\"small\"\n :icon=\"ArrowDown\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"下移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowUp } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveUp',\n})\n\nconst props = defineProps({\n title: null\n})\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value - 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveUp(indexRef.value as number)\n base?.attrs?.moveUp?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-up`\"\n size=\"small\"\n :icon=\"ArrowUp\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"上移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { Delete } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseRemove',\n})\n\nconst props = defineProps({\n title: null\n})\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base?.keyMap?.splice(indexRef.value, 1)\n }\n\n base?.field.value.remove(indexRef.value as number)\n base?.attrs?.remove?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-remove`\"\n size=\"small\"\n :icon=\"Delete\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"移除条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { Rank } from '@element-plus/icons-vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp, prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseSortHandle',\n})\n\nconst array = useArray()\n</script>\n\n<template>\n <ElLink\n v-if=\"array.field.value?.pattern === 'editable'\"\n :class=\"`${prefixCls}-sort-handle`\"\n size=\"small\"\n :icon=\"Rank\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"拖拽排序\"\n aria-dropeffect=\"move\"\n />\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport ArrayBaseAddition from './array-base-addition.vue'\nimport ArrayBaseIndex from './array-base-index.vue'\nimport ArrayBaseInner from './array-base-inner.vue'\nimport ArrayBaseItem from './array-base-item.vue'\nimport ArrayBaseMoveDown from './array-base-move-down.vue'\nimport ArrayBaseMoveUp from './array-base-move-up.vue'\nimport ArrayBaseRemove from './array-base-remove.vue'\nimport ArrayBaseSortHandle from './array-base-sort-handle.vue'\nimport { useArray, useIndex, useKey, useRecord } from './utils'\nimport './style.scss'\n\nexport const ArrayBase = composeExport(ArrayBaseInner, {\n Index: ArrayBaseIndex,\n Item: ArrayBaseItem,\n SortHandle: ArrayBaseSortHandle,\n Addition: ArrayBaseAddition,\n Remove: ArrayBaseRemove,\n MoveDown: ArrayBaseMoveDown,\n MoveUp: ArrayBaseMoveUp,\n useArray,\n useIndex,\n useKey,\n useRecord,\n})\n"],"names":["props","__props","self","useField","base","useArray","onAddItemClick","defaultValue","getDefaultValue","_unref","_createBlock","ElLink","prefixCls","Plus","compatibleUnderlineProp","_createTextVNode","_toDisplayString","index","useIndex","_createElementBlock","_renderSlot","_ctx","field","schema","useFieldSchema","provide","ArrayBaseSymbol","useAttrs","ItemSymbol","indexRef","handleClick","isArr","ArrowDown","ArrowUp","Delete","array","Rank","ArrayBase","composeExport","ArrayBaseInner","ArrayBaseIndex","ArrayBaseItem","ArrayBaseSortHandle","ArrayBaseAddition","ArrayBaseRemove","ArrayBaseMoveDown","ArrayBaseMoveUp","useKey","useRecord"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/array-base/array-base-addition.vue","../../src/array-base/array-base-index.vue","../../src/array-base/array-base-inner.vue","../../src/array-base/array-base-item.vue","../../src/array-base/array-base-move-down.vue","../../src/array-base/array-base-move-up.vue","../../src/array-base/array-base-remove.vue","../../src/array-base/array-base-sort-handle.vue","../../src/array-base/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { IArrayBaseAdditionProps } from './types'\r\nimport { Plus } from '@element-plus/icons-vue'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, getDefaultValue, prefixCls, useArray } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseAddition',\r\n})\r\n\r\nconst props = defineProps({\n method: { default: 'push' },\n defaultValue: null,\n title: null\n})\r\n\r\nconst self = useField()\r\nconst base = useArray()\r\n\r\nfunction onAddItemClick() {\r\n const defaultValue = getDefaultValue(props.defaultValue, base?.schema.value)\r\n if (props.method === 'unshift') {\r\n base?.field?.value.unshift(defaultValue)\r\n base.attrs?.add?.(0)\r\n }\r\n else {\r\n base?.field?.value.push(defaultValue)\r\n base.attrs?.add?.(base?.field?.value?.value?.length - 1)\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-addition`\"\r\n :icon=\"Plus\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"添加条目\"\r\n @click=\"onAddItemClick\"\r\n >\r\n {{ self.title || props.title }}\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport { prefixCls, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseIndex',\r\n})\r\n\r\nconst index = useIndex()\r\n</script>\r\n\r\n<template>\r\n <span :class=\"`${prefixCls}-index`\">\r\n <slot :index=\"index\">\r\n #{{ index + 1 }}.\r\n </slot>\r\n </span>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { IArrayBaseProps } from './types'\r\nimport { useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { provide, useAttrs } from 'vue'\r\nimport { ArrayBaseSymbol } from './symbols'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseInner',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\n disabled: { type: Boolean },\n keyMap: null\n})\r\n\r\nconst field = useField<ArrayField>()\r\nconst schema = useFieldSchema()\r\n\r\nprovide(ArrayBaseSymbol, {\r\n field,\r\n schema,\r\n props,\r\n attrs: useAttrs(),\r\n keyMap: props.keyMap,\r\n})\r\n</script>\r\n\r\n<template>\r\n <slot />\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseItemProps } from './types'\r\nimport { provide } from 'vue'\r\nimport { ItemSymbol } from './symbols'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseItem',\r\n})\r\n\r\nconst props = defineProps({\n index: null,\n record: null\n})\r\n\r\nprovide(ItemSymbol, props)\r\n</script>\r\n\r\n<template>\r\n <slot />\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { ArrowDown } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseMoveDown',\r\n})\r\n\r\nconst props = defineProps({\n title: null\n})\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base.keyMap.splice(\r\n indexRef.value + 1,\r\n 0,\r\n base.keyMap.splice(indexRef.value, 1)[0],\r\n )\r\n }\r\n base?.field.value.moveDown(indexRef.value as number)\r\n base?.attrs?.moveDown?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-move-down`\"\r\n size=\"small\"\r\n :icon=\"ArrowDown\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"下移条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { ArrowUp } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseMoveUp',\r\n})\r\n\r\nconst props = defineProps({\n title: null\n})\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base.keyMap.splice(\r\n indexRef.value - 1,\r\n 0,\r\n base.keyMap.splice(indexRef.value, 1)[0],\r\n )\r\n }\r\n base?.field.value.moveUp(indexRef.value as number)\r\n base?.attrs?.moveUp?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-move-up`\"\r\n size=\"small\"\r\n :icon=\"ArrowUp\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"上移条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { Delete } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseRemove',\r\n})\r\n\r\nconst props = defineProps({\n title: null\n})\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base?.keyMap?.splice(indexRef.value, 1)\r\n }\r\n\r\n base?.field.value.remove(indexRef.value as number)\r\n base?.attrs?.remove?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-remove`\"\r\n size=\"small\"\r\n :icon=\"Delete\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"移除条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport { Rank } from '@element-plus/icons-vue'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp, prefixCls, useArray } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseSortHandle',\r\n})\r\n\r\nconst array = useArray()\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"array.field.value?.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-sort-handle`\"\r\n size=\"small\"\r\n :icon=\"Rank\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"拖拽排序\"\r\n aria-dropeffect=\"move\"\r\n />\r\n</template>\r\n","import { composeExport } from '../__builtins__/shared'\r\nimport ArrayBaseAddition from './array-base-addition.vue'\r\nimport ArrayBaseIndex from './array-base-index.vue'\r\nimport ArrayBaseInner from './array-base-inner.vue'\r\nimport ArrayBaseItem from './array-base-item.vue'\r\nimport ArrayBaseMoveDown from './array-base-move-down.vue'\r\nimport ArrayBaseMoveUp from './array-base-move-up.vue'\r\nimport ArrayBaseRemove from './array-base-remove.vue'\r\nimport ArrayBaseSortHandle from './array-base-sort-handle.vue'\r\nimport { useArray, useIndex, useKey, useRecord } from './utils'\r\nimport './style.scss'\r\n\r\nexport const ArrayBase = composeExport(ArrayBaseInner, {\r\n Index: ArrayBaseIndex,\r\n Item: ArrayBaseItem,\r\n SortHandle: ArrayBaseSortHandle,\r\n Addition: ArrayBaseAddition,\r\n Remove: ArrayBaseRemove,\r\n MoveDown: ArrayBaseMoveDown,\r\n MoveUp: ArrayBaseMoveUp,\r\n useArray,\r\n useIndex,\r\n useKey,\r\n useRecord,\r\n})\r\n"],"names":["props","__props","self","useField","base","useArray","onAddItemClick","defaultValue","getDefaultValue","_unref","_createBlock","ElLink","prefixCls","Plus","compatibleUnderlineProp","_createTextVNode","_toDisplayString","index","useIndex","_createElementBlock","_renderSlot","_ctx","field","schema","useFieldSchema","provide","ArrayBaseSymbol","useAttrs","ItemSymbol","indexRef","handleClick","isArr","ArrowDown","ArrowUp","Delete","array","Rank","ArrayBase","composeExport","ArrayBaseInner","ArrayBaseIndex","ArrayBaseItem","ArrayBaseSortHandle","ArrayBaseAddition","ArrayBaseRemove","ArrayBaseMoveDown","ArrayBaseMoveUp","useKey","useRecord"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.mjs","sources":["../../src/array-base/symbols.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { IArrayBaseContext, IArrayBaseItemProps } from './types'\n\nexport const ArrayBaseSymbol: InjectionKey<IArrayBaseContext> = Symbol('ArrayBaseContext')\nexport const ItemSymbol: InjectionKey<IArrayBaseItemProps> = Symbol('ItemContext')\n"],"names":["ArrayBaseSymbol","ItemSymbol"],"mappings":"AAGO,MAAMA,IAAmD,OAAO,kBAAkB,GAC5EC,IAAgD,OAAO,aAAa;"}
1
+ {"version":3,"file":"symbols.mjs","sources":["../../src/array-base/symbols.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\r\nimport type { IArrayBaseContext, IArrayBaseItemProps } from './types'\r\n\r\nexport const ArrayBaseSymbol: InjectionKey<IArrayBaseContext> = Symbol('ArrayBaseContext')\r\nexport const ItemSymbol: InjectionKey<IArrayBaseItemProps> = Symbol('ItemContext')\r\n"],"names":["ArrayBaseSymbol","ItemSymbol"],"mappings":"AAGO,MAAMA,IAAmD,OAAO,kBAAkB,GAC5EC,IAAgD,OAAO,aAAa;"}