@touchvue/ui 1.0.0-beta.54 → 1.0.0-beta.56

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 (111) hide show
  1. package/es/components/input/src/input.vue.d.ts +2 -2
  2. package/es/components/pic/index.d.ts +9 -0
  3. package/es/components/pic/src/Pic.vue.d.ts +9 -0
  4. package/es/components/pic/src/pic.d.ts +7 -0
  5. package/es/components/rate/src/rate.vue.d.ts +46 -10
  6. package/es/components/scroll/index.d.ts +15 -0
  7. package/es/components/scroll/src/Scroll.vue.d.ts +9 -0
  8. package/es/components/scroll/src/scroll.d.ts +7 -0
  9. package/es/components/select/src/select.d.ts +18 -0
  10. package/es/components/select/src/select.vue.d.ts +18 -0
  11. package/es/components/table/src/table-head.vue.d.ts +2 -0
  12. package/es/components/tip/src/tip.vue.d.ts +2 -2
  13. package/es/components/upload/src/upload.vue.d.ts +6 -4
  14. package/es/index.d.mjs.map +1 -1
  15. package/es/index.mjs +2 -1
  16. package/es/index.mjs.map +1 -1
  17. package/es/packages/components/calendar/src/calendar.vue2.mjs +22 -0
  18. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  19. package/es/packages/components/cascader/src/cascader-item.vue2.mjs +1 -0
  20. package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
  21. package/es/packages/components/cascader/src/cascader.vue2.mjs +1 -0
  22. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  23. package/es/packages/components/float/src/Float.vue2.mjs +4 -4
  24. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  25. package/es/packages/components/pic/src/Pic.vue2.mjs +18 -2
  26. package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
  27. package/es/packages/components/pic/src/pic.mjs +7 -0
  28. package/es/packages/components/pic/src/pic.mjs.map +1 -1
  29. package/es/packages/components/rate/src/rate.vue2.mjs +153 -85
  30. package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
  31. package/es/packages/components/scroll/src/Scroll.vue2.mjs +3 -0
  32. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  33. package/es/packages/components/scroll/src/scroll.mjs +7 -0
  34. package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
  35. package/es/packages/components/segment/src/segment.vue.mjs +10 -12
  36. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  37. package/es/packages/components/select/src/select.mjs +18 -0
  38. package/es/packages/components/select/src/select.mjs.map +1 -1
  39. package/es/packages/components/select/src/select.vue2.mjs +263 -87
  40. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  41. package/es/packages/components/table/src/table-head.vue2.mjs +101 -45
  42. package/es/packages/components/table/src/table-head.vue2.mjs.map +1 -1
  43. package/es/packages/components/table/src/table.vue2.mjs +244 -62
  44. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  45. package/es/packages/components/tree/src/tree-item.vue2.mjs +2 -1
  46. package/es/packages/components/tree/src/tree-item.vue2.mjs.map +1 -1
  47. package/es/packages/components/upload/src/upload.vue2.mjs +203 -153
  48. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  49. package/es/packages/directives/tip/src/tip.mjs +42 -27
  50. package/es/packages/directives/tip/src/tip.mjs.map +1 -1
  51. package/es/packages/locale/format.mjs +1 -1
  52. package/es/packages/locale/format.mjs.map +1 -1
  53. package/es/ui/index.d.ts +6 -0
  54. package/lib/components/input/src/input.vue.d.ts +2 -2
  55. package/lib/components/pic/index.d.ts +9 -0
  56. package/lib/components/pic/src/Pic.vue.d.ts +9 -0
  57. package/lib/components/pic/src/pic.d.ts +7 -0
  58. package/lib/components/rate/src/rate.vue.d.ts +46 -10
  59. package/lib/components/scroll/index.d.ts +15 -0
  60. package/lib/components/scroll/src/Scroll.vue.d.ts +9 -0
  61. package/lib/components/scroll/src/scroll.d.ts +7 -0
  62. package/lib/components/select/src/select.d.ts +18 -0
  63. package/lib/components/select/src/select.vue.d.ts +18 -0
  64. package/lib/components/table/src/table-head.vue.d.ts +2 -0
  65. package/lib/components/tip/src/tip.vue.d.ts +2 -2
  66. package/lib/components/upload/src/upload.vue.d.ts +6 -4
  67. package/lib/index.d.js.map +1 -1
  68. package/lib/index.js +2 -1
  69. package/lib/index.js.map +1 -1
  70. package/lib/packages/components/calendar/src/calendar.vue2.js +22 -0
  71. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  72. package/lib/packages/components/cascader/src/cascader-item.vue2.js +1 -0
  73. package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
  74. package/lib/packages/components/cascader/src/cascader.vue2.js +1 -0
  75. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  76. package/lib/packages/components/float/src/Float.vue2.js +4 -4
  77. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  78. package/lib/packages/components/pic/src/Pic.vue2.js +17 -1
  79. package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
  80. package/lib/packages/components/pic/src/pic.js +7 -0
  81. package/lib/packages/components/pic/src/pic.js.map +1 -1
  82. package/lib/packages/components/rate/src/rate.vue2.js +152 -84
  83. package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
  84. package/lib/packages/components/scroll/src/Scroll.vue2.js +3 -0
  85. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  86. package/lib/packages/components/scroll/src/scroll.js +7 -0
  87. package/lib/packages/components/scroll/src/scroll.js.map +1 -1
  88. package/lib/packages/components/segment/src/segment.vue.js +10 -12
  89. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  90. package/lib/packages/components/select/src/select.js +18 -0
  91. package/lib/packages/components/select/src/select.js.map +1 -1
  92. package/lib/packages/components/select/src/select.vue2.js +262 -86
  93. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  94. package/lib/packages/components/table/src/table-head.vue2.js +100 -44
  95. package/lib/packages/components/table/src/table-head.vue2.js.map +1 -1
  96. package/lib/packages/components/table/src/table.vue2.js +243 -61
  97. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  98. package/lib/packages/components/tree/src/tree-item.vue2.js +2 -1
  99. package/lib/packages/components/tree/src/tree-item.vue2.js.map +1 -1
  100. package/lib/packages/components/upload/src/upload.vue2.js +202 -152
  101. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  102. package/lib/packages/directives/tip/src/tip.js +41 -26
  103. package/lib/packages/directives/tip/src/tip.js.map +1 -1
  104. package/lib/packages/locale/format.js +1 -1
  105. package/lib/packages/locale/format.js.map +1 -1
  106. package/lib/ui/index.d.ts +6 -0
  107. package/package.json +1 -1
  108. package/theme/base.css +0 -3
  109. package/theme/components/index.css +445 -255
  110. package/theme/index.css +445 -255
  111. package/theme/skin/default.css +445 -255
