@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.umd.js 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
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('lucide-vue-next')) :
@@ -597,7 +597,7 @@
597
597
  left: rect.left + scrollLeft - clientLeft
598
598
  };
599
599
  }
600
- const _sfc_main$2h = vue.defineComponent({
600
+ const _sfc_main$2g = vue.defineComponent({
601
601
  name: "UAffix",
602
602
  props: affixProps,
603
603
  emits: affixEmits,
@@ -691,9 +691,9 @@
691
691
  };
692
692
  }
693
693
  });
694
- const _hoisted_1$Y = { ref: "containerRef" };
695
- function _sfc_render$2f(_ctx, _cache, $props, $setup, $data, $options) {
696
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Y, [
694
+ const _hoisted_1$X = { ref: "containerRef" };
695
+ function _sfc_render$2e(_ctx, _cache, $props, $setup, $data, $options) {
696
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
697
697
  vue.createElementVNode("div", {
698
698
  ref: "pointRef",
699
699
  class: vue.normalizeClass(_ctx.classes),
@@ -708,7 +708,7 @@
708
708
  ])
709
709
  ], 512);
710
710
  }
711
- var Affix = /* @__PURE__ */ _export_sfc(_sfc_main$2h, [["render", _sfc_render$2f], ["__file", "Affix.vue"]]);
711
+ var Affix = /* @__PURE__ */ _export_sfc(_sfc_main$2g, [["render", _sfc_render$2e], ["__file", "Affix.vue"]]);
712
712
 
713
713
  const UAffix = withInstall(Affix);
714
714
 
@@ -732,7 +732,7 @@
732
732
  click: (ev) => ev instanceof Event
733
733
  };
734
734
 
735
- const _sfc_main$2g = vue.defineComponent({
735
+ const _sfc_main$2f = vue.defineComponent({
736
736
  name: "UIcon",
737
737
  props: iconProps,
738
738
  emits: iconEmits,
@@ -774,7 +774,7 @@
774
774
  };
775
775
  }
776
776
  });
777
- function _sfc_render$2e(_ctx, _cache, $props, $setup, $data, $options) {
777
+ function _sfc_render$2d(_ctx, _cache, $props, $setup, $data, $options) {
778
778
  return vue.openBlock(), vue.createElementBlock("i", {
779
779
  class: vue.normalizeClass([
780
780
  {
@@ -790,7 +790,7 @@
790
790
  ])
791
791
  ], 6);
792
792
  }
793
- var Icon = /* @__PURE__ */ _export_sfc(_sfc_main$2g, [["render", _sfc_render$2e], ["__file", "Icon.vue"]]);
793
+ var Icon = /* @__PURE__ */ _export_sfc(_sfc_main$2f, [["render", _sfc_render$2d], ["__file", "Icon.vue"]]);
794
794
 
795
795
  const UIcon = withInstall(Icon);
796
796
 
@@ -1105,7 +1105,7 @@
1105
1105
  "update:visible": (v) => typeof v === "boolean"
1106
1106
  };
1107
1107
 
1108
- const _sfc_main$2f = vue.defineComponent({
1108
+ const _sfc_main$2e = vue.defineComponent({
1109
1109
  name: "UAlert",
1110
1110
  components: {
1111
1111
  UIcon,
@@ -1157,7 +1157,7 @@
1157
1157
  };
1158
1158
  }
1159
1159
  });
1160
- function _sfc_render$2d(_ctx, _cache, $props, $setup, $data, $options) {
1160
+ function _sfc_render$2c(_ctx, _cache, $props, $setup, $data, $options) {
1161
1161
  const _component_UIcon = vue.resolveComponent("UIcon");
1162
1162
  const _component_X = vue.resolveComponent("X");
1163
1163
  return vue.openBlock(), vue.createBlock(vue.Transition, {
@@ -1214,7 +1214,7 @@
1214
1214
  _: 3
1215
1215
  }, 8, ["onAfterLeave"]);
1216
1216
  }
1217
- var Alert = /* @__PURE__ */ _export_sfc(_sfc_main$2f, [["render", _sfc_render$2d], ["__file", "Alert.vue"]]);
1217
+ var Alert = /* @__PURE__ */ _export_sfc(_sfc_main$2e, [["render", _sfc_render$2c], ["__file", "Alert.vue"]]);
1218
1218
 
1219
1219
  const UAlert = withInstall(Alert);
1220
1220
 
@@ -3490,7 +3490,7 @@
3490
3490
  }
3491
3491
  };
3492
3492
 
3493
- const _sfc_main$2e = vue.defineComponent({
3493
+ const _sfc_main$2d = vue.defineComponent({
3494
3494
  name: "UForm",
3495
3495
  props: formProps,
3496
3496
  emits: formEmits,
@@ -3614,7 +3614,7 @@
3614
3614
  };
3615
3615
  }
3616
3616
  });
3617
- function _sfc_render$2c(_ctx, _cache, $props, $setup, $data, $options) {
3617
+ function _sfc_render$2b(_ctx, _cache, $props, $setup, $data, $options) {
3618
3618
  return vue.openBlock(), vue.createElementBlock("form", {
3619
3619
  class: vue.normalizeClass([
3620
3620
  _ctx.prefixCls,
@@ -3630,7 +3630,7 @@
3630
3630
  vue.renderSlot(_ctx.$slots, "default")
3631
3631
  ], 34);
3632
3632
  }
3633
- var Form = /* @__PURE__ */ _export_sfc(_sfc_main$2e, [["render", _sfc_render$2c], ["__file", "Form.vue"]]);
3633
+ var Form = /* @__PURE__ */ _export_sfc(_sfc_main$2d, [["render", _sfc_render$2b], ["__file", "Form.vue"]]);
3634
3634
 
3635
3635
  var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
3636
3636
  var freeGlobal$1 = freeGlobal;
@@ -7552,7 +7552,7 @@
7552
7552
  }
7553
7553
  });
7554
7554
 
7555
- const _sfc_main$2d = vue.defineComponent({
7555
+ const _sfc_main$2c = vue.defineComponent({
7556
7556
  name: "ListContent",
7557
7557
  components: {
7558
7558
  ResizeObserver: ResizeObserver$1
@@ -7610,7 +7610,7 @@
7610
7610
  };
7611
7611
  }
7612
7612
  });
7613
- function _sfc_render$2b(_ctx, _cache, $props, $setup, $data, $options) {
7613
+ function _sfc_render$2a(_ctx, _cache, $props, $setup, $data, $options) {
7614
7614
  const _component_ResizeObserver = vue.resolveComponent("ResizeObserver");
7615
7615
  return vue.openBlock(), vue.createElementBlock("div", {
7616
7616
  ref: _ctx.contentRef,
@@ -7631,7 +7631,7 @@
7631
7631
  }, 8, ["onResize"])
7632
7632
  ], 4);
7633
7633
  }
7634
- var ListContent = /* @__PURE__ */ _export_sfc(_sfc_main$2d, [["render", _sfc_render$2b], ["__file", "ListContent.vue"]]);
7634
+ var ListContent = /* @__PURE__ */ _export_sfc(_sfc_main$2c, [["render", _sfc_render$2a], ["__file", "ListContent.vue"]]);
7635
7635
 
7636
7636
  const ListItem$2 = ({
7637
7637
  itemRef
@@ -7756,7 +7756,7 @@
7756
7756
  function getPageY(e) {
7757
7757
  return "touches" in e ? e.touches[0].pageY : e.pageY;
7758
7758
  }
7759
- const _sfc_main$2c = vue.defineComponent({
7759
+ const _sfc_main$2b = vue.defineComponent({
7760
7760
  name: "VirtualScrollBar",
7761
7761
  props: {
7762
7762
  prefixCls: {
@@ -7915,7 +7915,7 @@
7915
7915
  };
7916
7916
  }
7917
7917
  });
7918
- function _sfc_render$2a(_ctx, _cache, $props, $setup, $data, $options) {
7918
+ function _sfc_render$29(_ctx, _cache, $props, $setup, $data, $options) {
7919
7919
  return vue.openBlock(), vue.createElementBlock("div", {
7920
7920
  ref: "scrollBarRef",
7921
7921
  class: vue.normalizeClass(`${_ctx.prefixCls}-scrollbar`),
@@ -7959,7 +7959,7 @@
7959
7959
  }, null, 38)
7960
7960
  ], 38);
7961
7961
  }
7962
- var VirtualScrollBar = /* @__PURE__ */ _export_sfc(_sfc_main$2c, [["render", _sfc_render$2a], ["__file", "VirtualScrollBar.vue"]]);
7962
+ var VirtualScrollBar = /* @__PURE__ */ _export_sfc(_sfc_main$2b, [["render", _sfc_render$29], ["__file", "VirtualScrollBar.vue"]]);
7963
7963
 
7964
7964
  function useHeight(getKey, useVirtual, props, state, contentRef) {
7965
7965
  const instance = /* @__PURE__ */ new Map();
@@ -8197,7 +8197,7 @@
8197
8197
  };
8198
8198
  }
8199
8199
 
8200
- const _sfc_main$2b = vue.defineComponent({
8200
+ const _sfc_main$2a = vue.defineComponent({
8201
8201
  name: "UVirtualList",
8202
8202
  components: {
8203
8203
  ListContent,
@@ -8398,7 +8398,7 @@
8398
8398
  };
8399
8399
  }
8400
8400
  });
8401
- function _sfc_render$29(_ctx, _cache, $props, $setup, $data, $options) {
8401
+ function _sfc_render$28(_ctx, _cache, $props, $setup, $data, $options) {
8402
8402
  const _component_ListItem = vue.resolveComponent("ListItem");
8403
8403
  const _component_ListContent = vue.resolveComponent("ListContent");
8404
8404
  const _component_VirtualScrollBar = vue.resolveComponent("VirtualScrollBar");
@@ -8449,7 +8449,7 @@
8449
8449
  }, null, 8, ["prefix-cls", "height", "count", "scroll-height", "scroll-top", "onScroll"])) : vue.createCommentVNode("v-if", true)
8450
8450
  ], 16);
8451
8451
  }
8452
- var VirtualList$1 = /* @__PURE__ */ _export_sfc(_sfc_main$2b, [["render", _sfc_render$29], ["__file", "VirtualList.vue"]]);
8452
+ var VirtualList$1 = /* @__PURE__ */ _export_sfc(_sfc_main$2a, [["render", _sfc_render$28], ["__file", "VirtualList.vue"]]);
8453
8453
 
8454
8454
  var VirtualList = withInstall(VirtualList$1);
8455
8455
 
@@ -8808,7 +8808,7 @@
8808
8808
  return desdroyOnClose && animationEnd ? null : renderFunction == null ? void 0 : renderFunction();
8809
8809
  }
8810
8810
 
8811
- const _sfc_main$2a = vue.defineComponent({
8811
+ const _sfc_main$29 = vue.defineComponent({
8812
8812
  name: "OptionList",
8813
8813
  components: {
8814
8814
  VirtualList,
@@ -9055,9 +9055,9 @@
9055
9055
  };
9056
9056
  }
9057
9057
  });
9058
- const _hoisted_1$X = ["title", "onMousemove", "onClick"];
9059
- const _hoisted_2$n = ["id"];
9060
- function _sfc_render$28(_ctx, _cache, $props, $setup, $data, $options) {
9058
+ const _hoisted_1$W = ["title", "onMousemove", "onClick"];
9059
+ const _hoisted_2$m = ["id"];
9060
+ function _sfc_render$27(_ctx, _cache, $props, $setup, $data, $options) {
9061
9061
  const _component_u_checkbox = vue.resolveComponent("u-checkbox");
9062
9062
  const _component_Render = vue.resolveComponent("Render");
9063
9063
  const _component_Check = vue.resolveComponent("Check");
@@ -9163,7 +9163,7 @@
9163
9163
  ]),
9164
9164
  _: 1
9165
9165
  }, 8, ["class"])) : vue.createCommentVNode("v-if", true)
9166
- ], 46, _hoisted_1$X))
9166
+ ], 46, _hoisted_1$W))
9167
9167
  ]),
9168
9168
  _: 1
