vue-devui 1.0.0-rc.0 → 1.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +55 -113
  2. package/alert/index.es.js +28 -30
  3. package/alert/index.umd.js +1 -1
  4. package/auto-complete/index.es.js +143 -103
  5. package/auto-complete/index.umd.js +5 -1
  6. package/auto-complete/style.css +1 -1
  7. package/avatar/index.es.js +77 -81
  8. package/avatar/index.umd.js +1 -1
  9. package/badge/index.es.js +1 -1
  10. package/badge/index.umd.js +1 -1
  11. package/badge/style.css +1 -1
  12. package/button/index.es.js +43 -43
  13. package/button/index.umd.js +1 -1
  14. package/card/index.es.js +3 -6
  15. package/card/index.umd.js +1 -1
  16. package/checkbox/index.es.js +5 -11
  17. package/checkbox/index.umd.js +1 -1
  18. package/comment/index.es.js +2 -5
  19. package/comment/index.umd.js +1 -1
  20. package/countdown/index.es.js +5 -7
  21. package/countdown/index.umd.js +1 -1
  22. package/editable-select/index.es.js +124 -168
  23. package/editable-select/index.umd.js +1 -1
  24. package/fullscreen/index.es.js +13 -16
  25. package/fullscreen/index.umd.js +1 -1
  26. package/grid/index.es.js +30 -36
  27. package/grid/index.umd.js +1 -1
  28. package/icon/index.es.js +39 -57
  29. package/icon/index.umd.js +1 -1
  30. package/image-preview/index.es.js +21 -20
  31. package/image-preview/index.umd.js +1 -1
  32. package/input/index.es.js +2 -5
  33. package/input/index.umd.js +1 -1
  34. package/layout/index.es.js +6 -21
  35. package/layout/index.umd.js +1 -1
  36. package/loading/index.es.js +20 -12
  37. package/loading/index.umd.js +1 -1
  38. package/modal/index.es.js +135 -122
  39. package/modal/index.umd.js +1 -1
  40. package/modal/style.css +1 -1
  41. package/notification/index.es.js +38 -40
  42. package/notification/index.umd.js +1 -1
  43. package/nuxt/components/DropdownPropsKey.js +3 -0
  44. package/nuxt/components/PanelBody.js +3 -0
  45. package/nuxt/components/PanelFooter.js +3 -0
  46. package/nuxt/components/PanelHeader.js +3 -0
  47. package/nuxt/components/Timeline.js +3 -0
  48. package/nuxt/components/TimelineItem.js +3 -0
  49. package/nuxt/components/alertProps.js +3 -0
  50. package/nuxt/components/autoCompleteProps.js +3 -0
  51. package/nuxt/components/avatarProps.js +3 -0
  52. package/nuxt/components/cardProps.js +3 -0
  53. package/nuxt/components/checkboxGroupInjectionKey.js +3 -0
  54. package/nuxt/components/checkboxGroupProps.js +3 -0
  55. package/nuxt/components/checkboxProps.js +3 -0
  56. package/nuxt/components/colProps.js +3 -0
  57. package/nuxt/components/colPropsBaseClass.js +3 -0
  58. package/nuxt/components/colPropsBaseStyle.js +3 -0
  59. package/nuxt/components/commentProps.js +3 -0
  60. package/nuxt/components/countdownProps.js +3 -0
  61. package/nuxt/components/editableSelectProps.js +3 -0
  62. package/nuxt/components/fullscreenProps.js +3 -0
  63. package/nuxt/components/iconProps.js +2 -0
  64. package/nuxt/components/imagePreviewProps.js +3 -0
  65. package/nuxt/components/inputProps.js +3 -0
  66. package/nuxt/components/paginationProps.js +3 -0
  67. package/nuxt/components/panelProps.js +3 -0
  68. package/nuxt/components/progressProps.js +3 -0
  69. package/nuxt/components/rateProps.js +3 -0
  70. package/nuxt/components/readTipProps.js +3 -0
  71. package/nuxt/components/resultProps.js +3 -0
  72. package/nuxt/components/rowProps.js +3 -0
  73. package/nuxt/components/screenSizes.js +3 -0
  74. package/nuxt/components/searchProps.js +3 -0
  75. package/nuxt/components/skeletonProps.js +3 -0
  76. package/nuxt/components/splitterProps.js +3 -0
  77. package/nuxt/components/statisticProps.js +3 -0
  78. package/nuxt/components/switchProps.js +3 -0
  79. package/nuxt/components/tagInputProps.js +3 -0
  80. package/nuxt/components/tagProps.js +3 -0
  81. package/nuxt/components/textareaProps.js +3 -0
  82. package/nuxt/components/timeAxisProps.js +3 -0
  83. package/overlay/index.es.js +49 -42
  84. package/overlay/index.umd.js +1 -1
  85. package/overlay/style.css +1 -1
  86. package/package.json +8 -43
  87. package/pagination/index.es.js +24 -25
  88. package/pagination/index.umd.js +1 -1
  89. package/panel/index.es.js +45 -32
  90. package/panel/index.umd.js +1 -1
  91. package/popover/index.es.js +51 -44
  92. package/popover/index.umd.js +12 -12
  93. package/popover/style.css +1 -1
  94. package/progress/index.es.js +34 -36
  95. package/progress/index.umd.js +3 -3
  96. package/progress/style.css +1 -1
  97. package/radio/index.es.js +11 -11
  98. package/radio/index.umd.js +1 -1
  99. package/radio/style.css +1 -1
  100. package/rate/index.es.js +4 -7
  101. package/rate/index.umd.js +1 -1
  102. package/read-tip/index.es.js +8 -8
  103. package/read-tip/index.umd.js +1 -1
  104. package/result/index.es.js +40 -58
  105. package/result/index.umd.js +1 -1
  106. package/ripple/index.es.js +47 -42
  107. package/ripple/index.umd.js +1 -1
  108. package/search/index.es.js +13 -16
  109. package/search/index.umd.js +8 -8
  110. package/skeleton/index.es.js +20 -23
  111. package/skeleton/index.umd.js +1 -1
  112. package/slider/index.es.js +60 -59
  113. package/slider/index.umd.js +1 -1
  114. package/splitter/index.es.js +223 -171
  115. package/splitter/index.umd.js +13 -13
  116. package/splitter/style.css +1 -1
  117. package/statistic/index.es.js +7 -18
  118. package/statistic/index.umd.js +1 -1
  119. package/status/index.es.js +1 -4
  120. package/status/index.umd.js +1 -1
  121. package/status/style.css +1 -1
  122. package/style.css +1 -1
  123. package/switch/index.es.js +3 -6
  124. package/switch/index.umd.js +1 -1
  125. package/tag/index.es.js +15 -18
  126. package/tag/index.umd.js +1 -1
  127. package/tag/style.css +1 -1
  128. package/tag-input/index.es.js +7 -8
  129. package/tag-input/index.umd.js +1 -1
  130. package/textarea/index.es.js +2 -5
  131. package/textarea/index.umd.js +1 -1
  132. package/{accordion → timeline}/index.d.ts +0 -0
  133. package/{time-axis → timeline}/index.es.js +64 -83
  134. package/timeline/index.umd.js +1 -0
  135. package/{anchor → timeline}/package.json +1 -1
  136. package/timeline/style.css +1 -0
  137. package/upload/index.es.js +98 -97
  138. package/upload/index.umd.js +1 -1
  139. package/vue-devui.es.js +12477 -24991
  140. package/vue-devui.umd.js +24 -20
  141. package/accordion/index.es.js +0 -720
  142. package/accordion/index.umd.js +0 -1
  143. package/accordion/package.json +0 -7
  144. package/accordion/style.css +0 -1
  145. package/anchor/index.d.ts +0 -7
  146. package/anchor/index.es.js +0 -263
  147. package/anchor/index.umd.js +0 -1
  148. package/anchor/style.css +0 -1
  149. package/back-top/index.d.ts +0 -7
  150. package/back-top/index.es.js +0 -128
  151. package/back-top/index.umd.js +0 -1
  152. package/back-top/package.json +0 -7
  153. package/back-top/style.css +0 -1
  154. package/breadcrumb/index.d.ts +0 -7
  155. package/breadcrumb/index.es.js +0 -127
  156. package/breadcrumb/index.umd.js +0 -1
  157. package/breadcrumb/package.json +0 -7
  158. package/breadcrumb/style.css +0 -1
  159. package/carousel/index.d.ts +0 -7
  160. package/carousel/index.es.js +0 -329
  161. package/carousel/index.umd.js +0 -1
  162. package/carousel/package.json +0 -7
  163. package/carousel/style.css +0 -1
  164. package/cascader/index.d.ts +0 -7
  165. package/cascader/index.es.js +0 -5963
  166. package/cascader/index.umd.js +0 -27
  167. package/cascader/package.json +0 -7
  168. package/cascader/style.css +0 -1
  169. package/color-picker/index.d.ts +0 -7
  170. package/color-picker/index.es.js +0 -8187
  171. package/color-picker/index.umd.js +0 -27
  172. package/color-picker/package.json +0 -7
  173. package/color-picker/style.css +0 -1
  174. package/date-picker/index.d.ts +0 -7
  175. package/date-picker/index.es.js +0 -1171
  176. package/date-picker/index.umd.js +0 -1
  177. package/date-picker/package.json +0 -7
  178. package/date-picker/style.css +0 -1
  179. package/dragdrop/index.d.ts +0 -7
  180. package/dragdrop/index.es.js +0 -157
  181. package/dragdrop/index.umd.js +0 -1
  182. package/dragdrop/package.json +0 -7
  183. package/drawer/index.d.ts +0 -7
  184. package/drawer/index.es.js +0 -234
  185. package/drawer/index.umd.js +0 -1
  186. package/drawer/package.json +0 -7
  187. package/drawer/style.css +0 -1
  188. package/dropdown/index.d.ts +0 -7
  189. package/dropdown/index.es.js +0 -638
  190. package/dropdown/index.umd.js +0 -1
  191. package/dropdown/package.json +0 -7
  192. package/dropdown/style.css +0 -1
  193. package/form/index.d.ts +0 -7
  194. package/form/index.es.js +0 -7865
  195. package/form/index.umd.js +0 -27
  196. package/form/package.json +0 -7
  197. package/form/style.css +0 -1
  198. package/gantt/index.d.ts +0 -7
  199. package/gantt/index.es.js +0 -523
  200. package/gantt/index.umd.js +0 -1
  201. package/gantt/package.json +0 -7
  202. package/gantt/style.css +0 -1
  203. package/input-icon/index.d.ts +0 -7
  204. package/input-icon/index.es.js +0 -331
  205. package/input-icon/index.umd.js +0 -1
  206. package/input-icon/package.json +0 -7
  207. package/input-icon/style.css +0 -1
  208. package/input-number/index.d.ts +0 -7
  209. package/input-number/index.es.js +0 -240
  210. package/input-number/index.umd.js +0 -1
  211. package/input-number/package.json +0 -7
  212. package/input-number/style.css +0 -1
  213. package/list/index.d.ts +0 -7
  214. package/list/index.es.js +0 -39
  215. package/list/index.umd.js +0 -1
  216. package/list/package.json +0 -7
  217. package/list/style.css +0 -1
  218. package/nav-sprite/index.d.ts +0 -7
  219. package/nav-sprite/index.es.js +0 -68
  220. package/nav-sprite/index.umd.js +0 -1
  221. package/nav-sprite/package.json +0 -7
  222. package/nuxt/components/Accordion.js +0 -3
  223. package/nuxt/components/Anchor.js +0 -3
  224. package/nuxt/components/BackTop.js +0 -3
  225. package/nuxt/components/Breadcrumb.js +0 -3
  226. package/nuxt/components/Carousel.js +0 -3
  227. package/nuxt/components/CarouselItem.js +0 -3
  228. package/nuxt/components/Cascader.js +0 -3
  229. package/nuxt/components/ColorPicker.js +0 -3
  230. package/nuxt/components/Column.js +0 -3
  231. package/nuxt/components/DatePicker.js +0 -3
  232. package/nuxt/components/Drawer.js +0 -3
  233. package/nuxt/components/DrawerService.js +0 -3
  234. package/nuxt/components/Dropdown.js +0 -3
  235. package/nuxt/components/DropdownMenu.js +0 -3
  236. package/nuxt/components/Form.js +0 -3
  237. package/nuxt/components/FormControl.js +0 -3
  238. package/nuxt/components/FormItem.js +0 -3
  239. package/nuxt/components/FormLabel.js +0 -3
  240. package/nuxt/components/FormOperation.js +0 -3
  241. package/nuxt/components/Gantt.js +0 -3
  242. package/nuxt/components/InputIcon.js +0 -3
  243. package/nuxt/components/InputNumber.js +0 -3
  244. package/nuxt/components/List.js +0 -3
  245. package/nuxt/components/ListItem.js +0 -3
  246. package/nuxt/components/NavSprite.js +0 -2
  247. package/nuxt/components/QuadrantDiagram.js +0 -3
  248. package/nuxt/components/Select.js +0 -3
  249. package/nuxt/components/StepsGuide.js +0 -3
  250. package/nuxt/components/StickSlider.js +0 -3
  251. package/nuxt/components/Sticky.js +0 -2
  252. package/nuxt/components/Table.js +0 -3
  253. package/nuxt/components/Tabs.js +0 -3
  254. package/nuxt/components/TimeAxis.js +0 -3
  255. package/nuxt/components/TimeAxisItem.js +0 -3
  256. package/nuxt/components/TimePicker.js +0 -3
  257. package/nuxt/components/Tooltip.js +0 -3
  258. package/nuxt/components/Transfer.js +0 -3
  259. package/nuxt/components/Tree.js +0 -3
  260. package/nuxt/components/TreeSelect.js +0 -3
  261. package/nuxt/components/dropdownMenuProps.js +0 -3
  262. package/nuxt/components/tooltipProps.js +0 -3
  263. package/quadrant-diagram/index.d.ts +0 -7
  264. package/quadrant-diagram/index.es.js +0 -5728
  265. package/quadrant-diagram/index.umd.js +0 -27
  266. package/quadrant-diagram/package.json +0 -7
  267. package/quadrant-diagram/style.css +0 -1
  268. package/select/index.d.ts +0 -7
  269. package/select/index.es.js +0 -706
  270. package/select/index.umd.js +0 -1
  271. package/select/package.json +0 -7
  272. package/select/style.css +0 -1
  273. package/steps-guide/index.d.ts +0 -7
  274. package/steps-guide/index.es.js +0 -239
  275. package/steps-guide/index.umd.js +0 -1
  276. package/steps-guide/package.json +0 -7
  277. package/steps-guide/style.css +0 -1
  278. package/sticky/index.d.ts +0 -7
  279. package/sticky/index.es.js +0 -197
  280. package/sticky/index.umd.js +0 -1
  281. package/sticky/package.json +0 -7
  282. package/table/index.d.ts +0 -7
  283. package/table/index.es.js +0 -1969
  284. package/table/index.umd.js +0 -1
  285. package/table/package.json +0 -7
  286. package/table/style.css +0 -1
  287. package/tabs/index.d.ts +0 -7
  288. package/tabs/index.es.js +0 -194
  289. package/tabs/index.umd.js +0 -1
  290. package/tabs/package.json +0 -7
  291. package/tabs/style.css +0 -1
  292. package/time-axis/index.d.ts +0 -7
  293. package/time-axis/index.umd.js +0 -1
  294. package/time-axis/package.json +0 -7
  295. package/time-axis/style.css +0 -1
  296. package/time-picker/index.d.ts +0 -7
  297. package/time-picker/index.es.js +0 -1237
  298. package/time-picker/index.umd.js +0 -1
  299. package/time-picker/package.json +0 -7
  300. package/time-picker/style.css +0 -1
  301. package/tooltip/index.d.ts +0 -7
  302. package/tooltip/index.es.js +0 -5828
  303. package/tooltip/index.umd.js +0 -27
  304. package/tooltip/package.json +0 -7
  305. package/tooltip/style.css +0 -1
  306. package/transfer/index.d.ts +0 -7
  307. package/transfer/index.es.js +0 -7608
  308. package/transfer/index.umd.js +0 -27
  309. package/transfer/package.json +0 -7
  310. package/transfer/style.css +0 -1
  311. package/tree/index.d.ts +0 -7
  312. package/tree/index.es.js +0 -6490
  313. package/tree/index.umd.js +0 -27
  314. package/tree/package.json +0 -7
  315. package/tree/style.css +0 -1
  316. package/tree-select/index.d.ts +0 -7
  317. package/tree-select/index.es.js +0 -623
  318. package/tree-select/index.umd.js +0 -1
  319. package/tree-select/package.json +0 -7
  320. package/tree-select/style.css +0 -1