@@ -43,8 +43,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
43
43
  vue.onMounted(() => {
44
44
  calcScale();
45
45
  window.addEventListener("resize", calcScale);
46
+ vue.nextTick(() => setupTagResizeObserver());
46
47
  vue.onUnmounted(() => {
47
48
  window.removeEventListener("resize", calcScale);
49
+ if (tagResizeObserver) {
50
+ tagResizeObserver.disconnect();
51
+ tagResizeObserver = null;
52
+ }
48
53
  });
49
54
  });
50
55
  const props = __props;
@@ -54,6 +59,28 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
54
59
  const $TouchUI = vue.inject("$TouchUI", {
55
60
  colors: ["primary", "success", "warning", "danger", "info", "default", "dark"]
56
61
  });
62
+ const ins = vue.getCurrentInstance();
63
+ const iClearType = vue.computed(() => {
64
+ var _a, _b, _c;
65
+ if (props.clearType) {
66
+ return props.clearType;
67
+ }
68
+ return (_c = (_b = (_a = ins == null ? void 0 : ins.appContext.config.globalProperties.$TouchUI) == null ? void 0 : _a.select) == null ? void 0 : _b.clearType) != null ? _c : "icon";
69
+ });
70
+ const showClearIcon = vue.computed(() => {
71
+ var _a;
72
+ if (!props.clearable || disabled.value || props.native)
73
+ return false;
74
+ if (iClearType.value !== "icon")
75
+ return false;
76
+ if (props.inputable || props.filterable || props.setDataFn || props.remoteMethod)
77
+ return false;
78
+ if (props.multiple) {
79
+ return selected.value.filter((item) => !item.hide).length > 0;
80
+ } else {
81
+ return Boolean((_a = selected.value) == null ? void 0 : _a[iValueText.value]);
82
+ }
83
+ });
57
84
  const { isPhone } = useDevice.useDevice();
58
85
  const $phone = isPhone.value;
