vue-devui 1.6.15 → 1.6.17

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 (75) hide show
  1. package/auto-complete/index.es.js +41 -4
  2. package/auto-complete/index.umd.js +12 -12
  3. package/breadcrumb/index.es.js +40 -3
  4. package/breadcrumb/index.umd.js +1 -1
  5. package/category-search/index.es.js +74 -6
  6. package/category-search/index.umd.js +21 -21
  7. package/checkbox/index.es.js +41 -4
  8. package/checkbox/index.umd.js +16 -16
  9. package/code-review/index.es.js +41 -4
  10. package/code-review/index.umd.js +17 -17
  11. package/data-grid/index.es.js +41 -4
  12. package/data-grid/index.umd.js +14 -14
  13. package/date-picker-pro/index.es.js +41 -4
  14. package/date-picker-pro/index.umd.js +8 -8
  15. package/dropdown/index.es.js +40 -3
  16. package/dropdown/index.umd.js +1 -1
  17. package/editable-select/index.es.js +48 -8
  18. package/editable-select/index.umd.js +15 -15
  19. package/editor-md/index.es.js +50 -6
  20. package/editor-md/index.umd.js +26 -26
  21. package/form/index.es.js +41 -4
  22. package/form/index.umd.js +14 -14
  23. package/input/index.es.js +40 -3
  24. package/input/index.umd.js +19 -19
  25. package/input-number/index.es.js +41 -4
  26. package/input-number/index.umd.js +18 -18
  27. package/mention/index.es.js +41 -4
  28. package/mention/index.umd.js +19 -19
  29. package/message/index.es.js +13 -13
  30. package/message/index.umd.js +1 -1
  31. package/modal/index.es.js +40 -3
  32. package/modal/index.umd.js +2 -2
  33. package/overlay/index.es.js +41 -4
  34. package/overlay/index.umd.js +1 -1
  35. package/package.json +2 -1
  36. package/pagination/index.es.js +58 -21
  37. package/pagination/index.umd.js +17 -17
  38. package/pagination/style.css +1 -1
  39. package/popover/index.es.js +41 -4
  40. package/popover/index.umd.js +9 -9
  41. package/radio/index.es.js +41 -4
  42. package/radio/index.umd.js +17 -17
  43. package/search/index.es.js +41 -4
  44. package/search/index.umd.js +17 -17
  45. package/select/index.es.js +58 -21
  46. package/select/index.umd.js +19 -19
  47. package/select/style.css +1 -1
  48. package/splitter/index.es.js +41 -4
  49. package/splitter/index.umd.js +15 -15
  50. package/style.css +1 -1
  51. package/switch/index.es.js +41 -4
  52. package/switch/index.umd.js +14 -14
  53. package/table/index.es.js +40 -3
  54. package/table/index.umd.js +15 -15
  55. package/textarea/index.es.js +41 -4
  56. package/textarea/index.umd.js +16 -16
  57. package/time-picker/index.es.js +40 -3
  58. package/time-picker/index.umd.js +15 -15
  59. package/time-select/index.es.js +58 -21
  60. package/time-select/index.umd.js +17 -17
  61. package/time-select/style.css +1 -1
  62. package/tooltip/index.es.js +41 -4
  63. package/tooltip/index.umd.js +12 -12
  64. package/tree/index.es.js +40 -3
  65. package/tree/index.umd.js +10 -10
  66. package/types/category-search/src/category-search-types.d.ts +5 -0
  67. package/types/editable-select/src/editable-select-types.d.ts +3 -0
  68. package/types/overlay/src/flexible-overlay/flexible-overlay-types.d.ts +5 -6
  69. package/types/overlay/src/flexible-overlay/index.d.ts +9 -0
  70. package/types/overlay/src/flexible-overlay/use-flexible-overlay.d.ts +11 -2
  71. package/types/select/src/composables/use-select-content.d.ts +21 -2
  72. package/types/select/src/select-types.d.ts +7 -44
  73. package/types/select/src/use-select.d.ts +26 -2
  74. package/vue-devui.es.js +122 -44
  75. package/vue-devui.umd.js +74 -74
