@koi-design/uxd-ui 14.0.39 → 14.0.41

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 (95) hide show
  1. package/es/components/Calendar/Calendar.vue.d.ts +3 -3
  2. package/es/components/Calendar/Header.vue.d.ts +3 -3
  3. package/es/components/Calendar/index.d.ts +6 -6
  4. package/es/components/Cascader/Cascader.d.ts +1 -1
  5. package/es/components/DatePicker/DatePicker.vue.d.ts +3 -3
  6. package/es/components/DatePicker/Panel/DatePickerPanel.vue.d.ts +3 -3
  7. package/es/components/DatePicker/index.d.ts +6 -6
  8. package/es/components/Select/RefSelect.vue.d.ts +59 -1017
  9. package/es/components/Select/Select.d.ts +4 -4
  10. package/es/components/Select/Select.type.d.ts +1 -1
  11. package/es/components/Select/Select.type.mjs +1 -1
  12. package/es/components/Select/Select.type.mjs.map +1 -1
  13. package/es/components/Select/Selection/Multiple.vue.d.ts +2 -2
  14. package/es/components/Select/Selection/Multiple.vue_vue_type_script_lang.mjs +1 -1
  15. package/es/components/Select/Selection/Multiple.vue_vue_type_script_lang.mjs.map +1 -1
  16. package/es/components/Select/Selection/MultipleBase.d.ts +253 -0
  17. package/es/components/Select/Selection/MultipleBase.mjs +317 -0
  18. package/es/components/Select/Selection/MultipleBase.mjs.map +1 -0
  19. package/es/components/Select/Selection/MultipleOverFlow.mjs +202 -0
  20. package/es/components/Select/Selection/MultipleOverFlow.mjs.map +1 -0
  21. package/es/components/Select/Selection/MultipleOverFlow.vue.d.ts +1191 -0
  22. package/es/components/Select/Selection/MultipleOverFlow.vue_vue_type_script_lang.mjs +265 -0
  23. package/es/components/Select/Selection/MultipleOverFlow.vue_vue_type_script_lang.mjs.map +1 -0
  24. package/es/components/Select/Selection/Selection.mjs +90 -67
  25. package/es/components/Select/Selection/Selection.mjs.map +1 -1
  26. package/es/components/Select/Selection/Selection.vue.d.ts +57 -1015
  27. package/es/components/Select/hooks/useMultipleBase.d.ts +32 -0
  28. package/es/components/Select/hooks/useMultipleBase.mjs +211 -0
  29. package/es/components/Select/hooks/useMultipleBase.mjs.map +1 -0
  30. package/es/components/Select/index.d.ts +3 -3
  31. package/es/components/TreeSelect/TreeSelect.vue.d.ts +57 -1015
  32. package/es/components/TreeSelect/index.d.ts +1065 -2981
  33. package/lib/components/Calendar/Calendar.vue.d.ts +3 -3
  34. package/lib/components/Calendar/Header.vue.d.ts +3 -3
  35. package/lib/components/Calendar/index.d.ts +6 -6
  36. package/lib/components/Cascader/Cascader.d.ts +1 -1
  37. package/lib/components/DatePicker/DatePicker.vue.d.ts +3 -3
  38. package/lib/components/DatePicker/Panel/DatePickerPanel.vue.d.ts +3 -3
  39. package/lib/components/DatePicker/index.d.ts +6 -6
  40. package/lib/components/Select/RefSelect.vue.d.ts +59 -1017
  41. package/lib/components/Select/Select.d.ts +4 -4
  42. package/lib/components/Select/Select.type.d.ts +1 -1
  43. package/lib/components/Select/Select.type.js +1 -1
  44. package/lib/components/Select/Select.type.js.map +1 -1
  45. package/lib/components/Select/Selection/Multiple.vue.d.ts +2 -2
  46. package/lib/components/Select/Selection/Multiple.vue_vue_type_script_lang.js +1 -1
  47. package/lib/components/Select/Selection/Multiple.vue_vue_type_script_lang.js.map +1 -1
  48. package/lib/components/Select/Selection/MultipleBase.d.ts +253 -0
  49. package/lib/components/Select/Selection/MultipleBase.js +326 -0
  50. package/lib/components/Select/Selection/MultipleBase.js.map +1 -0
  51. package/lib/components/Select/Selection/MultipleOverFlow.js +206 -0
  52. package/lib/components/Select/Selection/MultipleOverFlow.js.map +1 -0
  53. package/lib/components/Select/Selection/MultipleOverFlow.vue.d.ts +1191 -0
  54. package/lib/components/Select/Selection/MultipleOverFlow.vue_vue_type_script_lang.js +269 -0
  55. package/lib/components/Select/Selection/MultipleOverFlow.vue_vue_type_script_lang.js.map +1 -0
  56. package/lib/components/Select/Selection/Selection.js +89 -66
  57. package/lib/components/Select/Selection/Selection.js.map +1 -1
  58. package/lib/components/Select/Selection/Selection.vue.d.ts +57 -1015
  59. package/lib/components/Select/hooks/useMultipleBase.d.ts +32 -0
  60. package/lib/components/Select/hooks/useMultipleBase.js +216 -0
  61. package/lib/components/Select/hooks/useMultipleBase.js.map +1 -0
  62. package/lib/components/Select/index.d.ts +3 -3
  63. package/lib/components/TreeSelect/TreeSelect.vue.d.ts +57 -1015
  64. package/lib/components/TreeSelect/index.d.ts +1065 -2981
  65. package/package.json +1 -1
  66. package/styles/components/cascader/index.css +1 -1
  67. package/styles/components/form/index.css +1 -1
  68. package/styles/components/form/index.less +12 -1
  69. package/styles/components/form/var.less +1 -1
  70. package/styles/components/select/index.css +1 -1
  71. package/styles/components/select/index.less +10 -0
  72. package/styles/index.css +1 -1
  73. package/types/components/Calendar/Calendar.vue.d.ts +3 -3
  74. package/types/components/Calendar/Header.vue.d.ts +3 -3
  75. package/types/components/Calendar/index.d.ts +6 -6
  76. package/types/components/Cascader/Cascader.d.ts +1 -1
  77. package/types/components/DatePicker/DatePicker.vue.d.ts +3 -3
  78. package/types/components/DatePicker/Panel/DatePickerPanel.vue.d.ts +3 -3
  79. package/types/components/DatePicker/index.d.ts +6 -6
  80. package/types/components/Select/RefSelect.vue.d.ts +59 -1017
  81. package/types/components/Select/Select.d.ts +4 -4
  82. package/types/components/Select/Select.type.d.ts +1 -1
  83. package/types/components/Select/Selection/Multiple.vue.d.ts +2 -2
  84. package/types/components/Select/Selection/MultipleBase.d.ts +253 -0
  85. package/types/components/Select/Selection/MultipleOverFlow.vue.d.ts +1191 -0
  86. package/types/components/Select/Selection/Selection.vue.d.ts +57 -1015
  87. package/types/components/Select/hooks/useMultipleBase.d.ts +32 -0
  88. package/types/components/Select/index.d.ts +3 -3
  89. package/types/components/TreeSelect/TreeSelect.vue.d.ts +57 -1015
  90. package/types/components/TreeSelect/index.d.ts +1065 -2981
  91. package/uxd-ui.css +1 -1
  92. package/uxd-ui.esm.min.mjs +7 -7
  93. package/uxd-ui.esm.mjs +722 -535
  94. package/uxd-ui.umd.js +722 -535
  95. package/uxd-ui.umd.min.js +7 -7
package/uxd-ui.esm.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @koi-design/uxd-ui@4.0.39 */
1
+ /*! @koi-design/uxd-ui@4.0.41 */
2
2
 
3
3
  import { defineComponent, reactive, watch, provide, inject, computed, onMounted, ref, onBeforeUnmount, openBlock, createElementBlock, createElementVNode, normalizeClass, normalizeStyle, renderSlot, withDirectives, vShow, createBlock, resolveDynamicComponent, createCommentVNode, toRaw, resolveComponent, Transition, withCtx, createVNode, toDisplayString, isVNode, Comment as Comment$1, Fragment, Text as Text$1, h, shallowRef, toRef, nextTick, onUpdated, onUnmounted, cloneVNode, Teleport, toRefs, withModifiers, mergeProps, renderList, onBeforeUpdate, createTextVNode, createStaticVNode, normalizeProps, guardReactiveProps, watchEffect, onActivated, onDeactivated, withKeys, TransitionGroup, createApp, onBeforeMount, unref } from 'vue';
4
4
  import { X, Terminal, CircleAlert, Info, CircleCheck, LoaderCircle, CircleX, Search, Eye, EyeOff, Check, CornerDownLeft, ChevronUp, ChevronDown, ChevronRight, MenuIcon, Minus, ChevronLeft, CheckIcon, ChevronsLeft, ChevronsRight, Calendar as Calendar$1, ZoomIn, ZoomOut, RotateCcw, RotateCw, PanelLeft, PanelRight, Image as Image$2, CheckCircle, XCircle, Star as Star$1, XIcon, FilterIcon, GripVertical, Plus, Clock, FileIcon, HelpCircle, CircleHelp, AlertCircle, SearchIcon } from 'lucide-vue-next';
@@ -594,7 +594,7 @@ function getOffset(element, scrollElement) {
594
594
  left: rect.left + scrollLeft - clientLeft
595
595
  };
596
596
  }
