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
package/table/index.es.js CHANGED
@@ -1169,6 +1169,10 @@ const flexibleOverlayProps = {
1169
1169
  clickEventBubble: {
1170
1170
  type: Boolean,
1171
1171
  default: false
1172
+ },
1173
+ fitOriginWidth: {
1174
+ type: Boolean,
1175
+ default: false
1172
1176
  }
1173
1177
  };
1174
1178
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -1191,9 +1195,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
1191
1195
  return { x, y };
1192
1196
  }
1193
1197
  function useOverlay(props, emit) {
1194
- const { position, showArrow } = toRefs(props);
1198
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
1195
1199
  const overlayRef = ref();
1196
1200
  const arrowRef = ref();
1201
+ const overlayWidth = ref(0);
1202
+ let originObserver;
1203
+ const styles = computed(() => {
1204
+ if (fitOriginWidth.value) {
1205
+ return { width: overlayWidth.value + "px" };
1206
+ } else {
1207
+ return {};
1208
+ }
1209
+ });
1197
1210
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
1198
1211
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
1199
1212
  const staticSide = {
@@ -1238,21 +1251,43 @@ function useOverlay(props, emit) {
1238
1251
  updatePosition();
1239
1252
  }
1240
1253
  };
1254
+ const updateWidth = (originEl) => {
1255
+ overlayWidth.value = originEl.getBoundingClientRect().width;
1256
+ updatePosition();
1257
+ };
1258
+ const observeOrigin = () => {
1259
+ var _a, _b;
1260
+ if (fitOriginWidth.value && typeof window !== "undefined") {
1261
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
1262
+ if (originEl) {
1263
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
1264
+ originObserver.observe(originEl);
1265
+ }
1266
+ }
1267
+ };
1268
+ const unobserveOrigin = () => {
1269
+ var _a, _b;
1270
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
1271
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
1272
+ };
1241
1273
  watch(() => props.modelValue, () => {
1242
1274
  if (props.modelValue && props.origin) {
1243
1275
  nextTick(updatePosition);
1244
1276
  window.addEventListener("scroll", scrollCallback, true);
1245
1277
  window.addEventListener("resize", updatePosition);
1278
+ observeOrigin();
1246
1279
  } else {
1247
1280
  window.removeEventListener("scroll", scrollCallback, true);
1248
1281
  window.removeEventListener("resize", updatePosition);
1282
+ unobserveOrigin();
1249
1283
  }
1250
1284
  });
1251
1285
  onUnmounted(() => {
1252
1286
  window.removeEventListener("scroll", scrollCallback, true);
1253
1287
  window.removeEventListener("resize", updatePosition);
1288
+ unobserveOrigin();
1254
1289
  });
1255
- return { arrowRef, overlayRef, updatePosition };
1290
+ return { arrowRef, overlayRef, styles, updatePosition };
1256
1291
  }
1257
1292
  var flexibleOverlay = "";
1258
1293
  const FlexibleOverlay = defineComponent({
@@ -1273,6 +1308,7 @@ const FlexibleOverlay = defineComponent({
1273
1308
  const {
1274
1309
  arrowRef,
1275
1310
  overlayRef,
1311
+ styles,
1276
1312
  updatePosition
1277
1313
  } = useOverlay(props, emit);
1278
1314
  expose({
@@ -1282,7 +1318,8 @@ const FlexibleOverlay = defineComponent({
1282
1318
  var _a;
1283
1319
  return props.modelValue && createVNode("div", mergeProps({
1284
1320
  "ref": overlayRef,
1285
- "class": ns2.b()
1321
+ "class": ns2.b(),
1322
+ "style": styles.value
1286
1323
  }, attrs, {
1287
1324
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
1288
1325
  "onPointerup": withModifiers(() => ({}), ["stop"])