vue-devui 1.0.0-rc.1 → 1.0.0-rc.10

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 (328) hide show
  1. package/README.md +149 -200
  2. package/alert/index.es.js +46 -15
  3. package/alert/index.umd.js +1 -1
  4. package/alert/style.css +1 -1
  5. package/auto-complete/index.es.js +8166 -287
  6. package/auto-complete/index.umd.js +29 -1
  7. package/auto-complete/style.css +1 -1
  8. package/avatar/index.es.js +153 -146
  9. package/avatar/index.umd.js +1 -1
  10. package/avatar/style.css +1 -1
  11. package/badge/index.es.js +29 -4
  12. package/badge/index.umd.js +1 -1
  13. package/badge/style.css +1 -1
  14. package/button/index.es.js +5726 -111
  15. package/button/index.umd.js +27 -1
  16. package/button/style.css +1 -1
  17. package/card/index.es.js +59 -35
  18. package/card/index.umd.js +1 -1
  19. package/card/style.css +1 -1
  20. package/checkbox/index.es.js +8060 -255
  21. package/checkbox/index.umd.js +27 -1
  22. package/checkbox/style.css +1 -1
  23. package/{accordion → collapse}/index.d.ts +0 -0
  24. package/collapse/index.es.js +379 -0
  25. package/collapse/index.umd.js +1 -0
  26. package/{anchor → collapse}/package.json +1 -1
  27. package/collapse/style.css +1 -0
  28. package/countdown/index.es.js +3 -6
  29. package/countdown/index.umd.js +1 -1
  30. package/date-picker/index.es.js +8130 -242
  31. package/date-picker/index.umd.js +27 -1
  32. package/date-picker/style.css +1 -1
  33. package/drawer/index.es.js +31 -4
  34. package/drawer/index.umd.js +1 -1
  35. package/drawer/style.css +1 -1
  36. package/dropdown/index.es.js +209 -148
  37. package/dropdown/index.umd.js +1 -1
  38. package/dropdown/style.css +1 -1
  39. package/editable-select/index.es.js +521 -153
  40. package/editable-select/index.umd.js +1 -1
  41. package/editable-select/style.css +1 -1
  42. package/form/index.es.js +1040 -1187
  43. package/form/index.umd.js +16 -16
  44. package/form/style.css +1 -1
  45. package/fullscreen/index.es.js +29 -5
  46. package/fullscreen/index.umd.js +1 -1
  47. package/fullscreen/style.css +1 -1
  48. package/grid/index.es.js +101 -86
  49. package/grid/index.umd.js +1 -1
  50. package/grid/style.css +1 -1
  51. package/icon/index.es.js +182 -23
  52. package/icon/index.umd.js +1 -1
  53. package/icon/style.css +1 -0
  54. package/image-preview/index.es.js +53 -30
  55. package/image-preview/index.umd.js +1 -1
  56. package/image-preview/style.css +1 -1
  57. package/input/index.es.js +8066 -144
  58. package/input/index.umd.js +27 -1
  59. package/input/style.css +1 -1
  60. package/input-number/index.es.js +274 -177
  61. package/input-number/index.umd.js +1 -1
  62. package/input-number/style.css +1 -1
  63. package/layout/index.es.js +40 -25
  64. package/layout/index.umd.js +1 -1
  65. package/layout/style.css +1 -1
  66. package/loading/index.es.js +74 -35
  67. package/loading/index.umd.js +1 -1
  68. package/loading/style.css +1 -1
  69. package/modal/index.es.js +374 -171
  70. package/modal/index.umd.js +1 -1
  71. package/modal/style.css +1 -1
  72. package/notification/index.es.js +292 -40
  73. package/notification/index.umd.js +1 -1
  74. package/notification/style.css +1 -1
  75. package/nuxt/components/ButtonGroup.js +3 -0
  76. package/nuxt/components/CheckboxButton.js +3 -0
  77. package/nuxt/components/CheckboxGroup.js +3 -0
  78. package/nuxt/components/Collapse.js +3 -0
  79. package/nuxt/components/CollapseItem.js +3 -0
  80. package/nuxt/components/DropdownPropsKey.js +3 -0
  81. package/nuxt/components/FORM_ITEM_TOKEN.js +3 -0
  82. package/nuxt/components/FORM_TOKEN.js +3 -0
  83. package/nuxt/components/Icon.js +1 -0
  84. package/nuxt/components/IconGroup.js +3 -0
  85. package/nuxt/components/LABEL_DATA.js +3 -0
  86. package/nuxt/components/LoadingOptions.js +3 -0
  87. package/nuxt/components/Option.js +3 -0
  88. package/nuxt/components/RadioButton.js +3 -0
  89. package/nuxt/components/Tab.js +3 -0
  90. package/nuxt/components/autoCompleteProps.js +3 -0
  91. package/nuxt/components/avatarProps.js +3 -0
  92. package/nuxt/components/buttonGroupInjectionKey.js +3 -0
  93. package/nuxt/components/buttonGroupProps.js +3 -0
  94. package/nuxt/components/cardProps.js +3 -0
  95. package/nuxt/components/checkboxGroupInjectionKey.js +3 -0
  96. package/nuxt/components/checkboxGroupProps.js +3 -0
  97. package/nuxt/components/checkboxProps.js +3 -0
  98. package/nuxt/components/colProps.js +3 -0
  99. package/nuxt/components/colPropsBaseClass.js +3 -0
  100. package/nuxt/components/colPropsBaseStyle.js +3 -0
  101. package/nuxt/components/collapseItemProps.js +3 -0
  102. package/nuxt/components/collapseProps.js +3 -0
  103. package/nuxt/components/countdownProps.js +3 -0
  104. package/nuxt/components/editableSelectProps.js +3 -0
  105. package/nuxt/components/formItemProps.js +3 -0
  106. package/nuxt/components/formProps.js +3 -0
  107. package/nuxt/components/iconProps.js +1 -0
  108. package/nuxt/components/imagePreviewProps.js +3 -0
  109. package/nuxt/components/inputProps.js +3 -0
  110. package/nuxt/components/loadingProps.js +3 -0
  111. package/nuxt/components/modalProps.js +3 -0
  112. package/nuxt/components/progressProps.js +3 -0
  113. package/nuxt/components/rateProps.js +3 -0
  114. package/nuxt/components/resultProps.js +3 -0
  115. package/nuxt/components/rowProps.js +3 -0
  116. package/nuxt/components/screenSizes.js +3 -0
  117. package/nuxt/components/skeletonProps.js +3 -0
  118. package/nuxt/components/sliderProps.js +3 -0
  119. package/nuxt/components/splitterProps.js +3 -0
  120. package/nuxt/components/statisticProps.js +3 -0
  121. package/nuxt/components/svgIconProps.js +3 -0
  122. package/nuxt/components/switchProps.js +3 -0
  123. package/nuxt/components/tabsProps.js +3 -0
  124. package/nuxt/components/tagProps.js +3 -0
  125. package/nuxt/components/textareaProps.js +3 -0
  126. package/nuxt/components/timeAxisProps.js +3 -0
  127. package/nuxt/components/treeProps.js +3 -0
  128. package/overlay/index.es.js +104 -133
  129. package/overlay/index.umd.js +1 -1
  130. package/overlay/style.css +1 -1
  131. package/package.json +3 -2
  132. package/pagination/index.es.js +148 -136
  133. package/pagination/index.umd.js +1 -1
  134. package/pagination/style.css +1 -1
  135. package/panel/style.css +1 -1
  136. package/popover/index.es.js +294 -230
  137. package/popover/index.umd.js +15 -15
  138. package/popover/style.css +1 -1
  139. package/progress/index.es.js +110 -56
  140. package/progress/index.umd.js +3 -3
  141. package/progress/style.css +1 -1
  142. package/radio/index.es.js +7959 -146
  143. package/radio/index.umd.js +27 -1
  144. package/radio/style.css +1 -1
  145. package/rate/index.es.js +77 -55
  146. package/rate/index.umd.js +1 -1
  147. package/rate/style.css +1 -1
  148. package/result/index.es.js +169 -27
  149. package/result/index.umd.js +1 -1
  150. package/result/style.css +1 -1
  151. package/ripple/index.es.js +43 -42
  152. package/ripple/index.umd.js +1 -1
  153. package/search/index.es.js +3620 -1095
  154. package/search/index.umd.js +18 -18
  155. package/search/style.css +1 -1
  156. package/select/index.es.js +9131 -584
  157. package/select/index.umd.js +27 -1
  158. package/select/style.css +1 -1
  159. package/skeleton/index.es.js +46 -24
  160. package/skeleton/index.umd.js +1 -1
  161. package/skeleton/style.css +1 -1
  162. package/slider/index.es.js +108 -75
  163. package/slider/index.umd.js +1 -1
  164. package/slider/style.css +1 -1
  165. package/splitter/index.es.js +443 -335
  166. package/splitter/index.umd.js +15 -15
  167. package/splitter/style.css +1 -1
  168. package/statistic/index.es.js +7 -18
  169. package/statistic/index.umd.js +1 -1
  170. package/status/index.es.js +26 -2
  171. package/status/index.umd.js +1 -1
  172. package/status/style.css +1 -1
  173. package/style.css +1 -1
  174. package/switch/index.es.js +7794 -64
  175. package/switch/index.umd.js +27 -1
  176. package/switch/style.css +1 -1
  177. package/table/index.es.js +10038 -1180
  178. package/table/index.umd.js +27 -1
  179. package/table/style.css +1 -1
  180. package/tabs/index.es.js +342 -141
  181. package/tabs/index.umd.js +1 -1
  182. package/tabs/style.css +1 -1
  183. package/tag/index.es.js +47 -23
  184. package/tag/index.umd.js +1 -1
  185. package/tag/style.css +1 -1
  186. package/textarea/index.es.js +7913 -83
  187. package/textarea/index.umd.js +35 -1
  188. package/textarea/style.css +1 -1
  189. package/timeline/index.es.js +176 -37
  190. package/timeline/index.umd.js +1 -1
  191. package/timeline/style.css +1 -1
  192. package/tooltip/index.es.js +285 -220
  193. package/tooltip/index.umd.js +15 -15
  194. package/tooltip/style.css +1 -1
  195. package/tree/index.es.js +4190 -1857
  196. package/tree/index.umd.js +18 -18
  197. package/tree/style.css +1 -1
  198. package/upload/index.es.js +365 -106
  199. package/upload/index.umd.js +1 -1
  200. package/upload/style.css +1 -1
  201. package/vue-devui.es.js +20102 -25264
  202. package/vue-devui.umd.js +25 -15
  203. package/accordion/index.es.js +0 -723
  204. package/accordion/index.umd.js +0 -1
  205. package/accordion/package.json +0 -7
  206. package/accordion/style.css +0 -1
  207. package/anchor/index.d.ts +0 -7
  208. package/anchor/index.es.js +0 -263
  209. package/anchor/index.umd.js +0 -1
  210. package/anchor/style.css +0 -1
  211. package/back-top/index.d.ts +0 -7
  212. package/back-top/index.es.js +0 -130
  213. package/back-top/index.umd.js +0 -1
  214. package/back-top/package.json +0 -7
  215. package/back-top/style.css +0 -1
  216. package/breadcrumb/index.d.ts +0 -7
  217. package/breadcrumb/index.es.js +0 -128
  218. package/breadcrumb/index.umd.js +0 -1
  219. package/breadcrumb/package.json +0 -7
  220. package/breadcrumb/style.css +0 -1
  221. package/carousel/index.d.ts +0 -7
  222. package/carousel/index.es.js +0 -314
  223. package/carousel/index.umd.js +0 -1
  224. package/carousel/package.json +0 -7
  225. package/carousel/style.css +0 -1
  226. package/cascader/index.d.ts +0 -7
  227. package/cascader/index.es.js +0 -5971
  228. package/cascader/index.umd.js +0 -27
  229. package/cascader/package.json +0 -7
  230. package/cascader/style.css +0 -1
  231. package/color-picker/index.d.ts +0 -7
  232. package/color-picker/index.es.js +0 -8196
  233. package/color-picker/index.umd.js +0 -27
  234. package/color-picker/package.json +0 -7
  235. package/color-picker/style.css +0 -1
  236. package/comment/index.d.ts +0 -7
  237. package/comment/index.es.js +0 -86
  238. package/comment/index.umd.js +0 -1
  239. package/comment/package.json +0 -7
  240. package/comment/style.css +0 -1
  241. package/dragdrop/index.d.ts +0 -7
  242. package/dragdrop/index.es.js +0 -157
  243. package/dragdrop/index.umd.js +0 -1
  244. package/dragdrop/package.json +0 -7
  245. package/gantt/index.d.ts +0 -7
  246. package/gantt/index.es.js +0 -523
  247. package/gantt/index.umd.js +0 -1
  248. package/gantt/package.json +0 -7
  249. package/gantt/style.css +0 -1
  250. package/input-icon/index.d.ts +0 -7
  251. package/input-icon/index.es.js +0 -332
  252. package/input-icon/index.umd.js +0 -1
  253. package/input-icon/package.json +0 -7
  254. package/input-icon/style.css +0 -1
  255. package/list/index.d.ts +0 -7
  256. package/list/index.es.js +0 -39
  257. package/list/index.umd.js +0 -1
  258. package/list/package.json +0 -7
  259. package/list/style.css +0 -1
  260. package/nav-sprite/index.d.ts +0 -7
  261. package/nav-sprite/index.es.js +0 -68
  262. package/nav-sprite/index.umd.js +0 -1
  263. package/nav-sprite/package.json +0 -7
  264. package/nuxt/components/Accordion.js +0 -3
  265. package/nuxt/components/Anchor.js +0 -3
  266. package/nuxt/components/BackTop.js +0 -3
  267. package/nuxt/components/Breadcrumb.js +0 -3
  268. package/nuxt/components/Carousel.js +0 -3
  269. package/nuxt/components/CarouselItem.js +0 -3
  270. package/nuxt/components/Cascader.js +0 -3
  271. package/nuxt/components/ColorPicker.js +0 -3
  272. package/nuxt/components/Comment.js +0 -3
  273. package/nuxt/components/FormControl.js +0 -3
  274. package/nuxt/components/FormLabel.js +0 -3
  275. package/nuxt/components/Gantt.js +0 -3
  276. package/nuxt/components/InputIcon.js +0 -3
  277. package/nuxt/components/List.js +0 -3
  278. package/nuxt/components/ListItem.js +0 -3
  279. package/nuxt/components/NavSprite.js +0 -2
  280. package/nuxt/components/QuadrantDiagram.js +0 -3
  281. package/nuxt/components/ReadTip.js +0 -3
  282. package/nuxt/components/StepsGuide.js +0 -3
  283. package/nuxt/components/Sticky.js +0 -2
  284. package/nuxt/components/TagInput.js +0 -3
  285. package/nuxt/components/TimePicker.js +0 -3
  286. package/nuxt/components/Transfer.js +0 -3
  287. package/nuxt/components/TreeSelect.js +0 -3
  288. package/nuxt/components/overlayEmits.js +0 -3
  289. package/nuxt/components/overlayProps.js +0 -3
  290. package/quadrant-diagram/index.d.ts +0 -7
  291. package/quadrant-diagram/index.es.js +0 -5728
  292. package/quadrant-diagram/index.umd.js +0 -27
  293. package/quadrant-diagram/package.json +0 -7
  294. package/quadrant-diagram/style.css +0 -1
  295. package/read-tip/index.d.ts +0 -7
  296. package/read-tip/index.es.js +0 -261
  297. package/read-tip/index.umd.js +0 -1
  298. package/read-tip/package.json +0 -7
  299. package/read-tip/style.css +0 -1
  300. package/steps-guide/index.d.ts +0 -7
  301. package/steps-guide/index.es.js +0 -242
  302. package/steps-guide/index.umd.js +0 -1
  303. package/steps-guide/package.json +0 -7
  304. package/steps-guide/style.css +0 -1
  305. package/sticky/index.d.ts +0 -7
  306. package/sticky/index.es.js +0 -197
  307. package/sticky/index.umd.js +0 -1
  308. package/sticky/package.json +0 -7
  309. package/tag-input/index.d.ts +0 -7
  310. package/tag-input/index.es.js +0 -331
  311. package/tag-input/index.umd.js +0 -1
  312. package/tag-input/package.json +0 -7
  313. package/tag-input/style.css +0 -1
  314. package/time-picker/index.d.ts +0 -7
  315. package/time-picker/index.es.js +0 -1238
  316. package/time-picker/index.umd.js +0 -1
  317. package/time-picker/package.json +0 -7
  318. package/time-picker/style.css +0 -1
  319. package/transfer/index.d.ts +0 -7
  320. package/transfer/index.es.js +0 -7615
  321. package/transfer/index.umd.js +0 -27
  322. package/transfer/package.json +0 -7
  323. package/transfer/style.css +0 -1
  324. package/tree-select/index.d.ts +0 -7
  325. package/tree-select/index.es.js +0 -627
  326. package/tree-select/index.umd.js +0 -1
  327. package/tree-select/package.json +0 -7
  328. package/tree-select/style.css +0 -1