9169
9169
  }, 8, ["prefix-cls", "data", "height", "item-height", "virtual", "onScrollAtTop", "onScrollAtBottom"])
@@ -9176,9 +9176,9 @@
9176
9176
  }, ["prevent"]))
9177
9177
  }, [
9178
9178
  vue.renderSlot(_ctx.$slots, "empty")
9179
- ], 42, _hoisted_2$n));
9179
+ ], 42, _hoisted_2$m));
9180
9180
  }
9181
- var DropdownMenu$1 = /* @__PURE__ */ _export_sfc(_sfc_main$2a, [["render", _sfc_render$28], ["__file", "DropdownMenu.vue"]]);
9181
+ var DropdownMenu$1 = /* @__PURE__ */ _export_sfc(_sfc_main$29, [["render", _sfc_render$27], ["__file", "DropdownMenu.vue"]]);
9182
9182
 
9183
9183
  const getInnerText = (children) => {
9184
9184
  if (children && children.length > 0) {
@@ -9545,7 +9545,7 @@
9545
9545
  select: (val) => typeof val === "string"
9546
9546
  };
9547
9547
 
9548
- const _sfc_main$29 = vue.defineComponent({
9548
+ const _sfc_main$28 = vue.defineComponent({
9549
9549
  name: "UAutoComplete",
9550
9550
  components: {
9551
9551
  Popup,
@@ -9672,7 +9672,7 @@
9672
9672
  };
9673
9673
  }
9674
9674
  });
9675
- function _sfc_render$27(_ctx, _cache, $props, $setup, $data, $options) {
9675
+ function _sfc_render$26(_ctx, _cache, $props, $setup, $data, $options) {
9676
9676
  const _component_UInput = vue.resolveComponent("UInput");
9677
9677
  const _component_LoaderCircle = vue.resolveComponent("LoaderCircle");
9678
9678
  const _component_UIcon = vue.resolveComponent("UIcon");
@@ -9750,7 +9750,7 @@
9750
9750
  }, 8, ["prefix-cls", "visible", "popup-class", "popup-style", "click-outside"])
9751
9751
  ], 2);
9752
9752
  }
9753
- var AutoComplete = /* @__PURE__ */ _export_sfc(_sfc_main$29, [["render", _sfc_render$27], ["__file", "AutoComplete.vue"]]);
9753
+ var AutoComplete = /* @__PURE__ */ _export_sfc(_sfc_main$28, [["render", _sfc_render$26], ["__file", "AutoComplete.vue"]]);
9754
9754
 
9755
9755
  const selectProps = {
9756
9756
  modelValue: {
@@ -9819,7 +9819,7 @@
9819
9819
  type: Function
9820
9820
  },
9821
9821
  maxTagTextLength: {
9822
- type: Number
9822
+ type: [Number, String]
9823
9823
  },
9824
9824
  tagRender: {
9825
9825
  type: Function
@@ -10093,7 +10093,7 @@
10093
10093
  change: (href, ev) => typeof href === "string" && ev instanceof Event
10094
10094
  };
10095
10095
 
10096
- const _sfc_main$28 = vue.defineComponent({
10096
+ const _sfc_main$27 = vue.defineComponent({
10097
10097
  name: "UAnchor",
10098
10098
  props: anchorProps,
10099
10099
  emits: anchorEmits,
@@ -10293,7 +10293,7 @@
10293
10293
  };
10294
10294
  }
10295
10295
  });
10296
- function _sfc_render$26(_ctx, _cache, $props, $setup, $data, $options) {
10296
+ function _sfc_render$25(_ctx, _cache, $props, $setup, $data, $options) {
10297
10297
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.wrapperComponent), {
10298
10298
  container: _ctx.container,
10299
10299
  "offset-top": _ctx.offsetTop,
@@ -10325,9 +10325,9 @@
10325
10325
  _: 3
10326
10326
  }, 40, ["container", "offset-top", "offset-bottom", "onOnChange"]);
10327
10327
  }
10328
- var Anchor = /* @__PURE__ */ _export_sfc(_sfc_main$28, [["render", _sfc_render$26], ["__file", "Anchor.vue"]]);
10328
+ var Anchor = /* @__PURE__ */ _export_sfc(_sfc_main$27, [["render", _sfc_render$25], ["__file", "Anchor.vue"]]);
10329
10329
 
10330
- const _sfc_main$27 = vue.defineComponent({
10330
+ const _sfc_main$26 = vue.defineComponent({
10331
10331
  name: "UAnchorLink",
10332
10332
  props: anchorLinkProps,
10333
10333
  emits: anchorLinkEmits,
@@ -10366,8 +10366,8 @@
10366
10366
  };
10367
10367
  }
10368
10368
  });
10369
- const _hoisted_1$W = ["href", "data-scroll-offset", "data-href", "title"];
10370
- function _sfc_render$25(_ctx, _cache, $props, $setup, $data, $options) {
10369
+ const _hoisted_1$V = ["href", "data-scroll-offset", "data-href", "title"];
10370
+ function _sfc_render$24(_ctx, _cache, $props, $setup, $data, $options) {
10371
10371
  return vue.openBlock(), vue.createElementBlock("div", {
10372
10372
  class: vue.normalizeClass([`${_ctx.prefixCls}`, { [`${_ctx.prefixCls}-active`]: !!_ctx.anchorLinkClasses }])
10373
10373
  }, [
@@ -10378,11 +10378,11 @@
10378
10378
  "data-href": _ctx.href,
10379
10379
  title: _ctx.title,
10380
10380
  onClick: _cache[0] || (_cache[0] = vue.withModifiers((...args) => _ctx.goAnchor && _ctx.goAnchor(...args), ["prevent"]))
10381
- }, vue.toDisplayString(_ctx.title), 11, _hoisted_1$W),
10381
+ }, vue.toDisplayString(_ctx.title), 11, _hoisted_1$V),
10382
10382
  vue.renderSlot(_ctx.$slots, "default")
10383
10383
  ], 2);
10384
10384
  }
10385
- var AnchorLink = /* @__PURE__ */ _export_sfc(_sfc_main$27, [["render", _sfc_render$25], ["__file", "AnchorLink.vue"]]);
10385
+ var AnchorLink = /* @__PURE__ */ _export_sfc(_sfc_main$26, [["render", _sfc_render$24], ["__file", "AnchorLink.vue"]]);
10386
10386
 
10387
10387
  const UAnchor = withInstall(Anchor, { Link: AnchorLink });
10388
10388
 
@@ -10416,7 +10416,7 @@
10416
10416
  };
10417
10417
 
10418
10418
  const sizeList = ["small", "large", "default"];
10419
- const _sfc_main$26 = vue.defineComponent({
10419
+ const _sfc_main$25 = vue.defineComponent({
10420
10420
  name: "UAvatar",
10421
10421
  components: {
10422
10422
  UIcon
@@ -10488,8 +10488,8 @@
10488
10488
  };
10489
10489
  }
10490
10490
  });
10491
- const _hoisted_1$V = ["src"];
10492
- function _sfc_render$24(_ctx, _cache, $props, $setup, $data, $options) {
10491
+ const _hoisted_1$U = ["src"];
10492
+ function _sfc_render$23(_ctx, _cache, $props, $setup, $data, $options) {
10493
10493
  const _component_UIcon = vue.resolveComponent("UIcon");
10494
10494
  return vue.openBlock(), vue.createElementBlock("span", {
10495
10495
  ref: "avatar",
@@ -10508,7 +10508,7 @@
10508
10508
  key: 0,
10509
10509
  src: _ctx.src,
10510
10510
  onError: _cache[0] || (_cache[0] = (...args) => _ctx.handleError && _ctx.handleError(...args))
10511
- }, null, 40, _hoisted_1$V)) : _ctx.icon ? (vue.openBlock(), vue.createBlock(_component_UIcon, { key: 1 }, {
10511
+ }, null, 40, _hoisted_1$U)) : _ctx.icon ? (vue.openBlock(), vue.createBlock(_component_UIcon, { key: 1 }, {
10512
10512
  default: vue.withCtx(() => [
10513
10513
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon)))
10514
10514
  ]),
@@ -10523,7 +10523,7 @@
10523
10523
  ], 6))
10524
10524
  ], 6);
10525
10525
  }
10526
- var Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$26, [["render", _sfc_render$24], ["__file", "Avatar.vue"]]);
10526
+ var Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$25, [["render", _sfc_render$23], ["__file", "Avatar.vue"]]);
10527
10527
 
10528
10528
  const popoverTrigger = ["hover", "focus", "click", "contextmenu"];
10529
10529
  const popoverType = ["popover", "popConfirm"];
@@ -10594,7 +10594,7 @@
10594
10594
  "update:visible": (v) => typeof v === "boolean"
10595
10595
  };
10596
10596
 
10597
- const _sfc_main$25 = vue.defineComponent({
10597
+ const _sfc_main$24 = vue.defineComponent({
10598
10598
  name: "UPopover",
10599
10599
  components: {
10600
10600
  Popup
@@ -10757,7 +10757,7 @@
10757
10757
  };
10758
10758
  }
10759
10759
  });
10760
- function _sfc_render$23(_ctx, _cache, $props, $setup, $data, $options) {
10760
+ function _sfc_render$22(_ctx, _cache, $props, $setup, $data, $options) {
10761
10761
  const _component_Popup = vue.resolveComponent("Popup");
10762
10762
  return _ctx.disabled ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : (vue.openBlock(), vue.createBlock(_component_Popup, {
10763
10763
  key: 1,
@@ -10822,7 +10822,7 @@
10822
10822
  _: 3
10823
10823
  }, 8, ["class", "style", "prefix-cls", "popup-class", "popup-style", "visible", "placement", "trigger", "mouse-enter-delay", "offset", "destroy-popup-on-hide", "onPopupVisibleChange"]));
10824
10824
  }
10825
- var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$25, [["render", _sfc_render$23], ["__file", "Popover.vue"]]);
10825
+ var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$24, [["render", _sfc_render$22], ["__file", "Popover.vue"]]);
10826
10826
 
10827
10827
  var AvatarGroup = vue.defineComponent({
10828
10828
  name: "UAvatarGroup",
@@ -10897,7 +10897,7 @@
10897
10897
  }
10898
10898
  };
10899
10899
 
10900
- const _sfc_main$24 = vue.defineComponent({
10900
+ const _sfc_main$23 = vue.defineComponent({
10901
10901
  name: "UBackTop",
10902
10902
  components: {
10903
10903
  UIcon,
@@ -10964,7 +10964,7 @@
10964
10964
  };
10965
10965
  }
10966
10966
  });
10967
- function _sfc_render$22(_ctx, _cache, $props, $setup, $data, $options) {
10967
+ function _sfc_render$21(_ctx, _cache, $props, $setup, $data, $options) {
10968
10968
  const _component_ChevronUp = vue.resolveComponent("ChevronUp");
10969
10969
  const _component_UIcon = vue.resolveComponent("UIcon");
10970
10970
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -10986,7 +10986,7 @@
10986
10986
  ])
10987
10987
  ], 6);
10988
10988
  }
10989
- var BackTop = /* @__PURE__ */ _export_sfc(_sfc_main$24, [["render", _sfc_render$22], ["__file", "BackTop.vue"]]);
10989
+ var BackTop = /* @__PURE__ */ _export_sfc(_sfc_main$23, [["render", _sfc_render$21], ["__file", "BackTop.vue"]]);
10990
10990
 
10991
10991
  const UBackTop = withInstall(BackTop);
10992
10992
 
@@ -11035,7 +11035,7 @@
11035
11035
  };
11036
11036
 
11037
11037
  const initColorList = colorType.toString().split(",");
