vue-devui 1.0.0-beta.3 → 1.0.0-beta.7

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 (182) hide show
  1. package/accordion/index.d.ts +7 -0
  2. package/accordion/index.es.js +186 -139
  3. package/accordion/index.umd.js +1 -1
  4. package/accordion/style.css +1 -1
  5. package/alert/index.d.ts +7 -0
  6. package/anchor/index.d.ts +7 -0
  7. package/avatar/index.d.ts +7 -0
  8. package/back-top/index.d.ts +7 -0
  9. package/back-top/index.es.js +128 -0
  10. package/back-top/index.umd.js +1 -0
  11. package/back-top/package.json +7 -0
  12. package/back-top/style.css +1 -0
  13. package/badge/index.d.ts +7 -0
  14. package/breadcrumb/index.d.ts +7 -0
  15. package/button/index.d.ts +7 -0
  16. package/button/index.es.js +3 -3
  17. package/button/index.umd.js +1 -1
  18. package/card/index.d.ts +7 -0
  19. package/carousel/index.d.ts +7 -0
  20. package/carousel/index.es.js +3 -3
  21. package/carousel/index.umd.js +1 -1
  22. package/cascader/index.d.ts +7 -0
  23. package/cascader/index.es.js +1239 -83
  24. package/cascader/index.umd.js +1 -1
  25. package/cascader/style.css +1 -1
  26. package/checkbox/index.d.ts +7 -0
  27. package/checkbox/index.es.js +42 -7
  28. package/checkbox/index.umd.js +1 -1
  29. package/comment/index.d.ts +7 -0
  30. package/comment/index.es.js +57 -0
  31. package/comment/index.umd.js +1 -0
  32. package/comment/package.json +7 -0
  33. package/comment/style.css +1 -0
  34. package/date-picker/index.d.ts +7 -0
  35. package/date-picker/index.es.js +18 -17
  36. package/date-picker/index.umd.js +1 -1
  37. package/date-picker/style.css +1 -1
  38. package/dragdrop/index.d.ts +7 -0
  39. package/dragdrop/index.es.js +32 -0
  40. package/dragdrop/index.umd.js +1 -0
  41. package/dragdrop/package.json +7 -0
  42. package/drawer/index.d.ts +7 -0
  43. package/drawer/index.es.js +112 -45
  44. package/drawer/index.umd.js +1 -1
  45. package/drawer/style.css +1 -1
  46. package/dropdown/index.d.ts +7 -0
  47. package/dropdown/index.es.js +528 -0
  48. package/dropdown/index.umd.js +1 -0
  49. package/dropdown/package.json +7 -0
  50. package/dropdown/style.css +1 -0
  51. package/editable-select/index.d.ts +7 -0
  52. package/editable-select/index.es.js +5648 -434
  53. package/editable-select/index.umd.js +27 -1
  54. package/editable-select/style.css +1 -1
  55. package/form/index.d.ts +7 -0
  56. package/form/index.es.js +446 -5558
  57. package/form/index.umd.js +1 -27
  58. package/form/style.css +1 -1
  59. package/fullscreen/index.d.ts +7 -0
  60. package/gantt/index.d.ts +7 -0
  61. package/gantt/index.es.js +535 -0
  62. package/gantt/index.umd.js +1 -0
  63. package/gantt/package.json +7 -0
  64. package/gantt/style.css +1 -0
  65. package/grid/index.d.ts +7 -0
  66. package/grid/index.es.js +269 -0
  67. package/grid/index.umd.js +1 -0
  68. package/grid/package.json +7 -0
  69. package/grid/style.css +1 -0
  70. package/icon/index.d.ts +7 -0
  71. package/icon/index.es.js +3 -3
  72. package/icon/index.umd.js +1 -1
  73. package/image-preview/index.d.ts +7 -0
  74. package/image-preview/index.es.js +22 -1
  75. package/image-preview/index.umd.js +1 -1
  76. package/index.d.ts +7 -0
  77. package/input/index.d.ts +7 -0
  78. package/input/index.es.js +15 -14
  79. package/input/index.umd.js +1 -1
  80. package/input-icon/index.d.ts +7 -0
  81. package/input-icon/index.es.js +331 -0
  82. package/input-icon/index.umd.js +1 -0
  83. package/input-icon/package.json +7 -0
  84. package/input-icon/style.css +1 -0
  85. package/input-number/index.d.ts +7 -0
  86. package/input-number/index.es.js +3 -3
  87. package/input-number/index.umd.js +1 -1
  88. package/layout/index.d.ts +7 -0
  89. package/loading/index.d.ts +7 -0
  90. package/modal/index.d.ts +7 -0
  91. package/modal/index.es.js +102 -84
  92. package/modal/index.umd.js +1 -1
  93. package/modal/style.css +1 -1
  94. package/nav-sprite/index.d.ts +7 -0
  95. package/overlay/index.d.ts +7 -0
  96. package/overlay/index.es.js +100 -82
  97. package/overlay/index.umd.js +1 -1
  98. package/overlay/style.css +1 -1
  99. package/package.json +4 -33
  100. package/pagination/index.d.ts +7 -0
  101. package/panel/index.d.ts +7 -0
  102. package/popover/index.d.ts +7 -0
  103. package/progress/index.d.ts +7 -0
  104. package/quadrant-diagram/index.d.ts +7 -0
  105. package/radio/index.d.ts +7 -0
  106. package/rate/index.d.ts +7 -0
  107. package/read-tip/index.d.ts +7 -0
  108. package/read-tip/index.es.js +244 -0
  109. package/read-tip/index.umd.js +1 -0
  110. package/read-tip/package.json +7 -0
  111. package/read-tip/style.css +1 -0
  112. package/ripple/index.d.ts +7 -0
  113. package/search/index.d.ts +7 -0
  114. package/search/index.es.js +15 -14
  115. package/search/index.umd.js +1 -1
  116. package/select/index.d.ts +7 -0
  117. package/select/index.es.js +45 -10
  118. package/select/index.umd.js +1 -1
  119. package/skeleton/index.d.ts +7 -0
  120. package/skeleton/index.es.js +147 -25
  121. package/skeleton/index.umd.js +1 -1
  122. package/skeleton/style.css +1 -1
  123. package/slider/index.d.ts +7 -0
  124. package/slider/index.es.js +8 -6
  125. package/slider/index.umd.js +1 -1
  126. package/splitter/index.d.ts +7 -0
  127. package/status/index.d.ts +7 -0
  128. package/steps-guide/index.d.ts +7 -0
  129. package/steps-guide/index.es.js +99 -73
  130. package/steps-guide/index.umd.js +1 -1
  131. package/steps-guide/style.css +1 -1
  132. package/sticky/index.d.ts +7 -0
  133. package/style.css +1 -1
  134. package/switch/index.d.ts +7 -0
  135. package/table/index.d.ts +7 -0
  136. package/table/index.es.js +1490 -157
  137. package/table/index.umd.js +1 -1
  138. package/table/style.css +1 -1
  139. package/tabs/index.d.ts +7 -0
  140. package/tabs/index.es.js +1 -0
  141. package/tabs/index.umd.js +1 -1
  142. package/tag/index.d.ts +7 -0
  143. package/tag/index.es.js +105 -0
  144. package/tag/index.umd.js +1 -0
  145. package/tag/package.json +7 -0
  146. package/tag/style.css +1 -0
  147. package/tag-input/index.d.ts +7 -0
  148. package/textarea/index.d.ts +7 -0
  149. package/textarea/index.es.js +132 -0
  150. package/textarea/index.umd.js +1 -0
  151. package/textarea/package.json +7 -0
  152. package/textarea/style.css +1 -0
  153. package/time-axis/index.d.ts +7 -0
  154. package/time-axis/index.es.js +238 -21
  155. package/time-axis/index.umd.js +1 -1
  156. package/time-axis/style.css +1 -1
  157. package/time-picker/index.d.ts +7 -0
  158. package/time-picker/index.es.js +45 -22
  159. package/time-picker/index.umd.js +1 -1
  160. package/time-picker/style.css +1 -1
  161. package/toast/index.d.ts +7 -0
  162. package/toast/index.es.js +3 -3
  163. package/toast/index.umd.js +1 -1
  164. package/toast/style.css +1 -1
  165. package/tooltip/index.d.ts +7 -0
  166. package/transfer/index.d.ts +7 -0
  167. package/transfer/index.es.js +345 -70
  168. package/transfer/index.umd.js +1 -1
  169. package/transfer/style.css +1 -1
  170. package/tree/index.d.ts +7 -0
  171. package/tree/index.es.js +11 -4
  172. package/tree/index.umd.js +1 -1
  173. package/tree-select/index.d.ts +7 -0
  174. package/tree-select/index.es.js +435 -110
  175. package/tree-select/index.umd.js +1 -1
  176. package/tree-select/style.css +1 -1
  177. package/upload/index.d.ts +7 -0
  178. package/upload/index.es.js +4 -4
  179. package/upload/index.umd.js +1 -1
  180. package/upload/style.css +1 -1
  181. package/vue-devui.es.js +17873 -14511
  182. package/vue-devui.umd.js +17 -17