@@ -7405,6 +7405,10 @@ const flexibleOverlayProps = {
7405
7405
  clickEventBubble: {
7406
7406
  type: Boolean,
7407
7407
  default: false
7408
+ },
7409
+ fitOriginWidth: {
7410
+ type: Boolean,
7411
+ default: false
7408
7412
  }
7409
7413
  };
7410
7414
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -7427,9 +7431,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
7427
7431
  return { x, y };
7428
7432
  }
7429
7433
  function useOverlay(props, emit) {
7430
- const { position, showArrow } = toRefs(props);
7434
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
7431
7435
  const overlayRef = ref();
7432
7436
  const arrowRef = ref();
7437
+ const overlayWidth = ref(0);
7438
+ let originObserver;
7439
+ const styles = computed(() => {
7440
+ if (fitOriginWidth.value) {
7441
+ return { width: overlayWidth.value + "px" };
7442
+ } else {
7443
+ return {};
7444
+ }
7445
+ });
7433
7446
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
7434
7447
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
7435
7448
  const staticSide = {
@@ -7474,21 +7487,43 @@ function useOverlay(props, emit) {
7474
7487
  updatePosition();
7475
7488
  }
7476
7489
  };
7490
+ const updateWidth = (originEl) => {
7491
+ overlayWidth.value = originEl.getBoundingClientRect().width;
7492
+ updatePosition();
7493
+ };
7494
+ const observeOrigin = () => {
7495
+ var _a, _b;
7496
+ if (fitOriginWidth.value && typeof window !== "undefined") {
7497
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
7498
+ if (originEl) {
7499
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
7500
+ originObserver.observe(originEl);
7501
+ }
7502
+ }
7503
+ };
7504
+ const unobserveOrigin = () => {
7505
+ var _a, _b;
7506
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
7507
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
7508
+ };
7477
7509
  watch(() => props.modelValue, () => {
7478
7510
  if (props.modelValue && props.origin) {
7479
7511
  nextTick(updatePosition);
7480
7512
  window.addEventListener("scroll", scrollCallback, true);
7481
7513
  window.addEventListener("resize", updatePosition);
7514
+ observeOrigin();
7482
7515
  } else {
7483
7516
  window.removeEventListener("scroll", scrollCallback, true);
7484
7517
  window.removeEventListener("resize", updatePosition);
7518
+ unobserveOrigin();
7485
7519
  }
7486
7520
  });
7487
7521
  onUnmounted(() => {
7488
7522
  window.removeEventListener("scroll", scrollCallback, true);
7489
7523
  window.removeEventListener("resize", updatePosition);
7524
+ unobserveOrigin();
7490
7525
  });
7491
- return { arrowRef, overlayRef, updatePosition };
7526
+ return { arrowRef, overlayRef, styles, updatePosition };
7492
7527
  }
7493
7528
  var flexibleOverlay = "";
7494
7529
  const FlexibleOverlay = defineComponent({
@@ -7509,6 +7544,7 @@ const FlexibleOverlay = defineComponent({
7509
7544
  const {
7510
7545
  arrowRef,
7511
7546
  overlayRef,
7547
+ styles,
7512
7548
  updatePosition
7513
7549
  } = useOverlay(props, emit);
7514
7550
  expose({
@@ -7518,7 +7554,8 @@ const FlexibleOverlay = defineComponent({
7518
7554
  var _a;
7519
7555
  return props.modelValue && createVNode("div", mergeProps({
7520
7556
  "ref": overlayRef,
7521
- "class": ns2.b()
7557
+ "class": ns2.b(),
7558
+ "style": styles.value
7522
7559
  }, attrs, {
7523
7560
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
7524
7561
  "onPointerup": withModifiers(() => ({}), ["stop"])