@silver-formily/element-plus 2.1.0 → 2.3.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 (177) 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 +19 -23
  6. package/esm/__builtins__/index.mjs.map +1 -1
  7. package/esm/__builtins__/shared/index.d.ts +0 -1
  8. package/esm/__builtins__/shared/index.mjs +17 -21
  9. package/esm/__builtins__/shared/index.mjs.map +1 -1
  10. package/esm/__builtins__/shared/loading.mjs +5 -5
  11. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  12. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  13. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  14. package/esm/__builtins__/shared/use-enter-submit.d.ts +9 -0
  15. package/esm/__builtins__/shared/use-enter-submit.mjs +25 -0
  16. package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -0
  17. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  18. package/esm/array-base/index.mjs +18 -21
  19. package/esm/array-base/index.mjs.map +1 -1
  20. package/esm/array-base/symbols.mjs.map +1 -1
  21. package/esm/array-base/utils.mjs +29 -33
  22. package/esm/array-base/utils.mjs.map +1 -1
  23. package/esm/array-cards/index.mjs +29 -31
  24. package/esm/array-cards/index.mjs.map +1 -1
  25. package/esm/array-collapse/index.mjs +35 -36
  26. package/esm/array-collapse/index.mjs.map +1 -1
  27. package/esm/array-collapse/utils.mjs +2 -8
  28. package/esm/array-collapse/utils.mjs.map +1 -1
  29. package/esm/array-items/index.mjs +30 -33
  30. package/esm/array-items/index.mjs.map +1 -1
  31. package/esm/array-list-tabs/index.mjs +27 -28
  32. package/esm/array-list-tabs/index.mjs.map +1 -1
  33. package/esm/array-list-tabs/utils.mjs +5 -11
  34. package/esm/array-list-tabs/utils.mjs.map +1 -1
  35. package/esm/array-table/index.mjs +52 -53
  36. package/esm/array-table/index.mjs.map +1 -1
  37. package/esm/array-table/utils.mjs +12 -18
  38. package/esm/array-table/utils.mjs.map +1 -1
  39. package/esm/array-tabs/index.mjs +17 -19
  40. package/esm/array-tabs/index.mjs.map +1 -1
  41. package/esm/autocomplete/autocomplete.d.ts +1222 -0
  42. package/esm/autocomplete/index.d.ts +639 -0
  43. package/esm/autocomplete/index.mjs +110 -0
  44. package/esm/autocomplete/index.mjs.map +1 -0
  45. package/esm/cascader/index.mjs +17 -20
  46. package/esm/cascader/index.mjs.map +1 -1
  47. package/esm/checkbox/index.d.ts +42 -42
  48. package/esm/checkbox/index.mjs +16 -19
  49. package/esm/checkbox/index.mjs.map +1 -1
  50. package/esm/color-picker/index.d.ts +210 -0
  51. package/esm/color-picker/index.mjs +14 -0
  52. package/esm/color-picker/index.mjs.map +1 -0
  53. package/esm/color-picker-panel/index.d.ts +129 -0
  54. package/esm/color-picker-panel/index.mjs +22 -0
  55. package/esm/color-picker-panel/index.mjs.map +1 -0
  56. package/esm/date-picker/index.mjs +11 -35
  57. package/esm/date-picker/index.mjs.map +1 -1
  58. package/esm/date-picker/utils.d.ts +4 -0
  59. package/esm/date-picker/utils.mjs +27 -0
  60. package/esm/date-picker/utils.mjs.map +1 -0
  61. package/esm/date-picker-panel/index.d.ts +143 -0
  62. package/esm/date-picker-panel/index.mjs +27 -0
  63. package/esm/date-picker-panel/index.mjs.map +1 -0
  64. package/esm/editable/index.mjs +48 -50
  65. package/esm/editable/index.mjs.map +1 -1
  66. package/esm/env.d.mjs +2 -0
  67. package/esm/env.d.mjs.map +1 -0
  68. package/esm/form/form.mjs +6 -6
  69. package/esm/form/form.mjs.map +1 -1
  70. package/esm/form-button-group/form-button-group.d.ts +1 -1
  71. package/esm/form-button-group/index.d.ts +3 -3
  72. package/esm/form-button-group/index.mjs +23 -26
  73. package/esm/form-button-group/index.mjs.map +1 -1
  74. package/esm/form-button-group/utils.mjs +2 -8
  75. package/esm/form-button-group/utils.mjs.map +1 -1
  76. package/esm/form-collapse/index.mjs +18 -20
  77. package/esm/form-collapse/index.mjs.map +1 -1
  78. package/esm/form-collapse/utils.mjs.map +1 -1
  79. package/esm/form-dialog/dialog-content.d.ts +789 -3
  80. package/esm/form-dialog/index.mjs +98 -87
  81. package/esm/form-dialog/index.mjs.map +1 -1
  82. package/esm/form-dialog/types.d.ts +1 -0
  83. package/esm/form-drawer/drawer-content.d.ts +919 -3
  84. package/esm/form-drawer/index.mjs +92 -82
  85. package/esm/form-drawer/index.mjs.map +1 -1
  86. package/esm/form-drawer/types.d.ts +1 -0
  87. package/esm/form-grid/hooks.mjs.map +1 -1
  88. package/esm/form-grid/index.mjs +20 -23
  89. package/esm/form-grid/index.mjs.map +1 -1
  90. package/esm/form-item/index.mjs +59 -57
  91. package/esm/form-item/index.mjs.map +1 -1
  92. package/esm/form-item/utils.mjs.map +1 -1
  93. package/esm/form-layout/form-layout.mjs +14 -18
  94. package/esm/form-layout/form-layout.mjs.map +1 -1
  95. package/esm/form-layout/utils.mjs +19 -24
  96. package/esm/form-layout/utils.mjs.map +1 -1
  97. package/esm/form-step/index.mjs +24 -26
  98. package/esm/form-step/index.mjs.map +1 -1
  99. package/esm/form-step/utils.mjs.map +1 -1
  100. package/esm/form-tab/hooks.mjs.map +1 -1
  101. package/esm/form-tab/index.mjs +19 -20
  102. package/esm/form-tab/index.mjs.map +1 -1
  103. package/esm/form-tab/utils.mjs.map +1 -1
  104. package/esm/index.d.ts +9 -0
  105. package/esm/index.mjs +90 -72
  106. package/esm/index.mjs.map +1 -1
  107. package/esm/input/index.mjs +20 -23
  108. package/esm/input/index.mjs.map +1 -1
  109. package/esm/input-number/index.d.ts +21 -21
  110. package/esm/input-number/index.mjs +7 -9
  111. package/esm/input-number/index.mjs.map +1 -1
  112. package/esm/input-tag/index.d.ts +32 -0
  113. package/esm/input-tag/index.mjs +46 -0
  114. package/esm/input-tag/index.mjs.map +1 -0
  115. package/esm/input-tag/input-tag.d.ts +32 -0
  116. package/esm/mention/index.d.ts +50 -0
  117. package/esm/mention/index.mjs +93 -0
  118. package/esm/mention/index.mjs.map +1 -0
  119. package/esm/mention/mention.d.ts +51 -0
  120. package/esm/pagination/components/jumper.mjs.map +1 -1
  121. package/esm/pagination/components/next.mjs.map +1 -1
  122. package/esm/pagination/components/pager.mjs.map +1 -1
  123. package/esm/pagination/components/prev.mjs.map +1 -1
  124. package/esm/pagination/components/total.mjs.map +1 -1
  125. package/esm/pagination/pagination.mjs.map +1 -1
  126. package/esm/password/index.mjs.map +1 -1
  127. package/esm/preview-text/color-picker.d.ts +5 -0
  128. package/esm/preview-text/index.d.ts +10 -0
  129. package/esm/preview-text/index.mjs +175 -119
  130. package/esm/preview-text/index.mjs.map +1 -1
  131. package/esm/preview-text/rate.d.ts +5 -0
  132. package/esm/preview-text/utils.d.ts +5 -5
  133. package/esm/preview-text/utils.mjs.map +1 -1
  134. package/esm/radio/index.d.ts +36 -36
  135. package/esm/radio/index.mjs +25 -28
  136. package/esm/radio/index.mjs.map +1 -1
  137. package/esm/rate/index.d.ts +187 -0
  138. package/esm/rate/index.mjs +14 -0
  139. package/esm/rate/index.mjs.map +1 -0
  140. package/esm/reset/index.mjs.map +1 -1
  141. package/esm/segmented/index.d.ts +26 -0
  142. package/esm/segmented/index.mjs +37 -0
  143. package/esm/segmented/index.mjs.map +1 -0
  144. package/esm/segmented/segmented.d.ts +25 -0
  145. package/esm/select/index.mjs +16 -19
  146. package/esm/select/index.mjs.map +1 -1
  147. package/esm/select-table/index.mjs +12 -15
  148. package/esm/select-table/index.mjs.map +1 -1
  149. package/esm/shared/overlay-elements.d.ts +6 -0
  150. package/esm/shared/overlay-elements.mjs +16 -0
  151. package/esm/shared/overlay-elements.mjs.map +1 -0
  152. package/esm/slider/index.d.ts +177 -0
  153. package/esm/slider/index.mjs +14 -0
  154. package/esm/slider/index.mjs.map +1 -0
  155. package/esm/styles/preview-text/index.css +1 -1
  156. package/esm/submit/index.mjs.map +1 -1
  157. package/esm/switch/index.d.ts +12 -12
  158. package/esm/switch/index.mjs.map +1 -1
  159. package/esm/time-picker/index.mjs +6 -8
  160. package/esm/time-picker/index.mjs.map +1 -1
  161. package/esm/time-select/index.mjs +6 -8
  162. package/esm/time-select/index.mjs.map +1 -1
  163. package/esm/transfer/index.mjs.map +1 -1
  164. package/esm/tree/index.mjs +28 -31
  165. package/esm/tree/index.mjs.map +1 -1
  166. package/esm/tree/utils.mjs.map +1 -1
  167. package/esm/tree-select/index.mjs +17 -20
  168. package/esm/tree-select/index.mjs.map +1 -1
  169. package/esm/upload/index.d.ts +1 -1
  170. package/esm/upload/index.mjs +7 -9
  171. package/esm/upload/index.mjs.map +1 -1
  172. package/esm/upload/upload.d.ts +2 -2
  173. package/esm/vendor/sizes.mjs.map +1 -1
  174. package/package.json +115 -113
  175. package/esm/__builtins__/shared/hooks.d.ts +0 -7
  176. package/esm/__builtins__/shared/hooks.mjs +0 -59
  177. package/esm/__builtins__/shared/hooks.mjs.map +0 -1
