@vunk/form 2.18.2 → 2.19.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 (320) hide show
  1. package/components/_plugin-vue_export-helper.cjs +1 -11
  2. package/components/api-tables-select/index.cjs +1 -467
  3. package/components/api-tables-select/index.mjs +56 -413
  4. package/components/api-tables-select/src/ctx.d.ts +147 -173
  5. package/components/api-tables-select/src/index.vue.d.ts +390 -983
  6. package/components/button/index.cjs +1 -112
  7. package/components/button/index.mjs +56 -85
  8. package/components/button/src/ctx.d.ts +28 -113
  9. package/components/button/src/index.vue.d.ts +314 -621
  10. package/components/card-input-collection/index.cjs +1 -370
  11. package/components/card-input-collection/index.mjs +175 -277
  12. package/components/card-input-collection/src/core.vue.d.ts +57 -950
  13. package/components/card-input-collection/src/ctx.d.ts +19 -49
  14. package/components/card-input-collection/src/index.vue.d.ts +49 -112
  15. package/components/cascader/index.cjs +1 -150
  16. package/components/cascader/index.mjs +88 -116
  17. package/components/cascader/src/ctx.d.ts +148 -207
  18. package/components/cascader/src/index.vue.d.ts +335 -525
  19. package/components/cascader/src/use.d.ts +1 -1
  20. package/components/checkbox/index.cjs +1 -152
  21. package/components/checkbox/index.mjs +75 -119
  22. package/components/checkbox/src/ctx.d.ts +46 -69
  23. package/components/checkbox/src/index.vue.d.ts +445 -1012
  24. package/components/cloneDeep.cjs +1 -2106
  25. package/components/color-picker/index.cjs +1 -80
  26. package/components/color-picker/index.mjs +46 -69
  27. package/components/color-picker/src/ctx.d.ts +138 -107
  28. package/components/color-picker/src/index.vue.d.ts +305 -255
  29. package/components/date-picker/index.cjs +1 -119
  30. package/components/date-picker/index.mjs +63 -97
  31. package/components/date-picker/src/ctx.d.ts +131 -206
  32. package/components/date-picker/src/index.vue.d.ts +287 -1359
  33. package/components/date-picker/src/types.d.ts +7 -7
  34. package/components/date-picker-range/index.cjs +1 -177
  35. package/components/date-picker-range/index.mjs +62 -113
  36. package/components/date-picker-range/src/ctx.d.ts +139 -207
  37. package/components/date-picker-range/src/index.vue.d.ts +896 -450
  38. package/components/debounce.cjs +1 -0
  39. package/components/dialog/index.cjs +1 -126
  40. package/components/dialog/index.mjs +65 -99
  41. package/components/dialog/src/ctx.d.ts +17 -108
  42. package/components/dialog/src/index.vue.d.ts +77 -1070
  43. package/components/dialog-input-collection/index.cjs +1 -624
  44. package/components/dialog-input-collection/index.mjs +276 -498
  45. package/components/dialog-input-collection/src/ctx.d.ts +20 -50
  46. package/components/dialog-input-collection/src/dialog-form.vue.d.ts +28 -6366
  47. package/components/dialog-input-collection/src/index.vue.d.ts +66 -7629
  48. package/components/dialog-input-collection/src/layout.vue.d.ts +16 -72
  49. package/components/download-plus/index.cjs +1 -456
  50. package/components/download-plus/index.mjs +214 -358
  51. package/components/download-plus/src/ctx.d.ts +20 -50
  52. package/components/download-plus/src/index.vue.d.ts +434 -1171
  53. package/components/editable-text/index.cjs +1 -295
  54. package/components/editable-text/index.mjs +113 -239
  55. package/components/editable-text/src/ctx.d.ts +20 -50
  56. package/components/editable-text/src/index.vue.d.ts +62 -3257
  57. package/components/el-slider/index.cjs +1 -0
  58. package/components/el-slider/index.d.ts +5 -0
  59. package/components/el-slider/index.mjs +475 -0
  60. package/components/el-slider/src/button.d.ts +36 -0
  61. package/components/el-slider/src/button.vue.d.ts +42 -0
  62. package/components/el-slider/src/composables/index.cjs +1 -0
  63. package/components/el-slider/src/composables/index.d.ts +6 -0
  64. package/components/el-slider/src/composables/index.mjs +9 -0
  65. package/components/el-slider/src/composables/use-lifecycle.d.ts +4 -0
  66. package/components/el-slider/src/composables/use-marks.d.ts +7 -0
  67. package/components/el-slider/src/composables/use-slide.d.ts +23 -0
  68. package/components/el-slider/src/composables/use-slider-button.d.ts +18 -0
  69. package/components/el-slider/src/composables/use-stops.d.ts +8 -0
  70. package/components/el-slider/src/composables/use-watch.d.ts +4 -0
  71. package/components/el-slider/src/constants.d.ts +14 -0
  72. package/components/el-slider/src/marker.d.ts +37 -0
  73. package/components/el-slider/src/slider-core.vue.d.ts +219 -0
  74. package/components/el-slider/src/slider.d.ts +175 -0
  75. package/components/esri-input-geojson/index.cjs +2 -1604
  76. package/components/esri-input-geojson/index.mjs +666 -1289
  77. package/components/esri-input-geojson/src/append.vue.d.ts +225 -1084
  78. package/components/esri-input-geojson/src/const.d.ts +1 -1
  79. package/components/esri-input-geojson/src/ctx.d.ts +62 -158
  80. package/components/esri-input-geojson/src/default-view.vue.d.ts +12 -132
  81. package/components/esri-input-geojson/src/index.vue.d.ts +1470 -789
  82. package/components/esri-input-geojson/src/viewer.vue.d.ts +424 -287
  83. package/components/fieldset/index.cjs +1 -110
  84. package/components/fieldset/index.mjs +62 -77
  85. package/components/fieldset/src/ctx.d.ts +4 -4
  86. package/components/fieldset/src/index.vue.d.ts +10 -9
  87. package/components/form/index.cjs +1 -248
  88. package/components/form/index.mjs +107 -161
  89. package/components/form/src/ctx.d.ts +15 -64
  90. package/components/form/src/index.vue.d.ts +360 -2416
  91. package/components/form-item/index.cjs +1 -294
  92. package/components/form-item/index.mjs +139 -229
  93. package/components/form-item/src/core.vue.d.ts +33 -1853
  94. package/components/form-item/src/ctx.d.ts +17 -47
  95. package/components/form-item/src/index.vue.d.ts +41 -103
  96. package/components/form-item-renderer/index.cjs +1 -193
  97. package/components/form-item-renderer/index.mjs +102 -162
  98. package/components/form-item-renderer/src/core.vue.d.ts +12 -11
  99. package/components/form-item-renderer/src/ctx.d.ts +3 -3
  100. package/components/form-item-renderer/src/index.vue.d.ts +25 -73
  101. package/components/form-item-renderer-template/index.cjs +1 -47
  102. package/components/form-item-renderer-template/index.mjs +19 -33
  103. package/components/form-item-renderer-template/src/index.vue.d.ts +4 -3
  104. package/components/forms-provider/index.cjs +1 -99
  105. package/components/forms-provider/index.mjs +44 -73
  106. package/components/forms-provider/src/core.d.ts +3 -2
  107. package/components/forms-provider/src/index.vue.d.ts +5 -2
  108. package/components/forms-provider/src/segment.vue.d.ts +12 -8
  109. package/components/forms-provider/src/view.vue.d.ts +17 -3
  110. package/components/index.cjs +1 -399
  111. package/components/index2.cjs +1 -17
  112. package/components/information/index.cjs +1 -65
  113. package/components/information/index.mjs +28 -38
  114. package/components/information/src/ctx.d.ts +2 -2
  115. package/components/information/src/index.vue.d.ts +7 -6
  116. package/components/information-collection/index.cjs +1 -81
  117. package/components/information-collection/index.mjs +44 -48
  118. package/components/information-collection/src/ctx.d.ts +20 -50
  119. package/components/information-collection/src/index.vue.d.ts +49 -112
  120. package/components/information-renderer/index.cjs +1 -16
  121. package/components/information-renderer/index.mjs +9 -10
  122. package/components/information-tag/index.cjs +1 -101
  123. package/components/information-tag/index.mjs +44 -54
  124. package/components/information-tag/src/ctx.d.ts +5 -19
  125. package/components/information-tag/src/index.vue.d.ts +24 -51
  126. package/components/information-templates-default/index.cjs +1 -101
  127. package/components/information-templates-default/index.mjs +63 -73
  128. package/components/information-templates-default/src/index.vue.d.ts +2 -1
  129. package/components/input/index.cjs +1 -115
  130. package/components/input/index.mjs +60 -83
  131. package/components/input/src/ctx.d.ts +50 -151
  132. package/components/input/src/index.vue.d.ts +389 -947
  133. package/components/input-array/index.cjs +1 -310
  134. package/components/input-array/index.mjs +114 -244
  135. package/components/input-array/src/ctx.d.ts +19 -49
  136. package/components/input-array/src/form-template.vue.d.ts +2 -901
  137. package/components/input-array/src/index.vue.d.ts +45 -731
  138. package/components/input-collection/index.cjs +1 -452
  139. package/components/input-collection/index.mjs +195 -355
  140. package/components/input-collection/src/core.vue.d.ts +59 -1019
  141. package/components/input-collection/src/ctx.d.ts +19 -49
  142. package/components/input-collection/src/index.vue.d.ts +47 -110
  143. package/components/input-file/index.cjs +1 -142
  144. package/components/input-file/index.mjs +68 -100
  145. package/components/input-file/src/ctx.d.ts +8 -29
  146. package/components/input-file/src/index.vue.d.ts +447 -76
  147. package/components/input-file/src/template.vue.d.ts +2 -124
  148. package/components/input-link/index.cjs +1 -167
  149. package/components/input-link/index.mjs +60 -83
  150. package/components/input-link/src/ctx.d.ts +48 -135
  151. package/components/input-link/src/index.vue.d.ts +835 -312
  152. package/components/input-number/index.cjs +1 -119
  153. package/components/input-number/index.mjs +73 -87
  154. package/components/input-number/src/ctx.d.ts +38 -131
  155. package/components/input-number/src/index.vue.d.ts +321 -682
  156. package/components/input-tag/index.cjs +1 -100
  157. package/components/input-tag/index.mjs +51 -78
  158. package/components/input-tag/src/ctx.d.ts +41 -143
  159. package/components/input-tag/src/index.vue.d.ts +322 -775
  160. package/components/isObject.cjs +1 -165
  161. package/components/monaco-editor/index.cjs +1 -83
  162. package/components/monaco-editor/index.mjs +40 -59
  163. package/components/monaco-editor/src/ctx.d.ts +19 -44
  164. package/components/monaco-editor/src/index.vue.d.ts +212 -111
  165. package/components/radio/index.cjs +1 -267
  166. package/components/radio/index.mjs +110 -209
  167. package/components/radio/src/ctx.d.ts +27 -91
  168. package/components/radio/src/index.vue.d.ts +299 -1279
  169. package/components/radio/src/option.vue.d.ts +28 -878
  170. package/components/radio/src/wraper.vue.d.ts +67 -198
  171. package/components/renderer-data/index.cjs +1 -41
  172. package/components/renderer-data/index.mjs +19 -26
  173. package/components/renderer-data/src/ctx.d.ts +1 -1
  174. package/components/renderer-data/src/index.vue.d.ts +5 -4
  175. package/components/select/index.cjs +1 -311
  176. package/components/select/index.mjs +156 -214
  177. package/components/select/src/core.vue.d.ts +446 -1028
  178. package/components/select/src/ctx.d.ts +60 -215
  179. package/components/select/src/index.vue.d.ts +318 -593
  180. package/components/select/src/options.vue.d.ts +4 -3
  181. package/components/slider/index.cjs +1 -88
  182. package/components/slider/index.mjs +41 -70
  183. package/components/slider/src/ctx.d.ts +63 -174
  184. package/components/slider/src/index.vue.d.ts +154 -419
  185. package/components/style.css +1 -0
  186. package/components/switch/index.cjs +1 -88
  187. package/components/switch/index.mjs +37 -69
  188. package/components/switch/src/ctx.d.ts +30 -109
  189. package/components/switch/src/index.vue.d.ts +90 -697
  190. package/components/switch/src/types.d.ts +2 -2
  191. package/components/tables-select/index.cjs +1 -263
  192. package/components/tables-select/index.mjs +101 -172
  193. package/components/tables-select/src/ctx.d.ts +68 -99
  194. package/components/tables-select/src/index.vue.d.ts +233 -4988
  195. package/components/template-instances-provider/index.cjs +1 -31
  196. package/components/template-instances-provider/index.mjs +18 -22
  197. package/components/template-instances-provider/src/index.vue.d.ts +5 -4
  198. package/components/templates-default/index.cjs +1 -235
  199. package/components/templates-default/index.mjs +152 -211
  200. package/components/templates-default/src/ctx.d.ts +2 -2
  201. package/components/templates-default/src/index.vue.d.ts +7337 -145
  202. package/components/templates-element-plus/index.cjs +1 -112
  203. package/components/templates-element-plus/index.mjs +49 -91
  204. package/components/templates-element-plus/src/ctx.d.ts +1 -1
  205. package/components/templates-element-plus/src/index.vue.d.ts +59 -251
  206. package/components/templates-esri/index.cjs +1 -65
  207. package/components/templates-esri/index.mjs +29 -39
  208. package/components/templates-esri/src/ctx.d.ts +1 -1
  209. package/components/templates-esri/src/index.vue.d.ts +2184 -25
  210. package/components/templates-layout/index.cjs +1 -137
  211. package/components/templates-layout/index.mjs +78 -116
  212. package/components/templates-layout/src/ctx.d.ts +1 -1
  213. package/components/templates-layout/src/index.vue.d.ts +73 -404
  214. package/components/templates-variant/index.cjs +1 -70
  215. package/components/templates-variant/index.mjs +33 -43
  216. package/components/templates-variant/src/ctx.d.ts +1 -1
  217. package/components/templates-variant/src/index.vue.d.ts +1272 -25
  218. package/components/time-picker/index.cjs +1 -104
  219. package/components/time-picker/index.mjs +57 -87
  220. package/components/time-picker/src/ctx.d.ts +130 -212
  221. package/components/time-picker/src/index.vue.d.ts +283 -1371
  222. package/components/upload/index.cjs +1 -663
  223. package/components/upload/index.mjs +343 -537
  224. package/components/upload/src/ctx.d.ts +106 -191
  225. package/components/upload/src/file.vue.d.ts +168 -745
  226. package/components/upload/src/index.vue.d.ts +647 -1888
  227. package/components/upload/src/types.d.ts +1 -1
  228. package/components/upload/src/wraper.vue.d.ts +233 -407
  229. package/components/upload-plus/index.cjs +21 -18673
  230. package/components/upload-plus/index.mjs +4566 -18366
  231. package/components/upload-plus/src/api.d.ts +1 -1
  232. package/components/upload-plus/src/ctx.d.ts +21 -51
  233. package/components/upload-plus/src/index.vue.d.ts +53 -1657
  234. package/components/use-watch.cjs +1 -0
  235. package/components/van-cascader/index.cjs +1 -125
  236. package/components/van-cascader/index.mjs +51 -96
  237. package/components/van-cascader/src/ctx.d.ts +143 -203
  238. package/components/van-cascader/src/index.vue.d.ts +332 -988
  239. package/components/var-datetime-picker/index.cjs +1 -333
  240. package/components/var-datetime-picker/index.mjs +173 -254
  241. package/components/var-datetime-picker/src/ctx.d.ts +18 -48
  242. package/components/var-datetime-picker/src/index.vue.d.ts +628 -1090
  243. package/components/vditor/index.cjs +1 -86
  244. package/components/vditor/index.mjs +40 -66
  245. package/components/vditor/src/ctx.d.ts +15 -45
  246. package/components/vditor/src/index.vue.d.ts +195 -120
  247. package/composables/element-plus/index.cjs +1 -23
  248. package/composables/element-plus/index.mjs +14 -18
  249. package/composables/index.cjs +1 -161
  250. package/composables/index.d.ts +1 -0
  251. package/composables/index.mjs +100 -135
  252. package/composables/useForm.d.ts +2 -2
  253. package/composables/useRtl.d.ts +18 -0
  254. package/composables/useTemplateInstances.d.ts +3 -3
  255. package/index.css +1 -562
  256. package/index.d.ts +0 -3
  257. package/index.esm.js +23 -48
  258. package/locale/index.cjs +1 -102
  259. package/locale/index.mjs +34 -34
  260. package/locale/lang/index.cjs +1 -2
  261. package/locale/lang/index.d.ts +1 -0
  262. package/package.json +14 -85
  263. package/shared/const/index.cjs +1 -59
  264. package/shared/const/index.d.ts +1 -1
  265. package/shared/const/index.mjs +18 -20
  266. package/shared/element-plus/ctx.d.ts +40 -37
  267. package/shared/element-plus/index.cjs +1 -211
  268. package/shared/element-plus/index.mjs +93 -161
  269. package/shared/element-plus/instances.d.ts +224 -321
  270. package/shared/form/index.cjs +1 -33
  271. package/shared/form/index.mjs +23 -25
  272. package/shared/helper/index.cjs +1 -11
  273. package/shared/helper/index.mjs +7 -8
  274. package/shared/index.cjs +1 -8
  275. package/shared/index.mjs +5 -1
  276. package/shared/infer-prop/index.cjs +1 -36
  277. package/shared/infer-prop/index.mjs +22 -28
  278. package/shared/progress-it/index.cjs +1 -42
  279. package/shared/progress-it/index.mjs +15 -31
  280. package/shared/rules/index.cjs +1 -56
  281. package/shared/rules/index.mjs +19 -18
  282. package/shared/types/form/index.cjs +1 -2
  283. package/shared/types/index.cjs +1 -2
  284. package/shared/types/source/index.cjs +1 -2
  285. package/shared/types/source-manager/index.cjs +1 -2
  286. package/shared/upload/index.cjs +1 -774
  287. package/shared/upload/index.mjs +180 -764
  288. package/component.d.ts +0 -3
  289. package/components/_plugin-vue_export-helper.mjs +0 -9
  290. package/components/card-input-collection/index.css +0 -21
  291. package/components/cascader/index.css +0 -9
  292. package/components/checkbox/index.css +0 -30
  293. package/components/cloneDeep.mjs +0 -2104
  294. package/components/date-picker-range/index.css +0 -18
  295. package/components/dialog-input-collection/index.css +0 -21
  296. package/components/download-plus/index.css +0 -68
  297. package/components/editable-text/index.css +0 -9
  298. package/components/esri-input-geojson/index.css +0 -32
  299. package/components/fieldset/index.css +0 -5
  300. package/components/form-item/index.css +0 -35
  301. package/components/index.mjs +0 -378
  302. package/components/index2.mjs +0 -14
  303. package/components/information-tag/index.css +0 -6
  304. package/components/information-templates-default/index.css +0 -16
  305. package/components/input-array/index.css +0 -14
  306. package/components/input-collection/index.css +0 -20
  307. package/components/input-link/index.css +0 -4
  308. package/components/input-number/index.css +0 -13
  309. package/components/isObject.mjs +0 -158
  310. package/components/monaco-editor/index.css +0 -4
  311. package/components/radio/index.css +0 -40
  312. package/components/select/index.css +0 -15
  313. package/components/switch/index.css +0 -10
  314. package/components/tables-select/index.css +0 -3
  315. package/components/templates-layout/index.css +0 -3
  316. package/components/upload/index.css +0 -34
  317. package/components/upload-plus/index.css +0 -84
  318. package/components/van-cascader/index.css +0 -6
  319. package/components/var-datetime-picker/index.css +0 -17
  320. package/defaults.d.ts +0 -5
