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
@@ -15,7 +15,7 @@ var __spreadValues = (a, b) => {
15
15
  return a;
16
16
  };
17
17
  import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, provide, Teleport, createTextVNode, vShow } from "vue";
18
- import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
18
+ import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
19
19
  import Clipboard from "clipboard";
20
20
  import * as Diff2Html from "diff2html";
21
21
  import { Diff2HtmlUI } from "diff2html/lib/ui/js/diff2html-ui";
@@ -162,16 +162,6 @@ const flexibleOverlayProps = {
162
162
  default: false
163
163
  }
164
164
  };
165
- function getScrollParent(element) {
166
- const overflowRegex = /(auto|scroll|hidden)/;
167
- for (let parent = element; parent = parent.parentElement; parent.parentElement !== document.body) {
168
- const style = window.getComputedStyle(parent);
169
- if (overflowRegex.test(style.overflow + style.overflowX + style.overflowY)) {
170
- return parent;
171
- }
172
- }
173
- return window;
174
- }
175
165
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
176
166
  let { x, y } = point;
177
167
  if (!isArrowCenter) {
@@ -192,9 +182,9 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
192
182
  return { x, y };
193
183
  }
194
184
  function useOverlay(props, emit) {
185
+ const { position, showArrow } = toRefs(props);
195
186
  const overlayRef = ref();
196
187
  const arrowRef = ref();
197
- let originParent = null;
198
188
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
199
189
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
200
190
  const staticSide = {
@@ -215,51 +205,42 @@ function useOverlay(props, emit) {
215
205
  const hostEl = props.origin;
216
206
  const overlayEl = unref(overlayRef.value);
217
207
  const arrowEl = unref(arrowRef.value);
218
- const middleware = [
219
- offset(props.offset),
220
- autoPlacement({
221
- alignment: props.align,
222
- allowedPlacements: props.position
223
- })
224
- ];
225
- props.showArrow && middleware.push(arrow({ element: arrowEl }));
226
- props.shiftOffset !== void 0 && middleware.push(shift());
227
- if (!overlayEl) {
228
- return;
208
+ const [mainPosition, ...fallbackPosition] = position.value;
209
+ const middleware = [offset(props.offset)];
210
+ middleware.push(fallbackPosition.length ? flip({ fallbackPlacements: fallbackPosition }) : flip());
211
+ if (showArrow.value) {
212
+ middleware.push(arrow({ element: arrowRef.value }));
229
213
  }
230
214
  const { x, y, placement, middlewareData } = await computePosition(hostEl, overlayEl, {
231
215
  strategy: "fixed",
216
+ placement: mainPosition,
232
217
  middleware
233
218
  });
234
219
  let applyX = x;
235
220
  let applyY = y;
236
- if (props.shiftOffset !== void 0) {
237
- const { x: shiftX, y: shiftY } = middlewareData.shift;
238
- shiftX < 0 && (applyX -= props.shiftOffset);
239
- shiftX > 0 && (applyX += props.shiftOffset);
240
- shiftY < 0 && (applyY -= props.shiftOffset);
241
- shiftY > 0 && (applyY += props.shiftOffset);
242
- }
243
221
  emit("positionChange", placement);
244
222
  Object.assign(overlayEl.style, { top: `${applyY}px`, left: `${applyX}px` });
245
223
  props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
246
224
  };
225
+ const scrollCallback = (e) => {
226
+ var _a, _b;
227
+ const scrollElement = e.target;
228
+ if (scrollElement == null ? void 0 : scrollElement.contains((_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin)) {
229
+ updatePosition();
230
+ }
231
+ };
247
232
  watch(() => props.modelValue, () => {
248
233
  if (props.modelValue && props.origin) {
249
- originParent = getScrollParent(props.origin);
250
234
  nextTick(updatePosition);
251
- originParent == null ? void 0 : originParent.addEventListener("scroll", updatePosition);
252
- originParent !== window && window.addEventListener("scroll", updatePosition);
235
+ window.addEventListener("scroll", scrollCallback, true);
253
236
  window.addEventListener("resize", updatePosition);
254
237
  } else {
255
- originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
256
- originParent !== window && window.removeEventListener("scroll", updatePosition);
238
+ window.removeEventListener("scroll", scrollCallback, true);
257
239
  window.removeEventListener("resize", updatePosition);
258
240
  }
259
241
  });
260
242
  onUnmounted(() => {
261
- originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
262
- originParent !== window && window.removeEventListener("scroll", updatePosition);
243
+ window.removeEventListener("scroll", scrollCallback, true);
263
244
  window.removeEventListener("resize", updatePosition);
264
245
  });
265
246
  return { arrowRef, overlayRef, updatePosition };
@@ -4253,7 +4234,7 @@ var lodash = { exports: {} };
4253
4234
  var delay = baseRest(function(func, wait, args) {
4254
4235
  return baseDelay(func, toNumber(wait) || 0, args);
4255
4236
  });
4256
- function flip(func) {
4237
+ function flip2(func) {
4257
4238
  return createWrap(func, WRAP_FLIP_FLAG);
4258
4239
  }
4259
4240
  function memoize(func, resolver) {
@@ -5377,7 +5358,7 @@ var lodash = { exports: {} };
5377
5358
  lodash2.flatten = flatten;
5378
5359
  lodash2.flattenDeep = flattenDeep;
5379
5360
  lodash2.flattenDepth = flattenDepth;
5380
- lodash2.flip = flip;
5361
+ lodash2.flip = flip2;
5381
5362
  lodash2.flow = flow;
5382
5363
  lodash2.flowRight = flowRight;
5383
5364
  lodash2.fromPairs = fromPairs;