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
@@ -14,7 +14,7 @@ var __spreadValues = (a, b) => {
14
14
  }
15
15
  return a;
16
16
  };
17
- import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, provide, Teleport, createTextVNode, vShow } from "vue";
17
+ import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, computed, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, onMounted, provide, Teleport, createTextVNode, vShow } from "vue";
18
18
  import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
19
19
  import Clipboard from "clipboard";
20
20
  import * as Diff2Html from "diff2html";
@@ -160,6 +160,10 @@ const flexibleOverlayProps = {
160
160
  clickEventBubble: {
161
161
  type: Boolean,
162
162
  default: false
163
+ },
164
+ fitOriginWidth: {
165
+ type: Boolean,
166
+ default: false
163
167
  }
164
168
  };
165
169
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -182,9 +186,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
182
186
  return { x, y };
183
187
  }
184
188
  function useOverlay(props, emit) {
185
- const { position, showArrow } = toRefs(props);
189
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
186
190
  const overlayRef = ref();
187
191
  const arrowRef = ref();
192
+ const overlayWidth = ref(0);
193
+ let originObserver;
194
+ const styles = computed(() => {
195
+ if (fitOriginWidth.value) {
196
+ return { width: overlayWidth.value + "px" };
197
+ } else {
198
+ return {};
199
+ }
200
+ });
188
201
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
189
202
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
190
203
  const staticSide = {
@@ -229,21 +242,43 @@ function useOverlay(props, emit) {
229
242
  updatePosition();
230
243
  }
231
244
  };
245
+ const updateWidth = (originEl) => {
246
+ overlayWidth.value = originEl.getBoundingClientRect().width;
247
+ updatePosition();
248
+ };
249
+ const observeOrigin = () => {
250
+ var _a, _b;
251
+ if (fitOriginWidth.value && typeof window !== "undefined") {
252
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
253
+ if (originEl) {
254
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
255
+ originObserver.observe(originEl);
256
+ }
257
+ }
258
+ };
259
+ const unobserveOrigin = () => {
260
+ var _a, _b;
261
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
262
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
263
+ };
232
264
  watch(() => props.modelValue, () => {
233
265
  if (props.modelValue && props.origin) {
234
266
  nextTick(updatePosition);
235
267
  window.addEventListener("scroll", scrollCallback, true);
236
268
  window.addEventListener("resize", updatePosition);
269
+ observeOrigin();
237
270
  } else {
238
271
  window.removeEventListener("scroll", scrollCallback, true);
239
272
  window.removeEventListener("resize", updatePosition);
273
+ unobserveOrigin();
240
274
  }
241
275
  });
242
276
  onUnmounted(() => {
243
277
  window.removeEventListener("scroll", scrollCallback, true);
244
278
  window.removeEventListener("resize", updatePosition);
279
+ unobserveOrigin();
245
280
  });
246
- return { arrowRef, overlayRef, updatePosition };
281
+ return { arrowRef, overlayRef, styles, updatePosition };
247
282
  }
248
283
  var flexibleOverlay = "";
249
284
  const FlexibleOverlay = defineComponent({
@@ -264,6 +299,7 @@ const FlexibleOverlay = defineComponent({
264
299
  const {
265
300
  arrowRef,
266
301
  overlayRef,
302
+ styles,
267
303
  updatePosition
268
304
  } = useOverlay(props, emit);
269
305
  expose({
@@ -273,7 +309,8 @@ const FlexibleOverlay = defineComponent({
273
309
  var _a;
274
310
  return props.modelValue && createVNode("div", mergeProps({
275
311
  "ref": overlayRef,
276
- "class": ns2.b()
312
+ "class": ns2.b(),
313
+ "style": styles.value
277
314
  }, attrs, {
278
315
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
279
316
  "onPointerup": withModifiers(() => ({}), ["stop"])