11038
- const _sfc_main$23 = vue.defineComponent({
11038
+ const _sfc_main$22 = vue.defineComponent({
11039
11039
  name: "UBadge",
11040
11040
  props: badgeProps,
11041
11041
  setup(props) {
@@ -11125,10 +11125,10 @@
11125
11125
  };
11126
11126
  }
11127
11127
  });
11128
- const _hoisted_1$U = ["data-color"];
11129
- const _hoisted_2$m = { class: "uui-badge-status-text" };
11130
- const _hoisted_3$7 = ["data-color"];
11131
- function _sfc_render$21(_ctx, _cache, $props, $setup, $data, $options) {
11128
+ const _hoisted_1$T = ["data-color"];
11129
+ const _hoisted_2$l = { class: "uui-badge-status-text" };
11130
+ const _hoisted_3$6 = ["data-color"];
11131
+ function _sfc_render$20(_ctx, _cache, $props, $setup, $data, $options) {
11132
11132
  return _ctx.dot ? (vue.openBlock(), vue.createElementBlock("span", {
11133
11133
  key: 0,
11134
11134
  class: vue.normalizeClass(_ctx.prefixCls)
@@ -11154,8 +11154,8 @@
11154
11154
  ]),
11155
11155
  "data-color": _ctx.computedColor,
11156
11156
  style: vue.normalizeStyle(_ctx.statusStyles)
11157
- }, null, 14, _hoisted_1$U),
11158
- vue.createElementVNode("span", _hoisted_2$m, [
11157
+ }, null, 14, _hoisted_1$T),
11158
+ vue.createElementVNode("span", _hoisted_2$l, [
11159
11159
  vue.renderSlot(_ctx.$slots, "text", {}, () => [
11160
11160
  vue.createTextVNode(vue.toDisplayString(_ctx.text), 1)
11161
11161
  ])
@@ -11193,12 +11193,12 @@
11193
11193
  vue.renderSlot(_ctx.$slots, "text", {}, () => [
11194
11194
  vue.createTextVNode(vue.toDisplayString(_ctx.finalCount), 1)
11195
11195
  ])
11196
- ], 14, _hoisted_3$7)), [
11196
+ ], 14, _hoisted_3$6)), [
11197
11197
  [vue.vShow, _ctx.badgeShow]
11198
11198
  ]) : vue.createCommentVNode("v-if", true)
11199
11199
  ], 2));
11200
11200
  }
11201
- var Badge = /* @__PURE__ */ _export_sfc(_sfc_main$23, [["render", _sfc_render$21], ["__file", "Badge.vue"]]);
11201
+ var Badge = /* @__PURE__ */ _export_sfc(_sfc_main$22, [["render", _sfc_render$20], ["__file", "Badge.vue"]]);
11202
11202
 
11203
11203
  const UBadge = withInstall(Badge);
11204
11204
 
@@ -11328,7 +11328,7 @@
11328
11328
  };
11329
11329
 
11330
11330
  let guid$1 = -1;
11331
- const _sfc_main$22 = vue.defineComponent({
11331
+ const _sfc_main$21 = vue.defineComponent({
11332
11332
  name: "USubMenu",
11333
11333
  components: {
11334
11334
  Popup,
@@ -11458,11 +11458,11 @@
11458
11458
  };
11459
11459
  }
11460
11460
  });
11461
- const _hoisted_1$T = ["aria-expanded", "aria-owns"];
11462
- const _hoisted_2$l = ["id"];
11463
- const _hoisted_3$6 = ["data-color", "aria-owns"];
11461
+ const _hoisted_1$S = ["aria-expanded", "aria-owns"];
11462
+ const _hoisted_2$k = ["id"];
11463
+ const _hoisted_3$5 = ["data-color", "aria-owns"];
11464
11464
  const _hoisted_4$2 = ["id"];
11465
- function _sfc_render$20(_ctx, _cache, $props, $setup, $data, $options) {
11465
+ function _sfc_render$1$(_ctx, _cache, $props, $setup, $data, $options) {
11466
11466
  const _component_ChevronDown = vue.resolveComponent("ChevronDown");
11467
11467
  const _component_UIcon = vue.resolveComponent("UIcon");
11468
11468
  const _component_ChevronRight = vue.resolveComponent("ChevronRight");
@@ -11499,7 +11499,7 @@
11499
11499
  ]),
11500
11500
  _: 1
11501
11501
  }, 8, ["class"])
11502
- ], 14, _hoisted_1$T),
11502
+ ], 14, _hoisted_1$S),
11503
11503
  vue.createCommentVNode(' <transition name="slide-up"> '),
11504
11504
  vue.createCommentVNode(" <CollapseTransition appear> "),
11505
11505
  vue.withDirectives(vue.createElementVNode("ul", {
@@ -11508,7 +11508,7 @@
11508
11508
  style: vue.normalizeStyle(_ctx.subMenuStyle)
11509
11509
  }, [
11510
11510
  vue.renderSlot(_ctx.$slots, "default")
11511
- ], 14, _hoisted_2$l), [
11511
+ ], 14, _hoisted_2$k), [
11512
11512
  [vue.vShow, _ctx.isOpen]
11513
11513
  ]),
11514
11514
  vue.createCommentVNode(" </CollapseTransition> "),
@@ -11558,13 +11558,13 @@
11558
11558
  ]),
11559
11559
  _: 1
11560
11560
  }, 8, ["class"])
11561
- ], 10, _hoisted_3$6)
11561
+ ], 10, _hoisted_3$5)
11562
11562
  ]),
11563
11563
  _: 3
11564
11564
  }, 8, ["aria-owns", "popup-class", "prefix", "placement", "offset", "trigger", "mouse-enter-delay", "mouse-leave-delay", "transition-name", "get-popup-container", "onPopupVisibleChange", "onClick"]))
11565
11565
  ], 2);
11566
11566
  }
11567
- var SubMenu = /* @__PURE__ */ _export_sfc(_sfc_main$22, [["render", _sfc_render$20], ["__file", "SubMenu.vue"]]);
11567
+ var SubMenu = /* @__PURE__ */ _export_sfc(_sfc_main$21, [["render", _sfc_render$1$], ["__file", "SubMenu.vue"]]);
11568
11568
 
11569
11569
  const FLOAT_PRECISION_ADJUST = 0.5;
11570
11570
  const getWidth$1 = (elem) => {
@@ -11955,7 +11955,7 @@
11955
11955
  "update:visible": (v) => typeof v === "boolean"
11956
11956
  };
11957
11957
 
11958
- const _sfc_main$21 = vue.defineComponent({
11958
+ const _sfc_main$20 = vue.defineComponent({
11959
11959
  name: "UTooltip",
11960
11960
  components: {
11961
11961
  Popup
@@ -12104,9 +12104,9 @@
12104
12104
  };
12105
12105
  }
12106
12106
  });
12107
- const _hoisted_1$S = ["data-color"];
12108
- const _hoisted_2$k = ["data-color"];
12109
- function _sfc_render$1$(_ctx, _cache, $props, $setup, $data, $options) {
12107
+ const _hoisted_1$R = ["data-color"];
12108
+ const _hoisted_2$j = ["data-color"];
12109
+ function _sfc_render$1_(_ctx, _cache, $props, $setup, $data, $options) {
12110
12110
  const _component_Popup = vue.resolveComponent("Popup");
12111
12111
  return _ctx.disabled ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : (vue.openBlock(), vue.createBlock(_component_Popup, vue.mergeProps({
12112
12112
  key: 1,
@@ -12128,7 +12128,7 @@
12128
12128
  class: vue.normalizeClass(`${_ctx.prefixCls}-arrow`),
12129
12129
  "data-color": _ctx.color,
12130
12130
  style: vue.normalizeStyle(_ctx.arrowStyle)
12131
- }, null, 14, _hoisted_1$S),
12131
+ }, null, 14, _hoisted_1$R),
12132
12132
  vue.createElementVNode("div", {
12133
12133
  ref: "innerRef",
12134
12134
  class: vue.normalizeClass(`${_ctx.prefixCls}-inner`),
@@ -12138,7 +12138,7 @@
12138
12138
  vue.renderSlot(_ctx.$slots, "title", {}, () => [
12139
12139
  vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
12140
12140
  ])
12141
- ], 10, _hoisted_2$k)
12141
+ ], 10, _hoisted_2$j)
12142
12142
  ]),
12143
12143
  default: vue.withCtx(() => [
12144
12144
  vue.renderSlot(_ctx.$slots, "default")
@@ -12146,12 +12146,12 @@
12146
12146
  _: 3
12147
12147
  }, 16, ["prefix-cls", "popup-class", "popup-style", "visible", "placement", "trigger", "offset", "mouse-enter-delay", "mouse-leave-delay", "destroy-popup-on-hide", "onPopupVisibleChange"]));
12148
12148
  }
12149
- var Tooltip = /* @__PURE__ */ _export_sfc(_sfc_main$21, [["render", _sfc_render$1$], ["__file", "Tooltip.vue"]]);
12149
+ var Tooltip = /* @__PURE__ */ _export_sfc(_sfc_main$20, [["render", _sfc_render$1_], ["__file", "Tooltip.vue"]]);
12150
12150
 
12151
12151
  const UTooltip = withInstall(Tooltip);
12152
12152
 
12153
12153
  let guid = -1;
12154
- const _sfc_main$20 = vue.defineComponent({
12154
+ const _sfc_main$1$ = vue.defineComponent({
12155
12155
  name: "UMenuItem",
12156
12156
  components: {
12157
12157
  UTooltip
@@ -12239,8 +12239,8 @@
12239
12239
  };
12240
12240
  }
12241
12241
  });
12242
- const _hoisted_1$R = ["data-color"];
12243
- function _sfc_render$1_(_ctx, _cache, $props, $setup, $data, $options) {
12242
+ const _hoisted_1$Q = ["data-color"];
12243
+ function _sfc_render$1Z(_ctx, _cache, $props, $setup, $data, $options) {
12244
12244
  const _component_UTooltip = vue.resolveComponent("UTooltip");
12245
12245
  return vue.openBlock(), vue.createBlock(_component_UTooltip, {
12246
12246
  title: _ctx.title,
@@ -12266,14 +12266,14 @@
12266
12266
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
12267
12267
  vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
12268
12268
  ])
12269
- ], 16, _hoisted_1$R)
12269
+ ], 16, _hoisted_1$Q)
12270
12270
  ]),
12271
12271
  _: 3
12272
12272
  }, 8, ["title", "disabled", "class"]);
12273
12273
  }
12274
- var MenuItem$2 = /* @__PURE__ */ _export_sfc(_sfc_main$20, [["render", _sfc_render$1_], ["__file", "MenuItem.vue"]]);
12274
+ var MenuItem$2 = /* @__PURE__ */ _export_sfc(_sfc_main$1$, [["render", _sfc_render$1Z], ["__file", "MenuItem.vue"]]);
12275
12275
 
12276
- const _sfc_main$1$ = vue.defineComponent({
12276
+ const _sfc_main$1_ = vue.defineComponent({
12277
12277
  name: "UMenuItemGroup",
12278
12278
  props: menuItemGroupProps,
12279
12279
  setup() {
@@ -12283,7 +12283,7 @@
12283
12283
  };
12284
12284
  }
12285
12285
  });
12286
- function _sfc_render$1Z(_ctx, _cache, $props, $setup, $data, $options) {
12286
+ function _sfc_render$1Y(_ctx, _cache, $props, $setup, $data, $options) {
12287
12287
  return vue.openBlock(), vue.createElementBlock("li", {
12288
12288
  class: vue.normalizeClass(`${_ctx.rootPrefixCls}-item-group`)
12289
12289
  }, [
@@ -12301,9 +12301,9 @@
12301
12301
  ], 2)
12302
12302
  ], 2);
12303
12303
  }
12304
- var MenuItemGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1$, [["render", _sfc_render$1Z], ["__file", "MenuItemGroup.vue"]]);
12304
+ var MenuItemGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1_, [["render", _sfc_render$1Y], ["__file", "MenuItemGroup.vue"]]);
12305
12305
 
