@silver-formily/element-plus 2.4.0 → 3.0.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 (180) hide show
  1. package/README.en-US.md +32 -32
  2. package/README.md +32 -32
  3. package/esm/__builtins__/configs/index.mjs.map +1 -1
  4. package/esm/__builtins__/index.mjs +18 -18
  5. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  6. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  7. package/esm/__builtins__/shared/transform-component.d.ts +1 -1
  8. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  9. package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
  10. package/esm/__builtins__/shared/utils.mjs +0 -2
  11. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  12. package/esm/array-base/index.mjs +59 -63
  13. package/esm/array-base/index.mjs.map +1 -1
  14. package/esm/array-base/symbols.mjs +1 -1
  15. package/esm/array-base/symbols.mjs.map +1 -1
  16. package/esm/array-base/utils.mjs +31 -38
  17. package/esm/array-base/utils.mjs.map +1 -1
  18. package/esm/array-cards/index.mjs +33 -36
  19. package/esm/array-cards/index.mjs.map +1 -1
  20. package/esm/array-collapse/index.mjs +38 -43
  21. package/esm/array-collapse/index.mjs.map +1 -1
  22. package/esm/array-collapse/utils.mjs +2 -9
  23. package/esm/array-collapse/utils.mjs.map +1 -1
  24. package/esm/array-items/index.mjs +34 -38
  25. package/esm/array-items/index.mjs.map +1 -1
  26. package/esm/array-list-tabs/index.mjs +39 -41
  27. package/esm/array-list-tabs/index.mjs.map +1 -1
  28. package/esm/array-list-tabs/utils.mjs +5 -12
  29. package/esm/array-list-tabs/utils.mjs.map +1 -1
  30. package/esm/array-table/index.mjs +63 -68
  31. package/esm/array-table/index.mjs.map +1 -1
  32. package/esm/array-table/utils.mjs +11 -18
  33. package/esm/array-table/utils.mjs.map +1 -1
  34. package/esm/array-tabs/index.mjs +25 -29
  35. package/esm/array-tabs/index.mjs.map +1 -1
  36. package/esm/autocomplete/autocomplete.d.ts +16 -16
  37. package/esm/autocomplete/index.d.ts +8 -8
  38. package/esm/autocomplete/index.mjs +18 -24
  39. package/esm/autocomplete/index.mjs.map +1 -1
  40. package/esm/cascader/index.mjs +18 -22
  41. package/esm/cascader/index.mjs.map +1 -1
  42. package/esm/checkbox/index.d.ts +27 -27
  43. package/esm/checkbox/index.mjs +21 -30
  44. package/esm/checkbox/index.mjs.map +1 -1
  45. package/esm/color-picker/index.mjs +6 -9
  46. package/esm/color-picker/index.mjs.map +1 -1
  47. package/esm/color-picker-panel/index.mjs +6 -9
  48. package/esm/color-picker-panel/index.mjs.map +1 -1
  49. package/esm/date-picker/index.mjs +11 -14
  50. package/esm/date-picker/index.mjs.map +1 -1
  51. package/esm/date-picker/utils.mjs.map +1 -1
  52. package/esm/date-picker-panel/index.mjs +11 -14
  53. package/esm/date-picker-panel/index.mjs.map +1 -1
  54. package/esm/editable/editable.d.ts +12 -12
  55. package/esm/editable/index.d.ts +6 -6
  56. package/esm/editable/index.mjs +49 -58
  57. package/esm/editable/index.mjs.map +1 -1
  58. package/esm/env.d.d.ts +1 -0
  59. package/esm/form/form.mjs +10 -10
  60. package/esm/form/form.mjs.map +1 -1
  61. package/esm/form-button-group/index.mjs +14 -25
  62. package/esm/form-button-group/index.mjs.map +1 -1
  63. package/esm/form-button-group/utils.mjs +2 -9
  64. package/esm/form-button-group/utils.mjs.map +1 -1
  65. package/esm/form-collapse/index.mjs +19 -22
  66. package/esm/form-collapse/index.mjs.map +1 -1
  67. package/esm/form-collapse/utils.mjs +0 -2
  68. package/esm/form-collapse/utils.mjs.map +1 -1
  69. package/esm/form-dialog/index.mjs +63 -70
  70. package/esm/form-dialog/index.mjs.map +1 -1
  71. package/esm/form-drawer/index.mjs +62 -69
  72. package/esm/form-drawer/index.mjs.map +1 -1
  73. package/esm/form-grid/form-grid.d.ts +2 -2
  74. package/esm/form-grid/hooks.d.ts +1 -2
  75. package/esm/form-grid/hooks.mjs +4 -11
  76. package/esm/form-grid/hooks.mjs.map +1 -1
  77. package/esm/form-grid/index.mjs +39 -40
  78. package/esm/form-grid/index.mjs.map +1 -1
  79. package/esm/form-item/index.mjs +57 -65
  80. package/esm/form-item/index.mjs.map +1 -1
  81. package/esm/form-item/types.d.ts +8 -6
  82. package/esm/form-item/utils.mjs.map +1 -1
  83. package/esm/form-layout/form-layout.mjs +12 -16
  84. package/esm/form-layout/form-layout.mjs.map +1 -1
  85. package/esm/form-layout/utils.mjs +2 -2
  86. package/esm/form-layout/utils.mjs.map +1 -1
  87. package/esm/form-step/index.mjs +27 -30
  88. package/esm/form-step/index.mjs.map +1 -1
  89. package/esm/form-step/utils.mjs +0 -3
  90. package/esm/form-step/utils.mjs.map +1 -1
  91. package/esm/form-tab/hooks.d.ts +2 -1
  92. package/esm/form-tab/hooks.mjs +13 -20
  93. package/esm/form-tab/hooks.mjs.map +1 -1
  94. package/esm/form-tab/index.mjs +38 -41
  95. package/esm/form-tab/index.mjs.map +1 -1
  96. package/esm/form-tab/utils.mjs.map +1 -1
  97. package/esm/index.mjs +76 -76
  98. package/esm/input/index.mjs +26 -30
  99. package/esm/input/index.mjs.map +1 -1
  100. package/esm/input-number/index.d.ts +15 -15
  101. package/esm/input-number/index.mjs +8 -11
  102. package/esm/input-number/index.mjs.map +1 -1
  103. package/esm/input-tag/index.mjs +16 -20
  104. package/esm/input-tag/index.mjs.map +1 -1
  105. package/esm/mention/index.mjs +20 -24
  106. package/esm/mention/index.mjs.map +1 -1
  107. package/esm/pagination/components/jumper.mjs.map +1 -1
  108. package/esm/pagination/components/next.mjs.map +1 -1
  109. package/esm/pagination/components/pager.mjs.map +1 -1
  110. package/esm/pagination/components/prev.mjs.map +1 -1
  111. package/esm/pagination/components/total.mjs.map +1 -1
  112. package/esm/pagination/pagination.mjs +1 -1
  113. package/esm/pagination/pagination.mjs.map +1 -1
  114. package/esm/password/index.mjs.map +1 -1
  115. package/esm/preview-text/index.mjs +27 -40
  116. package/esm/preview-text/index.mjs.map +1 -1
  117. package/esm/preview-text/utils.mjs +1 -1
  118. package/esm/preview-text/utils.mjs.map +1 -1
  119. package/esm/query-form/default-components.mjs.map +1 -1
  120. package/esm/query-form/hooks.mjs.map +1 -1
  121. package/esm/query-form/index.d.ts +3 -3
  122. package/esm/query-form/index.mjs +55 -61
  123. package/esm/query-form/index.mjs.map +1 -1
  124. package/esm/query-form/query-form.d.ts +1 -1
  125. package/esm/query-form/types.d.ts +1 -1
  126. package/esm/query-form-item/index.mjs +37 -44
  127. package/esm/query-form-item/index.mjs.map +1 -1
  128. package/esm/radio/index.d.ts +18 -18
  129. package/esm/radio/index.mjs +30 -39
  130. package/esm/radio/index.mjs.map +1 -1
  131. package/esm/rate/index.mjs +10 -13
  132. package/esm/rate/index.mjs.map +1 -1
  133. package/esm/reset/index.mjs +2 -2
  134. package/esm/reset/index.mjs.map +1 -1
  135. package/esm/segmented/index.mjs +13 -17
  136. package/esm/segmented/index.mjs.map +1 -1
  137. package/esm/select/index.d.ts +16 -16
  138. package/esm/select/index.mjs +22 -26
  139. package/esm/select/index.mjs.map +1 -1
  140. package/esm/select-table/index.d.ts +6 -6
  141. package/esm/select-table/index.mjs +16 -21
  142. package/esm/select-table/index.mjs.map +1 -1
  143. package/esm/select-table/select-table.d.ts +2 -2
  144. package/esm/shared/overlay-elements.mjs.map +1 -1
  145. package/esm/slider/index.mjs +10 -13
  146. package/esm/slider/index.mjs.map +1 -1
  147. package/esm/styles/form-grid/index.css +1 -1
  148. package/esm/submit/index.mjs +3 -3
  149. package/esm/submit/index.mjs.map +1 -1
  150. package/esm/switch/index.d.ts +9 -9
  151. package/esm/switch/index.mjs.map +1 -1
  152. package/esm/time-picker/index.mjs +6 -9
  153. package/esm/time-picker/index.mjs.map +1 -1
  154. package/esm/time-select/index.d.ts +12 -12
  155. package/esm/time-select/index.mjs +6 -9
  156. package/esm/time-select/index.mjs.map +1 -1
  157. package/esm/transfer/index.d.ts +12 -12
  158. package/esm/transfer/index.mjs.map +1 -1
  159. package/esm/tree/index.mjs +29 -33
  160. package/esm/tree/index.mjs.map +1 -1
  161. package/esm/tree/utils.mjs +0 -2
  162. package/esm/tree/utils.mjs.map +1 -1
  163. package/esm/tree-select/index.mjs +14 -18
  164. package/esm/tree-select/index.mjs.map +1 -1
  165. package/esm/upload/index.d.ts +12 -12
  166. package/esm/upload/index.mjs +10 -13
  167. package/esm/upload/index.mjs.map +1 -1
  168. package/esm/upload/upload.d.ts +24 -24
  169. package/esm/vendor/icon.mjs.map +1 -1
  170. package/esm/vendor/lodash.mjs +111 -85
  171. package/esm/vendor/lodash.mjs.map +1 -1
  172. package/esm/vendor/runtime.mjs +23 -29
  173. package/esm/vendor/runtime.mjs.map +1 -1
  174. package/esm/vendor/shared.esm-bundler.mjs +2 -7
  175. package/esm/vendor/shared.esm-bundler.mjs.map +1 -1
  176. package/esm/vendor/sizes.mjs.map +1 -1
  177. package/esm/vendor/types.mjs +5 -5
  178. package/esm/vendor/types.mjs.map +1 -1
  179. package/package.json +56 -82
  180. package/LICENSE +0 -21