@@ -18,9 +18,14 @@ var __publicField = (obj, key, value) => {
18
18
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
19
19
  return value;
20
20
  };
21
- import { ref, nextTick, defineComponent, createVNode, h, render, inject, withDirectives, createTextVNode, resolveDirective, vShow, watch, onUnmounted, unref, mergeProps, toRefs, provide, reactive, isVNode, Transition } from "vue";
22
- import { offset, autoPlacement, arrow, computePosition } from "@floating-ui/dom";
23
- const defaultFormatter = (item) => item ? item.label || item.toString() : "";
21
+ import { ref, nextTick, defineComponent, createVNode, h, render, inject, withDirectives, createTextVNode, resolveDirective, vShow, unref, watch, onUnmounted, mergeProps, toRefs, provide, Teleport, Transition, isVNode } from "vue";
22
+ import { shift, offset, autoPlacement, arrow, computePosition } from "@floating-ui/dom";
23
+ const defaultFormatter = (item) => {
24
+ if (typeof item === "string") {
25
+ return item;
26
+ }
27
+ return item !== null ? item.label || item.toString() : "";
28
+ };
24
29
  const defaultValueParse = (item) => item;
25
30
  const autoCompleteProps = {
26
31
  modelValue: {
@@ -39,14 +44,9 @@ const autoCompleteProps = {
39
44
  type: Boolean,
40
45
  default: false
41
46
  },
42
- appendToBodyDirections: {
43
- type: Object,
44
- default: () => ({
45
- originX: "left",
46
- originY: "bottom",
47
- overlayX: "left",
48
- overlayY: "top"
49
- })
47
+ position: {
48
+ type: Array,
49
+ default: ["bottom-end"]
50
50
  },
51
51
  disabled: {
52
52
  type: Boolean,
@@ -92,9 +92,9 @@ const autoCompleteProps = {
92
92
  type: Boolean,
93
93
  default: false
94
94
  },
95
- dAutoCompleteWidth: {
95
+ width: {
96
96
  type: Number,
97
- default: null
97
+ default: 400
98
98
  },
99
99
  showAnimation: {
100
100
  type: Boolean,
@@ -121,32 +121,32 @@ const DropdownPropsKey = Symbol("DropdownPropsKey");
121
121
  function useCustomTemplate(ctx2, modelValue) {
122
122
  const itemTemplate = (item, index2) => {
123
123
  const arr = { item, index: index2 };
124
- if (ctx2.slots.itemTemplate) {
125
- return ctx2.slots.itemTemplate(arr);
124
+ if (ctx2.slots.item) {
125
+ return ctx2.slots.item(arr);
126
126
  }
127
127
  return null;
128
128
  };
129
129
  const noResultItemTemplate = () => {
130
- if (ctx2.slots.noResultItemTemplate) {
131
- return ctx2.slots.noResultItemTemplate(modelValue.value);
130
+ if (ctx2.slots.nothing) {
131
+ return ctx2.slots.nothing(modelValue.value);
132
132
  }
133
133
  return null;
134
134
  };
135
135
  const searchingTemplate = () => {
136
- if (ctx2.slots.searchingTemplate) {
137
- return ctx2.slots.searchingTemplate(modelValue.value);
136
+ if (ctx2.slots.searching) {
137
+ return ctx2.slots.searching(modelValue.value);
138
138
  }
139
139
  return null;
140
140
  };
141
141
  const customRenderSolts = () => {
142
142
  const slots = {};
143
- if (ctx2.slots.itemTemplate) {
143
+ if (ctx2.slots.item) {
144
144
  slots["itemTemplate"] = itemTemplate;
145
145
  }
146
- if (ctx2.slots.noResultItemTemplate) {
146
+ if (ctx2.slots.nothing) {
147
147
  slots["noResultItemTemplate"] = noResultItemTemplate;
148
148
  }
149
- if (ctx2.slots.searchingTemplate) {
149
+ if (ctx2.slots.searching) {
150
150
  slots["searchingTemplate"] = searchingTemplate;
151
151
  }
152
152
  return slots;
@@ -156,8 +156,19 @@ function useCustomTemplate(ctx2, modelValue) {
156
156
  function useSearchFn(ctx2, allowEmptyValueSearch, source, searchFn, formatter) {
157
157
  const searchList = ref([]);
158
158
  const showNoResultItemTemplate = ref(false);
159
- const handleSearch = async (term, enableLazyLoad) => {
160
- if (term == "" && !allowEmptyValueSearch.value) {
159
+ const defaultSearchFn = (term) => {
160
+ const arr = [];
161
+ source.value.forEach((item) => {
162
+ let cur = formatter.value(item);
163
+ cur = cur.toLowerCase();
164
+ if (cur.startsWith(term)) {
165
+ arr.push(item);
166
+ }
167
+ });
168
+ return arr;
169
+ };
170
+ const handleSearch = async (term, enableLazyLoad = false) => {
171
+ if (term === "" && !allowEmptyValueSearch.value) {
161
172
  searchList.value = [];
162
173
  showNoResultItemTemplate.value = false;
163
174
  return;
@@ -167,18 +178,12 @@ function useSearchFn(ctx2, allowEmptyValueSearch, source, searchFn, formatter) {
167
178
  if (enableLazyLoad) {
168
179
  arr = source.value;
169
180
  } else if (!searchFn.value) {
170
- source.value.forEach((item) => {
171
- let cur = formatter.value(item);
172
- cur = cur.toLowerCase();
173
- if (cur.startsWith(term)) {
174
- arr.push(item);
175
- }
176
- });
181
+ arr = defaultSearchFn(term);
177
182
  } else {
178
183
  arr = await searchFn.value(term);
179
184
  }
180
185
  searchList.value = arr;
181
- if (searchList.value.length == 0) {
186
+ if (searchList.value.length === 0) {
182
187
  showNoResultItemTemplate.value = true;
183
188
  } else {
184
189
  showNoResultItemTemplate.value = false;
@@ -202,13 +207,13 @@ function useInputHandle(ctx2, searchList, showNoResultItemTemplate, modelValue,
202
207
  const searchStatus = ref(false);
203
208
  const debounce = (cb, time) => {
204
209
  let timer;
205
- return (...args) => {
210
+ return (arg) => {
206
211
  if (timer) {
207
212
  clearTimeout(timer);
208
213
  }
209
214
  timer = setTimeout(async () => {
210
215
  searchStatus.value = true;
211
- await cb(...args);
216
+ await cb(arg);
212
217
  searchStatus.value = false;
213
218
  }, time);
214
219
  };
@@ -227,7 +232,7 @@ function useInputHandle(ctx2, searchList, showNoResultItemTemplate, modelValue,
227
232
  };
228
233
  const onFocus = () => {
229
234
  handleSearch(modelValue.value);
230
- recentlyFocus(latestSource.value);
235
+ recentlyFocus(latestSource == null ? void 0 : latestSource.value);
231
236
  transInputFocusEmit.value && transInputFocusEmit.value();
232
237
  };
233
238
  const handleClose = () => {
@@ -241,7 +246,7 @@ function useInputHandle(ctx2, searchList, showNoResultItemTemplate, modelValue,
241
246
  handleClose();
242
247
  } else {
243
248
  visible.value = true;
244
- if (ctx2.slots.noResultItemTemplate && searchList.value.length == 0 && modelValue.value.trim() != "") {
249
+ if (ctx2.slots.noResultItemTemplate && searchList.value.length === 0 && modelValue.value.trim() !== "") {
245
250
  showNoResultItemTemplate.value = true;
246
251
  }
247
252
  }
@@ -259,12 +264,23 @@ function useInputHandle(ctx2, searchList, showNoResultItemTemplate, modelValue,
259
264
  }
260
265
  function useSelectHandle(ctx2, searchList, selectValue, handleSearch, formatter, handleClose) {
261
266
  const selectedIndex = ref(0);
262
- const getListIndex = (item) => {
263
- if (searchList.value.length == 0) {
267
+ const getListIndex = (cur) => {
268
+ if (searchList.value.length === 0) {
264
269
  return 0;
265
270
  }
266
- const ind = searchList.value.indexOf(item);
267
- return ind == -1 ? 0 : ind;
271
+ let ind = 0;
272
+ searchList.value.forEach((item, index2) => {
273
+ if (typeof item === "string") {
274
+ if (item === cur) {
275
+ ind = index2;
276
+ }
277
+ } else {
278
+ if (String(item.label) === cur) {
279
+ ind = index2;
280
+ }
281
+ }
282
+ });
283
+ return ind === -1 ? 0 : ind;
268
284
  };
269
285
  const selectOptionClick = async (item) => {
270
286
  const cur = formatter.value(item);
@@ -272,7 +288,7 @@ function useSelectHandle(ctx2, searchList, selectValue, handleSearch, formatter,
272
288
  handleClose();
273
289
  await handleSearch(cur);
274
290
  selectedIndex.value = getListIndex(cur);
275
- selectValue.value && selectValue.value();
291
+ selectValue.value && selectValue.value(cur);
276
292
  };
277
293
  return {
278
294
  selectedIndex,
@@ -283,8 +299,9 @@ function useLazyHandle(props, ctx2, handleSearch) {
283
299
  const showLoading = ref(false);
284
300
  const dropDownRef = ref();
285
301
  const loadMore = () => {
286
- if (!props.enableLazyLoad && showLoading)
302
+ if (!props.enableLazyLoad && showLoading) {
287
303
  return;
304
+ }
288
305
  const dropDownValue = dropDownRef.value;
289
306
  const height = dropDownValue.scrollHeight;
290
307
  const scrollTop = dropDownValue.clientHeight + dropDownValue.scrollTop;
@@ -293,11 +310,11 @@ function useLazyHandle(props, ctx2, handleSearch) {
293
310
  showLoading.value = true;
294
311
  }
295
312
  };
296
- ctx2.expose({ loadFinish });
297
313
  async function loadFinish() {
298
314
  await handleSearch(props.modelValue, props.enableLazyLoad);
299
315
  showLoading.value = false;
300
316
  }
317
+ ctx2.expose({ loadFinish });
301
318
  return {
302
319
  showLoading,
303
320
  dropDownRef,
@@ -452,8 +469,8 @@ var Loading = defineComponent({
452
469
  }
453
470
  });
454
471
  const COMPONENT_CONTAINER_SYMBOL = Symbol("dev_component_container");
455
- function createComponent(Component, props, children = null) {
456
- const vnode = h(Component, __spreadValues({}, props), children);
472
+ function createComponent(component, props, children = null) {
473
+ const vnode = h(component, __spreadValues({}, props), children);
457
474
  const container = document.createElement("div");
458
475
  vnode[COMPONENT_CONTAINER_SYMBOL] = container;
459
476
  render(vnode, container);
@@ -533,13 +550,14 @@ const removeAttribute = (el) => {
533
550
  el.removeAttribute("loadingtemplateref");
534
551
  };
535
552
  const handleProps = (el, vprops) => {
553
+ var _a;
536
554
  const props = __spreadValues(__spreadValues({}, new LoadingProps()), vprops);
537
555
  const loadingTemplateRef = props.loadingTemplateRef;
538
556
  const loadingInstance = createComponent(loadingConstructor, __spreadValues({}, props), loadingTemplateRef ? () => loadingTemplateRef : null);
539
557
  el.style.position = props.positionType;
540
558
  el.options = props;
541
559
  el.instance = loadingInstance;
542
- el.mask = loadingInstance.proxy.$el;
560
+ el.mask = (_a = loadingInstance == null ? void 0 : loadingInstance.proxy) == null ? void 0 : _a.$el;
543
561
  };
544
562
  const loadingDirective = {
545
563
  mounted: function(el, binding, vnode) {
@@ -574,25 +592,26 @@ var DAutoCompleteDropdown = defineComponent({
574
592
  showNoResultItemTemplate,
575
593
  latestSource,
576
594
  modelValue,
577
- hoverIndex
595
+ hoverIndex,
596
+ valueParser
578
597
  } = propsData;
579
598
  const {
580
599
  disabled,
581
600
  maxHeight,
582
- appendToBody,
583
601
  formatter,
584
602
  disabledKey,
585
603
  isSearching
586
604
  } = propsData.props;
587
605
  const onSelect = (item) => {
588
- if (item[disabledKey]) {
606
+ item = valueParser.value(item);
607
+ if (typeof item === "object" && item[disabledKey]) {
589
608
  return;
590
609
  }
591
610
  selectOptionClick(item);
592
611
  };
593
612
  return () => {
594
613
  return withDirectives(createVNode("div", {
595
- "class": ["devui-dropdown-menu", appendToBody && "devui-dropdown-menu-cdk", disabled && "disabled", latestSource.value && "devui-dropdown-latestSource"]
614
+ "class": ["devui-dropdown-menu", "devui-dropdown-menu-cdk", disabled && "disabled", latestSource.value && "devui-dropdown-latestSource"]
596
615
  }, [createVNode("ul", {
597
616
  "ref": dropDownRef,
598
617
  "class": "devui-list-unstyled scroll-height",
@@ -600,28 +619,28 @@ var DAutoCompleteDropdown = defineComponent({
600
619
  maxHeight: `${maxHeight}px`
601
620
  },
602
621
  "onScroll": loadMore
603
- }, [isSearching && ctx2.slots.searchingTemplate && searchStatus.value && createVNode("li", {
622
+ }, [isSearching && ctx2.slots.searchingTemplate && (searchStatus == null ? void 0 : searchStatus.value) && createVNode("li", {
604
623
  "class": "devui-is-searching-template"
605
624
  }, [createVNode("div", {
606
625
  "class": "devui-no-data-tip"
607
626
  }, [ctx2.slots.searchingTemplate()])]), latestSource.value && !modelValue.value && createVNode("li", {
608
627
  "class": "devui-popup-tips"
609
- }, [createTextVNode("\u6700\u8FD1\u8F93\u5165")]), !showNoResultItemTemplate.value && !searchStatus.value && searchList != null && searchList.value.length > 0 && searchList.value.map((item, index2) => {
628
+ }, [createTextVNode("\u6700\u8FD1\u8F93\u5165")]), !showNoResultItemTemplate.value && !(searchStatus == null ? void 0 : searchStatus.value) && searchList != null && searchList.value.length > 0 && searchList.value.map((item, index2) => {
610
629
  return createVNode("li", {
611
630
  "onClick": () => onSelect(item),
612
- "class": ["devui-dropdown-item", selectedIndex.value == index2 && "selected", {
613
- "disabled": disabledKey && item[disabledKey]
631
+ "class": ["devui-dropdown-item", selectedIndex.value === index2 && "selected", {
632
+ "disabled": disabledKey && typeof item === "object" && item[disabledKey]
614
633
  }, {
615
- "devui-dropdown-bg": hoverIndex.value == index2
634
+ "devui-dropdown-bg": hoverIndex.value === index2
616
635
  }],
617
636
  "title": formatter(item),
618
637
  "key": formatter(item)
619
638
  }, [ctx2.slots.itemTemplate ? ctx2.slots.itemTemplate(item, index2) : formatter(item)]);
620
- }), !searchStatus.value && searchList.value.length == 0 && ctx2.slots.noResultItemTemplate && showNoResultItemTemplate.value && createVNode("li", {
639
+ }), !(searchStatus == null ? void 0 : searchStatus.value) && searchList.value.length === 0 && ctx2.slots.noResultItemTemplate && showNoResultItemTemplate.value && createVNode("li", {
621
640
  "class": "devui-no-result-template"
622
641
  }, [createVNode("div", {
623
642
  "class": "devui-no-data-tip"
624
- }, [ctx2.slots.noResultItemTemplate()])])])]), [[resolveDirective("dLoading"), showLoading.value], [vShow, visible.value && searchList.value.length > 0 || ctx2.slots.noResultItemTemplate && showNoResultItemTemplate.value || isSearching && ctx2.slots.searchingTemplate && searchStatus.value]]);
643
+ }, [ctx2.slots.noResultItemTemplate()])])])]), [[resolveDirective("dLoading"), showLoading.value], [vShow, visible.value && searchList.value.length > 0 || ctx2.slots.noResultItemTemplate && showNoResultItemTemplate.value || isSearching && ctx2.slots.searchingTemplate && (searchStatus == null ? void 0 : searchStatus.value)]]);
625
644
  };
626
645
  }
627
646
  });
@@ -742,6 +761,7 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
742
761
  function useOverlay(props, emit) {
743
762
  const overlayRef = ref();
744
763
  const arrowRef = ref();
764
+ let originParent = null;
745
765
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
746
766
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
747
767
  const staticSide = {
@@ -763,6 +783,7 @@ function useOverlay(props, emit) {
763
783
  const overlayEl = unref(overlayRef.value);
764
784
  const arrowEl = unref(arrowRef.value);
765
785
  const middleware = [
786
+ shift(),
766
787
  offset(props.offset),
767
788
  autoPlacement({
768
789
  alignment: props.align,
@@ -779,25 +800,24 @@ function useOverlay(props, emit) {
779
800
  props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
780
801
  };
781
802
  watch(() => props.modelValue, () => {
782
- const originParent = getScrollParent(props.origin);
783
803
  if (props.modelValue && props.origin) {
804
+ originParent = getScrollParent(props.origin);
784
805
  nextTick(updatePosition);
785
- originParent.addEventListener("scroll", updatePosition);
806
+ originParent == null ? void 0 : originParent.addEventListener("scroll", updatePosition);
786
807
  originParent !== window && window.addEventListener("scroll", updatePosition);
787
808
  window.addEventListener("resize", updatePosition);
788
809
  } else {
789
- originParent.removeEventListener("scroll", updatePosition);
810
+ originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
790
811
  originParent !== window && window.removeEventListener("scroll", updatePosition);
791
812
  window.removeEventListener("resize", updatePosition);
792
813
  }
793
814
  });
794
815
  onUnmounted(() => {
795
- const originParent = getScrollParent(props.origin);
796
- originParent.removeEventListener("scroll", updatePosition);
816
+ originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
797
817
  originParent !== window && window.removeEventListener("scroll", updatePosition);
798
818
  window.removeEventListener("resize", updatePosition);
799
819
  });
800
- return { arrowRef, overlayRef };
820
+ return { arrowRef, overlayRef, updatePosition };
801
821
  }
802
822
  var flexibleOverlay = "";
803
823
  const FlexibleOverlay = defineComponent({
@@ -808,12 +828,17 @@ const FlexibleOverlay = defineComponent({
808
828
  setup(props, {
809
829
  slots,
810
830
  attrs,
811
- emit
831
+ emit,
832
+ expose
812
833
  }) {
813
834
  const {
814
835
  arrowRef,
815
- overlayRef
836
+ overlayRef,
837
+ updatePosition
816
838
  } = useOverlay(props, emit);
839
+ expose({
840
+ updatePosition
841
+ });
817
842
  return () => {
818
843
  var _a;
819
844
  return props.modelValue && createVNode("div", mergeProps({
@@ -840,18 +865,19 @@ var AutoComplete = defineComponent({
840
865
  const {
841
866
  disabled,
842
867
  modelValue,
843
- appendToBody,
844
- dAutoCompleteWidth,
868
+ width,
845
869
  delay,
846
870
  allowEmptyValueSearch,
871
+ appendToBody,
847
872
  formatter,
848
873
  transInputFocusEmit,
849
874
  selectValue,
850
875
  source,
851
876
  searchFn,
852
- appendToBodyDirections,
877
+ position,
853
878
  latestSource,
854
- showAnimation
879
+ showAnimation,
880
+ valueParser
855
881
  } = toRefs(props);
856
882
  const {
857
883
  handleSearch,
@@ -898,46 +924,63 @@ var AutoComplete = defineComponent({
898
924
  latestSource,
899
925
  modelValue,
900
926
  showNoResultItemTemplate,
901
- hoverIndex
927
+ hoverIndex,
928
+ valueParser
902
929
  });
903
930
  const origin = ref();
904
- const position = reactive({
905
- appendToBodyDirections: {}
906
- });
907
- position.appendToBodyDirections = appendToBodyDirections;
908
931
  const renderDropdown = () => {
909
932
  if (appendToBody.value) {
910
933
  let _slot;
911
- return createVNode(FlexibleOverlay, {
912
- "hasBackdrop": false,
913
- "origin": origin,
914
- "position": position.appendToBodyDirections,
915
- "visible": visible.value,
916
- "onUpdate:visible": ($event) => visible.value = $event
934
+ return createVNode(Teleport, {
935
+ "to": "body"
917
936
  }, {
918
- default: () => [createVNode("div", {
919
- "class": "devui-dropdown devui-auto-complete-menu",
920
- "style": {
921
- width: dAutoCompleteWidth.value > 0 && dAutoCompleteWidth.value + "px"
922
- }
923
- }, [createVNode(DAutoCompleteDropdown, null, _isSlot(_slot = customRenderSolts()) ? _slot : {
924
- default: () => [_slot]
925
- })])]
937
+ default: () => [createVNode(Transition, {
938
+ "name": showAnimation ? "fade" : ""
939
+ }, {
940
+ default: () => [createVNode(FlexibleOverlay, {
941
+ "show-arrow": true,
942
+ "origin": origin.value,
943
+ "position": position.value,
944
+ "modelValue": visible.value,
945
+ "onUpdate:modelValue": ($event) => visible.value = $event
946
+ }, {
947
+ default: () => [createVNode("div", {
948
+ "class": "devui-auto-complete-menu",
949
+ "style": {
950
+ width: `
951
+ ${width.value + "px"}
952
+ `
953
+ }
954
+ }, [createVNode(DAutoCompleteDropdown, null, _isSlot(_slot = customRenderSolts()) ? _slot : {
955
+ default: () => [_slot]
956
+ })])]
957
+ })]
958
+ })]
926
959
  });
927
960
  } else {
928
961
  let _slot2;
929
- return createVNode("div", {
930
- "class": "devui-dropdown",
931
- "style": {
932
- width: dAutoCompleteWidth.value > 0 && dAutoCompleteWidth.value + "px"
933
- }
934
- }, [createVNode(Transition, {
962
+ return createVNode(Transition, {
935
963
  "name": showAnimation ? "fade" : ""
936
964
  }, {
937
- default: () => [createVNode(DAutoCompleteDropdown, null, _isSlot(_slot2 = customRenderSolts()) ? _slot2 : {
938
- default: () => [_slot2]
965
+ default: () => [createVNode(FlexibleOverlay, {
966
+ "show-arrow": true,
967
+ "origin": origin.value,
968
+ "position": position.value,
969
+ "modelValue": visible.value,
970
+ "onUpdate:modelValue": ($event) => visible.value = $event
971
+ }, {
972
+ default: () => [createVNode("div", {
973
+ "class": "devui-auto-complete-menu",
974
+ "style": {
975
+ width: `
976
+ ${width.value + "px"}
977
+ `
978
+ }
979
+ }, [createVNode(DAutoCompleteDropdown, null, _isSlot(_slot2 = customRenderSolts()) ? _slot2 : {
980
+ default: () => [_slot2]
981
+ })])]
939
982
  })]
940
- })]);
983
+ });
941
984
  }
942
985
  };
943
986
  return () => {
@@ -945,7 +988,7 @@ var AutoComplete = defineComponent({
945
988
  "class": ["devui-auto-complete", "devui-form-group", "devui-has-feedback", visible.value && "devui-select-open"],
946
989
  "ref": origin,
947
990
  "style": {
948
- width: dAutoCompleteWidth.value > 0 && dAutoCompleteWidth.value + "px"
991
+ width: `${width.value + "px"}`
949
992
  }
950
993
  }, [createVNode("input", {
951
994
  "disabled": disabled.value,
@@ -962,15 +1005,12 @@ var AutoComplete = defineComponent({
962
1005
  };
963
1006
  }
964
1007
  });
965
- AutoComplete.install = function(app) {
966
- app.component(AutoComplete.name, AutoComplete);
967
- };
968
1008
  var index = {
969
1009
  title: "AutoComplete \u81EA\u52A8\u8865\u5168",
970
1010
  category: "\u6570\u636E\u5F55\u5165",
971
1011
  status: "100%",
972
1012
  install(app) {
973
- app.use(AutoComplete);
1013
+ app.component(AutoComplete.name, AutoComplete);
974
1014
  }
975
1015
  };
976
- export { AutoComplete, index as default };
1016
+ export { AutoComplete, DropdownPropsKey, autoCompleteProps, index as default };
@@ -1 +1,5 @@
1
- var Pe=Object.defineProperty;var re=Object.getOwnPropertySymbols;var Oe=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable;var O=(p,t,m)=>t in p?Pe(p,t,{enumerable:!0,configurable:!0,writable:!0,value:m}):p[t]=m,E=(p,t)=>{for(var m in t||(t={}))Oe.call(t,m)&&O(p,m,t[m]);if(re)for(var m of re(t))je.call(t,m)&&O(p,m,t[m]);return p};var C=(p,t,m)=>(O(p,typeof t!="symbol"?t+"":t,m),m);(function(p,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],t):(p=typeof globalThis!="undefined"?globalThis:p||self,t(p.index={},p.Vue,p.dom))})(this,function(p,t,m){"use strict";const se={modelValue:{type:String,default:""},source:{type:Array,default:null},allowEmptyValueSearch:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},appendToBodyDirections:{type:Object,default:()=>({originX:"left",originY:"bottom",overlayX:"left",overlayY:"top"})},disabled:{type:Boolean,default:!1},delay:{type:Number,default:300},disabledKey:{type:String,default:null},formatter:{type:Function,default:e=>e?e.label||e.toString():""},isSearching:{type:Boolean,default:!1},sceneType:{type:String,default:null},searchFn:{type:Function,default:null},tipsText:{type:String,default:"\u6700\u8FD1\u8F93\u5165"},latestSource:{type:Array,default:null},valueParser:{type:Function,default:e=>e},enableLazyLoad:{type:Boolean,default:!1},dAutoCompleteWidth:{type:Number,default:null},showAnimation:{type:Boolean,default:!0},maxHeight:{type:Number,default:300},transInputFocusEmit:{type:Function,default:null},selectValue:{type:Function,default:null},loadMore:{type:Function,default:null}},j=Symbol("DropdownPropsKey");function ie(e,n){const o=(r,d)=>{const i={item:r,index:d};return e.slots.itemTemplate?e.slots.itemTemplate(i):null},l=()=>e.slots.noResultItemTemplate?e.slots.noResultItemTemplate(n.value):null,s=()=>e.slots.searchingTemplate?e.slots.searchingTemplate(n.value):null;return{customRenderSolts:()=>{const r={};return e.slots.itemTemplate&&(r.itemTemplate=o),e.slots.noResultItemTemplate&&(r.noResultItemTemplate=l),e.slots.searchingTemplate&&(r.searchingTemplate=s),r}}}function ue(e,n,o,l,s){const a=t.ref([]),r=t.ref(!1);return{handleSearch:async(u,c)=>{if(u==""&&!n.value){a.value=[],r.value=!1;return}let v=[];u=u.toLowerCase(),c?v=o.value:l.value?v=await l.value(u):o.value.forEach(f=>{let y=s.value(f);y=y.toLowerCase(),y.startsWith(u)&&v.push(f)}),a.value=v,a.value.length==0?r.value=!0:r.value=!1},recentlyFocus:u=>{u&&(a.value=u)},searchList:a,showNoResultItemTemplate:r}}function de(e,n,o,l,s,a,r,d,i,u){const c=t.ref(!1),v=t.ref(),f=t.ref(!1),h=((S,D)=>{let g;return(...b)=>{g&&clearTimeout(g),g=setTimeout(async()=>{f.value=!0,await S(...b),f.value=!1},D)}})(async S=>{await r(S),c.value=!0},a.value),T=S=>{const D=S.target;f.value=!1,o.value=!1,e.emit("update:modelValue",D.value),h(D.value)},A=()=>{r(l.value),i(u.value),d.value&&d.value()},V=()=>{c.value=!1,f.value=!1,o.value=!1};return{handleClose:V,toggleMenu:()=>{s.value||(c.value?V():(c.value=!0,e.slots.noResultItemTemplate&&n.value.length==0&&l.value.trim()!=""&&(o.value=!0)))},onInput:T,onFocus:A,inputRef:v,visible:c,searchStatus:f}}function ce(e,n,o,l,s,a){const r=t.ref(0),d=u=>{if(n.value.length==0)return 0;const c=n.value.indexOf(u);return c==-1?0:c};return{selectedIndex:r,selectOptionClick:async u=>{const c=s.value(u);e.emit("update:modelValue",c),a(),await l(c),r.value=d(c),o.value&&o.value()}}}function fe(e,n,o){const l=t.ref(!1),s=t.ref(),a=()=>{if(!e.enableLazyLoad&&l)return;const d=s.value,i=d.scrollHeight,u=d.clientHeight+d.scrollTop;u>=i&&u>=e.maxHeight&&(e.loadMore(),l.value=!0)};n.expose({loadFinish:r});async function r(){await o(e.modelValue,e.enableLazyLoad),l.value=!1}return{showLoading:l,dropDownRef:s,loadMore:a}}function pe(e,n,o,l,s,a,r,d){var v;const i=t.ref((v=l.value)!=null?v:0),u=f=>{const y=e.value,w=y.children[f];t.nextTick(()=>{if(w.scrollIntoViewIfNeeded)w.scrollIntoViewIfNeeded(!1);else{const h=y.getBoundingClientRect(),T=w.getBoundingClientRect();(T.bottom>h.bottom||T.top<h.top)&&w.scrollIntoView(!1)}})};return{hoverIndex:i,handlekeyDown:f=>{var h;const y=f.key||f.code;if(y==="Escape"&&(n.value&&o.value.length||s.value||a.value)){d();return}const w=n.value&&o.value.length&&!s.value&&!a.value;if(y==="ArrowDown"&&w){if(i.value===o.value.length-1){i.value=0,u(i.value);return}i.value=i.value+1,u(i.value)}else if(y==="ArrowUp"&&w){if(i.value===0){i.value=o.value.length-1,u(i.value);return}i.value=i.value-1,u(i.value)}if(y==="Enter"&&w){r(o.value[i.value]),i.value=(h=l.value)!=null?h:0;return}}}}var ze="";class M{constructor(){C(this,"top","50%");C(this,"left","50%")}}const ve={message:String,backdrop:Boolean,view:{type:Object,default:()=>new M},zIndex:Number,isFull:{type:Boolean,default:!1}};class me{constructor(){C(this,"target");C(this,"message");C(this,"loadingTemplateRef");C(this,"backdrop",!0);C(this,"positionType","relative");C(this,"view",new M);C(this,"zIndex")}}var _e="",ye=t.defineComponent({name:"DLoading",inheritAttrs:!1,props:ve,setup(e){const n={top:e.view.top,left:e.view.left,zIndex:e.zIndex};e.message||(n.background="none");const o=t.ref(!1);return{style:n,isShow:o,open:()=>{o.value=!0},close:()=>{o.value=!1}}},render(){var r;const{isShow:e,isFull:n,backdrop:o,style:l,message:s,$slots:a}=this;return e&&t.createVNode("div",{class:["devui-loading-contanier",n?"devui-loading--full":""]},[((r=a.default)==null?void 0:r.call(a))||t.createVNode("div",{class:"devui-loading-wrapper"},[o?t.createVNode("div",{class:"devui-loading-mask"},null):null,t.createVNode("div",{style:l,class:"devui-loading-area"},[t.createVNode("div",{class:"devui-busy-default-spinner"},[t.createVNode("div",{class:"devui-loading-bar1"},null),t.createVNode("div",{class:"devui-loading-bar2"},null),t.createVNode("div",{class:"devui-loading-bar3"},null),t.createVNode("div",{class:"devui-loading-bar4"},null)]),s?t.createVNode("span",{class:"devui-loading-text"},[s]):null])])])}});const H=Symbol("dev_component_container");function ge(e,n,o=null){const l=t.h(e,E({},n),o),s=document.createElement("div");return l[H]=s,t.render(l,s),l.component}function we(e){t.render(null,e==null?void 0:e.vnode[H])}const he=t.defineComponent(ye),F=new WeakSet,R=e=>{if(!e)return!0;if(Array.isArray(e))return e.length===0;if(e instanceof Set||e instanceof Map)return e.size===0;if(e instanceof Promise)return!1;if(typeof e=="object")try{return Object.keys(e).length===0}catch{return!1}return!1},z=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),be=e=>{switch(z(e)){case"promise":return[e];case"array":return e.some(o=>z(o)!=="promise")?(console.error(new TypeError("Binding values should all be of type Promise")),"error"):e;default:return!1}},_=e=>{F.delete(e),e.instance.proxy.close(),we(e.instance)},K=(e,n)=>{if(n.value){const o=be(n.value);if(o==="error")return;e.instance.proxy.open(),e.appendChild(e.mask),F.add(e),o&&Promise.all(o).catch(l=>{console.error(new Error("Promise handling errors"),l)}).finally(()=>{_(e)})}else _(e)},$=e=>{e.removeAttribute("zindex"),e.removeAttribute("positiontype"),e.removeAttribute("backdrop"),e.removeAttribute("message"),e.removeAttribute("view"),e.removeAttribute("loadingtemplateref")},W=(e,n)=>{const o=E(E({},new me),n),l=o.loadingTemplateRef,s=ge(he,E({},o),l?()=>l:null);e.style.position=o.positionType,e.options=o,e.instance=s,e.mask=s.proxy.$el},Te={mounted:function(e,n,o){W(e,o.props),$(e),!R(n.value)&&K(e,n)},updated:function(e,n,o){!R(n.value)&&F.has(e)||R(n.value)&&!F.has(e)||(!F.has(e)&&W(e,o.props),$(e),K(e,n))}};var Y=t.defineComponent({name:"DAutoCompleteDropdown",directives:{dLoading:Te},setup(e,n){const o=t.inject(j),{visible:l,selectedIndex:s,selectOptionClick:a,searchList:r,searchStatus:d,dropDownRef:i,loadMore:u,showLoading:c,showNoResultItemTemplate:v,latestSource:f,modelValue:y,hoverIndex:w}=o,{disabled:h,maxHeight:T,appendToBody:A,formatter:V,disabledKey:k,isSearching:S}=o.props,D=g=>{g[k]||a(g)};return()=>t.withDirectives(t.createVNode("div",{class:["devui-dropdown-menu",A&&"devui-dropdown-menu-cdk",h&&"disabled",f.value&&"devui-dropdown-latestSource"]},[t.createVNode("ul",{ref:i,class:"devui-list-unstyled scroll-height",style:{maxHeight:`${T}px`},onScroll:u},[S&&n.slots.searchingTemplate&&d.value&&t.createVNode("li",{class:"devui-is-searching-template"},[t.createVNode("div",{class:"devui-no-data-tip"},[n.slots.searchingTemplate()])]),f.value&&!y.value&&t.createVNode("li",{class:"devui-popup-tips"},[t.createTextVNode("\u6700\u8FD1\u8F93\u5165")]),!v.value&&!d.value&&r!=null&&r.value.length>0&&r.value.map((g,b)=>t.createVNode("li",{onClick:()=>D(g),class:["devui-dropdown-item",s.value==b&&"selected",{disabled:k&&g[k]},{"devui-dropdown-bg":w.value==b}],title:V(g),key:V(g)},[n.slots.itemTemplate?n.slots.itemTemplate(g,b):V(g)])),!d.value&&r.value.length==0&&n.slots.noResultItemTemplate&&v.value&&t.createVNode("li",{class:"devui-no-result-template"},[t.createVNode("div",{class:"devui-no-data-tip"},[n.slots.noResultItemTemplate()])])])]),[[t.resolveDirective("dLoading"),c.value],[t.vShow,l.value&&r.value.length>0||n.slots.noResultItemTemplate&&v.value||S&&n.slots.searchingTemplate&&d.value]])}});const Ve=typeof window!="undefined";function q(e,n,o){document.addEventListener?e&&n&&o&&e.addEventListener(n,o,!1):e&&n&&o&&e.attachEvent("on"+n,o)}const N=Symbol("@@clickoutside"),x=new Map;let U,B=0,X=!0;function G(e,n,o){return Ve&&X&&(X=!1,q(document,"mousedown",l=>{U=l}),q(document,"mouseup",l=>{for(const[s,a]of x)a[N].documentHandler(l,U)})),function(l,s){!o||!n.instance||!l.target||!s.target||e.contains(l.target)||e.contains(s.target)||e===l.target||e[N].bindingFn&&e[N].bindingFn()}}const Se={beforeMount:function(e,n,o){B++,x.set(B,e),e[N]={nid:B,documentHandler:G(e,n,o),bindingFn:n.value}},updated:function(e,n,o){e[N].documentHandler=G(e,n,o),e[N].bindingFn=n.value},unmounted:function(e){x.delete(e[N].nid),delete e[N]}},Ce={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},offset:{type:[Number,Object],default:8},align:{type:String,default:null},showArrow:{type:Boolean,default:!1},isArrowCenter:{type:Boolean,default:!0}};function J(e){const n=/(auto|scroll|hidden)/;for(let o=e;o=o.parentElement;o.parentElement!==document.body){const l=window.getComputedStyle(o);if(n.test(l.overflow+l.overflowX+l.overflowY))return o}return window}function Ne(e,n,o,l){let{x:s,y:a}=n;if(!e){const{width:r,height:d}=l;s&&o.includes("start")&&(s=12),s&&o.includes("end")&&(s=Math.round(r-24)),a&&o.includes("start")&&(a=10),a&&o.includes("end")&&(a=d-14)}return{x:s,y:a}}function Ae(e,n){const o=t.ref(),l=t.ref(),s=(r,d,i,u)=>{const{x:c,y:v}=Ne(e.isArrowCenter,i,d,u.getBoundingClientRect()),f={top:"bottom",right:"left",bottom:"top",left:"right"}[d.split("-")[0]];Object.assign(r.style,{left:c?`${c}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[f]:"-4px"})},a=async()=>{const r=e.origin,d=t.unref(o.value),i=t.unref(l.value),u=[m.offset(e.offset),m.autoPlacement({alignment:e.align,allowedPlacements:e.position})];e.showArrow&&u.push(m.arrow({element:i}));const{x:c,y:v,placement:f,middlewareData:y}=await m.computePosition(r,d,{strategy:"fixed",middleware:u});n("positionChange",f),Object.assign(d.style,{top:`${v}px`,left:`${c}px`}),e.showArrow&&s(i,f,y.arrow,d)};return t.watch(()=>e.modelValue,()=>{const r=J(e.origin);e.modelValue&&e.origin?(t.nextTick(a),r.addEventListener("scroll",a),r!==window&&window.addEventListener("scroll",a),window.addEventListener("resize",a)):(r.removeEventListener("scroll",a),r!==window&&window.removeEventListener("scroll",a),window.removeEventListener("resize",a))}),t.onUnmounted(()=>{const r=J(e.origin);r.removeEventListener("scroll",a),r!==window&&window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}),{arrowRef:l,overlayRef:o}}var Ke="";const De=t.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:Ce,emits:["update:modelValue","positionChange"],setup(e,{slots:n,attrs:o,emit:l}){const{arrowRef:s,overlayRef:a}=Ae(e,l);return()=>{var r;return e.modelValue&&t.createVNode("div",t.mergeProps({ref:a,class:"devui-flexible-overlay"},o),[(r=n.default)==null?void 0:r.call(n),e.showArrow&&t.createVNode("div",{ref:s,class:"devui-flexible-overlay-arrow"},null)])}}});function Q(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}var L=t.defineComponent({name:"DAutoComplete",directives:{ClickOutside:Se},props:se,emits:["update:modelValue"],setup(e,n){const{disabled:o,modelValue:l,appendToBody:s,dAutoCompleteWidth:a,delay:r,allowEmptyValueSearch:d,formatter:i,transInputFocusEmit:u,selectValue:c,source:v,searchFn:f,appendToBodyDirections:y,latestSource:w,showAnimation:h}=t.toRefs(e),{handleSearch:T,searchList:A,showNoResultItemTemplate:V,recentlyFocus:k}=ue(n,d,v,f,i),{onInput:S,onFocus:D,inputRef:g,visible:b,searchStatus:Z,handleClose:P,toggleMenu:ke}=de(n,A,V,l,o,r,T,u,k,w),{selectedIndex:ee,selectOptionClick:te}=ce(n,A,c,T,i,P),{showLoading:Fe,dropDownRef:oe,loadMore:Le}=fe(e,n,T),{customRenderSolts:ne}=ie(n,l),{hoverIndex:Ee,handlekeyDown:Re}=pe(oe,b,A,ee,Z,V,te,P);t.provide(j,{props:e,visible:b,term:"",searchList:A,selectedIndex:ee,searchStatus:Z,selectOptionClick:te,dropDownRef:oe,showLoading:Fe,loadMore:Le,latestSource:w,modelValue:l,showNoResultItemTemplate:V,hoverIndex:Ee});const le=t.ref(),ae=t.reactive({appendToBodyDirections:{}});ae.appendToBodyDirections=y;const xe=()=>{if(s.value){let I;return t.createVNode(De,{hasBackdrop:!1,origin:le,position:ae.appendToBodyDirections,visible:b.value,"onUpdate:visible":Be=>b.value=Be},{default:()=>[t.createVNode("div",{class:"devui-dropdown devui-auto-complete-menu",style:{width:a.value>0&&a.value+"px"}},[t.createVNode(Y,null,Q(I=ne())?I:{default:()=>[I]})])]})}else{let I;return t.createVNode("div",{class:"devui-dropdown",style:{width:a.value>0&&a.value+"px"}},[t.createVNode(t.Transition,{name:h?"fade":""},{default:()=>[t.createVNode(Y,null,Q(I=ne())?I:{default:()=>[I]})]})])}};return()=>t.withDirectives(t.createVNode("div",{class:["devui-auto-complete","devui-form-group","devui-has-feedback",b.value&&"devui-select-open"],ref:le,style:{width:a.value>0&&a.value+"px"}},[t.createVNode("input",{disabled:o.value,type:"text",onClick:ke,class:["devui-form-control","devui-dropdown-origin","devui-dropdown-origin-open",o.value&&"disabled"],placeholder:"Search",onInput:S,onFocus:D,value:l.value,ref:g,onKeydown:Re},null),xe()]),[[t.resolveDirective("click-outside"),P]])}});L.install=function(e){e.component(L.name,L)};var Ie={title:"AutoComplete \u81EA\u52A8\u8865\u5168",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.use(L)}};p.AutoComplete=L,p.default=Ie,Object.defineProperty(p,"__esModule",{value:!0}),p[Symbol.toStringTag]="Module"});
1
+ var Oe=Object.defineProperty;var ie=Object.getOwnPropertySymbols;var Be=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable;var z=(v,t,y)=>t in v?Oe(v,t,{enumerable:!0,configurable:!0,writable:!0,value:y}):v[t]=y,I=(v,t)=>{for(var y in t||(t={}))Be.call(t,y)&&z(v,y,t[y]);if(ie)for(var y of ie(t))je.call(t,y)&&z(v,y,t[y]);return v};var T=(v,t,y)=>(z(v,typeof t!="symbol"?t+"":t,y),y);(function(v,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],t):(v=typeof globalThis!="undefined"?globalThis:v||self,t(v.index={},v.Vue,v.dom))})(this,function(v,t,y){"use strict";const _={modelValue:{type:String,default:""},source:{type:Array,default:null},allowEmptyValueSearch:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},position:{type:Array,default:["bottom-end"]},disabled:{type:Boolean,default:!1},delay:{type:Number,default:300},disabledKey:{type:String,default:null},formatter:{type:Function,default:e=>typeof e=="string"?e:e!==null?e.label||e.toString():""},isSearching:{type:Boolean,default:!1},sceneType:{type:String,default:null},searchFn:{type:Function,default:null},tipsText:{type:String,default:"\u6700\u8FD1\u8F93\u5165"},latestSource:{type:Array,default:null},valueParser:{type:Function,default:e=>e},enableLazyLoad:{type:Boolean,default:!1},width:{type:Number,default:400},showAnimation:{type:Boolean,default:!0},maxHeight:{type:Number,default:300},transInputFocusEmit:{type:Function,default:null},selectValue:{type:Function,default:null},loadMore:{type:Function,default:null}},R=Symbol("DropdownPropsKey");function ue(e,n){const o=(r,u)=>{const i={item:r,index:u};return e.slots.item?e.slots.item(i):null},a=()=>e.slots.nothing?e.slots.nothing(n.value):null,l=()=>e.slots.searching?e.slots.searching(n.value):null;return{customRenderSolts:()=>{const r={};return e.slots.item&&(r.itemTemplate=o),e.slots.nothing&&(r.noResultItemTemplate=a),e.slots.searching&&(r.searchingTemplate=l),r}}}function de(e,n,o,a,l){const s=t.ref([]),r=t.ref(!1),u=d=>{const p=[];return o.value.forEach(c=>{let m=l.value(c);m=m.toLowerCase(),m.startsWith(d)&&p.push(c)}),p};return{handleSearch:async(d,p=!1)=>{if(d===""&&!n.value){s.value=[],r.value=!1;return}let c=[];d=d.toLowerCase(),p?c=o.value:a.value?c=await a.value(d):c=u(d),s.value=c,s.value.length===0?r.value=!0:r.value=!1},recentlyFocus:d=>{d&&(s.value=d)},searchList:s,showNoResultItemTemplate:r}}function ce(e,n,o,a,l,s,r,u,i,f){const d=t.ref(!1),p=t.ref(),c=t.ref(!1),h=((V,F)=>{let g;return E=>{g&&clearTimeout(g),g=setTimeout(async()=>{c.value=!0,await V(E),c.value=!1},F)}})(async V=>{await r(V),d.value=!0},s.value),C=V=>{const F=V.target;c.value=!1,o.value=!1,e.emit("update:modelValue",F.value),h(F.value)},S=()=>{r(a.value),i(f==null?void 0:f.value),u.value&&u.value()},b=()=>{d.value=!1,c.value=!1,o.value=!1};return{handleClose:b,toggleMenu:()=>{l.value||(d.value?b():(d.value=!0,e.slots.noResultItemTemplate&&n.value.length===0&&a.value.trim()!==""&&(o.value=!0)))},onInput:C,onFocus:S,inputRef:p,visible:d,searchStatus:c}}function fe(e,n,o,a,l,s){const r=t.ref(0),u=f=>{if(n.value.length===0)return 0;let d=0;return n.value.forEach((p,c)=>{typeof p=="string"?p===f&&(d=c):String(p.label)===f&&(d=c)}),d===-1?0:d};return{selectedIndex:r,selectOptionClick:async f=>{const d=l.value(f);e.emit("update:modelValue",d),s(),await a(d),r.value=u(d),o.value&&o.value(d)}}}function pe(e,n,o){const a=t.ref(!1),l=t.ref(),s=()=>{if(!e.enableLazyLoad&&a)return;const u=l.value,i=u.scrollHeight,f=u.clientHeight+u.scrollTop;f>=i&&f>=e.maxHeight&&(e.loadMore(),a.value=!0)};async function r(){await o(e.modelValue,e.enableLazyLoad),a.value=!1}return n.expose({loadFinish:r}),{showLoading:a,dropDownRef:l,loadMore:s}}function ve(e,n,o,a,l,s,r,u){var p;const i=t.ref((p=a.value)!=null?p:0),f=c=>{const m=e.value,w=m.children[c];t.nextTick(()=>{if(w.scrollIntoViewIfNeeded)w.scrollIntoViewIfNeeded(!1);else{const h=m.getBoundingClientRect(),C=w.getBoundingClientRect();(C.bottom>h.bottom||C.top<h.top)&&w.scrollIntoView(!1)}})};return{hoverIndex:i,handlekeyDown:c=>{var h;const m=c.key||c.code;if(m==="Escape"&&(n.value&&o.value.length||l.value||s.value)){u();return}const w=n.value&&o.value.length&&!l.value&&!s.value;if(m==="ArrowDown"&&w){if(i.value===o.value.length-1){i.value=0,f(i.value);return}i.value=i.value+1,f(i.value)}else if(m==="ArrowUp"&&w){if(i.value===0){i.value=o.value.length-1,f(i.value);return}i.value=i.value-1,f(i.value)}if(m==="Enter"&&w){r(o.value[i.value]),i.value=(h=a.value)!=null?h:0;return}}}}var ze="";class ${constructor(){T(this,"top","50%");T(this,"left","50%")}}const me={message:String,backdrop:Boolean,view:{type:Object,default:()=>new $},zIndex:Number,isFull:{type:Boolean,default:!1}};class ye{constructor(){T(this,"target");T(this,"message");T(this,"loadingTemplateRef");T(this,"backdrop",!0);T(this,"positionType","relative");T(this,"view",new $);T(this,"zIndex")}}var _e="",ge=t.defineComponent({name:"DLoading",inheritAttrs:!1,props:me,setup(e){const n={top:e.view.top,left:e.view.left,zIndex:e.zIndex};e.message||(n.background="none");const o=t.ref(!1);return{style:n,isShow:o,open:()=>{o.value=!0},close:()=>{o.value=!1}}},render(){var r;const{isShow:e,isFull:n,backdrop:o,style:a,message:l,$slots:s}=this;return e&&t.createVNode("div",{class:["devui-loading-contanier",n?"devui-loading--full":""]},[((r=s.default)==null?void 0:r.call(s))||t.createVNode("div",{class:"devui-loading-wrapper"},[o?t.createVNode("div",{class:"devui-loading-mask"},null):null,t.createVNode("div",{style:a,class:"devui-loading-area"},[t.createVNode("div",{class:"devui-busy-default-spinner"},[t.createVNode("div",{class:"devui-loading-bar1"},null),t.createVNode("div",{class:"devui-loading-bar2"},null),t.createVNode("div",{class:"devui-loading-bar3"},null),t.createVNode("div",{class:"devui-loading-bar4"},null)]),l?t.createVNode("span",{class:"devui-loading-text"},[l]):null])])])}});const K=Symbol("dev_component_container");function we(e,n,o=null){const a=t.h(e,I({},n),o),l=document.createElement("div");return a[K]=l,t.render(a,l),a.component}function he(e){t.render(null,e==null?void 0:e.vnode[K])}const be=t.defineComponent(ge),D=new WeakSet,x=e=>{if(!e)return!0;if(Array.isArray(e))return e.length===0;if(e instanceof Set||e instanceof Map)return e.size===0;if(e instanceof Promise)return!1;if(typeof e=="object")try{return Object.keys(e).length===0}catch{return!1}return!1},U=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),Ve=e=>{switch(U(e)){case"promise":return[e];case"array":return e.some(o=>U(o)!=="promise")?(console.error(new TypeError("Binding values should all be of type Promise")),"error"):e;default:return!1}},q=e=>{D.delete(e),e.instance.proxy.close(),he(e.instance)},W=(e,n)=>{if(n.value){const o=Ve(n.value);if(o==="error")return;e.instance.proxy.open(),e.appendChild(e.mask),D.add(e),o&&Promise.all(o).catch(a=>{console.error(new Error("Promise handling errors"),a)}).finally(()=>{q(e)})}else q(e)},Y=e=>{e.removeAttribute("zindex"),e.removeAttribute("positiontype"),e.removeAttribute("backdrop"),e.removeAttribute("message"),e.removeAttribute("view"),e.removeAttribute("loadingtemplateref")},X=(e,n)=>{var s;const o=I(I({},new ye),n),a=o.loadingTemplateRef,l=we(be,I({},o),a?()=>a:null);e.style.position=o.positionType,e.options=o,e.instance=l,e.mask=(s=l==null?void 0:l.proxy)==null?void 0:s.$el},Te={mounted:function(e,n,o){X(e,o.props),Y(e),!x(n.value)&&W(e,n)},updated:function(e,n,o){!x(n.value)&&D.has(e)||x(n.value)&&!D.has(e)||(!D.has(e)&&X(e,o.props),Y(e),W(e,n))}};var G=t.defineComponent({name:"DAutoCompleteDropdown",directives:{dLoading:Te},setup(e,n){const o=t.inject(R),{visible:a,selectedIndex:l,selectOptionClick:s,searchList:r,searchStatus:u,dropDownRef:i,loadMore:f,showLoading:d,showNoResultItemTemplate:p,latestSource:c,modelValue:m,hoverIndex:w,valueParser:h}=o,{disabled:C,maxHeight:S,formatter:b,disabledKey:A,isSearching:V}=o.props,F=g=>{g=h.value(g),!(typeof g=="object"&&g[A])&&s(g)};return()=>t.withDirectives(t.createVNode("div",{class:["devui-dropdown-menu","devui-dropdown-menu-cdk",C&&"disabled",c.value&&"devui-dropdown-latestSource"]},[t.createVNode("ul",{ref:i,class:"devui-list-unstyled scroll-height",style:{maxHeight:`${S}px`},onScroll:f},[V&&n.slots.searchingTemplate&&(u==null?void 0:u.value)&&t.createVNode("li",{class:"devui-is-searching-template"},[t.createVNode("div",{class:"devui-no-data-tip"},[n.slots.searchingTemplate()])]),c.value&&!m.value&&t.createVNode("li",{class:"devui-popup-tips"},[t.createTextVNode("\u6700\u8FD1\u8F93\u5165")]),!p.value&&!(u==null?void 0:u.value)&&r!=null&&r.value.length>0&&r.value.map((g,E)=>t.createVNode("li",{onClick:()=>F(g),class:["devui-dropdown-item",l.value===E&&"selected",{disabled:A&&typeof g=="object"&&g[A]},{"devui-dropdown-bg":w.value===E}],title:b(g),key:b(g)},[n.slots.itemTemplate?n.slots.itemTemplate(g,E):b(g)])),!(u==null?void 0:u.value)&&r.value.length===0&&n.slots.noResultItemTemplate&&p.value&&t.createVNode("li",{class:"devui-no-result-template"},[t.createVNode("div",{class:"devui-no-data-tip"},[n.slots.noResultItemTemplate()])])])]),[[t.resolveDirective("dLoading"),d.value],[t.vShow,a.value&&r.value.length>0||n.slots.noResultItemTemplate&&p.value||V&&n.slots.searchingTemplate&&(u==null?void 0:u.value)]])}});const Ne=typeof window!="undefined";function J(e,n,o){document.addEventListener?e&&n&&o&&e.addEventListener(n,o,!1):e&&n&&o&&e.attachEvent("on"+n,o)}const N=Symbol("@@clickoutside"),P=new Map;let Q,O=0,Z=!0;function ee(e,n,o){return Ne&&Z&&(Z=!1,J(document,"mousedown",a=>{Q=a}),J(document,"mouseup",a=>{for(const[l,s]of P)s[N].documentHandler(a,Q)})),function(a,l){!o||!n.instance||!a.target||!l.target||e.contains(a.target)||e.contains(l.target)||e===a.target||e[N].bindingFn&&e[N].bindingFn()}}const Ce={beforeMount:function(e,n,o){O++,P.set(O,e),e[N]={nid:O,documentHandler:ee(e,n,o),bindingFn:n.value}},updated:function(e,n,o){e[N].documentHandler=ee(e,n,o),e[N].bindingFn=n.value},unmounted:function(e){P.delete(e[N].nid),delete e[N]}},Ae={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},offset:{type:[Number,Object],default:8},align:{type:String,default:null},showArrow:{type:Boolean,default:!1},isArrowCenter:{type:Boolean,default:!0}};function Fe(e){const n=/(auto|scroll|hidden)/;for(let o=e;o=o.parentElement;o.parentElement!==document.body){const a=window.getComputedStyle(o);if(n.test(a.overflow+a.overflowX+a.overflowY))return o}return window}function Se(e,n,o,a){let{x:l,y:s}=n;if(!e){const{width:r,height:u}=a;l&&o.includes("start")&&(l=12),l&&o.includes("end")&&(l=Math.round(r-24)),s&&o.includes("start")&&(s=10),s&&o.includes("end")&&(s=u-14)}return{x:l,y:s}}function Ee(e,n){const o=t.ref(),a=t.ref();let l=null;const s=(u,i,f,d)=>{const{x:p,y:c}=Se(e.isArrowCenter,f,i,d.getBoundingClientRect()),m={top:"bottom",right:"left",bottom:"top",left:"right"}[i.split("-")[0]];Object.assign(u.style,{left:p?`${p}px`:"",top:c?`${c}px`:"",right:"",bottom:"",[m]:"-4px"})},r=async()=>{const u=e.origin,i=t.unref(o.value),f=t.unref(a.value),d=[y.shift(),y.offset(e.offset),y.autoPlacement({alignment:e.align,allowedPlacements:e.position})];e.showArrow&&d.push(y.arrow({element:f}));const{x:p,y:c,placement:m,middlewareData:w}=await y.computePosition(u,i,{strategy:"fixed",middleware:d});n("positionChange",m),Object.assign(i.style,{top:`${c}px`,left:`${p}px`}),e.showArrow&&s(f,m,w.arrow,i)};return t.watch(()=>e.modelValue,()=>{e.modelValue&&e.origin?(l=Fe(e.origin),t.nextTick(r),l==null||l.addEventListener("scroll",r),l!==window&&window.addEventListener("scroll",r),window.addEventListener("resize",r)):(l==null||l.removeEventListener("scroll",r),l!==window&&window.removeEventListener("scroll",r),window.removeEventListener("resize",r))}),t.onUnmounted(()=>{l==null||l.removeEventListener("scroll",r),l!==window&&window.removeEventListener("scroll",r),window.removeEventListener("resize",r)}),{arrowRef:a,overlayRef:o,updatePosition:r}}var $e="";const te=t.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:Ae,emits:["update:modelValue","positionChange"],setup(e,{slots:n,attrs:o,emit:a,expose:l}){const{arrowRef:s,overlayRef:r,updatePosition:u}=Ee(e,a);return l({updatePosition:u}),()=>{var i;return e.modelValue&&t.createVNode("div",t.mergeProps({ref:r,class:"devui-flexible-overlay"},o),[(i=n.default)==null?void 0:i.call(n),e.showArrow&&t.createVNode("div",{ref:s,class:"devui-flexible-overlay-arrow"},null)])}}});function oe(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}var B=t.defineComponent({name:"DAutoComplete",directives:{ClickOutside:Ce},props:_,emits:["update:modelValue"],setup(e,n){const{disabled:o,modelValue:a,width:l,delay:s,allowEmptyValueSearch:r,appendToBody:u,formatter:i,transInputFocusEmit:f,selectValue:d,source:p,searchFn:c,position:m,latestSource:w,showAnimation:h,valueParser:C}=t.toRefs(e),{handleSearch:S,searchList:b,showNoResultItemTemplate:A,recentlyFocus:V}=de(n,r,p,c,i),{onInput:F,onFocus:g,inputRef:E,visible:L,searchStatus:ne,handleClose:j,toggleMenu:ke}=ce(n,b,A,a,o,s,S,f,V,w),{selectedIndex:le,selectOptionClick:ae}=fe(n,b,d,S,i,j),{showLoading:De,dropDownRef:re,loadMore:Ie}=pe(e,n,S),{customRenderSolts:se}=ue(n,a),{hoverIndex:Re,handlekeyDown:xe}=ve(re,L,b,le,ne,A,ae,j);t.provide(R,{props:e,visible:L,term:"",searchList:b,selectedIndex:le,searchStatus:ne,selectOptionClick:ae,dropDownRef:re,showLoading:De,loadMore:Ie,latestSource:w,modelValue:a,showNoResultItemTemplate:A,hoverIndex:Re,valueParser:C});const M=t.ref(),Pe=()=>{if(u.value){let k;return t.createVNode(t.Teleport,{to:"body"},{default:()=>[t.createVNode(t.Transition,{name:h?"fade":""},{default:()=>[t.createVNode(te,{"show-arrow":!0,origin:M.value,position:m.value,modelValue:L.value,"onUpdate:modelValue":H=>L.value=H},{default:()=>[t.createVNode("div",{class:"devui-auto-complete-menu",style:{width:`
2
+ ${l.value+"px"}
3
+ `}},[t.createVNode(G,null,oe(k=se())?k:{default:()=>[k]})])]})]})]})}else{let k;return t.createVNode(t.Transition,{name:h?"fade":""},{default:()=>[t.createVNode(te,{"show-arrow":!0,origin:M.value,position:m.value,modelValue:L.value,"onUpdate:modelValue":H=>L.value=H},{default:()=>[t.createVNode("div",{class:"devui-auto-complete-menu",style:{width:`
4
+ ${l.value+"px"}
5
+ `}},[t.createVNode(G,null,oe(k=se())?k:{default:()=>[k]})])]})]})}};return()=>t.withDirectives(t.createVNode("div",{class:["devui-auto-complete","devui-form-group","devui-has-feedback",L.value&&"devui-select-open"],ref:M,style:{width:`${l.value+"px"}`}},[t.createVNode("input",{disabled:o.value,type:"text",onClick:ke,class:["devui-form-control","devui-dropdown-origin","devui-dropdown-origin-open",o.value&&"disabled"],placeholder:"Search",onInput:F,onFocus:g,value:a.value,ref:E,onKeydown:xe},null),Pe()]),[[t.resolveDirective("click-outside"),j]])}}),Le={title:"AutoComplete \u81EA\u52A8\u8865\u5168",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.component(B.name,B)}};v.AutoComplete=B,v.DropdownPropsKey=R,v.autoCompleteProps=_,v.default=Le,Object.defineProperty(v,"__esModule",{value:!0}),v[Symbol.toStringTag]="Module"});
@@ -1 +1 @@
1
- @charset "UTF-8";.devui-auto-complete .devui-dropdown-menu,.devui-auto-complete-menu .devui-dropdown-menu{left:0!important;top:0!important}.devui-auto-complete .active{background:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-auto-complete .devui-dropdown-menu{width:100%;display:block}.devui-auto-complete .devui-dropdown-menu-cdk{position:static}.devui-auto-complete .devui-dropdown-item{cursor:pointer;display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:14px}.devui-auto-complete .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected{color:var(--devui-list-item-active-text, #ffffff);background-color:var(--devui-list-item-active-bg, #5e7ce0)}.devui-auto-complete .devui-no-result-template,.devui-auto-complete .devui-is-searching-template{display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);color:var(--devui-disabled-text, #adb0b8);line-height:14px}.devui-auto-complete .devui-no-result-template:hover,.devui-auto-complete .devui-no-result-template:active,.devui-auto-complete .devui-no-result-template:hover:active,.devui-auto-complete .devui-is-searching-template:hover,.devui-auto-complete .devui-is-searching-template:active,.devui-auto-complete .devui-is-searching-template:hover:active{background-color:var(--devui-unavailable, #f5f5f6)}.devui-auto-complete .devui-dropdown-item.disabled,.devui-auto-complete .devui-dropdown-item.disabled:hover{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-auto-complete ul.devui-list-unstyled{margin:0;overflow-y:auto}.devui-auto-complete .devui-dropdown-bg{background:var(--devui-list-item-hover-bg, #f2f5fc);color:var(--devui-list-item-hover-text, #526ecc)}.devui-auto-complete .devui-popup-tips{color:var(--devui-text-weak, #575d6c);padding:4px 12px}.devui-auto-complete .devui-dropdown-latestSource ul{line-height:initial!important}@keyframes devui-busy-spinner-anim{0%{transform:rotate(0) scale(1)}50%{transform:rotate(135deg) scale(1.5)}to{transform:rotate(270deg) scale(1)}}.devui-loading-mask{position:absolute;left:0;right:0;bottom:0;top:0;background-color:var(--devui-line, #adb0b8);opacity:.3}.devui-loading-wrapper{text-align:center}.devui-loading--full{position:fixed;left:0;right:0;bottom:0;top:0;z-index:9999}.devui-loading--hidden{overflow:hidden}.devui-loading-text{margin-left:10px}.devui-loading-area{position:absolute;transform:translate(-50%,-50%);padding:12px 14px;background:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px)}.devui-busy-default-spinner{position:relative;display:inline-block;width:15px;height:15px;animation:devui-busy-spinner-anim 1s linear infinite}.devui-busy-default-spinner div{position:absolute;left:44.5%;top:37%;width:6px;height:6px;border-radius:50%}.devui-busy-default-spinner .devui-loading-bar1{top:0;left:0;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-busy-default-spinner .devui-loading-bar2{top:0;left:9px;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar3{top:9px;left:0;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar4{top:9px;left:9px;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-flexible-overlay{position:fixed;border-radius:var(--devui-border-radius, 2px);background-color:var(--devui-connected-overlay-bg, #ffffff);box-shadow:var(--devui-shadow-connected-overlay, 0 2px 8px 0) var(--devui-shadow, rgba(0, 0, 0, .2));z-index:1000}.devui-flexible-overlay-arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}
1
+ @charset "UTF-8";.devui-auto-complete .devui-dropdown-menu,.devui-auto-complete-menu .devui-dropdown-menu{width:100%;left:0!important;top:0!important;margin:0!important}.devui-auto-complete .devui-dropdown-menu ul,.devui-auto-complete-menu .devui-dropdown-menu ul{width:100%;padding:0}.devui-auto-complete .devui-form-control{padding:4px 8px}.devui-auto-complete .active,.devui-auto-complete-menu .active{background:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-auto-complete .devui-dropdown-menu,.devui-auto-complete-menu .devui-dropdown-menu{width:100%;display:block}.devui-auto-complete .devui-dropdown-menu-cdk,.devui-auto-complete-menu .devui-dropdown-menu-cdk{position:static}.devui-auto-complete .devui-dropdown-item,.devui-auto-complete-menu .devui-dropdown-item{cursor:pointer;display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:14px}.devui-auto-complete .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected,.devui-auto-complete .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected .devui-auto-complete .devui-dropdown-menu .devui-dropdown-item:not(.disabled):hover,.devui-auto-complete-menu .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected,.devui-auto-complete .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected .devui-auto-complete-menu .devui-dropdown-menu .devui-dropdown-item:not(.disabled):hover,.devui-auto-complete-menu .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected .devui-auto-complete .devui-dropdown-menu .devui-dropdown-item:not(.disabled):hover,.devui-auto-complete-menu .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected .devui-auto-complete-menu .devui-dropdown-menu .devui-dropdown-item:not(.disabled):hover{color:var(--devui-list-item-active-text, #ffffff)!important;background-color:var(--devui-list-item-active-bg, #5e7ce0)!important}.devui-auto-complete .devui-no-result-template,.devui-auto-complete .devui-is-searching-template,.devui-auto-complete-menu .devui-no-result-template,.devui-auto-complete-menu .devui-is-searching-template{display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);color:var(--devui-disabled-text, #adb0b8);line-height:14px}.devui-auto-complete .devui-no-result-template:hover,.devui-auto-complete .devui-no-result-template:active,.devui-auto-complete .devui-no-result-template:hover:active,.devui-auto-complete .devui-is-searching-template:hover,.devui-auto-complete .devui-is-searching-template:active,.devui-auto-complete .devui-is-searching-template:hover:active,.devui-auto-complete-menu .devui-no-result-template:hover,.devui-auto-complete-menu .devui-no-result-template:active,.devui-auto-complete-menu .devui-no-result-template:hover:active,.devui-auto-complete-menu .devui-is-searching-template:hover,.devui-auto-complete-menu .devui-is-searching-template:active,.devui-auto-complete-menu .devui-is-searching-template:hover:active{background-color:var(--devui-unavailable, #f5f5f6)}.devui-auto-complete .devui-dropdown-item.disabled,.devui-auto-complete .devui-dropdown-item.disabled:hover,.devui-auto-complete-menu .devui-dropdown-item.disabled,.devui-auto-complete-menu .devui-dropdown-item.disabled:hover{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-auto-complete ul.devui-list-unstyled,.devui-auto-complete-menu ul.devui-list-unstyled{margin:0;overflow-y:auto}.devui-auto-complete .devui-dropdown-bg,.devui-auto-complete-menu .devui-dropdown-bg{background:var(--devui-list-item-hover-bg, #f2f5fc);color:var(--devui-list-item-hover-text, #526ecc)}.devui-auto-complete .devui-popup-tips,.devui-auto-complete-menu .devui-popup-tips{color:var(--devui-text-weak, #575d6c);padding:4px 12px}.devui-auto-complete .devui-dropdown-latestSource ul,.devui-auto-complete-menu .devui-dropdown-latestSource ul{line-height:initial!important}@keyframes devui-busy-spinner-anim{0%{transform:rotate(0) scale(1)}50%{transform:rotate(135deg) scale(1.5)}to{transform:rotate(270deg) scale(1)}}.devui-loading-mask{position:absolute;left:0;right:0;bottom:0;top:0;background-color:var(--devui-line, #adb0b8);opacity:.3}.devui-loading-wrapper{text-align:center}.devui-loading--full{position:fixed;left:0;right:0;bottom:0;top:0;z-index:9999}.devui-loading--hidden{overflow:hidden}.devui-loading-text{margin-left:10px}.devui-loading-area{position:absolute;transform:translate(-50%,-50%);padding:12px 14px;background:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px)}.devui-busy-default-spinner{position:relative;display:inline-block;width:15px;height:15px;animation:devui-busy-spinner-anim 1s linear infinite}.devui-busy-default-spinner div{position:absolute;left:44.5%;top:37%;width:6px;height:6px;border-radius:50%}.devui-busy-default-spinner .devui-loading-bar1{top:0;left:0;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-busy-default-spinner .devui-loading-bar2{top:0;left:9px;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar3{top:9px;left:0;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar4{top:9px;left:9px;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-flexible-overlay{position:fixed;border-radius:var(--devui-border-radius, 2px);background-color:var(--devui-connected-overlay-bg, #ffffff);box-shadow:var(--devui-shadow-connected-overlay, 0 2px 8px 0) var(--devui-shadow, rgba(0, 0, 0, .2));z-index:1000}.devui-flexible-overlay-arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}