12306
- const _sfc_main$1_ = vue.defineComponent({
12306
+ const _sfc_main$1Z = vue.defineComponent({
12307
12307
  name: "UMenuDivider",
12308
12308
  setup() {
12309
12309
  const { rootPrefixCls } = vue.inject("menuStore", {});
@@ -12312,12 +12312,12 @@
12312
12312
  };
12313
12313
  }
12314
12314
  });
12315
- function _sfc_render$1Y(_ctx, _cache, $props, $setup, $data, $options) {
12315
+ function _sfc_render$1X(_ctx, _cache, $props, $setup, $data, $options) {
12316
12316
  return vue.openBlock(), vue.createElementBlock("li", {
12317
12317
  class: vue.normalizeClass([`${_ctx.rootPrefixCls}-item-divider`])
12318
12318
  }, null, 2);
12319
12319
  }
12320
- var MenuDivider = /* @__PURE__ */ _export_sfc(_sfc_main$1_, [["render", _sfc_render$1Y], ["__file", "MenuDivider.vue"]]);
12320
+ var MenuDivider = /* @__PURE__ */ _export_sfc(_sfc_main$1Z, [["render", _sfc_render$1X], ["__file", "MenuDivider.vue"]]);
12321
12321
 
12322
12322
  const UMenu = withInstall(Menu, {
12323
12323
  Item: MenuItem$2,
@@ -12407,7 +12407,7 @@
12407
12407
  return option.group;
12408
12408
  };
12409
12409
 
12410
- const _sfc_main$1Z = vue.defineComponent({
12410
+ const _sfc_main$1Y = vue.defineComponent({
12411
12411
  name: "UDropdown",
12412
12412
  components: {
12413
12413
  Popup
@@ -12456,7 +12456,7 @@
12456
12456
  };
12457
12457
  }
12458
12458
  });
12459
- function _sfc_render$1X(_ctx, _cache, $props, $setup, $data, $options) {
12459
+ function _sfc_render$1W(_ctx, _cache, $props, $setup, $data, $options) {
12460
12460
  const _component_Popup = vue.resolveComponent("Popup");
12461
12461
  return vue.openBlock(), vue.createBlock(_component_Popup, {
12462
12462
  placement: _ctx.placement,
@@ -12490,9 +12490,9 @@
12490
12490
  _: 3
12491
12491
  }, 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"]);
12492
12492
  }
12493
- var Dropdown = /* @__PURE__ */ _export_sfc(_sfc_main$1Z, [["render", _sfc_render$1X], ["__file", "Dropdown.vue"]]);
12493
+ var Dropdown = /* @__PURE__ */ _export_sfc(_sfc_main$1Y, [["render", _sfc_render$1W], ["__file", "Dropdown.vue"]]);
12494
12494
 
12495
- function _isSlot$4(s) {
12495
+ function _isSlot$5(s) {
12496
12496
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
12497
12497
  }
12498
12498
  var DropdownMenu = vue.defineComponent({
@@ -12557,7 +12557,7 @@
12557
12557
  let _slot;
12558
12558
  return vue.createVNode(UMenu.ItemGroup, {
12559
12559
  "title": m.title
12560
- }, _isSlot$4(_slot = m.children.map(renderItem)) ? _slot : {
12560
+ }, _isSlot$5(_slot = m.children.map(renderItem)) ? _slot : {
12561
12561
  default: () => [_slot]
12562
12562
  });
12563
12563
  }
@@ -12606,7 +12606,7 @@
12606
12606
  [`${prefixCls}-menu-with-icon`]: this.icon
12607
12607
  },
12608
12608
  "style": this.style
12609
- }, _isSlot$4(menus) ? menus : {
12609
+ }, _isSlot$5(menus) ? menus : {
12610
12610
  default: () => [menus]
12611
12611
  })]);
12612
12612
  }
@@ -12695,7 +12695,7 @@
12695
12695
  }
12696
12696
  };
12697
12697
 
12698
- const _sfc_main$1Y = vue.defineComponent({
12698
+ const _sfc_main$1X = vue.defineComponent({
12699
12699
  name: "UButton",
12700
12700
  components: {
12701
12701
  UIcon
@@ -12737,18 +12737,18 @@
12737
12737
  };
12738
12738
  }
12739
12739
  });
12740
- const _hoisted_1$Q = ["data-color", "type", "disabled"];
12741
- const _hoisted_2$j = {
12740
+ const _hoisted_1$P = ["data-color", "type", "disabled"];
12741
+ const _hoisted_2$i = {
12742
12742
  width: "24",
12743
12743
  height: "24",
12744
12744
  viewBox: "0 0 24 24",
12745
12745
  xmlns: "http://www.w3.org/2000/svg"
12746
12746
  };
12747
- const _hoisted_3$5 = { "clip-path": "url(#clip0_165_1518)" };
12747
+ const _hoisted_3$4 = { "clip-path": "url(#clip0_165_1518)" };
12748
12748
  const _hoisted_4$1 = ["fill"];
12749
12749
  const _hoisted_5 = ["id"];
12750
12750
  const _hoisted_6 = { key: 2 };
12751
- function _sfc_render$1W(_ctx, _cache, $props, $setup, $data, $options) {
12751
+ function _sfc_render$1V(_ctx, _cache, $props, $setup, $data, $options) {
12752
12752
  const _component_UIcon = vue.resolveComponent("UIcon");
12753
12753
  return vue.openBlock(), vue.createElementBlock("button", {
12754
12754
  ref: "buttonRef",
@@ -12778,8 +12778,8 @@
12778
12778
  spin: ""
12779
12779
  }, {
12780
12780
  default: vue.withCtx(() => [
12781
- (vue.openBlock(), vue.createElementBlock("svg", _hoisted_2$j, [
12782
- vue.createElementVNode("g", _hoisted_3$5, [
12781
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_2$i, [
12782
+ vue.createElementVNode("g", _hoisted_3$4, [
12783
12783
  vue.createElementVNode("path", {
12784
12784
  "fill-rule": "evenodd",
12785
12785
  "clip-rule": "evenodd",
@@ -12823,11 +12823,11 @@
12823
12823
  _ctx.showSlot ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6, [
12824
12824
  vue.renderSlot(_ctx.$slots, "default")
12825
12825
  ])) : vue.createCommentVNode("v-if", true)
12826
- ], 10, _hoisted_1$Q);
12826
+ ], 10, _hoisted_1$P);
12827
12827
  }
12828
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main$1Y, [["render", _sfc_render$1W], ["__file", "Button.vue"]]);
12828
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main$1X, [["render", _sfc_render$1V], ["__file", "Button.vue"]]);
12829
12829
 
12830
- const _sfc_main$1X = vue.defineComponent({
12830
+ const _sfc_main$1W = vue.defineComponent({
12831
12831
  name: "UButtonGroup",
12832
12832
  props: buttonGroupProps,
12833
12833
  setup() {
@@ -12837,7 +12837,7 @@
12837
12837
  };
12838
12838
  }
12839
12839
  });
12840
- function _sfc_render$1V(_ctx, _cache, $props, $setup, $data, $options) {
12840
+ function _sfc_render$1U(_ctx, _cache, $props, $setup, $data, $options) {
12841
12841
  return vue.openBlock(), vue.createElementBlock("div", {
12842
12842
  class: vue.normalizeClass([
12843
12843
  `${_ctx.prefixCls}`,
@@ -12851,7 +12851,7 @@
12851
12851
  vue.renderSlot(_ctx.$slots, "default")
12852
12852
  ], 2);
12853
12853
  }
12854
- var ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1X, [["render", _sfc_render$1V], ["__file", "ButtonGroup.vue"]]);
12854
+ var ButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1W, [["render", _sfc_render$1U], ["__file", "ButtonGroup.vue"]]);
12855
12855
 
12856
12856
  const UButton = withInstall(Button, {
12857
12857
  Group: ButtonGroup
@@ -13018,7 +13018,7 @@
13018
13018
  }
13019
13019
  });
13020
13020
 
13021
- function _isSlot$3(s) {
13021
+ function _isSlot$4(s) {
13022
13022
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
13023
13023
  }
13024
13024
  const UMenuItem = UMenu.Item;
@@ -13088,11 +13088,11 @@
13088
13088
  if (routeChildren && !!routeChildren.length) {
13089
13089
  return () => {
13090
13090
  let _slot2;
13091
- return vue.createVNode(UMenu, null, _isSlot$3(_slot2 = routeChildren.map((routeChild, index) => {
13091
+ return vue.createVNode(UMenu, null, _isSlot$4(_slot2 = routeChildren.map((routeChild, index) => {
13092
13092
  let _slot;
13093
13093
  return vue.createVNode(UMenuItem, {
13094
13094
  "key": index
13095
- }, _isSlot$3(_slot = renderRouteItem(routeChild)) ? _slot : {
13095
+ }, _isSlot$4(_slot = renderRouteItem(routeChild)) ? _slot : {
13096
13096
  default: () => [_slot]
13097
13097
  });
13098
13098
  })) ? _slot2 : {
@@ -13494,7 +13494,7 @@
13494
13494
  change: (v) => Array.isArray(v) && v.every((x) => x === void 0 || typeof x === "number" || typeof x === "string")
13495
13495
  };
13496
13496
 
13497
- const _sfc_main$1W = vue.defineComponent({
13497
+ const _sfc_main$1V = vue.defineComponent({
13498
13498
  name: "UCheckbox",
13499
13499
  components: {
13500
13500
  UIcon,
@@ -13592,8 +13592,8 @@
13592
13592
  };
13593
13593
  }
13594
13594
  });
13595
- const _hoisted_1$P = ["disabled", "checked", "name"];
13596
- function _sfc_render$1U(_ctx, _cache, $props, $setup, $data, $options) {
13595
+ const _hoisted_1$O = ["disabled", "checked", "name"];
13596
+ function _sfc_render$1T(_ctx, _cache, $props, $setup, $data, $options) {
13597
13597
  const _component_Check = vue.resolveComponent("Check");
13598
13598
  const _component_Minus = vue.resolveComponent("Minus");
13599
13599
  const _component_UIcon = vue.resolveComponent("UIcon");
@@ -13639,7 +13639,7 @@
13639
13639
  onClick: _cache[2] || (_cache[2] = (...args) => _ctx.onClick && _ctx.onClick(...args)),
13640
13640
  onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
13641
13641
  onBlur: _cache[4] || (_cache[4] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args))
13642
- }, null, 42, _hoisted_1$P)
13642
+ }, null, 42, _hoisted_1$O)
13643
13643
  ], 2),
13644
13644
  _ctx.showSlot ? (vue.openBlock(), vue.createElementBlock("span", {
13645
13645
  key: 0,
@@ -13651,9 +13651,9 @@
13651
13651
  ], 2)) : vue.createCommentVNode("v-if", true)
13652
13652
  ], 2);
13653
13653
  }
13654
- var Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$1W, [["render", _sfc_render$1U], ["__file", "Checkbox.vue"]]);
13654
+ var Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$1V, [["render", _sfc_render$1T], ["__file", "Checkbox.vue"]]);
13655
13655
 
13656
- const _sfc_main$1V = vue.defineComponent({
13656
+ const _sfc_main$1U = vue.defineComponent({
13657
13657
  name: "UCheckboxGroup",
13658
13658
  components: {
13659
13659
  UIcon,
@@ -13725,8 +13725,8 @@
13725
13725
  };
13726
13726
  }
13727
13727
  });
13728
- const _hoisted_1$O = { key: 0 };
13729
- function _sfc_render$1T(_ctx, _cache, $props, $setup, $data, $options) {
13728
+ const _hoisted_1$N = { key: 0 };
13729
+ function _sfc_render$1S(_ctx, _cache, $props, $setup, $data, $options) {
13730
13730
  const _component_LoaderCircle = vue.resolveComponent("LoaderCircle");
13731
13731
  const _component_UIcon = vue.resolveComponent("UIcon");
13732
13732
  const _component_UCheckbox = vue.resolveComponent("UCheckbox");
@@ -13742,7 +13742,7 @@
13742
13742
  ])
13743
13743
  }, [
13744
13744
  _ctx.hasSlot ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
13745
- _ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
13745
+ _ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
13746
13746
  vue.createVNode(_component_UIcon, { spin: "" }, {
13747
13747
  default: vue.withCtx(() => [
13748
13748
  vue.createVNode(_component_LoaderCircle)
@@ -13764,13 +13764,13 @@
13764
13764
  ], 64))
13765
13765
  ], 2);
13766
13766
  }
13767
- var CheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1V, [["render", _sfc_render$1T], ["__file", "CheckboxGroup.vue"]]);
13767
+ var CheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1U, [["render", _sfc_render$1S], ["__file", "CheckboxGroup.vue"]]);
13768
13768
 
13769
13769
  const UCheckbox = withInstall(Checkbox, {
13770
13770
  Group: CheckboxGroup
13771
13771
  });
13772
13772
 
13773
- const _sfc_main$1U = vue.defineComponent({
13773
+ const _sfc_main$1T = vue.defineComponent({
13774
13774
  name: "SelectInput",
13775
13775
  props: {
13776
13776
  inputRef: {
@@ -13853,8 +13853,8 @@
13853
13853
  };
13854
13854
  }
13855
13855
  });
13856
- const _hoisted_1$N = ["id", "aria-expanded", "aria-own", "aria-controls", "aria-activedescendant", "disabled", "tabindex", "autocomplete", "autofocus", "value", "readonly", "unselectable"];
13857
- function _sfc_render$1S(_ctx, _cache, $props, $setup, $data, $options) {
13856
+ const _hoisted_1$M = ["id", "aria-expanded", "aria-own", "aria-controls", "aria-activedescendant", "disabled", "tabindex", "autocomplete", "autofocus", "value", "readonly", "unselectable"];
13857
+ function _sfc_render$1R(_ctx, _cache, $props, $setup, $data, $options) {
13858
13858
  return vue.openBlock(), vue.createElementBlock("input", {
13859
13859
  id: _ctx.id,
13860
13860
  ref: _ctx.inputRef,
@@ -13882,11 +13882,11 @@
13882
13882
  onInput: _cache[5] || (_cache[5] = (...args) => _ctx.onChange && _ctx.onChange(...args)),
13883
13883
  onCompositionstart: _cache[6] || (_cache[6] = (...args) => _ctx.onCompositionstart && _ctx.onCompositionstart(...args)),
13884
13884
  onCompositionend: _cache[7] || (_cache[7] = (...args) => _ctx.onCompositionend && _ctx.onCompositionend(...args))
13885
- }, null, 46, _hoisted_1$N);
13885
+ }, null, 46, _hoisted_1$M);
13886
13886
  }
13887
- var SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$1U, [["render", _sfc_render$1S], ["__file", "Input.vue"]]);
13887
+ var SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$1T, [["render", _sfc_render$1R], ["__file", "Input.vue"]]);
13888
13888
 
13889
- const _sfc_main$1T = vue.defineComponent({
13889
+ const _sfc_main$1S = vue.defineComponent({
13890
13890
  name: "SingleSeletor",
13891
13891
  components: {
13892
13892
  Render,
@@ -13982,8 +13982,8 @@
13982
13982
  };
13983
13983
  }
13984
13984
  });
13985
- const _hoisted_1$M = ["title"];
13986
- function _sfc_render$1R(_ctx, _cache, $props, $setup, $data, $options) {
13985
+ const _hoisted_1$L = ["title"];
13986
+ function _sfc_render$1Q(_ctx, _cache, $props, $setup, $data, $options) {
13987
13987
  const _component_SelectInput = vue.resolveComponent("SelectInput");
13988
13988
  const _component_Render = vue.resolveComponent("Render");
13989
13989
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
@@ -14013,7 +14013,7 @@
14013
14013
  vue.createVNode(_component_Render, {
14014
14014
  render: _ctx.getRender(_ctx.selectedItem.displayLabel)
14015
14015
  }, null, 8, ["render"])
14016
- ], 10, _hoisted_1$M)) : vue.createCommentVNode("v-if", true),
14016
+ ], 10, _hoisted_1$L)) : vue.createCommentVNode("v-if", true),
14017
14017
  vue.withDirectives(vue.createElementVNode("div", {
14018
14018
  class: vue.normalizeClass(`${_ctx.prefixCls}-selection-placeholder`)
14019
14019
  }, [
@@ -14023,362 +14023,529 @@
14023
14023
  ])
14024
14024
  ], 64);
14025
14025
  }
