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, resolveDynamicComponent, getCurrentInstance, resolveComponent } 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, resolveDynamicComponent, getCurrentInstance, resolveComponent } from "vue";
33
33
  import "clipboard";
34
34
  import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
35
35
  const mentionProps = {
@@ -5852,6 +5852,10 @@ const flexibleOverlayProps = {
5852
5852
  clickEventBubble: {
5853
5853
  type: Boolean,
5854
5854
  default: false
5855
+ },
5856
+ fitOriginWidth: {
5857
+ type: Boolean,
5858
+ default: false
5855
5859
  }
5856
5860
  };
5857
5861
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -5874,9 +5878,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
5874
5878
  return { x, y };
5875
5879
  }
5876
5880
  function useOverlay(props, emit) {
5877
- const { position, showArrow } = toRefs(props);
5881
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
5878
5882
  const overlayRef = ref();
5879
5883
  const arrowRef = ref();
5884
+ const overlayWidth = ref(0);
5885
+ let originObserver;
5886
+ const styles = computed(() => {
5887
+ if (fitOriginWidth.value) {
5888
+ return { width: overlayWidth.value + "px" };
5889
+ } else {
5890
+ return {};
5891
+ }
5892
+ });
5880
5893
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
5881
5894
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
5882
5895
  const staticSide = {
@@ -5921,21 +5934,43 @@ function useOverlay(props, emit) {
5921
5934
  updatePosition();
5922
5935
  }
5923
5936
  };
5937
+ const updateWidth = (originEl) => {
5938
+ overlayWidth.value = originEl.getBoundingClientRect().width;
5939
+ updatePosition();
5940
+ };
5941
+ const observeOrigin = () => {
5942
+ var _a, _b;
5943
+ if (fitOriginWidth.value && typeof window !== "undefined") {
5944
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
5945
+ if (originEl) {
5946
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
5947
+ originObserver.observe(originEl);
5948
+ }
5949
+ }
5950
+ };
5951
+ const unobserveOrigin = () => {
5952
+ var _a, _b;
5953
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
5954
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
5955
+ };
5924
5956
  watch(() => props.modelValue, () => {
5925
5957
  if (props.modelValue && props.origin) {
5926
5958
  nextTick(updatePosition);
5927
5959
  window.addEventListener("scroll", scrollCallback, true);
5928
5960
  window.addEventListener("resize", updatePosition);
5961
+ observeOrigin();
5929
5962
  } else {
5930
5963
  window.removeEventListener("scroll", scrollCallback, true);
5931
5964
  window.removeEventListener("resize", updatePosition);
5965
+ unobserveOrigin();
5932
5966
  }
5933
5967
  });
5934
5968
  onUnmounted(() => {
5935
5969
  window.removeEventListener("scroll", scrollCallback, true);
5936
5970
  window.removeEventListener("resize", updatePosition);
5971
+ unobserveOrigin();
5937
5972
  });
5938
- return { arrowRef, overlayRef, updatePosition };
5973
+ return { arrowRef, overlayRef, styles, updatePosition };
5939
5974
  }
5940
5975
  var flexibleOverlay = "";
5941
5976
  const FlexibleOverlay = defineComponent({
@@ -5956,6 +5991,7 @@ const FlexibleOverlay = defineComponent({
5956
5991
  const {
5957
5992
  arrowRef,
5958
5993
  overlayRef,
5994
+ styles,
5959
5995
  updatePosition
5960
5996
  } = useOverlay(props, emit);
5961
5997
  expose({
@@ -5965,7 +6001,8 @@ const FlexibleOverlay = defineComponent({
5965
6001
  var _a;
5966
6002
  return props.modelValue && createVNode("div", mergeProps({
5967
6003
  "ref": overlayRef,
5968
- "class": ns2.b()
6004
+ "class": ns2.b(),
6005
+ "style": styles.value
5969
6006
  }, attrs, {
5970
6007
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
5971
6008
  "onPointerup": withModifiers(() => ({}), ["stop"])