vue-devui 1.6.13 → 1.6.15

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 (66) hide show
  1. package/auto-complete/index.es.js +20 -39
  2. package/auto-complete/index.umd.js +10 -10
  3. package/breadcrumb/index.es.js +25 -39
  4. package/breadcrumb/index.umd.js +1 -1
  5. package/category-search/index.es.js +27 -41
  6. package/category-search/index.umd.js +13 -13
  7. package/category-search/style.css +1 -1
  8. package/checkbox/index.es.js +20 -39
  9. package/checkbox/index.umd.js +11 -11
  10. package/code-review/index.es.js +20 -39
  11. package/code-review/index.umd.js +17 -17
  12. package/data-grid/index.es.js +27 -41
  13. package/data-grid/index.umd.js +12 -12
  14. package/date-picker-pro/index.es.js +20 -39
  15. package/date-picker-pro/index.umd.js +13 -13
  16. package/dropdown/index.es.js +25 -39
  17. package/dropdown/index.umd.js +1 -1
  18. package/editable-select/index.es.js +20 -39
  19. package/editable-select/index.umd.js +14 -14
  20. package/editor-md/index.es.js +27 -41
  21. package/editor-md/index.umd.js +23 -23
  22. package/form/index.es.js +20 -39
  23. package/form/index.umd.js +12 -12
  24. package/input/index.es.js +20 -39
  25. package/input/index.umd.js +10 -10
  26. package/input-number/index.es.js +20 -39
  27. package/input-number/index.umd.js +18 -18
  28. package/mention/index.es.js +20 -39
  29. package/mention/index.umd.js +18 -18
  30. package/modal/index.es.js +18 -37
  31. package/modal/index.umd.js +2 -2
  32. package/overlay/index.es.js +18 -37
  33. package/overlay/index.umd.js +1 -1
  34. package/package.json +2 -2
  35. package/pagination/index.es.js +27 -41
  36. package/pagination/index.umd.js +13 -13
  37. package/popover/index.es.js +20 -39
  38. package/popover/index.umd.js +14 -14
  39. package/radio/index.es.js +20 -39
  40. package/radio/index.umd.js +17 -17
  41. package/search/index.es.js +20 -39
  42. package/search/index.umd.js +12 -12
  43. package/select/index.es.js +20 -39
  44. package/select/index.umd.js +16 -16
  45. package/splitter/index.es.js +20 -39
  46. package/splitter/index.umd.js +16 -16
  47. package/style.css +1 -1
  48. package/switch/index.es.js +20 -39
  49. package/switch/index.umd.js +12 -12
  50. package/table/index.es.js +27 -41
  51. package/table/index.umd.js +14 -14
  52. package/textarea/index.es.js +20 -39
  53. package/textarea/index.umd.js +15 -15
  54. package/time-picker/index.es.js +20 -39
  55. package/time-picker/index.umd.js +16 -16
  56. package/time-select/index.es.js +20 -39
  57. package/time-select/index.umd.js +10 -10
  58. package/tooltip/index.es.js +20 -39
  59. package/tooltip/index.umd.js +17 -17
  60. package/tree/index.es.js +20 -39
  61. package/tree/index.umd.js +12 -12
  62. package/types/dropdown/src/dropdown-types.d.ts +4 -0
  63. package/types/dropdown/src/dropdown.d.ts +9 -0
  64. package/types/tooltip/src/tooltip.d.ts +1 -1
  65. package/vue-devui.es.js +26 -40
  66. package/vue-devui.umd.js +63 -63
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, provide, Teleport, reactive, getCurrentInstance, resolveComponent, onUpdated } from "vue";
8
- import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
8
+ import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
9
9
  import "clipboard";
10
10
  import { useResizeObserver } from "@vueuse/core";
11
11
  const fixedOverlayProps = {
@@ -151,16 +151,6 @@ const flexibleOverlayProps = {
151
151
  default: false
152
152
  }
153
153
  };
154
- function getScrollParent(element) {
155
- const overflowRegex = /(auto|scroll|hidden)/;
156
- for (let parent = element; parent = parent.parentElement; parent.parentElement !== document.body) {
157
- const style = window.getComputedStyle(parent);
158
- if (overflowRegex.test(style.overflow + style.overflowX + style.overflowY)) {
159
- return parent;
160
- }
161
- }
162
- return window;
163
- }
164
154
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
165
155
  let { x, y } = point;
166
156
  if (!isArrowCenter) {
@@ -181,9 +171,9 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
181
171
  return { x, y };
182
172
  }