@@ -4,11 +4,11 @@ export declare const Select: {
4
4
  disabled: boolean;
5
5
  created: boolean;
6
6
  }> & Omit<{
7
+ readonly created: boolean;
7
8
  readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
8
9
  readonly disabled: boolean;
9
- readonly created: boolean;
10
10
  readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
11
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "created">) | (Partial<{
11
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">) | (Partial<{
12
12
  disabled: boolean;
13
13
  }> & Omit<{
14
14
  readonly disabled: boolean;
@@ -18,11 +18,11 @@ export declare const Select: {
18
18
  disabled: boolean;
19
19
  created: boolean;
20
20
  }> & Omit<{
21
+ readonly created: boolean;
21
22
  readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
22
23
  readonly disabled: boolean;
23
- readonly created: boolean;
24
24
  readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
25
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "created">)[];
25
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">)[];
26
26
  })>;
27
27
  }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
28
28
  P: {};
@@ -36,11 +36,11 @@ export declare const Select: {
36
36
  disabled: boolean;
37
37
  created: boolean;
38
38
  }> & Omit<{
39
+ readonly created: boolean;
39
40
  readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
40
41
  readonly disabled: boolean;
41
- readonly created: boolean;
42
42
  readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
43
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "created">) | (Partial<{
43
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">) | (Partial<{
44
44
  disabled: boolean;
45
45
  }> & Omit<{
46
46
  readonly disabled: boolean;
@@ -50,11 +50,11 @@ export declare const Select: {
50
50
  disabled: boolean;
51
51
  created: boolean;
52
52
  }> & Omit<{
53
+ readonly created: boolean;
53
54
  readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
54
55
  readonly disabled: boolean;
55
- readonly created: boolean;
56
56
  readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
57
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "created">)[];
57
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">)[];
58
58
  })>;
59
59
  }> & Readonly<{}>, {}, {}, {}, {}, {}>;
60
60
  __isFragment?: never;
@@ -65,11 +65,11 @@ export declare const Select: {
65
65
  disabled: boolean;
66
66
  created: boolean;
67
67
  }> & Omit<{
68
+ readonly created: boolean;
68
69
  readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
69
70
  readonly disabled: boolean;
70
- readonly created: boolean;
71
71
  readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
72
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "created">) | (Partial<{
72
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">) | (Partial<{
73
73
  disabled: boolean;
74
74
  }> & Omit<{
75
75
  readonly disabled: boolean;
@@ -79,11 +79,11 @@ export declare const Select: {
79
79
  disabled: boolean;
80
80
  created: boolean;
81
81
  }> & Omit<{
82
+ readonly created: boolean;
82
83
  readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
83
84
  readonly disabled: boolean;
84
- readonly created: boolean;
85
85
  readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
86
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "created">)[];
86
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">)[];
87
87
  })>;
88
88
  }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
89
89
  $slots: Readonly<{
@@ -92,11 +92,11 @@ export declare const Select: {
92
92
  disabled: boolean;
93
93
  created: boolean;
94
94
  }> & Omit<{
95
+ readonly created: boolean;
95
96
  readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
96
97
  readonly disabled: boolean;
97
- readonly created: boolean;
98
98
  readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
99
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "created">;
99
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">;
100
100
  }) => any;
101
101
  header?: () => any;
102
102
  footer?: () => any;
@@ -111,11 +111,11 @@ export declare const Select: {
111
111
  disabled: boolean;
112
112
  created: boolean;
113
113
  }> & Omit<{
114
+ readonly created: boolean;
114
115
  readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
115
116
  readonly disabled: boolean;
116
- readonly created: boolean;
117
117
  readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
118
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "created">;
118
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">;
119
119
  }) => any;
120
120
  header?: () => any;
121
121
  footer?: () => any;
@@ -1,15 +1,11 @@
1
1
  import { useField as S, connect as b, mapProps as P } from "@silver-formily/vue";
2
- import { ElSelect as h, ElOptionGroup as C, ElOption as y } from "element-plus";
3
- import "@formily/reactive";
4
- import "@vueuse/core";
5
- import { defineComponent as E, useSlots as K, createBlock as p, openBlock as s, unref as e, normalizeProps as _, guardReactiveProps as B, createSlots as F, withCtx as t, createElementBlock as m, Fragment as u, renderList as c, mergeProps as d, renderSlot as n, createCommentVNode as k } from "vue";
6
- import { mapReadPretty as R } from "../__builtins__/shared/transform-component.mjs";
7
- import { PreviewText as w } from "../preview-text/index.mjs";
8
- import "@formily/core";
9
- import "@silver-formily/reactive-vue";
2
+ import { PreviewText as h } from "../preview-text/index.mjs";
3
+ import { defineComponent as C, useSlots as E, openBlock as s, createBlock as f, unref as e, normalizeProps as K, guardReactiveProps as _, createSlots as B, withCtx as t, createElementBlock as u, Fragment as m, renderList as y, mergeProps as d, renderSlot as n, createCommentVNode as c } from "vue";
4
+ import { ElSelect as F, ElOptionGroup as R, ElOption as k } from "element-plus";
5
+ import { o as w } from "../vendor/lodash.mjs";
10
6
  import { useCleanAttrs as A } from "../__builtins__/shared/utils.mjs";
