@opentinyvue/vue-base-select 3.27.0 → 3.29.0

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.
package/lib/pc.js CHANGED
@@ -6,15 +6,14 @@ import Option from '@opentinyvue/vue-option';
6
6
  import Scrollbar from '@opentinyvue/vue-scrollbar';
7
7
  import SelectDropdown from '@opentinyvue/vue-select-dropdown';
8
8
  import Button from '@opentinyvue/vue-button';
9
- import { Clickoutside } from '@opentinyvue/vue-directive';
10
- import { IconClose, IconCopy, iconAddCircle, iconLoadingShadow, IconHalfselect, IconCheck, IconCheckedSur, IconSearch, IconDeltaDown, IconEllipsis, IconChevronUp } from '@opentinyvue/vue-icon';
9
+ import { Clickoutside, AutoTip } from '@opentinyvue/vue-directive';
10
+ import { iconClose, iconCopy, iconAddCircle, iconLoadingShadow, iconHalfselect, iconCheck, iconCheckedSur, iconSearch, iconDownWard, iconEllipsis, iconChevronUp } from '@opentinyvue/vue-icon';
11
11
  import Tooltip from '@opentinyvue/vue-tooltip';
12
12
  import FilterBox from '@opentinyvue/vue-filter-box';
13
13
  import RecycleScroller from '@opentinyvue/vue-recycle-scroller';
14
- import Checkbox from '@opentinyvue/vue-checkbox';
15
14
  import '@opentinyvue/vue-theme/select/index.css';
16
15
  import '@opentinyvue/vue-theme/base-select/index.css';
17
- import { resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, mergeProps, withModifiers, createElementVNode, normalizeStyle, normalizeClass, renderSlot, createBlock, createCommentVNode, withCtx, createVNode, createTextVNode, toDisplayString, Fragment, renderList, createSlots, withKeys, vShow, vModelText, resolveDynamicComponent, Transition } from 'vue';
16
+ import { resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, mergeProps, withModifiers, normalizeStyle, normalizeClass, renderSlot, createBlock, createCommentVNode, withCtx, createVNode, createTextVNode, toDisplayString, createElementVNode, Fragment, renderList, createSlots, withKeys, vShow, vModelText, resolveDynamicComponent, Transition } from 'vue';
18
17
 
