@robot-admin/naive-ui-components 0.22.0 → 0.23.0

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 (321) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +9 -5
  3. package/README_EN.md +9 -5
  4. package/dist/C_ActionBar.d.cts +2 -1
  5. package/dist/C_ActionBar.d.ts +2 -1
  6. package/dist/C_AntV2.cjs +3 -3
  7. package/dist/C_AntV2.js +3 -3
  8. package/dist/C_BatchResult.cjs +1 -0
  9. package/dist/C_BatchResult.css +32 -0
  10. package/dist/C_BatchResult.d.cts +2 -0
  11. package/dist/C_BatchResult.d.ts +2 -0
  12. package/dist/C_BatchResult.js +1 -0
  13. package/dist/C_BatchResult2.cjs +1 -0
  14. package/dist/C_BatchResult2.js +1 -0
  15. package/dist/C_Breadcrumb.d.cts +2 -2
  16. package/dist/C_Breadcrumb.d.ts +1 -1
  17. package/dist/C_Captcha.d.ts +2 -0
  18. package/dist/C_Cascade.d.cts +1 -1
  19. package/dist/C_Cascade.d.ts +1 -1
  20. package/dist/C_Chat.d.cts +1 -1
  21. package/dist/C_Chat.d.ts +1 -1
  22. package/dist/C_City.d.cts +1 -1
  23. package/dist/C_City.d.ts +1 -1
  24. package/dist/C_Code.d.cts +1 -1
  25. package/dist/C_Code.d.ts +1 -1
  26. package/dist/C_ContextMenu.d.cts +1 -1
  27. package/dist/C_ContextMenu.d.ts +1 -1
  28. package/dist/C_DataPicker.cjs +1 -0
  29. package/dist/C_DataPicker.css +54 -0
  30. package/dist/C_DataPicker.d.cts +2 -0
  31. package/dist/C_DataPicker.d.ts +5 -0
  32. package/dist/C_DataPicker.js +1 -0
  33. package/dist/C_DataPicker2.cjs +1 -0
  34. package/dist/C_DataPicker2.js +1 -0
  35. package/dist/C_Date.d.cts +1 -1
  36. package/dist/C_Date.d.ts +1 -1
  37. package/dist/C_Density.cjs +1 -0
  38. package/dist/C_Density.css +1 -0
  39. package/dist/C_Density.d.cts +3 -0
  40. package/dist/C_Density.d.ts +3 -0
  41. package/dist/C_Density.js +1 -0
  42. package/dist/C_Density2.cjs +1 -0
  43. package/dist/C_Density2.js +1 -0
  44. package/dist/C_Editor.d.cts +1 -1
  45. package/dist/C_Editor.d.ts +1 -1
  46. package/dist/C_ErrorSummary.cjs +1 -0
  47. package/dist/C_ErrorSummary.css +29 -0
  48. package/dist/C_ErrorSummary.d.cts +3 -0
  49. package/dist/C_ErrorSummary.d.ts +3 -0
  50. package/dist/C_ErrorSummary.js +1 -0
  51. package/dist/C_ErrorSummary2.cjs +1 -0
  52. package/dist/C_ErrorSummary2.js +1 -0
  53. package/dist/C_Form.base.css +150 -148
  54. package/dist/C_Form.cjs +1 -1
  55. package/dist/C_Form.css +151 -253
  56. package/dist/C_Form.d.cts +3 -1
  57. package/dist/C_Form.d.ts +19 -1
  58. package/dist/C_Form.js +1 -1
  59. package/dist/C_FormModal.css +11 -12
  60. package/dist/C_FormModal.d.cts +1 -1
  61. package/dist/C_FormModal.d.ts +18 -2
  62. package/dist/C_FormModal2.cjs +1 -1
  63. package/dist/C_FormModal2.js +1 -1
  64. package/dist/C_FormSearch.cjs +1 -1
  65. package/dist/C_FormSearch.css +128 -56
  66. package/dist/C_FormSearch.d.cts +3 -3
  67. package/dist/C_FormSearch.d.ts +5 -3
  68. package/dist/C_FormSearch.js +1 -1
  69. package/dist/C_FormulaEditor.d.cts +1 -1
  70. package/dist/C_FormulaEditor.d.ts +1 -1
  71. package/dist/C_Guide.d.cts +1 -1
  72. package/dist/C_Guide.d.ts +1 -1
  73. package/dist/C_Icon.d.cts +1 -1
  74. package/dist/C_Icon.d.ts +1 -1
  75. package/dist/C_Language.d.cts +1 -1
  76. package/dist/C_Language.d.ts +1 -1
  77. package/dist/C_Loading.d.cts +1 -1
  78. package/dist/C_Loading.d.ts +1 -1
  79. package/dist/C_Login.d.cts +1 -1
  80. package/dist/C_Login.d.ts +4 -1
  81. package/dist/C_Markdown.d.cts +1 -1
  82. package/dist/C_Markdown.d.ts +1 -1
  83. package/dist/C_Menu.d.cts +2 -2
  84. package/dist/C_Menu.d.ts +1 -1
  85. package/dist/C_OrgChart.d.cts +1 -1
  86. package/dist/C_OrgChart.d.ts +1 -1
  87. package/dist/C_Progress.d.cts +1 -1
  88. package/dist/C_Progress.d.ts +1 -1
  89. package/dist/C_SectionNav.cjs +1 -0
  90. package/dist/C_SectionNav.css +46 -0
  91. package/dist/C_SectionNav.d.cts +2 -0
  92. package/dist/C_SectionNav.d.ts +2 -0
  93. package/dist/C_SectionNav.js +1 -0
  94. package/dist/C_SectionNav2.cjs +1 -0
  95. package/dist/C_SectionNav2.js +1 -0
  96. package/dist/C_Skeleton.d.cts +1 -1
  97. package/dist/C_Skeleton.d.ts +1 -1
  98. package/dist/C_Steps.d.cts +1 -1
  99. package/dist/C_Steps.d.ts +1 -1
  100. package/dist/C_Table.base.css +258 -256
  101. package/dist/C_Table.cjs +1 -1
  102. package/dist/C_Table.css +109 -1283
  103. package/dist/C_Table.d.cts +2 -1
  104. package/dist/C_Table.d.ts +11 -7
  105. package/dist/C_Table.js +1 -1
  106. package/dist/C_Table2.cjs +3 -0
  107. package/dist/C_Table2.js +3 -0
  108. package/dist/C_Tabs.cjs +1 -1
  109. package/dist/C_Tabs.d.cts +1 -1
  110. package/dist/C_Tabs.d.ts +1 -1
  111. package/dist/C_Tabs.js +1 -1
  112. package/dist/C_TagsView.d.cts +1 -1
  113. package/dist/C_Theme.d.cts +1 -1
  114. package/dist/C_Theme.d.ts +1 -1
  115. package/dist/C_Timeline.d.cts +1 -1
  116. package/dist/C_Timeline.d.ts +1 -1
  117. package/dist/C_Transfer.d.cts +1 -1
  118. package/dist/C_Transfer.d.ts +1 -1
  119. package/dist/C_Tree.d.cts +1 -1
  120. package/dist/C_Tree.d.ts +10 -6
  121. package/dist/C_Upload.d.cts +1 -1
  122. package/dist/C_Upload.d.ts +1 -1
  123. package/dist/C_WorkFlow2.cjs +1 -1
  124. package/dist/C_WorkFlow2.js +1 -1
  125. package/dist/Card.cjs +1 -1
  126. package/dist/Card.js +1 -1
  127. package/dist/Steps.cjs +1 -1
  128. package/dist/Steps.js +1 -1
  129. package/dist/Tabs.cjs +1 -1
  130. package/dist/Tabs.js +1 -1
  131. package/dist/batchPatch.cjs +1 -0
  132. package/dist/batchPatch.d.cts +26 -0
  133. package/dist/batchPatch.d.ts +26 -0
  134. package/dist/batchPatch.js +1 -0
  135. package/dist/config.cjs +1 -1
  136. package/dist/config.d.cts +7 -1
  137. package/dist/config.d.ts +7 -1
  138. package/dist/config.js +1 -1
  139. package/dist/config2.d.ts +14 -0
  140. package/dist/constants.d.cts +3 -3
  141. package/dist/constants.d.ts +3 -3
  142. package/dist/constants2.d.cts +402 -173
  143. package/dist/constants2.d.ts +402 -173
  144. package/dist/constants3.d.cts +3 -3
  145. package/dist/constants3.d.ts +3 -3
  146. package/dist/constants4.d.cts +173 -402
  147. package/dist/constants4.d.ts +173 -402
  148. package/dist/constants5.d.cts +2 -2
  149. package/dist/constants5.d.ts +2 -2
  150. package/dist/data.cjs +1 -1
  151. package/dist/data.d.cts +5 -108
  152. package/dist/data.d.ts +5 -108
  153. package/dist/data.js +1 -1
  154. package/dist/data2.cjs +1 -1
  155. package/dist/data2.d.cts +108 -0
  156. package/dist/data2.d.ts +108 -0
  157. package/dist/data2.js +1 -1
  158. package/dist/data3.cjs +1 -0
  159. package/dist/data3.js +1 -0
  160. package/dist/dateRange.d.cts +108 -13
  161. package/dist/dateRange.d.ts +108 -13
  162. package/dist/density.cjs +1 -1
  163. package/dist/density.js +1 -1
  164. package/dist/dictionary.cjs +1 -0
  165. package/dist/dictionary.d.cts +38 -0
  166. package/dist/dictionary.d.ts +38 -0
  167. package/dist/dictionary.js +1 -0
  168. package/dist/helpers.cjs +1 -1
  169. package/dist/helpers.js +1 -1
  170. package/dist/index.cjs +1 -1
  171. package/dist/index.d.cts +65 -53
  172. package/dist/index.d.ts +73 -57
  173. package/dist/index.js +1 -1
  174. package/dist/index.vue.d.cts +1 -1
  175. package/dist/index.vue.d.ts +1 -1
  176. package/dist/index10.vue.d.cts +37 -80
  177. package/dist/index10.vue.d.ts +77 -53
  178. package/dist/index11.vue.d.cts +77 -53
  179. package/dist/index11.vue.d.ts +1117 -45
  180. package/dist/index12.vue.d.cts +1117 -45
  181. package/dist/index12.vue.d.ts +17 -128
  182. package/dist/index13.vue.d.cts +17 -128
  183. package/dist/index13.vue.d.ts +57 -53
  184. package/dist/index14.vue.d.cts +57 -53
  185. package/dist/index14.vue.d.ts +16 -25
  186. package/dist/index15.vue.d.cts +16 -25
  187. package/dist/index15.vue.d.ts +52 -12
  188. package/dist/index16.vue.d.cts +52 -12
  189. package/dist/index16.vue.d.ts +13 -129
  190. package/dist/index17.vue.d.cts +13 -129
  191. package/dist/index17.vue.d.ts +123 -74
  192. package/dist/index18.vue.d.cts +123 -74
  193. package/dist/index18.vue.d.ts +48 -71
  194. package/dist/index19.vue.d.cts +40 -91
  195. package/dist/index19.vue.d.ts +36 -96
  196. package/dist/index2.vue.d.cts +2 -2
  197. package/dist/index2.vue.d.ts +2 -2
  198. package/dist/index20.vue.d.cts +38 -47
  199. package/dist/index20.vue.d.ts +13 -48
  200. package/dist/index21.vue.d.cts +12 -96
  201. package/dist/index21.vue.d.ts +25 -95
  202. package/dist/index22.vue.d.cts +20 -32
  203. package/dist/index22.vue.d.ts +75 -37
  204. package/dist/index23.vue.d.cts +77 -13
  205. package/dist/index23.vue.d.ts +71 -13
  206. package/dist/index24.vue.d.cts +2 -2
  207. package/dist/index24.vue.d.ts +1 -1
  208. package/dist/index25.vue.d.cts +116 -90
  209. package/dist/index25.vue.d.ts +116 -90
  210. package/dist/index26.vue.d.cts +94 -59
  211. package/dist/index26.vue.d.ts +94 -59
  212. package/dist/index27.vue.d.cts +75 -0
  213. package/dist/index27.vue.d.ts +75 -0
  214. package/dist/index28.vue.d.cts +103 -0
  215. package/dist/index28.vue.d.ts +103 -0
  216. package/dist/index29.vue.d.cts +105 -0
  217. package/dist/index29.vue.d.ts +105 -0
  218. package/dist/index3.vue.d.cts +4 -4
  219. package/dist/index3.vue.d.ts +4 -4
  220. package/dist/index30.vue.d.cts +28 -0
  221. package/dist/index30.vue.d.ts +28 -0
  222. package/dist/index4.vue.d.cts +19 -128
  223. package/dist/index4.vue.d.ts +17 -34
  224. package/dist/index5.vue.d.cts +127 -35
  225. package/dist/index5.vue.d.ts +30 -19
  226. package/dist/index6.vue.d.cts +30 -19
  227. package/dist/index6.vue.d.ts +22 -118
  228. package/dist/index7.vue.d.cts +22 -118
  229. package/dist/index7.vue.d.ts +112 -18
  230. package/dist/index8.vue.d.cts +112 -18
  231. package/dist/index8.vue.d.ts +24 -35
  232. package/dist/index9.vue.d.cts +24 -35
  233. package/dist/index9.vue.d.ts +37 -80
  234. package/dist/mapUtils.d.cts +4 -4
  235. package/dist/mapUtils.d.ts +4 -4
  236. package/dist/numberCodec.cjs +1 -0
  237. package/dist/numberCodec.d.cts +25 -0
  238. package/dist/numberCodec.d.ts +25 -0
  239. package/dist/numberCodec.js +1 -0
  240. package/dist/observer.cjs +1 -0
  241. package/dist/observer.js +1 -0
  242. package/dist/presets.d.cts +3 -66
  243. package/dist/presets.d.ts +3 -66
  244. package/dist/resolver.cjs +1 -1
  245. package/dist/resolver.d.cts +1 -1
  246. package/dist/resolver.d.ts +1 -1
  247. package/dist/resolver.js +1 -1
  248. package/dist/serializeSearch.cjs +1 -0
  249. package/dist/serializeSearch.js +1 -0
  250. package/dist/style.css +561 -322
  251. package/dist/types.d.cts +60 -103
  252. package/dist/types.d.ts +62 -52
  253. package/dist/types2.d.cts +104 -51
  254. package/dist/types2.d.ts +56 -0
  255. package/dist/types3.d.cts +56 -0
  256. package/dist/useCalendarEvents.d.cts +1 -1
  257. package/dist/useCalendarEvents.d.ts +1 -1
  258. package/dist/useCollapsePanel.d.cts +6 -6
  259. package/dist/useCollapsePanel.d.ts +6 -6
  260. package/dist/useComponentLocale.cjs +1 -1
  261. package/dist/useComponentLocale.js +1 -1
  262. package/dist/useCropperCore.d.cts +13 -13
  263. package/dist/useCropperCore.d.ts +13 -13
  264. package/dist/useDataResource.cjs +1 -0
  265. package/dist/useDataResource.js +1 -0
  266. package/dist/useDictionary.cjs +1 -0
  267. package/dist/useDictionary.js +1 -0
  268. package/dist/useDynamicFormState.d.cts +959 -582
  269. package/dist/useDynamicFormState.d.ts +951 -584
  270. package/dist/useEdgeInteraction.d.cts +3 -3
  271. package/dist/useEdgeInteraction.d.ts +3 -3
  272. package/dist/useFormArray.cjs +1 -0
  273. package/dist/useFormArray.d.cts +69 -0
  274. package/dist/useFormArray.d.ts +69 -0
  275. package/dist/useFormArray.js +1 -0
  276. package/dist/useFormConfig.cjs +1 -0
  277. package/dist/useFormConfig.d.cts +590 -0
  278. package/dist/useFormConfig.d.ts +590 -0
  279. package/dist/useFormConfig.js +1 -0
  280. package/dist/useFullscreen.d.cts +3 -3
  281. package/dist/useFullscreen.d.ts +3 -3
  282. package/dist/useGridWidth.cjs +1 -0
  283. package/dist/useGridWidth.js +1 -0
  284. package/dist/useInfiniteScroll.d.cts +2 -2
  285. package/dist/useInfiniteScroll.d.ts +2 -2
  286. package/dist/useQRCode.d.cts +3 -3
  287. package/dist/useQRCode.d.ts +3 -3
  288. package/dist/useSignatureHistory.d.cts +4 -4
  289. package/dist/useSignatureHistory.d.ts +4 -4
  290. package/dist/useSplitResize.d.cts +5 -5
  291. package/dist/useSplitResize.d.ts +5 -5
  292. package/dist/useTableGlobalConfig.cjs +1 -0
  293. package/dist/useTableGlobalConfig.js +1 -0
  294. package/dist/useTableQuery.cjs +1 -3
  295. package/dist/useTableQuery.js +1 -3
  296. package/dist/useWorkflowValidation.d.cts +6 -6
  297. package/dist/useWorkflowValidation.d.ts +6 -6
  298. package/dist/validation.cjs +1 -0
  299. package/dist/validation.d.cts +18 -0
  300. package/dist/validation.d.ts +18 -0
  301. package/dist/validation.js +1 -0
  302. package/dist/verification.d.cts +4 -4
  303. package/dist/verification.d.ts +4 -4
  304. package/dist/workflows.cjs +1 -0
  305. package/dist/workflows.d.cts +2 -0
  306. package/dist/workflows.d.ts +2 -0
  307. package/dist/workflows.js +1 -0
  308. package/docs/components.en.md +13 -1
  309. package/docs/components.md +13 -1
  310. package/docs/guides/batch-results.md +47 -0
  311. package/docs/guides/data-picker.md +65 -0
  312. package/docs/guides/data-workflows.md +123 -0
  313. package/docs/guides/form-density.en.md +56 -3
  314. package/docs/guides/form-density.md +56 -3
  315. package/docs/guides/search-workflows.md +164 -0
  316. package/docs/guides/usage.en.md +1 -1
  317. package/package.json +21 -1
  318. package/dist/C_FormSearch2.cjs +0 -1
  319. package/dist/C_FormSearch2.js +0 -1
  320. package/dist/useTableQuery.d.cts +0 -1957
  321. package/dist/useTableQuery.d.ts +0 -1957
