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, toRef } 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, toRef } from "vue";
33
33
  import "clipboard";
34
34
  import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
35
35
  const commonProps = {
@@ -5929,6 +5929,10 @@ const flexibleOverlayProps = {
5929
5929
  clickEventBubble: {
5930
5930
  type: Boolean,
5931
5931
  default: false
5932
+ },
5933
+ fitOriginWidth: {
5934
+ type: Boolean,
5935
+ default: false
5932
5936
  }
5933
5937
  };
5934
5938
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -5951,9 +5955,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
5951
5955
  return { x, y };
5952
5956
  }
5953
5957
  function useOverlay(props, emit) {
5954
- const { position, showArrow } = toRefs(props);
5958
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
5955
5959
  const overlayRef = ref();
5956
5960
  const arrowRef = ref();
5961
+ const overlayWidth = ref(0);
5962
+ let originObserver;
5963
+ const styles = computed(() => {
5964
+ if (fitOriginWidth.value) {
5965
+ return { width: overlayWidth.value + "px" };
5966
+ } else {
5967
+ return {};
5968
+ }
5969
+ });
5957
5970
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
5958
5971
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
5959
5972
  const staticSide = {
@@ -5998,21 +6011,43 @@ function useOverlay(props, emit) {
5998
6011
  updatePosition();
5999
6012
  }
6000
6013
  };
6014
+ const updateWidth = (originEl) => {
6015
+ overlayWidth.value = originEl.getBoundingClientRect().width;
6016
+ updatePosition();
6017
+ };
6018
+ const observeOrigin = () => {
6019
+ var _a, _b;
6020
+ if (fitOriginWidth.value && typeof window !== "undefined") {
6021
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
6022
+ if (originEl) {
6023
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
6024
+ originObserver.observe(originEl);
6025
+ }
6026
+ }
6027
+ };
6028
+ const unobserveOrigin = () => {
6029
+ var _a, _b;
6030
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
6031
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
6032
+ };
6001
6033
  watch(() => props.modelValue, () => {
6002
6034
  if (props.modelValue && props.origin) {
6003
6035
  nextTick(updatePosition);
6004
6036
  window.addEventListener("scroll", scrollCallback, true);
6005
6037
  window.addEventListener("resize", updatePosition);
6038
+ observeOrigin();
6006
6039
  } else {
6007
6040
  window.removeEventListener("scroll", scrollCallback, true);
6008
6041
  window.removeEventListener("resize", updatePosition);
6042
+ unobserveOrigin();
6009
6043
  }
6010
6044
  });
6011
6045
  onUnmounted(() => {
6012
6046
  window.removeEventListener("scroll", scrollCallback, true);
6013
6047
  window.removeEventListener("resize", updatePosition);
6048
+ unobserveOrigin();
6014
6049
  });
6015
- return { arrowRef, overlayRef, updatePosition };
6050
+ return { arrowRef, overlayRef, styles, updatePosition };
6016
6051
  }
6017
6052
  var flexibleOverlay = "";
6018
6053
  const FlexibleOverlay = defineComponent({
@@ -6033,6 +6068,7 @@ const FlexibleOverlay = defineComponent({
6033
6068
  const {
6034
6069
  arrowRef,
6035
6070
  overlayRef,
6071
+ styles,
6036
6072
  updatePosition
6037
6073
  } = useOverlay(props, emit);
6038
6074
  expose({
@@ -6042,7 +6078,8 @@ const FlexibleOverlay = defineComponent({
6042
6078
  var _a;
6043
6079
  return props.modelValue && createVNode("div", mergeProps({
6044
6080
  "ref": overlayRef,
6045
- "class": ns2.b()
6081
+ "class": ns2.b(),
6082
+ "style": styles.value
6046
6083
  }, attrs, {
6047
6084
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
6048
6085
  "onPointerup": withModifiers(() => ({}), ["stop"])