@@ -1,161 +1 @@
1
- 'use strict';
2
-
3
- var vue = require('vue');
4
- var core = require('@vunk/core');
5
-
6
- const useSourceManager = (source, opts = {}) => {
7
- if (!vue.isRef(source)) {
8
- source = vue.ref(source);
9
- }
10
- const op = {
11
- ...opts,
12
- slotsChildren: ["default"]
13
- };
14
- opts.slotsChildren && op.slotsChildren.push(...opts.slotsChildren);
15
- const manager = vue.computed(() => {
16
- const keyRecord = {};
17
- const propRecord = {};
18
- const idRecord = {};
19
- function intoData(list, k = []) {
20
- list.forEach((item, index) => {
21
- const currentK = [...k, index];
22
- const managerInfo = {
23
- source: item,
24
- key: currentK,
25
- nextKey: [...k, index + 1],
26
- prop: item.prop,
27
- id: item.id
28
- };
29
- keyRecord[currentK.join()] = managerInfo;
30
- if (item.prop) {
31
- propRecord[item.prop] = managerInfo;
32
- }
33
- if (item.id) {
34
- idRecord[item.id] = managerInfo;
35
- }
36
- if (item.templateSlots) {
37
- if (Array.isArray(item.templateSlots)) {
38
- currentK.push("templateSlots");
39
- intoData(item.templateSlots, currentK);
40
- }
41
- op.slotsChildren.forEach((filed) => {
42
- if (Array.isArray(item.templateSlots[filed])) {
43
- currentK.push("templateSlots", filed);
44
- intoData(item.templateSlots[filed], currentK);
45
- }
46
- });
47
- }
48
- });
49
- }
50
- intoData(vue.unref(source));
51
- return {
52
- keyRecord,
53
- propRecord,
54
- idRecord
55
- };
56
- });
57
- const getManagerInfoByProp = (prop) => {
58
- return manager.value.propRecord[prop];
59
- };
60
- const getManagerInfoByKey = (key) => {
61
- return manager.value.keyRecord[key.join()];
62
- };
63
- const getManagerInfoById = (id) => {
64
- return manager.value.idRecord[id];
65
- };
66
- return [
67
- source,
68
- {
69
- manager,
70
- getManagerInfoByProp,
71
- getManagerInfoByKey,
72
- getManagerInfoById
73
- }
74
- ];
75
- };
76
-
77
- const useForm = () => {
78
- return vue.inject("vkfFormVm", null);
79
- };
80
-
81
- const useComputedReadonly = (props) => {
82
- const form = useForm();
83
- const readonly = vue.computed(() => {
84
- return props.readonly ?? form?.props.readonly ?? false;
85
- });
86
- return readonly;
87
- };
88
-
89
- const PARENT_KEY = Symbol("PARENT_KEY");
90
- const useTemplateInstances = () => {
91
- const templateInstances = vue.inject(
92
- "vkTemplateInstances",
93
- null
94
- );
95
- return templateInstances;
96
- };
97
- const useTemplateInstancesContext = () => {
98
- const templateInstances = useTemplateInstances();
99
- const getParent = (ins) => {
100
- return ins?.[PARENT_KEY];
101
- };
102
- const getTemplateInstance = (key) => {
103
- let instance = templateInstances?.[key];
104
- if (instance) return instance;
105
- let parent = getParent(templateInstances);
106
- while (parent) {
107
- instance = parent?.[key];
108
- if (instance) return instance;
109
- parent = getParent(parent);
110
- }
111
- return null;
112
- };
113
- return {
114
- templateInstances,
115
- getTemplateInstance,
116
- getParent
117
- };
118
- };
119
- const initTemplateInstances = () => {
120
- const perent = useTemplateInstances();
121
- const templateInstances = vue.shallowReactive({});
122
- templateInstances[PARENT_KEY] = perent;
123
- vue.provide("vkTemplateInstances", templateInstances);
124
- return templateInstances;
125
- };
126
-
127
- const initRendererData = (props, ctx) => {
128
- const data = vue.computed(() => props.data);
129
- const emitSetData = (e) => {
130
- ctx.emit("setData", {
131
- intoUndefined: core.defaultIntoUndefined,
132
- ...e
133
- });
134
- };
135
- const getDataValue = (key) => {
136
- return core.getValue(data.value, key, core.defaultIntoUndefined, true);
137
- };
138
- const rendererData = {
139
- data,
140
- emitSetData,
141
- getDataValue
142
- };
143
- vue.provide("vkRendererData", rendererData);
144
- return rendererData;
145
- };
146
- const useRendererData = () => {
147
- const rendererData = vue.inject(
148
- "vkRendererData",
149
- {}
150
- );
151
- return rendererData;
152
- };
153
-
154
- exports.initRendererData = initRendererData;
155
- exports.initTemplateInstances = initTemplateInstances;
156
- exports.useComputedReadonly = useComputedReadonly;
157
- exports.useForm = useForm;
158
- exports.useRendererData = useRendererData;
159
- exports.useSourceManager = useSourceManager;
160
- exports.useTemplateInstances = useTemplateInstances;
161
- exports.useTemplateInstancesContext = useTemplateInstancesContext;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),m=require("@vunk/core"),T=(t,n={})=>{a.isRef(t)||(t=a.ref(t));const s={...n,slotsChildren:["default"]};n.slotsChildren&&s.slotsChildren.push(...n.slotsChildren);const e=a.computed(()=>{const u={},g={},I={};function i(S,R=[]){S.forEach((o,h)=>{const d=[...R,h],p={source:o,key:d,nextKey:[...R,h+1],prop:o.prop,id:o.id};u[d.join()]=p,o.prop&&(g[o.prop]=p),o.id&&(I[o.id]=p),o.templateSlots&&(Array.isArray(o.templateSlots)&&(d.push("templateSlots"),i(o.templateSlots,d)),s.slotsChildren.forEach(f=>{Array.isArray(o.templateSlots[f])&&(d.push("templateSlots",f),i(o.templateSlots[f],d))}))})}return i(a.unref(t)),{keyRecord:u,propRecord:g,idRecord:I}});return[t,{manager:e,getManagerInfoByProp:u=>e.value.propRecord[u],getManagerInfoByKey:u=>e.value.keyRecord[u.join()],getManagerInfoById:u=>e.value.idRecord[u]}]},v=()=>a.inject("vkfFormVm",null),C=t=>{const n=v();return a.computed(()=>t.readonly??(n==null?void 0:n.props.readonly)??!1)},M=t=>{const n=a.ref(0),s=a.computed(()=>{n.value;const r=t.value;return r?r.matches(":dir(rtl)")||getComputedStyle(r).direction==="rtl":!1});let e=null;const l=r=>{e==null||e.disconnect(),e=new MutationObserver(()=>{n.value++});let c=r.parentElement;for(;c;)e.observe(c,{attributes:!0,attributeFilter:["dir","style","class"]}),c=c.parentElement};return a.watch(t,r=>{r?l(r):e==null||e.disconnect()},{immediate:!0,flush:"post"}),a.onBeforeUnmount(()=>e==null?void 0:e.disconnect()),s},D=Symbol("PARENT_KEY"),y=()=>a.inject("vkTemplateInstances",null),E=()=>{const t=y(),n=e=>e==null?void 0:e[D];return{templateInstances:t,getTemplateInstance:e=>{let l=t==null?void 0:t[e];if(l)return l;let r=n(t);for(;r;){if(l=r==null?void 0:r[e],l)return l;r=n(r)}return null},getParent:n}},k=()=>{const t=y(),n=a.shallowReactive({});return n[D]=t,a.provide("vkTemplateInstances",n),n},A=(t,n)=>{const s=a.computed(()=>t.data),r={data:s,emitSetData:c=>{n.emit("setData",{intoUndefined:m.defaultIntoUndefined,...c})},getDataValue:c=>m.getValue(s.value,c,m.defaultIntoUndefined,!0)};return a.provide("vkRendererData",r),r},B=()=>a.inject("vkRendererData",{});exports.initRendererData=A;exports.initTemplateInstances=k;exports.useComputedReadonly=C;exports.useForm=v;exports.useRendererData=B;exports.useRtl=M;exports.useSourceManager=T;exports.useTemplateInstances=y;exports.useTemplateInstancesContext=E;
@@ -1,5 +1,6 @@
1
1
  export * from './useSourceManager';