597
- const _sfc_main$2h = defineComponent({
597
+ const _sfc_main$2g = defineComponent({
598
598
  name: "UAffix",
599
599
  props: affixProps,
600
600
  emits: affixEmits,
@@ -688,9 +688,9 @@ const _sfc_main$2h = defineComponent({
688
688
  };
689
689
  }
690
690
  });
691
- const _hoisted_1$Y = { ref: "containerRef" };
692
- function _sfc_render$2f(_ctx, _cache, $props, $setup, $data, $options) {
693
- return openBlock(), createElementBlock("div", _hoisted_1$Y, [
691
+ const _hoisted_1$X = { ref: "containerRef" };
692
+ function _sfc_render$2e(_ctx, _cache, $props, $setup, $data, $options) {
693
+ return openBlock(), createElementBlock("div", _hoisted_1$X, [
694
694
  createElementVNode("div", {
695
695
  ref: "pointRef",
696
696
  class: normalizeClass(_ctx.classes),
@@ -705,7 +705,7 @@ function _sfc_render$2f(_ctx, _cache, $props, $setup, $data, $options) {
705
705
  ])
706
706
  ], 512);
707
707
  }
708
- var Affix = /* @__PURE__ */ _export_sfc(_sfc_main$2h, [["render", _sfc_render$2f], ["__file", "Affix.vue"]]);
708
+ var Affix = /* @__PURE__ */ _export_sfc(_sfc_main$2g, [["render", _sfc_render$2e], ["__file", "Affix.vue"]]);
709
709
 
710
710
  const UAffix = withInstall(Affix);
711
711
 
@@ -729,7 +729,7 @@ const iconEmits = {
729
729
  click: (ev) => ev instanceof Event
730
730
  };
731
731
 
732
- const _sfc_main$2g = defineComponent({
732
+ const _sfc_main$2f = defineComponent({
733
733
  name: "UIcon",
734
734
  props: iconProps,
735
735
  emits: iconEmits,
@@ -771,7 +771,7 @@ const _sfc_main$2g = defineComponent({
771
771
  };
772
772
  }
773
773
  });
774
- function _sfc_render$2e(_ctx, _cache, $props, $setup, $data, $options) {
774
+ function _sfc_render$2d(_ctx, _cache, $props, $setup, $data, $options) {
775
775
  return openBlock(), createElementBlock("i", {
776
776
  class: normalizeClass([
777
777
  {
@@ -787,7 +787,7 @@ function _sfc_render$2e(_ctx, _cache, $props, $setup, $data, $options) {
787
787
  ])
788
788
  ], 6);
789
789
  }
790
- var Icon = /* @__PURE__ */ _export_sfc(_sfc_main$2g, [["render", _sfc_render$2e], ["__file", "Icon.vue"]]);
790
+ var Icon = /* @__PURE__ */ _export_sfc(_sfc_main$2f, [["render", _sfc_render$2d], ["__file", "Icon.vue"]]);
791
791
 
792
792
  const UIcon = withInstall(Icon);
793
793
 
@@ -1102,7 +1102,7 @@ const alertEmits = {
1102
1102
  "update:visible": (v) => typeof v === "boolean"
1103
1103
  };
1104
1104
 
1105
- const _sfc_main$2f = defineComponent({
1105
+ const _sfc_main$2e = defineComponent({
1106
1106
  name: "UAlert",
1107
1107
  components: {
1108
1108
  UIcon,
@@ -1154,7 +1154,7 @@ const _sfc_main$2f = defineComponent({
1154
1154
  };
1155
1155
  }
1156
1156
  });
1157
- function _sfc_render$2d(_ctx, _cache, $props, $setup, $data, $options) {
1157
+ function _sfc_render$2c(_ctx, _cache, $props, $setup, $data, $options) {
1158
1158
  const _component_UIcon = resolveComponent("UIcon");
1159
1159
  const _component_X = resolveComponent("X");
1160
1160
  return openBlock(), createBlock(Transition, {
@@ -1211,7 +1211,7 @@ function _sfc_render$2d(_ctx, _cache, $props, $setup, $data, $options) {
1211
1211
  _: 3
1212
1212
  }, 8, ["onAfterLeave"]);
1213
1213
  }
1214
- var Alert = /* @__PURE__ */ _export_sfc(_sfc_main$2f, [["render", _sfc_render$2d], ["__file", "Alert.vue"]]);
1214
+ var Alert = /* @__PURE__ */ _export_sfc(_sfc_main$2e, [["render", _sfc_render$2c], ["__file", "Alert.vue"]]);
1215
1215
 
1216
1216
  const UAlert = withInstall(Alert);
1217
1217
 
@@ -3487,7 +3487,7 @@ const formItemProps = {
3487
3487
  }
3488
3488
  };
3489
3489
 
3490
- const _sfc_main$2e = defineComponent({
3490
+ const _sfc_main$2d = defineComponent({
3491
3491
  name: "UForm",
3492
3492
  props: formProps,
3493
3493
  emits: formEmits,
@@ -3611,7 +3611,7 @@ const _sfc_main$2e = defineComponent({
3611
3611
  };
3612
3612
  }
3613
3613
  });
3614
- function _sfc_render$2c(_ctx, _cache, $props, $setup, $data, $options) {
3614
+ function _sfc_render$2b(_ctx, _cache, $props, $setup, $data, $options) {
3615
3615
  return openBlock(), createElementBlock("form", {
3616
3616
  class: normalizeClass([
3617
3617
  _ctx.prefixCls,
@@ -3627,7 +3627,7 @@ function _sfc_render$2c(_ctx, _cache, $props, $setup, $data, $options) {
3627
3627
  renderSlot(_ctx.$slots, "default")
3628
3628
  ], 34);
3629
3629
  }
3630
- var Form = /* @__PURE__ */ _export_sfc(_sfc_main$2e, [["render", _sfc_render$2c], ["__file", "Form.vue"]]);
3630
+ var Form = /* @__PURE__ */ _export_sfc(_sfc_main$2d, [["render", _sfc_render$2b], ["__file", "Form.vue"]]);
3631
3631
 
3632
3632
  var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
3633
3633
  var freeGlobal$1 = freeGlobal;
@@ -7549,7 +7549,7 @@ var ResizeObserver$1 = defineComponent({
7549
7549
  }
7550
7550
  });
7551
7551
 
7552
- const _sfc_main$2d = defineComponent({
7552
+ const _sfc_main$2c = defineComponent({
7553
7553
  name: "ListContent",
7554
7554
  components: {
7555
7555
  ResizeObserver: ResizeObserver$1
@@ -7607,7 +7607,7 @@ const _sfc_main$2d = defineComponent({
7607
7607
  };
7608
7608
  }
7609
7609
  });
7610
- function _sfc_render$2b(_ctx, _cache, $props, $setup, $data, $options) {
7610
+ function _sfc_render$2a(_ctx, _cache, $props, $setup, $data, $options) {
7611
7611
  const _component_ResizeObserver = resolveComponent("ResizeObserver");
7612
7612
  return openBlock(), createElementBlock("div", {
7613
7613
  ref: _ctx.contentRef,
@@ -7628,7 +7628,7 @@ function _sfc_render$2b(_ctx, _cache, $props, $setup, $data, $options) {
7628
7628
  }, 8, ["onResize"])
7629
7629
  ], 4);
7630
7630
  }
7631
- var ListContent = /* @__PURE__ */ _export_sfc(_sfc_main$2d, [["render", _sfc_render$2b], ["__file", "ListContent.vue"]]);
7631
+ var ListContent = /* @__PURE__ */ _export_sfc(_sfc_main$2c, [["render", _sfc_render$2a], ["__file", "ListContent.vue"]]);
7632
7632
 
7633
7633
  const ListItem$2 = ({
7634
7634
  itemRef
@@ -7753,7 +7753,7 @@ raf_1.polyfill = polyfill;
7753
7753
  function getPageY(e) {
7754
7754
  return "touches" in e ? e.touches[0].pageY : e.pageY;
7755
7755
  }
7756
- const _sfc_main$2c = defineComponent({
7756
+ const _sfc_main$2b = defineComponent({
7757
7757
  name: "VirtualScrollBar",
7758
7758
  props: {
7759
7759
  prefixCls: {
@@ -7912,7 +7912,7 @@ const _sfc_main$2c = defineComponent({
7912
7912
  };
7913
7913
  }
7914
7914
  });
7915
- function _sfc_render$2a(_ctx, _cache, $props, $setup, $data, $options) {
7915
+ function _sfc_render$29(_ctx, _cache, $props, $setup, $data, $options) {
7916
7916
  return openBlock(), createElementBlock("div", {
7917
7917
  ref: "scrollBarRef",
7918
7918
  class: normalizeClass(`${_ctx.prefixCls}-scrollbar`),
@@ -7956,7 +7956,7 @@ function _sfc_render$2a(_ctx, _cache, $props, $setup, $data, $options) {
7956
7956
  }, null, 38)
7957
7957
  ], 38);
7958
7958
  }
7959
- var VirtualScrollBar = /* @__PURE__ */ _export_sfc(_sfc_main$2c, [["render", _sfc_render$2a], ["__file", "VirtualScrollBar.vue"]]);
7959
+ var VirtualScrollBar = /* @__PURE__ */ _export_sfc(_sfc_main$2b, [["render", _sfc_render$29], ["__file", "VirtualScrollBar.vue"]]);
7960
7960
 
7961
7961
  function useHeight(getKey, useVirtual, props, state, contentRef) {
7962
7962
  const instance = /* @__PURE__ */ new Map();
@@ -8194,7 +8194,7 @@ function useScrollTo(containerRef, state, heights, props, getKey, collectHeight,
8194
8194
  };
8195
8195
  }
8196
8196
 
8197
- const _sfc_main$2b = defineComponent({
8197
+ const _sfc_main$2a = defineComponent({
8198
8198
  name: "UVirtualList",
8199
8199
  components: {
8200
8200
  ListContent,
@@ -8395,7 +8395,7 @@ const _sfc_main$2b = defineComponent({
8395
8395
  };
8396
8396
  }
8397
8397
  });
8398
- function _sfc_render$29(_ctx, _cache, $props, $setup, $data, $options) {
8398
+ function _sfc_render$28(_ctx, _cache, $props, $setup, $data, $options) {
8399
8399
  const _component_ListItem = resolveComponent("ListItem");
8400
8400
  const _component_ListContent = resolveComponent("ListContent");
8401
8401
  const _component_VirtualScrollBar = resolveComponent("VirtualScrollBar");
@@ -8446,7 +8446,7 @@ function _sfc_render$29(_ctx, _cache, $props, $setup, $data, $options) {
8446
8446
  }, null, 8, ["prefix-cls", "height", "count", "scroll-height", "scroll-top", "onScroll"])) : createCommentVNode("v-if", true)
8447
8447
  ], 16);
8448
8448
  }
8449
- var VirtualList$1 = /* @__PURE__ */ _export_sfc(_sfc_main$2b, [["render", _sfc_render$29], ["__file", "VirtualList.vue"]]);
8449
+ var VirtualList$1 = /* @__PURE__ */ _export_sfc(_sfc_main$2a, [["render", _sfc_render$28], ["__file", "VirtualList.vue"]]);
8450
8450
 
8451
8451
  var VirtualList = withInstall(VirtualList$1);
8452
8452
 
@@ -8805,7 +8805,7 @@ function useShouldRender(show, desdroyOnClose, animationEnd, renderFunction) {
8805
8805
  return desdroyOnClose && animationEnd ? null : renderFunction == null ? void 0 : renderFunction();
8806
8806
  }
8807
8807
 
8808
- const _sfc_main$2a = defineComponent({
8808
+ const _sfc_main$29 = defineComponent({
8809
8809
  name: "OptionList",
8810
8810
  components: {
8811
8811
  VirtualList,
@@ -9052,9 +9052,9 @@ const _sfc_main$2a = defineComponent({
9052
9052
  };
9053
9053
  }
9054
9054
  });
9055
- const _hoisted_1$X = ["title", "onMousemove", "onClick"];
9056
- const _hoisted_2$n = ["id"];
9057
- function _sfc_render$28(_ctx, _cache, $props, $setup, $data, $options) {
9055
+ const _hoisted_1$W = ["title", "onMousemove", "onClick"];
9056
+ const _hoisted_2$m = ["id"];
9057
+ function _sfc_render$27(_ctx, _cache, $props, $setup, $data, $options) {
9058
9058
  const _component_u_checkbox = resolveComponent("u-checkbox");
9059
9059
  const _component_Render = resolveComponent("Render");
9060
9060
  const _component_Check = resolveComponent("Check");
@@ -9160,7 +9160,7 @@ function _sfc_render$28(_ctx, _cache, $props, $setup, $data, $options) {
9160
9160
  ]),
9161
9161
  _: 1
9162
9162
  }, 8, ["class"])) : createCommentVNode("v-if", true)
9163
- ], 46, _hoisted_1$X))
9163
+ ], 46, _hoisted_1$W))
9164
9164
  ]),
9165
9165
  _: 1
9166
9166
  }, 8, ["prefix-cls", "data", "height", "item-height", "virtual", "onScrollAtTop", "onScrollAtBottom"])
@@ -9173,9 +9173,9 @@ function _sfc_render$28(_ctx, _cache, $props, $setup, $data, $options) {
9173
9173
  }, ["prevent"]))
9174
9174
  }, [
9175
9175
  renderSlot(_ctx.$slots, "empty")
9176
- ], 42, _hoisted_2$n));
9176
+ ], 42, _hoisted_2$m));
9177
9177
  }
9178
- var DropdownMenu$1 = /* @__PURE__ */ _export_sfc(_sfc_main$2a, [["render", _sfc_render$28], ["__file", "DropdownMenu.vue"]]);
9178
+ var DropdownMenu$1 = /* @__PURE__ */ _export_sfc(_sfc_main$29, [["render", _sfc_render$27], ["__file", "DropdownMenu.vue"]]);
9179
9179
 
9180
9180
  const getInnerText = (children) => {
9181
9181
  if (children && children.length > 0) {
@@ -9542,7 +9542,7 @@ const autoCompleteEmits = {
9542
9542
  select: (val) => typeof val === "string"
9543
9543
  };
9544
9544
 
9545
- const _sfc_main$29 = defineComponent({
9545
+ const _sfc_main$28 = defineComponent({
9546
9546
  name: "UAutoComplete",
9547
9547
  components: {
9548
9548
  Popup,
@@ -9669,7 +9669,7 @@ const _sfc_main$29 = defineComponent({
9669
9669
  };
9670
9670
  }
9671
9671
  });
9672
- function _sfc_render$27(_ctx, _cache, $props, $setup, $data, $options) {
9672
+ function _sfc_render$26(_ctx, _cache, $props, $setup, $data, $options) {
9673
9673
  const _component_UInput = resolveComponent("UInput");
9674
9674
  const _component_LoaderCircle = resolveComponent("LoaderCircle");
9675
9675
  const _component_UIcon = resolveComponent("UIcon");
@@ -9747,7 +9747,7 @@ function _sfc_render$27(_ctx, _cache, $props, $setup, $data, $options) {
9747
9747
  }, 8, ["prefix-cls", "visible", "popup-class", "popup-style", "click-outside"])
9748
9748
  ], 2);
9749
9749
  }
9750
- var AutoComplete = /* @__PURE__ */ _export_sfc(_sfc_main$29, [["render", _sfc_render$27], ["__file", "AutoComplete.vue"]]);
9750
+ var AutoComplete = /* @__PURE__ */ _export_sfc(_sfc_main$28, [["render", _sfc_render$26], ["__file", "AutoComplete.vue"]]);
9751
9751
 
9752
9752
  const selectProps = {
9753
9753
  modelValue: {
@@ -9816,7 +9816,7 @@ const selectProps = {
9816
9816
  type: Function
9817
9817
  },
9818
9818
  maxTagTextLength: {
9819
- type: Number
9819
+ type: [Number, String]
9820
9820
  },
9821
9821
  tagRender: {
9822
9822
  type: Function
@@ -10090,7 +10090,7 @@ const anchorLinkEmits = {
10090
10090
  change: (href, ev) => typeof href === "string" && ev instanceof Event
10091
10091
  };
10092
10092
 
10093
- const _sfc_main$28 = defineComponent({
10093
+ const _sfc_main$27 = defineComponent({
10094
10094
  name: "UAnchor",
10095
10095
  props: anchorProps,
10096
10096
  emits: anchorEmits,
@@ -10290,7 +10290,7 @@ const _sfc_main$28 = defineComponent({
10290
10290
  };
10291
10291
  }
10292
10292
  });
10293
- function _sfc_render$26(_ctx, _cache, $props, $setup, $data, $options) {
10293
+ function _sfc_render$25(_ctx, _cache, $props, $setup, $data, $options) {
10294
10294
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.wrapperComponent), {
10295
10295
  container: _ctx.container,
10296
10296
  "offset-top": _ctx.offsetTop,
@@ -10322,9 +10322,9 @@ function _sfc_render$26(_ctx, _cache, $props, $setup, $data, $options) {
10322
10322
  _: 3
10323
10323
  }, 40, ["container", "offset-top", "offset-bottom", "onOnChange"]);
10324
10324
  }
10325
- var Anchor = /* @__PURE__ */ _export_sfc(_sfc_main$28, [["render", _sfc_render$26], ["__file", "Anchor.vue"]]);
10325
+ var Anchor = /* @__PURE__ */ _export_sfc(_sfc_main$27, [["render", _sfc_render$25], ["__file", "Anchor.vue"]]);
10326
10326
 
10327
- const _sfc_main$27 = defineComponent({
10327
+ const _sfc_main$26 = defineComponent({
10328
10328
  name: "UAnchorLink",
10329
10329
  props: anchorLinkProps,
10330
10330
  emits: anchorLinkEmits,
@@ -10363,8 +10363,8 @@ const _sfc_main$27 = defineComponent({
10363
10363
  };
10364
10364
  }
10365
10365
  });
10366
- const _hoisted_1$W = ["href", "data-scroll-offset", "data-href", "title"];
10367
- function _sfc_render$25(_ctx, _cache, $props, $setup, $data, $options) {
10366
+ const _hoisted_1$V = ["href", "data-scroll-offset", "data-href", "title"];
10367
+ function _sfc_render$24(_ctx, _cache, $props, $setup, $data, $options) {
10368
10368
  return openBlock(), createElementBlock("div", {
10369
10369
  class: normalizeClass([`${_ctx.prefixCls}`, { [`${_ctx.prefixCls}-active`]: !!_ctx.anchorLinkClasses }])
10370
10370
  }, [
@@ -10375,11 +10375,11 @@ function _sfc_render$25(_ctx, _cache, $props, $setup, $data, $options) {
10375
10375
  "data-href": _ctx.href,
10376
10376
  title: _ctx.title,
10377
10377
  onClick: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.goAnchor && _ctx.goAnchor(...args), ["prevent"]))
10378
- }, toDisplayString(_ctx.title), 11, _hoisted_1$W),
10378
+ }, toDisplayString(_ctx.title), 11, _hoisted_1$V),
10379
10379
  renderSlot(_ctx.$slots, "default")
10380
10380
  ], 2);
10381
10381
  }
10382
- var AnchorLink = /* @__PURE__ */ _export_sfc(_sfc_main$27, [["render", _sfc_render$25], ["__file", "AnchorLink.vue"]]);
10382
+ var AnchorLink = /* @__PURE__ */ _export_sfc(_sfc_main$26, [["render", _sfc_render$24], ["__file", "AnchorLink.vue"]]);
10383
10383
 
10384
10384
  const UAnchor = withInstall(Anchor, { Link: AnchorLink });
10385
10385
 
@@ -10413,7 +10413,7 @@ const avatarEmits = {
10413
10413
  };
10414
10414
 
10415
10415
  const sizeList = ["small", "large", "default"];
10416
- const _sfc_main$26 = defineComponent({
10416
+ const _sfc_main$25 = defineComponent({
10417
10417
  name: "UAvatar",
10418
10418
  components: {
10419
10419
  UIcon
@@ -10485,8 +10485,8 @@ const _sfc_main$26 = defineComponent({
10485
10485
  };
10486
10486
  }
10487
10487
  });
10488
- const _hoisted_1$V = ["src"];
10489
- function _sfc_render$24(_ctx, _cache, $props, $setup, $data, $options) {
10488
+ const _hoisted_1$U = ["src"];
10489
+ function _sfc_render$23(_ctx, _cache, $props, $setup, $data, $options) {
10490
10490
  const _component_UIcon = resolveComponent("UIcon");
10491
10491
  return openBlock(), createElementBlock("span", {
10492
10492
  ref: "avatar",
@@ -10505,7 +10505,7 @@ function _sfc_render$24(_ctx, _cache, $props, $setup, $data, $options) {
10505
10505
  key: 0,
10506
10506
  src: _ctx.src,
10507
10507
  onError: _cache[0] || (_cache[0] = (...args) => _ctx.handleError && _ctx.handleError(...args))
10508
- }, null, 40, _hoisted_1$V)) : _ctx.icon ? (openBlock(), createBlock(_component_UIcon, { key: 1 }, {
10508
+ }, null, 40, _hoisted_1$U)) : _ctx.icon ? (openBlock(), createBlock(_component_UIcon, { key: 1 }, {
10509
10509
  default: withCtx(() => [
10510
10510
  (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))
10511
10511
  ]),
@@ -10520,7 +10520,7 @@ function _sfc_render$24(_ctx, _cache, $props, $setup, $data, $options) {
10520
10520
  ], 6))
10521
10521
  ], 6);
10522
10522
  }
10523
- var Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$26, [["render", _sfc_render$24], ["__file", "Avatar.vue"]]);
10523
+ var Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$25, [["render", _sfc_render$23], ["__file", "Avatar.vue"]]);
10524
10524
 
10525
10525
  const popoverTrigger = ["hover", "focus", "click", "contextmenu"];
10526
10526
  const popoverType = ["popover", "popConfirm"];
@@ -10591,7 +10591,7 @@ const popoverEmits = {
10591
10591
  "update:visible": (v) => typeof v === "boolean"
10592
10592
  };
10593
10593
 
10594
- const _sfc_main$25 = defineComponent({
10594
+ const _sfc_main$24 = defineComponent({
10595
10595
  name: "UPopover",
10596
10596
  components: {
10597
10597
  Popup
@@ -10754,7 +10754,7 @@ const _sfc_main$25 = defineComponent({
10754
10754
  };
10755
10755
  }
10756
10756
  });
10757
- function _sfc_render$23(_ctx, _cache, $props, $setup, $data, $options) {
10757
+ function _sfc_render$22(_ctx, _cache, $props, $setup, $data, $options) {
10758
10758
  const _component_Popup = resolveComponent("Popup");
10759
10759
  return _ctx.disabled ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createBlock(_component_Popup, {
10760
10760
  key: 1,
@@ -10819,7 +10819,7 @@ function _sfc_render$23(_ctx, _cache, $props, $setup, $data, $options) {
10819
10819
  _: 3
10820
10820
  }, 8, ["class", "style", "prefix-cls", "popup-class", "popup-style", "visible", "placement", "trigger", "mouse-enter-delay", "offset", "destroy-popup-on-hide", "onPopupVisibleChange"]));
10821
10821
  }
10822
- var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$25, [["render", _sfc_render$23], ["__file", "Popover.vue"]]);
10822
+ var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$24, [["render", _sfc_render$22], ["__file", "Popover.vue"]]);
10823
10823
 
10824
10824
  var AvatarGroup = defineComponent({
10825
10825
  name: "UAvatarGroup",
@@ -10894,7 +10894,7 @@ const backTopProps = {
10894
10894
  }
10895
10895
  };
10896
10896
 
10897
- const _sfc_main$24 = defineComponent({
10897
+ const _sfc_main$23 = defineComponent({
10898
10898
  name: "UBackTop",
10899
10899
  components: {
10900
10900
  UIcon,
@@ -10961,7 +10961,7 @@ const _sfc_main$24 = defineComponent({
10961
10961
  };
10962
10962
  }
10963
10963
  });
10964
- function _sfc_render$22(_ctx, _cache, $props, $setup, $data, $options) {
10964
+ function _sfc_render$21(_ctx, _cache, $props, $setup, $data, $options) {
10965
10965
  const _component_ChevronUp = resolveComponent("ChevronUp");
10966
10966
  const _component_UIcon = resolveComponent("UIcon");
10967
10967
  return openBlock(), createElementBlock("div", {
@@ -10983,7 +10983,7 @@ function _sfc_render$22(_ctx, _cache, $props, $setup, $data, $options) {
10983
10983
  ])
10984
10984
  ], 6);
10985
10985
  }
10986
- var BackTop = /* @__PURE__ */ _export_sfc(_sfc_main$24, [["render", _sfc_render$22], ["__file", "BackTop.vue"]]);
10986
+ var BackTop = /* @__PURE__ */ _export_sfc(_sfc_main$23, [["render", _sfc_render$21], ["__file", "BackTop.vue"]]);
10987
10987
 
10988
10988
  const UBackTop = withInstall(BackTop);
10989
10989
 
@@ -11032,7 +11032,7 @@ const badgeProps = {
11032
11032
  };
11033
11033
 
11034
11034
  const initColorList = colorType.toString().split(",");
11035
- const _sfc_main$23 = defineComponent({
11035
+ const _sfc_main$22 = defineComponent({
11036
11036
  name: "UBadge",
11037
11037
  props: badgeProps,
11038
11038
  setup(props) {
@@ -11122,10 +11122,10 @@ const _sfc_main$23 = defineComponent({
11122
11122
  };
11123
11123
  }
11124
11124
  });
11125
- const _hoisted_1$U = ["data-color"];
11126
- const _hoisted_2$m = { class: "uui-badge-status-text" };
11127
- const _hoisted_3$7 = ["data-color"];
11128
- function _sfc_render$21(_ctx, _cache, $props, $setup, $data, $options) {
11125
+ const _hoisted_1$T = ["data-color"];
11126
+ const _hoisted_2$l = { class: "uui-badge-status-text" };
11127
+ const _hoisted_3$6 = ["data-color"];
11128
+ function _sfc_render$20(_ctx, _cache, $props, $setup, $data, $options) {
11129
11129
  return _ctx.dot ? (openBlock(), createElementBlock("span", {
11130
11130
  key: 0,
11131
11131
  class: normalizeClass(_ctx.prefixCls)
@@ -11151,8 +11151,8 @@ function _sfc_render$21(_ctx, _cache, $props, $setup, $data, $options) {
11151
11151
  ]),
11152
11152
  "data-color": _ctx.computedColor,
11153
11153
  style: normalizeStyle(_ctx.statusStyles)
11154
- }, null, 14, _hoisted_1$U),
11155
- createElementVNode("span", _hoisted_2$m, [
11154
+ }, null, 14, _hoisted_1$T),
11155
+ createElementVNode("span", _hoisted_2$l, [
11156
11156
  renderSlot(_ctx.$slots, "text", {}, () => [
11157
11157
  createTextVNode(toDisplayString(_ctx.text), 1)
11158
11158
  ])
@@ -11190,12 +11190,12 @@ function _sfc_render$21(_ctx, _cache, $props, $setup, $data, $options) {
11190
11190
  renderSlot(_ctx.$slots, "text", {}, () => [
11191
11191
  createTextVNode(toDisplayString(_ctx.finalCount), 1)
11192
11192
  ])
11193
- ], 14, _hoisted_3$7)), [
11193
+ ], 14, _hoisted_3$6)), [
11194
11194
  [vShow, _ctx.badgeShow]
11195
11195
  ]) : createCommentVNode("v-if", true)
11196
11196
  ], 2));
11197
11197
  }
11198
- var Badge = /* @__PURE__ */ _export_sfc(_sfc_main$23, [["render", _sfc_render$21], ["__file", "Badge.vue"]]);
11198
+ var Badge = /* @__PURE__ */ _export_sfc(_sfc_main$22, [["render", _sfc_render$20], ["__file", "Badge.vue"]]);
11199
11199
 
11200
11200
  const UBadge = withInstall(Badge);
11201
11201
 
@@ -11325,7 +11325,7 @@ const menuItemGroupProps = {
11325
11325
  };
11326
11326
 
11327
11327
  let guid$1 = -1;
11328
- const _sfc_main$22 = defineComponent({
11328
+ const _sfc_main$21 = defineComponent({
11329
11329
  name: "USubMenu",
11330
11330
  components: {
11331
11331
  Popup,
@@ -11455,11 +11455,11 @@ const _sfc_main$22 = defineComponent({
11455
11455
  };
11456
11456
  }
11457
11457
  });
11458
- const _hoisted_1$T = ["aria-expanded", "aria-owns"];
11459
- const _hoisted_2$l = ["id"];
11460
- const _hoisted_3$6 = ["data-color", "aria-owns"];
11458
+ const _hoisted_1$S = ["aria-expanded", "aria-owns"];
11459
+ const _hoisted_2$k = ["id"];
11460
+ const _hoisted_3$5 = ["data-color", "aria-owns"];
11461
11461
  const _hoisted_4$2 = ["id"];
11462
- function _sfc_render$20(_ctx, _cache, $props, $setup, $data, $options) {
11462
+ function _sfc_render$1$(_ctx, _cache, $props, $setup, $data, $options) {
11463
11463
  const _component_ChevronDown = resolveComponent("ChevronDown");
11464
11464
  const _component_UIcon = resolveComponent("UIcon");
11465
11465
  const _component_ChevronRight = resolveComponent("ChevronRight");
@@ -11496,7 +11496,7 @@ function _sfc_render$20(_ctx, _cache, $props, $setup, $data, $options) {
11496
11496
  ]),
11497
11497
  _: 1
11498
11498
  }, 8, ["class"])
11499
- ], 14, _hoisted_1$T),
11499
+ ], 14, _hoisted_1$S),
11500
11500
  createCommentVNode(' <transition name="slide-up"> '),
11501
11501
  createCommentVNode(" <CollapseTransition appear> "),
11502
11502
  withDirectives(createElementVNode("ul", {
@@ -11505,7 +11505,7 @@ function _sfc_render$20(_ctx, _cache, $props, $setup, $data, $options) {
11505
11505
  style: normalizeStyle(_ctx.subMenuStyle)
11506
11506
  }, [
11507
11507
  renderSlot(_ctx.$slots, "default")
11508
- ], 14, _hoisted_2$l), [
11508
+ ], 14, _hoisted_2$k), [
11509
11509
  [vShow, _ctx.isOpen]
11510
11510
  ]),
11511
11511
  createCommentVNode(" </CollapseTransition> "),
@@ -11555,13 +11555,13 @@ function _sfc_render$20(_ctx, _cache, $props, $setup, $data, $options) {
11555
11555
  ]),
11556
11556
  _: 1
11557
11557
  }, 8, ["class"])
11558
- ], 10, _hoisted_3$6)
11558
+ ], 10, _hoisted_3$5)
11559
11559
  ]),
11560
11560
  _: 3
11561
11561
  }, 8, ["aria-owns", "popup-class", "prefix", "placement", "offset", "trigger", "mouse-enter-delay", "mouse-leave-delay", "transition-name", "get-popup-container", "onPopupVisibleChange", "onClick"]))
11562
11562
  ], 2);
11563
11563
  }
11564
- var SubMenu = /* @__PURE__ */ _export_sfc(_sfc_main$22, [["render", _sfc_render$20], ["__file", "SubMenu.vue"]]);
11564
+ var SubMenu = /* @__PURE__ */ _export_sfc(_sfc_main$21, [["render", _sfc_render$1$], ["__file", "SubMenu.vue"]]);
11565
11565
 
11566
11566
  const FLOAT_PRECISION_ADJUST = 0.5;
11567
11567
  const getWidth$1 = (elem) => {
@@ -11952,7 +11952,7 @@ const tooltipEmits = {
11952
11952
  "update:visible": (v) => typeof v === "boolean"
11953
11953
  };
11954
11954
 
11955
- const _sfc_main$21 = defineComponent({
11955
+ const _sfc_main$20 = defineComponent({
11956
11956
  name: "UTooltip",
11957
11957
  components: {
11958
11958
  Popup
@@ -12101,9 +12101,9 @@ const _sfc_main$21 = defineComponent({
12101
12101
  };
12102
12102
  }
12103
12103
  });
12104
- const _hoisted_1$S = ["data-color"];
12105
- const _hoisted_2$k = ["data-color"];
12106
- function _sfc_render$1$(_ctx, _cache, $props, $setup, $data, $options) {
12104
+ const _hoisted_1$R = ["data-color"];
12105
+ const _hoisted_2$j = ["data-color"];
12106
+ function _sfc_render$1_(_ctx, _cache, $props, $setup, $data, $options) {
12107
12107
  const _component_Popup = resolveComponent("Popup");
12108
12108
  return _ctx.disabled ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createBlock(_component_Popup, mergeProps({
12109
12109
  key: 1,
@@ -12125,7 +12125,7 @@ function _sfc_render$1$(_ctx, _cache, $props, $setup, $data, $options) {
12125
12125
  class: normalizeClass(`${_ctx.prefixCls}-arrow`),
12126
12126
  "data-color": _ctx.color,
12127
12127
  style: normalizeStyle(_ctx.arrowStyle)
12128
- }, null, 14, _hoisted_1$S),
12128
+ }, null, 14, _hoisted_1$R),
12129
12129
  createElementVNode("div", {
12130
12130
  ref: "innerRef",
12131
12131
  class: normalizeClass(`${_ctx.prefixCls}-inner`),
@@ -12135,7 +12135,7 @@ function _sfc_render$1$(_ctx, _cache, $props, $setup, $data, $options) {
12135
12135
  renderSlot(_ctx.$slots, "title", {}, () => [
12136
12136
  createTextVNode(toDisplayString(_ctx.title), 1)
12137
12137
  ])
12138
- ], 10, _hoisted_2$k)
12138
+ ], 10, _hoisted_2$j)
12139
12139
  ]),
12140
12140
  default: withCtx(() => [
12141
12141
  renderSlot(_ctx.$slots, "default")
@@ -12143,12 +12143,12 @@ function _sfc_render$1$(_ctx, _cache, $props, $setup, $data, $options) {
12143
12143
  _: 3
12144
12144
  }, 16, ["prefix-cls", "popup-class", "popup-style", "visible", "placement", "trigger", "offset", "mouse-enter-delay", "mouse-leave-delay", "destroy-popup-on-hide", "onPopupVisibleChange"]));
12145
12145
  }
12146
- var Tooltip = /* @__PURE__ */ _export_sfc(_sfc_main$21, [["render", _sfc_render$1$], ["__file", "Tooltip.vue"]]);
12146
+ var Tooltip = /* @__PURE__ */ _export_sfc(_sfc_main$20, [["render", _sfc_render$1_], ["__file", "Tooltip.vue"]]);
12147
12147
 
12148
12148
  const UTooltip = withInstall(Tooltip);
12149
12149
 
12150
12150
  let guid = -1;
12151
- const _sfc_main$20 = defineComponent({
12151
+ const _sfc_main$1$ = defineComponent({
12152
12152
  name: "UMenuItem",
12153
12153
  components: {
12154
12154
  UTooltip
@@ -12236,8 +12236,8 @@ const _sfc_main$20 = defineComponent({
12236
12236
  };
12237
12237
  }
12238
12238
  });
12239
- const _hoisted_1$R = ["data-color"];
12240
- function _sfc_render$1_(_ctx, _cache, $props, $setup, $data, $options) {
12239
+ const _hoisted_1$Q = ["data-color"];
12240
+ function _sfc_render$1Z(_ctx, _cache, $props, $setup, $data, $options) {
12241
12241
  const _component_UTooltip = resolveComponent("UTooltip");
12242
12242
  return openBlock(), createBlock(_component_UTooltip, {
12243
12243
  title: _ctx.title,
@@ -12263,14 +12263,14 @@ function _sfc_render$1_(_ctx, _cache, $props, $setup, $data, $options) {
12263
12263
  renderSlot(_ctx.$slots, "default", {}, () => [
12264
12264
  createTextVNode(toDisplayString(_ctx.title), 1)
12265
12265
  ])
12266
- ], 16, _hoisted_1$R)
12266
+ ], 16, _hoisted_1$Q)
12267
12267
  ]),
12268
12268
  _: 3
12269
12269
  }, 8, ["title", "disabled", "class"]);
12270
12270
  }
12271
- var MenuItem$2 = /* @__PURE__ */ _export_sfc(_sfc_main$20, [["render", _sfc_render$1_], ["__file", "MenuItem.vue"]]);
12271
+ var MenuItem$2 = /* @__PURE__ */ _export_sfc(_sfc_main$1$, [["render", _sfc_render$1Z], ["__file", "MenuItem.vue"]]);
12272
12272
 
12273
- const _sfc_main$1$ = defineComponent({
12273
+ const _sfc_main$1_ = defineComponent({
12274
12274
  name: "UMenuItemGroup",
12275
12275
  props: menuItemGroupProps,
12276
12276
  setup() {
@@ -12280,7 +12280,7 @@ const _sfc_main$1$ = defineComponent({
12280
12280
  };
12281
12281
  }
12282
12282
  });
12283
- function _sfc_render$1Z(_ctx, _cache, $props, $setup, $data, $options) {
12283
+ function _sfc_render$1Y(_ctx, _cache, $props, $setup, $data, $options) {
12284
12284
  return openBlock(), createElementBlock("li", {
12285
12285
  class: normalizeClass(`${_ctx.rootPrefixCls}-item-group`)
12286
12286
  }, [
@@ -12298,9 +12298,9 @@ function _sfc_render$1Z(_ctx, _cache, $props, $setup, $data, $options) {
12298
12298
  ], 2)
12299
12299
  ], 2);
12300
12300
  }
12301
- var MenuItemGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$, [["render", _sfc_render$1Z], ["__file", "MenuItemGroup.vue"]]);
12301
+ var MenuItemGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1_, [["render", _sfc_render$1Y], ["__file", "MenuItemGroup.vue"]]);
12302
12302
 
12303
- const _sfc_main$1_ = defineComponent({
12303
+ const _sfc_main$1Z = defineComponent({
12304
12304
  name: "UMenuDivider",
12305
12305
  setup() {
12306
12306
  const { rootPrefixCls } = inject("menuStore", {});
@@ -12309,12 +12309,12 @@ const _sfc_main$1_ = defineComponent({
12309
12309
  };
12310
12310
  }
12311
12311
  });
12312
- function _sfc_render$1Y(_ctx, _cache, $props, $setup, $data, $options) {
12312
+ function _sfc_render$1X(_ctx, _cache, $props, $setup, $data, $options) {
12313
12313
  return openBlock(), createElementBlock("li", {
12314
12314
  class: normalizeClass([`${_ctx.rootPrefixCls}-item-divider`])
12315
12315
  }, null, 2);
12316
12316
  }
12317
- var MenuDivider = /* @__PURE__ */ _export_sfc(_sfc_main$1_, [["render", _sfc_render$1Y], ["__file", "MenuDivider.vue"]]);
12317
+ var MenuDivider = /* @__PURE__ */ _export_sfc(_sfc_main$1Z, [["render", _sfc_render$1X], ["__file", "MenuDivider.vue"]]);
12318
12318
 
12319
12319
  const UMenu = withInstall(Menu, {
12320
12320
  Item: MenuItem$2,
@@ -12404,7 +12404,7 @@ const isDropdownMenuGroup = (option) => {
12404
12404
  return option.group;
12405
12405
  };
12406
12406
 
12407
- const _sfc_main$1Z = defineComponent({
12407
+ const _sfc_main$1Y = defineComponent({
12408
12408
  name: "UDropdown",
12409
12409
  components: {
12410
12410
  Popup
@@ -12453,7 +12453,7 @@ const _sfc_main$1Z = defineComponent({
12453
12453
  };
12454
12454
  }
12455
12455
  });
12456
- function _sfc_render$1X(_ctx, _cache, $props, $setup, $data, $options) {
12456
+ function _sfc_render$1W(_ctx, _cache, $props, $setup, $data, $options) {
12457
12457
  const _component_Popup = resolveComponent("Popup");
12458
12458
  return openBlock(), createBlock(_component_Popup, {
12459
12459
  placement: _ctx.placement,
@@ -12487,9 +12487,9 @@ function _sfc_render$1X(_ctx, _cache, $props, $setup, $data, $options) {
12487
12487
  _: 3
12488
12488
  }, 8, ["placement", "prefix-cls", "class", "disabled", "style", "offset", "visible", "trigger", "popup-class", "popup-style", "mouse-enter-delay", "mouse-leave-delay", "transition-name", "destroy-popup-on-hide", "get-popup-container", "modifiers", "onPopupVisibleChange"]);
12489
12489
  }
12490
- var Dropdown = /* @__PURE__ */ _export_sfc(_sfc_main$1Z, [["render", _sfc_render$1X], ["__file", "Dropdown.vue"]]);
12490
+ var Dropdown = /* @__PURE__ */ _export_sfc(_sfc_main$1Y, [["render", _sfc_render$1W], ["__file", "Dropdown.vue"]]);
12491
12491
 
12492
- function _isSlot$4(s) {
12492
+ function _isSlot$5(s) {
12493
12493
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
12494
12494
  }
12495
12495
  var DropdownMenu = defineComponent({
@@ -12554,7 +12554,7 @@ var DropdownMenu = defineComponent({
12554
12554
  let _slot;
12555
12555
  return createVNode(UMenu.ItemGroup, {
12556
12556
  "title": m.title
12557
- }, _isSlot$4(_slot = m.children.map(renderItem)) ? _slot : {
12557
+ }, _isSlot$5(_slot = m.children.map(renderItem)) ? _slot : {
12558
12558
  default: () => [_slot]
12559
12559
  });
12560
12560
  }
@@ -12603,7 +12603,7 @@ var DropdownMenu = defineComponent({
12603
12603
  [`${prefixCls}-menu-with-icon`]: this.icon
12604
12604
  },
12605
12605
  "style": this.style
12606
- }, _isSlot$4(menus) ? menus : {
12606
+ }, _isSlot$5(menus) ? menus : {
12607
12607
  default: () => [menus]
12608
12608
  })]);
12609
12609
  }
@@ -12692,7 +12692,7 @@ const buttonGroupProps = {
12692
12692
  }
12693
12693
  };
12694
12694
 
12695
- const _sfc_main$1Y = defineComponent({
12695
+ const _sfc_main$1X = defineComponent({
12696
12696
  name: "UButton",
12697
12697
  components: {
12698
12698
  UIcon
@@ -12734,18 +12734,18 @@ const _sfc_main$1Y = defineComponent({
12734
12734
  };
12735
12735
  }
12736
12736
  });
12737
- const _hoisted_1$Q = ["data-color", "type", "disabled"];
12738
- const _hoisted_2$j = {
12737
+ const _hoisted_1$P = ["data-color", "type", "disabled"];
12738
+ const _hoisted_2$i = {
12739
12739
  width: "24",
12740
12740
  height: "24",
12741
12741
  viewBox: "0 0 24 24",
12742
12742
  xmlns: "http://www.w3.org/2000/svg"
12743
12743
  };
12744
- const _hoisted_3$5 = { "clip-path": "url(#clip0_165_1518)" };
12744
+ const _hoisted_3$4 = { "clip-path": "url(#clip0_165_1518)" };
12745
12745
  const _hoisted_4$1 = ["fill"];
12746
12746
  const _hoisted_5 = ["id"];
12747
12747
  const _hoisted_6 = { key: 2 };
12748
- function _sfc_render$1W(_ctx, _cache, $props, $setup, $data, $options) {
12748
+ function _sfc_render$1V(_ctx, _cache, $props, $setup, $data, $options) {
12749
12749
  const _component_UIcon = resolveComponent("UIcon");
12750
12750
  return openBlock(), createElementBlock("button", {
12751
12751
  ref: "buttonRef",
@@ -12775,8 +12775,8 @@ function _sfc_render$1W(_ctx, _cache, $props, $setup, $data, $options) {
12775
12775
  spin: ""
12776
12776
  }, {
12777
12777
  default: withCtx(() => [
12778
- (openBlock(), createElementBlock("svg", _hoisted_2$j, [
12779
- createElementVNode("g", _hoisted_3$5, [
12778
+ (openBlock(), createElementBlock("svg", _hoisted_2$i, [
12779
+ createElementVNode("g", _hoisted_3$4, [
12780
12780
  createElementVNode("path", {
12781
12781
  "fill-rule": "evenodd",
12782
12782
  "clip-rule": "evenodd",
@@ -12820,11 +12820,11 @@ function _sfc_render$1W(_ctx, _cache, $props, $setup, $data, $options) {
12820
12820
  _ctx.showSlot ? (openBlock(), createElementBlock("span", _hoisted_6, [
12821
12821
  renderSlot(_ctx.$slots, "default")
12822
12822
  ])) : createCommentVNode("v-if", true)
12823
- ], 10, _hoisted_1$Q);
12823
+ ], 10, _hoisted_1$P);
12824
12824
  }
12825
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main$1Y, [["render", _sfc_render$1W], ["__file", "Button.vue"]]);
12825
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main$1X, [["render", _sfc_render$1V], ["__file", "Button.vue"]]);
12826
12826
 
12827
- const _sfc_main$1X = defineComponent({
12827
+ const _sfc_main$1W = defineComponent({
12828
12828
  name: "UButtonGroup",
12829
12829
  props: buttonGroupProps,
12830
12830
  setup() {
@@ -12834,7 +12834,7 @@ const _sfc_main$1X = defineComponent({
12834
12834
  };
12835
12835
  }
12836
12836
  });
12837
- function _sfc_render$1V(_ctx, _cache, $props, $setup, $data, $options) {
12837
+ function _sfc_render$1U(_ctx, _cache, $props, $setup, $data, $options) {
12838
12838
  return openBlock(), createElementBlock("div", {
12839
12839
  class: normalizeClass([
12840
12840
  `${_ctx.prefixCls}`,
@@ -12848,7 +12848,7 @@ function _sfc_render$1V(_ctx, _cache, $props, $setup, $data, $options) {
12848
12848
  renderSlot(_ctx.$slots, "default")
12849
12849
  ], 2);
12850
12850
  }
12851
- var ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1X, [["render", _sfc_render$1V], ["__file", "ButtonGroup.vue"]]);
12851
+ var ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1W, [["render", _sfc_render$1U], ["__file", "ButtonGroup.vue"]]);
12852
12852
 
12853
12853
  const UButton = withInstall(Button, {
12854
12854
  Group: ButtonGroup
@@ -13015,7 +13015,7 @@ var BreadcrumbItem = defineComponent({
13015
13015
  }
13016
13016
  });
13017
13017
 
13018
- function _isSlot$3(s) {
13018
+ function _isSlot$4(s) {
13019
13019
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
13020
13020
  }
13021
13021
  const UMenuItem = UMenu.Item;
@@ -13085,11 +13085,11 @@ var Breadcrumb = defineComponent({
13085
13085
  if (routeChildren && !!routeChildren.length) {
13086
13086
  return () => {
13087
13087
  let _slot2;
13088
- return createVNode(UMenu, null, _isSlot$3(_slot2 = routeChildren.map((routeChild, index) => {
13088
+ return createVNode(UMenu, null, _isSlot$4(_slot2 = routeChildren.map((routeChild, index) => {
13089
13089
  let _slot;
13090
13090
  return createVNode(UMenuItem, {
13091
13091
  "key": index
13092
- }, _isSlot$3(_slot = renderRouteItem(routeChild)) ? _slot : {
13092
+ }, _isSlot$4(_slot = renderRouteItem(routeChild)) ? _slot : {
13093
13093
  default: () => [_slot]
13094
13094
  });
13095
13095
  })) ? _slot2 : {
@@ -13491,7 +13491,7 @@ const checkboxGroupEmits = {
13491
13491
  change: (v) => Array.isArray(v) && v.every((x) => x === void 0 || typeof x === "number" || typeof x === "string")
13492
13492
  };
13493
13493
 
13494
- const _sfc_main$1W = defineComponent({
13494
+ const _sfc_main$1V = defineComponent({
13495
13495
  name: "UCheckbox",
13496
13496
  components: {
13497
13497
  UIcon,
@@ -13589,8 +13589,8 @@ const _sfc_main$1W = defineComponent({
13589
13589
  };
13590
13590
  }
13591
13591
  });
13592
- const _hoisted_1$P = ["disabled", "checked", "name"];
13593
- function _sfc_render$1U(_ctx, _cache, $props, $setup, $data, $options) {
13592
+ const _hoisted_1$O = ["disabled", "checked", "name"];
13593
+ function _sfc_render$1T(_ctx, _cache, $props, $setup, $data, $options) {
13594
13594
  const _component_Check = resolveComponent("Check");
13595
13595
  const _component_Minus = resolveComponent("Minus");
13596
13596
  const _component_UIcon = resolveComponent("UIcon");
@@ -13636,7 +13636,7 @@ function _sfc_render$1U(_ctx, _cache, $props, $setup, $data, $options) {
13636
13636
  onClick: _cache[2] || (_cache[2] = (...args) => _ctx.onClick && _ctx.onClick(...args)),
13637
13637
  onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
13638
13638
  onBlur: _cache[4] || (_cache[4] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args))
13639
- }, null, 42, _hoisted_1$P)
13639
+ }, null, 42, _hoisted_1$O)
13640
13640
  ], 2),
13641
13641
  _ctx.showSlot ? (openBlock(), createElementBlock("span", {
13642
13642
  key: 0,
@@ -13648,9 +13648,9 @@ function _sfc_render$1U(_ctx, _cache, $props, $setup, $data, $options) {
13648
13648
  ], 2)) : createCommentVNode("v-if", true)
13649
13649
  ], 2);
13650
13650
  }
13651
- var Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$1W, [["render", _sfc_render$1U], ["__file", "Checkbox.vue"]]);
13651
+ var Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$1V, [["render", _sfc_render$1T], ["__file", "Checkbox.vue"]]);
13652
13652
 
13653
- const _sfc_main$1V = defineComponent({
13653
+ const _sfc_main$1U = defineComponent({
13654
13654
  name: "UCheckboxGroup",
13655
13655
  components: {
13656
13656
  UIcon,
@@ -13722,8 +13722,8 @@ const _sfc_main$1V = defineComponent({
13722
13722
  };
13723
13723
  }
13724
13724
  });
13725
- const _hoisted_1$O = { key: 0 };
13726
- function _sfc_render$1T(_ctx, _cache, $props, $setup, $data, $options) {
13725
+ const _hoisted_1$N = { key: 0 };
13726
+ function _sfc_render$1S(_ctx, _cache, $props, $setup, $data, $options) {
13727
13727
  const _component_LoaderCircle = resolveComponent("LoaderCircle");
13728
13728
  const _component_UIcon = resolveComponent("UIcon");
13729
13729
  const _component_UCheckbox = resolveComponent("UCheckbox");
@@ -13739,7 +13739,7 @@ function _sfc_render$1T(_ctx, _cache, $props, $setup, $data, $options) {
13739
13739
  ])
13740
13740
  }, [
13741
13741
  _ctx.hasSlot ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
13742
- _ctx.loading ? (openBlock(), createElementBlock("div", _hoisted_1$O, [
13742
+ _ctx.loading ? (openBlock(), createElementBlock("div", _hoisted_1$N, [
13743
13743
  createVNode(_component_UIcon, { spin: "" }, {
13744
13744
  default: withCtx(() => [
13745
13745
  createVNode(_component_LoaderCircle)
@@ -13761,13 +13761,13 @@ function _sfc_render$1T(_ctx, _cache, $props, $setup, $data, $options) {
13761
13761
  ], 64))
13762
13762
  ], 2);
13763
13763
  }
13764
- var CheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1V, [["render", _sfc_render$1T], ["__file", "CheckboxGroup.vue"]]);
13764
+ var CheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1U, [["render", _sfc_render$1S], ["__file", "CheckboxGroup.vue"]]);
13765
13765
 
13766
13766
  const UCheckbox = withInstall(Checkbox, {
13767
13767
  Group: CheckboxGroup
13768
13768
  });
13769
13769
 
13770
- const _sfc_main$1U = defineComponent({
13770
+ const _sfc_main$1T = defineComponent({
13771
13771
  name: "SelectInput",
13772
13772
  props: {
13773
13773
  inputRef: {
@@ -13850,8 +13850,8 @@ const _sfc_main$1U = defineComponent({
13850
13850
  };
13851
13851
  }
13852
13852
  });
13853
- const _hoisted_1$N = ["id", "aria-expanded", "aria-own", "aria-controls", "aria-activedescendant", "disabled", "tabindex", "autocomplete", "autofocus", "value", "readonly", "unselectable"];
13854
- function _sfc_render$1S(_ctx, _cache, $props, $setup, $data, $options) {
13853
+ const _hoisted_1$M = ["id", "aria-expanded", "aria-own", "aria-controls", "aria-activedescendant", "disabled", "tabindex", "autocomplete", "autofocus", "value", "readonly", "unselectable"];
13854
+ function _sfc_render$1R(_ctx, _cache, $props, $setup, $data, $options) {
13855
13855
  return openBlock(), createElementBlock("input", {
13856
13856
  id: _ctx.id,
13857
13857
  ref: _ctx.inputRef,
@@ -13879,11 +13879,11 @@ function _sfc_render$1S(_ctx, _cache, $props, $setup, $data, $options) {
13879
13879
  onInput: _cache[5] || (_cache[5] = (...args) => _ctx.onChange && _ctx.onChange(...args)),
13880
13880
  onCompositionstart: _cache[6] || (_cache[6] = (...args) => _ctx.onCompositionstart && _ctx.onCompositionstart(...args)),
13881
13881
  onCompositionend: _cache[7] || (_cache[7] = (...args) => _ctx.onCompositionend && _ctx.onCompositionend(...args))
13882
- }, null, 46, _hoisted_1$N);
13882
+ }, null, 46, _hoisted_1$M);
13883
13883
  }
13884
- var SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$1U, [["render", _sfc_render$1S], ["__file", "Input.vue"]]);
13884
+ var SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$1T, [["render", _sfc_render$1R], ["__file", "Input.vue"]]);
13885
13885
 
13886
- const _sfc_main$1T = defineComponent({
13886
+ const _sfc_main$1S = defineComponent({
13887
13887
  name: "SingleSeletor",
13888
13888
  components: {
13889
13889
  Render,
@@ -13979,8 +13979,8 @@ const _sfc_main$1T = defineComponent({
13979
13979
  };
13980
13980
  }
13981
13981
  });
13982
- const _hoisted_1$M = ["title"];
13983
- function _sfc_render$1R(_ctx, _cache, $props, $setup, $data, $options) {
13982
+ const _hoisted_1$L = ["title"];
13983
+ function _sfc_render$1Q(_ctx, _cache, $props, $setup, $data, $options) {
13984
13984
  const _component_SelectInput = resolveComponent("SelectInput");
13985
13985
  const _component_Render = resolveComponent("Render");
13986
13986
  return openBlock(), createElementBlock(Fragment, null, [
@@ -14010,7 +14010,7 @@ function _sfc_render$1R(_ctx, _cache, $props, $setup, $data, $options) {
14010
14010
  createVNode(_component_Render, {
14011
14011
  render: _ctx.getRender(_ctx.selectedItem.displayLabel)
14012
14012
  }, null, 8, ["render"])
14013
- ], 10, _hoisted_1$M)) : createCommentVNode("v-if", true),
14013
+ ], 10, _hoisted_1$L)) : createCommentVNode("v-if", true),
14014
14014
  withDirectives(createElementVNode("div", {
14015
14015
  class: normalizeClass(`${_ctx.prefixCls}-selection-placeholder`)
14016
14016
  }, [
@@ -14020,362 +14020,529 @@ function _sfc_render$1R(_ctx, _cache, $props, $setup, $data, $options) {
14020
14020
  ])
14021
14021
  ], 64);
14022
14022
  }
14023
- var SingleSelection = /* @__PURE__ */ _export_sfc(_sfc_main$1T, [["render", _sfc_render$1R], ["__file", "Single.vue"]]);
14023
+ var SingleSelection = /* @__PURE__ */ _export_sfc(_sfc_main$1S, [["render", _sfc_render$1Q], ["__file", "Single.vue"]]);
14024
14024
 
14025
14025
  const UPopover = withInstall(Popover);
14026
14026
 
14027
14027
  const REST_TAG_KEY = "__UUI_SELECT_MAX_REST_COUNT__";
14028
- const defaultMaxTagPlaceholder = (ommittedValus) => `+ ${ommittedValus.length}`;
14029
- var _sfc_main$1S = defineComponent({
14030
- name: "MutipleSelector",
14031
- components: {
14032
- SelectInput,
14033
- Render,
14034
- UPopover,
14035
- UIcon,
14036
- X
14037
- },
14038
- inheritAttrs: false,
14039
- props: {
14040
- prefixCls: {
14041
- type: String
14042
- },
14043
- values: {
14044
- type: Array,
14045
- default: () => []
14046
- },
14047
- searchValue: {
14048
- type: String
14049
- },
14050
- filterable: {
14051
- type: Boolean,
14052
- default: false
14053
- },
14054
- disabled: {
14055
- type: Boolean,
14056
- default: void 0
14057
- },
14058
- open: {
14059
- type: Boolean,
14060
- default: void 0
14061
- },
14062
- inputRef: {
14063
- type: Function
14064
- },
14065
- tagTransitionName: {
14066
- type: String
14067
- },
14068
- maxTagCount: {
14069
- type: Number
14070
- },
14071
- maxTagTextLength: {
14072
- type: Number
14073
- },
14074
- maxTagPlaceholder: {
14075
- type: Function,
14076
- default: defaultMaxTagPlaceholder
14077
- },
14078
- maxTagTooltip: {
14079
- type: Boolean,
14080
- default: false
14081
- },
14082
- maxTagTooltipWidth: {
14083
- type: Number,
14084
- default: 99900
14085
- },
14086
- tagRender: {
14087
- type: Function
14088
- },
14089
- removeIcon: {
14090
- type: [String, Object]
14091
- },
14092
- isShowTagTooltip: {
14093
- type: Boolean,
14094
- default: false
14095
- },
14096
- popoverProps: {
14097
- type: Object,
14098
- default: () => ({})
14028
+ function useMultipleBase(props, emit) {
14029
+ const motionAppear = ref(false);
14030
+ const measureRef = ref();
14031
+ const inputWidth = ref(0);
14032
+ const mergedContainerWidth = computed(() => props.containerWrapperWidth || 0);
14033
+ const itemWidths = shallowRef(/* @__PURE__ */ new Map());
14034
+ const suffixWidth = shallowRef(0);
14035
+ const prevRestWidth = shallowRef(0);
14036
+ const restWidth = shallowRef(0);
14037
+ const displayCount = shallowRef(null);
14038
+ const restReady = shallowRef(false);
14039
+ const inputValue = computed(() => {
14040
+ return props.searchValue;
14041
+ });
14042
+ const inputEditable = computed(() => {
14043
+ return props.filterable && props.open;
14044
+ });
14045
+ const showPlaceholder = computed(() => {
14046
+ return !props.values.length && !inputValue.value;
14047
+ });
14048
+ const isNotRender = computed(() => {
14049
+ return !props.tagRender;
14050
+ });
14051
+ const mergedDisplayCount = computed(() => {
14052
+ if (displayCount.value === null) {
14053
+ return Number.MAX_SAFE_INTEGER;
14099
14054
  }
14100
- },
14101
- emits: ["select", "input-mousedown", "input-change", "input-keydown", "input-compositionstart", "input-compositionend", "input-paste"],
14102
- setup(props, {
14103
- emit
14104
- }) {
14105
- const motionAppear = ref(false);
14106
- const measureRef = ref();
14107
- const inputWidth = ref(0);
14108
- const inputValue = computed(() => {
14109
- return props.searchValue;
14110
- });
14111
- const inputEditable = computed(() => {
14112
- return props.filterable && props.open;
14113
- });
14114
- const showPlaceholder = computed(() => {
14115
- return !props.values.length && !inputValue.value;
14116
- });
14117
- onMounted(() => {
14118
- motionAppear.value = true;
14119
- watch(inputValue, () => {
14120
- inputWidth.value = measureRef.value.scrollWidth;
14121
- }, {
14122
- flush: "post"
14123
- });
14124
- });
14125
- const isNotRender = computed(() => {
14126
- return !props.tagRender;
14127
- });
14128
- const displayValues = computed(() => {
14129
- const {
14130
- values,
14131
- maxTagCount,
14132
- maxTagTextLength,
14133
- maxTagPlaceholder
14134
- } = props;
14135
- let restCount = 0;
14136
- let _display = values;
14137
- if (typeof maxTagCount === "number") {
14138
- restCount = values.length - maxTagCount;
14139
- _display = values.slice(0, maxTagCount);
14140
- }
14141
- if (typeof maxTagTextLength === "number") {
14142
- _display = _display.map(({
14143
- displayLabel,
14144
- ...rest
14145
- }) => {
14146
- let _label = displayLabel;
14147
- if (typeof displayLabel === "string" || typeof displayLabel === "number") {
14148
- const strLabel = String(_label);
14149
- if (strLabel.length > maxTagTextLength) {
14150
- _label = `${strLabel.slice(0, maxTagTextLength)}...`;
14151
- }
14055
+ return displayCount.value || 0;
14056
+ });
14057
+ const mergedRestWidth = computed(() => Math.max(prevRestWidth.value, restWidth.value));
14058
+ const omittedItems = computed(() => {
14059
+ return props.values.slice(mergedDisplayCount.value + 1);
14060
+ });
14061
+ const displayRest = computed(() => restReady.value && !!omittedItems.value.length);
14062
+ const baseDisplayValues = computed(() => {
14063
+ const { values, maxTagCount, maxTagTextLength, maxTagPlaceholder } = props;
14064
+ let restCount = 0;
14065
+ let _display = values;
14066
+ if (typeof maxTagCount === "number") {
14067
+ restCount = values.length - maxTagCount;
14068
+ _display = values.slice(0, maxTagCount);
14069
+ }
14070
+ if (typeof maxTagTextLength === "number") {
14071
+ _display = _display.map(({ displayLabel, ...rest }) => {
14072
+ let _label = displayLabel;
14073
+ if (typeof displayLabel === "string" || typeof displayLabel === "number") {
14074
+ const strLabel = String(_label);
14075
+ if (strLabel.length > maxTagTextLength) {
14076
+ _label = `${strLabel.slice(0, maxTagTextLength)}...`;
14152
14077
  }
14153
- return {
14154
- ...rest,
14155
- displayLabel: _label
14156
- };
14157
- });
14158
- }
14159
- if (restCount > 0) {
14160
- const rest = values.slice(maxTagCount);
14161
- _display.push({
14162
- key: REST_TAG_KEY,
14163
- value: REST_TAG_KEY,
14164
- displayLabel: maxTagPlaceholder(rest)
14165
- });
14166
- }
14167
- return _display;
14168
- });
14169
- const closable = (item) => {
14170
- return item.key !== REST_TAG_KEY && !item.disabled;
14171
- };
14172
- const onClose = (value, e) => {
14173
- if (e && e.stopPropagation) {
14174
- e.stopPropagation();
14175
- }
14176
- emit("select", value, {
14177
- selected: false
14078
+ }
14079
+ return {
14080
+ ...rest,
14081
+ displayLabel: _label
14082
+ };
14178
14083
  });
14179
- };
14180
- return {
14181
- getRender,
14182
- REST_TAG_KEY,
14183
- motionAppear,
14184
- measureRef,
14185
- inputWidth,
14186
- inputValue,
14187
- inputEditable,
14188
- showPlaceholder,
14189
- isNotRender,
14190
- displayValues,
14191
- closable,
14192
- onClose,
14193
- onInputMouseDown: () => {
14194
- emit("input-mousedown");
14195
- },
14196
- onInputChange: (val) => {
14197
- emit("input-change", val);
14198
- },
14199
- onInputKeydown: (e) => {
14200
- emit("input-keydown", e);
14201
- },
14202
- onInputCompositionStart: (e) => {
14203
- emit("input-compositionstart", e);
14204
- },
14205
- onInputCompositionEnd: (e) => {
14206
- emit("input-compositionend", e);
14207
- },
14208
- onInputPaste: (e) => {
14209
- emit("input-paste", e);
14084
+ }
14085
+ if (restCount > 0) {
14086
+ const rest = values.slice(maxTagCount);
14087
+ _display.push({
14088
+ key: REST_TAG_KEY,
14089
+ value: REST_TAG_KEY,
14090
+ displayLabel: maxTagPlaceholder(rest)
14091
+ });
14092
+ }
14093
+ return _display;
14094
+ });
14095
+ const overflowDisplayValues = computed(() => {
14096
+ const { maxTagPlaceholder } = props;
14097
+ let items = [];
14098
+ if (props.containerWrapperWidth === null) {
14099
+ items = props.values;
14100
+ } else {
14101
+ items = props.values.slice(0, Math.min(props.values.length, props.containerWrapperWidth / props.itemWidth));
14102
+ }
14103
+ items = [
14104
+ ...items,
14105
+ {
14106
+ key: REST_TAG_KEY,
14107
+ value: REST_TAG_KEY,
14108
+ displayLabel: maxTagPlaceholder(omittedItems.value)
14210
14109
  }
14211
- };
14212
- }
14213
- });
14110
+ ];
14111
+ return items;
14112
+ });
14113
+ const displayValues = computed(() => {
14114
+ return props.enableOverflow ? overflowDisplayValues.value : baseDisplayValues.value;
14115
+ });
14116
+ const closable = (item) => {
14117
+ return item.key !== REST_TAG_KEY && !item.disabled;
14118
+ };
14119
+ const onClose = (value, e) => {
14120
+ if (e && e.stopPropagation) {
14121
+ e.stopPropagation();
14122
+ }
14123
+ emit("select", value, { selected: false });
14124
+ };
14125
+ const getItemWidth = (index) => {
14126
+ return itemWidths.value.get(displayValues.value[index].value || displayValues.value[index].key);
14127
+ };
14128
+ const updateDisplayCount = (count, notReady) => {
14129
+ displayCount.value = count;
14130
+ if (!notReady) {
14131
+ restReady.value = count < props.values.length - 1;
14132
+ }
14133
+ };
14134
+ const onOverflowItemResize = ({ width }, item) => {
14135
+ const clone = new Map(itemWidths.value);
14136
+ const key = item.value || item.key;
14137
+ if (key === REST_TAG_KEY) {
14138
+ prevRestWidth.value = restWidth.value;
14139
+ restWidth.value = width;
14140
+ }
14141
+ if (width === null) {
14142
+ clone.delete(key);
14143
+ } else {
14144
+ clone.set(key, width);
14145
+ }
14146
+ itemWidths.value = clone;
14147
+ };
14148
+ const onSuffixResize = ({ width }) => {
14149
+ suffixWidth.value = width;
14150
+ };
14151
+ const onInputMouseDown = () => {
14152
+ emit("input-mousedown");
14153
+ };
14154
+ const onInputChange = (val) => {
14155
+ emit("input-change", val);
14156
+ };
14157
+ const onInputKeydown = (e) => {
14158
+ emit("input-keydown", e);
14159
+ };
14160
+ const onInputCompositionStart = (e) => {
14161
+ emit("input-compositionstart", e);
14162
+ };
14163
+ const onInputCompositionEnd = (e) => {
14164
+ emit("input-compositionend", e);
14165
+ };
14166
+ const onInputPaste = (e) => {
14167
+ emit("input-paste", e);
14168
+ };
14169
+ onMounted(() => {
14170
+ motionAppear.value = true;
14171
+ watch(
14172
+ inputValue,
14173
+ () => {
14174
+ inputWidth.value = measureRef.value.scrollWidth;
14175
+ },
14176
+ { flush: "post" }
14177
+ );
14178
+ });
14179
+ watch([mergedContainerWidth, itemWidths, restWidth, suffixWidth, displayValues], () => {
14180
+ if (!props.enableOverflow)
14181
+ return;
14182
+ if (mergedContainerWidth.value && mergedRestWidth.value && displayValues.value) {
14183
+ let totalWidth = suffixWidth.value;
14184
+ const len = displayValues.value.filter((item) => item.key !== REST_TAG_KEY).length;
14185
+ const lastIndex = len - 1;
14186
+ if (!len) {
14187
+ updateDisplayCount(0);
14188
+ return;
14189
+ }
14190
+ for (let i = 0; i < len; i += 1) {
14191
+ const currentItemWidth = getItemWidth(i);
14192
+ if (currentItemWidth === void 0) {
14193
+ updateDisplayCount(i - 1, true);
14194
+ break;
14195
+ }
14196
+ totalWidth += currentItemWidth;
14197
+ if (lastIndex === 0 && totalWidth <= mergedContainerWidth.value || i === lastIndex - 1 && totalWidth + getItemWidth(lastIndex) <= mergedContainerWidth.value) {
14198
+ updateDisplayCount(lastIndex);
14199
+ break;
14200
+ } else if (totalWidth + mergedRestWidth.value > mergedContainerWidth.value) {
14201
+ updateDisplayCount(i - 1);
14202
+ break;
14203
+ }
14204
+ }
14205
+ }
14206
+ });
14207
+ return {
14208
+ motionAppear,
14209
+ measureRef,
14210
+ inputWidth,
14211
+ inputValue,
14212
+ inputEditable,
14213
+ showPlaceholder,
14214
+ isNotRender,
14215
+ displayValues,
14216
+ displayRest,
14217
+ mergedDisplayCount,
14218
+ closable,
14219
+ onClose,
14220
+ onOverflowItemResize,
14221
+ onSuffixResize,
14222
+ onInputMouseDown,
14223
+ onInputChange,
14224
+ onInputKeydown,
14225
+ onInputCompositionStart,
14226
+ onInputCompositionEnd,
14227
+ onInputPaste,
14228
+ REST_TAG_KEY,
14229
+ getRender
14230
+ };
14231
+ }
14214
14232
 
14215
- const _hoisted_1$L = ["title"];
14216
- const _hoisted_2$i = ["title"];
14217
- const _hoisted_3$4 = ["title"];
14218
- function _sfc_render$1Q(_ctx, _cache, $props, $setup, $data, $options) {
14219
- const _component_Render = resolveComponent("Render");
14220
- const _component_X = resolveComponent("X");
14221
- const _component_UIcon = resolveComponent("UIcon");
14222
- const _component_UPopover = resolveComponent("UPopover");
14223
- const _component_SelectInput = resolveComponent("SelectInput");
14224
- return openBlock(), createElementBlock(Fragment, null, [
14225
- createCommentVNode(' <transition-group :appear="motionAppear" :name="tagTransitionName"> '),
14226
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.displayValues, (item) => {
14227
- return openBlock(), createElementBlock(Fragment, {
14228
- key: item.key
14229
- }, [
14230
- _ctx.isNotRender ? (openBlock(), createElementBlock("span", {
14231
- key: 0,
14232
- class: normalizeClass({
14233
- [`${item.class}`]: item.class,
14234
- [`${_ctx.prefixCls}-selection-item`]: true,
14235
- [`${_ctx.prefixCls}-selection-item-disabled`]: item.disabled
14236
- })
14237
- }, [
14238
- item.key === _ctx.REST_TAG_KEY || _ctx.isShowTagTooltip ? (openBlock(), createBlock(_component_UPopover, mergeProps({
14239
- key: 0,
14240
- disabled: !_ctx.maxTagTooltip,
14241
- trigger: "hover",
14242
- "dropdown-class": `${_ctx.prefixCls}-dropdown-tooltip`,
14243
- "show-arrow": true,
14244
- placement: "top",
14245
- ref_for: true
14246
- }, _ctx.popoverProps), {
14247
- content: withCtx(() => [
14248
- createElementVNode("div", {
14249
- class: normalizeClass(`${_ctx.prefixCls}-selection-tooltip`),
14250
- style: normalizeStyle({ maxWidth: `${_ctx.maxTagTooltipWidth}px` })
14251
- }, [
14252
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.values, (tipItem) => {
14253
- return openBlock(), createElementBlock("span", {
14254
- key: tipItem.key,
14255
- class: normalizeClass({
14256
- [`${_ctx.prefixCls}-selection-item`]: true
14257
- })
14258
- }, [
14259
- createElementVNode("span", {
14260
- class: normalizeClass(`${_ctx.prefixCls}-selection-item-content`),
14261
- title: tipItem.title
14262
- }, [
14263
- createVNode(_component_Render, {
14264
- render: _ctx.getRender(tipItem.displayLabel)
14265
- }, null, 8, ["render"])
14266
- ], 10, _hoisted_2$i),
14267
- _ctx.closable(tipItem) ? (openBlock(), createBlock(_component_UIcon, {
14268
- key: 0,
14269
- class: normalizeClass(`${_ctx.prefixCls}-selection-item-remove`),
14270
- onMousedown: _cache[0] || (_cache[0] = withModifiers(() => {
14271
- }, ["stop", "prevent"])),
14272
- onClick: (e) => _ctx.onClose(tipItem.value, e)
14273
- }, {
14274
- default: withCtx(() => [
14275
- createVNode(_component_X)
14276
- ]),
14277
- _: 2
14278
- }, 1032, ["class", "onClick"])) : createCommentVNode("v-if", true)
14279
- ], 2);
14280
- }), 128))
14281
- ], 6)
14282
- ]),
14283
- default: withCtx(() => [
14284
- createElementVNode("span", {
14285
- class: normalizeClass(`${_ctx.prefixCls}-selection-item-content`),
14286
- title: item.title
14287
- }, [
14288
- createVNode(_component_Render, {
14289
- render: _ctx.getRender(item.displayLabel)
14290
- }, null, 8, ["render"])
14291
- ], 10, _hoisted_1$L)
14292
- ]),
14293
- _: 2
14294
- }, 1040, ["disabled", "dropdown-class"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
14295
- createElementVNode("span", {
14296
- class: normalizeClass(`${_ctx.prefixCls}-selection-item-content`),
14297
- title: item.title
14298
- }, [
14299
- createCommentVNode(" {{ item.displayLabel }} "),
14300
- createVNode(_component_Render, {
14301
- render: _ctx.getRender(item.displayLabel)
14302
- }, null, 8, ["render"])
14303
- ], 10, _hoisted_3$4),
14304
- _ctx.closable(item) ? (openBlock(), createBlock(_component_UIcon, {
14305
- key: 0,
14306
- class: normalizeClass(`${_ctx.prefixCls}-selection-item-remove`),
14307
- onMousedown: _cache[1] || (_cache[1] = withModifiers(() => {
14308
- }, ["stop", "prevent"])),
14309
- onClick: (e) => _ctx.onClose(item.value, e)
14310
- }, {
14311
- default: withCtx(() => [
14312
- _ctx.removeIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.removeIcon), { key: 0 })) : (openBlock(), createBlock(_component_X, { key: 1 }))
14313
- ]),
14314
- _: 2
14315
- }, 1032, ["class", "onClick"])) : createCommentVNode("v-if", true)
14316
- ], 64))
14317
- ], 2)) : (openBlock(), createElementBlock("span", {
14318
- key: 1,
14319
- class: normalizeClass(item.class),
14320
- onMousedown: _cache[2] || (_cache[2] = withModifiers(() => {
14321
- }, ["stop", "prevent"]))
14322
- }, [
14323
- createVNode(_component_Render, {
14324
- render: () => {
14325
- var _a;
14326
- return (_a = _ctx.tagRender) == null ? void 0 : _a.call(_ctx, {
14327
- ...item,
14328
- closable: _ctx.closable(item),
14329
- onClose: (e) => {
14330
- _ctx.onClose(item.value, e);
14331
- }
14332
- });
14333
- }
14334
- }, null, 8, ["render"])
14335
- ], 34))
14336
- ], 64);
14337
- }), 128)),
14338
- createCommentVNode(" </transition-group> "),
14339
- createElementVNode("span", {
14340
- class: normalizeClass(`${_ctx.prefixCls}-selection-search`),
14341
- style: normalizeStyle({ width: `${_ctx.inputWidth}px` })
14342
- }, [
14343
- createVNode(_component_SelectInput, {
14344
- "input-ref": _ctx.inputRef,
14345
- "prefix-cls": _ctx.prefixCls,
14346
- autocomplete: "off",
14347
- disabled: _ctx.disabled,
14348
- editable: _ctx.inputEditable,
14349
- value: _ctx.inputValue,
14350
- onMousedown: _ctx.onInputMouseDown,
14351
- onChange: _ctx.onInputChange,
14352
- onKeydown: _ctx.onInputKeydown,
14353
- onCompositionstart: _ctx.onInputCompositionStart,
14354
- onCompositionend: _ctx.onInputCompositionEnd,
14355
- onPaste: _ctx.onInputPaste
14356
- }, null, 8, ["input-ref", "prefix-cls", "disabled", "editable", "value", "onMousedown", "onChange", "onKeydown", "onCompositionstart", "onCompositionend", "onPaste"]),
14357
- createElementVNode("span", {
14358
- ref: "measureRef",
14359
- class: normalizeClass(`${_ctx.prefixCls}-selection-search-mirror`),
14360
- "aria-hidden": ""
14361
- }, toDisplayString(_ctx.inputValue) + "\xA0 ", 3)
14362
- ], 6),
14363
- withDirectives(createElementVNode("div", {
14364
- class: normalizeClass(`${_ctx.prefixCls}-selection-placeholder`)
14365
- }, [
14366
- renderSlot(_ctx.$slots, "placeholder")
14367
- ], 2), [
14368
- [vShow, _ctx.showPlaceholder]
14369
- ])
14370
- ], 64);
14233
+ function _isSlot$3(s) {
14234
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
14371
14235
  }
14372
- var Multiple = /* @__PURE__ */ _export_sfc(_sfc_main$1S, [["render", _sfc_render$1Q], ["__file", "Multiple.vue"]]);
14236
+ const defaultMaxTagPlaceholder = (ommittedValus) => `+ ${ommittedValus.length}...`;
14237
+ const multipleBaseProps = {
14238
+ prefixCls: {
14239
+ type: String
14240
+ },
14241
+ values: {
14242
+ type: Array,
14243
+ default: () => []
14244
+ },
14245
+ searchValue: {
14246
+ type: String
14247
+ },
14248
+ filterable: {
14249
+ type: Boolean,
14250
+ default: false
14251
+ },
14252
+ disabled: {
14253
+ type: Boolean,
14254
+ default: void 0
14255
+ },
14256
+ open: {
14257
+ type: Boolean,
14258
+ default: void 0
14259
+ },
14260
+ inputRef: {
14261
+ type: Function
14262
+ },
14263
+ tagTransitionName: {
14264
+ type: String
14265
+ },
14266
+ maxTagCount: {
14267
+ type: Number
14268
+ },
14269
+ maxTagTextLength: {
14270
+ type: [Number, String]
14271
+ },
14272
+ maxTagPlaceholder: {
14273
+ type: Function,
14274
+ default: defaultMaxTagPlaceholder
14275
+ },
14276
+ maxTagTooltip: {
14277
+ type: Boolean,
14278
+ default: false
14279
+ },
14280
+ maxTagTooltipWidth: {
14281
+ type: Number,
14282
+ default: 99900
14283
+ },
14284
+ tagRender: {
14285
+ type: Function
14286
+ },
14287
+ removeIcon: {
14288
+ type: [String, Object]
14289
+ },
14290
+ isShowTagTooltip: {
14291
+ type: Boolean,
14292
+ default: false
14293
+ },
14294
+ popoverProps: {
14295
+ type: Object,
14296
+ default: () => ({})
14297
+ },
14298
+ itemWidth: {
14299
+ type: Number,
14300
+ default: 10
14301
+ },
14302
+ containerWrapperWidth: {
14303
+ type: [Number, null],
14304
+ default: null
14305
+ },
14306
+ enableOverflow: {
14307
+ type: Boolean,
14308
+ default: false
14309
+ }
14310
+ };
14311
+ const multipleBaseEmits = ["select", "input-mousedown", "input-change", "input-keydown", "input-compositionstart", "input-compositionend", "input-paste"];
14312
+ function renderSelectionItem(item, props, {
14313
+ prefixCls,
14314
+ isNotRender,
14315
+ closable,
14316
+ onClose,
14317
+ values
14318
+ }) {
14319
+ const {
14320
+ tagRender,
14321
+ removeIcon,
14322
+ maxTagTooltip,
14323
+ maxTagTooltipWidth,
14324
+ popoverProps,
14325
+ isShowTagTooltip
14326
+ } = props;
14327
+ if (isNotRender) {
14328
+ const content = createVNode("span", {
14329
+ "class": {
14330
+ [`${item.class}`]: item.class,
14331
+ [`${prefixCls}-selection-item`]: true,
14332
+ [`${prefixCls}-selection-item-disabled`]: item.disabled
14333
+ }
14334
+ }, [item.key === REST_TAG_KEY || isShowTagTooltip ? createVNode(UPopover, mergeProps({
14335
+ "disabled": !maxTagTooltip,
14336
+ "trigger": "hover",
14337
+ "dropdown-class": `${prefixCls}-dropdown-tooltip`,
14338
+ "show-arrow": true,
14339
+ "placement": "top"
14340
+ }, popoverProps), {
14341
+ default: () => createVNode("span", {
14342
+ "class": `${prefixCls}-selection-item-content`,
14343
+ "title": item.title
14344
+ }, [getRender(item.displayLabel)()]),
14345
+ content: () => createVNode("div", {
14346
+ "class": `${prefixCls}-selection-tooltip`,
14347
+ "style": {
14348
+ maxWidth: `${maxTagTooltipWidth}px`
14349
+ }
14350
+ }, [values.map((tipItem) => createVNode("span", {
14351
+ "key": tipItem.key,
14352
+ "class": {
14353
+ [`${prefixCls}-selection-item`]: true
14354
+ }
14355
+ }, [createVNode("span", {
14356
+ "class": `${prefixCls}-selection-item-content`,
14357
+ "title": tipItem.title
14358
+ }, [getRender(tipItem.displayLabel)()]), closable(tipItem) && createVNode(UIcon, mergeProps({
14359
+ "class": `${prefixCls}-selection-item-remove`
14360
+ }, {
14361
+ onMousedown: (e) => {
14362
+ e.stopPropagation();
14363
+ e.preventDefault();
14364
+ }
14365
+ }, {
14366
+ "onClick": (e) => onClose(tipItem.value, e)
14367
+ }), {
14368
+ default: () => [createVNode(X, null, null)]
14369
+ })]))])
14370
+ }) : createVNode(Fragment, null, [createVNode("span", {
14371
+ "class": `${prefixCls}-selection-item-content`,
14372
+ "title": item.title
14373
+ }, [getRender(item.displayLabel)()]), closable(item) && createVNode(UIcon, mergeProps({
14374
+ "class": `${prefixCls}-selection-item-remove`
14375
+ }, {
14376
+ onMousedown: (e) => {
14377
+ e.stopPropagation();
14378
+ e.preventDefault();
14379
+ }
14380
+ }, {
14381
+ "onClick": (e) => onClose(item.value, e)
14382
+ }), {
14383
+ default: () => [removeIcon ? createVNode(resolveComponent("component"), {
14384
+ "is": removeIcon
14385
+ }, null) : createVNode(X, null, null)]
14386
+ })])]);
14387
+ return content;
14388
+ }
14389
+ return createVNode("span", {
14390
+ "class": item.class,
14391
+ "onMousedown": (e) => {
14392
+ e.stopPropagation();
14393
+ e.preventDefault();
14394
+ }
14395
+ }, [tagRender == null ? void 0 : tagRender({
14396
+ ...item,
14397
+ closable: closable(item),
14398
+ onClose: (e) => {
14399
+ onClose(item.value, e);
14400
+ }
14401
+ })]);
14402
+ }
14403
+ function renderSearchInput(props, {
14404
+ prefixCls,
14405
+ inputRef,
14406
+ disabled,
14407
+ inputEditable,
14408
+ inputValue,
14409
+ inputWidth,
14410
+ measureRef,
14411
+ onInputMouseDown,
14412
+ onInputChange,
14413
+ onInputKeydown,
14414
+ onInputCompositionStart,
14415
+ onInputCompositionEnd,
14416
+ onInputPaste
14417
+ }) {
14418
+ return createVNode("span", {
14419
+ "class": `${prefixCls}-selection-search`,
14420
+ "style": {
14421
+ width: `${inputWidth}px`
14422
+ }
14423
+ }, [createVNode(SelectInput, {
14424
+ "input-ref": inputRef,
14425
+ "prefix-cls": prefixCls,
14426
+ "autocomplete": "off",
14427
+ "disabled": disabled,
14428
+ "editable": inputEditable,
14429
+ "value": inputValue,
14430
+ "onMousedown": onInputMouseDown,
14431
+ "onChange": onInputChange,
14432
+ "onKeydown": onInputKeydown,
14433
+ "onCompositionstart": onInputCompositionStart,
14434
+ "onCompositionend": onInputCompositionEnd,
14435
+ "onPaste": onInputPaste
14436
+ }, null), createVNode("span", {
14437
+ "ref": measureRef,
14438
+ "class": `${prefixCls}-selection-search-mirror`,
14439
+ "aria-hidden": true
14440
+ }, [inputValue, createTextVNode("\xA0")])]);
14441
+ }
14442
+ function renderPlaceholder(showPlaceholder, prefixCls, slots) {
14443
+ var _a;
14444
+ return showPlaceholder ? createVNode("div", {
14445
+ "class": `${prefixCls}-selection-placeholder`
14446
+ }, [(_a = slots.placeholder) == null ? void 0 : _a.call(slots)]) : null;
14447
+ }
14448
+ var MultipleBase = defineComponent({
14449
+ name: "MultipleBase",
14450
+ props: multipleBaseProps,
14451
+ emits: multipleBaseEmits,
14452
+ setup(props, {
14453
+ emit,
14454
+ slots
14455
+ }) {
14456
+ const baseState = useMultipleBase(props, emit);
14457
+ return () => {
14458
+ let _slot;
14459
+ const {
14460
+ displayValues,
14461
+ isNotRender,
14462
+ closable,
14463
+ onClose,
14464
+ inputValue,
14465
+ inputWidth,
14466
+ measureRef,
14467
+ showPlaceholder,
14468
+ onInputMouseDown,
14469
+ onInputChange,
14470
+ onInputKeydown,
14471
+ onInputCompositionStart,
14472
+ onInputCompositionEnd,
14473
+ onInputPaste,
14474
+ onOverflowItemResize,
14475
+ onSuffixResize,
14476
+ displayRest
14477
+ } = baseState;
14478
+ return createVNode(Fragment, null, [displayValues.value.map((item, index) => {
14479
+ const content = renderSelectionItem(item, props, {
14480
+ prefixCls: props.prefixCls,
14481
+ isNotRender: isNotRender.value,
14482
+ displayRest: displayRest.value,
14483
+ closable,
14484
+ onClose,
14485
+ values: props.values
14486
+ });
14487
+ return props.enableOverflow ? createVNode(ResizeObserver$1, {
14488
+ "key": item.key,
14489
+ "onResize": (e) => onOverflowItemResize(e, item)
14490
+ }, {
14491
+ default: () => [createVNode("div", {
14492
+ "class": `${props.prefixCls}-selection-item-wrapper`,
14493
+ "style": {
14494
+ opacity: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? 0 : 1,
14495
+ height: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? 0 : void 0,
14496
+ overflowY: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? "hidden" : void 0,
14497
+ pointerEvents: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? "none" : void 0,
14498
+ position: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? "absolute" : void 0
14499
+ }
14500
+ }, [content])]
14501
+ }) : content;
14502
+ }), props.enableOverflow ? createVNode(ResizeObserver$1, {
14503
+ "onResize": onSuffixResize
14504
+ }, _isSlot$3(_slot = renderSearchInput(props, {
14505
+ prefixCls: props.prefixCls,
14506
+ inputRef: props.inputRef,
14507
+ disabled: props.disabled,
14508
+ inputEditable: baseState.inputEditable.value,
14509
+ inputValue: inputValue.value,
14510
+ inputWidth,
14511
+ measureRef,
14512
+ onInputMouseDown,
14513
+ onInputChange,
14514
+ onInputKeydown,
14515
+ onInputCompositionStart,
14516
+ onInputCompositionEnd,
14517
+ onInputPaste
14518
+ })) ? _slot : {
14519
+ default: () => [_slot]
14520
+ }) : renderSearchInput(props, {
14521
+ prefixCls: props.prefixCls,
14522
+ inputRef: props.inputRef,
14523
+ disabled: props.disabled,
14524
+ inputEditable: baseState.inputEditable.value,
14525
+ inputValue: inputValue.value,
14526
+ inputWidth,
14527
+ measureRef,
14528
+ onInputMouseDown,
14529
+ onInputChange,
14530
+ onInputKeydown,
14531
+ onInputCompositionStart,
14532
+ onInputCompositionEnd,
14533
+ onInputPaste
14534
+ }), renderPlaceholder(showPlaceholder.value, props.prefixCls, slots)]);
14535
+ };
14536
+ }
14537
+ });
14373
14538
 
14539
+ const RESPONSIVE = "responsive";
14374
14540
  const _sfc_main$1R = defineComponent({
14375
14541
  name: "Selection",
14376
14542
  components: {
14377
14543
  SingleSelection,
14378
- Multiple
14544
+ ResizeObserver: ResizeObserver$1,
14545
+ MultipleBase
14379
14546
  },
14380
14547
  props: {
14381
14548
  prefixCls: {
@@ -14424,7 +14591,7 @@ const _sfc_main$1R = defineComponent({
14424
14591
  type: Function
14425
14592
  },
14426
14593
  maxTagTextLength: {
14427
- type: Number
14594
+ type: [Number, String]
14428
14595
  },
14429
14596
  maxTagTooltip: {
14430
14597
  type: Boolean,
@@ -14460,10 +14627,17 @@ const _sfc_main$1R = defineComponent({
14460
14627
  setup(props, { emit }) {
14461
14628
  const inputRef = ref(null);
14462
14629
  let compositionStatus = false;
14630
+ const isResponsive = computed(() => {
14631
+ return props.maxTagTextLength === RESPONSIVE;
14632
+ });
14463
14633
  const [getInputMouseDown, setInputMouseDown] = useLock(0);
14464
14634
  const onInputMouseDown = () => {
14465
14635
  setInputMouseDown(true);
14466
14636
  };
14637
+ const containerWrapperWidth = shallowRef(null);
14638
+ const onOverflowResize = ({ width }) => {
14639
+ containerWrapperWidth.value = width;
14640
+ };
14467
14641
  let pastedText = null;
14468
14642
  const onInputPaste = (e) => {
14469
14643
  const { clipboardData } = e;
@@ -14530,74 +14704,87 @@ const _sfc_main$1R = defineComponent({
14530
14704
  onInputKeydown,
14531
14705
  onInputCompositionStart,
14532
14706
  onInputCompositionEnd,
14533
- onInputPaste
14707
+ onInputPaste,
14708
+ onOverflowResize,
14709
+ containerWrapperWidth,
14710
+ isResponsive
14534
14711
  };
14535
14712
  }
14536
14713
  });
14537
14714
  function _sfc_render$1P(_ctx, _cache, $props, $setup, $data, $options) {
14538
14715
  const _component_SingleSelection = resolveComponent("SingleSelection");
14539
- const _component_Multiple = resolveComponent("Multiple");
14540
- return openBlock(), createElementBlock("div", {
14541
- class: normalizeClass(`${_ctx.prefixCls}-selection`),
14542
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args)),
14543
- onMousedown: _cache[1] || (_cache[1] = (...args) => _ctx.onMousedown && _ctx.onMousedown(...args))
14544
- }, [
14545
- !_ctx.multiple ? (openBlock(), createBlock(_component_SingleSelection, {
14546
- key: 0,
14547
- "prefix-cls": _ctx.prefixCls,
14548
- values: _ctx.values,
14549
- open: _ctx.open,
14550
- filterable: _ctx.filterable,
14551
- disabled: _ctx.disabled,
14552
- "input-ref": _ctx.getInputRef,
14553
- "search-value": _ctx.searchValue,
14554
- "allow-create": _ctx.allowCreate,
14555
- "title-key": _ctx.titleKey,
14556
- onInputMousedown: _ctx.onInputMouseDown,
14557
- onInputChange: _ctx.onInputChange,
14558
- onInputKeydown: _ctx.onInputKeydown,
14559
- onInputCompositionstart: _ctx.onInputCompositionStart,
14560
- onInputCompositionend: _ctx.onInputCompositionEnd,
14561
- onInputPaste: _ctx.onInputPaste
14562
- }, {
14563
- placeholder: withCtx(() => [
14564
- renderSlot(_ctx.$slots, "placeholder")
14565
- ]),
14566
- _: 3
14567
- }, 8, ["prefix-cls", "values", "open", "filterable", "disabled", "input-ref", "search-value", "allow-create", "title-key", "onInputMousedown", "onInputChange", "onInputKeydown", "onInputCompositionstart", "onInputCompositionend", "onInputPaste"])) : _ctx.multiple ? (openBlock(), createBlock(_component_Multiple, {
14568
- key: 1,
14569
- "prefix-cls": _ctx.prefixCls,
14570
- values: _ctx.values,
14571
- open: _ctx.open,
14572
- filterable: _ctx.filterable,
14573
- disabled: _ctx.disabled,
14574
- "input-ref": _ctx.getInputRef,
14575
- "search-value": _ctx.searchValue,
14576
- "max-tag-count": _ctx.maxTagCount,
14577
- "max-tag-text-length": _ctx.maxTagTextLength,
14578
- "max-tag-placeholder": _ctx.maxTagPlaceholder,
14579
- "max-tag-tooltip": _ctx.maxTagTooltip,
14580
- "max-tag-tooltip-width": _ctx.maxTagTooltipWidth,
14581
- "is-show-tag-tooltip": _ctx.isShowTagTooltip,
14582
- "popover-props": _ctx.popoverProps,
14583
- "tag-render": _ctx.tagRender,
14584
- "tag-transition-name": _ctx.tagTransitionName,
14585
- "allow-create": _ctx.allowCreate,
14586
- "remove-icon": _ctx.removeIcon,
14587
- onSelect: _ctx.onSelectionSelect,
14588
- onInputMousedown: _ctx.onInputMouseDown,
14589
- onInputChange: _ctx.onInputChange,
14590
- onInputKeydown: _ctx.onInputKeydown,
14591
- onInputCompositionstart: _ctx.onInputCompositionStart,
14592
- onInputCompositionend: _ctx.onInputCompositionEnd,
14593
- onInputPaste: _ctx.onInputPaste
14594
- }, {
14595
- placeholder: withCtx(() => [
14596
- renderSlot(_ctx.$slots, "placeholder")
14597
- ]),
14598
- _: 3
14599
- }, 8, ["prefix-cls", "values", "open", "filterable", "disabled", "input-ref", "search-value", "max-tag-count", "max-tag-text-length", "max-tag-placeholder", "max-tag-tooltip", "max-tag-tooltip-width", "is-show-tag-tooltip", "popover-props", "tag-render", "tag-transition-name", "allow-create", "remove-icon", "onSelect", "onInputMousedown", "onInputChange", "onInputKeydown", "onInputCompositionstart", "onInputCompositionend", "onInputPaste"])) : createCommentVNode("v-if", true)
14600
- ], 34);
14716
+ const _component_MultipleBase = resolveComponent("MultipleBase");
14717
+ const _component_ResizeObserver = resolveComponent("ResizeObserver");
14718
+ return openBlock(), createBlock(_component_ResizeObserver, { onResize: _ctx.onOverflowResize }, {
14719
+ default: withCtx(() => [
14720
+ createElementVNode("div", {
14721
+ class: normalizeClass({
14722
+ [`${_ctx.prefixCls}-selection`]: true,
14723
+ [`${_ctx.prefixCls}-selection-overflow`]: _ctx.multiple && _ctx.isResponsive
14724
+ }),
14725
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args)),
14726
+ onMousedown: _cache[1] || (_cache[1] = (...args) => _ctx.onMousedown && _ctx.onMousedown(...args))
14727
+ }, [
14728
+ !_ctx.multiple ? (openBlock(), createBlock(_component_SingleSelection, {
14729
+ key: 0,
14730
+ "prefix-cls": _ctx.prefixCls,
14731
+ values: _ctx.values,
14732
+ open: _ctx.open,
14733
+ filterable: _ctx.filterable,
14734
+ disabled: _ctx.disabled,
14735
+ "input-ref": _ctx.getInputRef,
14736
+ "search-value": _ctx.searchValue,
14737
+ "allow-create": _ctx.allowCreate,
14738
+ "title-key": _ctx.titleKey,
14739
+ onInputMousedown: _ctx.onInputMouseDown,
14740
+ onInputChange: _ctx.onInputChange,
14741
+ onInputKeydown: _ctx.onInputKeydown,
14742
+ onInputCompositionstart: _ctx.onInputCompositionStart,
14743
+ onInputCompositionend: _ctx.onInputCompositionEnd,
14744
+ onInputPaste: _ctx.onInputPaste
14745
+ }, {
14746
+ placeholder: withCtx(() => [
14747
+ renderSlot(_ctx.$slots, "placeholder")
14748
+ ]),
14749
+ _: 3
14750
+ }, 8, ["prefix-cls", "values", "open", "filterable", "disabled", "input-ref", "search-value", "allow-create", "title-key", "onInputMousedown", "onInputChange", "onInputKeydown", "onInputCompositionstart", "onInputCompositionend", "onInputPaste"])) : (openBlock(), createBlock(_component_MultipleBase, {
14751
+ key: 1,
14752
+ "prefix-cls": _ctx.prefixCls,
14753
+ values: _ctx.values,
14754
+ open: _ctx.open,
14755
+ "enable-overflow": _ctx.isResponsive,
14756
+ filterable: _ctx.filterable,
14757
+ disabled: _ctx.disabled,
14758
+ "input-ref": _ctx.getInputRef,
14759
+ "search-value": _ctx.searchValue,
14760
+ "max-tag-count": _ctx.maxTagCount,
14761
+ "max-tag-text-length": _ctx.maxTagTextLength,
14762
+ "max-tag-placeholder": _ctx.maxTagPlaceholder,
14763
+ "max-tag-tooltip": _ctx.maxTagTooltip,
14764
+ "max-tag-tooltip-width": _ctx.maxTagTooltipWidth,
14765
+ "is-show-tag-tooltip": _ctx.isShowTagTooltip,
14766
+ "popover-props": _ctx.popoverProps,
14767
+ "tag-render": _ctx.tagRender,
14768
+ "tag-transition-name": _ctx.tagTransitionName,
14769
+ "remove-icon": _ctx.removeIcon,
14770
+ "container-wrapper-width": _ctx.containerWrapperWidth,
14771
+ onSelect: _ctx.onSelectionSelect,
14772
+ onInputMousedown: _ctx.onInputMouseDown,
14773
+ onInputChange: _ctx.onInputChange,
14774
+ onInputKeydown: _ctx.onInputKeydown,
14775
+ onInputCompositionstart: _ctx.onInputCompositionStart,
14776
+ onInputCompositionend: _ctx.onInputCompositionEnd,
14777
+ onInputPaste: _ctx.onInputPaste
14778
+ }, {
14779
+ placeholder: withCtx(() => [
14780
+ renderSlot(_ctx.$slots, "placeholder")
14781
+ ]),
14782
+ _: 3
14783
+ }, 8, ["prefix-cls", "values", "open", "enable-overflow", "filterable", "disabled", "input-ref", "search-value", "max-tag-count", "max-tag-text-length", "max-tag-placeholder", "max-tag-tooltip", "max-tag-tooltip-width", "is-show-tag-tooltip", "popover-props", "tag-render", "tag-transition-name", "remove-icon", "container-wrapper-width", "onSelect", "onInputMousedown", "onInputChange", "onInputKeydown", "onInputCompositionstart", "onInputCompositionend", "onInputPaste"]))
14784
+ ], 34)
14785
+ ]),
14786
+ _: 3
14787
+ }, 8, ["onResize"]);
14601
14788
  }
14602
14789
  var Selection = /* @__PURE__ */ _export_sfc(_sfc_main$1R, [["render", _sfc_render$1P], ["__file", "Selection.vue"]]);
14603
14790