@@ -1,150 +1,108 @@
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 { defineComponent, createVNode, Teleport, Transition, renderSlot, isVNode, computed, onMounted, watch, onUnmounted, ref, unref, nextTick, mergeProps, toRefs, Fragment } from "vue";
21
- import { shift, offset, autoPlacement, arrow, computePosition } from "@floating-ui/dom";
22
- var baseOverlay = "";
23
- function _isSlot(s) {
24
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
25
- }
26
- const CommonOverlay = defineComponent({
27
- setup(props, ctx) {
28
- return () => {
29
- let _slot;
30
- return createVNode(Teleport, {
31
- "to": "#d-overlay-anchor"
32
- }, {
33
- default: () => [createVNode(Transition, {
34
- "name": "devui-overlay-fade"
35
- }, _isSlot(_slot = renderSlot(ctx.slots, "default")) ? _slot : {
36
- default: () => [_slot]
37
- })]
38
- });
39
- };
40
- }
41
- });
42
- const overlayProps = {
43
- visible: {
44
- type: Boolean
45
- },
46
- backgroundBlock: {
1
+ import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, unref, nextTick, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, provide, Teleport } from "vue";
2
+ import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
3
+ const fixedOverlayProps = {
4
+ modelValue: {
47
5
  type: Boolean,
48
6
  default: false
49
7
  },
50
- backgroundClass: {
51
- type: String,
52
- default: ""
53
- },
54
- backgroundStyle: {
55
- type: [String, Object]
56
- },
57
- onBackdropClick: {
58
- type: Function
59
- },
60
- backdropClose: {
8
+ lockScroll: {
61
9
  type: Boolean,
62
10
  default: true
63
11
  },
64
- hasBackdrop: {
12
+ closeOnClickOverlay: {
65
13
  type: Boolean,
66
14
  default: true
67
15
  }
68
16
  };
69
- const fixedOverlayProps = __spreadProps(__spreadValues({}, overlayProps), {
70
- overlayStyle: {
71
- type: [String, Object],
72
- default: void 0
17
+ function lockScroll() {
18
+ if (document.documentElement.scrollHeight > document.documentElement.clientHeight) {
19
+ const scrollTop = document.documentElement.scrollTop;
20
+ const style = document.documentElement.getAttribute("style");
21
+ document.documentElement.style.position = "fixed";
22
+ document.documentElement.style.top = `-${scrollTop}px`;
23
+ document.documentElement.style.width = document.documentElement.style.width || "100%";
24
+ document.documentElement.style.overflowY = "scroll";
25
+ return () => {
26
+ if (style) {
27
+ document.documentElement.setAttribute("style", style);
28
+ } else {
29
+ document.documentElement.removeAttribute("style");
30
+ }
31
+ document.documentElement.scrollTop = scrollTop;
32
+ };
73
33
  }
74
- });
75
- const overlayEmits = ["update:visible", "backdropClick"];
76
- function useOverlayLogic(props, ctx) {
77
- const backgroundClass = computed(() => {
78
- return [
79
- "devui-overlay-background",
80
- props.backgroundClass,
81
- !props.hasBackdrop ? "devui-overlay-background__disabled" : "devui-overlay-background__color"
82
- ];
83
- });
84
- const overlayClass = computed(() => {
85
- return "devui-overlay";
86
- });
87
- const handleBackdropClick = (event) => {
88
- var _a;
34
+ return;
35
+ }
36
+ function useFixedOverlay(props, ctx) {
37
+ let lockScrollCb;
38
+ const onClick = (event) => {
89
39
  event.preventDefault();
90
- (_a = props.onBackdropClick) == null ? void 0 : _a.call(props);
91
- if (props.backdropClose) {
92
- ctx.emit("update:visible", false);
40
+ ctx.emit("click", event);
41
+ if (props.closeOnClickOverlay) {
42
+ ctx.emit("update:modelValue", false);
93
43
  }
94
44
  };
95
- const handleOverlayBubbleCancel = (event) => event.cancelBubble = true;
96
- onMounted(() => {
97
- const body = document.body;
98
- const originOverflow = body.style.overflow;
99
- const originPosition = body.style.position;
100
- watch([() => props.visible, () => props.backgroundBlock], ([visible, backgroundBlock]) => {
101
- if (backgroundBlock) {
102
- const top = body.getBoundingClientRect().y;
103
- if (visible) {
104
- body.style.overflowY = "scroll";
105
- body.style.position = visible ? "fixed" : "";
106
- body.style.top = `${top}px`;
107
- } else {
108
- body.style.overflowY = originOverflow;
109
- body.style.position = originPosition;
110
- body.style.top = "";
111
- window.scrollTo(0, -top);
112
- }
113
- }
114
- });
115
- onUnmounted(() => {
116
- document.body.style.overflow = originOverflow;
117
- });
45
+ const removeBodyAdditions = () => {
46
+ lockScrollCb == null ? void 0 : lockScrollCb();
47
+ };
48
+ watch(() => props.modelValue, (val) => {
49
+ if (val) {
50
+ props.lockScroll && (lockScrollCb = lockScroll());
51
+ } else {
52
+ removeBodyAdditions();
53
+ }
118
54
  });
55
+ onUnmounted(removeBodyAdditions);
56
+ return { onClick };
57
+ }
58
+ function createBem(namespace, element, modifier) {
59
+ let cls = namespace;
60
+ if (element) {
61
+ cls += `__${element}`;
62
+ }
63
+ if (modifier) {
64
+ cls += `--${modifier}`;
65
+ }
66
+ return cls;
67
+ }
68
+ function useNamespace(block, needDot = false) {
69
+ const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
70
+ const b = () => createBem(namespace);
71
+ const e = (element) => element ? createBem(namespace, element) : "";
72
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
73
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
119
74
  return {
120
- backgroundClass,
121
- overlayClass,
122
- handleBackdropClick,
123
- handleOverlayBubbleCancel
75
+ b,
76
+ e,
77
+ m,
78
+ em
124
79
  };
125
80
  }
126
81
  var fixedOverlay = "";
127
82
  defineComponent({
128
83
  name: "DFixedOverlay",
84
+ inheritAttrs: false,
129
85
  props: fixedOverlayProps,
130
- emits: overlayEmits,
86
+ emits: ["update:modelValue", "click"],
131
87
  setup(props, ctx) {
132
88
  const {
133
- backgroundClass,
134
- overlayClass,
135
- handleBackdropClick,
136
- handleOverlayBubbleCancel
137
- } = useOverlayLogic(props, ctx);
138
- return () => createVNode(CommonOverlay, null, {
139
- default: () => [props.visible && createVNode("div", {
140
- "class": backgroundClass.value,
141
- "style": props.backgroundStyle,
142
- "onClick": handleBackdropClick
143
- }, [createVNode("div", {
144
- "class": overlayClass.value,
145
- "style": props.overlayStyle,
146
- "onClick": handleOverlayBubbleCancel
147
- }, [renderSlot(ctx.slots, "default")])])]
89
+ modelValue
90
+ } = toRefs(props);
91
+ const ns2 = useNamespace("fixed-overlay");
92
+ const {
93
+ onClick
94
+ } = useFixedOverlay(props, ctx);
95
+ return () => createVNode(Transition, {
96
+ "name": ns2.m("fade")
97
+ }, {
98
+ default: () => {
99
+ var _a, _b;
100
+ return [modelValue.value && createVNode("div", mergeProps({
101
+ "class": ns2.b()
102
+ }, ctx.attrs, {
103
+ "onClick": onClick
104
+ }), [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)])];
105
+ }
148
106
  });
149
107
  }
150
108
  });
@@ -165,6 +123,9 @@ const flexibleOverlayProps = {
165
123
  type: [Number, Object],
166
124
  default: 8
167
125
  },
126
+ shiftOffset: {
127
+ type: Number
128
+ },
168
129
  align: {
169
130
  type: String,
170
131
  default: null
@@ -210,6 +171,7 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
210
171
  function useOverlay(props, emit) {
211
172
  const overlayRef = ref();
212
173
  const arrowRef = ref();
174
+ let originParent = null;
213
175
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
214
176
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
215
177
  const staticSide = {
@@ -231,7 +193,6 @@ function useOverlay(props, emit) {
231
193
  const overlayEl = unref(overlayRef.value);
232
194
  const arrowEl = unref(arrowRef.value);
233
195
  const middleware = [
234
- shift(),
235
196
  offset(props.offset),
236
197
  autoPlacement({
237
198
  alignment: props.align,
@@ -239,30 +200,39 @@ function useOverlay(props, emit) {
239
200
  })
240
201
  ];
241
202
  props.showArrow && middleware.push(arrow({ element: arrowEl }));
203
+ props.shiftOffset !== void 0 && middleware.push(shift());
242
204
  const { x, y, placement, middlewareData } = await computePosition(hostEl, overlayEl, {
243
205
  strategy: "fixed",
244
206
  middleware
245
207
  });
208
+ let applyX = x;
209
+ let applyY = y;
210
+ if (props.shiftOffset !== void 0) {
211
+ const { x: shiftX, y: shiftY } = middlewareData.shift;
212
+ shiftX < 0 && (applyX -= props.shiftOffset);
213
+ shiftX > 0 && (applyX += props.shiftOffset);
214
+ shiftY < 0 && (applyY -= props.shiftOffset);
215
+ shiftY > 0 && (applyY += props.shiftOffset);
216
+ }
246
217
  emit("positionChange", placement);
247
- Object.assign(overlayEl.style, { top: `${y}px`, left: `${x}px` });
218
+ Object.assign(overlayEl.style, { top: `${applyY}px`, left: `${applyX}px` });
248
219
  props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
249
220
  };
250
221
  watch(() => props.modelValue, () => {
251
- const originParent = getScrollParent(props.origin);
252
222
  if (props.modelValue && props.origin) {
223
+ originParent = getScrollParent(props.origin);
253
224
  nextTick(updatePosition);
254
- originParent.addEventListener("scroll", updatePosition);
225
+ originParent == null ? void 0 : originParent.addEventListener("scroll", updatePosition);
255
226
  originParent !== window && window.addEventListener("scroll", updatePosition);
256
227
  window.addEventListener("resize", updatePosition);
257
228
  } else {
258
- originParent.removeEventListener("scroll", updatePosition);
229
+ originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
259
230
  originParent !== window && window.removeEventListener("scroll", updatePosition);
260
231
  window.removeEventListener("resize", updatePosition);
261
232
  }
262
233
  });
263
234
  onUnmounted(() => {
264
- const originParent = getScrollParent(props.origin);
265
- originParent.removeEventListener("scroll", updatePosition);
235
+ originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
266
236
  originParent !== window && window.removeEventListener("scroll", updatePosition);
267
237
  window.removeEventListener("resize", updatePosition);
268
238
  });
@@ -280,6 +250,7 @@ const FlexibleOverlay = defineComponent({
280
250
  emit,
281
251
  expose
282
252
  }) {
253
+ const ns2 = useNamespace("flexible-overlay");
283
254
  const {
284
255
  arrowRef,
285
256
  overlayRef,
@@ -292,14 +263,70 @@ const FlexibleOverlay = defineComponent({
292
263
  var _a;
293
264
  return props.modelValue && createVNode("div", mergeProps({
294
265
  "ref": overlayRef,
295
- "class": "devui-flexible-overlay"
266
+ "class": ns2.b()
296
267
  }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots), props.showArrow && createVNode("div", {
297
268
  "ref": arrowRef,
298
- "class": "devui-flexible-overlay-arrow"
269
+ "class": ns2.e("arrow")
299
270
  }, null)]);
300
271
  };
301
272
  }
302
273
  });
274
+ const POPPER_TRIGGER_TOKEN = Symbol("popper-trigger");
275
+ const isObject = (val) => val !== null && typeof val === "object";
276
+ const ns = useNamespace("popper-trigger");
277
+ function wrapContent(content) {
278
+ return h("span", { class: ns.b() }, content);
279
+ }
280
+ function getFirstValidChild(nodes) {
281
+ for (const child of nodes) {
282
+ if (isObject(child)) {
283
+ if (child.type === Comment) {
284
+ continue;
285
+ }
286
+ if (child.type === "svg" || child.type === Text) {
287
+ return wrapContent(child);
288
+ }
289
+ if (child.type === Fragment) {
290
+ return getFirstValidChild(child.children);
291
+ }
292
+ return child;
293
+ }
294
+ return wrapContent(child);
295
+ }
296
+ return null;
297
+ }
298
+ var PopperTrigger = defineComponent({
299
+ name: "DPopperTrigger",
300
+ setup(_, ctx) {
301
+ const {
302
+ slots,
303
+ attrs
304
+ } = ctx;
305
+ return () => {
306
+ var _a;
307
+ const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots, attrs);
308
+ const triggerRef = inject(POPPER_TRIGGER_TOKEN);
309
+ if (!defaultSlot) {
310
+ return null;
311
+ }
312
+ const firstValidChild = getFirstValidChild(defaultSlot);
313
+ if (!firstValidChild) {
314
+ return null;
315
+ }
316
+ return withDirectives(cloneVNode(firstValidChild, attrs), [[{
317
+ mounted(el) {
318
+ triggerRef.value = el;
319
+ },
320
+ updated(el) {
321
+ triggerRef.value = el;
322
+ },
323
+ unmounted() {
324
+ triggerRef.value = null;
325
+ }
326
+ }]]);
327
+ };
328
+ }
329
+ });
303
330
  const tooltipProps = {
304
331
  content: {
305
332
  type: String,
@@ -320,6 +347,18 @@ const tooltipProps = {
320
347
  mouseLeaveDelay: {
321
348
  type: Number,
322
349
  default: 100
350
+ },
351
+ enterable: {
352
+ type: Boolean,
353
+ default: true
354
+ },
355
+ disabled: {
356
+ type: Boolean,
357
+ default: false
358
+ },
359
+ hideAfter: {
360
+ type: Number,
361
+ default: 0
323
362
  }
324
363
  };
325
364
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
@@ -1019,7 +1058,7 @@ var lodash = { exports: {} };
1019
1058
  }
1020
1059
  var runInContext = function runInContext2(context) {
1021
1060
  context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));
1022
- var Array2 = context.Array, Date = context.Date, Error2 = context.Error, Function2 = context.Function, Math2 = context.Math, Object2 = context.Object, RegExp2 = context.RegExp, String2 = context.String, TypeError2 = context.TypeError;
1061
+ var Array2 = context.Array, Date = context.Date, Error = context.Error, Function2 = context.Function, Math2 = context.Math, Object2 = context.Object, RegExp2 = context.RegExp, String2 = context.String, TypeError = context.TypeError;
1023
1062
  var arrayProto = Array2.prototype, funcProto = Function2.prototype, objectProto = Object2.prototype;
1024
1063
  var coreJsData = context["__core-js_shared__"];
1025
1064
  var funcToString = funcProto.toString;
@@ -1033,7 +1072,7 @@ var lodash = { exports: {} };
1033
1072
  var objectCtorString = funcToString.call(Object2);
1034
1073
  var oldDash = root._;
1035
1074
  var reIsNative = RegExp2("^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
1036
- var Buffer2 = moduleExports ? context.Buffer : undefined$1, Symbol = context.Symbol, Uint8Array2 = context.Uint8Array, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : undefined$1, getPrototype = overArg(Object2.getPrototypeOf, Object2), objectCreate = Object2.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice, spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined$1, symIterator = Symbol ? Symbol.iterator : undefined$1, symToStringTag = Symbol ? Symbol.toStringTag : undefined$1;
1075
+ var Buffer = moduleExports ? context.Buffer : undefined$1, Symbol2 = context.Symbol, Uint8Array = context.Uint8Array, allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined$1, getPrototype = overArg(Object2.getPrototypeOf, Object2), objectCreate = Object2.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice, spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : undefined$1, symIterator = Symbol2 ? Symbol2.iterator : undefined$1, symToStringTag = Symbol2 ? Symbol2.toStringTag : undefined$1;
1037
1076
  var defineProperty = function() {
1038
1077
  try {
1039
1078
  var func = getNative(Object2, "defineProperty");
@@ -1043,12 +1082,12 @@ var lodash = { exports: {} };
1043
1082
  }
1044
1083
  }();
1045
1084
  var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, ctxNow = Date && Date.now !== root.Date.now && Date.now, ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;
1046
- var nativeCeil = Math2.ceil, nativeFloor = Math2.floor, nativeGetSymbols = Object2.getOwnPropertySymbols, nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined$1, nativeIsFinite = context.isFinite, nativeJoin = arrayProto.join, nativeKeys = overArg(Object2.keys, Object2), nativeMax = Math2.max, nativeMin = Math2.min, nativeNow = Date.now, nativeParseInt = context.parseInt, nativeRandom = Math2.random, nativeReverse = arrayProto.reverse;
1047
- var DataView = getNative(context, "DataView"), Map = getNative(context, "Map"), Promise2 = getNative(context, "Promise"), Set = getNative(context, "Set"), WeakMap2 = getNative(context, "WeakMap"), nativeCreate = getNative(Object2, "create");
1048
- var metaMap = WeakMap2 && new WeakMap2();
1085
+ var nativeCeil = Math2.ceil, nativeFloor = Math2.floor, nativeGetSymbols = Object2.getOwnPropertySymbols, nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined$1, nativeIsFinite = context.isFinite, nativeJoin = arrayProto.join, nativeKeys = overArg(Object2.keys, Object2), nativeMax = Math2.max, nativeMin = Math2.min, nativeNow = Date.now, nativeParseInt = context.parseInt, nativeRandom = Math2.random, nativeReverse = arrayProto.reverse;
1086
+ var DataView = getNative(context, "DataView"), Map = getNative(context, "Map"), Promise = getNative(context, "Promise"), Set = getNative(context, "Set"), WeakMap = getNative(context, "WeakMap"), nativeCreate = getNative(Object2, "create");
1087
+ var metaMap = WeakMap && new WeakMap();
1049
1088
  var realNames = {};
1050
- var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap2);
1051
- var symbolProto = Symbol ? Symbol.prototype : undefined$1, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined$1, symbolToString = symbolProto ? symbolProto.toString : undefined$1;
1089
+ var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap);
1090
+ var symbolProto = Symbol2 ? Symbol2.prototype : undefined$1, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined$1, symbolToString = symbolProto ? symbolProto.toString : undefined$1;
1052
1091
  function lodash2(value) {
1053
1092
  if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
1054
1093
  if (value instanceof LodashWrapper) {
@@ -1064,7 +1103,7 @@ var lodash = { exports: {} };
1064
1103
  function object() {
1065
1104
  }
1066
1105
  return function(proto) {
1067
- if (!isObject(proto)) {
1106
+ if (!isObject2(proto)) {
1068
1107
  return {};
1069
1108
  }
1070
1109
  if (objectCreate) {
@@ -1426,7 +1465,7 @@ var lodash = { exports: {} };
1426
1465
  if (result2 !== undefined$1) {
1427
1466
  return result2;
1428
1467
  }
1429
- if (!isObject(value)) {
1468
+ if (!isObject2(value)) {
1430
1469
  return value;
1431
1470
  }
1432
1471
  var isArr = isArray(value);
@@ -1500,9 +1539,9 @@ var lodash = { exports: {} };
1500
1539
  }
1501
1540
  function baseDelay(func, wait, args) {
1502
1541
  if (typeof func != "function") {
1503
- throw new TypeError2(FUNC_ERROR_TEXT);
1542
+ throw new TypeError(FUNC_ERROR_TEXT);
1504
1543
  }
1505
- return setTimeout(function() {
1544
+ return setTimeout2(function() {
1506
1545
  func.apply(undefined$1, args);
1507
1546
  }, wait);
1508
1547
  }
@@ -1773,7 +1812,7 @@ var lodash = { exports: {} };
1773
1812
  return true;
1774
1813
  }
1775
1814
  function baseIsNative(value) {
1776
- if (!isObject(value) || isMasked(value)) {
1815
+ if (!isObject2(value) || isMasked(value)) {
1777
1816
  return false;
1778
1817
  }
1779
1818
  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
@@ -1813,7 +1852,7 @@ var lodash = { exports: {} };
1813
1852
  return result2;
1814
1853
  }
1815
1854
  function baseKeysIn(object) {
1816
- if (!isObject(object)) {
1855
+ if (!isObject2(object)) {
1817
1856
  return nativeKeysIn(object);
1818
1857
  }
1819
1858
  var isProto = isPrototype(object), result2 = [];
@@ -1858,7 +1897,7 @@ var lodash = { exports: {} };
1858
1897
  }
1859
1898
  baseFor(source, function(srcValue, key) {
1860
1899
  stack || (stack = new Stack());
1861
- if (isObject(srcValue)) {
1900
+ if (isObject2(srcValue)) {
1862
1901
  baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
1863
1902
  } else {
1864
1903
  var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : undefined$1;
@@ -1898,7 +1937,7 @@ var lodash = { exports: {} };
1898
1937
  newValue = objValue;
1899
1938
  if (isArguments(objValue)) {
1900
1939
  newValue = toPlainObject(objValue);
1901
- } else if (!isObject(objValue) || isFunction(objValue)) {
1940
+ } else if (!isObject2(objValue) || isFunction(objValue)) {
1902
1941
  newValue = initCloneObject(srcValue);
1903
1942
  }
1904
1943
  } else {
@@ -2037,7 +2076,7 @@ var lodash = { exports: {} };
2037
2076
  return shuffleSelf(array, baseClamp(n, 0, array.length));
2038
2077
  }
2039
2078
  function baseSet(object, path, value, customizer) {
2040
- if (!isObject(object)) {
2079
+ if (!isObject2(object)) {
2041
2080
  return object;
2042
2081
  }
2043
2082
  path = castPath(path, object);
@@ -2051,7 +2090,7 @@ var lodash = { exports: {} };
2051
2090
  var objValue = nested[key];
2052
2091
  newValue = customizer ? customizer(objValue, key, nested) : undefined$1;
2053
2092
  if (newValue === undefined$1) {
2054
- newValue = isObject(objValue) ? objValue : isIndex(path[index2 + 1]) ? [] : {};
2093
+ newValue = isObject2(objValue) ? objValue : isIndex(path[index2 + 1]) ? [] : {};
2055
2094
  }
2056
2095
  }
2057
2096
  assignValue(nested, key, newValue);
@@ -2282,7 +2321,7 @@ var lodash = { exports: {} };
2282
2321
  end = end === undefined$1 ? length : end;
2283
2322
  return !start && end >= length ? array : baseSlice(array, start, end);
2284
2323
  }
2285
- var clearTimeout = ctxClearTimeout || function(id) {
2324
+ var clearTimeout2 = ctxClearTimeout || function(id) {
2286
2325
  return root.clearTimeout(id);
2287
2326
  };
2288
2327
  function cloneBuffer(buffer, isDeep) {
@@ -2295,7 +2334,7 @@ var lodash = { exports: {} };
2295
2334
  }
2296
2335
  function cloneArrayBuffer(arrayBuffer) {
2297
2336
  var result2 = new arrayBuffer.constructor(arrayBuffer.byteLength);
2298
- new Uint8Array2(result2).set(new Uint8Array2(arrayBuffer));
2337
+ new Uint8Array(result2).set(new Uint8Array(arrayBuffer));
2299
2338
  return result2;
2300
2339
  }
2301
2340
  function cloneDataView(dataView, isDeep) {
@@ -2501,7 +2540,7 @@ var lodash = { exports: {} };
2501
2540
  return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
2502
2541
  }
2503
2542
  var thisBinding = baseCreate(Ctor.prototype), result2 = Ctor.apply(thisBinding, args);
2504
- return isObject(result2) ? result2 : thisBinding;
2543
+ return isObject2(result2) ? result2 : thisBinding;
2505
2544
  };
2506
2545
  }
2507
2546
  function createCurry(func, bitmask, arity) {
@@ -2544,7 +2583,7 @@ var lodash = { exports: {} };
2544
2583
  while (index2--) {
2545
2584
  var func = funcs[index2];
2546
2585
  if (typeof func != "function") {
2547
- throw new TypeError2(FUNC_ERROR_TEXT);
2586
+ throw new TypeError(FUNC_ERROR_TEXT);
2548
2587
  }
2549
2588
  if (prereq && !wrapper && getFuncName(func) == "wrapper") {
2550
2589
  var wrapper = new LodashWrapper([], true);
@@ -2757,7 +2796,7 @@ var lodash = { exports: {} };
2757
2796
  function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary2, arity) {
2758
2797
  var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
2759
2798
  if (!isBindKey && typeof func != "function") {
2760
- throw new TypeError2(FUNC_ERROR_TEXT);
2799
+ throw new TypeError(FUNC_ERROR_TEXT);
2761
2800
  }
2762
2801
  var length = partials ? partials.length : 0;
2763
2802
  if (!length) {
@@ -2815,7 +2854,7 @@ var lodash = { exports: {} };
2815
2854
  return objValue;
2816
2855
  }
2817
2856
  function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {
2818
- if (isObject(objValue) && isObject(srcValue)) {
2857
+ if (isObject2(objValue) && isObject2(srcValue)) {
2819
2858
  stack.set(srcValue, objValue);
2820
2859
  baseMerge(objValue, srcValue, undefined$1, customDefaultsMerge, stack);
2821
2860
  stack["delete"](srcValue);
@@ -2877,7 +2916,7 @@ var lodash = { exports: {} };
2877
2916
  object = object.buffer;
2878
2917
  other = other.buffer;
2879
2918
  case arrayBufferTag:
2880
- if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
2919
+ if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
2881
2920
  return false;
2882
2921
  }
2883
2922
  return true;
@@ -3039,7 +3078,7 @@ var lodash = { exports: {} };
3039
3078
  return result2;
3040
3079
  };
3041
3080
  var getTag = baseGetTag;
3042
- if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
3081
+ if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {
3043
3082
  getTag = function(value) {
3044
3083
  var result2 = baseGetTag(value), Ctor = result2 == objectTag ? value.constructor : undefined$1, ctorString = Ctor ? toSource(Ctor) : "";
3045
3084
  if (ctorString) {
@@ -3163,7 +3202,7 @@ var lodash = { exports: {} };
3163
3202
  return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
3164
3203
  }
3165
3204
  function isIterateeCall(value, index2, object) {
3166
- if (!isObject(object)) {
3205
+ if (!isObject2(object)) {
3167
3206
  return false;
3168
3207
  }
3169
3208
  var type = typeof index2;
@@ -3206,7 +3245,7 @@ var lodash = { exports: {} };
3206
3245
  return value === proto;
3207
3246
  }
3208
3247
  function isStrictComparable(value) {
3209
- return value === value && !isObject(value);
3248
+ return value === value && !isObject2(value);
3210
3249
  }
3211
3250
  function matchesStrictComparable(key, srcValue) {
3212
3251
  return function(object) {
@@ -3311,7 +3350,7 @@ var lodash = { exports: {} };
3311
3350
  return object[key];
3312
3351
  }
3313
3352
  var setData = shortOut(baseSetData);
3314
- var setTimeout = ctxSetTimeout || function(func, wait) {
3353
+ var setTimeout2 = ctxSetTimeout || function(func, wait) {
3315
3354
  return root.setTimeout(func, wait);
3316
3355
  };
3317
3356
  var setToString = shortOut(baseSetToString);
@@ -4024,7 +4063,7 @@ var lodash = { exports: {} };
4024
4063
  };
4025
4064
  function after(n, func) {
4026
4065
  if (typeof func != "function") {
4027
- throw new TypeError2(FUNC_ERROR_TEXT);
4066
+ throw new TypeError(FUNC_ERROR_TEXT);
4028
4067
  }
4029
4068
  n = toInteger(n);
4030
4069
  return function() {
@@ -4041,7 +4080,7 @@ var lodash = { exports: {} };
4041
4080
  function before(n, func) {
4042
4081
  var result2;
4043
4082
  if (typeof func != "function") {
4044
- throw new TypeError2(FUNC_ERROR_TEXT);
4083
+ throw new TypeError(FUNC_ERROR_TEXT);
4045
4084
  }
4046
4085
  n = toInteger(n);
4047
4086
  return function() {
@@ -4085,10 +4124,10 @@ var lodash = { exports: {} };
4085
4124
  function debounce(func, wait, options) {
4086
4125
  var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
4087
4126
  if (typeof func != "function") {
4088
- throw new TypeError2(FUNC_ERROR_TEXT);
4127
+ throw new TypeError(FUNC_ERROR_TEXT);
4089
4128
  }
4090
4129
  wait = toNumber(wait) || 0;
4091
- if (isObject(options)) {
4130
+ if (isObject2(options)) {
4092
4131
  leading = !!options.leading;
4093
4132
  maxing = "maxWait" in options;
4094
4133
  maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
@@ -4103,7 +4142,7 @@ var lodash = { exports: {} };
4103
4142
  }
4104
4143
  function leadingEdge(time) {
4105
4144
  lastInvokeTime = time;
4106
- timerId = setTimeout(timerExpired, wait);
4145
+ timerId = setTimeout2(timerExpired, wait);
4107
4146
  return leading ? invokeFunc(time) : result2;
4108
4147
  }
4109
4148
  function remainingWait(time) {
@@ -4119,7 +4158,7 @@ var lodash = { exports: {} };
4119
4158
  if (shouldInvoke(time)) {
4120
4159
  return trailingEdge(time);
4121
4160
  }
4122
- timerId = setTimeout(timerExpired, remainingWait(time));
4161
+ timerId = setTimeout2(timerExpired, remainingWait(time));
4123
4162
  }
4124
4163
  function trailingEdge(time) {
4125
4164
  timerId = undefined$1;
@@ -4131,7 +4170,7 @@ var lodash = { exports: {} };
4131
4170
  }
4132
4171
  function cancel() {
4133
4172
  if (timerId !== undefined$1) {
4134
- clearTimeout(timerId);
4173
+ clearTimeout2(timerId);
4135
4174
  }
4136
4175
  lastInvokeTime = 0;
4137
4176
  lastArgs = lastCallTime = lastThis = timerId = undefined$1;
@@ -4149,13 +4188,13 @@ var lodash = { exports: {} };
4149
4188
  return leadingEdge(lastCallTime);
4150
4189
  }
4151
4190
  if (maxing) {
4152
- clearTimeout(timerId);
4153
- timerId = setTimeout(timerExpired, wait);
4191
+ clearTimeout2(timerId);
4192
+ timerId = setTimeout2(timerExpired, wait);
4154
4193
  return invokeFunc(lastCallTime);
4155
4194
  }
4156
4195
  }
4157
4196
  if (timerId === undefined$1) {
4158
- timerId = setTimeout(timerExpired, wait);
4197
+ timerId = setTimeout2(timerExpired, wait);
4159
4198
  }
4160
4199
  return result2;
4161
4200
  }
@@ -4174,7 +4213,7 @@ var lodash = { exports: {} };
4174
4213
  }
4175
4214
  function memoize(func, resolver) {
4176
4215
  if (typeof func != "function" || resolver != null && typeof resolver != "function") {
4177
- throw new TypeError2(FUNC_ERROR_TEXT);
4216
+ throw new TypeError(FUNC_ERROR_TEXT);
4178
4217
  }
4179
4218
  var memoized = function() {
4180
4219
  var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
@@ -4191,7 +4230,7 @@ var lodash = { exports: {} };
4191
4230
  memoize.Cache = MapCache;
4192
4231
  function negate(predicate) {
4193
4232
  if (typeof predicate != "function") {
4194
- throw new TypeError2(FUNC_ERROR_TEXT);
4233
+ throw new TypeError(FUNC_ERROR_TEXT);
4195
4234
  }
4196
4235
  return function() {
4197
4236
  var args = arguments;
@@ -4235,14 +4274,14 @@ var lodash = { exports: {} };
4235
4274
  });
4236
4275
  function rest(func, start) {
4237
4276
  if (typeof func != "function") {
4238
- throw new TypeError2(FUNC_ERROR_TEXT);
4277
+ throw new TypeError(FUNC_ERROR_TEXT);
4239
4278
  }
4240
4279
  start = start === undefined$1 ? start : toInteger(start);
4241
4280
  return baseRest(func, start);
4242
4281
  }
4243
4282
  function spread(func, start) {
4244
4283
  if (typeof func != "function") {
4245
- throw new TypeError2(FUNC_ERROR_TEXT);
4284
+ throw new TypeError(FUNC_ERROR_TEXT);
4246
4285
  }
4247
4286
  start = start == null ? 0 : nativeMax(toInteger(start), 0);
4248
4287
  return baseRest(function(args) {
@@ -4256,9 +4295,9 @@ var lodash = { exports: {} };
4256
4295
  function throttle(func, wait, options) {
4257
4296
  var leading = true, trailing = true;
4258
4297
  if (typeof func != "function") {
4259
- throw new TypeError2(FUNC_ERROR_TEXT);
4298
+ throw new TypeError(FUNC_ERROR_TEXT);
4260
4299
  }
4261
- if (isObject(options)) {
4300
+ if (isObject2(options)) {
4262
4301
  leading = "leading" in options ? !!options.leading : leading;
4263
4302
  trailing = "trailing" in options ? !!options.trailing : trailing;
4264
4303
  }
@@ -4366,7 +4405,7 @@ var lodash = { exports: {} };
4366
4405
  return typeof value == "number" && nativeIsFinite(value);
4367
4406
  }
4368
4407
  function isFunction(value) {
4369
- if (!isObject(value)) {
4408
+ if (!isObject2(value)) {
4370
4409
  return false;
4371
4410
  }
4372
4411
  var tag = baseGetTag(value);
@@ -4378,7 +4417,7 @@ var lodash = { exports: {} };
4378
4417
  function isLength(value) {
4379
4418
  return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
4380
4419
  }
4381
- function isObject(value) {
4420
+ function isObject2(value) {
4382
4421
  var type = typeof value;
4383
4422
  return value != null && (type == "object" || type == "function");
4384
4423
  }
@@ -4398,7 +4437,7 @@ var lodash = { exports: {} };
4398
4437
  }
4399
4438
  function isNative(value) {
4400
4439
  if (isMaskable(value)) {
4401
- throw new Error2(CORE_ERROR_TEXT);
4440
+ throw new Error(CORE_ERROR_TEXT);
4402
4441
  }
4403
4442
  return baseIsNative(value);
4404
4443
  }
@@ -4485,9 +4524,9 @@ var lodash = { exports: {} };
4485
4524
  if (isSymbol(value)) {
4486
4525
  return NAN;
4487
4526
  }
4488
- if (isObject(value)) {
4527
+ if (isObject2(value)) {
4489
4528
  var other = typeof value.valueOf == "function" ? value.valueOf() : value;
4490
- value = isObject(other) ? other + "" : other;
4529
+ value = isObject2(other) ? other + "" : other;
4491
4530
  }
4492
4531
  if (typeof value != "string") {
4493
4532
  return value === 0 ? value : +value;
@@ -4708,7 +4747,7 @@ var lodash = { exports: {} };
4708
4747
  var Ctor = object && object.constructor;
4709
4748
  if (isArrLike) {
4710
4749
  accumulator = isArr ? new Ctor() : [];
4711
- } else if (isObject(object)) {
4750
+ } else if (isObject2(object)) {
4712
4751
  accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};
4713
4752
  } else {
4714
4753
  accumulator = {};
@@ -4936,7 +4975,7 @@ var lodash = { exports: {} };
4936
4975
  if (!variable) {
4937
4976
  source = "with (obj) {\n" + source + "\n}\n";
4938
4977
  } else if (reForbiddenIdentifierChars.test(variable)) {
4939
- throw new Error2(INVALID_TEMPL_VAR_ERROR_TEXT);
4978
+ throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT);
4940
4979
  }
4941
4980
  source = (isEvaluating ? source.replace(reEmptyStringLeading, "") : source).replace(reEmptyStringMiddle, "$1").replace(reEmptyStringTrailing, "$1;");
4942
4981
  source = "function(" + (variable || "obj") + ") {\n" + (variable ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (isEscaping ? ", __e = _.escape" : "") + (isEvaluating ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + source + "return __p\n}";
@@ -4990,7 +5029,7 @@ var lodash = { exports: {} };
4990
5029
  }
4991
5030
  function truncate(string, options) {
4992
5031
  var length = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION;
4993
- if (isObject(options)) {
5032
+ if (isObject2(options)) {
4994
5033
  var separator = "separator" in options ? options.separator : separator;
4995
5034
  length = "length" in options ? toInteger(options.length) : length;
4996
5035
  omission = "omission" in options ? baseToString(options.omission) : omission;
@@ -5055,7 +5094,7 @@ var lodash = { exports: {} };
5055
5094
  try {
5056
5095
  return apply(func, undefined$1, args);
5057
5096
  } catch (e) {
5058
- return isError(e) ? e : new Error2(e);
5097
+ return isError(e) ? e : new Error(e);
5059
5098
  }
5060
5099
  });
5061
5100
  var bindAll = flatRest(function(object, methodNames) {
@@ -5069,7 +5108,7 @@ var lodash = { exports: {} };
5069
5108
  var length = pairs == null ? 0 : pairs.length, toIteratee = getIteratee();
5070
5109
  pairs = !length ? [] : arrayMap(pairs, function(pair) {
5071
5110
  if (typeof pair[1] != "function") {
5072
- throw new TypeError2(FUNC_ERROR_TEXT);
5111
+ throw new TypeError(FUNC_ERROR_TEXT);
5073
5112
  }
5074
5113
  return [toIteratee(pair[0]), pair[1]];
5075
5114
  });
@@ -5120,13 +5159,13 @@ var lodash = { exports: {} };
5120
5159
  });
5121
5160
  function mixin(object, source, options) {
5122
5161
  var props = keys(source), methodNames = baseFunctions(source, props);
5123
- if (options == null && !(isObject(source) && (methodNames.length || !props.length))) {
5162
+ if (options == null && !(isObject2(source) && (methodNames.length || !props.length))) {
5124
5163
  options = source;
5125
5164
  source = object;
5126
5165
  object = this;
5127
5166
  methodNames = baseFunctions(source, keys(source));
5128
5167
  }
5129
- var chain2 = !(isObject(options) && "chain" in options) || !!options.chain, isFunc = isFunction(object);
5168
+ var chain2 = !(isObject2(options) && "chain" in options) || !!options.chain, isFunc = isFunction(object);
5130
5169
  arrayEach(methodNames, function(methodName) {
5131
5170
  var func = source[methodName];
5132
5171
  object[methodName] = func;
@@ -5472,7 +5511,7 @@ var lodash = { exports: {} };
5472
5511
  lodash2.isNil = isNil;
5473
5512
  lodash2.isNull = isNull;
5474
5513
  lodash2.isNumber = isNumber;
5475
- lodash2.isObject = isObject;
5514
+ lodash2.isObject = isObject2;
5476
5515
  lodash2.isObjectLike = isObjectLike;
5477
5516
  lodash2.isPlainObject = isPlainObject;
5478
5517
  lodash2.isRegExp = isRegExp;
@@ -5741,7 +5780,7 @@ const TransformOriginMap = {
5741
5780
  right: "-8px 50%"
5742
5781
  };
5743
5782
  function useTooltip(origin, props) {
5744
- const { position, mouseEnterDelay, mouseLeaveDelay } = toRefs(props);
5783
+ const { position, mouseEnterDelay, mouseLeaveDelay, enterable, disabled, hideAfter } = toRefs(props);
5745
5784
  const visible = ref(false);
5746
5785
  const isEnter = ref(false);
5747
5786
  const positionArr = computed(() => typeof position.value === "string" ? [position.value] : position.value);
@@ -5756,6 +5795,9 @@ function useTooltip(origin, props) {
5756
5795
  !isEnter.value && (visible.value = false);
5757
5796
  }, mouseLeaveDelay.value);
5758
5797
  const onMouseenter = () => {
5798
+ if (disabled.value) {
5799
+ return;
5800
+ }
5759
5801
  isEnter.value = true;
5760
5802
  enter();
5761
5803
  };
@@ -5766,11 +5808,29 @@ function useTooltip(origin, props) {
5766
5808
  const onPositionChange = (pos) => {
5767
5809
  placement.value = pos;
5768
5810
  };
5811
+ const quickLeave = () => {
5812
+ isEnter.value = false;
5813
+ visible.value = false;
5814
+ };
5815
+ const onMouseenterOverlay = () => {
5816
+ if (!enterable.value) {
5817
+ quickLeave();
5818
+ } else {
5819
+ onMouseenter();
5820
+ }
5821
+ };
5769
5822
  onMounted(() => {
5770
5823
  origin.value.addEventListener("mouseenter", onMouseenter);
5771
5824
  origin.value.addEventListener("mouseleave", onMouseleave);
5772
5825
  });
5773
- return { visible, placement, positionArr, overlayStyles, onPositionChange };
5826
+ let timer;
5827
+ watch(visible, (newVal) => {
5828
+ if (newVal && hideAfter.value) {
5829
+ timer && clearTimeout(timer);
5830
+ timer = setTimeout(quickLeave, hideAfter.value);
5831
+ }
5832
+ });
5833
+ return { visible, placement, positionArr, overlayStyles, onPositionChange, onMouseenter, onMouseleave, onMouseenterOverlay };
5774
5834
  }
5775
5835
  var tooltip = "";
5776
5836
  var Tooltip = defineComponent({
@@ -5790,42 +5850,47 @@ var Tooltip = defineComponent({
5790
5850
  placement,
5791
5851
  positionArr,
5792
5852
  overlayStyles,
5793
- onPositionChange
5853
+ onPositionChange,
5854
+ onMouseleave,
5855
+ onMouseenterOverlay
5794
5856
  } = useTooltip(origin, props);
5795
- return () => {
5796
- var _a;
5797
- return createVNode(Fragment, null, [createVNode("div", {
5798
- "ref": origin,
5799
- "class": "devui-tooltip-reference"
5800
- }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), createVNode(Teleport, {
5801
- "to": "body"
5857
+ const ns2 = useNamespace("tooltip");
5858
+ provide(POPPER_TRIGGER_TOKEN, origin);
5859
+ return () => createVNode(Fragment, null, [createVNode(PopperTrigger, null, {
5860
+ default: () => {
5861
+ var _a;
5862
+ return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
5863
+ }
5864
+ }), createVNode(Teleport, {
5865
+ "to": "body"
5866
+ }, {
5867
+ default: () => [createVNode(Transition, {
5868
+ "name": showAnimation.value ? ns2.m(`fade-${placement.value}`) : ""
5802
5869
  }, {
5803
- default: () => [createVNode(Transition, {
5804
- "name": showAnimation.value ? `devui-tooltip-fade-${placement.value}` : ""
5870
+ default: () => [createVNode(FlexibleOverlay, {
5871
+ "modelValue": visible.value,
5872
+ "onUpdate:modelValue": ($event) => visible.value = $event,
5873
+ "ref": tooltipRef,
5874
+ "class": ns2.b(),
5875
+ "origin": origin.value,
5876
+ "position": positionArr.value,
5877
+ "offset": 6,
5878
+ "show-arrow": true,
5879
+ "style": overlayStyles.value,
5880
+ "onPositionChange": onPositionChange,
5881
+ "onMouseenter": onMouseenterOverlay,
5882
+ "onMouseleave": onMouseleave
5805
5883
  }, {
5806
- default: () => [createVNode(FlexibleOverlay, {
5807
- "modelValue": visible.value,
5808
- "onUpdate:modelValue": ($event) => visible.value = $event,
5809
- "ref": tooltipRef,
5810
- "class": "devui-tooltip",
5811
- "origin": origin.value,
5812
- "position": positionArr.value,
5813
- "offset": 6,
5814
- "show-arrow": true,
5815
- "style": overlayStyles.value,
5816
- "onPositionChange": onPositionChange
5817
- }, {
5818
- default: () => [createVNode("span", {
5819
- "innerHTML": content.value
5820
- }, null)]
5821
- })]
5884
+ default: () => [createVNode("span", {
5885
+ "innerHTML": content.value
5886
+ }, null)]
5822
5887
  })]
5823
- })]);
5824
- };
5888
+ })]
5889
+ })]);
5825
5890
  }
5826
5891
  });
5827
5892
  var index = {
5828
- title: "Tooltip\u63D0\u793A",
5893
+ title: "Tooltip \u63D0\u793A",
5829
5894
  category: "\u53CD\u9988",
5830
5895
  status: "70%",
5831
5896
  install(app) {