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 { createVNode, defineComponent, watch, provide, reactive, toRefs, onUnmounted, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, Teleport, createTextVNode, onBeforeUnmount } from "vue";
32
+ import { createVNode, defineComponent, watch, provide, reactive, toRefs, onUnmounted, Transition, mergeProps, ref, computed, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, onMounted, Teleport, createTextVNode, onBeforeUnmount } from "vue";
33
33
  import "clipboard";
34
34
  import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
35
35
  const inputNumberProps = {
@@ -5902,6 +5902,10 @@ const flexibleOverlayProps = {
5902
5902
  clickEventBubble: {
5903
5903
  type: Boolean,
5904
5904
  default: false
5905
+ },
5906
+ fitOriginWidth: {
5907
+ type: Boolean,
5908
+ default: false
5905
5909
  }
5906
5910
  };
5907
5911
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -5924,9 +5928,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
5924
5928
  return { x, y };
5925
5929
  }
5926
5930
  function useOverlay(props, emit) {
5927
- const { position, showArrow } = toRefs(props);
5931
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
5928
5932
  const overlayRef = ref();
5929
5933
  const arrowRef = ref();
5934
+ const overlayWidth = ref(0);
5935
+ let originObserver;
5936
+ const styles = computed(() => {
5937
+ if (fitOriginWidth.value) {
5938
+ return { width: overlayWidth.value + "px" };
5939
+ } else {
5940
+ return {};
5941
+ }
5942
+ });
5930
5943
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
5931
5944
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
5932
5945
  const staticSide = {
@@ -5971,21 +5984,43 @@ function useOverlay(props, emit) {
5971
5984
  updatePosition();
5972
5985
  }
5973
5986
  };
5987
+ const updateWidth = (originEl) => {
5988
+ overlayWidth.value = originEl.getBoundingClientRect().width;
5989
+ updatePosition();
5990
+ };
5991
+ const observeOrigin = () => {
5992
+ var _a, _b;
5993
+ if (fitOriginWidth.value && typeof window !== "undefined") {
5994
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
5995
+ if (originEl) {
5996
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
5997
+ originObserver.observe(originEl);
5998
+ }
5999
+ }
6000
+ };
6001
+ const unobserveOrigin = () => {
6002
+ var _a, _b;
6003
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
6004
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
6005
+ };
5974
6006
  watch(() => props.modelValue, () => {
5975
6007
  if (props.modelValue && props.origin) {
5976
6008
  nextTick(updatePosition);
5977
6009
  window.addEventListener("scroll", scrollCallback, true);
5978
6010
  window.addEventListener("resize", updatePosition);
6011
+ observeOrigin();
5979
6012
  } else {
5980
6013
  window.removeEventListener("scroll", scrollCallback, true);
5981
6014
  window.removeEventListener("resize", updatePosition);
6015
+ unobserveOrigin();
5982
6016
  }
5983
6017
  });
5984
6018
  onUnmounted(() => {
5985
6019
  window.removeEventListener("scroll", scrollCallback, true);
5986
6020
  window.removeEventListener("resize", updatePosition);
6021
+ unobserveOrigin();
5987
6022
  });
5988
- return { arrowRef, overlayRef, updatePosition };
6023
+ return { arrowRef, overlayRef, styles, updatePosition };
5989
6024
  }
5990
6025
  var flexibleOverlay = "";
5991
6026
  const FlexibleOverlay = defineComponent({
@@ -6006,6 +6041,7 @@ const FlexibleOverlay = defineComponent({
6006
6041
  const {
6007
6042
  arrowRef,
6008
6043
  overlayRef,
6044
+ styles,
6009
6045
  updatePosition
6010
6046
  } = useOverlay(props, emit);
6011
6047
  expose({
@@ -6015,7 +6051,8 @@ const FlexibleOverlay = defineComponent({
6015
6051
  var _a;
6016
6052
  return props.modelValue && createVNode("div", mergeProps({
6017
6053
  "ref": overlayRef,
6018
- "class": ns2.b()
6054
+ "class": ns2.b(),
6055
+ "style": styles.value
6019
6056
  }, attrs, {
6020
6057
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
6021
6058
  "onPointerup": withModifiers(() => ({}), ["stop"])