19
18
  function _createForOfIteratorHelperLoose(r, e) {
20
19
  var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
@@ -65,6 +64,7 @@ var _sfc_main = defineComponent({
65
64
  emits: ["update:modelValue", "change", "focus", "blur", "clear", "remove-tag", "visible-change", "handleDropdownClick", "dropdown-click", "top-create-click"],
66
65
  directives: directive({
67
66
  Clickoutside,
67
+ AutoTip,
68
68
  popover: {
69
69
  bind: function bind(el, binding, vnode) {
70
70
  getReference(el, binding, vnode);
@@ -79,25 +79,24 @@ var _sfc_main = defineComponent({
79
79
  TinyInput: Input,
80
80
  TinyOption: Option,
81
81
  TinyButton: Button,
82
- IconClose: IconClose(),
82
+ IconClose: iconClose(),
83
83
  TinyScrollbar: Scrollbar,
84
- IconCopy: IconCopy(),
84
+ IconCopy: iconCopy(),
85
85
  IconAddCircle: iconAddCircle(),
86
86
  IconLoadingShadow: iconLoadingShadow(),
87
87
  TinySelectDropdown: SelectDropdown,
88
- IconHalfselect: IconHalfselect(),
89
- IconCheck: IconCheck(),
90
- IconCheckedSur: IconCheckedSur(),
88
+ IconHalfselect: iconHalfselect(),
89
+ IconCheck: iconCheck(),
90
+ IconCheckedSur: iconCheckedSur(),
91
91
  TinyFilterBox: FilterBox,
92
92
  TinyTooltip: Tooltip,
93
93
  TinyRecycleScroller: RecycleScroller,
94
94
  // tiny 新增,
95
- IconSearch: IconSearch(),
96
- IconDeltaDown: IconDeltaDown(),
95
+ IconSearch: iconSearch(),
96
+ IconDownWard: iconDownWard(),
97
97
  // 默认下拉图标
98
- TinyCheckbox: Checkbox,
99
- IconEllipsis: IconEllipsis(),
100
- IconChevronUp: IconChevronUp()
98
+ IconEllipsis: iconEllipsis(),
99
+ IconChevronUp: iconChevronUp()
101
100
  },
102
101
  props: [].concat(props, [
103
102
  "id",
@@ -170,7 +169,11 @@ var _sfc_main = defineComponent({
170
169
  "topCreate",
171
170
  "topCreateText",
172
171
  "keepFocus",
172
+ "initLabel",
173
173
  "blank",
174
+ "tooltipConfig",
175
+ "showEmptyValue",
176
+ "stopPropagation",
174
177
  // 以下为 tiny 新增
175
178
  "searchable",
176
179
  "showEmptyImage",
@@ -182,7 +185,8 @@ var _sfc_main = defineComponent({
182
185
  "clickExpand",
183
186
  "maxVisibleRows",
184
187
  "showAllTextTag",
185
- "allText"
188
+ "allText",
189
+ "maxTagWidth"
186
190
  ]),
187
191
  setup: function setup$1(props2, context) {
188
192
  return setup({
@@ -226,80 +230,65 @@ var _hoisted_9 = {
226
230
  var _hoisted_10 = {
227
231
  key: 1
228
232
  };
229
- var _hoisted_11 = {
230
- key: 1,
231
- class: "tiny-base-select__tags-text is-disabled"
232
- };
233
+ var _hoisted_11 = ["disabled", "autocomplete"];
233
234
  var _hoisted_12 = {
234
- key: 0
235
- };
236
- var _hoisted_13 = {
237
- key: 1
238
- };
239
- var _hoisted_14 = ["disabled", "autocomplete"];
240
- var _hoisted_15 = {
241
235
  key: 0,
242
236
  class: "tiny-base-select__limit-txt"
243
237
  };
244
- var _hoisted_16 = {
238
+ var _hoisted_13 = {
245
239
  key: 1,
246
240
  class: "tiny-base-select__proportion-txt"
247
241
  };
248
- var _hoisted_17 = {
242
+ var _hoisted_14 = {
249
243
  key: 1,
250
244
  class: "tiny-select__top-create"
251
245
  };
252
- var _hoisted_18 = {
246
+ var _hoisted_15 = {
253
247
  class: "tiny-icon-close"
254
248
  };
249
+ var _hoisted_16 = {
250
+ class: "tiny-option__checkbox-wrap tiny-select-dropdown__item-checkbox"
251
+ };
252
+ var _hoisted_17 = {
253
+ class: "tiny-option-wrapper calc-width"
254
+ };
255
+ var _hoisted_18 = {
256
+ class: "tiny-option-label"
257
+ };
255
258
  var _hoisted_19 = {
256
- key: 0,
257
- class: "tiny-select-dropdown__empty-wrap"
259
+ class: "tiny-option__checkbox-wrap tiny-select-dropdown__item-checkbox"
258
260
  };
259
261
  var _hoisted_20 = {
260
- key: 1,
261
- class: "tiny-select-dropdown__empty-images"
262
+ class: "tiny-option-wrapper calc-width"
262
263
  };
263
264
  var _hoisted_21 = {
264
- key: 2,
265
- class: "tiny-select-dropdown__empty"
265
+ class: "tiny-option-label"
266
266
  };
267
267
  var _hoisted_22 = {
268
- key: 1,
269
- class: "tiny-select-dropdown__loading"
268
+ key: 0,
269
+ class: "tiny-select-dropdown__empty-wrap"
270
270
  };
271
271
  var _hoisted_23 = {
272
- key: 0,
272
+ key: 1,
273
273
  class: "tiny-select-dropdown__empty-images"
274
274
  };
275
275
  var _hoisted_24 = {
276
- key: 1,
276
+ key: 2,
277
277
  class: "tiny-select-dropdown__empty"
278
278
  };
279
279
  var _hoisted_25 = {
280
+ key: 0,
281
+ class: "tiny-select-dropdown__empty-images"
282
+ };
283
+ var _hoisted_26 = {
280
284
  key: 1,
281
- class: "circular",
282
- viewBox: "25 25 50 50"
285
+ class: "tiny-select-dropdown__empty"
283
286
  };
284
- var _hoisted_26 = /* @__PURE__ */ createElementVNode(
285
- "circle",
286
- {
287
- class: "path",
288
- cx: "50",
289
- cy: "50",
290
- r: "24",
291
- fill: "none"
292
- },
293
- null,
294
- -1
295
- /* HOISTED */
296
- );
297
- var _hoisted_27 = [_hoisted_26];
298
- var _hoisted_28 = {
287
+ var _hoisted_27 = {
299
288
  key: 0,
300
289
  class: "tiny-base-select__placeholder"
301
290
  };
302
- var _hoisted_29 = /* @__PURE__ */ createElementVNode(
291
+ var _hoisted_28 = /* @__PURE__ */ createElementVNode(
303
292
  "input",
304
293
  {
305
294
  class: "tiny-input__inner",
@@ -309,7 +298,7 @@ var _hoisted_29 = /* @__PURE__ */ createElementVNode(
309
298
  -1
310
299
  /* HOISTED */
311
300
  );
312
- var _hoisted_30 = [_hoisted_29];
301
+ var _hoisted_29 = [_hoisted_28];
313
302
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
314
303
  var _component_tiny_filter_box = resolveComponent("tiny-filter-box");
315
304
  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
@@ -324,26 +313,26 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
324
313
  var _component_tiny_recycle_scroller = resolveComponent("tiny-recycle-scroller");
325
314
  var _component_tiny_scrollbar = resolveComponent("tiny-scrollbar");
326
315
  var _component_tiny_select_dropdown = resolveComponent("tiny-select-dropdown");
316
+ var _directive_auto_tip = resolveDirective("auto-tip");
327
317
  var _directive_popover = resolveDirective("popover");
328
318
  var _directive_clickoutside = resolveDirective("clickoutside");
329
319
  return withDirectives((openBlock(), createElementBlock(
330
320
  "div",
331
321
  mergeProps({
332
322
  ref: "select",
333
- class: ["tiny-base-select", [_ctx.state.selectSize ? "tiny-base-select--" + _ctx.state.selectSize : "", _ctx.state.collapseTags ? "tiny-base-select__collapse-tags" : "", _ctx.filterable ? "tiny-base-select__filterable" : "", _ctx.multiple ? "tiny-base-select__multiple" : "", (_ctx.state.inputHovering || _ctx.state.visible) && !_ctx.clickExpand ? "is-hover" : "", _ctx.state.isDisplayOnly ? "is-display-only" : "", _ctx.hoverExpand ? "is-hover-expand" : "", _ctx.clickExpand ? "is-click-expand" : "", _ctx.state.showCollapseTag ? "collapse-tag-clicked" : "", _ctx.state.selectDisabled ? "is-disabled" : "", _ctx.$parent.$attrs.class]],
323
+ class: ["tiny-base-select", [_ctx.state.selectSize ? "tiny-base-select--" + _ctx.state.selectSize : "", _ctx.state.collapseTags ? "tiny-base-select__collapse-tags" : "", _ctx.filterable ? "tiny-base-select__filterable" : "", _ctx.multiple ? "tiny-base-select__multiple" : "", (_ctx.state.inputHovering || _ctx.state.visible) && !_ctx.clickExpand ? "is-hover" : "", _ctx.state.isDisplayOnly ? "is-display-only" : "", _ctx.hoverExpand ? "is-hover-expand" : "", _ctx.clickExpand ? "is-click-expand" : "", _ctx.state.showCollapseTag ? "collapse-tag-clicked" : "", _ctx.state.isDisabled ? "is-disabled" : "", _ctx.$parent.$attrs.class]],
334
324
  onMouseleave: _cache[40] || (_cache[40] = withModifiers(function() {
335
325
  _ctx.state.selectHover = false;
336
326
  _ctx.state.inputHovering = false;
337
327
  }, ["self"])),
338
328
  onMouseenter: _cache[41] || (_cache[41] = withModifiers(function() {
339
- _ctx.state.selectHover = true;
340
- _ctx.state.inputHovering = true;
329
+ return _ctx.onMouseenterSelf && _ctx.onMouseenterSelf.apply(_ctx, arguments);
341
330
  }, ["self"])),
342
331
  onClick: _cache[42] || (_cache[42] = function() {
343
332
  return _ctx.toggleMenu && _ctx.toggleMenu.apply(_ctx, arguments);
344
333
  })
345
334
  }, _ctx.a(_ctx.$attrs, ["class", "style"], true)),
346
- [createElementVNode(
335
+ [withDirectives((openBlock(), createElementBlock(
347
336
  "div",
348
337
  {
349
338
  ref: "tagsGroup",
@@ -366,8 +355,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
366
355
  return item.state ? item.state.currentLabel : item.currentLabel;
367
356
  }).join("; ") : _ctx.state.selectedLabel,
368
357
  "drop-down-visible": _ctx.state.visible,
369
- blank: _ctx.blank
370
- }, null, 8, ["onClick", "show-close", "placeholder", "disabled", "label", "tip", "value", "drop-down-visible", "blank"])) : createCommentVNode("v-if", true), _ctx.multiple && !_ctx.state.isDisplayOnly && !_ctx.shape ? (openBlock(), createElementBlock(
358
+ blank: _ctx.blank,
359
+ size: _ctx.state.selectSize
360
+ }, null, 8, ["onClick", "show-close", "placeholder", "disabled", "label", "tip", "value", "drop-down-visible", "blank", "size"])) : createCommentVNode("v-if", true), _ctx.multiple && !_ctx.state.isDisplayOnly && !_ctx.shape ? (openBlock(), createElementBlock(
371
361
  "div",
372
362
  {
373
363
  key: 1,
@@ -381,20 +371,26 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
381
371
  style: normalizeStyle(_ctx.state.tagsStyle)
382
372
  },
383
373
  [!_ctx.state.isShowTagText ? (openBlock(), createElementBlock("span", _hoisted_1, [_ctx.collapseTags && _ctx.state.selected.length ? (openBlock(), createElementBlock("span", _hoisted_2, [(openBlock(), createBlock(_component_tiny_tag, {
384
- closable: !_ctx.state.selectDisabled,
374
+ class: normalizeClass({
375
+ "is-required": _ctx.state.selected[0].required
376
+ }),
377
+ closable: _ctx.isTagClosable(_ctx.state.selected[0]),
385
378
  size: _ctx.state.collapseTagSize,
386
379
  hit: _ctx.state.selected[0].state ? _ctx.state.selected[0].state.hitState : _ctx.state.selected[0].hitState,
387
380
  key: _ctx.state.key,
381
+ disabled: _ctx.state.selected[0].disabled || _ctx.state.isDisabled,
388
382
  type: _ctx.state.getTagType,
389
383
  onClose: _cache[1] || (_cache[1] = function($event) {
390
384
  return _ctx.deleteTag($event, _ctx.state.selected[0]);
391
385
  }),
392
- "disable-transitions": ""
386
+ "disable-transitions": "",
387
+ maxWidth: _ctx.maxTagWidth
393
388
  }, {
394
389
  default: withCtx(function() {
395
390
  return [createVNode(_component_tiny_tooltip, {
396
- effect: "light",
397
- placement: "top",
391
+ effect: _ctx.tooltipConfig.effect || "light",
392
+ placement: _ctx.tooltipConfig.placement || "top",
393
+ "popper-class": _ctx.tooltipConfig.popperClass || "",
398
394
  onMouseenter: _cache[0] || (_cache[0] = function($event) {
399
395
  return _ctx.handleEnterTag($event, _ctx.getValueKey(_ctx.state.selected[0]));
400
396
  })
@@ -423,17 +419,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
423
419
  }),
424
420
  _: 3
425
421
  /* FORWARDED */
426
- })];
422
+ }, 8, ["effect", "placement", "popper-class"])];
427
423
  }),
428
424
  _: 3
429
425
  /* FORWARDED */
430
- }, 8, ["closable", "size", "hit", "type"])), _ctx.state.selected.length > 1 ? (openBlock(), createBlock(_component_tiny_tag, {
426
+ }, 8, ["class", "closable", "size", "hit", "disabled", "type", "maxWidth"])), _ctx.state.selected.length > 1 ? (openBlock(), createBlock(_component_tiny_tag, {
431
427
  key: 0,
432
428
  closable: false,
433
429
  size: _ctx.state.collapseTagSize,
434
430
  type: _ctx.state.getTagType,
431
+ disabled: _ctx.state.isDisabled,
435
432
  "disable-transitions": "",
436
- class: "tiny-base-select__tags-number"
433
+ class: "tiny-base-select__tags-number",
434
+ maxWidth: _ctx.maxTagWidth
437
435
  }, {
438
436
  default: withCtx(function() {
439
437
  return [createElementVNode(
@@ -446,7 +444,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
446
444
  }),
447
445
  _: 1
448
446
  /* STABLE */
449
- }, 8, ["size", "type"])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), !_ctx.collapseTags ? (openBlock(), createElementBlock(
447
+ }, 8, ["size", "type", "disabled", "maxWidth"])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), !_ctx.collapseTags ? (openBlock(), createElementBlock(
450
448
  "span",
451
449
  _hoisted_6,
452
450
  [_ctx.showAllTextTag && _ctx.state.selectCls === "checked-sur" ? (openBlock(), createBlock(_component_tiny_tag, {
@@ -458,7 +456,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
458
456
  size: _ctx.state.collapseTagSize,
459
457
  onClose: _cache[2] || (_cache[2] = function($event) {
460
458
  return _ctx.toggleCheckAll(false);
461
- })
459
+ }),
460
+ maxWidth: _ctx.maxTagWidth
462
461
  }, {
463
462
  default: withCtx(function() {
464
463
  return [createTextVNode(
@@ -469,24 +468,25 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
469
468
  }),
470
469
  _: 1
471
470
  /* STABLE */
472
- }, 8, ["type", "disabled", "size"])) : (openBlock(), createElementBlock(
471
+ }, 8, ["type", "disabled", "size", "maxWidth"])) : (openBlock(), createElementBlock(
473
472
  Fragment,
474
473
  {
475
474
  key: 1
476
475
  },
477
- [_ctx.hoverExpand || _ctx.clickExpand ? (openBlock(), createBlock(_component_tiny_tag, {
478
- class: normalizeClass(["tiny-base-select__tags-collapse", {
476
+ [_ctx.hoverExpand || _ctx.clickExpand && !_ctx.state.showCollapseTag ? (openBlock(), createBlock(_component_tiny_tag, {
477
+ class: normalizeClass(["tiny-base-select__tags-collapse", "cursor-pointer", {
479
478
  "is-hidden": _ctx.state.isHidden || _ctx.state.isDisabled
480
479
  }]),
481
480
  type: _ctx.state.getTagType,
482
481
  key: "tags-collapse",
483
482
  "data-tag": "tags-collapse",
484
- "only-icon": "",
483
+ "only-icon": !_ctx.hoverExpand,
485
484
  closable: false,
486
485
  size: _ctx.state.collapseTagSize,
487
486
  onClick: _cache[3] || (_cache[3] = function($event) {
488
487
  return _ctx.onClickCollapseTag($event);
489
- })
488
+ }),
489
+ maxWidth: _ctx.maxTagWidth
490
490
  }, {
491
491
  default: withCtx(function() {
492
492
  return [_ctx.hoverExpand ? (openBlock(), createElementBlock(
@@ -507,7 +507,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
507
507
  }),
508
508
  _: 1
509
509
  /* STABLE */
510
- }, 8, ["class", "type", "size"])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
510
+ }, 8, ["class", "type", "only-icon", "size", "maxWidth"])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
511
511
  Fragment,
512
512
  null,
513
513
  renderList(_ctx.state.selected, function(item, index) {
@@ -525,12 +525,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
525
525
  onClose: function onClose($event) {
526
526
  return _ctx.deleteTag($event, item);
527
527
  },
528
- "disable-transitions": ""
528
+ "disable-transitions": "",
529
+ maxWidth: _ctx.maxTagWidth
529
530
  }, {
530
531
  default: withCtx(function() {
531
532
  return [createVNode(_component_tiny_tooltip, {
532
- effect: "light",
533
- placement: "top",
533
+ effect: _ctx.tooltipConfig.effect || "light",
534
+ placement: _ctx.tooltipConfig.placement || "top",
535
+ "popper-class": _ctx.tooltipConfig.popperClass || "",
534
536
  onMouseenter: function onMouseenter($event) {
535
537
  return _ctx.handleEnterTag($event, _ctx.getValueKey(item));
536
538
  }
@@ -574,11 +576,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
574
576
  })]))];
575
577
  }),
576
578
  key: "0"
577
- } : void 0]), 1032, ["onMouseenter"])];
579
+ } : void 0]), 1032, ["effect", "placement", "popper-class", "onMouseenter"])];
578
580
  }),
579
581
  _: 2
580
582
  /* DYNAMIC */
581
- }, 1032, ["class", "closable", "disabled", "size", "hit", "type", "onClose"]);
583
+ }, 1032, ["class", "closable", "disabled", "size", "hit", "type", "onClose", "maxWidth"]);
582
584
  }),
583
585
  128
584
586
  /* KEYED_FRAGMENT */
@@ -598,64 +600,36 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
598
600
  ))],
599
601
  512
600
602
  /* NEED_PATCH */
601
- )) : createCommentVNode("v-if", true)])) : (openBlock(), createElementBlock("span", _hoisted_11, [createVNode(_component_tiny_tooltip, {
602
- effect: "light",
603
- placement: "top",
604
- disabled: !_ctx.showTips
605
- }, {
606
- content: withCtx(function() {
607
- return [createElementVNode(
608
- "div",
609
- {
610
- class: normalizeClass([_ctx.state.showTips && "tiny-base-select__show-tips", "tiny-base-select__show-common"])
611
- },
612
- [_ctx.slots.label ? (openBlock(), createElementBlock("span", _hoisted_12, [(openBlock(true), createElementBlock(
613
- Fragment,
614
- null,
615
- renderList(_ctx.state.selected, function(item) {
616
- return openBlock(), createElementBlock("span", {
617
- key: _ctx.getValueKey(item)
618
- }, [renderSlot(_ctx.$slots, "label", {
619
- item
620
- })]);
621
- }),
622
- 128
623
- /* KEYED_FRAGMENT */
624
- ))])) : (openBlock(), createElementBlock(
625
- "span",
626
- _hoisted_13,
627
- toDisplayString(_ctx.disabledTooltipContent || _ctx.state.disabledTooltipContent),
628
- 1
629
- /* TEXT */
630
- ))],
631
- 2
632
- /* CLASS */
633
- )];
634
- }),
635
- default: withCtx(function() {
636
- return [createElementVNode("span", null, [(openBlock(true), createElementBlock(
637
- Fragment,
638
- null,
639
- renderList(_ctx.state.selected, function(item) {
640
- return openBlock(), createElementBlock("span", {
641
- key: item.value
642
- }, [renderSlot(_ctx.$slots, "label", {
643
- item
644
- }, function() {
645
- return [createTextVNode(
646
- toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
647
- 1
648
- /* TEXT */
649
- )];
650
- }), createTextVNode("; ")]);
651
- }),
652
- 128
653
- /* KEYED_FRAGMENT */
654
- ))])];
655
- }),
656
- _: 3
657
- /* FORWARDED */
658
- }, 8, ["disabled"])])), withDirectives(createElementVNode("input", {
603
+ )) : createCommentVNode("v-if", true)])) : (openBlock(), createElementBlock(
604
+ "span",
605
+ {
606
+ key: 1,
607
+ class: normalizeClass(["tiny-base-select__tags-text", "is-display-only", {
608
+ "is-disabled": _ctx.state.isDisabled
609
+ }])
610
+ },
611
+ [createElementVNode("span", null, [(openBlock(true), createElementBlock(
612
+ Fragment,
613
+ null,
614
+ renderList(_ctx.state.selected, function(item) {
615
+ return openBlock(), createElementBlock("span", {
616
+ key: item.value
617
+ }, [renderSlot(_ctx.$slots, "label", {
618
+ item
619
+ }, function() {
620
+ return [createTextVNode(
621
+ toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
622
+ 1
623
+ /* TEXT */
624
+ )];
625
+ }), createTextVNode("; ")]);
626
+ }),
627
+ 128
628
+ /* KEYED_FRAGMENT */
629
+ ))])],
630
+ 2
631
+ /* CLASS */
632
+ )), withDirectives(createElementVNode("input", {
659
633
  ref: "input",
660
634
  "onUpdate:modelValue": _cache[5] || (_cache[5] = function($event) {
661
635
  return _ctx.state.query = $event;
@@ -702,11 +676,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
702
676
  }),
703
677
  style: normalizeStyle({
704
678
  "flex-grow": "1",
705
- width: _ctx.state.inputLength / (_ctx.state.inputWidth - 32) + "%",
706
- "max-width": _ctx.state.inputWidth - 42 + "px",
679
+ width: _ctx.state.inputWidth > 0 ? _ctx.state.inputLength / (_ctx.state.inputWidth - 32) + "%" : "auto",
680
+ "max-width": _ctx.state.inputWidth > 0 ? _ctx.state.inputWidth - 42 + "px" : "none",
707
681
  height: "auto"
708
682
  })
709
- }, null, 46, _hoisted_14), [[vShow, _ctx.filterable && !_ctx.searchable && !_ctx.state.selectDisabled], [vModelText, _ctx.state.query]])],
683
+ }, null, 46, _hoisted_11), [[vShow, _ctx.filterable && !_ctx.searchable && !_ctx.state.selectDisabled], [vModelText, _ctx.state.query]])],
710
684
  6
711
685
  /* CLASS, STYLE */
712
686
  )) : createCommentVNode("v-if", true), !_ctx.shape ? (openBlock(), createBlock(_component_tiny_input, {
@@ -723,17 +697,21 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
723
697
  id: _ctx.id,
724
698
  autocomplete: _ctx.autocomplete,
725
699
  size: _ctx.state.selectSize,
700
+ showTooltip: false,
726
701
  disabled: _ctx.state.selectDisabled,
727
702
  readonly: _ctx.state.readonly,
728
703
  "display-only": _ctx.state.isDisplayOnly,
729
704
  "display-only-content": _ctx.state.displayOnlyContent,
730
705
  unselectable: _ctx.state.readonly ? "on" : "off",
731
706
  "validate-event": false,
707
+ "show-empty-value": _ctx.showEmptyValue,
732
708
  "input-box-type": _ctx.inputBoxType,
733
709
  class: normalizeClass({
734
710
  "is-focus": _ctx.state.visible,
735
711
  overflow: _ctx.state.overflow,
736
- "is-show-close": _ctx.state.showClose
712
+ "is-show-close": _ctx.state.showClose,
713
+ "show-copy": _ctx.copyable,
714
+ "show-clear": _ctx.clearable
737
715
  }),
738
716
  tabindex: _ctx.multiple && _ctx.filterable ? "-1" : _ctx.tabindex,
739
717
  onFocus: _ctx.handleFocus,
@@ -754,15 +732,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
754
732
  onCompositionend: _ctx.handleComposition
755
733
  }, createSlots({
756
734
  suffix: withCtx(function() {
757
- return [renderSlot(_ctx.$slots, "suffix"), _ctx.showLimitText && _ctx.multiple && _ctx.multipleLimit ? (openBlock(), createElementBlock(
735
+ return [renderSlot(_ctx.$slots, "suffix"), _ctx.showLimitText && _ctx.multiple && _ctx.multipleLimit && !_ctx.state.showCopy ? (openBlock(), createElementBlock(
758
736
  "span",
759
- _hoisted_15,
737
+ _hoisted_12,
760
738
  toDisplayString(_ctx.state.selected.length) + "/" + toDisplayString(_ctx.multipleLimit),
761
739
  1
762
740
  /* TEXT */
763
741
  )) : _ctx.showProportion && _ctx.state.selected.length > 0 && _ctx.state.options.length > 1 ? (openBlock(), createElementBlock(
764
742
  "span",
765
- _hoisted_16,
743
+ _hoisted_13,
766
744
  toDisplayString(_ctx.state.selected.length + "/" + _ctx.state.options.length),
767
745
  1
768
746
  /* TEXT */
@@ -798,7 +776,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
798
776
  return [renderSlot(_ctx.$slots, "prefix")];
799
777
  }),
800
778
  key: "0"
801
- } : void 0]), 1032, ["modelValue", "placeholder", "name", "id", "autocomplete", "size", "disabled", "readonly", "display-only", "display-only-content", "unselectable", "input-box-type", "class", "tabindex", "onFocus", "onBlur", "onKeyup", "onKeydown", "onPaste", "onMouseenter", "onMouseleave", "onCompositionend"])) : createCommentVNode("v-if", true)];
779
+ } : void 0]), 1032, ["modelValue", "placeholder", "name", "id", "autocomplete", "size", "disabled", "readonly", "display-only", "display-only-content", "unselectable", "show-empty-value", "input-box-type", "class", "tabindex", "onFocus", "onBlur", "onKeyup", "onKeydown", "onPaste", "onMouseenter", "onMouseleave", "onCompositionend"])) : createCommentVNode("v-if", true)];
802
780
  }), createVNode(Transition, {
803
781
  name: "tiny-zoom-in-top",
804
782
  onBeforeEnter: _ctx.handleMenuEnter,
@@ -824,7 +802,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
824
802
  },
825
803
  [createVNode(_component_tiny_input, {
826
804
  ref: "input",
827
- type: "text",
828
805
  modelValue: _ctx.state.query,
829
806
  "onUpdate:modelValue": _cache[27] || (_cache[27] = function($event) {
830
807
  return _ctx.state.query = $event;
@@ -836,7 +813,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
836
813
  }, null, 8, ["modelValue", "placeholder", "onInput", "onFocus"])],
837
814
  2
838
815
  /* CLASS */
839
- )) : createCommentVNode("v-if", true), _ctx.topCreate ? (openBlock(), createElementBlock("div", _hoisted_17, [createElementVNode("div", {
816
+ )) : createCommentVNode("v-if", true), _ctx.topCreate ? (openBlock(), createElementBlock("div", _hoisted_14, [createElementVNode("div", {
840
817
  onClick: _cache[28] || (_cache[28] = function($event) {
841
818
  return _ctx.$emit("top-create-click", $event);
842
819
  })
@@ -858,7 +835,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
858
835
  "onUpdate:modelValue": [_cache[29] || (_cache[29] = function($event) {
859
836
  return _ctx.state.query = $event;
860
837
  }), _cache[30] || (_cache[30] = function($event) {
861
- return _ctx.handleQueryChange(_ctx.state.query);
838
+ return _ctx.handleQueryChange(_ctx.state.query, false, true);
862
839
  })],
863
840
  placeholder: _ctx.t("ui.search.placeholder"),
864
841
  class: "tiny-select-dropdown__search"
@@ -871,7 +848,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
871
848
  suffix: withCtx(function() {
872
849
  return [withDirectives(createElementVNode(
873
850
  "span",
874
- _hoisted_18,
851
+ _hoisted_15,
875
852
  [createVNode(_component_icon_close, {
876
853
  onClick: _ctx.clearSearchText
877
854
  }, null, 8, ["onClick"])],
@@ -891,12 +868,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
891
868
  height: _ctx.state.optimizeStore.recycleScrollerHeight + "px"
892
869
  })
893
870
  },
894
- [withDirectives((openBlock(), createBlock(_component_tiny_recycle_scroller, {
871
+ [withDirectives(createVNode(_component_tiny_recycle_scroller, {
895
872
  ref: "scrollbar",
896
873
  style: {
897
874
  "height": "100%"
898
875
  },
899
- key: _ctx.state.magicKey,
900
876
  "key-field": _ctx.valueField,
901
877
  "list-class": ["tiny-select-dropdown__wrap"],
902
878
  "item-class": ["tiny-select-dropdown__item-view"],
@@ -931,10 +907,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
931
907
  }),
932
908
  _: 3
933
909
  /* FORWARDED */
934
- }, 8, ["key-field", "items", "item-size"])), [[vShow, !_ctx.state.emptyFlag && !_ctx.loading]])],
910
+ }, 8, ["key-field", "items", "item-size"]), [[vShow, !_ctx.state.emptyFlag && !_ctx.loading]])],
935
911
  4
936
912
  /* STYLE */
937
- )) : createCommentVNode("v-if", true), !_ctx.optimization ? withDirectives((openBlock(), createBlock(_component_tiny_scrollbar, {
913
+ )) : createCommentVNode("v-if", true), !_ctx.optimization && !(_ctx.state.isDisplayOnly && _ctx.options) ? withDirectives((openBlock(), createBlock(_component_tiny_scrollbar, {
938
914
  key: 4,
939
915
  ref: "scrollbar",
940
916
  show: "",
@@ -967,15 +943,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
967
943
  return _ctx.state.hoverIndex = -9;
968
944
  })
969
945
  },
970
- [(openBlock(), createBlock(resolveDynamicComponent("icon-" + _ctx.state.selectCls), {
946
+ [createElementVNode("span", _hoisted_16, [(openBlock(), createBlock(resolveDynamicComponent("icon-" + _ctx.state.selectCls), {
971
947
  class: normalizeClass(["tiny-svg-size", _ctx.state.selectCls])
972
- }, null, 8, ["class"])), createElementVNode(
948
+ }, null, 8, ["class"]))]), createElementVNode("div", _hoisted_17, [createElementVNode(
973
949
  "span",
974
- null,
950
+ _hoisted_18,
975
951
  toDisplayString(_ctx.allText || _ctx.t("ui.base.all")),
976
952
  1
977
953
  /* TEXT */
978
- )],
954
+ )])],
979
955
  34
980
956
  /* CLASS, NEED_HYDRATION */
981
957
  )) : createCommentVNode("v-if", true), _ctx.multiple && _ctx.showCheck && _ctx.showAlloption && !_ctx.state.multipleLimit && _ctx.state.query && !_ctx.state.emptyText && !_ctx.remote ? (openBlock(), createElementBlock(
@@ -997,15 +973,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
997
973
  return _ctx.state.hoverIndex = -9;
998
974
  })
999
975
  },
1000
- [(openBlock(), createBlock(resolveDynamicComponent("icon-" + _ctx.state.filteredSelectCls), {
976
+ [createElementVNode("span", _hoisted_19, [(openBlock(), createBlock(resolveDynamicComponent("icon-" + _ctx.state.filteredSelectCls), {
1001
977
  class: normalizeClass(["tiny-svg-size", _ctx.state.filteredSelectCls])
1002
- }, null, 8, ["class"])), createElementVNode(
978
+ }, null, 8, ["class"]))]), createElementVNode("div", _hoisted_20, [createElementVNode(
1003
979
  "span",
1004
- null,
980
+ _hoisted_21,
1005
981
  toDisplayString(_ctx.allText || _ctx.t("ui.base.all")),
1006
982
  1
1007
983
  /* TEXT */
1008
- )],
984
+ )])],
1009
985
  34
1010
986
  /* CLASS, NEED_HYDRATION */
1011
987
  )) : createCommentVNode("v-if", true), _ctx.state.showNewOption ? (openBlock(), createBlock(_component_tiny_option, {
@@ -1042,43 +1018,57 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
1042
1018
  {
1043
1019
  key: 5
1044
1020
  },
1045
- [_ctx.loadingText || _ctx.slots.empty ? (openBlock(), createElementBlock("div", _hoisted_19, [_ctx.slots.empty ? renderSlot(_ctx.$slots, "empty", {
1021
+ [_ctx.loadingText || _ctx.slots.empty ? (openBlock(), createElementBlock("div", _hoisted_22, [_ctx.slots.empty ? renderSlot(_ctx.$slots, "empty", {
1046
1022
  key: 0
1047
- }) : _ctx.showEmptyImage ? (openBlock(), createElementBlock("span", _hoisted_20)) : (openBlock(), createElementBlock(
1023
+ }) : _ctx.showEmptyImage ? (openBlock(), createElementBlock("span", _hoisted_23)) : (openBlock(), createElementBlock(
1048
1024
  "p",
1049
- _hoisted_21,
1025
+ _hoisted_24,
1050
1026
  toDisplayString(_ctx.state.emptyText),
1051
1027
  1
1052
1028
  /* TEXT */
1053
- ))])) : (openBlock(), createElementBlock("div", _hoisted_22, [!_ctx.loading ? (openBlock(), createElementBlock(
1054
- Fragment,
1029
+ ))])) : (openBlock(), createElementBlock(
1030
+ "div",
1055
1031
  {
1056
- key: 0
1032
+ key: 1,
1033
+ class: normalizeClass(["tiny-select-dropdown__loading", {
1034
+ "show-loading-icon": _ctx.loading
1035
+ }])
1057
1036
  },
1058
- [_ctx.showEmptyImage ? (openBlock(), createElementBlock("span", _hoisted_23)) : (openBlock(), createElementBlock(
1059
- "span",
1060
- _hoisted_24,
1061
- toDisplayString(_ctx.state.emptyText),
1062
- 1
1063
- /* TEXT */
1064
- ))],
1065
- 64
1066
- /* STABLE_FRAGMENT */
1067
- )) : (openBlock(), createElementBlock("svg", _hoisted_25, _hoisted_27))]))],
1037
+ [!_ctx.loading ? (openBlock(), createElementBlock(
1038
+ Fragment,
1039
+ {
1040
+ key: 0
1041
+ },
1042
+ [_ctx.showEmptyImage ? (openBlock(), createElementBlock("span", _hoisted_25)) : (openBlock(), createElementBlock(
1043
+ "span",
1044
+ _hoisted_26,
1045
+ toDisplayString(_ctx.state.emptyText),
1046
+ 1
1047
+ /* TEXT */
1048
+ ))],
1049
+ 64
1050
+ /* STABLE_FRAGMENT */
1051
+ )) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.designConfig && _ctx.state.designConfig.icons && _ctx.state.designConfig.icons.loadingIcon || "icon-loading-shadow"), {
1052
+ key: 1,
1053
+ class: "circular"
1054
+ }))],
1055
+ 2
1056
+ /* CLASS */
1057
+ ))],
1068
1058
  64
1069
1059
  /* STABLE_FRAGMENT */
1070
1060
  )) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "footer")];
1071
1061
  }),
1072
1062
  _: 3
1073
1063
  /* FORWARDED */
1074
- }, 8, ["is-drop-inherit-width", "placement", "append-to-body", "style", "popper-options"]), [[vShow, !_ctx.onCopying() && !_ctx.hideDrop && _ctx.state.visible && _ctx.state.emptyText !== false]])];
1064
+ }, 8, ["is-drop-inherit-width", "placement", "append-to-body", "style", "popper-options"]), [[vShow, !_ctx.onCopying() && !_ctx.hideDrop && _ctx.state.visible && (_ctx.slots.panel || _ctx.state.emptyText !== false)]])];
1075
1065
  }),
1076
1066
  _: 3
1077
1067
  /* FORWARDED */
1078
1068
  }, 8, ["onBeforeEnter", "onAfterLeave"])],
1079
1069
  6
1080
1070
  /* CLASS, STYLE */
1081
- ), _ctx.hoverExpand && !_ctx.state.isDisplayOnly ? (openBlock(), createElementBlock("div", _hoisted_28, _hoisted_30)) : createCommentVNode("v-if", true)],
1071
+ )), [[_directive_auto_tip, _ctx.state.rootAutoTipConfig]]), _ctx.hoverExpand && !_ctx.state.isDisplayOnly ? (openBlock(), createElementBlock("div", _hoisted_27, _hoisted_29)) : createCommentVNode("v-if", true)],
1082
1072
  16
1083
1073
  /* FULL_PROPS */
1084
1074
  )), [[_directive_popover, void 0, "popover"], [_directive_clickoutside, _ctx.handleClose]]);