14026
- var SingleSelection = /* @__PURE__ */ _export_sfc(_sfc_main$1T, [["render", _sfc_render$1R], ["__file", "Single.vue"]]);
14026
+ var SingleSelection = /* @__PURE__ */ _export_sfc(_sfc_main$1S, [["render", _sfc_render$1Q], ["__file", "Single.vue"]]);
14027
14027
 
14028
14028
  const UPopover = withInstall(Popover);
14029
14029
 
14030
14030
  const REST_TAG_KEY = "__UUI_SELECT_MAX_REST_COUNT__";
14031
- const defaultMaxTagPlaceholder = (ommittedValus) => `+ ${ommittedValus.length}`;
14032
- var _sfc_main$1S = vue.defineComponent({
14033
- name: "MutipleSelector",
14034
- components: {
14035
- SelectInput,
14036
- Render,
14037
- UPopover,
14038
- UIcon,
14039
- X: lucideVueNext.X
14040
- },
14041
- inheritAttrs: false,
14042
- props: {
14043
- prefixCls: {
14044
- type: String
14045
- },
14046
- values: {
14047
- type: Array,
14048
- default: () => []
14049
- },
14050
- searchValue: {
14051
- type: String
14052
- },
14053
- filterable: {
14054
- type: Boolean,
14055
- default: false
14056
- },
14057
- disabled: {
14058
- type: Boolean,
14059
- default: void 0
14060
- },
14061
- open: {
14062
- type: Boolean,
14063
- default: void 0
14064
- },
14065
- inputRef: {
14066
- type: Function
14067
- },
14068
- tagTransitionName: {
14069
- type: String
14070
- },
14071
- maxTagCount: {
14072
- type: Number
14073
- },
14074
- maxTagTextLength: {
14075
- type: Number
14076
- },
14077
- maxTagPlaceholder: {
14078
- type: Function,
14079
- default: defaultMaxTagPlaceholder
14080
- },
14081
- maxTagTooltip: {
14082
- type: Boolean,
14083
- default: false
14084
- },
14085
- maxTagTooltipWidth: {
14086
- type: Number,
14087
- default: 99900
14088
- },
14089
- tagRender: {
14090
- type: Function
14091
- },
14092
- removeIcon: {
14093
- type: [String, Object]
14094
- },
14095
- isShowTagTooltip: {
14096
- type: Boolean,
14097
- default: false
14098
- },
14099
- popoverProps: {
14100
- type: Object,
14101
- default: () => ({})
14031
+ function useMultipleBase(props, emit) {
14032
+ const motionAppear = vue.ref(false);
14033
+ const measureRef = vue.ref();
14034
+ const inputWidth = vue.ref(0);
14035
+ const mergedContainerWidth = vue.computed(() => props.containerWrapperWidth || 0);
14036
+ const itemWidths = vue.shallowRef(/* @__PURE__ */ new Map());
14037
+ const suffixWidth = vue.shallowRef(0);
14038
+ const prevRestWidth = vue.shallowRef(0);
14039
+ const restWidth = vue.shallowRef(0);
14040
+ const displayCount = vue.shallowRef(null);
14041
+ const restReady = vue.shallowRef(false);
14042
+ const inputValue = vue.computed(() => {
14043
+ return props.searchValue;
14044
+ });
14045
+ const inputEditable = vue.computed(() => {
14046
+ return props.filterable && props.open;
14047
+ });
14048
+ const showPlaceholder = vue.computed(() => {
14049
+ return !props.values.length && !inputValue.value;
14050
+ });
14051
+ const isNotRender = vue.computed(() => {
14052
+ return !props.tagRender;
14053
+ });
14054
+ const mergedDisplayCount = vue.computed(() => {
14055
+ if (displayCount.value === null) {
14056
+ return Number.MAX_SAFE_INTEGER;
14102
14057
  }
14103
- },
14104
- emits: ["select", "input-mousedown", "input-change", "input-keydown", "input-compositionstart", "input-compositionend", "input-paste"],
14105
- setup(props, {
14106
- emit
14107
- }) {
14108
- const motionAppear = vue.ref(false);
14109
- const measureRef = vue.ref();
14110
- const inputWidth = vue.ref(0);
14111
- const inputValue = vue.computed(() => {
14112
- return props.searchValue;
14113
- });
14114
- const inputEditable = vue.computed(() => {
14115
- return props.filterable && props.open;
14116
- });
14117
- const showPlaceholder = vue.computed(() => {
14118
- return !props.values.length && !inputValue.value;
14119
- });
14120
- vue.onMounted(() => {
14121
- motionAppear.value = true;
14122
- vue.watch(inputValue, () => {
14123
- inputWidth.value = measureRef.value.scrollWidth;
14124
- }, {
14125
- flush: "post"
14126
- });
14127
- });
14128
- const isNotRender = vue.computed(() => {
14129
- return !props.tagRender;
14130
- });
14131
- const displayValues = vue.computed(() => {
14132
- const {
14133
- values,
14134
- maxTagCount,
14135
- maxTagTextLength,
14136
- maxTagPlaceholder
14137
- } = props;
14138
- let restCount = 0;
14139
- let _display = values;
14140
- if (typeof maxTagCount === "number") {
14141
- restCount = values.length - maxTagCount;
14142
- _display = values.slice(0, maxTagCount);
14143
- }
14144
- if (typeof maxTagTextLength === "number") {
14145
- _display = _display.map(({
14146
- displayLabel,
14147
- ...rest
14148
- }) => {
14149
- let _label = displayLabel;
14150
- if (typeof displayLabel === "string" || typeof displayLabel === "number") {
14151
- const strLabel = String(_label);
14152
- if (strLabel.length > maxTagTextLength) {
14153
- _label = `${strLabel.slice(0, maxTagTextLength)}...`;
14154
- }
14058
+ return displayCount.value || 0;
14059
+ });
14060
+ const mergedRestWidth = vue.computed(() => Math.max(prevRestWidth.value, restWidth.value));
14061
+ const omittedItems = vue.computed(() => {
14062
+ return props.values.slice(mergedDisplayCount.value + 1);
14063
+ });
14064
+ const displayRest = vue.computed(() => restReady.value && !!omittedItems.value.length);
14065
+ const baseDisplayValues = vue.computed(() => {
14066
+ const { values, maxTagCount, maxTagTextLength, maxTagPlaceholder } = props;
14067
+ let restCount = 0;
14068
+ let _display = values;
14069
+ if (typeof maxTagCount === "number") {
14070
+ restCount = values.length - maxTagCount;
14071
+ _display = values.slice(0, maxTagCount);
14072
+ }
14073
+ if (typeof maxTagTextLength === "number") {
14074
+ _display = _display.map(({ displayLabel, ...rest }) => {
14075
+ let _label = displayLabel;
14076
+ if (typeof displayLabel === "string" || typeof displayLabel === "number") {
14077
+ const strLabel = String(_label);
14078
+ if (strLabel.length > maxTagTextLength) {
14079
+ _label = `${strLabel.slice(0, maxTagTextLength)}...`;
14155
14080
  }
14156
- return {
14157
- ...rest,
14158
- displayLabel: _label
14159
- };
14160
- });
14161
- }
14162
- if (restCount > 0) {
14163
- const rest = values.slice(maxTagCount);
14164
- _display.push({
14165
- key: REST_TAG_KEY,
14166
- value: REST_TAG_KEY,
14167
- displayLabel: maxTagPlaceholder(rest)
14168
- });
14169
- }
14170
- return _display;
14171
- });
14172
- const closable = (item) => {
14173
- return item.key !== REST_TAG_KEY && !item.disabled;
14174
- };
14175
- const onClose = (value, e) => {
14176
- if (e && e.stopPropagation) {
14177
- e.stopPropagation();
14178
- }
14179
- emit("select", value, {
14180
- selected: false
14081
+ }
14082
+ return {
14083
+ ...rest,
14084
+ displayLabel: _label
14085
+ };
14181
14086
  });
14182
- };
14183
- return {
14184
- getRender,
14185
- REST_TAG_KEY,
14186
- motionAppear,
14187
- measureRef,
14188
- inputWidth,
14189
- inputValue,
14190
- inputEditable,
14191
- showPlaceholder,
14192
- isNotRender,
14193
- displayValues,
14194
- closable,
14195
- onClose,
14196
- onInputMouseDown: () => {
14197
- emit("input-mousedown");
14198
- },
14199
- onInputChange: (val) => {
14200
- emit("input-change", val);
14201
- },
14202
- onInputKeydown: (e) => {
14203
- emit("input-keydown", e);
14204
- },
14205
- onInputCompositionStart: (e) => {
14206
- emit("input-compositionstart", e);
14207
- },
14208
- onInputCompositionEnd: (e) => {
14209
- emit("input-compositionend", e);
14210
- },
14211
- onInputPaste: (e) => {
14212
- emit("input-paste", e);
14087
+ }
14088
+ if (restCount > 0) {
14089
+ const rest = values.slice(maxTagCount);
14090
+ _display.push({
14091
+ key: REST_TAG_KEY,
14092
+ value: REST_TAG_KEY,
14093
+ displayLabel: maxTagPlaceholder(rest)
14094
+ });
14095
+ }
14096
+ return _display;
14097
+ });
14098
+ const overflowDisplayValues = vue.computed(() => {
14099
+ const { maxTagPlaceholder } = props;
14100
+ let items = [];
14101
+ if (props.containerWrapperWidth === null) {
14102
+ items = props.values;
14103
+ } else {
14104
+ items = props.values.slice(0, Math.min(props.values.length, props.containerWrapperWidth / props.itemWidth));
14105
+ }
14106
+ items = [
14107
+ ...items,
14108
+ {
14109
+ key: REST_TAG_KEY,
14110
+ value: REST_TAG_KEY,
14111
+ displayLabel: maxTagPlaceholder(omittedItems.value)
14213
14112
  }
14214
- };
14215
- }
14216
- });
14113
+ ];
14114
+ return items;
14115
+ });
14116
+ const displayValues = vue.computed(() => {
14117
+ return props.enableOverflow ? overflowDisplayValues.value : baseDisplayValues.value;
14118
+ });
14119
+ const closable = (item) => {
14120
+ return item.key !== REST_TAG_KEY && !item.disabled;
14121
+ };
14122
+ const onClose = (value, e) => {
14123
+ if (e && e.stopPropagation) {
14124
+ e.stopPropagation();
14125
+ }
14126
+ emit("select", value, { selected: false });
14127
+ };
14128
+ const getItemWidth = (index) => {
14129
+ return itemWidths.value.get(displayValues.value[index].value || displayValues.value[index].key);
14130
+ };
14131
+ const updateDisplayCount = (count, notReady) => {
14132
+ displayCount.value = count;
14133
+ if (!notReady) {
14134
+ restReady.value = count < props.values.length - 1;
14135
+ }
14136
+ };
14137
+ const onOverflowItemResize = ({ width }, item) => {
14138
+ const clone = new Map(itemWidths.value);
14139
+ const key = item.value || item.key;
14140
+ if (key === REST_TAG_KEY) {
14141
+ prevRestWidth.value = restWidth.value;
14142
+ restWidth.value = width;
14143
+ }
14144
+ if (width === null) {
14145
+ clone.delete(key);
14146
+ } else {
14147
+ clone.set(key, width);
14148
+ }
14149
+ itemWidths.value = clone;
14150
+ };
14151
+ const onSuffixResize = ({ width }) => {
14152
+ suffixWidth.value = width;
14153
+ };
14154
+ const onInputMouseDown = () => {
14155
+ emit("input-mousedown");
14156
+ };
14157
+ const onInputChange = (val) => {
14158
+ emit("input-change", val);
14159
+ };
14160
+ const onInputKeydown = (e) => {
14161
+ emit("input-keydown", e);
14162
+ };
14163
+ const onInputCompositionStart = (e) => {
14164
+ emit("input-compositionstart", e);
14165
+ };
14166
+ const onInputCompositionEnd = (e) => {
14167
+ emit("input-compositionend", e);
14168
+ };
14169
+ const onInputPaste = (e) => {
14170
+ emit("input-paste", e);
14171
+ };
14172
+ vue.onMounted(() => {
14173
+ motionAppear.value = true;
14174
+ vue.watch(
14175
+ inputValue,
14176
+ () => {
14177
+ inputWidth.value = measureRef.value.scrollWidth;
14178
+ },
14179
+ { flush: "post" }
14180
+ );
14181
+ });
14182
+ vue.watch([mergedContainerWidth, itemWidths, restWidth, suffixWidth, displayValues], () => {
14183
+ if (!props.enableOverflow)
14184
+ return;
14185
+ if (mergedContainerWidth.value && mergedRestWidth.value && displayValues.value) {
14186
+ let totalWidth = suffixWidth.value;
14187
+ const len = displayValues.value.filter((item) => item.key !== REST_TAG_KEY).length;
14188
+ const lastIndex = len - 1;
14189
+ if (!len) {
14190
+ updateDisplayCount(0);
14191
+ return;
14192
+ }
14193
+ for (let i = 0; i < len; i += 1) {
14194
+ const currentItemWidth = getItemWidth(i);
14195
+ if (currentItemWidth === void 0) {
14196
+ updateDisplayCount(i - 1, true);
14197
+ break;
14198
+ }
14199
+ totalWidth += currentItemWidth;
14200
+ if (lastIndex === 0 && totalWidth <= mergedContainerWidth.value || i === lastIndex - 1 && totalWidth + getItemWidth(lastIndex) <= mergedContainerWidth.value) {
14201
+ updateDisplayCount(lastIndex);
14202
+ break;
14203
+ } else if (totalWidth + mergedRestWidth.value > mergedContainerWidth.value) {
14204
+ updateDisplayCount(i - 1);
14205
+ break;
14206
+ }
14207
+ }
14208
+ }
14209
+ });
14210
+ return {
14211
+ motionAppear,
14212
+ measureRef,
14213
+ inputWidth,
14214
+ inputValue,
14215
+ inputEditable,
14216
+ showPlaceholder,
14217
+ isNotRender,
14218
+ displayValues,
14219
+ displayRest,
14220
+ mergedDisplayCount,
14221
+ closable,
14222
+ onClose,
14223
+ onOverflowItemResize,
14224
+ onSuffixResize,
14225
+ onInputMouseDown,
14226
+ onInputChange,
14227
+ onInputKeydown,
14228
+ onInputCompositionStart,
14229
+ onInputCompositionEnd,
14230
+ onInputPaste,
14231
+ REST_TAG_KEY,
14232
+ getRender
14233
+ };
14234
+ }
14217
14235
 
14218
- const _hoisted_1$L = ["title"];
14219
- const _hoisted_2$i = ["title"];
14220
- const _hoisted_3$4 = ["title"];
14221
- function _sfc_render$1Q(_ctx, _cache, $props, $setup, $data, $options) {
14222
- const _component_Render = vue.resolveComponent("Render");
14223
- const _component_X = vue.resolveComponent("X");
14224
- const _component_UIcon = vue.resolveComponent("UIcon");
14225
- const _component_UPopover = vue.resolveComponent("UPopover");
14226
- const _component_SelectInput = vue.resolveComponent("SelectInput");
14227
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
14228
- vue.createCommentVNode(' <transition-group :appear="motionAppear" :name="tagTransitionName"> '),
14229
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.displayValues, (item) => {
14230
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
14231
- key: item.key
14232
- }, [
14233
- _ctx.isNotRender ? (vue.openBlock(), vue.createElementBlock("span", {
14234
- key: 0,
14235
- class: vue.normalizeClass({
14236
- [`${item.class}`]: item.class,
14237
- [`${_ctx.prefixCls}-selection-item`]: true,
14238
- [`${_ctx.prefixCls}-selection-item-disabled`]: item.disabled
14239
- })
14240
- }, [
14241
- item.key === _ctx.REST_TAG_KEY || _ctx.isShowTagTooltip ? (vue.openBlock(), vue.createBlock(_component_UPopover, vue.mergeProps({
14242
- key: 0,
14243
- disabled: !_ctx.maxTagTooltip,
14244
- trigger: "hover",
14245
- "dropdown-class": `${_ctx.prefixCls}-dropdown-tooltip`,
14246
- "show-arrow": true,
14247
- placement: "top",
14248
- ref_for: true
14249
- }, _ctx.popoverProps), {
14250
- content: vue.withCtx(() => [
14251
- vue.createElementVNode("div", {
14252
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-tooltip`),
14253
- style: vue.normalizeStyle({ maxWidth: `${_ctx.maxTagTooltipWidth}px` })
14254
- }, [
14255
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.values, (tipItem) => {
14256
- return vue.openBlock(), vue.createElementBlock("span", {
14257
- key: tipItem.key,
14258
- class: vue.normalizeClass({
14259
- [`${_ctx.prefixCls}-selection-item`]: true
14260
- })
14261
- }, [
14262
- vue.createElementVNode("span", {
14263
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-item-content`),
14264
- title: tipItem.title
14265
- }, [
14266
- vue.createVNode(_component_Render, {
14267
- render: _ctx.getRender(tipItem.displayLabel)
14268
- }, null, 8, ["render"])
14269
- ], 10, _hoisted_2$i),
14270
- _ctx.closable(tipItem) ? (vue.openBlock(), vue.createBlock(_component_UIcon, {
14271
- key: 0,
14272
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-item-remove`),
14273
- onMousedown: _cache[0] || (_cache[0] = vue.withModifiers(() => {
14274
- }, ["stop", "prevent"])),
14275
- onClick: (e) => _ctx.onClose(tipItem.value, e)
14276
- }, {
14277
- default: vue.withCtx(() => [
14278
- vue.createVNode(_component_X)
14279
- ]),
14280
- _: 2
14281
- }, 1032, ["class", "onClick"])) : vue.createCommentVNode("v-if", true)
14282
- ], 2);
14283
- }), 128))
14284
- ], 6)
14285
- ]),
14286
- default: vue.withCtx(() => [
14287
- vue.createElementVNode("span", {
14288
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-item-content`),
14289
- title: item.title
14290
- }, [
14291
- vue.createVNode(_component_Render, {
14292
- render: _ctx.getRender(item.displayLabel)
14293
- }, null, 8, ["render"])
14294
- ], 10, _hoisted_1$L)
14295
- ]),
14296
- _: 2
14297
- }, 1040, ["disabled", "dropdown-class"])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
14298
- vue.createElementVNode("span", {
14299
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-item-content`),
14300
- title: item.title
14301
- }, [
14302
- vue.createCommentVNode(" {{ item.displayLabel }} "),
14303
- vue.createVNode(_component_Render, {
14304
- render: _ctx.getRender(item.displayLabel)
14305
- }, null, 8, ["render"])
14306
- ], 10, _hoisted_3$4),
14307
- _ctx.closable(item) ? (vue.openBlock(), vue.createBlock(_component_UIcon, {
14308
- key: 0,
14309
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-item-remove`),
14310
- onMousedown: _cache[1] || (_cache[1] = vue.withModifiers(() => {
14311
- }, ["stop", "prevent"])),
14312
- onClick: (e) => _ctx.onClose(item.value, e)
14313
- }, {
14314
- default: vue.withCtx(() => [
14315
- _ctx.removeIcon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.removeIcon), { key: 0 })) : (vue.openBlock(), vue.createBlock(_component_X, { key: 1 }))
14316
- ]),
14317
- _: 2
14318
- }, 1032, ["class", "onClick"])) : vue.createCommentVNode("v-if", true)
14319
- ], 64))
14320
- ], 2)) : (vue.openBlock(), vue.createElementBlock("span", {
14321
- key: 1,
14322
- class: vue.normalizeClass(item.class),
14323
- onMousedown: _cache[2] || (_cache[2] = vue.withModifiers(() => {
14324
- }, ["stop", "prevent"]))
14325
- }, [
14326
- vue.createVNode(_component_Render, {
14327
- render: () => {
14328
- var _a;
14329
- return (_a = _ctx.tagRender) == null ? void 0 : _a.call(_ctx, {
14330
- ...item,
14331
- closable: _ctx.closable(item),
14332
- onClose: (e) => {
14333
- _ctx.onClose(item.value, e);
14334
- }
14335
- });
14336
- }
14337
- }, null, 8, ["render"])
14338
- ], 34))
14339
- ], 64);
14340
- }), 128)),
14341
- vue.createCommentVNode(" </transition-group> "),
14342
- vue.createElementVNode("span", {
14343
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-search`),
14344
- style: vue.normalizeStyle({ width: `${_ctx.inputWidth}px` })
14345
- }, [
14346
- vue.createVNode(_component_SelectInput, {
14347
- "input-ref": _ctx.inputRef,
14348
- "prefix-cls": _ctx.prefixCls,
14349
- autocomplete: "off",
14350
- disabled: _ctx.disabled,
14351
- editable: _ctx.inputEditable,
14352
- value: _ctx.inputValue,
14353
- onMousedown: _ctx.onInputMouseDown,
14354
- onChange: _ctx.onInputChange,
14355
- onKeydown: _ctx.onInputKeydown,
14356
- onCompositionstart: _ctx.onInputCompositionStart,
14357
- onCompositionend: _ctx.onInputCompositionEnd,
14358
- onPaste: _ctx.onInputPaste
14359
- }, null, 8, ["input-ref", "prefix-cls", "disabled", "editable", "value", "onMousedown", "onChange", "onKeydown", "onCompositionstart", "onCompositionend", "onPaste"]),
14360
- vue.createElementVNode("span", {
14361
- ref: "measureRef",
14362
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-search-mirror`),
14363
- "aria-hidden": ""
14364
- }, vue.toDisplayString(_ctx.inputValue) + "\xA0 ", 3)
14365
- ], 6),
14366
- vue.withDirectives(vue.createElementVNode("div", {
14367
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection-placeholder`)
14368
- }, [
14369
- vue.renderSlot(_ctx.$slots, "placeholder")
14370
- ], 2), [
14371
- [vue.vShow, _ctx.showPlaceholder]
14372
- ])
14373
- ], 64);
14236
+ function _isSlot$3(s) {
14237
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
14374
14238
  }
14375
- var Multiple = /* @__PURE__ */ _export_sfc(_sfc_main$1S, [["render", _sfc_render$1Q], ["__file", "Multiple.vue"]]);
14239
+ const defaultMaxTagPlaceholder = (ommittedValus) => `+ ${ommittedValus.length}...`;
14240
+ const multipleBaseProps = {
14241
+ prefixCls: {
14242
+ type: String
14243
+ },
14244
+ values: {
14245
+ type: Array,
14246
+ default: () => []
14247
+ },
14248
+ searchValue: {
14249
+ type: String
14250
+ },
14251
+ filterable: {
14252
+ type: Boolean,
14253
+ default: false
14254
+ },
14255
+ disabled: {
14256
+ type: Boolean,
14257
+ default: void 0
14258
+ },
14259
+ open: {
14260
+ type: Boolean,
14261
+ default: void 0
14262
+ },
14263
+ inputRef: {
14264
+ type: Function
14265
+ },
14266
+ tagTransitionName: {
14267
+ type: String
14268
+ },
14269
+ maxTagCount: {
14270
+ type: Number
14271
+ },
14272
+ maxTagTextLength: {
14273
+ type: [Number, String]
14274
+ },
14275
+ maxTagPlaceholder: {
14276
+ type: Function,
14277
+ default: defaultMaxTagPlaceholder
14278
+ },
14279
+ maxTagTooltip: {
14280
+ type: Boolean,
14281
+ default: false
14282
+ },
14283
+ maxTagTooltipWidth: {
14284
+ type: Number,
14285
+ default: 99900
14286
+ },
14287
+ tagRender: {
14288
+ type: Function
14289
+ },
14290
+ removeIcon: {
14291
+ type: [String, Object]
14292
+ },
14293
+ isShowTagTooltip: {
14294
+ type: Boolean,
14295
+ default: false
14296
+ },
14297
+ popoverProps: {
14298
+ type: Object,
14299
+ default: () => ({})
14300
+ },
14301
+ itemWidth: {
14302
+ type: Number,
14303
+ default: 10
14304
+ },
14305
+ containerWrapperWidth: {
14306
+ type: [Number, null],
14307
+ default: null
14308
+ },
14309
+ enableOverflow: {
14310
+ type: Boolean,
14311
+ default: false
14312
+ }
14313
+ };
14314
+ const multipleBaseEmits = ["select", "input-mousedown", "input-change", "input-keydown", "input-compositionstart", "input-compositionend", "input-paste"];
14315
+ function renderSelectionItem(item, props, {
14316
+ prefixCls,
14317
+ isNotRender,
14318
+ closable,
14319
+ onClose,
14320
+ values
14321
+ }) {
14322
+ const {
14323
+ tagRender,
14324
+ removeIcon,
14325
+ maxTagTooltip,
14326
+ maxTagTooltipWidth,
14327
+ popoverProps,
14328
+ isShowTagTooltip
14329
+ } = props;
14330
+ if (isNotRender) {
14331
+ const content = vue.createVNode("span", {
14332
+ "class": {
14333
+ [`${item.class}`]: item.class,
14334
+ [`${prefixCls}-selection-item`]: true,
14335
+ [`${prefixCls}-selection-item-disabled`]: item.disabled
14336
+ }
14337
+ }, [item.key === REST_TAG_KEY || isShowTagTooltip ? vue.createVNode(UPopover, vue.mergeProps({
14338
+ "disabled": !maxTagTooltip,
14339
+ "trigger": "hover",
14340
+ "dropdown-class": `${prefixCls}-dropdown-tooltip`,
14341
+ "show-arrow": true,
14342
+ "placement": "top"
14343
+ }, popoverProps), {
14344
+ default: () => vue.createVNode("span", {
14345
+ "class": `${prefixCls}-selection-item-content`,
14346
+ "title": item.title
14347
+ }, [getRender(item.displayLabel)()]),
14348
+ content: () => vue.createVNode("div", {
14349
+ "class": `${prefixCls}-selection-tooltip`,
14350
+ "style": {
14351
+ maxWidth: `${maxTagTooltipWidth}px`
14352
+ }
14353
+ }, [values.map((tipItem) => vue.createVNode("span", {
14354
+ "key": tipItem.key,
14355
+ "class": {
14356
+ [`${prefixCls}-selection-item`]: true
14357
+ }
14358
+ }, [vue.createVNode("span", {
14359
+ "class": `${prefixCls}-selection-item-content`,
14360
+ "title": tipItem.title
14361
+ }, [getRender(tipItem.displayLabel)()]), closable(tipItem) && vue.createVNode(UIcon, vue.mergeProps({
14362
+ "class": `${prefixCls}-selection-item-remove`
14363
+ }, {
14364
+ onMousedown: (e) => {
14365
+ e.stopPropagation();
14366
+ e.preventDefault();
14367
+ }
14368
+ }, {
14369
+ "onClick": (e) => onClose(tipItem.value, e)
14370
+ }), {
14371
+ default: () => [vue.createVNode(lucideVueNext.X, null, null)]
14372
+ })]))])
14373
+ }) : vue.createVNode(vue.Fragment, null, [vue.createVNode("span", {
14374
+ "class": `${prefixCls}-selection-item-content`,
14375
+ "title": item.title
14376
+ }, [getRender(item.displayLabel)()]), closable(item) && vue.createVNode(UIcon, vue.mergeProps({
14377
+ "class": `${prefixCls}-selection-item-remove`
14378
+ }, {
14379
+ onMousedown: (e) => {
14380
+ e.stopPropagation();
14381
+ e.preventDefault();
14382
+ }
14383
+ }, {
14384
+ "onClick": (e) => onClose(item.value, e)
14385
+ }), {
14386
+ default: () => [removeIcon ? vue.createVNode(vue.resolveComponent("component"), {
14387
+ "is": removeIcon
14388
+ }, null) : vue.createVNode(lucideVueNext.X, null, null)]
14389
+ })])]);
14390
+ return content;
14391
+ }
14392
+ return vue.createVNode("span", {
14393
+ "class": item.class,
14394
+ "onMousedown": (e) => {
14395
+ e.stopPropagation();
14396
+ e.preventDefault();
14397
+ }
14398
+ }, [tagRender == null ? void 0 : tagRender({
14399
+ ...item,
14400
+ closable: closable(item),
14401
+ onClose: (e) => {
14402
+ onClose(item.value, e);
14403
+ }
14404
+ })]);
14405
+ }
14406
+ function renderSearchInput(props, {
14407
+ prefixCls,
14408
+ inputRef,
14409
+ disabled,
14410
+ inputEditable,
14411
+ inputValue,
14412
+ inputWidth,
14413
+ measureRef,
14414
+ onInputMouseDown,
14415
+ onInputChange,
14416
+ onInputKeydown,
14417
+ onInputCompositionStart,
14418
+ onInputCompositionEnd,
14419
+ onInputPaste
14420
+ }) {
14421
+ return vue.createVNode("span", {
14422
+ "class": `${prefixCls}-selection-search`,
14423
+ "style": {
14424
+ width: `${inputWidth}px`
14425
+ }
14426
+ }, [vue.createVNode(SelectInput, {
14427
+ "input-ref": inputRef,
14428
+ "prefix-cls": prefixCls,
14429
+ "autocomplete": "off",
14430
+ "disabled": disabled,
14431
+ "editable": inputEditable,
14432
+ "value": inputValue,
14433
+ "onMousedown": onInputMouseDown,
14434
+ "onChange": onInputChange,
14435
+ "onKeydown": onInputKeydown,
14436
+ "onCompositionstart": onInputCompositionStart,
14437
+ "onCompositionend": onInputCompositionEnd,
14438
+ "onPaste": onInputPaste
14439
+ }, null), vue.createVNode("span", {
14440
+ "ref": measureRef,
14441
+ "class": `${prefixCls}-selection-search-mirror`,
14442
+ "aria-hidden": true
14443
+ }, [inputValue, vue.createTextVNode("\xA0")])]);
14444
+ }
14445
+ function renderPlaceholder(showPlaceholder, prefixCls, slots) {
14446
+ var _a;
14447
+ return showPlaceholder ? vue.createVNode("div", {
14448
+ "class": `${prefixCls}-selection-placeholder`
14449
+ }, [(_a = slots.placeholder) == null ? void 0 : _a.call(slots)]) : null;
14450
+ }
14451
+ var MultipleBase = vue.defineComponent({
14452
+ name: "MultipleBase",
14453
+ props: multipleBaseProps,
14454
+ emits: multipleBaseEmits,
14455
+ setup(props, {
14456
+ emit,
14457
+ slots
14458
+ }) {
14459
+ const baseState = useMultipleBase(props, emit);
14460
+ return () => {
14461
+ let _slot;
14462
+ const {
14463
+ displayValues,
14464
+ isNotRender,
14465
+ closable,
14466
+ onClose,
14467
+ inputValue,
14468
+ inputWidth,
14469
+ measureRef,
14470
+ showPlaceholder,
14471
+ onInputMouseDown,
14472
+ onInputChange,
14473
+ onInputKeydown,
14474
+ onInputCompositionStart,
14475
+ onInputCompositionEnd,
14476
+ onInputPaste,
14477
+ onOverflowItemResize,
14478
+ onSuffixResize,
14479
+ displayRest
14480
+ } = baseState;
14481
+ return vue.createVNode(vue.Fragment, null, [displayValues.value.map((item, index) => {
14482
+ const content = renderSelectionItem(item, props, {
14483
+ prefixCls: props.prefixCls,
14484
+ isNotRender: isNotRender.value,
14485
+ displayRest: displayRest.value,
14486
+ closable,
14487
+ onClose,
14488
+ values: props.values
14489
+ });
14490
+ return props.enableOverflow ? vue.createVNode(ResizeObserver$1, {
14491
+ "key": item.key,
14492
+ "onResize": (e) => onOverflowItemResize(e, item)
14493
+ }, {
14494
+ default: () => [vue.createVNode("div", {
14495
+ "class": `${props.prefixCls}-selection-item-wrapper`,
14496
+ "style": {
14497
+ opacity: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? 0 : 1,
14498
+ height: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? 0 : void 0,
14499
+ overflowY: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? "hidden" : void 0,
14500
+ pointerEvents: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? "none" : void 0,
14501
+ position: index > baseState.mergedDisplayCount.value && item.key !== REST_TAG_KEY || !displayRest.value && item.key === REST_TAG_KEY ? "absolute" : void 0
14502
+ }
14503
+ }, [content])]
14504
+ }) : content;
14505
+ }), props.enableOverflow ? vue.createVNode(ResizeObserver$1, {
14506
+ "onResize": onSuffixResize
14507
+ }, _isSlot$3(_slot = renderSearchInput(props, {
14508
+ prefixCls: props.prefixCls,
14509
+ inputRef: props.inputRef,
14510
+ disabled: props.disabled,
14511
+ inputEditable: baseState.inputEditable.value,
14512
+ inputValue: inputValue.value,
14513
+ inputWidth,
14514
+ measureRef,
14515
+ onInputMouseDown,
14516
+ onInputChange,
14517
+ onInputKeydown,
14518
+ onInputCompositionStart,
14519
+ onInputCompositionEnd,
14520
+ onInputPaste
14521
+ })) ? _slot : {
14522
+ default: () => [_slot]
14523
+ }) : renderSearchInput(props, {
14524
+ prefixCls: props.prefixCls,
14525
+ inputRef: props.inputRef,
14526
+ disabled: props.disabled,
14527
+ inputEditable: baseState.inputEditable.value,
14528
+ inputValue: inputValue.value,
14529
+ inputWidth,
14530
+ measureRef,
14531
+ onInputMouseDown,
14532
+ onInputChange,
14533
+ onInputKeydown,
14534
+ onInputCompositionStart,
14535
+ onInputCompositionEnd,
14536
+ onInputPaste
14537
+ }), renderPlaceholder(showPlaceholder.value, props.prefixCls, slots)]);
14538
+ };
14539
+ }
14540
+ });
14376
14541
 
14542
+ const RESPONSIVE = "responsive";
14377
14543
  const _sfc_main$1R = vue.defineComponent({
14378
14544
  name: "Selection",
14379
14545
  components: {
14380
14546
  SingleSelection,
14381
- Multiple
14547
+ ResizeObserver: ResizeObserver$1,
14548
+ MultipleBase
14382
14549
  },
14383
14550
  props: {
14384
14551
  prefixCls: {
@@ -14427,7 +14594,7 @@
14427
14594
  type: Function
14428
14595
  },
14429
14596
  maxTagTextLength: {
14430
- type: Number
14597
+ type: [Number, String]
14431
14598
  },
14432
14599
  maxTagTooltip: {
14433
14600
  type: Boolean,
@@ -14463,10 +14630,17 @@
14463
14630
  setup(props, { emit }) {
14464
14631
  const inputRef = vue.ref(null);
14465
14632
  let compositionStatus = false;
14633
+ const isResponsive = vue.computed(() => {
14634
+ return props.maxTagTextLength === RESPONSIVE;
14635
+ });
14466
14636
  const [getInputMouseDown, setInputMouseDown] = useLock(0);
14467
14637
  const onInputMouseDown = () => {
14468
14638
  setInputMouseDown(true);
14469
14639
  };
14640
+ const containerWrapperWidth = vue.shallowRef(null);
14641
+ const onOverflowResize = ({ width }) => {
14642
+ containerWrapperWidth.value = width;
14643
+ };
14470
14644
  let pastedText = null;
14471
14645
  const onInputPaste = (e) => {
14472
14646
  const { clipboardData } = e;
@@ -14533,74 +14707,87 @@
14533
14707
  onInputKeydown,
14534
14708
  onInputCompositionStart,
14535
14709
  onInputCompositionEnd,
14536
- onInputPaste
14710
+ onInputPaste,
14711
+ onOverflowResize,
14712
+ containerWrapperWidth,
14713
+ isResponsive
14537
14714
  };
14538
14715
  }
14539
14716
  });
14540
14717
  function _sfc_render$1P(_ctx, _cache, $props, $setup, $data, $options) {
14541
14718
  const _component_SingleSelection = vue.resolveComponent("SingleSelection");
14542
- const _component_Multiple = vue.resolveComponent("Multiple");
14543
- return vue.openBlock(), vue.createElementBlock("div", {
14544
- class: vue.normalizeClass(`${_ctx.prefixCls}-selection`),
14545
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args)),
14546
- onMousedown: _cache[1] || (_cache[1] = (...args) => _ctx.onMousedown && _ctx.onMousedown(...args))
14547
- }, [
14548
- !_ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_SingleSelection, {
14549
- key: 0,
14550
- "prefix-cls": _ctx.prefixCls,
14551
- values: _ctx.values,
14552
- open: _ctx.open,
14553
- filterable: _ctx.filterable,
14554
- disabled: _ctx.disabled,
14555
- "input-ref": _ctx.getInputRef,
14556
- "search-value": _ctx.searchValue,
14557
- "allow-create": _ctx.allowCreate,
14558
- "title-key": _ctx.titleKey,
14559
- onInputMousedown: _ctx.onInputMouseDown,
14560
- onInputChange: _ctx.onInputChange,
14561
- onInputKeydown: _ctx.onInputKeydown,
14562
- onInputCompositionstart: _ctx.onInputCompositionStart,
14563
- onInputCompositionend: _ctx.onInputCompositionEnd,
14564
- onInputPaste: _ctx.onInputPaste
14565
- }, {
14566
- placeholder: vue.withCtx(() => [
14567
- vue.renderSlot(_ctx.$slots, "placeholder")
14568
- ]),
14569
- _: 3
14570
- }, 8, ["prefix-cls", "values", "open", "filterable", "disabled", "input-ref", "search-value", "allow-create", "title-key", "onInputMousedown", "onInputChange", "onInputKeydown", "onInputCompositionstart", "onInputCompositionend", "onInputPaste"])) : _ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_Multiple, {
14571
- key: 1,
14572
- "prefix-cls": _ctx.prefixCls,
14573
- values: _ctx.values,
14574
- open: _ctx.open,
14575
- filterable: _ctx.filterable,
14576
- disabled: _ctx.disabled,
14577
- "input-ref": _ctx.getInputRef,
14578
- "search-value": _ctx.searchValue,
14579
- "max-tag-count": _ctx.maxTagCount,
14580
- "max-tag-text-length": _ctx.maxTagTextLength,
14581
- "max-tag-placeholder": _ctx.maxTagPlaceholder,
14582
- "max-tag-tooltip": _ctx.maxTagTooltip,
14583
- "max-tag-tooltip-width": _ctx.maxTagTooltipWidth,
14584
- "is-show-tag-tooltip": _ctx.isShowTagTooltip,
14585
- "popover-props": _ctx.popoverProps,
14586
- "tag-render": _ctx.tagRender,
14587
- "tag-transition-name": _ctx.tagTransitionName,
14588
- "allow-create": _ctx.allowCreate,
14589
- "remove-icon": _ctx.removeIcon,
14590
- onSelect: _ctx.onSelectionSelect,
14591
- onInputMousedown: _ctx.onInputMouseDown,
14592
- onInputChange: _ctx.onInputChange,
14593
- onInputKeydown: _ctx.onInputKeydown,
14594
- onInputCompositionstart: _ctx.onInputCompositionStart,
14595
- onInputCompositionend: _ctx.onInputCompositionEnd,
14596
- onInputPaste: _ctx.onInputPaste
14597
- }, {
14598
- placeholder: vue.withCtx(() => [
14599
- vue.renderSlot(_ctx.$slots, "placeholder")
14600
- ]),
14601
- _: 3
14602
- }, 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"])) : vue.createCommentVNode("v-if", true)
14603
- ], 34);
14719
+ const _component_MultipleBase = vue.resolveComponent("MultipleBase");
14720
+ const _component_ResizeObserver = vue.resolveComponent("ResizeObserver");
14721
+ return vue.openBlock(), vue.createBlock(_component_ResizeObserver, { onResize: _ctx.onOverflowResize }, {
14722
+ default: vue.withCtx(() => [
14723
+ vue.createElementVNode("div", {
14724
+ class: vue.normalizeClass({
14725
+ [`${_ctx.prefixCls}-selection`]: true,
14726
+ [`${_ctx.prefixCls}-selection-overflow`]: _ctx.multiple && _ctx.isResponsive
14727
+ }),
14728
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args)),
14729
+ onMousedown: _cache[1] || (_cache[1] = (...args) => _ctx.onMousedown && _ctx.onMousedown(...args))
14730
+ }, [
14731
+ !_ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_SingleSelection, {
14732
+ key: 0,
14733
+ "prefix-cls": _ctx.prefixCls,
14734
+ values: _ctx.values,
14735
+ open: _ctx.open,
14736
+ filterable: _ctx.filterable,
14737
+ disabled: _ctx.disabled,
14738
+ "input-ref": _ctx.getInputRef,
14739
+ "search-value": _ctx.searchValue,
14740
+ "allow-create": _ctx.allowCreate,
14741
+ "title-key": _ctx.titleKey,
14742
+ onInputMousedown: _ctx.onInputMouseDown,
14743
+ onInputChange: _ctx.onInputChange,
14744
+ onInputKeydown: _ctx.onInputKeydown,
14745
+ onInputCompositionstart: _ctx.onInputCompositionStart,
14746
+ onInputCompositionend: _ctx.onInputCompositionEnd,
14747
+ onInputPaste: _ctx.onInputPaste
14748
+ }, {
14749
+ placeholder: vue.withCtx(() => [
14750
+ vue.renderSlot(_ctx.$slots, "placeholder")
14751
+ ]),
14752
+ _: 3
14753
+ }, 8, ["prefix-cls", "values", "open", "filterable", "disabled", "input-ref", "search-value", "allow-create", "title-key", "onInputMousedown", "onInputChange", "onInputKeydown", "onInputCompositionstart", "onInputCompositionend", "onInputPaste"])) : (vue.openBlock(), vue.createBlock(_component_MultipleBase, {
14754
+ key: 1,
14755
+ "prefix-cls": _ctx.prefixCls,
14756
+ values: _ctx.values,
14757
+ open: _ctx.open,
14758
+ "enable-overflow": _ctx.isResponsive,
14759
+ filterable: _ctx.filterable,
14760
+ disabled: _ctx.disabled,
14761
+ "input-ref": _ctx.getInputRef,
14762
+ "search-value": _ctx.searchValue,
14763
+ "max-tag-count": _ctx.maxTagCount,
14764
+ "max-tag-text-length": _ctx.maxTagTextLength,
14765
+ "max-tag-placeholder": _ctx.maxTagPlaceholder,
14766
+ "max-tag-tooltip": _ctx.maxTagTooltip,
14767
+ "max-tag-tooltip-width": _ctx.maxTagTooltipWidth,
14768
+ "is-show-tag-tooltip": _ctx.isShowTagTooltip,
14769
+ "popover-props": _ctx.popoverProps,
14770
+ "tag-render": _ctx.tagRender,
14771
+ "tag-transition-name": _ctx.tagTransitionName,
14772
+ "remove-icon": _ctx.removeIcon,
14773
+ "container-wrapper-width": _ctx.containerWrapperWidth,
14774
+ onSelect: _ctx.onSelectionSelect,
14775
+ onInputMousedown: _ctx.onInputMouseDown,
14776
+ onInputChange: _ctx.onInputChange,
14777
+ onInputKeydown: _ctx.onInputKeydown,
14778
+ onInputCompositionstart: _ctx.onInputCompositionStart,
14779
+ onInputCompositionend: _ctx.onInputCompositionEnd,
14780
+ onInputPaste: _ctx.onInputPaste
14781
+ }, {
14782
+ placeholder: vue.withCtx(() => [
14783
+ vue.renderSlot(_ctx.$slots, "placeholder")
14784
+ ]),
14785
+ _: 3
14786
+ }, 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"]))
14787
+ ], 34)
14788
+ ]),
14789
+ _: 3
14790
+ }, 8, ["onResize"]);
14604
14791
  }
14605
14792
  var Selection = /* @__PURE__ */ _export_sfc(_sfc_main$1R, [["render", _sfc_render$1P], ["__file", "Selection.vue"]]);
14606
14793