2
2
  export * from './useForm';
3
3
  export * from './useComputedReadonly';
4
+ export * from './useRtl';
4
5
  export * from './useTemplateInstances';
5
6
  export * from './useRendererData';
@@ -1,152 +1,117 @@
1
- import { isRef, ref, computed, unref, inject, shallowReactive, provide } from 'vue';
2
- import { defaultIntoUndefined, getValue } from '@vunk/core';
3
-
4
- const useSourceManager = (source, opts = {}) => {
5
- if (!isRef(source)) {
6
- source = ref(source);
7
- }
8
- const op = {
9
- ...opts,
1
+ import { isRef as E, ref as D, computed as d, unref as M, inject as m, watch as k, onBeforeUnmount as A, shallowReactive as B, provide as v } from "vue";
2
+ import { getValue as w, defaultIntoUndefined as R } from "@vunk/core";
3
+ const j = (t, n = {}) => {
4
+ E(t) || (t = D(t));
5
+ const o = {
6
+ ...n,
10
7
  slotsChildren: ["default"]
11
8
  };
12
- opts.slotsChildren && op.slotsChildren.push(...opts.slotsChildren);
13
- const manager = computed(() => {
14
- const keyRecord = {};
15
- const propRecord = {};
16
- const idRecord = {};
17
- function intoData(list, k = []) {
18
- list.forEach((item, index) => {
19
- const currentK = [...k, index];
20
- const managerInfo = {
21
- source: item,
22
- key: currentK,
23
- nextKey: [...k, index + 1],
24
- prop: item.prop,
25
- id: item.id
9
+ n.slotsChildren && o.slotsChildren.push(...n.slotsChildren);
10
+ const e = d(() => {
11
+ const c = {}, y = {}, g = {};
12
+ function i(C, I = []) {
13
+ C.forEach((a, h) => {
14
+ const u = [...I, h], p = {
15
+ source: a,
16
+ key: u,
17
+ nextKey: [...I, h + 1],
18
+ prop: a.prop,
19
+ id: a.id
26
20
  };
27
- keyRecord[currentK.join()] = managerInfo;
28
- if (item.prop) {
29
- propRecord[item.prop] = managerInfo;
30
- }
31
- if (item.id) {
32
- idRecord[item.id] = managerInfo;
33
- }
34
- if (item.templateSlots) {
35
- if (Array.isArray(item.templateSlots)) {
36
- currentK.push("templateSlots");
37
- intoData(item.templateSlots, currentK);
38
- }
39
- op.slotsChildren.forEach((filed) => {
40
- if (Array.isArray(item.templateSlots[filed])) {
41
- currentK.push("templateSlots", filed);
42
- intoData(item.templateSlots[filed], currentK);
43
- }
44
- });
45
- }
21
+ c[u.join()] = p, a.prop && (y[a.prop] = p), a.id && (g[a.id] = p), a.templateSlots && (Array.isArray(a.templateSlots) && (u.push("templateSlots"), i(a.templateSlots, u)), o.slotsChildren.forEach((f) => {
22
+ Array.isArray(a.templateSlots[f]) && (u.push("templateSlots", f), i(a.templateSlots[f], u));
23
+ }));
46
24
  });
47
25
  }
48
- intoData(unref(source));
49
- return {
50
- keyRecord,
51
- propRecord,
52
- idRecord
26
+ return i(M(t)), {
27
+ keyRecord: c,
28
+ propRecord: y,
29
+ idRecord: g
53
30
  };
54
31
  });
55
- const getManagerInfoByProp = (prop) => {
56
- return manager.value.propRecord[prop];
57
- };
58
- const getManagerInfoByKey = (key) => {
59
- return manager.value.keyRecord[key.join()];
60
- };
61
- const getManagerInfoById = (id) => {
62
- return manager.value.idRecord[id];
63
- };
64
32
  return [
65
- source,
33
+ t,
66
34
  {
67
- manager,
68
- getManagerInfoByProp,
69
- getManagerInfoByKey,
70
- getManagerInfoById
35
+ manager: e,
36
+ getManagerInfoByProp: (c) => e.value.propRecord[c],
37
+ getManagerInfoByKey: (c) => e.value.keyRecord[c.join()],
38
+ getManagerInfoById: (c) => e.value.idRecord[c]
71
39
  }
72
40
  ];
73
- };
74
-
75
- const useForm = () => {
76
- return inject("vkfFormVm", null);
77
- };
78
-
79
- const useComputedReadonly = (props) => {
80
- const form = useForm();
81
- const readonly = computed(() => {
82
- return props.readonly ?? form?.props.readonly ?? false;
41
+ }, K = () => m("vkfFormVm", null), F = (t) => {
42
+ const n = K();
43
+ return d(() => t.readonly ?? (n == null ? void 0 : n.props.readonly) ?? !1);
44
+ }, U = (t) => {
45
+ const n = D(0), o = d(() => {
46
+ n.value;
47
+ const r = t.value;
48
+ return r ? r.matches(":dir(rtl)") || getComputedStyle(r).direction === "rtl" : !1;
83
49
  });
84
- return readonly;
85
- };
86
-
87
- const PARENT_KEY = Symbol("PARENT_KEY");
88
- const useTemplateInstances = () => {
89
- const templateInstances = inject(
90
- "vkTemplateInstances",
91
- null
92
- );
93
- return templateInstances;
94
- };
95
- const useTemplateInstancesContext = () => {
96
- const templateInstances = useTemplateInstances();
97
- const getParent = (ins) => {
98
- return ins?.[PARENT_KEY];
99
- };
100
- const getTemplateInstance = (key) => {
101
- let instance = templateInstances?.[key];
102
- if (instance) return instance;
103
- let parent = getParent(templateInstances);
104
- while (parent) {
105
- instance = parent?.[key];
106
- if (instance) return instance;
107
- parent = getParent(parent);
108
- }
109
- return null;
110
- };
111
- return {
112
- templateInstances,
113
- getTemplateInstance,
114
- getParent
115
- };
116
- };
117
- const initTemplateInstances = () => {
118
- const perent = useTemplateInstances();
119
- const templateInstances = shallowReactive({});
120
- templateInstances[PARENT_KEY] = perent;
121
- provide("vkTemplateInstances", templateInstances);
122
- return templateInstances;
123
- };
124
-
125
- const initRendererData = (props, ctx) => {
126
- const data = computed(() => props.data);
127
- const emitSetData = (e) => {
128
- ctx.emit("setData", {
129
- intoUndefined: defaultIntoUndefined,
130
- ...e
50
+ let e = null;
51
+ const s = (r) => {
52
+ e == null || e.disconnect(), e = new MutationObserver(() => {
53
+ n.value++;
131
54
  });
55
+ let l = r.parentElement;
56
+ for (; l; )
57
+ e.observe(l, {
58
+ attributes: !0,
59
+ attributeFilter: ["dir", "style", "class"]
60
+ }), l = l.parentElement;
132
61
  };
133
- const getDataValue = (key) => {
134
- return getValue(data.value, key, defaultIntoUndefined, true);
62
+ return k(
63
+ t,
64
+ (r) => {
65
+ r ? s(r) : e == null || e.disconnect();
66
+ },
67
+ { immediate: !0, flush: "post" }
68
+ ), A(() => e == null ? void 0 : e.disconnect()), o;
69
+ }, S = Symbol("PARENT_KEY"), T = () => m(
70
+ "vkTemplateInstances",
71
+ null
72
+ ), x = () => {
73
+ const t = T(), n = (e) => e == null ? void 0 : e[S];
74
+ return {
75
+ templateInstances: t,
76
+ getTemplateInstance: (e) => {
77
+ let s = t == null ? void 0 : t[e];
78
+ if (s) return s;
79
+ let r = n(t);
80
+ for (; r; ) {
81
+ if (s = r == null ? void 0 : r[e], s) return s;
82
+ r = n(r);
83
+ }
84
+ return null;
85
+ },
86
+ getParent: n
135
87
  };
136
- const rendererData = {
137
- data,
138
- emitSetData,
139
- getDataValue
88
+ }, N = () => {
89
+ const t = T(), n = B({});
90
+ return n[S] = t, v("vkTemplateInstances", n), n;
91
+ }, Y = (t, n) => {
92
+ const o = d(() => t.data), r = {
93
+ data: o,
94
+ emitSetData: (l) => {
95
+ n.emit("setData", {
96
+ intoUndefined: R,
97
+ ...l
98
+ });
99
+ },
100
+ getDataValue: (l) => w(o.value, l, R, !0)
140
101
  };
141
- provide("vkRendererData", rendererData);
142
- return rendererData;
143
- };
144
- const useRendererData = () => {
145
- const rendererData = inject(
146
- "vkRendererData",
147
- {}
148
- );
149
- return rendererData;
102
+ return v("vkRendererData", r), r;
103
+ }, _ = () => m(
104
+ "vkRendererData",
105
+ {}
106
+ );
107
+ export {
108
+ Y as initRendererData,
109
+ N as initTemplateInstances,
110
+ F as useComputedReadonly,
111
+ K as useForm,
112
+ _ as useRendererData,
113
+ U as useRtl,
114
+ j as useSourceManager,
115
+ T as useTemplateInstances,
116
+ x as useTemplateInstancesContext
150
117
  };
151
-
152
- export { initRendererData, initTemplateInstances, useComputedReadonly, useForm, useRendererData, useSourceManager, useTemplateInstances, useTemplateInstancesContext };
@@ -1,6 +1,6 @@
1
1
  import { ComponentInternalInstance } from 'vue';
2
2
  import { VkfForm } from '@vunk/form/components/form';
3
3
  import { VueComponentPropsType } from '@vunk/core';
4
- export declare const useForm: () => ComponentInternalInstance & {
4
+ export declare const useForm: () => (ComponentInternalInstance & {
5
5
  props: VueComponentPropsType<typeof VkfForm>;
6
- };
6
+ }) | null;
@@ -0,0 +1,18 @@
1
+ import { type ComputedRef, type Ref } from 'vue';
2
+ /**
3
+ * Detect whether the given element is rendered in an RTL context.
4
+ *
5
+ * The check delegates to the browser's CSS engine via
6
+ * `Element.matches(':dir(rtl)')` — the same code path the selector uses
7
+ * for actual style matching. This means it covers every edge case the
8
+ * browser covers: `dir="auto"` resolved by content sniffing, CSS
9
+ * `direction` overrides via stylesheet, inline `style="..."`, etc.
10
+ *
11
+ * Falls back to `getComputedStyle(el).direction === 'rtl'` for browsers
12
+ * without `:dir()` support (Safari < 16.4).
13
+ *
14
+ * Reactivity: a `MutationObserver` watches `dir` / `style` / `class`
15
+ * changes on every ancestor up to the document root, so flipping
16
+ * `dir="rtl"` on a parent at runtime re-evaluates the result.
17
+ */
18
+ export declare const useRtl: (target: Ref<HTMLElement | null | undefined>) => ComputedRef<boolean>;
@@ -1,8 +1,8 @@
1
1
  import { TemplateInstances } from '@vunk/form/shared';
2
- export declare const useTemplateInstances: () => TemplateInstances;
2
+ export declare const useTemplateInstances: () => TemplateInstances | null;
3
3
  export declare const useTemplateInstancesContext: () => {
4
- templateInstances: TemplateInstances;
5
- getTemplateInstance: (key: string) => import("vue").ComponentInternalInstance;
4
+ templateInstances: TemplateInstances | null;
5
+ getTemplateInstance: (key: string) => import("vue").ComponentInternalInstance | null;
6
6
  getParent: (ins: TemplateInstances | null) => any;
7
7
  };
8
8
  export declare const initTemplateInstances: () => import("vue").ShallowReactive<TemplateInstances>;