@@ -1,13 +1,11 @@
1
1
  import { defineComponent as K, computed as V, createBlock as s, openBlock as o, unref as e, mergeProps as k, withCtx as c, createElementBlock as u, Fragment as m, renderList as N, normalizeClass as P, resolveDynamicComponent as F, toDisplayString as _, createTextVNode as $, createVNode as D, h as R } from "vue";
2
- import { ElCollapse as h, ElCollapseItem as j, ElBadge as q } from "element-plus";
3
- import "@formily/reactive";
4
- import "@formily/core";
5
- import { formilyComputed as g } from "@silver-formily/reactive-vue";
6
- import { useField as w, useFieldSchema as z, RecursionField as L } from "@silver-formily/vue";
7
- import { useCleanAttrs as O, composeExport as T } from "../__builtins__/shared/utils.mjs";
8
- import { isFn as E } from "@formily/shared";
9
- import { stylePrefix as U } from "../__builtins__/configs/index.mjs";
10
- import { usePanels as G, createFormCollapse as A } from "./utils.mjs";
2
+ import { isFn as g } from "@formily/shared";
3
+ import { formilyComputed as E } from "@silver-formily/reactive-vue";
4
+ import { useField as h, useFieldSchema as j, RecursionField as q } from "@silver-formily/vue";
5
+ import { ElCollapse as w, ElCollapseItem as z, ElBadge as L } from "element-plus";
6
+ import { usePanels as O, createFormCollapse as A } from "./utils.mjs";
7
+ import { useCleanAttrs as T, composeExport as U } from "../__builtins__/shared/utils.mjs";
8
+ import { stylePrefix as G } from "../__builtins__/configs/index.mjs";
11
9
  import '../styles/form-collapse/index.css';const H = { key: 1 }, J = /* @__PURE__ */ K({
12
10
  inheritAttrs: !1,
13
11
  __name: "form-collapse",
@@ -18,17 +16,17 @@ import '../styles/form-collapse/index.css';const H = { key: 1 }, J = /* @__PURE_
18
16
  }
19
17
  },
20
18
  setup(C) {
21
- const r = C, x = `${U}-form-collapse`, { props: b } = O(["modelValue", "onUpdate:modelValue"]), i = w(), B = z(), f = g(() => G(i.value, B.value)), d = V(
19
+ const r = C, x = `${G}-form-collapse`, { props: b } = T(["modelValue", "onUpdate:modelValue"]), i = h(), B = j(), f = E(() => O(i.value, B.value)), d = V(
22
20
  () => r.formCollapse ?? A()
23
21
  );
24
22
  function I(a) {
25
23
  return r.activeKey ? r.activeKey : d.value?.activeKeys ? d.value?.activeKeys : a.map((l) => l.name);
26
24
  }
27
- const n = g(() => f.value.map((a) => i.value.form.queryFeedbacks({
25
+ const n = E(() => f.value.map((a) => i.value.form.queryFeedbacks({
28
26
  type: "error",
29
27
  address: `${i.value.address.concat(a.name)}.*`
30
28
  }).length));
31
- return (a, l) => (o(), s(e(h), k({
29
+ return (a, l) => (o(), s(e(w), k({
32
30
  class: x,
33
31
  "model-value": I(e(f))
34
32
  }, e(b), {
@@ -37,28 +35,28 @@ import '../styles/form-collapse/index.css';const H = { key: 1 }, J = /* @__PURE_
37
35
  })
38
36
  }), {
39
37
  default: c(() => [
40
- (o(!0), u(m, null, N(e(f), ({ props: y, schema: t, name: v }, p) => (o(), s(e(j), k({
38
+ (o(!0), u(m, null, N(e(f), ({ props: y, schema: t, name: v }, p) => (o(), s(e(z), k({
41
39
  key: v,
42
40
  ref_for: !0
43
41
  }, y, { name: v }), {
44
42
  default: c(() => [
45
- D(e(L), {
43
+ D(e(q), {
46
44
  schema: t,
47
45
  name: v
48
46
  }, null, 8, ["schema", "name"])
49
47
  ]),
50
48
  title: c(() => [
51
- e(n)[p] !== 0 ? (o(), s(e(q), {
49
+ e(n)[p] !== 0 ? (o(), s(e(L), {
52
50
  key: 0,
53
51
  class: P(`${x}-errors-badge`),
54
52
  value: e(n)[p]
55
53
  }, {
56
54
  default: c(() => [
57
- t["x-content"]?.title ? (o(), s(F(() => e(E)(t["x-content"]?.title) ? t["x-content"]?.title(e(n)[p]) : t["x-content"]?.title), { key: 0 })) : (o(), u("span", H, _(t["x-component-props"]?.title), 1))
55
+ t["x-content"]?.title ? (o(), s(F(() => e(g)(t["x-content"]?.title) ? t["x-content"]?.title(e(n)[p]) : t["x-content"]?.title), { key: 0 })) : (o(), u("span", H, _(t["x-component-props"]?.title), 1))
58
56
  ]),
59
57
  _: 2
60
58
  }, 1032, ["class", "value"])) : (o(), u(m, { key: 1 }, [
61
- t["x-content"]?.title ? (o(), s(F(() => e(E)(t["x-content"]?.title) ? t["x-content"]?.title(e(n)[p]) : t["x-content"]?.title), { key: 0 })) : (o(), u(m, { key: 1 }, [
59
+ t["x-content"]?.title ? (o(), s(F(() => e(g)(t["x-content"]?.title) ? t["x-content"]?.title(e(n)[p]) : t["x-content"]?.title), { key: 0 })) : (o(), u(m, { key: 1 }, [
62
60
  $(_(t["x-component-props"]?.title), 1)
63
61
  ], 64))
64
62
  ], 64))
@@ -75,13 +73,13 @@ import '../styles/form-collapse/index.css';const H = { key: 1 }, J = /* @__PURE_
75
73
  setup(C, { slots: r }) {
76
74
  return () => R(m, r.default?.());
77
75
  }
78
- }), le = T(J, {
76
+ }), oe = U(J, {
79
77
  Item: M,
80
78
  createFormCollapse: A
81
79
  });
82
80
  export {
83
- le as FormCollapse,
81
+ oe as FormCollapse,
84
82
  M as FormCollapseItem,
85
- le as default
83
+ oe as default
86
84
  };
87
85
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/form-collapse/form-collapse.vue","../../src/form-collapse/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { PropType } from 'vue'\nimport type { IFormCollapse } from './utils'\nimport { isFn } from '@formily/shared'\nimport { formilyComputed } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElBadge, ElCollapse, ElCollapseItem } from 'element-plus'\nimport { computed } from 'vue'\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { createFormCollapse, usePanels } from './utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n formCollapse: { type: Object as PropType<IFormCollapse> },\n activeKey: {\n type: [String, Number],\n },\n})\nconst prefixCls = `${stylePrefix}-form-collapse`\nconst { props: collapseAttrs } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\n\nconst field = useField()\nconst schema = useFieldSchema()\nconst panels = formilyComputed(() => usePanels(field.value, schema.value))\nconst formCollapseRef = computed(\n () => props.formCollapse ?? createFormCollapse(),\n)\n\nfunction takeActiveKeys(panelList) {\n if (props.activeKey)\n return props.activeKey\n if (formCollapseRef.value?.activeKeys)\n return formCollapseRef.value?.activeKeys\n return panelList.map(item => item.name)\n}\n\nconst panelErrorCounts = formilyComputed(() => {\n return panels.value.map((item) => {\n const panelErrors = field.value.form.queryFeedbacks({\n type: 'error',\n address: `${field.value.address.concat(item.name)}.*`,\n })\n return panelErrors.length\n })\n})\n</script>\n\n<template>\n <ElCollapse\n :class=\"prefixCls\"\n :model-value=\"takeActiveKeys(panels)\"\n v-bind=\"collapseAttrs\"\n @change=\"(key) => {\n formCollapseRef.setActiveKeys(key)\n }\"\n >\n <template v-for=\"({ props: itemProps, schema: itemSchema, name }, index) of panels\" :key=\"name\">\n <ElCollapseItem v-bind=\"itemProps\" :name=\"name\">\n <template #default>\n <RecursionField :schema=\"itemSchema\" :name=\"name\" />\n </template>\n <template #title>\n <ElBadge\n v-if=\"panelErrorCounts[index] !== 0\"\n :class=\"`${prefixCls}-errors-badge`\"\n :value=\"panelErrorCounts[index]\"\n >\n <component\n :is=\"() => isFn(itemSchema['x-content']?.title)\n ? itemSchema['x-content']?.title(panelErrorCounts[index])\n : itemSchema['x-content']?.title\"\n v-if=\"itemSchema['x-content']?.title\"\n />\n <span v-else>{{ itemSchema['x-component-props']?.title }}</span>\n </ElBadge>\n <template v-else>\n <component\n :is=\"() => isFn(itemSchema['x-content']?.title)\n ? itemSchema['x-content']?.title(panelErrorCounts[index])\n : itemSchema['x-content']?.title\"\n v-if=\"itemSchema['x-content']?.title\"\n />\n <template v-else>\n {{ itemSchema['x-component-props']?.title }}\n </template>\n </template>\n </template>\n </ElCollapseItem>\n </template>\n </ElCollapse>\n</template>\n","import { defineComponent, Fragment, h } from 'vue'\nimport { composeExport } from '../__builtins__'\nimport FormCollapse from './form-collapse.vue'\nimport { createFormCollapse } from './utils'\nimport './style.scss'\n\nexport const FormCollapseItem = defineComponent({\n name: 'FFormCollapseItem',\n inheritAttrs: false,\n setup(_props, { slots }) {\n return () => h(Fragment, slots.default?.())\n },\n})\n\nconst composeFormCollapse = composeExport(FormCollapse, {\n Item: FormCollapseItem,\n createFormCollapse,\n})\n\nexport { composeFormCollapse as FormCollapse }\nexport default composeFormCollapse\n"],"names":["props","__props","prefixCls","stylePrefix","collapseAttrs","useCleanAttrs","field","useField","schema","useFieldSchema","panels","formilyComputed","usePanels","formCollapseRef","computed","createFormCollapse","takeActiveKeys","panelList","item","panelErrorCounts","_openBlock","_createBlock","_unref","_mergeProps","key","_createElementBlock","_Fragment","_renderList","itemProps","itemSchema","name","index","_createVNode","RecursionField","ElBadge","_resolveDynamicComponent","isFn","_hoisted_1","_toDisplayString","_createTextVNode","FormCollapseItem","defineComponent","_props","slots","h","Fragment","composeFormCollapse","composeExport","FormCollapse"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/form-collapse/form-collapse.vue","../../src/form-collapse/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { PropType } from 'vue'\r\nimport type { IFormCollapse } from './utils'\r\nimport { isFn } from '@formily/shared'\r\nimport { formilyComputed } from '@silver-formily/reactive-vue'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { ElBadge, ElCollapse, ElCollapseItem } from 'element-plus'\r\nimport { computed } from 'vue'\r\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\r\nimport { createFormCollapse, usePanels } from './utils'\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\r\n formCollapse: { type: Object as PropType<IFormCollapse> },\r\n activeKey: {\r\n type: [String, Number],\r\n },\r\n})\r\nconst prefixCls = `${stylePrefix}-form-collapse`\r\nconst { props: collapseAttrs } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\r\n\r\nconst field = useField()\r\nconst schema = useFieldSchema()\r\nconst panels = formilyComputed(() => usePanels(field.value, schema.value))\r\nconst formCollapseRef = computed(\r\n () => props.formCollapse ?? createFormCollapse(),\r\n)\r\n\r\nfunction takeActiveKeys(panelList) {\r\n if (props.activeKey)\r\n return props.activeKey\r\n if (formCollapseRef.value?.activeKeys)\r\n return formCollapseRef.value?.activeKeys\r\n return panelList.map(item => item.name)\r\n}\r\n\r\nconst panelErrorCounts = formilyComputed(() => {\r\n return panels.value.map((item) => {\r\n const panelErrors = field.value.form.queryFeedbacks({\r\n type: 'error',\r\n address: `${field.value.address.concat(item.name)}.*`,\r\n })\r\n return panelErrors.length\r\n })\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElCollapse\r\n :class=\"prefixCls\"\r\n :model-value=\"takeActiveKeys(panels)\"\r\n v-bind=\"collapseAttrs\"\r\n @change=\"(key) => {\r\n formCollapseRef.setActiveKeys(key)\r\n }\"\r\n >\r\n <template v-for=\"({ props: itemProps, schema: itemSchema, name }, index) of panels\" :key=\"name\">\r\n <ElCollapseItem v-bind=\"itemProps\" :name=\"name\">\r\n <template #default>\r\n <RecursionField :schema=\"itemSchema\" :name=\"name\" />\r\n </template>\r\n <template #title>\r\n <ElBadge\r\n v-if=\"panelErrorCounts[index] !== 0\"\r\n :class=\"`${prefixCls}-errors-badge`\"\r\n :value=\"panelErrorCounts[index]\"\r\n >\r\n <component\r\n :is=\"() => isFn(itemSchema['x-content']?.title)\r\n ? itemSchema['x-content']?.title(panelErrorCounts[index])\r\n : itemSchema['x-content']?.title\"\r\n v-if=\"itemSchema['x-content']?.title\"\r\n />\r\n <span v-else>{{ itemSchema['x-component-props']?.title }}</span>\r\n </ElBadge>\r\n <template v-else>\r\n <component\r\n :is=\"() => isFn(itemSchema['x-content']?.title)\r\n ? itemSchema['x-content']?.title(panelErrorCounts[index])\r\n : itemSchema['x-content']?.title\"\r\n v-if=\"itemSchema['x-content']?.title\"\r\n />\r\n <template v-else>\r\n {{ itemSchema['x-component-props']?.title }}\r\n </template>\r\n </template>\r\n </template>\r\n </ElCollapseItem>\r\n </template>\r\n </ElCollapse>\r\n</template>\r\n","import { defineComponent, Fragment, h } from 'vue'\r\nimport { composeExport } from '../__builtins__'\r\nimport FormCollapse from './form-collapse.vue'\r\nimport { createFormCollapse } from './utils'\r\nimport './style.scss'\r\n\r\nexport const FormCollapseItem = defineComponent({\r\n name: 'FFormCollapseItem',\r\n inheritAttrs: false,\r\n setup(_props, { slots }) {\r\n return () => h(Fragment, slots.default?.())\r\n },\r\n})\r\n\r\nconst composeFormCollapse = composeExport(FormCollapse, {\r\n Item: FormCollapseItem,\r\n createFormCollapse,\r\n})\r\n\r\nexport { composeFormCollapse as FormCollapse }\r\nexport default composeFormCollapse\r\n"],"names":["props","__props","prefixCls","stylePrefix","collapseAttrs","useCleanAttrs","field","useField","schema","useFieldSchema","panels","formilyComputed","usePanels","formCollapseRef","computed","createFormCollapse","takeActiveKeys","panelList","item","panelErrorCounts","_openBlock","_createBlock","_unref","_mergeProps","key","_createElementBlock","_Fragment","_renderList","itemProps","itemSchema","name","index","_createVNode","RecursionField","ElBadge","_resolveDynamicComponent","isFn","_hoisted_1","_toDisplayString","_createTextVNode","FormCollapseItem","defineComponent","_props","slots","h","Fragment","composeFormCollapse","composeExport","FormCollapse"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../src/form-collapse/utils.ts"],"sourcesContent":["import type { GeneralField } from '@formily/core'\nimport type { Schema, SchemaKey } from '@formily/json-schema'\nimport { model } from '@formily/reactive'\nimport { toArr } from '@formily/shared'\n\ntype ActiveKeys = string | number | Array<string | number>\n\ntype ActiveKey = string | number\n\ntype Panels = { name: SchemaKey, props: any, schema: Schema }[]\n\nexport interface IFormCollapse {\n activeKeys: ActiveKeys\n hasActiveKey: (key: ActiveKey) => boolean\n setActiveKeys: (key: ActiveKeys) => void\n addActiveKey: (key: ActiveKey) => void\n removeActiveKey: (key: ActiveKey) => void\n toggleActiveKey: (key: ActiveKey) => void\n}\n\nexport interface IFormCollapseProps {\n formCollapse?: IFormCollapse\n activeKey?: ActiveKey\n}\n\nexport function usePanels(collapseField: GeneralField, schema: Schema) {\n const schemaList = schema.mapProperties((schema, name) => ({\n name,\n props: {\n ...schema?.['x-component-props'],\n key: schema?.['x-component-props']?.key || name,\n },\n schema,\n }))\n\n const panels: Panels = schemaList.filter((item) => {\n const field = collapseField.query(collapseField.address.concat(item.name)).take()\n const isHidden = field?.display === 'none' || field?.display === 'hidden'\n if (isHidden)\n return false\n return item?.schema?.['x-component']?.includes('FormCollapse.Item') ?? false\n })\n\n return panels\n}\n\nexport function createFormCollapse(defaultActiveKeys?: ActiveKeys) {\n const formCollapse = model({\n activeKeys: defaultActiveKeys,\n setActiveKeys(keys: ActiveKeys) {\n /* istanbul ignore if -- @preserve */\n if (keys === formCollapse.activeKeys)\n return\n formCollapse.activeKeys = keys\n },\n hasActiveKey(key: ActiveKey) {\n if (Array.isArray(formCollapse.activeKeys)) {\n if (formCollapse.activeKeys.includes(key)) {\n return true\n }\n }\n else if (formCollapse.activeKeys === key) {\n return true\n }\n return false\n },\n addActiveKey(key: ActiveKey) {\n /* istanbul ignore if -- @preserve */\n if (formCollapse.hasActiveKey(key))\n return\n formCollapse.activeKeys = toArr(formCollapse.activeKeys).concat(key)\n },\n removeActiveKey(key: ActiveKey) {\n formCollapse.activeKeys = Array.isArray(formCollapse.activeKeys)\n ? formCollapse.activeKeys.filter(\n item => item !== key,\n )\n : ''\n },\n toggleActiveKey(key: ActiveKey) {\n if (formCollapse.hasActiveKey(key)) {\n formCollapse.removeActiveKey(key)\n }\n else {\n formCollapse.addActiveKey(key)\n }\n },\n })\n return formCollapse\n}\n"],"names":["usePanels","collapseField","schema","name","item","field","createFormCollapse","defaultActiveKeys","formCollapse","model","keys","key","toArr"],"mappings":";;AAyBO,SAASA,EAAUC,GAA6BC,GAAgB;AAkBrE,SAjBmBA,EAAO,cAAc,CAACA,GAAQC,OAAU;AAAA,IACzD,MAAAA;AAAA,IACA,OAAO;AAAA,MACL,GAAGD,IAAS,mBAAmB;AAAA,MAC/B,KAAKA,IAAS,mBAAmB,GAAG,OAAOC;AAAA,IAAA;AAAA,IAE7C,QAAAD;AAAAA,EAAA,EACA,EAEgC,OAAO,CAACE,MAAS;AACjD,UAAMC,IAAQJ,EAAc,MAAMA,EAAc,QAAQ,OAAOG,EAAK,IAAI,CAAC,EAAE,KAAA;AAE3E,WADiBC,GAAO,YAAY,UAAUA,GAAO,YAAY,WAExD,KACFD,GAAM,SAAS,aAAa,GAAG,SAAS,mBAAmB,KAAK;AAAA,EACzE,CAAC;AAGH;AAEO,SAASE,EAAmBC,GAAgC;AACjE,QAAMC,IAAeC,EAAM;AAAA,IACzB,YAAYF;AAAA,IACZ,cAAcG,GAAkB;AAAA,MAAA;AAE9B,MAAIA,MAASF,EAAa,eAE1BA,EAAa,aAAaE;AAAA,IAC5B;AAAA,IACA,aAAaC,GAAgB;AAC3B,UAAI,MAAM,QAAQH,EAAa,UAAU;AACvC,YAAIA,EAAa,WAAW,SAASG,CAAG;AACtC,iBAAO;AAAA,iBAGFH,EAAa,eAAeG;AACnC,eAAO;AAET,aAAO;AAAA,IACT;AAAA,IACA,aAAaA,GAAgB;AAAA,MAAA;AAE3B,MAAIH,EAAa,aAAaG,CAAG,MAEjCH,EAAa,aAAaI,EAAMJ,EAAa,UAAU,EAAE,OAAOG,CAAG;AAAA,IACrE;AAAA,IACA,gBAAgBA,GAAgB;AAC9B,MAAAH,EAAa,aAAa,MAAM,QAAQA,EAAa,UAAU,IAC3DA,EAAa,WAAW;AAAA,QACtB,OAAQJ,MAASO;AAAA,MAAA,IAEnB;AAAA,IACN;AAAA,IACA,gBAAgBA,GAAgB;AAC9B,MAAIH,EAAa,aAAaG,CAAG,IAC/BH,EAAa,gBAAgBG,CAAG,IAGhCH,EAAa,aAAaG,CAAG;AAAA,IAEjC;AAAA,EAAA,CACD;AACD,SAAOH;AACT;"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../src/form-collapse/utils.ts"],"sourcesContent":["import type { GeneralField } from '@formily/core'\r\nimport type { Schema, SchemaKey } from '@formily/json-schema'\r\nimport { model } from '@formily/reactive'\r\nimport { toArr } from '@formily/shared'\r\n\r\ntype ActiveKeys = string | number | Array<string | number>\r\n\r\ntype ActiveKey = string | number\r\n\r\ntype Panels = { name: SchemaKey, props: any, schema: Schema }[]\r\n\r\nexport interface IFormCollapse {\r\n activeKeys: ActiveKeys\r\n hasActiveKey: (key: ActiveKey) => boolean\r\n setActiveKeys: (key: ActiveKeys) => void\r\n addActiveKey: (key: ActiveKey) => void\r\n removeActiveKey: (key: ActiveKey) => void\r\n toggleActiveKey: (key: ActiveKey) => void\r\n}\r\n\r\nexport interface IFormCollapseProps {\r\n formCollapse?: IFormCollapse\r\n activeKey?: ActiveKey\r\n}\r\n\r\nexport function usePanels(collapseField: GeneralField, schema: Schema) {\r\n const schemaList = schema.mapProperties((schema, name) => ({\r\n name,\r\n props: {\r\n ...schema?.['x-component-props'],\r\n key: schema?.['x-component-props']?.key || name,\r\n },\r\n schema,\r\n }))\r\n\r\n const panels: Panels = schemaList.filter((item) => {\r\n const field = collapseField.query(collapseField.address.concat(item.name)).take()\r\n const isHidden = field?.display === 'none' || field?.display === 'hidden'\r\n if (isHidden)\r\n return false\r\n return item?.schema?.['x-component']?.includes('FormCollapse.Item') ?? false\r\n })\r\n\r\n return panels\r\n}\r\n\r\nexport function createFormCollapse(defaultActiveKeys?: ActiveKeys) {\r\n const formCollapse = model({\r\n activeKeys: defaultActiveKeys,\r\n setActiveKeys(keys: ActiveKeys) {\r\n /* istanbul ignore if -- @preserve */\r\n if (keys === formCollapse.activeKeys)\r\n return\r\n formCollapse.activeKeys = keys\r\n },\r\n hasActiveKey(key: ActiveKey) {\r\n if (Array.isArray(formCollapse.activeKeys)) {\r\n if (formCollapse.activeKeys.includes(key)) {\r\n return true\r\n }\r\n }\r\n else if (formCollapse.activeKeys === key) {\r\n return true\r\n }\r\n return false\r\n },\r\n addActiveKey(key: ActiveKey) {\r\n /* istanbul ignore if -- @preserve */\r\n if (formCollapse.hasActiveKey(key))\r\n return\r\n formCollapse.activeKeys = toArr(formCollapse.activeKeys).concat(key)\r\n },\r\n removeActiveKey(key: ActiveKey) {\r\n formCollapse.activeKeys = Array.isArray(formCollapse.activeKeys)\r\n ? formCollapse.activeKeys.filter(\r\n item => item !== key,\r\n )\r\n : ''\r\n },\r\n toggleActiveKey(key: ActiveKey) {\r\n if (formCollapse.hasActiveKey(key)) {\r\n formCollapse.removeActiveKey(key)\r\n }\r\n else {\r\n formCollapse.addActiveKey(key)\r\n }\r\n },\r\n })\r\n return formCollapse\r\n}\r\n"],"names":["usePanels","collapseField","schema","name","item","field","createFormCollapse","defaultActiveKeys","formCollapse","model","keys","key","toArr"],"mappings":";;AAyBO,SAASA,EAAUC,GAA6BC,GAAgB;AAkBrE,SAjBmBA,EAAO,cAAc,CAACA,GAAQC,OAAU;AAAA,IACzD,MAAAA;AAAA,IACA,OAAO;AAAA,MACL,GAAGD,IAAS,mBAAmB;AAAA,MAC/B,KAAKA,IAAS,mBAAmB,GAAG,OAAOC;AAAA,IAAA;AAAA,IAE7C,QAAAD;AAAAA,EAAA,EACA,EAEgC,OAAO,CAACE,MAAS;AACjD,UAAMC,IAAQJ,EAAc,MAAMA,EAAc,QAAQ,OAAOG,EAAK,IAAI,CAAC,EAAE,KAAA;AAE3E,WADiBC,GAAO,YAAY,UAAUA,GAAO,YAAY,WAExD,KACFD,GAAM,SAAS,aAAa,GAAG,SAAS,mBAAmB,KAAK;AAAA,EACzE,CAAC;AAGH;AAEO,SAASE,EAAmBC,GAAgC;AACjE,QAAMC,IAAeC,EAAM;AAAA,IACzB,YAAYF;AAAA,IACZ,cAAcG,GAAkB;AAAA,MAAA;AAE9B,MAAIA,MAASF,EAAa,eAE1BA,EAAa,aAAaE;AAAA,IAC5B;AAAA,IACA,aAAaC,GAAgB;AAC3B,UAAI,MAAM,QAAQH,EAAa,UAAU;AACvC,YAAIA,EAAa,WAAW,SAASG,CAAG;AACtC,iBAAO;AAAA,iBAGFH,EAAa,eAAeG;AACnC,eAAO;AAET,aAAO;AAAA,IACT;AAAA,IACA,aAAaA,GAAgB;AAAA,MAAA;AAE3B,MAAIH,EAAa,aAAaG,CAAG,MAEjCH,EAAa,aAAaI,EAAMJ,EAAa,UAAU,EAAE,OAAOG,CAAG;AAAA,IACrE;AAAA,IACA,gBAAgBA,GAAgB;AAC9B,MAAAH,EAAa,aAAa,MAAM,QAAQA,EAAa,UAAU,IAC3DA,EAAa,WAAW;AAAA,QACtB,OAAQJ,MAASO;AAAA,MAAA,IAEnB;AAAA,IACN;AAAA,IACA,gBAAgBA,GAAgB;AAC9B,MAAIH,EAAa,aAAaG,CAAG,IAC/BH,EAAa,gBAAgBG,CAAG,IAGhCH,EAAa,aAAaG,CAAG;AAAA,IAEjC;AAAA,EAAA,CACD;AACD,SAAOH;AACT;"}