@silver-formily/element-plus 2.3.0 → 2.4.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 (169) hide show
  1. package/LICENSE +21 -21
  2. package/README.en-US.md +32 -32
  3. package/README.md +32 -32
  4. package/esm/__builtins__/configs/index.mjs.map +1 -1
  5. package/esm/__builtins__/index.mjs +12 -11
  6. package/esm/__builtins__/shared/index.mjs +11 -10
  7. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  8. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  9. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  10. package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
  11. package/esm/__builtins__/shared/utils.d.ts +1 -0
  12. package/esm/__builtins__/shared/utils.mjs +23 -17
  13. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  14. package/esm/array-base/index.mjs +56 -52
  15. package/esm/array-base/index.mjs.map +1 -1
  16. package/esm/array-base/symbols.mjs.map +1 -1
  17. package/esm/array-base/utils.d.ts +0 -1
  18. package/esm/array-base/utils.mjs +45 -46
  19. package/esm/array-base/utils.mjs.map +1 -1
  20. package/esm/array-cards/index.mjs +36 -33
  21. package/esm/array-cards/index.mjs.map +1 -1
  22. package/esm/array-collapse/index.mjs +39 -37
  23. package/esm/array-collapse/index.mjs.map +1 -1
  24. package/esm/array-collapse/utils.mjs +9 -2
  25. package/esm/array-collapse/utils.mjs.map +1 -1
  26. package/esm/array-items/index.mjs +38 -34
  27. package/esm/array-items/index.mjs.map +1 -1
  28. package/esm/array-list-tabs/index.mjs +38 -36
  29. package/esm/array-list-tabs/index.mjs.map +1 -1
  30. package/esm/array-list-tabs/utils.mjs +12 -5
  31. package/esm/array-list-tabs/utils.mjs.map +1 -1
  32. package/esm/array-table/index.mjs +63 -60
  33. package/esm/array-table/index.mjs.map +1 -1
  34. package/esm/array-table/utils.mjs +18 -11
  35. package/esm/array-table/utils.mjs.map +1 -1
  36. package/esm/array-tabs/index.mjs +28 -25
  37. package/esm/array-tabs/index.mjs.map +1 -1
  38. package/esm/autocomplete/index.mjs +24 -18
  39. package/esm/autocomplete/index.mjs.map +1 -1
  40. package/esm/cascader/index.mjs +22 -18
  41. package/esm/cascader/index.mjs.map +1 -1
  42. package/esm/checkbox/index.mjs +20 -16
  43. package/esm/checkbox/index.mjs.map +1 -1
  44. package/esm/color-picker/index.mjs +9 -6
  45. package/esm/color-picker/index.mjs.map +1 -1
  46. package/esm/color-picker-panel/index.mjs +9 -6
  47. package/esm/color-picker-panel/index.mjs.map +1 -1
  48. package/esm/date-picker/index.mjs +14 -11
  49. package/esm/date-picker/index.mjs.map +1 -1
  50. package/esm/date-picker/utils.mjs.map +1 -1
  51. package/esm/date-picker-panel/index.mjs +14 -11
  52. package/esm/date-picker-panel/index.mjs.map +1 -1
  53. package/esm/editable/editable.d.ts +2 -0
  54. package/esm/editable/index.d.ts +1 -0
  55. package/esm/editable/index.mjs +71 -66
  56. package/esm/editable/index.mjs.map +1 -1
  57. package/esm/form/form.mjs +6 -6
  58. package/esm/form/form.mjs.map +1 -1
  59. package/esm/form-button-group/form-button-group.d.ts +9 -0
  60. package/esm/form-button-group/index.d.ts +15 -0
  61. package/esm/form-button-group/index.mjs +47 -28
  62. package/esm/form-button-group/index.mjs.map +1 -1
  63. package/esm/form-button-group/utils.mjs +9 -2
  64. package/esm/form-button-group/utils.mjs.map +1 -1
  65. package/esm/form-collapse/index.mjs +21 -18
  66. package/esm/form-collapse/index.mjs.map +1 -1
  67. package/esm/form-collapse/utils.mjs.map +1 -1
  68. package/esm/form-dialog/index.mjs +22 -22
  69. package/esm/form-dialog/index.mjs.map +1 -1
  70. package/esm/form-drawer/index.mjs +21 -21
  71. package/esm/form-drawer/index.mjs.map +1 -1
  72. package/esm/form-grid/hooks.mjs.map +1 -1
  73. package/esm/form-grid/index.mjs +26 -22
  74. package/esm/form-grid/index.mjs.map +1 -1
  75. package/esm/form-item/index.d.ts +1 -0
  76. package/esm/form-item/index.mjs +102 -99
  77. package/esm/form-item/index.mjs.map +1 -1
  78. package/esm/form-item/types.d.ts +4 -0
  79. package/esm/form-item/utils.mjs.map +1 -1
  80. package/esm/form-layout/form-layout.mjs +14 -10
  81. package/esm/form-layout/form-layout.mjs.map +1 -1
  82. package/esm/form-layout/utils.mjs +23 -23
  83. package/esm/form-layout/utils.mjs.map +1 -1
  84. package/esm/form-step/index.mjs +30 -27
  85. package/esm/form-step/index.mjs.map +1 -1
  86. package/esm/form-step/utils.mjs.map +1 -1
  87. package/esm/form-tab/hooks.mjs.map +1 -1
  88. package/esm/form-tab/index.mjs +24 -22
  89. package/esm/form-tab/index.mjs.map +1 -1
  90. package/esm/form-tab/utils.mjs.map +1 -1
  91. package/esm/index.d.ts +2 -0
  92. package/esm/index.mjs +82 -78
  93. package/esm/index.mjs.map +1 -1
  94. package/esm/input/index.mjs +30 -26
  95. package/esm/input/index.mjs.map +1 -1
  96. package/esm/input-number/index.mjs +11 -8
  97. package/esm/input-number/index.mjs.map +1 -1
  98. package/esm/input-tag/index.mjs +20 -16
  99. package/esm/input-tag/index.mjs.map +1 -1
  100. package/esm/mention/index.mjs +24 -20
  101. package/esm/mention/index.mjs.map +1 -1
  102. package/esm/pagination/components/jumper.mjs.map +1 -1
  103. package/esm/pagination/components/next.mjs.map +1 -1
  104. package/esm/pagination/components/pager.mjs.map +1 -1
  105. package/esm/pagination/components/prev.mjs.map +1 -1
  106. package/esm/pagination/components/total.mjs.map +1 -1
  107. package/esm/pagination/pagination.mjs.map +1 -1
  108. package/esm/password/index.mjs.map +1 -1
  109. package/esm/preview-text/index.mjs +57 -53
  110. package/esm/preview-text/index.mjs.map +1 -1
  111. package/esm/preview-text/utils.mjs.map +1 -1
  112. package/esm/query-form/default-components.d.ts +5 -0
  113. package/esm/query-form/default-components.mjs +47 -0
  114. package/esm/query-form/default-components.mjs.map +1 -0
  115. package/esm/query-form/hooks.d.ts +25 -0
  116. package/esm/query-form/hooks.mjs +29 -0
  117. package/esm/query-form/hooks.mjs.map +1 -0
  118. package/esm/query-form/index.d.ts +117 -0
  119. package/esm/query-form/index.mjs +337 -0
  120. package/esm/query-form/index.mjs.map +1 -0
  121. package/esm/query-form/query-form-light.d.ts +27 -0
  122. package/esm/query-form/query-form.d.ts +52 -0
  123. package/esm/query-form/types.d.ts +44 -0
  124. package/esm/query-form/types.mjs +2 -0
  125. package/esm/query-form/types.mjs.map +1 -0
  126. package/esm/query-form-item/index.d.ts +151 -0
  127. package/esm/query-form-item/index.mjs +188 -0
  128. package/esm/query-form-item/index.mjs.map +1 -0
  129. package/esm/query-form-item/query-form-item.d.ts +96 -0
  130. package/esm/query-form-item/types.d.ts +46 -0
  131. package/esm/query-form-item/types.mjs +2 -0
  132. package/esm/query-form-item/types.mjs.map +1 -0
  133. package/esm/radio/index.mjs +29 -25
  134. package/esm/radio/index.mjs.map +1 -1
  135. package/esm/rate/index.mjs +13 -10
  136. package/esm/rate/index.mjs.map +1 -1
  137. package/esm/reset/index.mjs.map +1 -1
  138. package/esm/segmented/index.mjs +16 -12
  139. package/esm/segmented/index.mjs.map +1 -1
  140. package/esm/select/index.mjs +26 -22
  141. package/esm/select/index.mjs.map +1 -1
  142. package/esm/select-table/index.mjs +36 -33
  143. package/esm/select-table/index.mjs.map +1 -1
  144. package/esm/shared/overlay-elements.mjs +14 -11
  145. package/esm/shared/overlay-elements.mjs.map +1 -1
  146. package/esm/slider/index.mjs +13 -10
  147. package/esm/slider/index.mjs.map +1 -1
  148. package/esm/styles/form-button-group/index.css +1 -1
  149. package/esm/styles/form-item/index.css +1 -1
  150. package/esm/styles/query-form/index.css +1 -0
  151. package/esm/styles/query-form-item/index.css +1 -0
  152. package/esm/submit/index.mjs.map +1 -1
  153. package/esm/switch/index.mjs.map +1 -1
  154. package/esm/time-picker/index.mjs +9 -6
  155. package/esm/time-picker/index.mjs.map +1 -1
  156. package/esm/time-select/index.mjs +9 -6
  157. package/esm/time-select/index.mjs.map +1 -1
  158. package/esm/transfer/index.mjs.map +1 -1
  159. package/esm/tree/index.mjs +33 -29
  160. package/esm/tree/index.mjs.map +1 -1
  161. package/esm/tree/utils.mjs.map +1 -1
  162. package/esm/tree-select/index.mjs +18 -14
  163. package/esm/tree-select/index.mjs.map +1 -1
  164. package/esm/upload/index.mjs +10 -7
  165. package/esm/upload/index.mjs.map +1 -1
  166. package/esm/vendor/lodash.mjs +751 -663
  167. package/esm/vendor/lodash.mjs.map +1 -1
  168. package/esm/vendor/sizes.mjs.map +1 -1
  169. package/package.json +115 -115
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/array-cards/array-cards.vue","../../src/array-cards/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { ISchema } from '@formily/json-schema'\r\nimport { autorun } from '@formily/reactive'\r\nimport { isArr } from '@formily/shared'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { ElCard, ElEmpty, ElRow } from 'element-plus'\r\nimport { ref } from 'vue'\r\nimport { stylePrefix } from '../__builtins__/configs'\r\nimport { ArrayBase } from '../array-base'\r\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\r\n\r\ndefineOptions({\r\n name: 'FArrayCards',\r\n})\r\n\r\nconst props = withDefaults(defineProps<{\r\n title?: string\r\n header?: string\r\n footer?: string\r\n bodyStyle?: Record<string, string>\r\n bodyClass?: string\r\n shadow?: 'always' | 'hover' | 'never'\r\n modelValue: any\r\n}>(), {\r\n shadow: 'never',\r\n})\r\nconst fieldRef = useField<ArrayField>()\r\nconst schemaRef = useFieldSchema()\r\nconst field = fieldRef.value\r\nconst schema = schemaRef.value\r\n\r\nconst prefixCls = `${stylePrefix}-array-cards`\r\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\r\n\r\nconst dataSource = ref(isArr(field.value) ? field.value : [])\n\r\nautorun(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n</script>\r\n\r\n<template>\r\n <div :class=\"prefixCls\">\r\n <ArrayBase :key-map=\"keyMap\">\r\n <!-- 空状态渲染 -->\r\n <ElCard\r\n v-if=\"!(isArr(field.value) && field.value.length > 0)\"\r\n :class=\"`${prefixCls}-item`\"\r\n v-bind=\"props\"\r\n >\r\n <ElEmpty />\r\n </ElCard>\r\n\r\n <!-- 数据项渲染 -->\r\n <template v-if=\"isArr(props.modelValue)\">\r\n <ArrayBase.Item\r\n v-for=\"(item, index) of dataSource\"\r\n :key=\"getKey(item, index)\"\r\n :index=\"index\"\r\n :record=\"item\"\r\n >\r\n <ElCard\r\n v-bind=\"props\"\r\n :class=\"`${prefixCls}-item`\"\r\n >\r\n <template #header>\r\n <ElRow type=\"flex\" justify=\"space-between\">\r\n <span>\r\n <RecursionField\r\n :schema=\"getArrayItemSchema(schema, index)\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\r\n :only-render-properties=\"true\"\r\n />\r\n {{ getArrayItemSchema(schema, index).title ?? props.title ?? field.title }}\r\n </span>\r\n <span :class=\"`${prefixCls}-extra-container`\">\r\n <RecursionField\r\n :schema=\"getArrayItemSchema(schema, index)\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\r\n :only-render-properties=\"true\"\r\n />\r\n </span>\r\n </ElRow>\r\n </template>\r\n <RecursionField\r\n :schema=\"getArrayItemSchema(schema, index)\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\r\n />\r\n </ElCard>\r\n </ArrayBase.Item>\r\n </template>\r\n\r\n <!-- 添加按钮渲染 -->\r\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\r\n <RecursionField\r\n v-if=\"isAdditionComponent(itemSchema)\"\r\n :schema=\"itemSchema\"\r\n name=\"addition\"\r\n />\r\n </template>\r\n </ArrayBase>\r\n </div>\r\n</template>\r\n","import { composeExport } from '../__builtins__/shared'\r\nimport { ArrayBase } from '../array-base'\r\nimport ArrayCardsInner from './array-cards.vue'\r\nimport './style.scss'\r\n\r\nexport const ArrayCards = composeExport(ArrayCardsInner, {\r\n Index: ArrayBase.Index,\r\n SortHandle: ArrayBase.SortHandle,\r\n Addition: ArrayBase.Addition,\r\n Remove: ArrayBase.Remove,\r\n MoveDown: ArrayBase.MoveDown,\r\n MoveUp: ArrayBase.MoveUp,\r\n useArray: ArrayBase.useArray,\r\n useIndex: ArrayBase.useIndex,\r\n useRecord: ArrayBase.useRecord,\r\n})\r\n\r\nexport default ArrayCards\r\n"],"names":["props","__props","fieldRef","useField","schemaRef","useFieldSchema","field","schema","prefixCls","stylePrefix","getKey","keyMap","ArrayBase","dataSource","ref","isArr","autorun","_createElementBlock","_createVNode","_unref","_openBlock","_createBlock","_mergeProps","ElEmpty","_Fragment","_renderList","item","index","ElCard","ElRow","_createElementVNode","RecursionField","getArrayItemSchema","isIndexComponent","_createTextVNode","_toDisplayString","isOperationComponent","itemSchema","key","isAdditionComponent","ArrayCards","composeExport","ArrayCardsInner"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/array-cards/array-cards.vue","../../src/array-cards/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { autorun } from '@formily/reactive'\nimport { isArr } from '@formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElCard, ElEmpty, ElRow } from 'element-plus'\nimport { ref } from 'vue'\nimport { stylePrefix } from '../__builtins__/configs'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\n\ndefineOptions({\n name: 'FArrayCards',\n})\n\nconst props = withDefaults(defineProps<{\n title?: string\n header?: string\n footer?: string\n bodyStyle?: Record<string, string>\n bodyClass?: string\n shadow?: 'always' | 'hover' | 'never'\n modelValue: any\n}>(), {\n shadow: 'never',\n})\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst prefixCls = `${stylePrefix}-array-cards`\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\n\nconst dataSource = ref(isArr(field.value) ? field.value : [])\n\nautorun(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase :key-map=\"keyMap\">\n <!-- 空状态渲染 -->\n <ElCard\n v-if=\"!(isArr(field.value) && field.value.length > 0)\"\n :class=\"`${prefixCls}-item`\"\n v-bind=\"props\"\n >\n <ElEmpty />\n </ElCard>\n\n <!-- 数据项渲染 -->\n <template v-if=\"isArr(props.modelValue)\">\n <ArrayBase.Item\n v-for=\"(item, index) of dataSource\"\n :key=\"getKey(item, index)\"\n :index=\"index\"\n :record=\"item\"\n >\n <ElCard\n v-bind=\"props\"\n :class=\"`${prefixCls}-item`\"\n >\n <template #header>\n <ElRow type=\"flex\" justify=\"space-between\">\n <span>\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\n :only-render-properties=\"true\"\n />\n {{ getArrayItemSchema(schema, index).title ?? props.title ?? field.title }}\n </span>\n <span :class=\"`${prefixCls}-extra-container`\">\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\n :only-render-properties=\"true\"\n />\n </span>\n </ElRow>\n </template>\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\n />\n </ElCard>\n </ArrayBase.Item>\n </template>\n\n <!-- 添加按钮渲染 -->\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\n <RecursionField\n v-if=\"isAdditionComponent(itemSchema)\"\n :schema=\"itemSchema\"\n name=\"addition\"\n />\n </template>\n </ArrayBase>\n </div>\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport { ArrayBase } from '../array-base'\nimport ArrayCardsInner from './array-cards.vue'\nimport './style.scss'\n\nexport const ArrayCards = composeExport(ArrayCardsInner, {\n Index: ArrayBase.Index,\n SortHandle: ArrayBase.SortHandle,\n Addition: ArrayBase.Addition,\n Remove: ArrayBase.Remove,\n MoveDown: ArrayBase.MoveDown,\n MoveUp: ArrayBase.MoveUp,\n useArray: ArrayBase.useArray,\n useIndex: ArrayBase.useIndex,\n useRecord: ArrayBase.useRecord,\n})\n\nexport default ArrayCards\n"],"names":["props","__props","fieldRef","useField","schemaRef","useFieldSchema","field","schema","prefixCls","stylePrefix","getKey","keyMap","ArrayBase","dataSource","ref","isArr","autorun","_createElementBlock","_createVNode","_unref","_openBlock","_createBlock","_mergeProps","ElEmpty","_Fragment","_renderList","item","index","ElCard","ElRow","_createElementVNode","RecursionField","getArrayItemSchema","isIndexComponent","_createTextVNode","_toDisplayString","isOperationComponent","itemSchema","key","isAdditionComponent","ArrayCards","composeExport","ArrayCardsInner"],"mappings":"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"}
@@ -1,44 +1,46 @@
1
+ import { ElCollapseItem as T, ElBadge as j, ElCard as G, ElEmpty as J, ElCollapse as L } from "element-plus";
2
+ import { autorun as Q } from "@formily/reactive";
3
+ import "@vueuse/core";
4
+ import { defineComponent as N, createBlock as d, openBlock as l, unref as e, mergeProps as E, withCtx as f, renderSlot as $, createElementVNode as w, createCommentVNode as S, createVNode as g, normalizeClass as D, createTextVNode as W, toDisplayString as X, ref as B, watchEffect as Y, createElementBlock as A, Fragment as R, renderList as M } from "vue";
5
+ import "@formily/core";
6
+ import { formilyComputed as Z } from "@silver-formily/reactive-vue";
7
+ import { useField as P, useFieldSchema as U, RecursionField as I } from "@silver-formily/vue";
8
+ import { useCleanAttrs as b, composeExport as ee } from "../__builtins__/shared/utils.mjs";
1
9
  import { ArrayBase as o } from "../array-base/index.mjs";
2
- import { defineComponent as N, createBlock as d, openBlock as l, unref as e, mergeProps as E, withCtx as f, renderSlot as $, createElementVNode as w, createCommentVNode as S, createVNode as g, normalizeClass as D, createTextVNode as T, toDisplayString as j, ref as B, watchEffect as G, createElementBlock as A, Fragment as R, renderList as M } from "vue";
3
10
  import { isArr as C } from "@formily/shared";
4
- import { formilyComputed as J } from "@silver-formily/reactive-vue";
5
- import { useField as P, useFieldSchema as U, RecursionField as I } from "@silver-formily/vue";
6
- import { ElCollapseItem as L, ElBadge as Q, ElCard as W, ElEmpty as X, ElCollapse as Y } from "element-plus";
7
- import { useIndex as Z, isIndexComponent as b, isOperationComponent as H, getArrayItemSchema as ee, isAdditionComponent as re } from "../array-base/utils.mjs";
11
+ import { useIndex as re, isIndexComponent as H, isOperationComponent as K, getArrayItemSchema as te, isAdditionComponent as ae } from "../array-base/utils.mjs";
8
12
  import { prefixCls as _ } from "./utils.mjs";
9
- import { useCleanAttrs as K, composeExport as te } from "../__builtins__/shared/utils.mjs";
10
- import { autorun as ae } from "@formily/reactive";
11
13
  import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", display: "flex", "align-items": "center" } }, le = /* @__PURE__ */ N({
12
14
  name: "FArrayCollapseItem",
13
15
  inheritAttrs: !1,
14
16
  __name: "array-collapse-item",
15
17
  setup(x) {
16
- const y = P().value, r = U().value.parent, m = Z(), u = J(() => {
18
+ const y = P().value, r = U().value.parent, u = re(), m = Z(() => {
17
19
  const h = y.address.concat();
18
20
  return y.form.queryFeedbacks({
19
21
  type: "error",
20
22
  address: `${h}.**`
21
23
  }).length;
22
- }), { props: c } = K();
23
- return (h, V) => (l(), d(e(L), E({ name: e(m) }, e(c)), {
24
+ }), { props: c } = b();
25
+ return (h, V) => (l(), d(e(T), E({ name: e(u) }, e(c)), {
24
26
  title: f(() => [
25
27
  w("div", oe, [
26
28
  e(C)(e(r).items) ? S("", !0) : (l(), d(e(I), {
27
29
  key: 0,
28
30
  schema: e(r).items,
29
- name: e(m),
30
- "filter-properties": (s) => e(b)(s),
31
+ name: e(u),
32
+ "filter-properties": (s) => e(H)(s),
31
33
  "only-render-properties": !0
32
34
  }, null, 8, ["schema", "name", "filter-properties"])),
33
35
  $(h.$slots, "title", {}, () => [
34
- g(e(Q), {
36
+ g(e(j), {
35
37
  class: D([`${e(_)}-errors-badge`]),
36
- value: e(u),
38
+ value: e(m),
37
39
  offset: [5, -2],
38
- hidden: e(u) === 0
40
+ hidden: e(m) === 0
39
41
  }, {
40
42
  default: f(() => [
41
- T(j(e(r).items?.["x-component-props"]?.title), 1)
43
+ W(X(e(r).items?.["x-component-props"]?.title), 1)
42
44
  ]),
43
45
  _: 1
44
46
  }, 8, ["class", "value", "hidden"])
@@ -46,9 +48,9 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
46
48
  ]),
47
49
  w("div", null, [
48
50
  g(e(I), {
49
- schema: Array.isArray(e(r).items) ? e(r).items[e(m)] || e(r).items[0] : e(r).items,
50
- name: e(m),
51
- "filter-properties": (s) => e(H)(s),
51
+ schema: Array.isArray(e(r).items) ? e(r).items[e(u)] || e(r).items[0] : e(r).items,
52
+ name: e(u),
53
+ "filter-properties": (s) => e(K)(s),
52
54
  "only-render-properties": !0
53
55
  }, null, 8, ["schema", "name", "filter-properties"])
54
56
  ])
@@ -71,8 +73,8 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
71
73
  }
72
74
  },
73
75
  setup(x) {
74
- const v = x, y = P(), k = U(), r = y.value, m = k.value, { props: u } = K(["modelValue", "onUpdate:modelValue"]), c = B([]), { getKey: h, keyMap: V } = o.useKey(k.value), s = B(C(r.value) ? r.value : []);
75
- ae(() => {
76
+ const v = x, y = P(), k = U(), r = y.value, u = k.value, { props: m } = b(["modelValue", "onUpdate:modelValue"]), c = B([]), { getKey: h, keyMap: V } = o.useKey(k.value), s = B(C(r.value) ? r.value : []);
77
+ Q(() => {
76
78
  s.value = C(r.value) ? [...r.value] : [];
77
79
  });
78
80
  function F(a) {
@@ -87,11 +89,11 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
87
89
  /* istanbul ignore if -- @preserve */
88
90
  return C(a) ? a.length <= n ? a.concat(n) : a.reduce((i, p) => p === n ? [...i, p, p + 1] : i.concat(p + 1), []) : n;
89
91
  }
90
- G(() => {
92
+ Y(() => {
91
93
  !r.modified && s.value.length > 0 && (c.value = O(
92
94
  s.value.length,
93
95
  v.defaultOpenPanelCount,
94
- u.value.accordion
96
+ m.value.accordion
95
97
  ));
96
98
  });
97
99
  function z(a) {
@@ -107,27 +109,27 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
107
109
  c.value = q(
108
110
  c.value,
109
111
  t,
110
- e(u).accordion
112
+ e(m).accordion
111
113
  );
112
114
  }
113
115
  }, {
114
116
  default: f(() => [
115
- !Array.isArray(v.modelValue) || v.modelValue.length === 0 ? (l(), d(e(W), E({
117
+ !Array.isArray(v.modelValue) || v.modelValue.length === 0 ? (l(), d(e(G), E({
116
118
  key: 0,
117
119
  class: [`${e(_)}-item`],
118
120
  shadow: "never"
119
- }, e(u), {
120
- header: e(u).title || e(r).title
121
+ }, e(m), {
122
+ header: e(m).title || e(r).title
121
123
  }), {
122
124
  default: f(() => [
123
- g(e(X))
125
+ g(e(J))
124
126
  ]),
125
127
  _: 1
126
- }, 16, ["class", "header"])) : (l(), d(e(Y), E({
128
+ }, 16, ["class", "header"])) : (l(), d(e(L), E({
127
129
  key: 1,
128
130
  "model-value": c.value,
129
131
  class: `${e(_)}-item`
130
- }, e(u), { onChange: z }), {
132
+ }, e(m), { onChange: z }), {
131
133
  default: f(() => [
132
134
  (l(!0), A(R, null, M(s.value, (t, i) => (l(), d(e(o).Item, {
133
135
  key: e(h)(t, i),
@@ -136,9 +138,9 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
136
138
  }, {
137
139
  default: f(() => [
138
140
  g(e(I), {
139
- schema: e(ee)(e(m), i),
141
+ schema: e(te)(e(u), i),
140
142
  name: i,
141
- "filter-properties": (p) => !e(b)(p) && !e(H)(p)
143
+ "filter-properties": (p) => !e(H)(p) && !e(K)(p)
142
144
  }, null, 8, ["schema", "name", "filter-properties"])
143
145
  ]),
144
146
  _: 2
@@ -146,8 +148,8 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
146
148
  ]),
147
149
  _: 1
148
150
  }, 16, ["model-value", "class"])),
149
- (l(!0), A(R, null, M(e(m).properties, (t, i) => (l(), A(R, { key: i }, [
150
- e(re)(t) ? (l(), d(e(I), {
151
+ (l(!0), A(R, null, M(e(u).properties, (t, i) => (l(), A(R, { key: i }, [
152
+ e(ae)(t) ? (l(), d(e(I), {
151
153
  key: 0,
152
154
  schema: t,
153
155
  name: "addition"
@@ -158,7 +160,7 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
158
160
  }, 8, ["key-map", "add"]))
159
161
  ], 2));
160
162
  }
161
- }), ye = te(ne, {
163
+ }), Ce = ee(ne, {
162
164
  Item: le,
163
165
  Index: o.Index,
164
166
  SortHandle: o.SortHandle,
@@ -171,7 +173,7 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
171
173
  useRecord: o.useRecord
172
174
  });
173
175
  export {
174
- ye as ArrayCollapse,
175
- ye as default
176
+ Ce as ArrayCollapse,
177
+ Ce as default
176
178
  };
177
179
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/array-collapse/array-collapse-item.vue","../../src/array-collapse/array-collapse.vue","../../src/array-collapse/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { ISchema } from '@formily/json-schema'\r\nimport { isArr } from '@formily/shared'\r\nimport { formilyComputed } from '@silver-formily/reactive-vue'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { ElBadge, ElCollapseItem } from 'element-plus'\r\nimport { useCleanAttrs } from '../__builtins__'\r\nimport { isIndexComponent, isOperationComponent, useIndex } from '../array-base/utils'\r\nimport { prefixCls } from './utils'\r\n\r\ndefineOptions({\r\n name: 'FArrayCollapseItem',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst fieldRef = useField<ArrayField>()\r\nconst field = fieldRef.value\r\nconst schemaRef = useFieldSchema()\r\nconst schema = schemaRef.value.parent\r\nconst index = useIndex()\r\nconst errorCount = formilyComputed(() => {\r\n const path = field.address.concat()\r\n return field.form.queryFeedbacks({\r\n type: 'error',\r\n address: `${path}.**`,\r\n }).length\r\n})\r\n\r\nconst { props: collapseItemProps } = useCleanAttrs()\r\n</script>\r\n\r\n<template>\r\n <ElCollapseItem :name=\"index\" v-bind=\"collapseItemProps\">\r\n <template #title>\r\n <div style=\"flex: 1;display: flex;align-items: center;\">\r\n <RecursionField\r\n v-if=\"!isArr(schema.items)\"\r\n :schema=\"schema.items\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\r\n :only-render-properties=\"true\"\r\n />\r\n <slot name=\"title\">\r\n <ElBadge\r\n :class=\"[`${prefixCls}-errors-badge`]\"\r\n :value=\"errorCount\"\r\n :offset=\"[5, -2]\"\r\n :hidden=\"errorCount === 0\"\r\n >\r\n {{ schema.items?.['x-component-props']?.title }}\r\n </ElBadge>\r\n </slot>\r\n </div>\r\n <div>\r\n <RecursionField\r\n :schema=\"Array.isArray(schema.items) ? schema.items[index] || schema.items[0] : schema.items\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\r\n :only-render-properties=\"true\"\r\n />\r\n </div>\r\n </template>\r\n <slot />\r\n </ElCollapseItem>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { ISchema } from '@formily/json-schema'\r\nimport { autorun } from '@formily/reactive'\r\nimport { isArr } from '@formily/shared'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport {\r\n ElCard,\r\n ElCollapse,\r\n ElEmpty,\r\n} from 'element-plus'\r\nimport { ref, watchEffect } from 'vue'\r\nimport { useCleanAttrs } from '../__builtins__'\r\nimport { ArrayBase } from '../array-base'\r\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\r\nimport { prefixCls } from './utils'\r\n\r\ndefineOptions({\r\n name: 'FArrayCollapse',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\r\n modelValue: {},\r\n defaultOpenPanelCount: {\r\n type: Number,\r\n default: 5,\r\n },\r\n})\r\n\r\nconst fieldRef = useField<ArrayField>()\r\nconst schemaRef = useFieldSchema()\r\nconst field = fieldRef.value\r\nconst schema = schemaRef.value\r\n\r\nconst { props: collapseProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\r\nconst activeKeys = ref<number[] | number>([])\r\n\r\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\r\n\r\nconst dataSource = ref(isArr(field.value) ? field.value : [])\n\r\nautorun(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n\r\nfunction range(count: number) {\r\n return Array.from({ length: count }).map((_, i) => i)\r\n}\r\n\r\nfunction takeDefaultActiveKeys(dataSourceLength: number, defaultOpenPanelCount: number, accordion = false) {\r\n if (accordion) {\r\n return 0\r\n }\r\n if (dataSourceLength < defaultOpenPanelCount)\r\n return range(dataSourceLength)\r\n\r\n return range(defaultOpenPanelCount)\r\n}\r\n\r\nfunction insertActiveKeys(activeKeys: number[] | number, index: number, accordion = false) {\r\n if (accordion)\r\n return index\r\n /* istanbul ignore if -- @preserve */\r\n if (!isArr(activeKeys))\r\n return index\r\n if (activeKeys.length <= index)\r\n return (activeKeys).concat(index)\r\n return (activeKeys).reduce((buf, key) => {\r\n if (key === index)\r\n return [...buf, key, key + 1]\r\n return buf.concat(key + 1)\r\n }, [])\r\n}\r\n\r\nwatchEffect(() => {\r\n if (!field.modified && dataSource.value.length > 0) {\r\n activeKeys.value = takeDefaultActiveKeys(\r\n dataSource.value.length,\r\n props.defaultOpenPanelCount,\r\n collapseProps.value.accordion as boolean,\r\n )\r\n }\r\n})\r\n\r\nfunction handleCollapseChange(keys: number[] | number) {\r\n activeKeys.value = keys\r\n}\r\n</script>\r\n\r\n<template>\r\n <div :class=\"prefixCls\">\r\n <ArrayBase\r\n :key=\"dataSource.length\"\r\n :key-map=\"keyMap\"\r\n :add=\"(index: number) => {\r\n activeKeys = insertActiveKeys(\r\n activeKeys,\r\n index,\r\n collapseProps.accordion as boolean,\r\n )\r\n }\"\r\n >\r\n <template v-if=\"!Array.isArray(props.modelValue) || props.modelValue.length === 0\">\r\n <ElCard :class=\"[`${prefixCls}-item`]\" shadow=\"never\" v-bind=\"collapseProps\" :header=\"collapseProps.title || field.title\">\r\n <ElEmpty />\r\n </ElCard>\r\n </template>\r\n <template v-else>\r\n <ElCollapse\r\n :model-value=\"activeKeys\"\r\n :class=\"`${prefixCls}-item`\"\r\n v-bind=\"collapseProps\"\r\n @change=\"handleCollapseChange\"\r\n >\r\n <ArrayBase.Item v-for=\"(item, index) of dataSource\" :key=\"getKey(item, index)\" :index=\"index\" :record=\"item\">\r\n <RecursionField\r\n :schema=\"getArrayItemSchema(schema, index)\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\r\n />\r\n </ArrayBase.Item>\r\n </ElCollapse>\r\n </template>\r\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\r\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\r\n </template>\r\n </ArrayBase>\r\n </div>\r\n</template>\r\n","import { composeExport } from '../__builtins__/shared'\r\nimport { ArrayBase } from '../array-base'\r\nimport ArrayCollapseItem from './array-collapse-item.vue'\r\nimport ArrayCollapseInner from './array-collapse.vue'\r\nimport './style.scss'\r\n\r\nexport const ArrayCollapse = composeExport(ArrayCollapseInner, {\r\n Item: ArrayCollapseItem,\r\n Index: ArrayBase.Index,\r\n SortHandle: ArrayBase.SortHandle,\r\n Addition: ArrayBase.Addition,\r\n Remove: ArrayBase.Remove,\r\n MoveDown: ArrayBase.MoveDown,\r\n MoveUp: ArrayBase.MoveUp,\r\n useArray: ArrayBase.useArray,\r\n useIndex: ArrayBase.useIndex,\r\n useRecord: ArrayBase.useRecord,\r\n})\r\n\r\nexport default ArrayCollapse\r\n"],"names":["field","useField","schema","useFieldSchema","index","useIndex","errorCount","formilyComputed","path","collapseItemProps","useCleanAttrs","_openBlock","_createBlock","_unref","_mergeProps","_createElementVNode","_hoisted_1","isArr","RecursionField","isIndexComponent","_renderSlot","_ctx","_createVNode","ElBadge","prefixCls","isOperationComponent","props","__props","fieldRef","schemaRef","collapseProps","activeKeys","ref","getKey","keyMap","ArrayBase","dataSource","autorun","range","count","_","i","takeDefaultActiveKeys","dataSourceLength","defaultOpenPanelCount","accordion","insertActiveKeys","buf","key","watchEffect","handleCollapseChange","keys","_createElementBlock","ElEmpty","_Fragment","_renderList","item","getArrayItemSchema","itemSchema","isAdditionComponent","ArrayCollapse","composeExport","ArrayCollapseInner","ArrayCollapseItem"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/array-collapse/array-collapse-item.vue","../../src/array-collapse/array-collapse.vue","../../src/array-collapse/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { isArr } from '@formily/shared'\nimport { formilyComputed } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElBadge, ElCollapseItem } from 'element-plus'\nimport { useCleanAttrs } from '../__builtins__'\nimport { isIndexComponent, isOperationComponent, useIndex } from '../array-base/utils'\nimport { prefixCls } from './utils'\n\ndefineOptions({\n name: 'FArrayCollapseItem',\n inheritAttrs: false,\n})\n\nconst fieldRef = useField<ArrayField>()\nconst field = fieldRef.value\nconst schemaRef = useFieldSchema()\nconst schema = schemaRef.value.parent\nconst index = useIndex()\nconst errorCount = formilyComputed(() => {\n const path = field.address.concat()\n return field.form.queryFeedbacks({\n type: 'error',\n address: `${path}.**`,\n }).length\n})\n\nconst { props: collapseItemProps } = useCleanAttrs()\n</script>\n\n<template>\n <ElCollapseItem :name=\"index\" v-bind=\"collapseItemProps\">\n <template #title>\n <div style=\"flex: 1;display: flex;align-items: center;\">\n <RecursionField\n v-if=\"!isArr(schema.items)\"\n :schema=\"schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\n :only-render-properties=\"true\"\n />\n <slot name=\"title\">\n <ElBadge\n :class=\"[`${prefixCls}-errors-badge`]\"\n :value=\"errorCount\"\n :offset=\"[5, -2]\"\n :hidden=\"errorCount === 0\"\n >\n {{ schema.items?.['x-component-props']?.title }}\n </ElBadge>\n </slot>\n </div>\n <div>\n <RecursionField\n :schema=\"Array.isArray(schema.items) ? schema.items[index] || schema.items[0] : schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\n :only-render-properties=\"true\"\n />\n </div>\n </template>\n <slot />\n </ElCollapseItem>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { autorun } from '@formily/reactive'\nimport { isArr } from '@formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport {\n ElCard,\n ElCollapse,\n ElEmpty,\n} from 'element-plus'\nimport { ref, watchEffect } from 'vue'\nimport { useCleanAttrs } from '../__builtins__'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\nimport { prefixCls } from './utils'\n\ndefineOptions({\n name: 'FArrayCollapse',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n modelValue: {},\n defaultOpenPanelCount: {\n type: Number,\n default: 5,\n },\n})\n\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst { props: collapseProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\nconst activeKeys = ref<number[] | number>([])\n\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\n\nconst dataSource = ref(isArr(field.value) ? field.value : [])\n\nautorun(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n\nfunction range(count: number) {\n return Array.from({ length: count }).map((_, i) => i)\n}\n\nfunction takeDefaultActiveKeys(dataSourceLength: number, defaultOpenPanelCount: number, accordion = false) {\n if (accordion) {\n return 0\n }\n if (dataSourceLength < defaultOpenPanelCount)\n return range(dataSourceLength)\n\n return range(defaultOpenPanelCount)\n}\n\nfunction insertActiveKeys(activeKeys: number[] | number, index: number, accordion = false) {\n if (accordion)\n return index\n /* istanbul ignore if -- @preserve */\n if (!isArr(activeKeys))\n return index\n if (activeKeys.length <= index)\n return (activeKeys).concat(index)\n return (activeKeys).reduce((buf, key) => {\n if (key === index)\n return [...buf, key, key + 1]\n return buf.concat(key + 1)\n }, [])\n}\n\nwatchEffect(() => {\n if (!field.modified && dataSource.value.length > 0) {\n activeKeys.value = takeDefaultActiveKeys(\n dataSource.value.length,\n props.defaultOpenPanelCount,\n collapseProps.value.accordion as boolean,\n )\n }\n})\n\nfunction handleCollapseChange(keys: number[] | number) {\n activeKeys.value = keys\n}\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase\n :key=\"dataSource.length\"\n :key-map=\"keyMap\"\n :add=\"(index: number) => {\n activeKeys = insertActiveKeys(\n activeKeys,\n index,\n collapseProps.accordion as boolean,\n )\n }\"\n >\n <template v-if=\"!Array.isArray(props.modelValue) || props.modelValue.length === 0\">\n <ElCard :class=\"[`${prefixCls}-item`]\" shadow=\"never\" v-bind=\"collapseProps\" :header=\"collapseProps.title || field.title\">\n <ElEmpty />\n </ElCard>\n </template>\n <template v-else>\n <ElCollapse\n :model-value=\"activeKeys\"\n :class=\"`${prefixCls}-item`\"\n v-bind=\"collapseProps\"\n @change=\"handleCollapseChange\"\n >\n <ArrayBase.Item v-for=\"(item, index) of dataSource\" :key=\"getKey(item, index)\" :index=\"index\" :record=\"item\">\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\n />\n </ArrayBase.Item>\n </ElCollapse>\n </template>\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\n </template>\n </ArrayBase>\n </div>\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport { ArrayBase } from '../array-base'\nimport ArrayCollapseItem from './array-collapse-item.vue'\nimport ArrayCollapseInner from './array-collapse.vue'\nimport './style.scss'\n\nexport const ArrayCollapse = composeExport(ArrayCollapseInner, {\n Item: ArrayCollapseItem,\n Index: ArrayBase.Index,\n SortHandle: ArrayBase.SortHandle,\n Addition: ArrayBase.Addition,\n Remove: ArrayBase.Remove,\n MoveDown: ArrayBase.MoveDown,\n MoveUp: ArrayBase.MoveUp,\n useArray: ArrayBase.useArray,\n useIndex: ArrayBase.useIndex,\n useRecord: ArrayBase.useRecord,\n})\n\nexport default ArrayCollapse\n"],"names":["field","useField","schema","useFieldSchema","index","useIndex","errorCount","formilyComputed","path","collapseItemProps","useCleanAttrs","_openBlock","_createBlock","_unref","_mergeProps","_createElementVNode","_hoisted_1","isArr","RecursionField","isIndexComponent","_renderSlot","_ctx","_createVNode","ElBadge","prefixCls","isOperationComponent","props","__props","fieldRef","schemaRef","collapseProps","activeKeys","ref","getKey","keyMap","ArrayBase","dataSource","autorun","range","count","_","i","takeDefaultActiveKeys","dataSourceLength","defaultOpenPanelCount","accordion","insertActiveKeys","buf","key","watchEffect","handleCollapseChange","keys","_createElementBlock","ElEmpty","_Fragment","_renderList","item","getArrayItemSchema","itemSchema","isAdditionComponent","ArrayCollapse","composeExport","ArrayCollapseInner","ArrayCollapseItem"],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import { stylePrefix as r } from "../__builtins__/configs/index.mjs";
2
- const o = `${r}-array-collapse`;
2
+ import "element-plus";
3
+ import "@formily/reactive";
4
+ import "@vueuse/core";
5
+ import "vue";
6
+ import "@formily/core";
7
+ import "@silver-formily/reactive-vue";
8
+ import "@silver-formily/vue";
9
+ const a = `${r}-array-collapse`;
3
10
  export {
4
- o as prefixCls
11
+ a as prefixCls
5
12
  };
6
13
  //# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../src/array-collapse/utils.ts"],"sourcesContent":["import { stylePrefix } from '../__builtins__'\r\n\r\nexport const prefixCls = `${stylePrefix}-array-collapse`\r\n"],"names":["prefixCls","stylePrefix"],"mappings":";AAEO,MAAMA,IAAY,GAAGC,CAAW;"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../src/array-collapse/utils.ts"],"sourcesContent":["import { stylePrefix } from '../__builtins__'\n\nexport const prefixCls = `${stylePrefix}-array-collapse`\n"],"names":["prefixCls","stylePrefix"],"mappings":";;;;;;;;AAEO,MAAMA,IAAY,GAAGC,CAAW;"}
@@ -1,12 +1,16 @@
1
+ import "element-plus";
2
+ import { autorun as V } from "@formily/reactive";
3
+ import "@vueuse/core";
4
+ import { defineComponent as S, createElementBlock as n, openBlock as a, normalizeClass as h, renderSlot as B, ref as $, mergeProps as D, unref as e, createBlock as f, withCtx as y, createVNode as C, Fragment as v, renderList as R, createCommentVNode as E } from "vue";
5
+ import "@formily/core";
6
+ import "@silver-formily/reactive-vue";
7
+ import { useField as U, useFieldSchema as K, RecursionField as F } from "@silver-formily/vue";
8
+ import { useCleanAttrs as P, composeExport as b } from "../__builtins__/shared/utils.mjs";
1
9
  import { ArrayBase as r } from "../array-base/index.mjs";
2
- import { defineComponent as S, createElementBlock as n, openBlock as t, normalizeClass as h, renderSlot as V, ref as $, mergeProps as B, unref as e, createBlock as f, withCtx as y, createVNode as C, Fragment as v, renderList as R, createCommentVNode as D } from "vue";
3
10
  import { stylePrefix as I } from "../__builtins__/configs/index.mjs";
4
- import { autorun as E } from "@formily/reactive";
5
11
  import { isArr as _ } from "@formily/shared";
6
- import { useField as U, useFieldSchema as K, RecursionField as F } from "@silver-formily/vue";
7
- import { VueDraggable as P } from "vue-draggable-plus";
8
- import { useKey as b, getArrayItemSchema as H, isAdditionComponent as N } from "../array-base/utils.mjs";
9
- import { useCleanAttrs as z, composeExport as L } from "../__builtins__/shared/utils.mjs";
12
+ import { VueDraggable as H } from "vue-draggable-plus";
13
+ import { useKey as N, getArrayItemSchema as z, isAdditionComponent as L } from "../array-base/utils.mjs";
10
14
  import '../styles/array-items/index.css';const j = /* @__PURE__ */ S({
11
15
  name: "FArrayItemsItem",
12
16
  __name: "array-items-item",
@@ -17,11 +21,11 @@ import '../styles/array-items/index.css';const j = /* @__PURE__ */ S({
17
21
  }
18
22
  },
19
23
  setup(A) {
20
- const u = A, l = `${I}-array-items`;
21
- return (s, c) => (t(), n("div", {
22
- class: h(`${l}-${u.type}`)
24
+ const i = A, m = `${I}-array-items`;
25
+ return (s, u) => (a(), n("div", {
26
+ class: h(`${m}-${i.type}`)
23
27
  }, [
24
- V(s.$slots, "default")
28
+ B(s.$slots, "default")
25
29
  ], 2));
26
30
  }
27
31
  }), q = ["index"], G = /* @__PURE__ */ S({
@@ -29,42 +33,42 @@ import '../styles/array-items/index.css';const j = /* @__PURE__ */ S({
29
33
  inheritAttrs: !1,
30
34
  __name: "array-items",
31
35
  setup(A) {
32
- const u = U(), l = K(), s = u.value, c = l.value, i = `${I}-array-items`, { getKey: g, keyMap: m } = b(l.value), d = $(_(s.value) ? s.value : []), k = $(0);
33
- E(() => {
36
+ const i = U(), m = K(), s = i.value, u = m.value, c = `${I}-array-items`, { getKey: g, keyMap: l } = N(m.value), d = $(_(s.value) ? s.value : []), k = $(0);
37
+ V(() => {
34
38
  d.value = _(s.value) ? [...s.value] : [];
35
39
  });
36
40
  async function w(x) {
37
- const { oldIndex: p, newIndex: a } = x;
38
- _(m) && m.splice(a, 0, m.splice(p, 1)[0]), await s.move(p, a), k.value++;
41
+ const { oldIndex: p, newIndex: t } = x;
42
+ _(l) && l.splice(t, 0, l.splice(p, 1)[0]), await s.move(p, t), k.value++;
39
43
  }
40
- const { props: M } = z(["value", "modelValue", "onUpdate:modelValue"]);
41
- return (x, p) => (t(), n("div", B({ class: i }, e(M)), [
42
- (t(), f(e(r), {
44
+ const { props: M } = P(["value", "modelValue", "onUpdate:modelValue"]);
45
+ return (x, p) => (a(), n("div", D({ class: c }, e(M)), [
46
+ (a(), f(e(r), {
43
47
  key: k.value,
44
- "key-map": e(m)
48
+ "key-map": e(l)
45
49
  }, {
46
50
  default: y(() => [
47
- C(e(P), {
48
- class: h(`${i}-list`),
51
+ C(e(H), {
52
+ class: h(`${c}-list`),
49
53
  "model-value": d.value,
50
54
  handle: `.${e(I)}-array-base-sort-handle`,
51
55
  animation: 150,
52
56
  onEnd: w
53
57
  }, {
54
58
  default: y(() => [
55
- (t(!0), n(v, null, R(d.value, (a, o) => (t(), f(e(r).Item, {
56
- key: e(g)(a, o),
59
+ (a(!0), n(v, null, R(d.value, (t, o) => (a(), f(e(r).Item, {
60
+ key: e(g)(t, o),
57
61
  index: o,
58
- record: a
62
+ record: t
59
63
  }, {
60
64
  default: y(() => [
61
- (t(), n("div", {
62
- key: e(g)(a, o),
63
- class: h([`${i}-item-inner`]),
65
+ (a(), n("div", {
66
+ key: e(g)(t, o),
67
+ class: h([`${c}-item-inner`]),
64
68
  index: o
65
69
  }, [
66
70
  C(e(F), {
67
- schema: e(H)(e(c), o),
71
+ schema: e(z)(e(u), o),
68
72
  name: o
69
73
  }, null, 8, ["schema", "name"])
70
74
  ], 10, q))
@@ -74,19 +78,19 @@ import '../styles/array-items/index.css';const j = /* @__PURE__ */ S({
74
78
  ]),
75
79
  _: 1
76
80
  }, 8, ["class", "model-value", "handle"]),
77
- (t(!0), n(v, null, R(e(c).properties, (a, o) => (t(), n(v, { key: o }, [
78
- e(N)(a) ? (t(), f(e(F), {
81
+ (a(!0), n(v, null, R(e(u).properties, (t, o) => (a(), n(v, { key: o }, [
82
+ e(L)(t) ? (a(), f(e(F), {
79
83
  key: 0,
80
- schema: a,
84
+ schema: t,
81
85
  name: "addition"
82
- }, null, 8, ["schema"])) : D("", !0)
86
+ }, null, 8, ["schema"])) : E("", !0)
83
87
  ], 64))), 128))
84
88
  ]),
85
89
  _: 1
86
90
  }, 8, ["key-map"]))
87
91
  ], 16));
88
92
  }
89
- }), re = L(G, {
93
+ }), se = b(G, {
90
94
  Item: j,
91
95
  Index: r.Index,
92
96
  SortHandle: r.SortHandle,
@@ -99,7 +103,7 @@ import '../styles/array-items/index.css';const j = /* @__PURE__ */ S({
99
103
  useRecord: r.useRecord
100
104
  });
101
105
  export {
102
- re as ArrayItems,
103
- re as default
106
+ se as ArrayItems,
107
+ se as default
104
108
  };
105
109
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/array-items/array-items-item.vue","../../src/array-items/array-items.vue","../../src/array-items/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { PropType } from 'vue'\r\nimport { stylePrefix } from '../__builtins__/configs'\r\n\r\ndefineOptions({\r\n name: 'FArrayItemsItem',\r\n})\r\n\r\nconst props = defineProps({\r\n type: {\r\n type: String as PropType<'card' | 'divide'>,\r\n default: 'card',\r\n },\r\n})\r\n\r\nconst prefixCls = `${stylePrefix}-array-items`\r\n</script>\r\n\r\n<template>\r\n <div\r\n :class=\"`${prefixCls}-${props.type}`\"\r\n >\r\n <slot />\r\n </div>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport { autorun } from '@formily/reactive'\r\nimport { isArr } from '@formily/shared'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { ref } from 'vue'\r\nimport { VueDraggable } from 'vue-draggable-plus'\r\nimport { useCleanAttrs } from '../__builtins__'\r\nimport { stylePrefix } from '../__builtins__/configs'\r\nimport { ArrayBase } from '../array-base'\r\nimport { getArrayItemSchema, isAdditionComponent, useKey } from '../array-base/utils'\r\n\r\ndefineOptions({\r\n name: 'FArrayItems',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst fieldRef = useField<ArrayField>()\r\nconst schemaRef = useFieldSchema()\r\nconst field = fieldRef.value\r\nconst schema = schemaRef.value\r\n\r\nconst prefixCls = `${stylePrefix}-array-items`\r\nconst { getKey, keyMap } = useKey(schemaRef.value)\r\nconst dataSource = ref(isArr(field.value) ? field.value : [])\r\nconst triggerUpdateKey = ref(0)\r\n\r\nautorun(() => {\r\n dataSource.value = isArr(field.value) ? [...field.value] : []\r\n})\r\n\r\nasync function handleDragEnd(evt: { oldIndex: number, newIndex: number }) {\r\n const { oldIndex, newIndex } = evt\r\n if (isArr(keyMap)) {\r\n keyMap.splice(newIndex, 0, keyMap.splice(oldIndex, 1)[0])\r\n }\r\n await field.move(oldIndex, newIndex)\r\n triggerUpdateKey.value++\r\n}\r\nconst { props: arrayItemsProps } = useCleanAttrs(['value', 'modelValue', 'onUpdate:modelValue'])\r\n</script>\r\n\r\n<template>\r\n <div :class=\"prefixCls\" v-bind=\"arrayItemsProps\">\r\n <ArrayBase :key=\"triggerUpdateKey\" :key-map=\"keyMap\">\r\n <VueDraggable\r\n :class=\"`${prefixCls}-list`\"\r\n :model-value=\"dataSource\"\r\n :handle=\"`.${stylePrefix}-array-base-sort-handle`\"\r\n :animation=\"150\"\r\n @end=\"handleDragEnd\"\r\n >\r\n <ArrayBase.Item\r\n v-for=\"(element, index) of dataSource\"\r\n :key=\"getKey(element, index)\"\r\n :index=\"index\"\r\n :record=\"element\"\r\n >\r\n <div :key=\"getKey(element, index)\" :class=\"[`${prefixCls}-item-inner`]\" :index=\"index\">\r\n <RecursionField :schema=\"getArrayItemSchema(schema, index)\" :name=\"index\" />\r\n </div>\r\n </ArrayBase.Item>\r\n </VueDraggable>\r\n\r\n <template v-for=\"(itemSchema, key) of schema.properties\" :key=\"key\">\r\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\r\n </template>\r\n </ArrayBase>\r\n </div>\r\n</template>\r\n","import { composeExport } from '../__builtins__/shared'\r\nimport { ArrayBase } from '../array-base'\r\nimport ArrayItemsItem from './array-items-item.vue'\r\nimport ArrayItemsInner from './array-items.vue'\r\nimport './style.scss'\r\n\r\nexport const ArrayItems = composeExport(ArrayItemsInner, {\r\n Item: ArrayItemsItem,\r\n Index: ArrayBase.Index,\r\n SortHandle: ArrayBase.SortHandle,\r\n Addition: ArrayBase.Addition,\r\n Remove: ArrayBase.Remove,\r\n MoveDown: ArrayBase.MoveDown,\r\n MoveUp: ArrayBase.MoveUp,\r\n useArray: ArrayBase.useArray,\r\n useIndex: ArrayBase.useIndex,\r\n useRecord: ArrayBase.useRecord,\r\n})\r\n\r\nexport default ArrayItems\r\n"],"names":["props","__props","prefixCls","stylePrefix","_createElementBlock","_normalizeClass","_renderSlot","_ctx","fieldRef","useField","schemaRef","useFieldSchema","field","schema","getKey","keyMap","useKey","dataSource","ref","isArr","triggerUpdateKey","autorun","handleDragEnd","evt","oldIndex","newIndex","arrayItemsProps","useCleanAttrs","_openBlock","_mergeProps","_unref","_createBlock","ArrayBase","_createVNode","VueDraggable","_Fragment","_renderList","element","index","RecursionField","getArrayItemSchema","itemSchema","key","isAdditionComponent","ArrayItems","composeExport","ArrayItemsInner","ArrayItemsItem"],"mappings":";;;;;;;;;;;;;;;;;;;AAQA,UAAMA,IAAQC,GAORC,IAAY,GAAGC,CAAW;2BAI9BC,EAIM,OAAA;AAAA,MAHH,OAAKC,EAAA,GAAKH,CAAS,IAAIF,EAAM,IAAI,EAAA;AAAA,IAAA;MAElCM,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;ACLZ,UAAMC,IAAWC,EAAA,GACXC,IAAYC,EAAA,GACZC,IAAQJ,EAAS,OACjBK,IAASH,EAAU,OAEnBR,IAAY,GAAGC,CAAW,gBAC1B,EAAE,QAAAW,GAAQ,QAAAC,EAAA,IAAWC,EAAON,EAAU,KAAK,GAC3CO,IAAaC,EAAIC,EAAMP,EAAM,KAAK,IAAIA,EAAM,QAAQ,EAAE,GACtDQ,IAAmBF,EAAI,CAAC;AAE9B,IAAAG,EAAQ,MAAM;AACZ,MAAAJ,EAAW,QAAQE,EAAMP,EAAM,KAAK,IAAI,CAAC,GAAGA,EAAM,KAAK,IAAI,CAAA;AAAA,IAC7D,CAAC;AAED,mBAAeU,EAAcC,GAA6C;AACxE,YAAM,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaF;AAC/B,MAAIJ,EAAMJ,CAAM,KACdA,EAAO,OAAOU,GAAU,GAAGV,EAAO,OAAOS,GAAU,CAAC,EAAE,CAAC,CAAC,GAE1D,MAAMZ,EAAM,KAAKY,GAAUC,CAAQ,GACnCL,EAAiB;AAAA,IACnB;AACA,UAAM,EAAE,OAAOM,MAAoBC,EAAc,CAAC,SAAS,cAAc,qBAAqB,CAAC;sBAI7FC,EAAA,GAAAxB,EAyBM,OAzBNyB,EAyBM,EAzBA,OAAO3B,EAAA,GAAmB4B,EAAAJ,CAAA,CAAe,GAAA;AAAA,YAC7CK,EAuBYD,EAAAE,CAAA,GAAA;AAAA,QAvBA,KAAKZ,EAAA;AAAA,QAAmB,WAASU,EAAAf,CAAA;AAAA,MAAA;mBAC3C,MAiBe;AAAA,UAjBfkB,EAiBeH,EAAAI,CAAA,GAAA;AAAA,YAhBZ,YAAUhC,CAAS,OAAA;AAAA,YACnB,eAAae,EAAA;AAAA,YACb,YAAYa,EAAA3B,CAAA,CAAW;AAAA,YACvB,WAAW;AAAA,YACX,OAAKmB;AAAA,UAAA;uBAGJ,MAAsC;AAAA,eADxCM,EAAA,EAAA,GAAAxB,EASiB+B,GAAA,MAAAC,EARYnB,EAAA,OAAU,CAA7BoB,GAASC,YADnBP,EASiBD,EAAAE,CAAA,EAAA,MAAA;AAAA,gBAPd,KAAKF,EAAAhB,CAAA,EAAOuB,GAASC,CAAK;AAAA,gBAC1B,OAAAA;AAAA,gBACA,QAAQD;AAAA,cAAA;2BAET,MAEM;AAAA,wBAFNjC,EAEM,OAAA;AAAA,oBAFA,KAAK0B,EAAAhB,CAAA,EAAOuB,GAASC,CAAK;AAAA,oBAAI,aAAWpC,CAAS,aAAA,CAAA;AAAA,oBAAiB,OAAAoC;AAAA,kBAAA;oBACvEL,EAA4EH,EAAAS,CAAA,GAAA;AAAA,sBAA3D,QAAQT,EAAAU,CAAA,EAAmBV,EAAAjB,CAAA,GAAQyB,CAAK;AAAA,sBAAI,MAAMA;AAAA,oBAAA;;;;;;;;WAKzEV,EAAA,EAAA,GAAAxB,EAEW+B,WAF2BL,EAAAjB,CAAA,EAAO,YAAU,CAArC4B,GAAYC,6BAAoC;AAAA,YAC1CZ,EAAAa,CAAA,EAAoBF,CAAU,UAApDV,EAA8FD,EAAAS,CAAA,GAAA;AAAA;cAAtC,QAAQE;AAAA,cAAY,MAAK;AAAA,YAAA;;;;;;;IC3D5EG,KAAaC,EAAcC,GAAiB;AAAA,EACvD,MAAMC;AAAAA,EACN,OAAOf,EAAU;AAAA,EACjB,YAAYA,EAAU;AAAA,EACtB,UAAUA,EAAU;AAAA,EACpB,QAAQA,EAAU;AAAA,EAClB,UAAUA,EAAU;AAAA,EACpB,QAAQA,EAAU;AAAA,EAClB,UAAUA,EAAU;AAAA,EACpB,UAAUA,EAAU;AAAA,EACpB,WAAWA,EAAU;AACvB,CAAC;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/array-items/array-items-item.vue","../../src/array-items/array-items.vue","../../src/array-items/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { PropType } from 'vue'\nimport { stylePrefix } from '../__builtins__/configs'\n\ndefineOptions({\n name: 'FArrayItemsItem',\n})\n\nconst props = defineProps({\n type: {\n type: String as PropType<'card' | 'divide'>,\n default: 'card',\n },\n})\n\nconst prefixCls = `${stylePrefix}-array-items`\n</script>\n\n<template>\n <div\n :class=\"`${prefixCls}-${props.type}`\"\n >\n <slot />\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport { autorun } from '@formily/reactive'\nimport { isArr } from '@formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ref } from 'vue'\nimport { VueDraggable } from 'vue-draggable-plus'\nimport { useCleanAttrs } from '../__builtins__'\nimport { stylePrefix } from '../__builtins__/configs'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, useKey } from '../array-base/utils'\n\ndefineOptions({\n name: 'FArrayItems',\n inheritAttrs: false,\n})\n\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst prefixCls = `${stylePrefix}-array-items`\nconst { getKey, keyMap } = useKey(schemaRef.value)\nconst dataSource = ref(isArr(field.value) ? field.value : [])\nconst triggerUpdateKey = ref(0)\n\nautorun(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n\nasync function handleDragEnd(evt: { oldIndex: number, newIndex: number }) {\n const { oldIndex, newIndex } = evt\n if (isArr(keyMap)) {\n keyMap.splice(newIndex, 0, keyMap.splice(oldIndex, 1)[0])\n }\n await field.move(oldIndex, newIndex)\n triggerUpdateKey.value++\n}\nconst { props: arrayItemsProps } = useCleanAttrs(['value', 'modelValue', 'onUpdate:modelValue'])\n</script>\n\n<template>\n <div :class=\"prefixCls\" v-bind=\"arrayItemsProps\">\n <ArrayBase :key=\"triggerUpdateKey\" :key-map=\"keyMap\">\n <VueDraggable\n :class=\"`${prefixCls}-list`\"\n :model-value=\"dataSource\"\n :handle=\"`.${stylePrefix}-array-base-sort-handle`\"\n :animation=\"150\"\n @end=\"handleDragEnd\"\n >\n <ArrayBase.Item\n v-for=\"(element, index) of dataSource\"\n :key=\"getKey(element, index)\"\n :index=\"index\"\n :record=\"element\"\n >\n <div :key=\"getKey(element, index)\" :class=\"[`${prefixCls}-item-inner`]\" :index=\"index\">\n <RecursionField :schema=\"getArrayItemSchema(schema, index)\" :name=\"index\" />\n </div>\n </ArrayBase.Item>\n </VueDraggable>\n\n <template v-for=\"(itemSchema, key) of schema.properties\" :key=\"key\">\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\n </template>\n </ArrayBase>\n </div>\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport { ArrayBase } from '../array-base'\nimport ArrayItemsItem from './array-items-item.vue'\nimport ArrayItemsInner from './array-items.vue'\nimport './style.scss'\n\nexport const ArrayItems = composeExport(ArrayItemsInner, {\n Item: ArrayItemsItem,\n Index: ArrayBase.Index,\n SortHandle: ArrayBase.SortHandle,\n Addition: ArrayBase.Addition,\n Remove: ArrayBase.Remove,\n MoveDown: ArrayBase.MoveDown,\n MoveUp: ArrayBase.MoveUp,\n useArray: ArrayBase.useArray,\n useIndex: ArrayBase.useIndex,\n useRecord: ArrayBase.useRecord,\n})\n\nexport default ArrayItems\n"],"names":["props","__props","prefixCls","stylePrefix","_createElementBlock","_normalizeClass","_renderSlot","_ctx","fieldRef","useField","schemaRef","useFieldSchema","field","schema","getKey","keyMap","useKey","dataSource","ref","isArr","triggerUpdateKey","autorun","handleDragEnd","evt","oldIndex","newIndex","arrayItemsProps","useCleanAttrs","_openBlock","_mergeProps","_unref","_createBlock","ArrayBase","_createVNode","VueDraggable","_Fragment","_renderList","element","index","RecursionField","getArrayItemSchema","itemSchema","key","isAdditionComponent","ArrayItems","composeExport","ArrayItemsInner","ArrayItemsItem"],"mappings":"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"}