11
- import { o as G } from "../vendor/lodash.mjs";
12
- const O = /* @__PURE__ */ E({
7
+ import { mapReadPretty as G } from "../__builtins__/shared/transform-component.mjs";
8
+ const O = /* @__PURE__ */ C({
13
9
  name: "FSelect",
14
10
  inheritAttrs: !1,
15
11
  __name: "select",
@@ -17,34 +13,34 @@ const O = /* @__PURE__ */ E({
17
13
  options: {}
18
14
  },
19
15
  setup(v) {
20
- const g = v, l = K(), { props: i } = A(), f = S();
16
+ const g = v, l = E(), { props: i } = A(), p = S();
21
17
  function $(o) {
22
18
  return o.options !== void 0;
23
19
  }
24
- return (o, z) => (s(), p(e(h), _(B(e(i))), F({
20
+ return (o, z) => (s(), f(e(F), K(_(e(i))), B({
25
21
  default: t(() => [
26
- (s(!0), m(u, null, c(g.options, (r) => (s(), m(u, null, [
27
- $(r) ? (s(), p(e(C), d({
22
+ (s(!0), u(m, null, y(g.options, (r) => (s(), u(m, null, [
23
+ $(r) ? (s(), f(e(R), d({
28
24
  key: 0,
29
25
  ref_for: !0
30
- }, e(G)(r, "options"), {
26
+ }, e(w)(r, "options"), {
31
27
  key: r.label
32
28
  }), {
33
29
  default: t(() => [
34
- (s(!0), m(u, null, c(r.options, (a) => (s(), p(e(y), d({
30
+ (s(!0), u(m, null, y(r.options, (a) => (s(), f(e(k), d({
35
31
  key: e(i).valueKey ? a[e(i).valueKey] : a.label
36
32
  }, { ref_for: !0 }, a), {
37
33
  default: t(() => [
38
34
  l.option ? n(o.$slots, "option", {
39
35
  key: 0,
40
36
  option: a
41
- }) : k("", !0)
37
+ }) : c("", !0)
42
38
  ]),
43
39
  _: 2
44
40
  }, 1040))), 128))
45
41
  ]),
46
42
  _: 2
47
- }, 1040)) : (s(), p(e(y), d({
43
+ }, 1040)) : (s(), f(e(k), d({
48
44
  key: 1,
49
45
  ref_for: !0
50
46
  }, r, {
@@ -54,7 +50,7 @@ const O = /* @__PURE__ */ E({
54
50
  l.option ? n(o.$slots, "option", {
55
51
  key: 0,
56
52
  option: r
57
- }) : k("", !0)
53
+ }) : c("", !0)
58
54
  ]),
59
55
  _: 2
60
56
  }, 1040))
@@ -65,14 +61,14 @@ const O = /* @__PURE__ */ E({
65
61
  l.header ? {
66
62
  name: "header",
67
63
  fn: t(() => [
68
- n(o.$slots, "header", { field: e(f) })
64
+ n(o.$slots, "header", { field: e(p) })
69
65
  ]),
70
66
  key: "0"
71
67
  } : void 0,
72
68
  l.footer ? {
73
69
  name: "footer",
74
70
  fn: t(() => [
75
- n(o.$slots, "footer", { field: e(f) })
71
+ n(o.$slots, "footer", { field: e(p) })
76
72
  ]),
77
73
  key: "1"
78
74
  } : void 0,
@@ -93,7 +89,7 @@ const O = /* @__PURE__ */ E({
93
89
  l.tag ? {
94
90
  name: "tag",
95
91
  fn: t(() => [
96
- n(o.$slots, "tag", { field: e(f) })
92
+ n(o.$slots, "tag", { field: e(p) })
97
93
  ]),
98
94
  key: "4"
99
95
  } : void 0,
@@ -116,13 +112,13 @@ const O = /* @__PURE__ */ E({
116
112
  } : void 0
117
113
  ]), 1040));
118
114
  }
119
- }), Q = b(
115
+ }), H = b(
120
116
  O,
121
117
  P({ dataSource: "options", loading: !0, disabled: !0 }),
122
- R(w.Select)
118
+ G(h.Select)
123
119
  );
124
120
  export {
125
- Q as Select,
126
- Q as default
121
+ H as Select,
122
+ H as default
127
123
  };
128
124
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/select/select.vue","../../src/select/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useField } from '@silver-formily/vue'\nimport { ElOption, ElOptionGroup, ElSelect } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { useCleanAttrs } from '../__builtins__'\n\ndefineOptions({\n name: 'FSelect',\n inheritAttrs: false,\n})\n\nconst props = defineProps<{\n options?: Array<OptionType | OptionGroupType>\n}>()\n\nconst slots = defineSlots<{\n option?: (props: { option: OptionType }) => any\n header?: () => any\n footer?: () => any\n prefix?: () => any\n empty?: () => any\n tag?: () => any\n loading?: () => any\n label?: () => any\n}>()\n\ntype OptionType = InstanceType<typeof ElOption>['$props']\ntype OptionGroupType = InstanceType<typeof ElOptionGroup>['$props'] & {\n options: OptionType[]\n}\n\nconst { props: selectProps } = useCleanAttrs()\n\nconst fieldRef = useField()\n\nfunction isGroup(option: OptionType | OptionGroupType): option is OptionGroupType {\n return (option as OptionGroupType).options !== undefined\n}\n</script>\n\n<template>\n <ElSelect v-bind=\"selectProps\">\n <template v-for=\"option of props.options\">\n <template v-if=\"isGroup(option)\">\n <ElOptionGroup v-bind=\"omit(option, 'options')\" :key=\"option.label\">\n <ElOption v-for=\"i of option.options\" :key=\"selectProps.valueKey ? i[selectProps.valueKey] : i.label\" v-bind=\"i\">\n <slot v-if=\"slots.option\" name=\"option\" :option=\"i\" />\n </ElOption>\n </ElOptionGroup>\n </template>\n <ElOption v-else v-bind=\"option\" :key=\"selectProps.valueKey ? option[selectProps.valueKey] : option.label\">\n <slot v-if=\"slots.option\" name=\"option\" :option=\"option\" />\n </ElOption>\n </template>\n <template v-if=\"slots.header\" #header>\n <slot name=\"header\" :field=\"fieldRef\" />\n </template>\n <template v-if=\"slots.footer\" #footer>\n <slot name=\"footer\" :field=\"fieldRef\" />\n </template>\n <template v-if=\"slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"slots.empty\" #empty>\n <slot name=\"empty\" />\n </template>\n <template v-if=\"slots.tag\" #tag>\n <slot name=\"tag\" :field=\"fieldRef\" />\n </template>\n <template v-if=\"slots.loading\" #loading>\n <slot name=\"loading\" />\n </template>\n <template v-if=\"slots.label\" #label=\"{ label, value: labelValue }\">\n <slot name=\"label\" :label=\"label\" :value=\"labelValue\" />\n </template>\n </ElSelect>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\nimport { mapReadPretty } from '../__builtins__'\nimport { PreviewText } from '../preview-text'\nimport FSelect from './select.vue'\n\nexport const Select = connect<typeof FSelect>(\n FSelect,\n mapProps({ dataSource: 'options', loading: true, disabled: true }),\n mapReadPretty(PreviewText.Select),\n)\n\nexport default Select\n"],"names":["props","__props","slots","_useSlots","selectProps","useCleanAttrs","fieldRef","useField","isGroup","option","_openBlock","_createBlock","_unref","_createSlots","_createElementBlock","_Fragment","_renderList","_mergeProps","omit","i","_renderSlot","_ctx","label","labelValue","Select","connect","FSelect","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;;;;;;;;;;;;;;;;AAWA,UAAMA,IAAQC,GAIRC,IAAQC,EAAA,GAgBR,EAAE,OAAOC,EAAA,IAAgBC,EAAA,GAEzBC,IAAWC,EAAA;AAEjB,aAASC,EAAQC,GAAiE;AAChF,aAAQA,EAA2B,YAAY;AAAA,IACjD;sBAIEC,EAAA,GAAAC,EAkCWC,UAlCOA,EAAAR,CAAA,CAAW,CAAA,GAAAS,EAAA;AAAA,iBACjB,MAA+B;AAAA,SAAzCH,EAAA,EAAA,GAAAI,EAWWC,GAAA,MAAAC,EAXgBhB,EAAM,UAAhBS;UACCD,EAAQC,CAAM,KAC5BC,EAAA,GAAAC,EAIgBC,MAJhBK,EAIgB;AAAA;;aAJOL,EAAAM,CAAA,EAAKT,GAAM,SAAA,GAAA;AAAA,YAAe,KAAKA,EAAO;AAAA,UAAA;uBACjD,MAA2B;AAAA,eAArCC,EAAA,EAAA,GAAAI,EAEWC,GAAA,MAAAC,EAFWP,EAAO,UAAZU,OAAjBT,KAAAC,EAEWC,MAFXK,EAEW;AAAA,gBAF4B,KAAKL,EAAAR,CAAA,EAAY,WAAWe,EAAEP,EAAAR,CAAA,EAAY,QAAQ,IAAIe,EAAE;AAAA,cAAA,oBAAeA,CAAC,GAAA;AAAA,2BAC7G,MAAsD;AAAA,kBAA1CjB,EAAM,SAAlBkB,EAAsDC,EAAA,QAAA,UAAA;AAAA;oBAAb,QAAQF;AAAA,kBAAA;;;;;;uBAIvDT,EAAA,GAAAC,EAEWC,MAFXK,EAEW;AAAA;;aAFcR,GAAM;AAAA,YAAG,KAAKG,EAAAR,CAAA,EAAY,WAAWK,EAAOG,EAAAR,CAAA,EAAY,QAAQ,IAAIK,EAAO;AAAA,UAAA;uBAClG,MAA2D;AAAA,cAA/CP,EAAM,SAAlBkB,EAA2DC,EAAA,QAAA,UAAA;AAAA;gBAAlB,QAAAZ;AAAA,cAAA;;;;;;;;MAG7BP,EAAM;cAAS;AAAA,cAC7B,MAAwC;AAAA,UAAxCkB,EAAwCC,EAAA,QAAA,UAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEtBJ,EAAM;cAAS;AAAA,cAC7B,MAAwC;AAAA,UAAxCkB,EAAwCC,EAAA,QAAA,UAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEtBJ,EAAM;cAAS;AAAA,cAC7B,MAAsB;AAAA,UAAtBkB,EAAsBC,EAAA,QAAA,QAAA;AAAA,QAAA;;;MAERnB,EAAM;cAAQ;AAAA,cAC5B,MAAqB;AAAA,UAArBkB,EAAqBC,EAAA,QAAA,OAAA;AAAA,QAAA;;;MAEPnB,EAAM;cAAM;AAAA,cAC1B,MAAqC;AAAA,UAArCkB,EAAqCC,EAAA,QAAA,OAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEnBJ,EAAM;cAAU;AAAA,cAC9B,MAAuB;AAAA,UAAvBkB,EAAuBC,EAAA,QAAA,SAAA;AAAA,QAAA;;;MAETnB,EAAM;cAAQ;AAAA,cAC5B,CAAwD,EADnB,OAAAoB,GAAK,OAASC,QAAU;AAAA,UAC7DH,EAAwDC,EAAA,QAAA,SAAA;AAAA,YAApC,OAAAC;AAAA,YAAe,OAAOC;AAAA,UAAA;;;;;;ICpEnCC,IAASC;AAAA,EACpBC;AAAAA,EACAC,EAAS,EAAE,YAAY,WAAW,SAAS,IAAM,UAAU,IAAM;AAAA,EACjEC,EAAcC,EAAY,MAAM;AAClC;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/select/select.vue","../../src/select/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElOption, ElOptionGroup, ElSelect } from 'element-plus'\r\nimport { omit } from 'lodash-es'\r\nimport { useCleanAttrs } from '../__builtins__'\r\n\r\ndefineOptions({\r\n name: 'FSelect',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps<{\r\n options?: Array<OptionType | OptionGroupType>\r\n}>()\r\n\r\nconst slots = defineSlots<{\r\n option?: (props: { option: OptionType }) => any\r\n header?: () => any\r\n footer?: () => any\r\n prefix?: () => any\r\n empty?: () => any\r\n tag?: () => any\r\n loading?: () => any\r\n label?: () => any\r\n}>()\r\n\r\ntype OptionType = InstanceType<typeof ElOption>['$props']\r\ntype OptionGroupType = InstanceType<typeof ElOptionGroup>['$props'] & {\r\n options: OptionType[]\r\n}\r\n\r\nconst { props: selectProps } = useCleanAttrs()\r\n\r\nconst fieldRef = useField()\r\n\r\nfunction isGroup(option: OptionType | OptionGroupType): option is OptionGroupType {\r\n return (option as OptionGroupType).options !== undefined\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElSelect v-bind=\"selectProps\">\r\n <template v-for=\"option of props.options\">\r\n <template v-if=\"isGroup(option)\">\r\n <ElOptionGroup v-bind=\"omit(option, 'options')\" :key=\"option.label\">\r\n <ElOption v-for=\"i of option.options\" :key=\"selectProps.valueKey ? i[selectProps.valueKey] : i.label\" v-bind=\"i\">\r\n <slot v-if=\"slots.option\" name=\"option\" :option=\"i\" />\r\n </ElOption>\r\n </ElOptionGroup>\r\n </template>\r\n <ElOption v-else v-bind=\"option\" :key=\"selectProps.valueKey ? option[selectProps.valueKey] : option.label\">\r\n <slot v-if=\"slots.option\" name=\"option\" :option=\"option\" />\r\n </ElOption>\r\n </template>\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" :field=\"fieldRef\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" :field=\"fieldRef\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"slots.tag\" #tag>\r\n <slot name=\"tag\" :field=\"fieldRef\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n <template v-if=\"slots.label\" #label=\"{ label, value: labelValue }\">\r\n <slot name=\"label\" :label=\"label\" :value=\"labelValue\" />\r\n </template>\r\n </ElSelect>\r\n</template>\r\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport { mapReadPretty } from '../__builtins__'\r\nimport { PreviewText } from '../preview-text'\r\nimport FSelect from './select.vue'\r\n\r\nexport const Select = connect<typeof FSelect>(\r\n FSelect,\r\n mapProps({ dataSource: 'options', loading: true, disabled: true }),\r\n mapReadPretty(PreviewText.Select),\r\n)\r\n\r\nexport default Select\r\n"],"names":["props","__props","slots","_useSlots","selectProps","useCleanAttrs","fieldRef","useField","isGroup","option","_openBlock","_createBlock","_unref","_createSlots","_createElementBlock","_Fragment","_renderList","_mergeProps","omit","i","_renderSlot","_ctx","label","labelValue","Select","connect","FSelect","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;;;;;;;;;;;;AAWA,UAAMA,IAAQC,GAIRC,IAAQC,EAAA,GAgBR,EAAE,OAAOC,EAAA,IAAgBC,EAAA,GAEzBC,IAAWC,EAAA;AAEjB,aAASC,EAAQC,GAAiE;AAChF,aAAQA,EAA2B,YAAY;AAAA,IACjD;sBAIEC,EAAA,GAAAC,EAkCWC,UAlCOA,EAAAR,CAAA,CAAW,CAAA,GAAAS,EAAA;AAAA,iBACjB,MAA+B;AAAA,SAAzCH,EAAA,EAAA,GAAAI,EAWWC,GAAA,MAAAC,EAXgBhB,EAAM,UAAhBS;UACCD,EAAQC,CAAM,KAC5BC,EAAA,GAAAC,EAIgBC,MAJhBK,EAIgB;AAAA;;aAJOL,EAAAM,CAAA,EAAKT,GAAM,SAAA,GAAA;AAAA,YAAe,KAAKA,EAAO;AAAA,UAAA;uBACjD,MAA2B;AAAA,eAArCC,EAAA,EAAA,GAAAI,EAEWC,GAAA,MAAAC,EAFWP,EAAO,UAAZU,OAAjBT,KAAAC,EAEWC,MAFXK,EAEW;AAAA,gBAF4B,KAAKL,EAAAR,CAAA,EAAY,WAAWe,EAAEP,EAAAR,CAAA,EAAY,QAAQ,IAAIe,EAAE;AAAA,cAAA,oBAAeA,CAAC,GAAA;AAAA,2BAC7G,MAAsD;AAAA,kBAA1CjB,EAAM,SAAlBkB,EAAsDC,EAAA,QAAA,UAAA;AAAA;oBAAb,QAAQF;AAAA,kBAAA;;;;;;uBAIvDT,EAAA,GAAAC,EAEWC,MAFXK,EAEW;AAAA;;aAFcR,GAAM;AAAA,YAAG,KAAKG,EAAAR,CAAA,EAAY,WAAWK,EAAOG,EAAAR,CAAA,EAAY,QAAQ,IAAIK,EAAO;AAAA,UAAA;uBAClG,MAA2D;AAAA,cAA/CP,EAAM,SAAlBkB,EAA2DC,EAAA,QAAA,UAAA;AAAA;gBAAlB,QAAAZ;AAAA,cAAA;;;;;;;;MAG7BP,EAAM;cAAS;AAAA,cAC7B,MAAwC;AAAA,UAAxCkB,EAAwCC,EAAA,QAAA,UAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEtBJ,EAAM;cAAS;AAAA,cAC7B,MAAwC;AAAA,UAAxCkB,EAAwCC,EAAA,QAAA,UAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEtBJ,EAAM;cAAS;AAAA,cAC7B,MAAsB;AAAA,UAAtBkB,EAAsBC,EAAA,QAAA,QAAA;AAAA,QAAA;;;MAERnB,EAAM;cAAQ;AAAA,cAC5B,MAAqB;AAAA,UAArBkB,EAAqBC,EAAA,QAAA,OAAA;AAAA,QAAA;;;MAEPnB,EAAM;cAAM;AAAA,cAC1B,MAAqC;AAAA,UAArCkB,EAAqCC,EAAA,QAAA,OAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEnBJ,EAAM;cAAU;AAAA,cAC9B,MAAuB;AAAA,UAAvBkB,EAAuBC,EAAA,QAAA,SAAA;AAAA,QAAA;;;MAETnB,EAAM;cAAQ;AAAA,cAC5B,CAAwD,EADnB,OAAAoB,GAAK,OAASC,QAAU;AAAA,UAC7DH,EAAwDC,EAAA,QAAA,SAAA;AAAA,YAApC,OAAAC;AAAA,YAAe,OAAOC;AAAA,UAAA;;;;;;ICpEnCC,IAASC;AAAA,EACpBC;AAAAA,EACAC,EAAS,EAAE,YAAY,WAAW,SAAS,IAAM,UAAU,IAAM;AAAA,EACjEC,EAAcC,EAAY,MAAM;AAClC;"}
@@ -4,9 +4,9 @@ declare const SelectTable: {
4
4
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
5
  "update:modelValue": (...args: any[]) => void;
6
6
  }, import('vue').PublicProps, {
7
- mode: "multiple" | "single";
8
- loading: boolean;
9
7
  dataSource: any[];
8
+ loading: boolean;
9
+ mode: "multiple" | "single";
10
10
  columns: import('element-plus').Column<any>[];
11
11
  valueType: "all" | "parent" | "child" | "path";
12
12
  optionAsValue: boolean;
@@ -1522,9 +1522,9 @@ declare const SelectTable: {
1522
1522
  }, Readonly<import('./types').ISelectTableProps> & Readonly<{
1523
1523
  "onUpdate:modelValue"?: (...args: any[]) => any;
1524
1524
  }>, {}, {}, {}, {}, {
1525
- mode: "multiple" | "single";
1526
- loading: boolean;
1527
1525
  dataSource: any[];
1526
+ loading: boolean;
1527
+ mode: "multiple" | "single";
1528
1528
  columns: import('element-plus').Column<any>[];
1529
1529
  valueType: "all" | "parent" | "child" | "path";
1530
1530
  optionAsValue: boolean;
@@ -1540,9 +1540,9 @@ declare const SelectTable: {
1540
1540
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
1541
1541
  "update:modelValue": (...args: any[]) => void;
1542
1542
  }, string, {
1543
- mode: "multiple" | "single";
1544
- loading: boolean;
1545
1543
  dataSource: any[];
1544
+ loading: boolean;
1545
+ mode: "multiple" | "single";
1546
1546
  columns: import('element-plus').Column<any>[];
1547
1547
  valueType: "all" | "parent" | "child" | "path";
1548
1548
  optionAsValue: boolean;
@@ -1,14 +1,10 @@
1
1
  import { useField as W, connect as z, mapProps as G } from "@silver-formily/vue";
2
- import { defineComponent as U, ref as g, computed as j, watch as R, nextTick as v, createElementBlock as S, openBlock as s, normalizeClass as A, unref as n, createCommentVNode as J, withDirectives as Q, createElementVNode as X, createVNode as V, toDisplayString as Y, withCtx as f, createTextVNode as C, createBlock as y, mergeProps as w, renderSlot as Z, Fragment as ee, renderList as le } from "vue";
2
+ import { defineComponent as U, ref as g, computed as j, watch as R, nextTick as v, openBlock as s, createElementBlock as S, normalizeClass as A, unref as n, createElementVNode as J, toDisplayString as Q, createVNode as V, withCtx as f, createTextVNode as C, createCommentVNode as X, withDirectives as Y, createBlock as y, mergeProps as w, renderSlot as Z, Fragment as ee, renderList as le } from "vue";
3
3
  import { isValid as te, isEqual as oe, isFn as ae } from "@formily/shared";
4
4
  import { useAttrs as re, ElLink as ne, version as E, ElTable as ue, ElTableColumn as b, ElRadioGroup as ie, ElRadio as se, vLoading as ce } from "element-plus";
5
- import { stylePrefix as x } from "../__builtins__/configs/index.mjs";
6
- import "@formily/reactive";
7
- import "@vueuse/core";
8
- import { lt as K } from "../__builtins__/shared/simple-version-compare.mjs";
9
- import "@formily/core";
10
- import "@silver-formily/reactive-vue";
11
- import { u as L, x as de, d as me, a as fe, r as pe } from "../vendor/lodash.mjs";
5
+ import { u as x, x as de, d as me, a as fe, r as pe } from "../vendor/lodash.mjs";
6
+ import { stylePrefix as K } from "../__builtins__/configs/index.mjs";
7
+ import { lt as L } from "../__builtins__/shared/simple-version-compare.mjs";
12
8
  import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
13
9
  name: "FSelectTable",
14
10
  inheritAttrs: !1,
@@ -32,7 +28,7 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
32
28
  setup(B, { emit: D }) {
33
29
  const e = B, c = D, _ = re(), q = W();
34
30
  function F(l) {
35
- return K(E, "2.6.0") ? { label: l } : { value: l };
31
+ return L(E, "2.6.0") ? { label: l } : { value: l };
36
32
  }
37
33
  const d = g(), t = e.rowKey;
38
34
  function M() {
@@ -46,7 +42,7 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
46
42
  R(
47
43
  () => e.dataSource,
48
44
  async () => {
49
- const l = L(
45
+ const l = x(
50
46
  u.value.map((a) => a[t])
51
47
  );
52
48
  await v();
@@ -80,7 +76,6 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
80
76
  }
81
77
  );
82
78
  function h(l) {
83
- /* istanbul ignore if -- @preserve */
84
79
  if (!t)
85
80
  throw new Error("rowKey is required");
86
81
  const a = p.length > l.length ? me(
@@ -92,7 +87,7 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
92
87
  [...u.value, ...l],
93
88
  (r, o) => r[t] === o[t]
94
89
  ), a.length > 0) {
95
- const r = L(a.map((o) => o[t]));
90
+ const r = x(a.map((o) => o[t]));
96
91
  pe(u.value, (o) => r.includes(o[t]));
97
92
  }
98
93
  if (e.optionAsValue)
@@ -124,16 +119,16 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
124
119
  return e.selectable && ae(e.selectable) ? e.selectable(l, a, q.value) : !0;
125
120
  }
126
121
  return (l, a) => (s(), S("div", {
127
- class: A(`${n(x)}-select-table`)
122
+ class: A(`${n(K)}-select-table`)
128
123
  }, [
129
124
  k.value > 0 && e.showAlertToolbar ? (s(), S("div", {
130
125
  key: 0,
131
- class: A(`${n(x)}-select-table-alert-container`)
126
+ class: A(`${n(K)}-select-table-alert-container`)
132
127
  }, [
133
- X("span", null, "已选择 " + Y(k.value) + " 项", 1),
128
+ J("span", null, "已选择 " + Q(k.value) + " 项", 1),
134
129
  V(n(ne), {
135
130
  type: "primary",
136
- underline: n(K)(n(E), "2.9.9") ? !1 : "never",
131
+ underline: n(L)(n(E), "2.9.9") ? !1 : "never",
137
132
  style: { "margin-left": "8px" },
138
133
  onClick: $
139
134
  }, {
@@ -142,8 +137,8 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
142
137
  ])]),
143
138
  _: 1
144
139
  }, 8, ["underline"])
145
- ], 2)) : J("", !0),
146
- Q((s(), y(n(ue), w({
140
+ ], 2)) : X("", !0),
141
+ Y((s(), y(n(ue), w({
147
142
  ref_key: "elTableRef",
148
143
  ref: d
149
144
  }, n(_), {
@@ -195,12 +190,12 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
195
190
  ])
196
191
  ], 2));
197
192
  }
198
- }), Ce = z(
193
+ }), he = z(
199
194
  ye,
200
195
  G({ dataSource: "dataSource", loading: "loading" })
201
196
  );
202
197
  export {
203
- Ce as SelectTable,
204
- Ce as default
198
+ he as SelectTable,
199
+ he as default
205
200
  };
206
201
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/select-table/select-table.vue","../../src/select-table/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { TableInstance } from 'element-plus'\nimport type { ISelectTableProps } from './types'\nimport { isEqual, isFn, isValid } from '@formily/shared'\nimport { useField } from '@silver-formily/vue'\nimport {\n ElLink,\n ElRadio,\n ElRadioGroup,\n ElTable,\n ElTableColumn,\n useAttrs,\n version,\n vLoading,\n} from 'element-plus'\nimport { differenceWith, remove, uniq, uniqWith, xor } from 'lodash-es'\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { lt, stylePrefix } from '../__builtins__'\n\ndefineOptions({\n name: 'FSelectTable',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ISelectTableProps>(), {\n columns: () => [],\n mode: 'multiple',\n dataSource: () => [],\n optionAsValue: false,\n valueType: 'all',\n loading: false,\n clickRowToSelect: true,\n showAlertToolbar: true,\n ignoreSelectable: true,\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst elTableProps = useAttrs()\nconst field = useField()\n\nfunction compatibleRadioValue(key: string) {\n return lt(version, '2.6.0') ? { label: key } : { value: key }\n}\n\nconst elTableRef = ref<TableInstance>()\nconst rowKey = props.rowKey\nfunction getInitialSelectedList() {\n if (props.mode === 'multiple') {\n return props.modelValue?.map((item) => {\n if (!props.optionAsValue) {\n return {\n [rowKey]: item,\n }\n }\n return item\n }) ?? []\n }\n else {\n return props.optionAsValue ? [props.modelValue] : [{ [rowKey]: props.modelValue }]\n }\n}\nconst initialSelectedList = getInitialSelectedList()\nconst selectedFlatDataSource = ref(initialSelectedList)\n// 为了获取移除的项而缓存的当前页面的前一次选择。由于element-plus没有获取移除项的方法,需要通过这种方式移除field中移除的项\nlet prevSelection = []\n\nconst radioSelectedKey = ref()\n\nconst currentSelectLength = computed(() => {\n if (props.mode === 'multiple') {\n return Array.isArray(props.modelValue) ? props.modelValue.length : 0\n }\n else {\n return isValid(radioSelectedKey.value) ? 1 : 0\n }\n})\n\nwatch(\n () => props.dataSource,\n async () => {\n const selectedKeys = uniq(\n selectedFlatDataSource.value.map(item => item[rowKey]),\n )\n await nextTick()\n for (const item of props.dataSource) {\n if (selectedKeys.includes(item[rowKey])) {\n if (props.mode === 'multiple') {\n elTableRef.value?.toggleRowSelection(item, true, props.ignoreSelectable)\n }\n else {\n elTableRef.value?.setCurrentRow(item)\n onRadioClick(item)\n }\n }\n await nextTick()\n prevSelection = elTableRef.value?.getSelectionRows()\n }\n },\n { immediate: true },\n)\n\nwatch(\n () => [props.modelValue, props.loading],\n async ([value, loading]) => {\n if (loading) {\n return\n }\n if (props.mode === 'single') {\n radioSelectedKey.value = props.optionAsValue ? value[rowKey] : value\n }\n else {\n await nextTick()\n const currentDisplayDataKeys = elTableRef.value\n ?.getSelectionRows()\n .map(item => item[rowKey])\n const valueKeys = props.optionAsValue\n ? value?.map(item => item[rowKey])\n : value ?? []\n selectedFlatDataSource.value = selectedFlatDataSource.value.filter(\n item => valueKeys.includes(item[rowKey]),\n )\n if (isEqual(valueKeys, currentDisplayDataKeys)) {\n return\n }\n const diffItems = xor(valueKeys, currentDisplayDataKeys)\n for (const tableItem of props.dataSource) {\n if (diffItems.includes(tableItem[rowKey])) {\n const shouldSelect = valueKeys.includes(tableItem[rowKey])\n elTableRef.value.toggleRowSelection(tableItem, shouldSelect, props.ignoreSelectable)\n }\n }\n }\n },\n {\n immediate: true,\n },\n)\n\nfunction onSelect(newSelection: Record<string, any>[]) {\n /* istanbul ignore if -- @preserve */\n if (!rowKey) {\n throw new Error('rowKey is required')\n }\n\n const removedItemList\n = prevSelection.length > newSelection.length\n ? differenceWith(\n prevSelection,\n newSelection,\n (itemPrev, itemNext) => {\n return itemPrev[rowKey] === itemNext[rowKey]\n },\n )\n : []\n prevSelection = [...newSelection]\n selectedFlatDataSource.value = uniqWith(\n [...selectedFlatDataSource.value, ...newSelection],\n (itemPrev, itemNext) => {\n return itemPrev[rowKey] === itemNext[rowKey]\n },\n )\n if (removedItemList.length > 0) {\n const removedKeys = uniq(removedItemList.map(item => item[rowKey]))\n remove(selectedFlatDataSource.value, item =>\n removedKeys.includes(item[rowKey]))\n }\n\n if (props.optionAsValue) {\n emit('update:modelValue', selectedFlatDataSource.value)\n }\n else {\n const selectedKeys = selectedFlatDataSource.value.map(\n item => item[rowKey],\n )\n emit('update:modelValue', selectedKeys)\n }\n}\n\nfunction onRadioClick(item) {\n radioSelectedKey.value = item[rowKey]\n if (props.optionAsValue) {\n emit('update:modelValue', item)\n }\n else {\n emit('update:modelValue', item[rowKey])\n }\n}\n\nfunction onRowClick(row: Record<string, any>, _, event: Event) {\n if (!props.clickRowToSelect)\n return\n\n if (props.mode === 'multiple') {\n const checkboxDOM = (event.target as Element)\n .closest('tr')\n .querySelector('input[type=\"checkbox\"]')\n if (checkboxDOM instanceof HTMLElement) {\n checkboxDOM.click()\n }\n }\n else {\n const radioDOM = (event.target as Element)\n .closest('tr')\n .querySelector('input[type=\"radio\"]')\n if (radioDOM instanceof HTMLElement) {\n radioDOM.click()\n }\n }\n}\n\nfunction onClearSelectionClick() {\n if (props.mode === 'multiple') {\n emit('update:modelValue', [])\n selectedFlatDataSource.value = []\n }\n else {\n radioSelectedKey.value = null\n emit('update:modelValue', null)\n }\n}\n\nfunction selectable(row: Record<string, any>, index: number) {\n if (props.selectable && isFn(props.selectable)) {\n return props.selectable(row, index, field.value)\n }\n return true\n}\n</script>\n\n<template>\n <div :class=\"`${stylePrefix}-select-table`\">\n <div\n v-if=\"currentSelectLength > 0 && props.showAlertToolbar\"\n :class=\"`${stylePrefix}-select-table-alert-container`\"\n >\n <span>已选择 {{ currentSelectLength }} 项</span>\n <ElLink\n type=\"primary\"\n :underline=\"lt(version, '2.9.9') ? false : 'never'\"\n style=\"margin-left: 8px;\"\n @click=\"onClearSelectionClick\"\n >\n 取消选择\n </ElLink>\n </div>\n <ElTable\n ref=\"elTableRef\"\n v-loading=\"props.loading\"\n v-bind=\"elTableProps\"\n :row-key=\"rowKey\"\n :row-class-name=\"props.clickRowToSelect ? `--click-row-select` : ''\"\n :data=\"props.dataSource\"\n :highlight-current-row=\"props.mode === 'single'\"\n @select=\"onSelect\"\n @select-all=\"onSelect\"\n @row-click=\"onRowClick\"\n >\n <ElTableColumn\n v-if=\"props.mode === 'multiple'\"\n type=\"selection\"\n :selectable=\"selectable\"\n />\n <ElTableColumn\n v-else\n width=\"46\"\n >\n <template #default=\"{ row }\">\n <ElRadioGroup v-model=\"radioSelectedKey\" style=\"width: 100%;\">\n <ElRadio\n v-bind=\"compatibleRadioValue(row[rowKey])\"\n @change=\"() => onRadioClick(row)\"\n >\n &nbsp;\n </ElRadio>\n </ElRadioGroup>\n </template>\n </ElTableColumn>\n <template v-if=\"props.columns.length === 0\">\n <slot />\n </template>\n <template v-else>\n <ElTableColumn\n v-for=\"colItem of props.columns\"\n v-bind=\"colItem\"\n :key=\"colItem.prop || colItem.type\"\n />\n </template>\n </ElTable>\n </div>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport InnerSelectTable from './select-table.vue'\r\nimport './style.scss'\r\n\r\nconst SelectTable = connect<typeof InnerSelectTable>(\n InnerSelectTable,\n mapProps({ dataSource: 'dataSource', loading: 'loading' }),\r\n)\r\n\r\nexport { SelectTable }\r\n\r\nexport default SelectTable\r\n"],"names":["props","__props","emit","__emit","elTableProps","useAttrs","field","useField","compatibleRadioValue","key","lt","version","elTableRef","ref","rowKey","getInitialSelectedList","item","initialSelectedList","selectedFlatDataSource","prevSelection","radioSelectedKey","currentSelectLength","computed","isValid","watch","selectedKeys","uniq","nextTick","onRadioClick","value","loading","currentDisplayDataKeys","valueKeys","isEqual","diffItems","xor","tableItem","shouldSelect","onSelect","newSelection","removedItemList","differenceWith","itemPrev","itemNext","uniqWith","removedKeys","remove","onRowClick","row","_","event","checkboxDOM","radioDOM","onClearSelectionClick","selectable","index","isFn","_createElementBlock","_unref","stylePrefix","_createElementVNode","_toDisplayString","_createVNode","ElLink","_cache","_withDirectives","_openBlock","_createBlock","_mergeProps","ElTableColumn","_withCtx","ElRadioGroup","$event","_renderSlot","_ctx","_Fragment","_renderList","colItem","vLoading","SelectTable","connect","InnerSelectTable","mapProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/select-table/select-table.vue","../../src/select-table/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { TableInstance } from 'element-plus'\r\nimport type { ISelectTableProps } from './types'\r\nimport { isEqual, isFn, isValid } from '@formily/shared'\r\nimport { useField } from '@silver-formily/vue'\r\nimport {\r\n ElLink,\r\n ElRadio,\r\n ElRadioGroup,\r\n ElTable,\r\n ElTableColumn,\r\n useAttrs,\r\n version,\r\n vLoading,\r\n} from 'element-plus'\r\nimport { differenceWith, remove, uniq, uniqWith, xor } from 'lodash-es'\r\nimport { computed, nextTick, ref, watch } from 'vue'\r\nimport { lt, stylePrefix } from '../__builtins__'\r\n\r\ndefineOptions({\r\n name: 'FSelectTable',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = withDefaults(defineProps<ISelectTableProps>(), {\r\n columns: () => [],\r\n mode: 'multiple',\r\n dataSource: () => [],\r\n optionAsValue: false,\r\n valueType: 'all',\r\n loading: false,\r\n clickRowToSelect: true,\r\n showAlertToolbar: true,\r\n ignoreSelectable: true,\r\n})\r\n\r\nconst emit = defineEmits(['update:modelValue'])\r\n\r\nconst elTableProps = useAttrs()\r\nconst field = useField()\r\n\r\nfunction compatibleRadioValue(key: string) {\r\n return lt(version, '2.6.0') ? { label: key } : { value: key }\r\n}\r\n\r\nconst elTableRef = ref<TableInstance>()\r\nconst rowKey = props.rowKey\r\nfunction getInitialSelectedList() {\r\n if (props.mode === 'multiple') {\r\n return props.modelValue?.map((item) => {\r\n if (!props.optionAsValue) {\r\n return {\r\n [rowKey]: item,\r\n }\r\n }\r\n return item\r\n }) ?? []\r\n }\r\n else {\r\n return props.optionAsValue ? [props.modelValue] : [{ [rowKey]: props.modelValue }]\r\n }\r\n}\r\nconst initialSelectedList = getInitialSelectedList()\r\nconst selectedFlatDataSource = ref(initialSelectedList)\r\n// 为了获取移除的项而缓存的当前页面的前一次选择。由于element-plus没有获取移除项的方法,需要通过这种方式移除field中移除的项\r\nlet prevSelection = []\r\n\r\nconst radioSelectedKey = ref()\r\n\r\nconst currentSelectLength = computed(() => {\r\n if (props.mode === 'multiple') {\r\n return Array.isArray(props.modelValue) ? props.modelValue.length : 0\r\n }\r\n else {\r\n return isValid(radioSelectedKey.value) ? 1 : 0\r\n }\r\n})\r\n\r\nwatch(\r\n () => props.dataSource,\r\n async () => {\r\n const selectedKeys = uniq(\r\n selectedFlatDataSource.value.map(item => item[rowKey]),\r\n )\r\n await nextTick()\r\n for (const item of props.dataSource) {\r\n if (selectedKeys.includes(item[rowKey])) {\r\n if (props.mode === 'multiple') {\r\n elTableRef.value?.toggleRowSelection(item, true, props.ignoreSelectable)\r\n }\r\n else {\r\n elTableRef.value?.setCurrentRow(item)\r\n onRadioClick(item)\r\n }\r\n }\r\n await nextTick()\r\n prevSelection = elTableRef.value?.getSelectionRows()\r\n }\r\n },\r\n { immediate: true },\r\n)\r\n\r\nwatch(\r\n () => [props.modelValue, props.loading],\r\n async ([value, loading]) => {\r\n if (loading) {\r\n return\r\n }\r\n if (props.mode === 'single') {\r\n radioSelectedKey.value = props.optionAsValue ? value[rowKey] : value\r\n }\r\n else {\r\n await nextTick()\r\n const currentDisplayDataKeys = elTableRef.value\r\n ?.getSelectionRows()\r\n .map(item => item[rowKey])\r\n const valueKeys = props.optionAsValue\r\n ? value?.map(item => item[rowKey])\r\n : value ?? []\r\n selectedFlatDataSource.value = selectedFlatDataSource.value.filter(\r\n item => valueKeys.includes(item[rowKey]),\r\n )\r\n if (isEqual(valueKeys, currentDisplayDataKeys)) {\r\n return\r\n }\r\n const diffItems = xor(valueKeys, currentDisplayDataKeys)\r\n for (const tableItem of props.dataSource) {\r\n if (diffItems.includes(tableItem[rowKey])) {\r\n const shouldSelect = valueKeys.includes(tableItem[rowKey])\r\n elTableRef.value.toggleRowSelection(tableItem, shouldSelect, props.ignoreSelectable)\r\n }\r\n }\r\n }\r\n },\r\n {\r\n immediate: true,\r\n },\r\n)\r\n\r\nfunction onSelect(newSelection: Record<string, any>[]) {\r\n /* istanbul ignore if -- @preserve */\r\n if (!rowKey) {\r\n throw new Error('rowKey is required')\r\n }\r\n\r\n const removedItemList\r\n = prevSelection.length > newSelection.length\r\n ? differenceWith(\r\n prevSelection,\r\n newSelection,\r\n (itemPrev, itemNext) => {\r\n return itemPrev[rowKey] === itemNext[rowKey]\r\n },\r\n )\r\n : []\r\n prevSelection = [...newSelection]\r\n selectedFlatDataSource.value = uniqWith(\r\n [...selectedFlatDataSource.value, ...newSelection],\r\n (itemPrev, itemNext) => {\r\n return itemPrev[rowKey] === itemNext[rowKey]\r\n },\r\n )\r\n if (removedItemList.length > 0) {\r\n const removedKeys = uniq(removedItemList.map(item => item[rowKey]))\r\n remove(selectedFlatDataSource.value, item =>\r\n removedKeys.includes(item[rowKey]))\r\n }\r\n\r\n if (props.optionAsValue) {\r\n emit('update:modelValue', selectedFlatDataSource.value)\r\n }\r\n else {\r\n const selectedKeys = selectedFlatDataSource.value.map(\r\n item => item[rowKey],\r\n )\r\n emit('update:modelValue', selectedKeys)\r\n }\r\n}\r\n\r\nfunction onRadioClick(item) {\r\n radioSelectedKey.value = item[rowKey]\r\n if (props.optionAsValue) {\r\n emit('update:modelValue', item)\r\n }\r\n else {\r\n emit('update:modelValue', item[rowKey])\r\n }\r\n}\r\n\r\nfunction onRowClick(row: Record<string, any>, _, event: Event) {\r\n if (!props.clickRowToSelect)\r\n return\r\n\r\n if (props.mode === 'multiple') {\r\n const checkboxDOM = (event.target as Element)\r\n .closest('tr')\r\n .querySelector('input[type=\"checkbox\"]')\r\n if (checkboxDOM instanceof HTMLElement) {\r\n checkboxDOM.click()\r\n }\r\n }\r\n else {\r\n const radioDOM = (event.target as Element)\r\n .closest('tr')\r\n .querySelector('input[type=\"radio\"]')\r\n if (radioDOM instanceof HTMLElement) {\r\n radioDOM.click()\r\n }\r\n }\r\n}\r\n\r\nfunction onClearSelectionClick() {\r\n if (props.mode === 'multiple') {\r\n emit('update:modelValue', [])\r\n selectedFlatDataSource.value = []\r\n }\r\n else {\r\n radioSelectedKey.value = null\r\n emit('update:modelValue', null)\r\n }\r\n}\r\n\r\nfunction selectable(row: Record<string, any>, index: number) {\r\n if (props.selectable && isFn(props.selectable)) {\r\n return props.selectable(row, index, field.value)\r\n }\r\n return true\r\n}\r\n</script>\r\n\r\n<template>\r\n <div :class=\"`${stylePrefix}-select-table`\">\r\n <div\r\n v-if=\"currentSelectLength > 0 && props.showAlertToolbar\"\r\n :class=\"`${stylePrefix}-select-table-alert-container`\"\r\n >\r\n <span>已选择 {{ currentSelectLength }} 项</span>\r\n <ElLink\r\n type=\"primary\"\r\n :underline=\"lt(version, '2.9.9') ? false : 'never'\"\r\n style=\"margin-left: 8px;\"\r\n @click=\"onClearSelectionClick\"\r\n >\r\n 取消选择\r\n </ElLink>\r\n </div>\r\n <ElTable\r\n ref=\"elTableRef\"\r\n v-loading=\"props.loading\"\r\n v-bind=\"elTableProps\"\r\n :row-key=\"rowKey\"\r\n :row-class-name=\"props.clickRowToSelect ? `--click-row-select` : ''\"\r\n :data=\"props.dataSource\"\r\n :highlight-current-row=\"props.mode === 'single'\"\r\n @select=\"onSelect\"\r\n @select-all=\"onSelect\"\r\n @row-click=\"onRowClick\"\r\n >\r\n <ElTableColumn\r\n v-if=\"props.mode === 'multiple'\"\r\n type=\"selection\"\r\n :selectable=\"selectable\"\r\n />\r\n <ElTableColumn\r\n v-else\r\n width=\"46\"\r\n >\r\n <template #default=\"{ row }\">\r\n <ElRadioGroup v-model=\"radioSelectedKey\" style=\"width: 100%;\">\r\n <ElRadio\r\n v-bind=\"compatibleRadioValue(row[rowKey])\"\r\n @change=\"() => onRadioClick(row)\"\r\n >\r\n &nbsp;\r\n </ElRadio>\r\n </ElRadioGroup>\r\n </template>\r\n </ElTableColumn>\r\n <template v-if=\"props.columns.length === 0\">\r\n <slot />\r\n </template>\r\n <template v-else>\r\n <ElTableColumn\r\n v-for=\"colItem of props.columns\"\r\n v-bind=\"colItem\"\r\n :key=\"colItem.prop || colItem.type\"\r\n />\r\n </template>\r\n </ElTable>\r\n </div>\r\n</template>\r\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport InnerSelectTable from './select-table.vue'\r\nimport './style.scss'\r\n\r\nconst SelectTable = connect<typeof InnerSelectTable>(\n InnerSelectTable,\n mapProps({ dataSource: 'dataSource', loading: 'loading' }),\r\n)\r\n\r\nexport { SelectTable }\r\n\r\nexport default SelectTable\r\n"],"names":["props","__props","emit","__emit","elTableProps","useAttrs","field","useField","compatibleRadioValue","key","lt","version","elTableRef","ref","rowKey","getInitialSelectedList","item","initialSelectedList","selectedFlatDataSource","prevSelection","radioSelectedKey","currentSelectLength","computed","isValid","watch","selectedKeys","uniq","nextTick","onRadioClick","value","loading","currentDisplayDataKeys","valueKeys","isEqual","diffItems","xor","tableItem","shouldSelect","onSelect","newSelection","removedItemList","differenceWith","itemPrev","itemNext","uniqWith","removedKeys","remove","onRowClick","row","_","event","checkboxDOM","radioDOM","onClearSelectionClick","selectable","index","isFn","_createElementBlock","_unref","stylePrefix","_createElementVNode","_toDisplayString","_createVNode","ElLink","_cache","_withDirectives","_openBlock","_createBlock","_mergeProps","ElTableColumn","_withCtx","ElRadioGroup","$event","_renderSlot","_ctx","_Fragment","_renderList","colItem","vLoading","SelectTable","connect","InnerSelectTable","mapProps"],"mappings":"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"}
@@ -1512,9 +1512,9 @@ declare const __VLS_component: import('vue').DefineComponent<ISelectTableProps,
1512
1512
  }, string, import('vue').PublicProps, Readonly<ISelectTableProps> & Readonly<{
1513
1513
  "onUpdate:modelValue"?: (...args: any[]) => any;
1514
1514
  }>, {
1515
- mode: "multiple" | "single";
1516
- loading: boolean;
1517
1515
  dataSource: any[];
1516
+ loading: boolean;
1517
+ mode: "multiple" | "single";
1518
1518
  columns: import('element-plus').Column<any>[];
1519
1519
  valueType: "all" | "parent" | "child" | "path";
1520
1520
  optionAsValue: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-elements.mjs","sources":["../../src/shared/overlay-elements.ts"],"sourcesContent":["import type { ComponentPublicInstance } from 'vue'\n\nexport type DialogLikeInstance = ComponentPublicInstance<{ dialogContentRef?: ComponentPublicInstance | null }> | null\n\ntype OverlayLikeInstance = ComponentPublicInstance & {\n exposed?: Record<string, any>\n $refs?: Record<string, any>\n dialogContentRef?: ComponentPublicInstance | null\n}\n\nfunction toHTMLElement(target: unknown): HTMLElement | null {\n if (target instanceof HTMLElement)\n return target\n\n const element = (target as { $el?: unknown } | null | undefined)?.$el\n return element instanceof HTMLElement ? element : null\n}\n\nexport function resolveDialogElement(instance: DialogLikeInstance): HTMLElement | null {\n const vm = instance as OverlayLikeInstance | null\n return toHTMLElement(vm?.dialogContentRef)\n ?? toHTMLElement(vm?.exposed?.dialogContentRef)\n ?? toHTMLElement(vm)\n}\n\nexport function resolveDrawerElement(instance: ComponentPublicInstance | null): HTMLElement | null {\n const vm = instance as OverlayLikeInstance | null\n return toHTMLElement(vm?.exposed?.drawerRef)\n ?? toHTMLElement(vm?.$refs?.drawerRef)\n ?? toHTMLElement(vm)\n}\n"],"names":["toHTMLElement","target","element","resolveDialogElement","instance","vm","resolveDrawerElement"],"mappings":"AAUA,SAASA,EAAcC,GAAqC;AAC1D,MAAIA,aAAkB;AACpB,WAAOA;AAET,QAAMC,IAAWD,GAAiD;AAClE,SAAOC,aAAmB,cAAcA,IAAU;AACpD;AAEO,SAASC,EAAqBC,GAAkD;AACrF,QAAMC,IAAKD;AACX,SAAOJ,EAAcK,GAAI,gBAAgB,KACpCL,EAAcK,GAAI,SAAS,gBAAgB,KAC3CL,EAAcK,CAAE;AACvB;AAEO,SAASC,EAAqBF,GAA8D;AACjG,QAAMC,IAAKD;AACX,SAAOJ,EAAcK,GAAI,SAAS,SAAS,KACtCL,EAAcK,GAAI,OAAO,SAAS,KAClCL,EAAcK,CAAE;AACvB;"}
1
+ {"version":3,"file":"overlay-elements.mjs","sources":["../../src/shared/overlay-elements.ts"],"sourcesContent":["import type { ComponentPublicInstance } from 'vue'\r\n\r\nexport type DialogLikeInstance = ComponentPublicInstance<{ dialogContentRef?: ComponentPublicInstance | null }> | null\r\n\r\ntype OverlayLikeInstance = ComponentPublicInstance & {\r\n exposed?: Record<string, any>\r\n $refs?: Record<string, any>\r\n dialogContentRef?: ComponentPublicInstance | null\r\n}\r\n\r\nfunction toHTMLElement(target: unknown): HTMLElement | null {\r\n if (target instanceof HTMLElement)\r\n return target\r\n\r\n const element = (target as { $el?: unknown } | null | undefined)?.$el\r\n return element instanceof HTMLElement ? element : null\r\n}\r\n\r\nexport function resolveDialogElement(instance: DialogLikeInstance): HTMLElement | null {\r\n const vm = instance as OverlayLikeInstance | null\r\n return toHTMLElement(vm?.dialogContentRef)\r\n ?? toHTMLElement(vm?.exposed?.dialogContentRef)\r\n ?? toHTMLElement(vm)\r\n}\r\n\r\nexport function resolveDrawerElement(instance: ComponentPublicInstance | null): HTMLElement | null {\r\n const vm = instance as OverlayLikeInstance | null\r\n return toHTMLElement(vm?.exposed?.drawerRef)\r\n ?? toHTMLElement(vm?.$refs?.drawerRef)\r\n ?? toHTMLElement(vm)\r\n}\r\n"],"names":["toHTMLElement","target","element","resolveDialogElement","instance","vm","resolveDrawerElement"],"mappings":"AAUA,SAASA,EAAcC,GAAqC;AAC1D,MAAIA,aAAkB;AACpB,WAAOA;AAET,QAAMC,IAAWD,GAAiD;AAClE,SAAOC,aAAmB,cAAcA,IAAU;AACpD;AAEO,SAASC,EAAqBC,GAAkD;AACrF,QAAMC,IAAKD;AACX,SAAOJ,EAAcK,GAAI,gBAAgB,KACpCL,EAAcK,GAAI,SAAS,gBAAgB,KAC3CL,EAAcK,CAAE;AACvB;AAEO,SAASC,EAAqBF,GAA8D;AACjG,QAAMC,IAAKD;AACX,SAAOJ,EAAcK,GAAI,SAAS,SAAS,KACtCL,EAAcK,GAAI,OAAO,SAAS,KAClCL,EAAcK,CAAE;AACvB;"}
@@ -1,17 +1,14 @@
1
- import { connect as r, mapProps as o } from "@silver-formily/vue";
2
- import { ElSlider as t } from "element-plus";
3
- import "@formily/reactive";
4
- import "@vueuse/core";
5
- import "vue";
6
- import { mapReadPretty as e } from "../__builtins__/shared/transform-component.mjs";
7
- import { PreviewText as m } from "../preview-text/index.mjs";
8
- const s = r(
9
- t,
10
- o({ readOnly: "readonly", disabled: !0 }),
11
- e(m.Input)
1
+ import { connect as r, mapProps as e } from "@silver-formily/vue";
2
+ import { ElSlider as o } from "element-plus";
3
+ import { PreviewText as t } from "../preview-text/index.mjs";
4
+ import { mapReadPretty as m } from "../__builtins__/shared/transform-component.mjs";
5
+ const l = r(
6
+ o,
7
+ e({ readOnly: "readonly", disabled: !0 }),
8
+ m(t.Input)
12
9
  );
13
10
  export {
14
- s as Slider,
15
- s as default
11
+ l as Slider,
12
+ l as default
16
13
  };
17
14
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/slider/index.ts"],"sourcesContent":["import { connect, mapProps } from '@silver-formily/vue'\nimport { ElSlider } from 'element-plus'\nimport { mapReadPretty } from '../__builtins__'\nimport { PreviewText } from '../preview-text'\n\nexport type SliderProps = typeof ElSlider\n\nexport const Slider = connect<typeof ElSlider>(\n ElSlider,\n mapProps({ readOnly: 'readonly', disabled: true }),\n mapReadPretty(PreviewText.Input),\n)\n\nexport default Slider\n"],"names":["Slider","connect","ElSlider","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;;;;AAOO,MAAMA,IAASC;AAAA,EACpBC;AAAA,EACAC,EAAS,EAAE,UAAU,YAAY,UAAU,IAAM;AAAA,EACjDC,EAAcC,EAAY,KAAK;AACjC;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/slider/index.ts"],"sourcesContent":["import { connect, mapProps } from '@silver-formily/vue'\r\nimport { ElSlider } from 'element-plus'\r\nimport { mapReadPretty } from '../__builtins__'\r\nimport { PreviewText } from '../preview-text'\r\n\r\nexport type SliderProps = typeof ElSlider\r\n\r\nexport const Slider = connect<typeof ElSlider>(\r\n ElSlider,\r\n mapProps({ readOnly: 'readonly', disabled: true }),\r\n mapReadPretty(PreviewText.Input),\r\n)\r\n\r\nexport default Slider\r\n"],"names":["Slider","connect","ElSlider","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;AAOO,MAAMA,IAASC;AAAA,EACpBC;AAAA,EACAC,EAAS,EAAE,UAAU,YAAY,UAAU,IAAM;AAAA,EACjDC,EAAcC,EAAY,KAAK;AACjC;"}
@@ -1 +1 @@
1
- .formily-element-plus-form-grid{display:grid}
1
+ .formily-element-plus-form-grid{display:grid}.formily-element-plus-form-grid>[data-grid-span="-1"],.formily-element-plus-form-grid>[gridspan="-1"],.formily-element-plus-form-grid>[gridspan="span -1"]{grid-column:1/-1}.formily-element-plus-form-grid>[data-grid-span="1"],.formily-element-plus-form-grid>[gridspan="1"],.formily-element-plus-form-grid>[gridspan="span 1"]{grid-column:span 1/auto}.formily-element-plus-form-grid>[data-grid-span="2"],.formily-element-plus-form-grid>[gridspan="2"],.formily-element-plus-form-grid>[gridspan="span 2"]{grid-column:span 2/auto}.formily-element-plus-form-grid>[data-grid-span="3"],.formily-element-plus-form-grid>[gridspan="3"],.formily-element-plus-form-grid>[gridspan="span 3"]{grid-column:span 3/auto}.formily-element-plus-form-grid>[data-grid-span="4"],.formily-element-plus-form-grid>[gridspan="4"],.formily-element-plus-form-grid>[gridspan="span 4"]{grid-column:span 4/auto}.formily-element-plus-form-grid>[data-grid-span="5"],.formily-element-plus-form-grid>[gridspan="5"],.formily-element-plus-form-grid>[gridspan="span 5"]{grid-column:span 5/auto}.formily-element-plus-form-grid>[data-grid-span="6"],.formily-element-plus-form-grid>[gridspan="6"],.formily-element-plus-form-grid>[gridspan="span 6"]{grid-column:span 6/auto}.formily-element-plus-form-grid>[data-grid-span="7"],.formily-element-plus-form-grid>[gridspan="7"],.formily-element-plus-form-grid>[gridspan="span 7"]{grid-column:span 7/auto}.formily-element-plus-form-grid>[data-grid-span="8"],.formily-element-plus-form-grid>[gridspan="8"],.formily-element-plus-form-grid>[gridspan="span 8"]{grid-column:span 8/auto}.formily-element-plus-form-grid>[data-grid-span="9"],.formily-element-plus-form-grid>[gridspan="9"],.formily-element-plus-form-grid>[gridspan="span 9"]{grid-column:span 9/auto}.formily-element-plus-form-grid>[data-grid-span="10"],.formily-element-plus-form-grid>[gridspan="10"],.formily-element-plus-form-grid>[gridspan="span 10"]{grid-column:span 10/auto}.formily-element-plus-form-grid>[data-grid-span="11"],.formily-element-plus-form-grid>[gridspan="11"],.formily-element-plus-form-grid>[gridspan="span 11"]{grid-column:span 11/auto}.formily-element-plus-form-grid>[data-grid-span="12"],.formily-element-plus-form-grid>[gridspan="12"],.formily-element-plus-form-grid>[gridspan="span 12"]{grid-column:span 12/auto}.formily-element-plus-form-grid>[data-grid-span="13"],.formily-element-plus-form-grid>[gridspan="13"],.formily-element-plus-form-grid>[gridspan="span 13"]{grid-column:span 13/auto}.formily-element-plus-form-grid>[data-grid-span="14"],.formily-element-plus-form-grid>[gridspan="14"],.formily-element-plus-form-grid>[gridspan="span 14"]{grid-column:span 14/auto}.formily-element-plus-form-grid>[data-grid-span="15"],.formily-element-plus-form-grid>[gridspan="15"],.formily-element-plus-form-grid>[gridspan="span 15"]{grid-column:span 15/auto}.formily-element-plus-form-grid>[data-grid-span="16"],.formily-element-plus-form-grid>[gridspan="16"],.formily-element-plus-form-grid>[gridspan="span 16"]{grid-column:span 16/auto}.formily-element-plus-form-grid>[data-grid-span="17"],.formily-element-plus-form-grid>[gridspan="17"],.formily-element-plus-form-grid>[gridspan="span 17"]{grid-column:span 17/auto}.formily-element-plus-form-grid>[data-grid-span="18"],.formily-element-plus-form-grid>[gridspan="18"],.formily-element-plus-form-grid>[gridspan="span 18"]{grid-column:span 18/auto}.formily-element-plus-form-grid>[data-grid-span="19"],.formily-element-plus-form-grid>[gridspan="19"],.formily-element-plus-form-grid>[gridspan="span 19"]{grid-column:span 19/auto}.formily-element-plus-form-grid>[data-grid-span="20"],.formily-element-plus-form-grid>[gridspan="20"],.formily-element-plus-form-grid>[gridspan="span 20"]{grid-column:span 20/auto}.formily-element-plus-form-grid>[data-grid-span="21"],.formily-element-plus-form-grid>[gridspan="21"],.formily-element-plus-form-grid>[gridspan="span 21"]{grid-column:span 21/auto}.formily-element-plus-form-grid>[data-grid-span="22"],.formily-element-plus-form-grid>[gridspan="22"],.formily-element-plus-form-grid>[gridspan="span 22"]{grid-column:span 22/auto}.formily-element-plus-form-grid>[data-grid-span="23"],.formily-element-plus-form-grid>[gridspan="23"],.formily-element-plus-form-grid>[gridspan="span 23"]{grid-column:span 23/auto}.formily-element-plus-form-grid>[data-grid-span="24"],.formily-element-plus-form-grid>[gridspan="24"],.formily-element-plus-form-grid>[gridspan="span 24"]{grid-column:span 24/auto}
@@ -1,5 +1,5 @@
1
1
  import { observer as m } from "@silver-formily/reactive-vue";
2
- import { defineComponent as s, createBlock as a, openBlock as c, unref as e, mergeProps as l, withCtx as f, renderSlot as b } from "vue";
2
+ import { defineComponent as s, openBlock as a, createBlock as c, unref as e, mergeProps as l, withCtx as f, renderSlot as b } from "vue";
3
3
  import { useParentForm as p } from "@silver-formily/vue";
4
4
  import { ElButton as d } from "element-plus";
5
5
  const S = /* @__PURE__ */ s({
@@ -17,9 +17,9 @@ const S = /* @__PURE__ */ s({
17
17
  setup(i) {
18
18
  const t = i, n = p();
19
19
  function r(o) {
20
- t.onClick?.(o) !== !1 && t.onSubmit && n?.value?.submit(t.onSubmit).then(t.onSubmitSuccess).catch(t.onSubmitFailed ?? console.log);
20
+ t.onClick?.(o) !== !1 && t.onSubmit && n?.value?.submit(t.onSubmit).then(t.onSubmitSuccess).catch(t.onSubmitFailed ?? console.error);
21
21
  }
22
- return (o, u) => (c(), a(e(d), l({
22
+ return (o, u) => (a(), c(e(d), l({
23
23
  "native-type": t.submit ? "button" : "submit",
24
24
  type: "primary"
25
25
  }, o.$attrs, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/submit/submit.vue","../../src/submit/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IFormFeedback } from '@formily/core'\nimport type { PropType } from 'vue'\nimport { useParentForm } from '@silver-formily/vue'\nimport { ElButton } from 'element-plus'\n\ndefineOptions({\n name: 'FSubmit',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n onClick: Function as PropType<(e: MouseEvent) => any>,\n onSubmit: Function as PropType<(values: any) => Promise<any>>,\n onSubmitSuccess: Function as PropType<(payload: any) => void>,\n onSubmitFailed: Function as PropType<(feedbacks: IFormFeedback[]) => void>,\n submit: Boolean,\n loading: Boolean,\n})\n\nconst formRef = useParentForm()\n\nfunction handleClick(e: MouseEvent) {\n if (props.onClick?.(e) === false)\n return\n if (props.onSubmit) {\n const form = formRef?.value\n form?.submit(props.onSubmit)\n .then(props.onSubmitSuccess)\n .catch(props.onSubmitFailed ?? console.log)\n }\n}\n</script>\n\n<template>\n <ElButton\n :native-type=\"props.submit ? 'button' : 'submit'\"\n type=\"primary\"\n v-bind=\"$attrs\"\n :loading=\"formRef?.submitting ?? props.loading\"\n @click=\"handleClick\"\n >\n <template #default>\n <slot />\n </template>\n </ElButton>\n</template>\n","import { observer } from '@silver-formily/reactive-vue'\nimport FSubmit from './submit.vue'\n\nexport const Submit = observer(FSubmit)\n\nexport default Submit\n"],"names":["props","__props","formRef","useParentForm","handleClick","e","_openBlock","_createBlock","_unref","_mergeProps","$attrs","_renderSlot","_ctx","Submit","observer","FSubmit"],"mappings":";;;;;;;;;;;;;;;;;AAWA,UAAMA,IAAQC,GASRC,IAAUC,EAAA;AAEhB,aAASC,EAAYC,GAAe;AAClC,MAAIL,EAAM,UAAUK,CAAC,MAAM,MAEvBL,EAAM,YACKE,GAAS,OAChB,OAAOF,EAAM,QAAQ,EACxB,KAAKA,EAAM,eAAe,EAC1B,MAAMA,EAAM,kBAAkB,QAAQ,GAAG;AAAA,IAEhD;sBAIEM,KAAAC,EAUWC,MAVXC,EAUW;AAAA,MATR,eAAaT,EAAM,SAAM,WAAA;AAAA,MAC1B,MAAK;AAAA,IAAA,GACGU,EAAAA,QAAM;AAAA,MACb,SAASF,EAAAN,CAAA,GAAS,cAAcF,EAAM;AAAA,MACtC,SAAOI;AAAA,IAAA;MAEG,WACT,MAAQ;AAAA,QAARO,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;ICxCDC,IAASC,EAASC,CAAO;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/submit/submit.vue","../../src/submit/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { IFormFeedback } from '@formily/core'\r\nimport type { PropType } from 'vue'\r\nimport { useParentForm } from '@silver-formily/vue'\r\nimport { ElButton } from 'element-plus'\r\n\r\ndefineOptions({\r\n name: 'FSubmit',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\r\n onClick: Function as PropType<(e: MouseEvent) => any>,\r\n onSubmit: Function as PropType<(values: any) => Promise<any>>,\r\n onSubmitSuccess: Function as PropType<(payload: any) => void>,\r\n onSubmitFailed: Function as PropType<(feedbacks: IFormFeedback[]) => void>,\r\n submit: Boolean,\r\n loading: Boolean,\r\n})\r\n\r\nconst formRef = useParentForm()\r\n\r\nfunction handleClick(e: MouseEvent) {\r\n if (props.onClick?.(e) === false)\r\n return\r\n if (props.onSubmit) {\r\n const form = formRef?.value\r\n form?.submit(props.onSubmit)\r\n .then(props.onSubmitSuccess)\r\n .catch(props.onSubmitFailed ?? console.error)\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElButton\r\n :native-type=\"props.submit ? 'button' : 'submit'\"\r\n type=\"primary\"\r\n v-bind=\"$attrs\"\r\n :loading=\"formRef?.submitting ?? props.loading\"\r\n @click=\"handleClick\"\r\n >\r\n <template #default>\r\n <slot />\r\n </template>\r\n </ElButton>\r\n</template>\r\n","import { observer } from '@silver-formily/reactive-vue'\r\nimport FSubmit from './submit.vue'\r\n\r\nexport const Submit = observer(FSubmit)\r\n\r\nexport default Submit\r\n"],"names":["props","__props","formRef","useParentForm","handleClick","e","_openBlock","_createBlock","_unref","_mergeProps","$attrs","_renderSlot","_ctx","Submit","observer","FSubmit"],"mappings":";;;;;;;;;;;;;;;;;AAWA,UAAMA,IAAQC,GASRC,IAAUC,EAAA;AAEhB,aAASC,EAAYC,GAAe;AAClC,MAAIL,EAAM,UAAUK,CAAC,MAAM,MAEvBL,EAAM,YACKE,GAAS,OAChB,OAAOF,EAAM,QAAQ,EACxB,KAAKA,EAAM,eAAe,EAC1B,MAAMA,EAAM,kBAAkB,QAAQ,KAAK;AAAA,IAElD;sBAIEM,KAAAC,EAUWC,MAVXC,EAUW;AAAA,MATR,eAAaT,EAAM,SAAM,WAAA;AAAA,MAC1B,MAAK;AAAA,IAAA,GACGU,EAAAA,QAAM;AAAA,MACb,SAASF,EAAAN,CAAA,GAAS,cAAcF,EAAM;AAAA,MACtC,SAAOI;AAAA,IAAA;MAEG,WACT,MAAQ;AAAA,QAARO,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;ICxCDC,IAASC,EAASC,CAAO;"}