@@ -264,11 +264,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
264
264
  onReady?: ((graph: Graph) => any) | undefined;
265
265
  "onData-change"?: ((data: DiagramData) => any) | undefined;
266
266
  }>, {
267
- readonly: boolean;
267
+ showToolbar: boolean;
268
268
  height: string | number;
269
- theme: "light" | "dark";
270
269
  width: string | number;
271
- showToolbar: boolean;
270
+ readonly: boolean;
271
+ theme: "light" | "dark";
272
272
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
273
273
  declare const _default: typeof __VLS_export;
274
274
  //#endregion
@@ -264,11 +264,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
264
264
  onReady?: ((graph: Graph) => any) | undefined;
265
265
  "onData-change"?: ((data: DiagramData) => any) | undefined;
266
266
  }>, {
267
- readonly: boolean;
267
+ showToolbar: boolean;
268
268
  height: string | number;
269
- theme: "light" | "dark";
270
269
  width: string | number;
271
- showToolbar: boolean;
270
+ readonly: boolean;
271
+ theme: "light" | "dark";
272
272
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
273
273
  declare const _default: typeof __VLS_export;
274
274
  //#endregion
@@ -0,0 +1 @@
1
+ require(`./chunk.cjs`);const e=require(`./validation.cjs`),t=require(`./data2.cjs`);let n=require(`vue`);function r(t,n){return{...n,source:t,key:e.n(t,n.message,n.target,n.key),target:n.target?{...n.target}:void 0}}function i(){let t=(0,n.shallowRef)(new Map),i=(0,n.shallowRef)([]),a=(0,n.shallowRef)(!1),o=(0,n.shallowRef)(null),s=0,c=!1,l,u,d=0,f=()=>{s++;let e=l;l=void 0,u=void 0,e?.abort(),!l&&!u&&(a.value=!1)},p=e=>{if(c)throw Error(`校验区域已销毁`);let{id:n}=e;if(!n||t.value.has(n))throw Error(`校验区域标识必须唯一:${n}`);if(f(),c)throw Error(`校验区域已销毁`);if(t.value.has(n))throw Error(`校验区域标识必须唯一:${n}`);return t.value=new Map(t.value).set(n,e),()=>{if(t.value.get(n)!==e||(f(),c||t.value.get(n)!==e))return;let r=new Set(i.value.filter(e=>e.source===n));if(d++,o.value=null,c||t.value.get(n)!==e)return;let a=new Map(t.value);a.delete(n),t.value=a,c||(i.value=i.value.filter(e=>!r.has(e)))}},m=()=>{if(c)return Promise.resolve(!1);if(u)return u;let n=s,o=new AbortController;l=o;let d=()=>!c&&n===s&&l===o&&!o.signal.aborted,f=Promise.resolve().then(async()=>{if(c||n!==s)return!1;let a=await Promise.all([...t.value].map(async([t,n])=>{if(!d())return[];try{let e=await n.validate(o.signal);return d()?(e??[]).map(e=>r(t,e)):[]}catch(n){return d()?e.t(n,t):[]}}));if(c||n!==s)return!1;let l=new Map;for(let e of a)for(let t of e)l.set(t.key,t);let u=[...l.values()];return i.value=u,n===s&&!c&&u.length===0}),p=()=>{l===o&&(l=void 0,u=void 0,a.value=!1)},m=f.then(e=>(p(),!c&&n===s&&e),e=>{throw p(),e});return u=m,a.value=!0,m},h=async e=>{if(c)return!1;let n=++d,{source:r}=e,i=t.value.get(r),a=()=>!c&&n===d&&t.value.get(r)===i;if(o.value=null,!a()||!i?.reveal)return!1;try{let t=await i.reveal({...e,target:e.target?{...e.target}:void 0});return a()&&t!==!1}catch(e){return a()&&(o.value=e),!1}},g=()=>{f(),d++,o.value=null,i.value=[]},_=()=>{c||(c=!0,g(),t.value=new Map)};return(0,n.getCurrentScope)()&&(0,n.onScopeDispose)(_),{issues:i,validating:a,navigationError:o,dirty:(0,n.computed)(()=>[...t.value.values()].some(e=>e.dirty?.())),register:p,validate:m,reveal:h,clear:g,dispose:_}}function a(e=[],r={}){let i=r.maxRows??1e3;if(!Number.isInteger(i)||i<1)throw RangeError(`maxRows 必须是正整数`);let a=0,o=t.t(e),s=(0,n.shallowRef)([]),c=e=>({key:`row-${a++}`,value:(0,n.reactive)(t.t(e))}),l=(e=o)=>{if(e.length>i)throw RangeError(`重复表单超出 maxRows`);s.value=e.map(c)};return l(),{items:s,append:e=>{if(s.value.length>=i)throw RangeError(`重复表单超出 maxRows`);let t=c(e);return s.value=[...s.value,t],t.key},remove:e=>{let t=s.value.filter(t=>t.key!==e);return t.length===s.value.length?!1:(s.value=t,!0)},move:(e,t)=>{let n=s.value.find(t=>t.key===e);if(!n||e===t||t!==null&&!s.value.some(e=>e.key===t))return!1;let r=s.value.filter(e=>e!==n),i=t===null?r.length:r.findIndex(e=>e.key===t);return r.splice(i,0,n),s.value=r,!0},reset:l,getValues:()=>s.value.map(e=>t.t(e.value))}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
@@ -0,0 +1,69 @@
1
+ import { t as ValidationIssue } from "./validation.cjs";
2
+ import * as vue from "vue";
3
+ import { MaybeRefOrGetter, UnwrapNestedRefs } from "vue";
4
+
5
+ //#region src/composables/useDataResource.d.ts
6
+ type DataResourceStatus = 'idle' | 'loading' | 'ready' | 'empty' | 'error';
7
+ interface DataResourceOptions<K extends string | number, T> {
8
+ key: MaybeRefOrGetter<K | null | undefined>;
9
+ load: (context: {
10
+ key: K;
11
+ signal: AbortSignal;
12
+ }) => Promise<T>;
13
+ /** undefined 表示未提供本地源;[]、null 等其它值均由本地源拥有。 */
14
+ source?: MaybeRefOrGetter<T | undefined>;
15
+ immediate?: boolean;
16
+ isEmpty?: (data: T) => boolean;
17
+ onError?: (error: unknown) => void;
18
+ }
19
+ /** 独立区域的请求状态,既不持有全局缓存,也不决定业务主从关系。 */
20
+ declare function useDataResource<K extends string | number, T>(options: DataResourceOptions<K, T>): {
21
+ data: vue.ShallowRef<T | undefined, T | undefined>;
22
+ error: vue.ShallowRef<unknown, unknown>;
23
+ status: vue.ShallowRef<DataResourceStatus, DataResourceStatus>;
24
+ loading: vue.ComputedRef<boolean>; /** 同一 key 刷新失败时保留原展示,但明确标为旧快照。 */
25
+ stale: vue.ComputedRef<boolean>;
26
+ reload: () => Promise<boolean>;
27
+ abort: () => void;
28
+ dispose: () => void;
29
+ };
30
+ //#endregion
31
+ //#region src/composables/useValidationScope.d.ts
32
+ interface ValidationParticipant {
33
+ id: string;
34
+ dirty?: () => boolean;
35
+ validate: (signal: AbortSignal) => void | readonly ValidationIssue[] | Promise<void | readonly ValidationIssue[]>;
36
+ /** 先切 Tab/展开分区,再定位稳定 rowKey/field;返回 false 表示目标不存在。 */
37
+ reveal?: (issue: ValidationIssue) => boolean | void | Promise<boolean | void>;
38
+ }
39
+ /** 注册当前真实区域,不遍历整张业务单据的数据图。 */
40
+ declare function useValidationScope(): {
41
+ issues: vue.ShallowRef<readonly ValidationIssue[], readonly ValidationIssue[]>;
42
+ validating: vue.ShallowRef<boolean, boolean>;
43
+ navigationError: vue.ShallowRef<unknown, unknown>;
44
+ dirty: vue.ComputedRef<boolean>;
45
+ register: (participant: ValidationParticipant) => () => void;
46
+ validate: () => Promise<boolean>;
47
+ reveal: (issue: ValidationIssue) => Promise<boolean>;
48
+ clear: () => void;
49
+ dispose: () => void;
50
+ };
51
+ //#endregion
52
+ //#region src/composables/useFormArray.d.ts
53
+ interface FormArrayEntry<T extends object> {
54
+ readonly key: string;
55
+ value: UnwrapNestedRefs<T>;
56
+ }
57
+ /** 所有 key 仅属于此实例,增删移动不会把另一行的校验/草稿借给当前行。 */
58
+ declare function useFormArray<T extends object>(initial?: readonly T[], options?: {
59
+ maxRows?: number;
60
+ }): {
61
+ items: vue.ShallowRef<readonly FormArrayEntry<T>[], readonly FormArrayEntry<T>[]>;
62
+ append: (value: T) => string;
63
+ remove: (key: string) => boolean;
64
+ move: (key: string, before: string | null) => boolean;
65
+ reset: (values?: readonly T[]) => void;
66
+ getValues: () => T[];
67
+ };
68
+ //#endregion
69
+ export { DataResourceOptions as a, useValidationScope as i, useFormArray as n, DataResourceStatus as o, ValidationParticipant as r, useDataResource as s, FormArrayEntry as t };
@@ -0,0 +1,69 @@
1
+ import { t as ValidationIssue } from "./validation.js";
2
+ import * as vue from "vue";
3
+ import { MaybeRefOrGetter, UnwrapNestedRefs } from "vue";
4
+
5
+ //#region src/composables/useDataResource.d.ts
6
+ type DataResourceStatus = 'idle' | 'loading' | 'ready' | 'empty' | 'error';
7
+ interface DataResourceOptions<K extends string | number, T> {
8
+ key: MaybeRefOrGetter<K | null | undefined>;
9
+ load: (context: {
10
+ key: K;
11
+ signal: AbortSignal;
12
+ }) => Promise<T>;
13
+ /** undefined 表示未提供本地源;[]、null 等其它值均由本地源拥有。 */
14
+ source?: MaybeRefOrGetter<T | undefined>;
15
+ immediate?: boolean;
16
+ isEmpty?: (data: T) => boolean;
17
+ onError?: (error: unknown) => void;
18
+ }
19
+ /** 独立区域的请求状态,既不持有全局缓存,也不决定业务主从关系。 */
20
+ declare function useDataResource<K extends string | number, T>(options: DataResourceOptions<K, T>): {
21
+ data: vue.ShallowRef<T | undefined, T | undefined>;
22
+ error: vue.ShallowRef<unknown, unknown>;
23
+ status: vue.ShallowRef<DataResourceStatus, DataResourceStatus>;
24
+ loading: vue.ComputedRef<boolean>; /** 同一 key 刷新失败时保留原展示,但明确标为旧快照。 */
25
+ stale: vue.ComputedRef<boolean>;
26
+ reload: () => Promise<boolean>;
27
+ abort: () => void;
28
+ dispose: () => void;
29
+ };
30
+ //#endregion
31
+ //#region src/composables/useValidationScope.d.ts
32
+ interface ValidationParticipant {
33
+ id: string;
34
+ dirty?: () => boolean;
35
+ validate: (signal: AbortSignal) => void | readonly ValidationIssue[] | Promise<void | readonly ValidationIssue[]>;
36
+ /** 先切 Tab/展开分区,再定位稳定 rowKey/field;返回 false 表示目标不存在。 */
37
+ reveal?: (issue: ValidationIssue) => boolean | void | Promise<boolean | void>;
38
+ }
39
+ /** 注册当前真实区域,不遍历整张业务单据的数据图。 */
40
+ declare function useValidationScope(): {
41
+ issues: vue.ShallowRef<readonly ValidationIssue[], readonly ValidationIssue[]>;
42
+ validating: vue.ShallowRef<boolean, boolean>;
43
+ navigationError: vue.ShallowRef<unknown, unknown>;
44
+ dirty: vue.ComputedRef<boolean>;
45
+ register: (participant: ValidationParticipant) => () => void;
46
+ validate: () => Promise<boolean>;
47
+ reveal: (issue: ValidationIssue) => Promise<boolean>;
48
+ clear: () => void;
49
+ dispose: () => void;
50
+ };
51
+ //#endregion
52
+ //#region src/composables/useFormArray.d.ts
53
+ interface FormArrayEntry<T extends object> {
54
+ readonly key: string;
55
+ value: UnwrapNestedRefs<T>;
56
+ }
57
+ /** 所有 key 仅属于此实例,增删移动不会把另一行的校验/草稿借给当前行。 */
58
+ declare function useFormArray<T extends object>(initial?: readonly T[], options?: {
59
+ maxRows?: number;
60
+ }): {
61
+ items: vue.ShallowRef<readonly FormArrayEntry<T>[], readonly FormArrayEntry<T>[]>;
62
+ append: (value: T) => string;
63
+ remove: (key: string) => boolean;
64
+ move: (key: string, before: string | null) => boolean;
65
+ reset: (values?: readonly T[]) => void;
66
+ getValues: () => T[];
67
+ };
68
+ //#endregion
69
+ export { DataResourceOptions as a, useValidationScope as i, useFormArray as n, DataResourceStatus as o, ValidationParticipant as r, useDataResource as s, FormArrayEntry as t };
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./validation.js";import{t as n}from"./data2.js";import{computed as r,getCurrentScope as i,onScopeDispose as a,reactive as o,shallowRef as s}from"vue";function c(t,n){return{...n,source:t,key:e(t,n.message,n.target,n.key),target:n.target?{...n.target}:void 0}}function l(){let e=s(new Map),n=s([]),o=s(!1),l=s(null),u=0,d=!1,f,p,m=0,h=()=>{u++;let e=f;f=void 0,p=void 0,e?.abort(),!f&&!p&&(o.value=!1)},g=t=>{if(d)throw Error(`校验区域已销毁`);let{id:r}=t;if(!r||e.value.has(r))throw Error(`校验区域标识必须唯一:${r}`);if(h(),d)throw Error(`校验区域已销毁`);if(e.value.has(r))throw Error(`校验区域标识必须唯一:${r}`);return e.value=new Map(e.value).set(r,t),()=>{if(e.value.get(r)!==t||(h(),d||e.value.get(r)!==t))return;let i=new Set(n.value.filter(e=>e.source===r));if(m++,l.value=null,d||e.value.get(r)!==t)return;let a=new Map(e.value);a.delete(r),e.value=a,d||(n.value=n.value.filter(e=>!i.has(e)))}},_=()=>{if(d)return Promise.resolve(!1);if(p)return p;let r=u,i=new AbortController;f=i;let a=()=>!d&&r===u&&f===i&&!i.signal.aborted,s=Promise.resolve().then(async()=>{if(d||r!==u)return!1;let o=await Promise.all([...e.value].map(async([e,n])=>{if(!a())return[];try{let t=await n.validate(i.signal);return a()?(t??[]).map(t=>c(e,t)):[]}catch(n){return a()?t(n,e):[]}}));if(d||r!==u)return!1;let s=new Map;for(let e of o)for(let t of e)s.set(t.key,t);let l=[...s.values()];return n.value=l,r===u&&!d&&l.length===0}),l=()=>{f===i&&(f=void 0,p=void 0,o.value=!1)},m=s.then(e=>(l(),!d&&r===u&&e),e=>{throw l(),e});return p=m,o.value=!0,m},v=async t=>{if(d)return!1;let n=++m,{source:r}=t,i=e.value.get(r),a=()=>!d&&n===m&&e.value.get(r)===i;if(l.value=null,!a()||!i?.reveal)return!1;try{let e=await i.reveal({...t,target:t.target?{...t.target}:void 0});return a()&&e!==!1}catch(e){return a()&&(l.value=e),!1}},y=()=>{h(),m++,l.value=null,n.value=[]},b=()=>{d||(d=!0,y(),e.value=new Map)};return i()&&a(b),{issues:n,validating:o,navigationError:l,dirty:r(()=>[...e.value.values()].some(e=>e.dirty?.())),register:g,validate:_,reveal:v,clear:y,dispose:b}}function u(e=[],t={}){let r=t.maxRows??1e3;if(!Number.isInteger(r)||r<1)throw RangeError(`maxRows 必须是正整数`);let i=0,a=n(e),c=s([]),l=e=>({key:`row-${i++}`,value:o(n(e))}),u=(e=a)=>{if(e.length>r)throw RangeError(`重复表单超出 maxRows`);c.value=e.map(l)};return u(),{items:c,append:e=>{if(c.value.length>=r)throw RangeError(`重复表单超出 maxRows`);let t=l(e);return c.value=[...c.value,t],t.key},remove:e=>{let t=c.value.filter(t=>t.key!==e);return t.length===c.value.length?!1:(c.value=t,!0)},move:(e,t)=>{let n=c.value.find(t=>t.key===e);if(!n||e===t||t!==null&&!c.value.some(e=>e.key===t))return!1;let r=c.value.filter(e=>e!==n),i=t===null?r.length:r.findIndex(e=>e.key===t);return r.splice(i,0,n),c.value=r,!0},reset:u,getValues:()=>c.value.map(e=>n(e.value))}}export{l as n,u as t};
@@ -0,0 +1 @@
1
+ require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./config.cjs`);let n=require(`vue`);function r(){return(0,n.getCurrentInstance)()?(0,n.inject)(t.FORM_GLOBAL_CONFIG_KEY,{}):{}}function i(e,t){let n=e??{},r=(e,t)=>e||t?{...e,...t}:void 0;return{...t,...n,grid:r(t.grid,n.grid),inline:r(t.inline,n.inline),card:r(t.card,n.card),tabs:r(t.tabs,n.tabs),steps:r(t.steps,n.steps),dynamic:r(t.dynamic,n.dynamic),custom:r(t.custom,n.custom)}}const a={layout:`default`,labelPlacement:`left`,labelWidth:`auto`,size:`medium`,density:`default`,disabled:!1,readonly:!1,showActions:!0,validateOnChange:!1,preserveRemovedFields:!1,submitText:``,resetText:``,submitSuccessText:``,resetSuccessText:``,mode:`create`},o=[`steps`,`custom`];function s(t){return{...a,...t,size:t?.size??e.t(t?.density).size}}function c(e){return!(e.showActions===!1||o.includes(e.layout))}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});