@@ -1,4 +1,23 @@
1
- import { defineComponent, ref, reactive, toRefs, computed, createVNode, resolveComponent, Fragment } from "vue";
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { ref, computed, defineComponent, inject, createVNode, mergeProps, resolveComponent, Transition, withDirectives, Fragment, vShow } from "vue";
2
21
  var treeSelect = "";
3
22
  const treeSelectProps = {
4
23
  modelValue: {
@@ -17,10 +36,6 @@ const treeSelectProps = {
17
36
  type: Boolean,
18
37
  default: false
19
38
  },
20
- expandTree: {
21
- type: Boolean,
22
- default: false
23
- },
24
39
  multiple: {
25
40
  type: Boolean,
26
41
  default: false
@@ -46,6 +61,26 @@ const treeSelectProps = {
46
61
  default: void 0
47
62
  }
48
63
  };
64
+ function attributeExtension(data) {
65
+ data.forEach((el) => {
66
+ let level = 1;
67
+ el.level = level;
68
+ const nodeQueue = [];
69
+ nodeQueue.push(el);
70
+ while (nodeQueue.length !== 0) {
71
+ const node = nodeQueue.shift();
72
+ if (node.children) {
73
+ node.children.forEach((el2) => {
74
+ el2.level = level + 1;
75
+ el2.parent = node;
76
+ nodeQueue.push(el2);
77
+ });
78
+ }
79
+ level += 1;
80
+ }
81
+ });
82
+ return data;
83
+ }
49
84
  function className(classStr, classOpt) {
50
85
  let classname = classStr;
51
86
  if (typeof classOpt === "object") {
@@ -55,79 +90,366 @@ function className(classStr, classOpt) {
55
90
  }
56
91
  return classname;
57
92
  }
58
- var TreeSelect = defineComponent({
59
- name: "DTreeSelect",
60
- props: treeSelectProps,
61
- emits: ["toggleChange", "valueChange", "update:modelValue"],
93
+ function useToggle(props) {
94
+ const visible = ref(false);
95
+ const selectToggle = () => {
96
+ if (props.disabled)
97
+ return;
98
+ visible.value = !visible.value;
99
+ };
100
+ const treeToggle = (e, item) => {
101
+ e.preventDefault();
102
+ e.stopPropagation();
103
+ item.opened = !item.opened;
104
+ };
105
+ return {
106
+ visible,
107
+ selectToggle,
108
+ treeToggle
109
+ };
110
+ }
111
+ function useSelect(props) {
112
+ const inputValue = ref("");
113
+ const selectedCache = new Set();
114
+ const selectValue = (item) => {
115
+ if (!props.multiple) {
116
+ inputValue.value = item.label;
117
+ } else {
118
+ item.checked = !item.checked;
119
+ if (item.halfchecked)
120
+ item.halfchecked = false;
121
+ useCache(item);
122
+ searchUp(item);
123
+ searchDown(item);
124
+ inputValue.value = [...selectedCache].toString();
125
+ }
126
+ };
127
+ const useCache = (item) => {
128
+ item.checked === true ? selectedCache.add(item.label) : selectedCache.has(item.label) && selectedCache.delete(item.label);
129
+ };
130
+ const searchUp = (item) => {
131
+ if (!item.parent)
132
+ return;
133
+ let state = "";
134
+ const checkedArr = item.parent.children.filter((el) => el.checked === true);
135
+ switch (checkedArr.length) {
136
+ case 0:
137
+ state = "none";
138
+ break;
139
+ case item.parent.children.length:
140
+ state = "checked";
141
+ break;
142
+ default:
143
+ state = "halfchecked";
144
+ break;
145
+ }
146
+ if (state === "checked") {
147
+ item.parent.checked = true;
148
+ item.parent.halfchecked = false;
149
+ } else if (state === "halfchecked") {
150
+ item.parent.halfchecked = true;
151
+ item.parent.checked = false;
152
+ } else {
153
+ item.parent.checked = false;
154
+ item.parent.halfchecked = false;
155
+ }
156
+ useCache(item.parent);
157
+ searchUp(item.parent);
158
+ };
159
+ const searchDown = (item) => {
160
+ if (!item.children)
161
+ return;
162
+ item.children.forEach((el) => {
163
+ el.checked = item.checked;
164
+ useCache(el);
165
+ searchDown(el);
166
+ });
167
+ };
168
+ return {
169
+ inputValue,
170
+ selectValue
171
+ };
172
+ }
173
+ function useClear(props, ctx, data) {
174
+ const isClearable = computed(() => {
175
+ return !props.disabled && props.allowClear && data.value.length > 0;
176
+ });
177
+ const handleClear = (e) => {
178
+ e.preventDefault();
179
+ e.stopPropagation();
180
+ if (props.multiple) {
181
+ ctx.emit("update:modelValue", []);
182
+ } else {
183
+ ctx.emit("update:modelValue", "");
184
+ data.value = "";
185
+ }
186
+ };
187
+ return {
188
+ isClearable,
189
+ handleClear
190
+ };
191
+ }
192
+ var IconOpen = "data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSIxNnB4IgogIGhlaWdodD0iMTZweCIKICB2aWV3Qm94PSIwIDAgMTYgMTYiCiAgdmVyc2lvbj0iMS4xIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICBjbGFzcz0ic3ZnLWljb24gc3ZnLWljb24tY2xvc2UiCj4KICA8ZyBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiByeD0iMiIgc3Ryb2tlPSIjNWU3Y2UwIj48L3JlY3Q+CiAgICA8cmVjdCB4PSI0IiB5PSI3IiB3aWR0aD0iOCIgaGVpZ2h0PSIyIiBmaWxsPSIjNWU3Y2UwIj48L3JlY3Q+CiAgPC9nPgo8L3N2Zz4=";
193
+ var IconClose = "data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSIxNnB4IgogIGhlaWdodD0iMTZweCIKICB2aWV3Qm94PSIwIDAgMTYgMTYiCiAgdmVyc2lvbj0iMS4xIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICBjbGFzcz0ic3ZnLWljb24iCj4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxyZWN0IHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHJ4PSIyIiBzdHJva2U9IiMyNTJiM2EiPjwvcmVjdD4KICAgIDxwYXRoCiAgICAgIGZpbGw9IiMyNTJiM2EiCiAgICAgIGQ9Ik04Ljc1LDQgTDguNzUsNy4yNSBMMTIsNy4yNSBMMTIsOC43NSBMOC43NDksOC43NSBMOC43NSwxMiBMNy4yNSwxMiBMNy4yNDksOC43NSBMNCw4Ljc1IEw0LDcuMjUgTDcuMjUsNy4yNSBMNy4yNSw0IEw4Ljc1LDQgWiIKICAgID48L3BhdGg+CiAgPC9nPgo8L3N2Zz4K";
194
+ var checkbox = "";
195
+ const commonProps = {
196
+ name: {
197
+ type: String,
198
+ default: void 0
199
+ },
200
+ halfchecked: {
201
+ type: Boolean,
202
+ default: false
203
+ },
204
+ isShowTitle: {
205
+ type: Boolean,
206
+ default: true
207
+ },
208
+ title: {
209
+ type: String
210
+ },
211
+ color: {
212
+ type: String,
213
+ default: void 0
214
+ },
215
+ showAnimation: {
216
+ type: Boolean,
217
+ default: true
218
+ },
219
+ disabled: {
220
+ type: Boolean,
221
+ default: false
222
+ },
223
+ beforeChange: {
224
+ type: Function,
225
+ default: void 0
226
+ }
227
+ };
228
+ const checkboxProps = __spreadProps(__spreadValues({}, commonProps), {
229
+ halfchecked: {
230
+ type: Boolean,
231
+ default: false
232
+ },
233
+ checked: {
234
+ type: Boolean,
235
+ default: false
236
+ },
237
+ value: {
238
+ type: String
239
+ },
240
+ label: {
241
+ type: String,
242
+ default: void 0
243
+ },
244
+ title: {
245
+ type: String,
246
+ default: void 0
247
+ },
248
+ "onUpdate:checked": {
249
+ type: Function,
250
+ default: void 0
251
+ },
252
+ onChange: {
253
+ type: Function,
254
+ default: void 0
255
+ },
256
+ modelValue: {
257
+ type: Boolean
258
+ },
259
+ "onUpdate:modelValue": {
260
+ type: Function
261
+ }
262
+ });
263
+ const checkboxGroupInjectionKey = Symbol("d-checkbox-group");
264
+ var Checkbox = defineComponent({
265
+ name: "DCheckbox",
266
+ props: checkboxProps,
267
+ emits: ["change", "update:checked", "update:modelValue"],
62
268
  setup(props, ctx) {
63
- const visible = ref(false);
64
- const origin = ref();
65
- const position = reactive({
66
- originX: "left",
67
- originY: "bottom",
68
- overlayX: "left",
69
- overlayY: "top"
269
+ const checkboxGroupConf = inject(checkboxGroupInjectionKey, null);
270
+ const isChecked = computed(() => props.checked || props.modelValue);
271
+ const mergedDisabled = computed(() => {
272
+ return (checkboxGroupConf == null ? void 0 : checkboxGroupConf.disabled.value) || props.disabled;
70
273
  });
71
- const inputValue = ref("");
72
- const {
73
- treeData
74
- } = toRefs(props);
75
- const mergeClearable = computed(() => {
76
- return !props.disabled && props.allowClear && inputValue.value.length > 0;
274
+ const mergedChecked = computed(() => {
275
+ var _a, _b;
276
+ return (_b = (_a = checkboxGroupConf == null ? void 0 : checkboxGroupConf.isItemChecked) == null ? void 0 : _a.call(checkboxGroupConf, props.value)) != null ? _b : isChecked.value;
77
277
  });
78
- function toggleChange() {
79
- if (props.disabled)
80
- return;
81
- visible.value = !visible.value;
82
- ctx.emit("toggleChange", visible.value);
83
- }
84
- function valueChange(data) {
85
- if (data.isOpen !== void 0) {
86
- data.isOpen = !data.isOpen;
87
- } else {
88
- inputValue.value = data.label;
89
- visible.value = false;
90
- ctx.emit("update:modelValue", data.label);
91
- ctx.emit("toggleChange", visible.value);
278
+ const mergedIsShowTitle = computed(() => {
279
+ var _a;
280
+ return (_a = checkboxGroupConf == null ? void 0 : checkboxGroupConf.isShowTitle.value) != null ? _a : props.isShowTitle;
281
+ });
282
+ const mergedShowAnimation = computed(() => {
283
+ var _a;
284
+ return (_a = checkboxGroupConf == null ? void 0 : checkboxGroupConf.showAnimation.value) != null ? _a : props.showAnimation;
285
+ });
286
+ const mergedColor = computed(() => {
287
+ var _a;
288
+ return (_a = checkboxGroupConf == null ? void 0 : checkboxGroupConf.color.value) != null ? _a : props.color;
289
+ });
290
+ const itemWidth = checkboxGroupConf == null ? void 0 : checkboxGroupConf.itemWidth.value;
291
+ const direction = checkboxGroupConf == null ? void 0 : checkboxGroupConf.direction.value;
292
+ const canChange = (isChecked2, val) => {
293
+ var _a;
294
+ if (mergedDisabled.value) {
295
+ return Promise.resolve(false);
92
296
  }
93
- }
94
- function handleClear(e) {
95
- e.preventDefault();
96
- e.stopPropagation();
97
- if (props.multiple) {
98
- ctx.emit("update:modelValue", []);
99
- } else {
100
- ctx.emit("update:modelValue", "");
101
- inputValue.value = "";
297
+ const beforeChange = (_a = props.beforeChange) != null ? _a : checkboxGroupConf == null ? void 0 : checkboxGroupConf.beforeChange;
298
+ if (beforeChange) {
299
+ const res = beforeChange(isChecked2, val);
300
+ if (typeof res === "boolean") {
301
+ return Promise.resolve(res);
302
+ }
303
+ return res;
102
304
  }
103
- }
305
+ return Promise.resolve(true);
306
+ };
307
+ const toggle = () => {
308
+ const current = !isChecked.value;
309
+ checkboxGroupConf == null ? void 0 : checkboxGroupConf.toggleGroupVal(props.value);
310
+ ctx.emit("update:checked", current);
311
+ ctx.emit("update:modelValue", current);
312
+ ctx.emit("change", current);
313
+ };
314
+ const handleClick = () => {
315
+ canChange(!isChecked.value, props.label).then((res) => res && toggle());
316
+ };
104
317
  return {
105
- visible,
106
- origin,
107
- position,
108
- inputValue,
109
- mergeClearable,
110
- treeData,
111
- handleClear,
112
- toggleChange,
113
- valueChange
318
+ itemWidth,
319
+ direction,
320
+ mergedColor,
321
+ mergedDisabled,
322
+ mergedIsShowTitle,
323
+ mergedChecked,
324
+ mergedShowAnimation,
325
+ handleClick
114
326
  };
115
327
  },
116
328
  render() {
329
+ var _a;
330
+ const {
331
+ itemWidth,
332
+ direction,
333
+ mergedChecked,
334
+ mergedDisabled,
335
+ mergedIsShowTitle,
336
+ mergedShowAnimation,
337
+ halfchecked,
338
+ title,
339
+ label,
340
+ handleClick,
341
+ name,
342
+ value,
343
+ mergedColor,
344
+ $slots
345
+ } = this;
346
+ const wrapperCls = {
347
+ "devui-checkbox-column-margin": direction === "column",
348
+ "devui-checkbox-wrap": typeof itemWidth !== "undefined"
349
+ };
350
+ const wrapperStyle = itemWidth ? [`width: ${itemWidth}px`] : [];
351
+ const checkboxCls = {
352
+ "devui-checkbox": true,
353
+ active: mergedChecked,
354
+ halfchecked,
355
+ disabled: mergedDisabled,
356
+ unchecked: !mergedChecked
357
+ };
358
+ const labelTitle = mergedIsShowTitle ? title || label : "";
359
+ const bgImgStyle = mergedColor && halfchecked || mergedColor ? `linear-gradient(${mergedColor}, ${mergedColor})` : "";
360
+ const spanStyle = [`border-color:${(mergedChecked || halfchecked) && mergedColor ? mergedColor : ""}`, `background-image:${bgImgStyle}`, `background-color:${mergedColor && halfchecked ? mergedColor : ""}`];
361
+ const spanCls = {
362
+ "devui-checkbox-material": true,
363
+ "custom-color": mergedColor,
364
+ "devui-checkbox-no-label": !label && !$slots.default,
365
+ "devui-no-animation": !mergedShowAnimation,
366
+ "devui-checkbox-default-background": !halfchecked
367
+ };
368
+ const polygonCls = {
369
+ "devui-tick": true,
370
+ "devui-no-animation": !mergedShowAnimation
371
+ };
372
+ const stopPropagation = ($event) => $event.stopPropagation();
373
+ const inputProps = {
374
+ indeterminate: halfchecked
375
+ };
376
+ return createVNode("div", {
377
+ "class": wrapperCls,
378
+ "style": wrapperStyle
379
+ }, [createVNode("div", {
380
+ "class": checkboxCls
381
+ }, [createVNode("label", {
382
+ "title": labelTitle,
383
+ "onClick": handleClick
384
+ }, [createVNode("input", mergeProps({
385
+ "name": name || value,
386
+ "class": "devui-checkbox-input",
387
+ "type": "checkbox"
388
+ }, inputProps, {
389
+ "checked": mergedChecked,
390
+ "disabled": mergedDisabled,
391
+ "onClick": stopPropagation,
392
+ "onChange": stopPropagation
393
+ }), null), createVNode("span", {
394
+ "style": spanStyle,
395
+ "class": spanCls
396
+ }, [createVNode("span", {
397
+ "class": "devui-checkbox-halfchecked-bg"
398
+ }, null), createVNode("svg", {
399
+ "viewBox": "0 0 16 16",
400
+ "version": "1.1",
401
+ "xmlns": "http://www.w3.org/2000/svg",
402
+ "class": "devui-checkbox-tick"
403
+ }, [createVNode("g", {
404
+ "stroke": "none",
405
+ "stroke-width": "1",
406
+ "fill": "none",
407
+ "fill-rule": "evenodd"
408
+ }, [createVNode("polygon", {
409
+ "fill-rule": "nonzero",
410
+ "points": "5.17391304 6.56521739 7.7173913 9.10869565 11.826087 5 13 6.17391304 7.7173913 11.4565217 4 7.73913043",
411
+ "class": polygonCls
412
+ }, null)])])]), label || ((_a = $slots.default) == null ? void 0 : _a.call($slots))])])]);
413
+ }
414
+ });
415
+ var TreeSelect = defineComponent({
416
+ name: "DTreeSelect",
417
+ props: treeSelectProps,
418
+ emits: ["toggleChange", "valueChange", "update:modelValue"],
419
+ setup(props, ctx) {
117
420
  const {
118
- origin,
119
- position,
120
- inputValue,
121
- mergeClearable,
122
421
  treeData,
123
422
  placeholder,
124
423
  disabled,
125
- handleClear,
126
- toggleChange,
127
- valueChange
128
- } = this;
424
+ multiple,
425
+ leafOnly
426
+ } = props;
427
+ const {
428
+ visible,
429
+ selectToggle,
430
+ treeToggle
431
+ } = useToggle(props);
432
+ const {
433
+ inputValue,
434
+ selectValue
435
+ } = useSelect(props);
436
+ const {
437
+ isClearable,
438
+ handleClear
439
+ } = useClear(props, ctx, inputValue);
440
+ const clickNode = (item) => {
441
+ if (!leafOnly) {
442
+ selectValue(item);
443
+ !multiple && selectToggle(item);
444
+ } else {
445
+ if (!item.children) {
446
+ selectValue(item);
447
+ !multiple && selectToggle(item);
448
+ }
449
+ }
450
+ };
129
451
  const treeSelectCls = className("devui-tree-select", {
130
- "devui-tree-select-open": this.visible,
452
+ "devui-tree-select-open": visible.value,
131
453
  "devui-tree-select-disabled": disabled
132
454
  });
133
455
  const renderNode = (item) => createVNode("div", {
@@ -135,58 +457,61 @@ var TreeSelect = defineComponent({
135
457
  "style": {
136
458
  paddingLeft: `${20 * (item.level - 1)}px`
137
459
  },
138
- "onClick": (e) => {
139
- e.preventDefault();
140
- e.stopPropagation();
141
- valueChange(item);
142
- }
143
- }, [item.children ? createVNode("span", {
144
- "class": ["devui-tree-select-arrow-expand", item.isOpen ? "devui-tree-select-arrow-open" : ""]
145
- }, [createVNode(resolveComponent("d-icon"), {
146
- "name": "select-arrow"
147
- }, null)]) : createVNode("span", null, ["\xA0\xA0\xA0"]), item.label]);
460
+ "onClick": () => clickNode(item)
461
+ }, [item.children ? item.opened ? createVNode(IconOpen, {
462
+ "class": "mr-xs",
463
+ "onClick": (e) => treeToggle(e, item)
464
+ }, null) : createVNode(IconClose, {
465
+ "class": "mr-xs",
466
+ "onClick": (e) => treeToggle(e, item)
467
+ }, null) : createVNode("span", null, ["\xA0\xA0\xA0"]), multiple ? item.halfchecked ? createVNode(Checkbox, {
468
+ "label": item.label,
469
+ "halfchecked": item.halfchecked
470
+ }, null) : createVNode(Checkbox, {
471
+ "label": item.label,
472
+ "checked": item.checked
473
+ }, null) : item.label]);
148
474
  const renderTree = (treeData2) => {
149
475
  return treeData2.map((item) => {
150
476
  if (item.children) {
151
- return createVNode(Fragment, null, [renderNode(item), item.isOpen && renderTree(item.children)]);
477
+ return createVNode(Fragment, null, [renderNode(item), item.opened && renderTree(item.children)]);
152
478
  }
153
479
  return renderNode(item);
154
480
  });
155
481
  };
156
- return createVNode("div", {
157
- "class": treeSelectCls
158
- }, [createVNode("div", {
159
- "class": mergeClearable ? "devui-tree-select-clearable" : "",
160
- "ref": "origin",
161
- "onClick": toggleChange
162
- }, [createVNode("input", {
163
- "value": inputValue,
164
- "type": "text",
165
- "class": "devui-tree-select-input",
166
- "placeholder": placeholder,
167
- "readonly": true,
168
- "disabled": disabled
169
- }, null), createVNode("span", {
170
- "onClick": handleClear,
171
- "class": "devui-tree-select-clear"
172
- }, [createVNode(resolveComponent("d-icon"), {
173
- "name": "close"
174
- }, null)]), createVNode("span", {
175
- "class": "devui-tree-select-arrow"
176
- }, [createVNode(resolveComponent("d-icon"), {
177
- "name": "select-arrow"
178
- }, null)])]), createVNode(resolveComponent("d-flexible-overlay"), {
179
- "origin": origin,
180
- "visible": this.visible,
181
- "onUpdate:visible": ($event) => this.visible = $event,
182
- "position": position
183
- }, {
184
- default: () => [createVNode("div", {
185
- "class": "devui-tree-select-dropdown"
186
- }, [createVNode("ul", {
187
- "class": "devui-tree-select-dropdown-list"
188
- }, [renderTree(treeData)])])]
189
- })]);
482
+ return () => {
483
+ return createVNode("div", {
484
+ "class": treeSelectCls
485
+ }, [createVNode("div", {
486
+ "class": isClearable.value ? "devui-tree-select-clearable" : "devui-tree-select-notclearable",
487
+ "onClick": () => selectToggle()
488
+ }, [createVNode("input", {
489
+ "value": inputValue.value,
490
+ "type": "text",
491
+ "class": "devui-tree-select-input",
492
+ "placeholder": placeholder,
493
+ "readonly": true,
494
+ "disabled": disabled
495
+ }, null), createVNode("span", {
496
+ "onClick": (e) => handleClear(e),
497
+ "class": "devui-tree-select-clear"
498
+ }, [createVNode(resolveComponent("d-icon"), {
499
+ "name": "close"
500
+ }, null)]), createVNode("span", {
501
+ "class": "devui-tree-select-arrow"
502
+ }, [createVNode(resolveComponent("d-icon"), {
503
+ "name": "select-arrow"
504
+ }, null)])]), createVNode(Transition, {
505
+ "name": "fade",
506
+ "ref": "dropdownRef"
507
+ }, {
508
+ default: () => [withDirectives(createVNode("div", {
509
+ "class": "devui-tree-select-dropdown"
510
+ }, [createVNode("ul", {
511
+ "class": "devui-tree-select-dropdown-list"
512
+ }, [renderTree(attributeExtension(treeData))])]), [[vShow, visible.value]])]
513
+ })]);
514
+ };
190
515
  }
191
516
  });
192
517
  TreeSelect.install = function(app) {
@@ -195,7 +520,7 @@ TreeSelect.install = function(app) {
195
520
  var index = {
196
521
  title: "TreeSelect \u6811\u5F62\u9009\u62E9\u6846",
197
522
  category: "\u6570\u636E\u5F55\u5165",
198
- status: void 0,
523
+ status: "20%",
199
524
  install(app) {
200
525
  app.use(TreeSelect);
201
526
  }
@@ -1 +1 @@
1
- (function(o,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(o=typeof globalThis!="undefined"?globalThis:o||self,e(o.index={},o.Vue))})(this,function(o,e){"use strict";var V="";const b={modelValue:{type:[String,Number,Array],default:""},treeData:{type:Array,default:()=>[]},placeholder:{type:String,default:"\u8BF7\u9009\u62E9"},disabled:{type:Boolean,default:!1},expandTree:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},leafOnly:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!1},onToggleChange:{type:Function,default:void 0},onValueChange:{type:Function,default:void 0}};function y(l,t){let a=l;return typeof t=="object"&&Object.keys(t).forEach(d=>{t[d]&&(a+=` ${d}`)}),a}var u=e.defineComponent({name:"DTreeSelect",props:b,emits:["toggleChange","valueChange","update:modelValue"],setup(l,t){const a=e.ref(!1),d=e.ref(),p=e.reactive({originX:"left",originY:"bottom",overlayX:"left",overlayY:"top"}),s=e.ref(""),{treeData:c}=e.toRefs(l),f=e.computed(()=>!l.disabled&&l.allowClear&&s.value.length>0);function g(){l.disabled||(a.value=!a.value,t.emit("toggleChange",a.value))}function m(n){n.isOpen!==void 0?n.isOpen=!n.isOpen:(s.value=n.label,a.value=!1,t.emit("update:modelValue",n.label),t.emit("toggleChange",a.value))}function h(n){n.preventDefault(),n.stopPropagation(),l.multiple?t.emit("update:modelValue",[]):(t.emit("update:modelValue",""),s.value="")}return{visible:a,origin:d,position:p,inputValue:s,mergeClearable:f,treeData:c,handleClear:h,toggleChange:g,valueChange:m}},render(){const{origin:l,position:t,inputValue:a,mergeClearable:d,treeData:p,placeholder:s,disabled:c,handleClear:f,toggleChange:g,valueChange:m}=this,h=y("devui-tree-select",{"devui-tree-select-open":this.visible,"devui-tree-select-disabled":c}),n=r=>e.createVNode("div",{class:"devui-tree-select-item",style:{paddingLeft:`${20*(r.level-1)}px`},onClick:i=>{i.preventDefault(),i.stopPropagation(),m(r)}},[r.children?e.createVNode("span",{class:["devui-tree-select-arrow-expand",r.isOpen?"devui-tree-select-arrow-open":""]},[e.createVNode(e.resolveComponent("d-icon"),{name:"select-arrow"},null)]):e.createVNode("span",null,["\xA0\xA0\xA0"]),r.label]),v=r=>r.map(i=>i.children?e.createVNode(e.Fragment,null,[n(i),i.isOpen&&v(i.children)]):n(i));return e.createVNode("div",{class:h},[e.createVNode("div",{class:d?"devui-tree-select-clearable":"",ref:"origin",onClick:g},[e.createVNode("input",{value:a,type:"text",class:"devui-tree-select-input",placeholder:s,readonly:!0,disabled:c},null),e.createVNode("span",{onClick:f,class:"devui-tree-select-clear"},[e.createVNode(e.resolveComponent("d-icon"),{name:"close"},null)]),e.createVNode("span",{class:"devui-tree-select-arrow"},[e.createVNode(e.resolveComponent("d-icon"),{name:"select-arrow"},null)])]),e.createVNode(e.resolveComponent("d-flexible-overlay"),{origin:l,visible:this.visible,"onUpdate:visible":r=>this.visible=r,position:t},{default:()=>[e.createVNode("div",{class:"devui-tree-select-dropdown"},[e.createVNode("ul",{class:"devui-tree-select-dropdown-list"},[v(p)])])]})])}});u.install=function(l){l.component(u.name,u)};var C={title:"TreeSelect \u6811\u5F62\u9009\u62E9\u6846",category:"\u6570\u636E\u5F55\u5165",status:void 0,install(l){l.use(u)}};o.TreeSelect=u,o.default=C,Object.defineProperty(o,"__esModule",{value:!0}),o[Symbol.toStringTag]="Module"});
1
+ var J=Object.defineProperty,Y=Object.defineProperties;var Q=Object.getOwnPropertyDescriptors;var B=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var T=(i,e,f)=>e in i?J(i,e,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[e]=f,M=(i,e)=>{for(var f in e||(e={}))$.call(e,f)&&T(i,f,e[f]);if(B)for(var f of B(e))G.call(e,f)&&T(i,f,e[f]);return i},j=(i,e)=>Y(i,Q(e));(function(i,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(i=typeof globalThis!="undefined"?globalThis:i||self,e(i.index={},i.Vue))})(this,function(i,e){"use strict";var f="";const A={modelValue:{type:[String,Number,Array],default:""},treeData:{type:Array,default:()=>[]},placeholder:{type:String,default:"\u8BF7\u9009\u62E9"},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},leafOnly:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!1},onToggleChange:{type:Function,default:void 0},onValueChange:{type:Function,default:void 0}};function D(t){return t.forEach(c=>{let l=1;c.level=l;const r=[];for(r.push(c);r.length!==0;){const s=r.shift();s.children&&s.children.forEach(o=>{o.level=l+1,o.parent=s,r.push(o)}),l+=1}}),t}function P(t,c){let l=t;return typeof c=="object"&&Object.keys(c).forEach(r=>{c[r]&&(l+=` ${r}`)}),l}function Z(t){const c=e.ref(!1);return{visible:c,selectToggle:()=>{t.disabled||(c.value=!c.value)},treeToggle:(s,o)=>{s.preventDefault(),s.stopPropagation(),o.opened=!o.opened}}}function L(t){const c=e.ref(""),l=new Set,r=a=>{t.multiple?(a.checked=!a.checked,a.halfchecked&&(a.halfchecked=!1),s(a),o(a),h(a),c.value=[...l].toString()):c.value=a.label},s=a=>{a.checked===!0?l.add(a.label):l.has(a.label)&&l.delete(a.label)},o=a=>{if(!a.parent)return;let u="";switch(a.parent.children.filter(I=>I.checked===!0).length){case 0:u="none";break;case a.parent.children.length:u="checked";break;default:u="halfchecked";break}u==="checked"?(a.parent.checked=!0,a.parent.halfchecked=!1):u==="halfchecked"?(a.parent.halfchecked=!0,a.parent.checked=!1):(a.parent.checked=!1,a.parent.halfchecked=!1),s(a.parent),o(a.parent)},h=a=>{!a.children||a.children.forEach(u=>{u.checked=a.checked,s(u),h(u)})};return{inputValue:c,selectValue:r}}function W(t,c,l){return{isClearable:e.computed(()=>!t.disabled&&t.allowClear&&l.value.length>0),handleClear:o=>{o.preventDefault(),o.stopPropagation(),t.multiple?c.emit("update:modelValue",[]):(c.emit("update:modelValue",""),l.value="")}}}var x="data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSIxNnB4IgogIGhlaWdodD0iMTZweCIKICB2aWV3Qm94PSIwIDAgMTYgMTYiCiAgdmVyc2lvbj0iMS4xIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICBjbGFzcz0ic3ZnLWljb24gc3ZnLWljb24tY2xvc2UiCj4KICA8ZyBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiByeD0iMiIgc3Ryb2tlPSIjNWU3Y2UwIj48L3JlY3Q+CiAgICA8cmVjdCB4PSI0IiB5PSI3IiB3aWR0aD0iOCIgaGVpZ2h0PSIyIiBmaWxsPSIjNWU3Y2UwIj48L3JlY3Q+CiAgPC9nPgo8L3N2Zz4=",H="data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSIxNnB4IgogIGhlaWdodD0iMTZweCIKICB2aWV3Qm94PSIwIDAgMTYgMTYiCiAgdmVyc2lvbj0iMS4xIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICBjbGFzcz0ic3ZnLWljb24iCj4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxyZWN0IHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHJ4PSIyIiBzdHJva2U9IiMyNTJiM2EiPjwvcmVjdD4KICAgIDxwYXRoCiAgICAgIGZpbGw9IiMyNTJiM2EiCiAgICAgIGQ9Ik04Ljc1LDQgTDguNzUsNy4yNSBMMTIsNy4yNSBMMTIsOC43NSBMOC43NDksOC43NSBMOC43NSwxMiBMNy4yNSwxMiBMNy4yNDksOC43NSBMNCw4Ljc1IEw0LDcuMjUgTDcuMjUsNy4yNSBMNy4yNSw0IEw4Ljc1LDQgWiIKICAgID48L3BhdGg+CiAgPC9nPgo8L3N2Zz4K",X="";const z=j(M({},{name:{type:String,default:void 0},halfchecked:{type:Boolean,default:!1},isShowTitle:{type:Boolean,default:!0},title:{type:String},color:{type:String,default:void 0},showAnimation:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},beforeChange:{type:Function,default:void 0}}),{halfchecked:{type:Boolean,default:!1},checked:{type:Boolean,default:!1},value:{type:String},label:{type:String,default:void 0},title:{type:String,default:void 0},"onUpdate:checked":{type:Function,default:void 0},onChange:{type:Function,default:void 0},modelValue:{type:Boolean},"onUpdate:modelValue":{type:Function}}),U=Symbol("d-checkbox-group");var S=e.defineComponent({name:"DCheckbox",props:z,emits:["change","update:checked","update:modelValue"],setup(t,c){const l=e.inject(U,null),r=e.computed(()=>t.checked||t.modelValue),s=e.computed(()=>(l==null?void 0:l.disabled.value)||t.disabled),o=e.computed(()=>{var d,y;return(y=(d=l==null?void 0:l.isItemChecked)==null?void 0:d.call(l,t.value))!=null?y:r.value}),h=e.computed(()=>{var d;return(d=l==null?void 0:l.isShowTitle.value)!=null?d:t.isShowTitle}),a=e.computed(()=>{var d;return(d=l==null?void 0:l.showAnimation.value)!=null?d:t.showAnimation}),u=e.computed(()=>{var d;return(d=l==null?void 0:l.color.value)!=null?d:t.color}),b=l==null?void 0:l.itemWidth.value,I=l==null?void 0:l.direction.value,k=(d,y)=>{var v;if(s.value)return Promise.resolve(!1);const C=(v=t.beforeChange)!=null?v:l==null?void 0:l.beforeChange;if(C){const n=C(d,y);return typeof n=="boolean"?Promise.resolve(n):n}return Promise.resolve(!0)},g=()=>{const d=!r.value;l==null||l.toggleGroupVal(t.value),c.emit("update:checked",d),c.emit("update:modelValue",d),c.emit("change",d)};return{itemWidth:b,direction:I,mergedColor:u,mergedDisabled:s,mergedIsShowTitle:h,mergedChecked:o,mergedShowAnimation:a,handleClick:()=>{k(!r.value,t.label).then(d=>d&&g())}}},render(){var V;const{itemWidth:t,direction:c,mergedChecked:l,mergedDisabled:r,mergedIsShowTitle:s,mergedShowAnimation:o,halfchecked:h,title:a,label:u,handleClick:b,name:I,value:k,mergedColor:g,$slots:m}=this,d={"devui-checkbox-column-margin":c==="column","devui-checkbox-wrap":typeof t!="undefined"},y=t?[`width: ${t}px`]:[],C={"devui-checkbox":!0,active:l,halfchecked:h,disabled:r,unchecked:!l},v=s?a||u:"",n=g&&h||g?`linear-gradient(${g}, ${g})`:"",p=[`border-color:${(l||h)&&g?g:""}`,`background-image:${n}`,`background-color:${g&&h?g:""}`],K={"devui-checkbox-material":!0,"custom-color":g,"devui-checkbox-no-label":!u&&!m.default,"devui-no-animation":!o,"devui-checkbox-default-background":!h},O={"devui-tick":!0,"devui-no-animation":!o},w=F=>F.stopPropagation(),R={indeterminate:h};return e.createVNode("div",{class:d,style:y},[e.createVNode("div",{class:C},[e.createVNode("label",{title:v,onClick:b},[e.createVNode("input",e.mergeProps({name:I||k,class:"devui-checkbox-input",type:"checkbox"},R,{checked:l,disabled:r,onClick:w,onChange:w}),null),e.createVNode("span",{style:p,class:K},[e.createVNode("span",{class:"devui-checkbox-halfchecked-bg"},null),e.createVNode("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg",class:"devui-checkbox-tick"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("polygon",{"fill-rule":"nonzero",points:"5.17391304 6.56521739 7.7173913 9.10869565 11.826087 5 13 6.17391304 7.7173913 11.4565217 4 7.73913043",class:O},null)])])]),u||((V=m.default)==null?void 0:V.call(m))])])])}}),N=e.defineComponent({name:"DTreeSelect",props:A,emits:["toggleChange","valueChange","update:modelValue"],setup(t,c){const{treeData:l,placeholder:r,disabled:s,multiple:o,leafOnly:h}=t,{visible:a,selectToggle:u,treeToggle:b}=Z(t),{inputValue:I,selectValue:k}=L(t),{isClearable:g,handleClear:m}=W(t,c,I),d=n=>{h&&n.children||(k(n),!o&&u(n))},y=P("devui-tree-select",{"devui-tree-select-open":a.value,"devui-tree-select-disabled":s}),C=n=>e.createVNode("div",{class:"devui-tree-select-item",style:{paddingLeft:`${20*(n.level-1)}px`},onClick:()=>d(n)},[n.children?n.opened?e.createVNode(x,{class:"mr-xs",onClick:p=>b(p,n)},null):e.createVNode(H,{class:"mr-xs",onClick:p=>b(p,n)},null):e.createVNode("span",null,["\xA0\xA0\xA0"]),o?n.halfchecked?e.createVNode(S,{label:n.label,halfchecked:n.halfchecked},null):e.createVNode(S,{label:n.label,checked:n.checked},null):n.label]),v=n=>n.map(p=>p.children?e.createVNode(e.Fragment,null,[C(p),p.opened&&v(p.children)]):C(p));return()=>e.createVNode("div",{class:y},[e.createVNode("div",{class:g.value?"devui-tree-select-clearable":"devui-tree-select-notclearable",onClick:()=>u()},[e.createVNode("input",{value:I.value,type:"text",class:"devui-tree-select-input",placeholder:r,readonly:!0,disabled:s},null),e.createVNode("span",{onClick:n=>m(n),class:"devui-tree-select-clear"},[e.createVNode(e.resolveComponent("d-icon"),{name:"close"},null)]),e.createVNode("span",{class:"devui-tree-select-arrow"},[e.createVNode(e.resolveComponent("d-icon"),{name:"select-arrow"},null)])]),e.createVNode(e.Transition,{name:"fade",ref:"dropdownRef"},{default:()=>[e.withDirectives(e.createVNode("div",{class:"devui-tree-select-dropdown"},[e.createVNode("ul",{class:"devui-tree-select-dropdown-list"},[v(D(l))])]),[[e.vShow,a.value]])]})])}});N.install=function(t){t.component(N.name,N)};var E={title:"TreeSelect \u6811\u5F62\u9009\u62E9\u6846",category:"\u6570\u636E\u5F55\u5165",status:"20%",install(t){t.use(N)}};i.TreeSelect=N,i.default=E,Object.defineProperty(i,"__esModule",{value:!0}),i[Symbol.toStringTag]="Module"});
@@ -1 +1 @@
1
- .devui-tree-select{position:relative;width:100%}.devui-tree-select-disabled{cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);border-color:var(--devui-disabled-line, #dfe1e6);color:var(--devui-disabled-text, #adb0b8)}.devui-tree-select-disabled .devui-tree-select-input{cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);border-color:var(--devui-disabled-line, #dfe1e6);color:var(--devui-disabled-text, #adb0b8)}.devui-tree-select-disabled .devui-tree-select-arrow{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-tree-select-open .devui-tree-select-arrow{transform:rotate(180deg)}.devui-tree-select-input{cursor:pointer;width:100%;height:28px;padding:4px 28px 4px 10px;color:var(--devui-text, #252b3a);vertical-align:middle;border:1px solid var(--devui-form-control-line, #adb0b8);border-radius:var(--devui-border-radius, 2px);outline:none;background-color:var(--devui-base-bg, #ffffff)}.devui-tree-select-dropdown{border-radius:var(--devui-border-radius, 2px);background:var(--devui-base-bg, #ffffff);box-shadow:0 2px 5px 0 var(--devui-shadow, rgba(0, 0, 0, .2))}.devui-tree-select-dropdown-list{max-height:300px;overflow-y:auto;padding:0;margin:0}.devui-tree-select-item{font-size:16px;display:block;min-height:36px;line-height:1.5;width:100%;padding:10px;clear:both;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:0;color:var(--devui-text, #252b3a);cursor:pointer}.devui-tree-select-item:hover:not(.active):not(.disabled){color:var(--devui-list-item-hover-text, #526ecc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-tree-select-clearable:hover .devui-tree-select-clear{display:inline-flex}.devui-tree-select-clearable:hover .devui-tree-select-arrow{display:none}.devui-tree-select-clear,.devui-tree-select-arrow{position:absolute;right:0;height:100%;width:28px;display:inline-flex;justify-content:center;align-items:center}.devui-tree-select-clear{display:none}.devui-tree-select-clear:hover{cursor:pointer;color:var(--devui-icon-fill-active, #5e7ce0)}.devui-tree-select-arrow-expand{display:inline-flex;justify-content:center;align-items:center;transform:rotate(270deg)}.devui-tree-select-arrow-open{transform:rotate(0)}
1
+ .devui-tree-select{position:relative;width:100%}.devui-tree-select-disabled{cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);border-color:var(--devui-disabled-line, #dfe1e6);color:var(--devui-disabled-text, #adb0b8)}.devui-tree-select-disabled .devui-tree-select-input{cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);border-color:var(--devui-disabled-line, #dfe1e6);color:var(--devui-disabled-text, #adb0b8)}.devui-tree-select-disabled .devui-tree-select-arrow{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-tree-select-open .devui-tree-select-arrow{transform:rotate(180deg)}.devui-tree-select-input{cursor:pointer;width:100%;height:28px;padding:4px 28px 4px 10px;color:var(--devui-text, #252b3a);vertical-align:middle;border:1px solid var(--devui-form-control-line, #adb0b8);border-radius:var(--devui-border-radius, 2px);outline:none;background-color:var(--devui-base-bg, #ffffff)}.devui-tree-select-dropdown{border-radius:var(--devui-border-radius, 2px);background:var(--devui-base-bg, #ffffff);box-shadow:0 2px 5px 0 var(--devui-shadow, rgba(0, 0, 0, .2))}.devui-tree-select-dropdown-list{max-height:300px;overflow-y:auto;padding:0;margin:0}.devui-tree-select-item{font-size:16px;display:inline-flex;min-height:36px;line-height:1.5;width:100%;padding:10px;clear:both;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:0;color:var(--devui-text, #252b3a);cursor:pointer;align-items:center}.devui-tree-select-item:hover:not(.active):not(.disabled){color:var(--devui-list-item-hover-text, #526ecc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-tree-select-clearable{position:relative}.devui-tree-select-clearable:hover .devui-tree-select-clear{display:inline-flex}.devui-tree-select-clearable:hover .devui-tree-select-arrow{display:none}.devui-tree-select-notclearable{position:relative}.devui-tree-select-clear,.devui-tree-select-arrow{position:absolute;right:0;height:100%;width:28px;display:inline-flex;justify-content:center;align-items:center}.devui-tree-select-clear{display:none}.devui-tree-select-clear:hover{cursor:pointer;color:var(--devui-icon-fill-active, #5e7ce0)}.devui-checkbox{position:relative;display:flex;display:-ms-flexbox;align-items:center;-ms-flex-align:center;height:100%;margin:0}.devui-checkbox .devui-checkbox-tick{position:absolute}.devui-checkbox .devui-checkbox-tick .devui-tick{fill:var(--devui-light-text, #ffffff);stroke-dashoffset:50;opacity:0;transform:scale(0);transform-origin:50% 50%;transition:stroke-dashoffset .2s ease-in-out,opacity .2s ease-in-out,transform .2s ease-in-out}.devui-checkbox.active:not(.halfchecked) .devui-tick{opacity:1;stroke-dashoffset:0;transform:scale(1);transition:stroke-dashoffset .3s cubic-bezier(.755,.05,.855,.06),opacity .2s cubic-bezier(.755,.05,.855,.06)}.devui-checkbox.active:not(.disabled) .devui-checkbox-material:not(.custom-color),.devui-checkbox.halfchecked:not(.disabled) .devui-checkbox-material:not(.custom-color){border-color:var(--devui-brand, #5e7ce0)}.devui-checkbox.active:not(.disabled) .devui-checkbox-material{background-size:100% 100%;transition:background-size .2s ease-in-out,border-color .2s ease-in-out}.devui-checkbox.unchecked:not(.disabled) .devui-checkbox-material:not(.custom-color){background-size:0% 0%;transition:background-size .2s ease-in-out,border-color .2s ease-in-out}.devui-checkbox.unchecked:not(.disabled) .devui-checkbox-material:not(.custom-color):hover{border-color:var(--devui-icon-fill-active, #5e7ce0)}.devui-checkbox.unchecked:not(.disabled) .devui-checkbox-material.custom-color{background-size:0% 0%;transition:background-size .2s ease-in-out,border-color .2s ease-in-out}.devui-checkbox.halfchecked .devui-checkbox-material:not(.custom-color){background-color:var(--devui-brand, #5e7ce0)}.devui-checkbox.halfchecked .devui-checkbox-material:not(.custom-color)>.devui-checkbox-halfchecked-bg{opacity:1;transform:scale(.4288);transition:transform .2s cubic-bezier(.755,.05,.855,.06);background-color:var(--devui-light-text, #ffffff)}.devui-checkbox.halfchecked .devui-checkbox-material.custom-color>.devui-checkbox-halfchecked-bg{opacity:1;transform:scale(.4288);transition:transform .2s cubic-bezier(.755,.05,.855,.06);background-color:var(--devui-light-text, #ffffff)}.devui-checkbox .devui-checkbox-material{text-align:initial;height:14px;width:14px;position:relative;user-select:none;border:1px solid var(--devui-line, #adb0b8);border-radius:var(--devui-border-radius, 2px);background:linear-gradient(var(--devui-brand, #5e7ce0),var(--devui-brand, #5e7ce0)) no-repeat center/0%;margin-right:8px;vertical-align:text-bottom}.devui-checkbox .devui-checkbox-material.devui-checkbox-default-background{background-color:var(--devui-base-bg, #ffffff)}.devui-checkbox .devui-checkbox-material.devui-checkbox-no-label{margin-right:0}.devui-checkbox .devui-checkbox-material>.devui-checkbox-halfchecked-bg{display:inline-block;position:absolute;content:"";background-color:var(--devui-light-text, #ffffff);top:0;left:0;height:100%;width:100%;transform:scale(1);opacity:0}.devui-checkbox .devui-checkbox-material>svg{width:14px;height:14px}.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):focus,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):active,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):hover{background-color:var(--devui-icon-fill-active, #5e7ce0)}.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):active,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):focus,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):hover:active,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):hover:focus{background-color:var(--devui-brand-active-focus, #344899)}.devui-checkbox-input{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.devui-checkbox label{position:relative;font-weight:normal;height:16px;line-height:16px;cursor:pointer;color:var(--devui-text, #252b3a);margin:0;display:block}.devui-checkbox label>span{display:inline-block;box-sizing:content-box;vertical-align:top}.devui-checkbox.disabled label{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-checkbox.disabled .devui-checkbox-material{border-color:var(--devui-icon-fill-active-disabled, #beccfa);background-color:var(--devui-icon-fill-active-disabled, #beccfa)}.devui-checkbox.disabled.unchecked .devui-checkbox-material{border-color:var(--devui-disabled-line, #dfe1e6);background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-checkbox.disabled.halfchecked .devui-checkbox-material{background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-checkbox.disabled.halfchecked .devui-checkbox-material .devui-checkbox-halfchecked-bg{transform:scale(.4288);background-color:var(--devui-disabled-text, #adb0b8);opacity:1}.devui-checkbox.disabled.active svg polygon{fill:var(--devui-light-text, #ffffff)}.devui-no-animation{transition:none!important}.devui-checkbox-column-margin{height:28px;line-height:28px}.devui-checkbox-wrap .devui-checkbox label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}