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
@@ -29,7 +29,7 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
- import { defineComponent, watch, provide, reactive, toRefs, createVNode, onUnmounted, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, Teleport, createTextVNode, onBeforeUnmount, resolveDynamicComponent, getCurrentInstance, shallowRef, resolveDirective } from "vue";
32
+ import { defineComponent, watch, provide, reactive, toRefs, createVNode, onUnmounted, Transition, mergeProps, ref, computed, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, onMounted, Teleport, createTextVNode, onBeforeUnmount, resolveDynamicComponent, getCurrentInstance, shallowRef, resolveDirective } from "vue";
33
33
  import "clipboard";
34
34
  import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
35
35
  const searchProps = {
@@ -5875,6 +5875,10 @@ const flexibleOverlayProps = {
5875
5875
  clickEventBubble: {
5876
5876
  type: Boolean,
5877
5877
  default: false
5878
+ },
5879
+ fitOriginWidth: {
5880
+ type: Boolean,
5881
+ default: false
5878
5882
  }
5879
5883
  };
5880
5884
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -5897,9 +5901,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
5897
5901
  return { x, y };
5898
5902
  }
5899
5903
  function useOverlay(props, emit) {
5900
- const { position, showArrow } = toRefs(props);
5904
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
5901
5905
  const overlayRef = ref();
5902
5906
  const arrowRef = ref();
5907
+ const overlayWidth = ref(0);
5908
+ let originObserver;
5909
+ const styles = computed(() => {
5910
+ if (fitOriginWidth.value) {
5911
+ return { width: overlayWidth.value + "px" };
5912
+ } else {
5913
+ return {};
5914
+ }
5915
+ });
5903
5916
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
5904
5917
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
5905
5918
  const staticSide = {
@@ -5944,21 +5957,43 @@ function useOverlay(props, emit) {
5944
5957
  updatePosition();
5945
5958
  }
5946
5959
  };
5960
+ const updateWidth = (originEl) => {
5961
+ overlayWidth.value = originEl.getBoundingClientRect().width;
5962
+ updatePosition();
5963
+ };
5964
+ const observeOrigin = () => {
5965
+ var _a, _b;
5966
+ if (fitOriginWidth.value && typeof window !== "undefined") {
5967
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
5968
+ if (originEl) {
5969
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
5970
+ originObserver.observe(originEl);
5971
+ }
5972
+ }
5973
+ };
5974
+ const unobserveOrigin = () => {
5975
+ var _a, _b;
5976
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
5977
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
5978
+ };
5947
5979
  watch(() => props.modelValue, () => {
5948
5980
  if (props.modelValue && props.origin) {
5949
5981
  nextTick(updatePosition);
5950
5982
  window.addEventListener("scroll", scrollCallback, true);
5951
5983
  window.addEventListener("resize", updatePosition);
5984
+ observeOrigin();
5952
5985
  } else {
5953
5986
  window.removeEventListener("scroll", scrollCallback, true);
5954
5987
  window.removeEventListener("resize", updatePosition);
5988
+ unobserveOrigin();
5955
5989
  }
5956
5990
  });
5957
5991
  onUnmounted(() => {
5958
5992
  window.removeEventListener("scroll", scrollCallback, true);
5959
5993
  window.removeEventListener("resize", updatePosition);
5994
+ unobserveOrigin();
5960
5995
  });
5961
- return { arrowRef, overlayRef, updatePosition };
5996
+ return { arrowRef, overlayRef, styles, updatePosition };
5962
5997
  }
5963
5998
  var flexibleOverlay = "";
5964
5999
  const FlexibleOverlay = defineComponent({
@@ -5979,6 +6014,7 @@ const FlexibleOverlay = defineComponent({
5979
6014
  const {
5980
6015
  arrowRef,
5981
6016
  overlayRef,
6017
+ styles,
5982
6018
  updatePosition
5983
6019
  } = useOverlay(props, emit);
5984
6020
  expose({
@@ -5988,7 +6024,8 @@ const FlexibleOverlay = defineComponent({
5988
6024
  var _a;
5989
6025
  return props.modelValue && createVNode("div", mergeProps({
5990
6026
  "ref": overlayRef,
5991
- "class": ns2.b()
6027
+ "class": ns2.b(),
6028
+ "style": styles.value
5992
6029
  }, attrs, {
5993
6030
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
5994
6031
  "onPointerup": withModifiers(() => ({}), ["stop"])