183
173
  function useOverlay(props, emit) {
174
+ const { position, showArrow } = toRefs(props);
184
175
  const overlayRef = ref();
185
176
  const arrowRef = ref();
186
- let originParent = null;
187
177
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
188
178
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
189
179
  const staticSide = {
@@ -204,51 +194,42 @@ function useOverlay(props, emit) {
204
194
  const hostEl = props.origin;
205
195
  const overlayEl = unref(overlayRef.value);
206
196
  const arrowEl = unref(arrowRef.value);
207
- const middleware = [
208
- offset(props.offset),
209
- autoPlacement({
210
- alignment: props.align,
211
- allowedPlacements: props.position
212
- })
213
- ];
214
- props.showArrow && middleware.push(arrow({ element: arrowEl }));
215
- props.shiftOffset !== void 0 && middleware.push(shift());
216
- if (!overlayEl) {
217
- return;
197
+ const [mainPosition, ...fallbackPosition] = position.value;
198
+ const middleware = [offset(props.offset)];
199
+ middleware.push(fallbackPosition.length ? flip({ fallbackPlacements: fallbackPosition }) : flip());
200
+ if (showArrow.value) {
201
+ middleware.push(arrow({ element: arrowRef.value }));
218
202
  }
219
203
  const { x, y, placement, middlewareData } = await computePosition(hostEl, overlayEl, {
220
204
  strategy: "fixed",
205
+ placement: mainPosition,
221
206
  middleware
222
207
  });
223
208
  let applyX = x;
224
209
  let applyY = y;
225
- if (props.shiftOffset !== void 0) {
226
- const { x: shiftX, y: shiftY } = middlewareData.shift;
227
- shiftX < 0 && (applyX -= props.shiftOffset);
228
- shiftX > 0 && (applyX += props.shiftOffset);
229
- shiftY < 0 && (applyY -= props.shiftOffset);
230
- shiftY > 0 && (applyY += props.shiftOffset);
231
- }
232
210
  emit("positionChange", placement);
233
211
  Object.assign(overlayEl.style, { top: `${applyY}px`, left: `${applyX}px` });
234
212
  props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
235
213
  };
214
+ const scrollCallback = (e) => {
215
+ var _a, _b;
216
+ const scrollElement = e.target;
217
+ if (scrollElement == null ? void 0 : scrollElement.contains((_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin)) {
218
+ updatePosition();
219
+ }
220
+ };
236
221
  watch(() => props.modelValue, () => {
237
222
  if (props.modelValue && props.origin) {
238
- originParent = getScrollParent(props.origin);
239
223
  nextTick(updatePosition);
240
- originParent == null ? void 0 : originParent.addEventListener("scroll", updatePosition);
241
- originParent !== window && window.addEventListener("scroll", updatePosition);
224
+ window.addEventListener("scroll", scrollCallback, true);
242
225
  window.addEventListener("resize", updatePosition);
243
226
  } else {
244
- originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
245
- originParent !== window && window.removeEventListener("scroll", updatePosition);
227
+ window.removeEventListener("scroll", scrollCallback, true);
246
228
  window.removeEventListener("resize", updatePosition);
247
229
  }
248
230
  });
249
231
  onUnmounted(() => {
250
- originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
251
- originParent !== window && window.removeEventListener("scroll", updatePosition);
232
+ window.removeEventListener("scroll", scrollCallback, true);
252
233
  window.removeEventListener("resize", updatePosition);
253
234
  });
254
235
  return { arrowRef, overlayRef, updatePosition };
@@ -4242,7 +4223,7 @@ var lodash = { exports: {} };
4242
4223
  var delay = baseRest(function(func, wait, args) {
4243
4224
  return baseDelay(func, toNumber(wait) || 0, args);
4244
4225
  });
4245
- function flip(func) {
4226
+ function flip2(func) {
4246
4227
  return createWrap(func, WRAP_FLIP_FLAG);
4247
4228
  }
4248
4229
  function memoize(func, resolver) {
@@ -5366,7 +5347,7 @@ var lodash = { exports: {} };
5366
5347
  lodash2.flatten = flatten;
5367
5348
  lodash2.flattenDeep = flattenDeep;
5368
5349
  lodash2.flattenDepth = flattenDepth;
5369
- lodash2.flip = flip;
5350
+ lodash2.flip = flip2;
5370
5351
  lodash2.flow = flow;
5371
5352
  lodash2.flowRight = flowRight;
5372
5353
  lodash2.fromPairs = fromPairs;