vue-devui 1.6.15 → 1.6.16

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 +47 -5
  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 +121 -41
  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, shallowRef } 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, shallowRef } from "vue";
33
33
  import "clipboard";
34
34
  import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
35
35
  const formProps = {
@@ -5819,6 +5819,10 @@ const flexibleOverlayProps = {
5819
5819
  clickEventBubble: {
5820
5820
  type: Boolean,
5821
5821
  default: false
5822
+ },
5823
+ fitOriginWidth: {
5824
+ type: Boolean,
5825
+ default: false
5822
5826
  }
5823
5827
  };
5824
5828
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -5841,9 +5845,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
5841
5845
  return { x, y };
5842
5846
  }
5843
5847
  function useOverlay(props, emit) {
5844
- const { position, showArrow } = toRefs(props);
5848
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
5845
5849
  const overlayRef = ref();
5846
5850
  const arrowRef = ref();
5851
+ const overlayWidth = ref(0);
5852
+ let originObserver;
5853
+ const styles = computed(() => {
5854
+ if (fitOriginWidth.value) {
5855
+ return { width: overlayWidth.value + "px" };
5856
+ } else {
5857
+ return {};
5858
+ }
5859
+ });
5847
5860
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
5848
5861
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
5849
5862
  const staticSide = {
@@ -5888,21 +5901,43 @@ function useOverlay(props, emit) {
5888
5901
  updatePosition();
5889
5902
  }
5890
5903
  };
5904
+ const updateWidth = (originEl) => {
5905
+ overlayWidth.value = originEl.getBoundingClientRect().width;
5906
+ updatePosition();
5907
+ };
5908
+ const observeOrigin = () => {
5909
+ var _a, _b;
5910
+ if (fitOriginWidth.value && typeof window !== "undefined") {
5911
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
5912
+ if (originEl) {
5913
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
5914
+ originObserver.observe(originEl);
5915
+ }
5916
+ }
5917
+ };
5918
+ const unobserveOrigin = () => {
5919
+ var _a, _b;
5920
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
5921
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
5922
+ };
5891
5923
  watch(() => props.modelValue, () => {
5892
5924
  if (props.modelValue && props.origin) {
5893
5925
  nextTick(updatePosition);
5894
5926
  window.addEventListener("scroll", scrollCallback, true);
5895
5927
  window.addEventListener("resize", updatePosition);
5928
+ observeOrigin();
5896
5929
  } else {
5897
5930
  window.removeEventListener("scroll", scrollCallback, true);
5898
5931
  window.removeEventListener("resize", updatePosition);
5932
+ unobserveOrigin();
5899
5933
  }
5900
5934
  });
5901
5935
  onUnmounted(() => {
5902
5936
  window.removeEventListener("scroll", scrollCallback, true);
5903
5937
  window.removeEventListener("resize", updatePosition);
5938
+ unobserveOrigin();
5904
5939
  });
5905
- return { arrowRef, overlayRef, updatePosition };
5940
+ return { arrowRef, overlayRef, styles, updatePosition };
5906
5941
  }
5907
5942
  var flexibleOverlay = "";
5908
5943
  const FlexibleOverlay = defineComponent({
@@ -5923,6 +5958,7 @@ const FlexibleOverlay = defineComponent({
5923
5958
  const {
5924
5959
  arrowRef,
5925
5960
  overlayRef,
5961
+ styles,
5926
5962
  updatePosition
5927
5963
  } = useOverlay(props, emit);
5928
5964
  expose({
@@ -5932,7 +5968,8 @@ const FlexibleOverlay = defineComponent({
5932
5968
  var _a;
5933
5969
  return props.modelValue && createVNode("div", mergeProps({
5934
5970
  "ref": overlayRef,
5935
- "class": ns2.b()
5971
+ "class": ns2.b(),
5972
+ "style": styles.value
5936
5973
  }, attrs, {
5937
5974
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
5938
5975
  "onPointerup": withModifiers(() => ({}), ["stop"])