59
86
  const iValue = vue.ref(props.modelValue);
@@ -70,6 +97,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
70
97
  const multipleInputValue = vue.ref("");
71
98
  const multipleFilterValue = vue.ref("");
72
99
  const setDataInputValue = vue.ref("");
100
+ const isFiltering = vue.ref(false);
73
101
  const dataLoading = vue.ref(false);
74
102
  const errorTip = vue.ref("");
75
103
  const errorType = vue.ref("rule");
@@ -90,6 +118,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
90
118
  const popupFilter = vue.ref(null);
91
119
  const popupInput = vue.ref(null);
92
120
  const trigger = vue.ref(null);
121
+ const tagContainerRef = vue.ref(null);
93
122
  const options = vue.ref([]);
94
123
  const anotherOptions = vue.ref([]);
95
124
  const { selected } = useSelectOptionData.useSelectOptionData({
@@ -100,6 +129,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
100
129
  return true;
101
130
  if (props.remoteMethod)
102
131
  return true;
132
+ if (!isFiltering.value)
133
+ return true;
103
134
  const value = filterValue.value;
104
135
  if (value === "")
105
136
  return true;
@@ -110,12 +141,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
110
141
  return true;
111
142
  if (props.remoteMethod)
112
143
  return true;
144
+ if (!isFiltering.value)
145
+ return true;
113
146
  const value = multipleFilterValue.value;
114
147
  if (value === "")
115
148
  return true;
116
149
  return item[iLabelText.value].includes(value);
117
150
  };
118
151
  const nomatch = vue.computed(() => {
152
+ if (!isFiltering.value)
153
+ return false;
119
154
  let nomatch2 = true;
120
155
  let value = props.multiple ? multipleFilterValue.value : filterValue.value;
121
156
  if (value === "") {
@@ -285,7 +320,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
285
320
  if (props.native) {
286
321
  return;
287
322
  }
288
- if (!props.multiple && props.clearable && !props.inputable && !props.setDataFn && !props.filterable && !props.remoteMethod && (!props.optionDisplay || props.optionDisplay === "float")) {
323
+ if (!props.multiple && props.clearable && iClearType.value === "default" && !props.inputable && !props.setDataFn && !props.filterable && !props.remoteMethod && (!props.optionDisplay || props.optionDisplay === "float")) {
289
324
  options.value.unshift({
290
325
  [iLabelText.value]: "",
291
326
  [iValueText.value]: ""
@@ -528,6 +563,82 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
528
563
  }
529
564
  return arr;
530
565
  });
566
+ const visibleCount = vue.ref(Infinity);
567
+ let isRecalculating = false;
568
+ let tagResizeObserver = null;
569
+ const displaySelected = vue.computed(() => {
570
+ return selected.value.filter((item) => !item.hide);
571
+ });
572
+ const overflowCount = vue.computed(() => {
573
+ if (!props.isCount)
574
+ return 0;
575
+ const max = visibleCount.value;
576
+ if (max >= displaySelected.value.length)
577
+ return 0;
578
+ return displaySelected.value.length - max;
579
+ });
580
+ const recalcVisibleCount = () => {
581
+ if (!props.isCount || isRecalculating || !tagContainerRef.value)
582
+ return;
583
+ isRecalculating = true;
584
+ visibleCount.value = Infinity;
585
+ vue.nextTick(() => {
586
+ const container = tagContainerRef.value;
587
+ if (!container) {
588
+ isRecalculating = false;
589
+ return;
590
+ }
591
+ const containerWidth = container.clientWidth;
592
+ const tags = container.querySelectorAll(".to-select-item");
593
+ if (tags.length === 0) {
594
+ isRecalculating = false;
595
+ return;
596
+ }
597
+ const style = getComputedStyle(container);
598
+ const fontSize = parseFloat(style.fontSize) || 16;
599
+ const gap = parseFloat(style.gap || style.rowGap) || 0;
600
+ const firstTagStyle = getComputedStyle(tags[0]);
601
+ const tagMarginLeft = parseFloat(firstTagStyle.marginLeft) || 0;
602
+ const tagMarginRight = parseFloat(firstTagStyle.marginRight) || 0;
603
+ const tagMargin = tagMarginLeft + tagMarginRight;
604
+ const overflowEstimate = 3 * fontSize + tagMargin + gap;
605
+ let reserved = overflowEstimate;
606
+ const inputEl = container.querySelector(".to-select-input");
607
+ if (inputEl) {
608
+ const inputStyle = getComputedStyle(inputEl);
609
+ const inputMargin = (parseFloat(inputStyle.marginLeft) || 0) + (parseFloat(inputStyle.marginRight) || 0);
610
+ reserved += inputEl.offsetWidth + inputMargin + gap;
611
+ }
612
+ let totalWidth = reserved;
613
+ let count = 0;
614
+ for (let i = 0; i < tags.length; i++) {
615
+ const w = tags[i].offsetWidth + tagMargin + gap;
616
+ if (totalWidth + w > containerWidth)
617
+ break;
618
+ totalWidth += w;
619
+ count++;
620
+ }
621
+ visibleCount.value = count > 0 ? count : 1;
622
+ vue.nextTick(() => {
623
+ isRecalculating = false;
624
+ });
625
+ });
626
+ };
627
+ const setupTagResizeObserver = () => {
628
+ if (props.isCount && props.multiple && tagContainerRef.value) {
629
+ if (!tagResizeObserver) {
630
+ tagResizeObserver = new ResizeObserver(() => recalcVisibleCount());
631
+ }
632
+ tagResizeObserver.observe(tagContainerRef.value);
633
+ recalcVisibleCount();
634
+ } else {
635
+ if (tagResizeObserver) {
636
+ tagResizeObserver.disconnect();
637
+ tagResizeObserver = null;
638
+ }
639
+ visibleCount.value = Infinity;
640
+ }
641
+ };
531
642
  const change = (value, option) => {
532
643
  if (props.beforeChange) {
533
644
  let result = props.beforeChange(value, option);
@@ -633,6 +744,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
633
744
  }
634
745
  };
635
746
  const filterInput = () => {
747
+ isFiltering.value = true;
636
748
  if (props.remoteMethod) {
637
749
  const keyword = props.multiple ? multipleFilterValue.value : filterValue.value;
638
750
  clearTimeout(remoteSearchTimer);
@@ -642,6 +754,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
642
754
  }
643
755
  };
644
756
  const filterClear = () => {
757
+ isFiltering.value = false;
645
758
  iValue.value = "";
646
759
  };
647
760
  const setDataLoading = (loading) => {
@@ -702,6 +815,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
702
815
  const clear = () => {
703
816
  clearChange();
704
817
  };
818
+ const clearClick = () => {
819
+ clear();
820
+ closeLayer();
821
+ };
705
822
  const clearChange = () => {
706
823
  if (props.multiple) {
707
824
  change("", []);
@@ -846,6 +963,21 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
846
963
  disabled.value = newVal;
847
964
  }
848
965
  );
966
+ vue.watch(
967
+ () => props.isCount,
968
+ () => {
969
+ vue.nextTick(() => setupTagResizeObserver());
970
+ }
971
+ );
972
+ vue.watch(
973
+ selected,
974
+ () => {
975
+ if (props.isCount) {
976
+ vue.nextTick(() => recalcVisibleCount());
977
+ }
978
+ },
979
+ { deep: true }
980
+ );
849
981
  const getLabel = (val) => {
850
982
  const obj = options.value.find((item) => String(item[iValueText.value]) === String(val));
851
983
  if (obj && obj[iLabelText.value]) {
@@ -930,6 +1062,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
930
1062
  }
931
1063
  };
932
1064
  const layerClose = () => {
1065
+ isFiltering.value = false;
933
1066
  if (!props.multiple) {
934
1067
  if ((props.filterable || props.remoteMethod) && !props.inputable) {
935
1068
  if (iValue.value) {
@@ -960,6 +1093,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
960
1093
  openOptionLayer();
961
1094
  };
962
1095
  const layerOpen = () => {
1096
+ isFiltering.value = false;
963
1097
  calcScale();
964
1098
  };
965
1099
  const compare = () => {
@@ -997,6 +1131,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
997
1131
  key: vue.unref(index.langKey),
998
1132
  ref_key: "$el",
999
1133
  ref: $el,
1134
+ role: "button",
1000
1135
  flex: _ctx.flex ? _ctx.flex : null,
1001
1136
  class: vue.normalizeClass(["to-select", vue.unref(setClass)]),
1002
1137
  style: vue.normalizeStyle(vue.unref(setStyle)),
@@ -1076,7 +1211,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
1076
1211
  ref: selector,
1077
1212
  "onUpdate:modelValue": ($event) => iValue.value = $event
1078
1213
  }, [
1079
- _ctx.clearable ? (vue.openBlock(), vue.createElementBlock(
1214
+ _ctx.clearable && iClearType.value === "default" ? (vue.openBlock(), vue.createElementBlock(
1080
1215
  "option",
1081
1216
  {
1082
1217
  key: 0,
@@ -1261,91 +1396,124 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
1261
1396
  { key: 2 },
1262
1397
  [
1263
1398
  vue.createCommentVNode(" \u591A\u9009\u6807\u7B7E\u5BB9\u5668 "),
1264
- vue.createElementVNode("span", { class: "to-select-tag" }, [
1265
- vue.createCommentVNode(" \u5DF2\u9009\u4E2D\u9879\u7684\u6807\u7B7E\u663E\u793A "),
1266
- vue.unref(selected).length > 0 && !(isAll.value && _ctx.useAllText) ? (vue.openBlock(true), vue.createElementBlock(
1267
- vue.Fragment,
1268
- { key: 0 },
1269
- vue.renderList(vue.unref(selected), (item, index) => {
1270
- return vue.openBlock(), vue.createElementBlock(
1271
- vue.Fragment,
1272
- null,
1273
- [
1274
- !item.hide ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ToTag), {
1275
- key: index,
1276
- class: "to-select-item",
1277
- removable: _ctx.removable && !disabled.value,
1278
- onRemove: ($event) => removeTag(item)
1279
- }, {
1280
- default: vue.withCtx(() => [
1281
- vue.createTextVNode(
1282
- vue.toDisplayString(item[iLabelText.value]),
1283
- 1
1284
- /* TEXT */
1285
- )
1286
- ]),
1287
- _: 2
1288
- /* DYNAMIC */
1289
- }, 1032, ["removable", "onRemove"])) : vue.createCommentVNode("v-if", true)
1290
- ],
1291
- 64
1292
- /* STABLE_FRAGMENT */
1293
- );
1294
- }),
1295
- 256
1296
- /* UNKEYED_FRAGMENT */
1297
- )) : vue.createCommentVNode("v-if", true),
1298
- vue.createCommentVNode(" \u591A\u9009\u8F93\u5165\u6846\u533A\u57DF\uFF08\u975E\u624B\u673A\u7AEF\u6216\u624B\u673A\u7AEF\u65E0\u9009\u4E2D\u9879\u65F6\u663E\u793A\uFF09 "),
1299
- !vue.unref($phone) || vue.unref($phone) && vue.unref(selected).length === 0 ? (vue.openBlock(), vue.createElementBlock("span", {
1300
- key: 1,
1301
- class: "to-select-input"
1302
- }, [
1303
- vue.createCommentVNode(" \u591A\u9009\u53EF\u8F93\u5165\u6A21\u5F0F\u7684\u8F93\u5165\u6846 "),
1304
- _ctx.inputable && !_ctx.filterable && !_ctx.remoteMethod ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
1305
- key: 0,
1306
- ref_key: "input",
1307
- ref: input,
1308
- modelValue: multipleInputValue.value,
1309
- "onUpdate:modelValue": ($event) => multipleInputValue.value = $event,
1310
- "sp-chars": _ctx.spChars,
1311
- disabled: vue.unref($phone),
1312
- "prevent-focus": "",
1313
- mode: "none",
1314
- placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
1315
- onFocus: multipleInputFocus,
1316
- onBlur: multipleInputBlur
1317
- }, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "disabled", "placeholder"])) : vue.createCommentVNode("v-if", true),
1318
- vue.createCommentVNode(" \u591A\u9009\u53EF\u8FC7\u6EE4\u6A21\u5F0F filterable = true \u6216 \u8FDC\u7A0B\u641C\u7D22\u6A21\u5F0F remoteMethod \u5B58\u5728\u7684\u8F93\u5165\u6846 "),
1319
- _ctx.filterable || _ctx.remoteMethod ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
1399
+ vue.createElementVNode(
1400
+ "span",
1401
+ {
1402
+ ref_key: "tagContainerRef",
1403
+ ref: tagContainerRef,
1404
+ class: vue.normalizeClass(["to-select-tag", { "is-collapse": _ctx.isCount }])
1405
+ },
1406
+ [
1407
+ vue.createCommentVNode(" \u5DF2\u9009\u4E2D\u9879\u7684\u6807\u7B7E\u663E\u793A "),
1408
+ vue.unref(selected).length > 0 && !(isAll.value && _ctx.useAllText) ? (vue.openBlock(), vue.createElementBlock(
1409
+ vue.Fragment,
1410
+ { key: 0 },
1411
+ [
1412
+ (vue.openBlock(true), vue.createElementBlock(
1413
+ vue.Fragment,
1414
+ null,
1415
+ vue.renderList(_ctx.isCount ? displaySelected.value : vue.unref(selected), (item, index) => {
1416
+ return vue.openBlock(), vue.createElementBlock(
1417
+ vue.Fragment,
1418
+ { key: index },
1419
+ [
1420
+ (_ctx.isCount ? index < visibleCount.value : !item.hide) ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ToTag), {
1421
+ key: 0,
1422
+ class: "to-select-item",
1423
+ removable: _ctx.removable && !disabled.value,
1424
+ onRemove: ($event) => removeTag(item)
1425
+ }, {
1426
+ default: vue.withCtx(() => [
1427
+ vue.createTextVNode(
1428
+ vue.toDisplayString(item[iLabelText.value]),
1429
+ 1
1430
+ /* TEXT */
1431
+ )
1432
+ ]),
1433
+ _: 2
1434
+ /* DYNAMIC */
1435
+ }, 1032, ["removable", "onRemove"])) : vue.createCommentVNode("v-if", true)
1436
+ ],
1437
+ 64
1438
+ /* STABLE_FRAGMENT */
1439
+ );
1440
+ }),
1441
+ 128
1442
+ /* KEYED_FRAGMENT */
1443
+ )),
1444
+ vue.createCommentVNode(" \u6298\u53E0\u6A21\u5F0F\u4E0B\u663E\u793A +N "),
1445
+ _ctx.isCount && overflowCount.value > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ToTag), {
1446
+ key: 0,
1447
+ class: "to-select-overflow"
1448
+ }, {
1449
+ default: vue.withCtx(() => [
1450
+ vue.createTextVNode(
1451
+ " +" + vue.toDisplayString(overflowCount.value),
1452
+ 1
1453
+ /* TEXT */
1454
+ )
1455
+ ]),
1456
+ _: 1
1457
+ /* STABLE */
1458
+ })) : vue.createCommentVNode("v-if", true)
1459
+ ],
1460
+ 64
1461
+ /* STABLE_FRAGMENT */
1462
+ )) : vue.createCommentVNode("v-if", true),
1463
+ vue.createCommentVNode(" \u591A\u9009\u8F93\u5165\u6846\u533A\u57DF\uFF08\u975E\u624B\u673A\u7AEF\u6216\u624B\u673A\u7AEF\u65E0\u9009\u4E2D\u9879\u65F6\u663E\u793A\uFF09 "),
1464
+ !vue.unref($phone) || vue.unref($phone) && vue.unref(selected).length === 0 ? (vue.openBlock(), vue.createElementBlock("span", {
1320
1465
  key: 1,
1321
- ref_key: "filter",
1322
- ref: filter,
1323
- modelValue: multipleFilterValue.value,
1324
- "onUpdate:modelValue": ($event) => multipleFilterValue.value = $event,
1325
- "sp-chars": _ctx.inputable ? _ctx.spChars : false,
1326
- disabled: vue.unref($phone),
1327
- "prevent-focus": "",
1328
- mode: "none",
1329
- placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
1330
- onFocus: multipleFilterFocus,
1331
- onBlur: multipleFilterBlur
1332
- }, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "disabled", "placeholder"])) : vue.createCommentVNode("v-if", true),
1333
- vue.createCommentVNode(" \u591A\u9009\u81EA\u5B9A\u4E49\u6570\u636E\u8BBE\u7F6E\u6A21\u5F0F\u7684\u8F93\u5165\u6846 "),
1334
- _ctx.setDataFn ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
1335
- key: 2,
1336
- ref_key: "filter",
1337
- ref: filter,
1338
- modelValue: setDataInputValue.value,
1339
- "onUpdate:modelValue": ($event) => setDataInputValue.value = $event,
1340
- "sp-chars": _ctx.inputable ? _ctx.spChars : false,
1341
- "prevent-focus": "",
1342
- mode: "none",
1343
- placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
1344
- onFocus: multipleFilterFocus,
1345
- onBlur: multipleFilterBlur
1346
- }, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "placeholder"])) : vue.createCommentVNode("v-if", true)
1347
- ])) : vue.createCommentVNode("v-if", true)
1348
- ])
1466
+ class: "to-select-input"
1467
+ }, [
1468
+ vue.createCommentVNode(" \u591A\u9009\u53EF\u8F93\u5165\u6A21\u5F0F\u7684\u8F93\u5165\u6846 "),
1469
+ _ctx.inputable && !_ctx.filterable && !_ctx.remoteMethod ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
1470
+ key: 0,
1471
+ ref_key: "input",
1472
+ ref: input,
1473
+ modelValue: multipleInputValue.value,
1474
+ "onUpdate:modelValue": ($event) => multipleInputValue.value = $event,
1475
+ "sp-chars": _ctx.spChars,
1476
+ disabled: vue.unref($phone),
1477
+ "prevent-focus": "",
1478
+ mode: "none",
1479
+ placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
1480
+ onFocus: multipleInputFocus,
1481
+ onBlur: multipleInputBlur
1482
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "disabled", "placeholder"])) : vue.createCommentVNode("v-if", true),
1483
+ vue.createCommentVNode(" \u591A\u9009\u53EF\u8FC7\u6EE4\u6A21\u5F0F filterable = true \u6216 \u8FDC\u7A0B\u641C\u7D22\u6A21\u5F0F remoteMethod \u5B58\u5728\u7684\u8F93\u5165\u6846 "),
1484
+ _ctx.filterable || _ctx.remoteMethod ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
1485
+ key: 1,
1486
+ ref_key: "filter",
1487
+ ref: filter,
1488
+ modelValue: multipleFilterValue.value,
1489
+ "onUpdate:modelValue": ($event) => multipleFilterValue.value = $event,
1490
+ "sp-chars": _ctx.inputable ? _ctx.spChars : false,
1491
+ disabled: vue.unref($phone),
1492
+ "prevent-focus": "",
1493
+ mode: "none",
1494
+ placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
1495
+ onFocus: multipleFilterFocus,
1496
+ onBlur: multipleFilterBlur
1497
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "disabled", "placeholder"])) : vue.createCommentVNode("v-if", true),
1498
+ vue.createCommentVNode(" \u591A\u9009\u81EA\u5B9A\u4E49\u6570\u636E\u8BBE\u7F6E\u6A21\u5F0F\u7684\u8F93\u5165\u6846 "),
1499
+ _ctx.setDataFn ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToInput), {
1500
+ key: 2,
1501
+ ref_key: "filter",
1502
+ ref: filter,
1503
+ modelValue: setDataInputValue.value,
1504
+ "onUpdate:modelValue": ($event) => setDataInputValue.value = $event,
1505
+ "sp-chars": _ctx.inputable ? _ctx.spChars : false,
1506
+ "prevent-focus": "",
1507
+ mode: "none",
1508
+ placeholder: vue.unref(selected).filter((item) => !item.hide).length > 0 ? "" : _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
1509
+ onFocus: multipleFilterFocus,
1510
+ onBlur: multipleFilterBlur
1511
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "sp-chars", "placeholder"])) : vue.createCommentVNode("v-if", true)
1512
+ ])) : vue.createCommentVNode("v-if", true)
1513
+ ],
1514
+ 2
1515
+ /* CLASS */
1516
+ )
1349
1517
  ],
1350
1518
  2112
1351
1519
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
@@ -1358,6 +1526,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
1358
1526
  64
1359
1527
  /* STABLE_FRAGMENT */
1360
1528
  )),
1529
+ vue.createCommentVNode(" \u6E05\u9664\u56FE\u6807 "),
1530
+ showClearIcon.value ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ToIcon), {
1531
+ key: 3,
1532
+ class: "to-select-clear",
1533
+ link: "",
1534
+ value: "close",
1535
+ onClick: vue.withModifiers(clearClick, ["stop"])
1536
+ })) : vue.createCommentVNode("v-if", true),
1361
1537
  vue.createCommentVNode(" \u4E0B\u62C9\u7BAD\u5934\u56FE\u6807 "),
1362
1538
  vue.createElementVNode(
1363
1539
  "span",