@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.
@@ -1,13 +1,13 @@
1
- import { renderless, api } from '@opentinyvue/vue-renderless/select/vue';
1
+ import { renderless, api } from '@opentinyvue/vue-renderless/base-select/vue';
2
2
  import { defineComponent, directive, props, setup } from '@opentinyvue/vue-common';
3
3
  import Tag from '@opentinyvue/vue-tag';
4
4
  import Input from '@opentinyvue/vue-input';
5
5
  import Option from '@opentinyvue/vue-option';
6
6
  import Scrollbar from '@opentinyvue/vue-scrollbar';
7
7
  import SelectDropdown from '@opentinyvue/vue-select-dropdown';
8
- import { Clickoutside } from '@opentinyvue/vue-directive';
9
- import { iconClose, iconCopy, iconHalfselect, iconCheck, iconCheckedSur, iconLoading, iconChevronRight } from '@opentinyvue/vue-icon';
10
- import Tree from '@opentinyvue/vue-tree';
8
+ import Button from '@opentinyvue/vue-button';
9
+ import { Clickoutside, AutoTip } from '@opentinyvue/vue-directive';
10
+ import { iconClose, iconCopy, iconHalfselect, iconCheck, iconCheckedSur, iconLoading, iconChevronRight, iconDownWard, iconSearch, iconEllipsis, iconChevronUp, iconAddCircle, iconLoadingShadow } 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';
@@ -46,20 +46,11 @@ var _export_sfc = function _export_sfc2(sfc, props) {
46
46
  return target;
47
47
  };
48
48
 
49
- function _extends() {
50
- return _extends = Object.assign ? Object.assign.bind() : function(n) {
51
- for (var e = 1; e < arguments.length; e++) {
52
- var t = arguments[e];
53
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
54
- }
55
- return n;
56
- }, _extends.apply(null, arguments);
57
- }
58
49
  var classes = {
59
50
  "caret": "text-base rotate-0 transition-transform duration-300 fill-color-text-placeholder cursor-pointer ",
60
51
  "select-tags": "absolute leading-normal whitespace-normal sm:pl-3 pr-2 z-[1] top-1/2 -translate-y-2/4 flex items-center flex-wrap [&_[data-tag=tiny-tag]]:my-0.5 [&_[data-tag=tiny-tag]]:h-7 [&_[data-tag=tiny-tag]]:sm:h-5 [&_[data-tag=tiny-tag]_svg]:shrink-0",
61
52
  "tags-text": "inline-block w-full whitespace-nowrap text-ellipsis overflow-hidden align-bottom",
62
- "tag-info": "whitespace-nowrap text-ellipsis overflow-hidden inline-flex justify-start items-center border-transparent text-color-text-primary"
53
+ "tag-info": "whitespace-nowrap text-ellipsis overflow-hidden inline-flex justify-start items-center border-transparent text-color-text-primary h-5 cursor-pointer"
63
54
  };
64
55
  var getReference = function getReference2(el, binding, vnode) {
65
56
  var _ref = binding.expression ? binding.value : binding.arg;
@@ -74,9 +65,10 @@ var getReference = function getReference2(el, binding, vnode) {
74
65
  };
75
66
  var _sfc_main = defineComponent({
76
67
  inheritAttrs: false,
77
- emits: ["update:modelValue", "change", "focus", "blur", "clear", "remove-tag", "visible-change", "handleDropdownClick", "dropdown-click", "confirm"],
68
+ emits: ["update:modelValue", "change", "focus", "blur", "clear", "remove-tag", "visible-change", "handleDropdownClick", "dropdown-click", "confirm", "top-create-click"],
78
69
  directives: directive({
79
70
  Clickoutside,
71
+ AutoTip,
80
72
  popover: {
81
73
  bind: function bind(el, binding, vnode) {
82
74
  getReference(el, binding, vnode);
@@ -90,8 +82,8 @@ var _sfc_main = defineComponent({
90
82
  TinyTag: Tag,
91
83
  TinyInput: Input,
92
84
  TinyOption: Option,
93
- TinyTree: Tree,
94
85
  TinyScrollbar: Scrollbar,
86
+ TinyButton: Button,
95
87
  TinyFilterBox: FilterBox,
96
88
  TinyTooltip: Tooltip,
97
89
  IconClose: iconClose(),
@@ -102,9 +94,15 @@ var _sfc_main = defineComponent({
102
94
  IconCheckedSur: iconCheckedSur(),
103
95
  IconLoading: iconLoading(),
104
96
  IconChevronRight: iconChevronRight(),
97
+ IconDownWard: iconDownWard(),
98
+ IconSearch: iconSearch(),
99
+ IconEllipsis: iconEllipsis(),
100
+ IconChevronUp: iconChevronUp(),
101
+ IconAddCircle: iconAddCircle(),
102
+ IconLoadingShadow: iconLoadingShadow(),
105
103
  TinyRecycleScroller: RecycleScroller
106
104
  },
107
- props: [].concat(props, ["id", "multiple", "name", "dataset", "readonly", "tabindex", "dropStyle", "valueField", "textField", "copyable", "size", "options", "showCheck", "showAlloption", "showProportion", "hideDrop", "modelValue", "showOverflowTooltip", "remote", "remoteConfig", "placement", "loading", "disabled", "valueKey", "clearable", "noDataText", "filterable", "loadingText", "noMatchText", "popperClass", "allowCreate", "placeholder", "remoteMethod", "filterMethod", "collapseTags", "autocomplete", "multipleLimit", "reserveKeyword", "automaticDropdown", "defaultFirstOption", "popperAppendToBody", "showDropdown", "expandTags", "renderType", "gridOp", "treeOp", "delay", "cacheOp", "isDropInheritWidth", "tagSelectable", "selectConfig", "radioConfig", "allowCopy", "textSplit", "autoClose", "queryDebounce", "ignoreEnter", "dropdownIcon", "disabledTooltipContent", "hoverExpand", "optimization", "displayOnly", "initQuery", "extraQueryParams", "shape", "label", "tip", "updateDelay", "showTips", "popperOptions", "title", "closeByMask", "searchPlaceholder", "blank", "allText"]),
105
+ props: [].concat(props, ["id", "multiple", "name", "dataset", "readonly", "tabindex", "dropStyle", "valueField", "textField", "copyable", "size", "options", "showCheck", "showAlloption", "showProportion", "hideDrop", "modelValue", "showOverflowTooltip", "remote", "remoteConfig", "placement", "loading", "disabled", "valueKey", "clearable", "noDataText", "filterable", "loadingText", "noMatchText", "popperClass", "allowCreate", "placeholder", "remoteMethod", "filterMethod", "collapseTags", "autocomplete", "multipleLimit", "reserveKeyword", "automaticDropdown", "defaultFirstOption", "popperAppendToBody", "showDropdown", "expandTags", "delay", "cacheOp", "isDropInheritWidth", "tagSelectable", "selectConfig", "radioConfig", "allowCopy", "textSplit", "autoClose", "queryDebounce", "ignoreEnter", "dropdownIcon", "disabledTooltipContent", "optimization", "displayOnly", "initQuery", "extraQueryParams", "shape", "label", "tip", "updateDelay", "showTips", "popperOptions", "title", "closeByMask", "searchPlaceholder", "blank", "allText", "maxTagWidth", "tagType", "clearNoMatchValue", "showAllTextTag", "hoverExpand", "clickExpand", "maxVisibleRows", "initLabel", "inputBoxType", "showEmptyValue"]),
108
106
  setup: function setup$1(props2, context) {
109
107
  return setup({
110
108
  props: props2,
@@ -162,11 +160,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
162
160
  var _component_tiny_filter_box = resolveComponent("tiny-filter-box");
163
161
  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
164
162
  var _component_tiny_tag = resolveComponent("tiny-tag");
163
+ var _component_icon_ellipsis = resolveComponent("icon-ellipsis");
164
+ var _component_icon_chevron_up = resolveComponent("icon-chevron-up");
165
165
  var _component_icon_copy = resolveComponent("icon-copy");
166
166
  var _component_icon_close = resolveComponent("icon-close");
167
167
  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
168
168
  var _component_tiny_input = resolveComponent("tiny-input");
169
- var _component_tiny_tree = resolveComponent("tiny-tree");
170
169
  var _component_tiny_option = resolveComponent("tiny-option");
171
170
  var _component_tiny_recycle_scroller = resolveComponent("tiny-recycle-scroller");
172
171
  var _component_tiny_scrollbar = resolveComponent("tiny-scrollbar");
@@ -178,16 +177,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
178
177
  "div",
179
178
  mergeProps({
180
179
  ref: "select",
181
- class: ["inline-block relative w-full outline-0 group [&_[data-tag=tiny-tag]]:max-w-[144px]", [_ctx.hoverExpand ? "align-top" : "", _ctx.$parent.$attrs.class]],
182
- onMouseleave: _cache[34] || (_cache[34] = withModifiers(function() {
180
+ "data-tag": "tiny-base-select",
181
+ class: ["inline-block relative w-full outline-0 group [&_[data-tag=tiny-tag]]:max-w-[144px]", [_ctx.hoverExpand ? "align-top is-hover-expand" : "", _ctx.clickExpand ? "is-click-expand" : "", (_ctx.state.inputHovering || _ctx.state.visible) && !_ctx.clickExpand ? "is-hover" : "", _ctx.state.showCollapseTag ? "collapse-tag-clicked" : "", _ctx.$parent.$attrs.class]],
182
+ onMouseleave: _cache[37] || (_cache[37] = withModifiers(function() {
183
183
  _ctx.state.selectHover = false;
184
184
  _ctx.state.inputHovering = false;
185
185
  }, ["self"])),
186
- onMouseenter: _cache[35] || (_cache[35] = withModifiers(function() {
186
+ onMouseenter: _cache[38] || (_cache[38] = withModifiers(function() {
187
187
  _ctx.state.selectHover = true;
188
188
  _ctx.state.inputHovering = true;
189
189
  }, ["self"])),
190
- onClick: _cache[36] || (_cache[36] = function() {
190
+ onClick: _cache[39] || (_cache[39] = function() {
191
191
  return _ctx.toggleMenu && _ctx.toggleMenu.apply(_ctx, arguments);
192
192
  })
193
193
  }, _ctx.a(_ctx.$attrs, ["class", "style"], true)),
@@ -217,8 +217,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
217
217
  return item.state ? item.state.currentLabel : item.currentLabel;
218
218
  }).join("; ") : _ctx.state.selectedLabel,
219
219
  "drop-down-visible": _ctx.state.visible,
220
- blank: _ctx.blank
221
- }, 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(
220
+ blank: _ctx.blank,
221
+ size: _ctx.state.selectSize
222
+ }, 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(
222
223
  "div",
223
224
  {
224
225
  key: 1,
@@ -228,11 +229,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
228
229
  }, {
229
230
  "overflow-y-hidden": (_ctx.state.inputHovering || _ctx.state.visible) && !_ctx.state.selected.length
230
231
  }, {
231
- "h-6 overflow-hidden": _ctx.hoverExpand
232
+ "h-6 overflow-hidden": _ctx.hoverExpand || _ctx.clickExpand
232
233
  }, {
233
234
  "pr-6": _ctx.state.selectDisabled
234
235
  }, {
235
- "overflow-y-auto max-h-28 h-auto": _ctx.hoverExpand && (_ctx.state.inputHovering || _ctx.state.visible)
236
+ "overflow-y-auto max-h-28 h-auto": _ctx.hoverExpand && (_ctx.state.inputHovering || _ctx.state.visible) || _ctx.clickExpand && _ctx.state.showCollapseTag
237
+ }, {
238
+ "overflow-x-hidden": !(_ctx.hoverExpand && (_ctx.state.inputHovering || _ctx.state.visible) || _ctx.clickExpand && _ctx.state.showCollapseTag)
236
239
  })),
237
240
  style: normalizeStyle(_ctx.state.tagsStyle)
238
241
  },
@@ -253,12 +256,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
253
256
  size: _ctx.state.collapseTagSize,
254
257
  hit: _ctx.state.selectedVal[0].state ? _ctx.state.selectedVal[0].state.hitState : _ctx.state.selectedVal[0].hitState,
255
258
  key: _ctx.state.key,
256
- type: "info",
259
+ type: _ctx.state.getTagType,
257
260
  class: normalizeClass(_ctx.gcls("tag-info")),
258
261
  onClose: _cache[1] || (_cache[1] = function($event) {
259
262
  return _ctx.deleteTag($event, _ctx.state.selectedVal[0]);
260
263
  }),
261
- "disable-transitions": ""
264
+ "disable-transitions": "",
265
+ maxWidth: _ctx.maxTagWidth
262
266
  }, {
263
267
  default: withCtx(function() {
264
268
  return [createVNode(
@@ -321,13 +325,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
321
325
  }),
322
326
  _: 3
323
327
  /* FORWARDED */
324
- }, 8, ["closable", "size", "hit", "class"])), _ctx.state.selectedVal.length > 1 ? (openBlock(), createBlock(_component_tiny_tag, {
328
+ }, 8, ["closable", "size", "hit", "type", "class", "maxWidth"])), _ctx.state.selectedVal.length > 1 ? (openBlock(), createBlock(_component_tiny_tag, {
325
329
  key: 0,
326
330
  closable: false,
327
331
  size: _ctx.state.collapseTagSize,
328
332
  class: normalizeClass(["overflow-visible", _ctx.gcls("tag-info")]),
329
- type: "info",
330
- "disable-transitions": ""
333
+ type: _ctx.state.getTagType,
334
+ "disable-transitions": "",
335
+ maxWidth: _ctx.maxTagWidth
331
336
  }, {
332
337
  default: withCtx(function() {
333
338
  return [createElementVNode(
@@ -342,128 +347,184 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
342
347
  }),
343
348
  _: 1
344
349
  /* STABLE */
345
- }, 8, ["size", "class"])) : createCommentVNode("v-if", true)],
350
+ }, 8, ["size", "class", "type", "maxWidth"])) : createCommentVNode("v-if", true)],
346
351
  2
347
352
  /* CLASS */
348
353
  )) : createCommentVNode("v-if", true), !_ctx.collapseTags ? (openBlock(), createElementBlock(
349
354
  "span",
350
355
  _hoisted_1,
351
- [_ctx.hoverExpand ? (openBlock(), createBlock(_component_tiny_tag, {
352
- class: normalizeClass(_ctx.m(_ctx.gcls("tag-info"), {
353
- "visible static": _ctx.hoverExpand
354
- }, {
355
- "invisible absolute": _ctx.hoverExpand && (_ctx.state.inputHovering || _ctx.state.visible || _ctx.state.isHidden)
356
- })),
357
- type: "info",
358
- "data-tag": "tags-collapse",
359
- key: "tags-collapse",
360
- closable: false,
361
- size: _ctx.state.collapseTagSize
356
+ [_ctx.showAllTextTag && _ctx.state.selectCls === "checked-sur" ? (openBlock(), createBlock(_component_tiny_tag, {
357
+ type: _ctx.state.getTagType,
358
+ key: "tags-all-text-tag",
359
+ "data-tag": "tags-all-text-tag",
360
+ disabled: _ctx.state.isDisabled,
361
+ closable: true,
362
+ size: _ctx.state.collapseTagSize,
363
+ onClose: _cache[2] || (_cache[2] = function($event) {
364
+ return _ctx.toggleCheckAll(false);
365
+ }),
366
+ maxWidth: _ctx.maxTagWidth
362
367
  }, {
363
368
  default: withCtx(function() {
364
369
  return [createTextVNode(
365
- "+ " + toDisplayString(_ctx.state.collapseTagsLength),
370
+ toDisplayString(_ctx.allText || _ctx.t("ui.base.all")),
366
371
  1
367
372
  /* TEXT */
368
373
  )];
369
374
  }),
370
375
  _: 1
371
376
  /* STABLE */
372
- }, 8, ["class", "size"])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
377
+ }, 8, ["type", "disabled", "size", "maxWidth"])) : (openBlock(), createElementBlock(
373
378
  Fragment,
374
- null,
375
- renderList(_ctx.state.selected, function(item, index) {
376
- return openBlock(), createBlock(_component_tiny_tag, {
377
- key: _ctx.getValueKey(item),
378
- closable: !item.selectDisabled && !item.required && _ctx.state.device !== "mb",
379
- size: _ctx.state.collapseTagSize,
380
- hit: item.state ? item.state.hitState : item.hitState,
381
- class: normalizeClass(_ctx.gcls("tag-info")),
382
- type: "info",
383
- onClose: function onClose($event) {
384
- return _ctx.deleteTag($event, item);
385
- },
386
- "disable-transitions": ""
379
+ {
380
+ key: 1
381
+ },
382
+ [(_ctx.hoverExpand || _ctx.clickExpand && !_ctx.state.showCollapseTag) && _ctx.state.selected.length > 1 ? (openBlock(), createBlock(_component_tiny_tag, {
383
+ class: normalizeClass(_ctx.m(_ctx.gcls("tag-info"), {
384
+ "visible static": _ctx.hoverExpand || _ctx.clickExpand && !_ctx.state.showCollapseTag
387
385
  }, {
388
- default: withCtx(function() {
389
- return [createVNode(_component_tiny_tooltip, {
390
- effect: "light",
391
- placement: "top",
392
- onMouseenter: function onMouseenter($event) {
393
- return _ctx.handleEnterTag($event, _ctx.getValueKey(item));
394
- }
395
- }, createSlots({
396
- default: withCtx(function() {
397
- return [!_ctx.state.visible && _ctx.state.overflow === index ? (openBlock(), createElementBlock(
398
- "span",
399
- {
400
- key: 0,
401
- class: normalizeClass(_ctx.gcls("tags-text"))
402
- },
403
- toDisplayString(item.state ? item.state.currentLabel + "... " : item.currentLabel + "... "),
404
- 3
405
- /* TEXT, CLASS */
406
- )) : (openBlock(), createElementBlock(
407
- "span",
408
- {
409
- key: 1,
410
- class: normalizeClass(_ctx.gcls("tags-text"))
411
- },
412
- [renderSlot(_ctx.$slots, "label", {
413
- item: _ctx.getLabelSlotValue(item)
414
- }, function() {
415
- return [createTextVNode(
416
- toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
417
- 1
418
- /* TEXT */
419
- )];
420
- })],
421
- 2
422
- /* CLASS */
423
- ))];
424
- }),
425
- _: 2
426
- /* DYNAMIC */
427
- }, [_ctx.state.tooltipContent[_ctx.getValueKey(item)] ? {
428
- name: "content",
429
- fn: withCtx(function() {
430
- return [!_ctx.state.visible && _ctx.state.overflow === index ? (openBlock(), createElementBlock(
431
- "span",
432
- {
433
- key: 0,
434
- class: normalizeClass(_ctx.gcls("tags-text"))
435
- },
436
- toDisplayString(item.state ? item.state.currentLabel + "... " : item.currentLabel + "... "),
437
- 3
438
- /* TEXT, CLASS */
439
- )) : (openBlock(), createElementBlock(
440
- "span",
441
- {
442
- key: 1,
443
- class: normalizeClass(_ctx.gcls("tags-text"))
444
- },
445
- [renderSlot(_ctx.$slots, "label", {
446
- item: _ctx.getLabelSlotValue(item)
447
- }, function() {
448
- return [createTextVNode(
449
- toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
450
- 1
451
- /* TEXT */
452
- )];
453
- })],
454
- 2
455
- /* CLASS */
456
- ))];
457
- }),
458
- key: "0"
459
- } : void 0]), 1032, ["onMouseenter"])];
460
- }),
461
- _: 2
462
- /* DYNAMIC */
463
- }, 1032, ["closable", "size", "hit", "class", "onClose"]);
464
- }),
465
- 128
466
- /* KEYED_FRAGMENT */
386
+ "invisible absolute": _ctx.hoverExpand && (_ctx.state.inputHovering || _ctx.state.visible || _ctx.state.isHidden)
387
+ }, {
388
+ "is-hidden": _ctx.clickExpand && _ctx.state.isHidden || _ctx.state.isDisabled
389
+ })),
390
+ type: _ctx.state.getTagType,
391
+ "data-tag": "tags-collapse",
392
+ key: "tags-collapse",
393
+ closable: false,
394
+ size: _ctx.state.collapseTagSize,
395
+ maxWidth: _ctx.maxTagWidth,
396
+ onClick: _cache[3] || (_cache[3] = function($event) {
397
+ return _ctx.onClickCollapseTag($event);
398
+ })
399
+ }, {
400
+ default: withCtx(function() {
401
+ return [_ctx.hoverExpand ? (openBlock(), createElementBlock(
402
+ Fragment,
403
+ {
404
+ key: 0
405
+ },
406
+ [createTextVNode(
407
+ "+ " + toDisplayString(_ctx.state.collapseTagsLength),
408
+ 1
409
+ /* TEXT */
410
+ )],
411
+ 64
412
+ /* STABLE_FRAGMENT */
413
+ )) : (openBlock(), createBlock(_component_icon_ellipsis, {
414
+ key: 1
415
+ }))];
416
+ }),
417
+ _: 1
418
+ /* STABLE */
419
+ }, 8, ["class", "type", "size", "maxWidth"])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
420
+ Fragment,
421
+ null,
422
+ renderList(_ctx.state.selected, function(item, index) {
423
+ return openBlock(), createBlock(_component_tiny_tag, {
424
+ key: _ctx.getValueKey(item),
425
+ closable: !item.selectDisabled && !item.required && _ctx.state.device !== "mb",
426
+ size: _ctx.state.collapseTagSize,
427
+ hit: item.state ? item.state.hitState : item.hitState,
428
+ class: normalizeClass(_ctx.gcls("tag-info")),
429
+ type: _ctx.state.getTagType,
430
+ onClose: function onClose($event) {
431
+ return _ctx.deleteTag($event, item);
432
+ },
433
+ "disable-transitions": "",
434
+ maxWidth: _ctx.maxTagWidth
435
+ }, {
436
+ default: withCtx(function() {
437
+ return [createVNode(_component_tiny_tooltip, {
438
+ effect: "light",
439
+ placement: "top",
440
+ onMouseenter: function onMouseenter($event) {
441
+ return _ctx.handleEnterTag($event, _ctx.getValueKey(item));
442
+ }
443
+ }, createSlots({
444
+ default: withCtx(function() {
445
+ return [!_ctx.state.visible && _ctx.state.overflow === index ? (openBlock(), createElementBlock(
446
+ "span",
447
+ {
448
+ key: 0,
449
+ class: normalizeClass(_ctx.gcls("tags-text"))
450
+ },
451
+ toDisplayString(item.state ? item.state.currentLabel + "... " : item.currentLabel + "... "),
452
+ 3
453
+ /* TEXT, CLASS */
454
+ )) : (openBlock(), createElementBlock(
455
+ "span",
456
+ {
457
+ key: 1,
458
+ class: normalizeClass(_ctx.gcls("tags-text"))
459
+ },
460
+ [renderSlot(_ctx.$slots, "label", {
461
+ item: _ctx.getLabelSlotValue(item)
462
+ }, function() {
463
+ return [createTextVNode(
464
+ toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
465
+ 1
466
+ /* TEXT */
467
+ )];
468
+ })],
469
+ 2
470
+ /* CLASS */
471
+ ))];
472
+ }),
473
+ _: 2
474
+ /* DYNAMIC */
475
+ }, [_ctx.state.tooltipContent[_ctx.getValueKey(item)] ? {
476
+ name: "content",
477
+ fn: withCtx(function() {
478
+ return [!_ctx.state.visible && _ctx.state.overflow === index ? (openBlock(), createElementBlock(
479
+ "span",
480
+ {
481
+ key: 0,
482
+ class: normalizeClass(_ctx.gcls("tags-text"))
483
+ },
484
+ toDisplayString(item.state ? item.state.currentLabel + "... " : item.currentLabel + "... "),
485
+ 3
486
+ /* TEXT, CLASS */
487
+ )) : (openBlock(), createElementBlock(
488
+ "span",
489
+ {
490
+ key: 1,
491
+ class: normalizeClass(_ctx.gcls("tags-text"))
492
+ },
493
+ [renderSlot(_ctx.$slots, "label", {
494
+ item: _ctx.getLabelSlotValue(item)
495
+ }, function() {
496
+ return [createTextVNode(
497
+ toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
498
+ 1
499
+ /* TEXT */
500
+ )];
501
+ })],
502
+ 2
503
+ /* CLASS */
504
+ ))];
505
+ }),
506
+ key: "0"
507
+ } : void 0]), 1032, ["onMouseenter"])];
508
+ }),
509
+ _: 2
510
+ /* DYNAMIC */
511
+ }, 1032, ["closable", "size", "hit", "class", "type", "onClose", "maxWidth"]);
512
+ }),
513
+ 128
514
+ /* KEYED_FRAGMENT */
515
+ )), _ctx.clickExpand && _ctx.state.showCollapseTag ? (openBlock(), createElementBlock("span", {
516
+ key: 1,
517
+ class: "text-xs text-color-brand cursor-pointer flex items-center",
518
+ onClick: _cache[4] || (_cache[4] = function($event) {
519
+ return _ctx.onClickCollapseTag($event);
520
+ })
521
+ }, [createTextVNode(
522
+ toDisplayString(_ctx.t("ui.select.collapse")) + " ",
523
+ 1
524
+ /* TEXT */
525
+ ), createVNode(_component_icon_chevron_up)])) : createCommentVNode("v-if", true)],
526
+ 64
527
+ /* STABLE_FRAGMENT */
467
528
  ))],
468
529
  512
469
530
  /* NEED_PATCH */
@@ -539,47 +600,47 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
539
600
  )), _ctx.filterable && !_ctx.state.selectDisabled ? withDirectives((openBlock(), createElementBlock("input", {
540
601
  key: 2,
541
602
  ref: "input",
542
- "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
603
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = function($event) {
543
604
  return _ctx.state.query = $event;
544
605
  }),
545
606
  type: "text",
546
607
  class: normalizeClass(["hidden sm:inline-block border-none outline-0 p-0 ml-px text-color-text-primary text-xs h-7 appearance-none bg-transparent", [_ctx.state.selectSize === "mini" ? "h-6" : "", _ctx.state.selectSize === "small" ? "h-9" : "", _ctx.state.selectSize === "medium" ? "h-8" : ""]]),
547
608
  disabled: _ctx.state.selectDisabled,
548
609
  autocomplete: _ctx.autocomplete,
549
- onFocus: _cache[3] || (_cache[3] = function() {
610
+ onFocus: _cache[6] || (_cache[6] = function() {
550
611
  return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
551
612
  }),
552
- onBlur: _cache[4] || (_cache[4] = function() {
613
+ onBlur: _cache[7] || (_cache[7] = function() {
553
614
  return _ctx.handleBlur && _ctx.handleBlur.apply(_ctx, arguments);
554
615
  }),
555
- onKeyup: _cache[5] || (_cache[5] = function() {
616
+ onKeyup: _cache[8] || (_cache[8] = function() {
556
617
  return _ctx.managePlaceholder && _ctx.managePlaceholder.apply(_ctx, arguments);
557
618
  }),
558
- onKeydown: [_cache[6] || (_cache[6] = function() {
619
+ onKeydown: [_cache[9] || (_cache[9] = function() {
559
620
  return _ctx.resetInputState && _ctx.resetInputState.apply(_ctx, arguments);
560
- }), _cache[7] || (_cache[7] = withKeys(withModifiers(function($event) {
621
+ }), _cache[10] || (_cache[10] = withKeys(withModifiers(function($event) {
561
622
  return _ctx.navigateOptions("next");
562
- }, ["prevent"]), ["down"])), _cache[8] || (_cache[8] = withKeys(withModifiers(function($event) {
623
+ }, ["prevent"]), ["down"])), _cache[11] || (_cache[11] = withKeys(withModifiers(function($event) {
563
624
  return _ctx.navigateOptions("prev");
564
- }, ["prevent"]), ["up"])), _cache[9] || (_cache[9] = withKeys(withModifiers(function() {
625
+ }, ["prevent"]), ["up"])), _cache[12] || (_cache[12] = withKeys(withModifiers(function() {
565
626
  return _ctx.selectOption && _ctx.selectOption.apply(_ctx, arguments);
566
- }, ["prevent"]), ["enter"])), _cache[10] || (_cache[10] = withKeys(withModifiers(function($event) {
627
+ }, ["prevent"]), ["enter"])), _cache[13] || (_cache[13] = withKeys(withModifiers(function($event) {
567
628
  return _ctx.state.visible = false;
568
- }, ["stop", "prevent"]), ["esc"])), _cache[11] || (_cache[11] = withKeys(function() {
629
+ }, ["stop", "prevent"]), ["esc"])), _cache[14] || (_cache[14] = withKeys(function() {
569
630
  return _ctx.deletePrevTag && _ctx.deletePrevTag.apply(_ctx, arguments);
570
- }, ["delete"])), _cache[12] || (_cache[12] = withKeys(function($event) {
631
+ }, ["delete"])), _cache[15] || (_cache[15] = withKeys(function($event) {
571
632
  return _ctx.state.visible = false;
572
633
  }, ["tab"]))],
573
- onCompositionstart: _cache[13] || (_cache[13] = function() {
634
+ onCompositionstart: _cache[16] || (_cache[16] = function() {
574
635
  return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
575
636
  }),
576
- onCompositionupdate: _cache[14] || (_cache[14] = function() {
637
+ onCompositionupdate: _cache[17] || (_cache[17] = function() {
577
638
  return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
578
639
  }),
579
- onCompositionend: _cache[15] || (_cache[15] = function() {
640
+ onCompositionend: _cache[18] || (_cache[18] = function() {
580
641
  return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
581
642
  }),
582
- onInput: _cache[16] || (_cache[16] = function() {
643
+ onInput: _cache[19] || (_cache[19] = function() {
583
644
  return _ctx.debouncedQueryChange && _ctx.debouncedQueryChange.apply(_ctx, arguments);
584
645
  }),
585
646
  style: normalizeStyle({
@@ -594,8 +655,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
594
655
  )) : createCommentVNode("v-if", true), !_ctx.shape ? (openBlock(), createBlock(_component_tiny_input, {
595
656
  key: 2,
596
657
  ref: "reference",
658
+ tiny_mode: "mobile-first",
597
659
  modelValue: _ctx.state.selectedLabel,
598
- "onUpdate:modelValue": _cache[19] || (_cache[19] = function($event) {
660
+ "onUpdate:modelValue": _cache[22] || (_cache[22] = function($event) {
599
661
  return _ctx.state.selectedLabel = $event;
600
662
  }),
601
663
  type: "text",
@@ -610,17 +672,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
610
672
  "display-only-content": _ctx.state.displayOnlyContent,
611
673
  unselectable: _ctx.state.readonly ? "on" : "off",
612
674
  "validate-event": false,
675
+ "show-empty-value": _ctx.showEmptyValue,
676
+ "input-box-type": _ctx.inputBoxType,
613
677
  tabindex: _ctx.multiple && _ctx.filterable ? "-1" : _ctx.tabindex,
614
678
  onFocus: _ctx.handleFocus,
615
679
  onBlur: _ctx.handleBlur,
616
680
  onKeyup: _ctx.debouncedOnInputChange,
617
- onKeydown: [_cache[20] || (_cache[20] = withKeys(withModifiers(function($event) {
681
+ onKeydown: [_cache[23] || (_cache[23] = withKeys(withModifiers(function($event) {
618
682
  return _ctx.navigateOptions("next");
619
- }, ["stop", "prevent"]), ["down"])), _cache[21] || (_cache[21] = withKeys(withModifiers(function($event) {
683
+ }, ["stop", "prevent"]), ["down"])), _cache[24] || (_cache[24] = withKeys(withModifiers(function($event) {
620
684
  return _ctx.navigateOptions("prev");
621
- }, ["stop", "prevent"]), ["up"])), withKeys(withModifiers(_ctx.selectOption, ["prevent"]), ["enter"]), _cache[22] || (_cache[22] = withKeys(withModifiers(function($event) {
685
+ }, ["stop", "prevent"]), ["up"])), withKeys(withModifiers(_ctx.selectOption, ["prevent"]), ["enter"]), _cache[25] || (_cache[25] = withKeys(withModifiers(function($event) {
622
686
  return _ctx.state.visible = false;
623
- }, ["stop", "prevent"]), ["esc"])), _cache[23] || (_cache[23] = withKeys(function($event) {
687
+ }, ["stop", "prevent"]), ["esc"])), _cache[26] || (_cache[26] = withKeys(function($event) {
624
688
  return _ctx.state.visible = false;
625
689
  }, ["tab"]))],
626
690
  onPaste: _ctx.debouncedOnInputChange,
@@ -632,7 +696,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
632
696
  return [renderSlot(_ctx.$slots, "suffix"), _ctx.state.showCopy ? (openBlock(), createElementBlock("span", {
633
697
  key: 0,
634
698
  class: "h-4 cursor-pointer relative z-[1]",
635
- onClick: _cache[17] || (_cache[17] = withModifiers(function() {
699
+ onClick: _cache[20] || (_cache[20] = withModifiers(function() {
636
700
  return _ctx.handleCopyClick && _ctx.handleCopyClick.apply(_ctx, arguments);
637
701
  }, ["stop"]))
638
702
  }, [createVNode(_component_icon_copy, {
@@ -651,10 +715,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
651
715
  "mr-1": _ctx.multiple && _ctx.state.showClose
652
716
  }]),
653
717
  onClick: _ctx.handleClearClick,
654
- onMouseenter: _cache[18] || (_cache[18] = function($event) {
718
+ onMouseenter: _cache[21] || (_cache[21] = function($event) {
655
719
  return _ctx.state.inputHovering = true;
656
720
  })
657
- }, null, 8, ["class", "onClick"])) : createCommentVNode("v-if", true), withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon), {
721
+ }, null, 8, ["class", "onClick"])) : createCommentVNode("v-if", true), withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.state.getIcon.icon), {
658
722
  class: normalizeClass(_ctx.m(_ctx.gcls("caret"), "hidden sm:inline-block", _ctx.state.iconClass, {
659
723
  "hidden": _ctx.state.selectDisabled
660
724
  }, {
@@ -674,7 +738,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
674
738
  return [renderSlot(_ctx.$slots, "prefix")];
675
739
  }),
676
740
  key: "0"
677
- } : void 0]), 1032, ["modelValue", "placeholder", "name", "id", "autocomplete", "size", "disabled", "readonly", "display-only", "display-only-content", "unselectable", "tabindex", "onFocus", "onBlur", "onKeyup", "onKeydown", "onPaste", "onMouseenter", "onMouseleave", "onCompositionend"])) : createCommentVNode("v-if", true), createVNode(Transition, {
741
+ } : void 0]), 1032, ["modelValue", "placeholder", "name", "id", "autocomplete", "size", "disabled", "readonly", "display-only", "display-only-content", "unselectable", "show-empty-value", "input-box-type", "tabindex", "onFocus", "onBlur", "onKeyup", "onKeydown", "onPaste", "onMouseenter", "onMouseleave", "onCompositionend"])) : createCommentVNode("v-if", true), createVNode(Transition, {
678
742
  onBeforeEnter: _ctx.handleMenuEnter,
679
743
  onAfterLeave: _ctx.doDestroy,
680
744
  persisted: ""
@@ -703,7 +767,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
703
767
  ref: "input",
704
768
  type: "text",
705
769
  modelValue: _ctx.state.query,
706
- "onUpdate:modelValue": _cache[24] || (_cache[24] = function($event) {
770
+ "onUpdate:modelValue": _cache[27] || (_cache[27] = function($event) {
707
771
  return _ctx.state.query = $event;
708
772
  }),
709
773
  placeholder: _ctx.placeholder,
@@ -713,33 +777,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
713
777
  }, null, 8, ["modelValue", "placeholder", "onInput", "onFocus"])],
714
778
  2
715
779
  /* CLASS */
716
- )) : createCommentVNode("v-if", true), _ctx.renderType === "tree" ? (openBlock(), createBlock(_component_tiny_tree, mergeProps({
717
- key: 1,
718
- class: "[&_[data-tag=tiny-checkbox]_>span_>span]:p-1.5 sm:[&_[data-tag=tiny-checkbox]_>span_>span]:p-0",
719
- "filter-node-method": _ctx.filterMethod,
720
- props: _extends({
721
- label: _ctx.textField,
722
- isLeaf: "isLeaf"
723
- }, _ctx.treeOp.props),
724
- "expand-on-click-node": false,
725
- "icon-trigger-click-node": false,
726
- "node-key": _ctx.valueField,
727
- "default-expand-all": _ctx.state.isExpandAll,
728
- "check-strictly": _ctx.treeOp.checkStrictly,
729
- "default-checked-keys": _ctx.multiple ? _ctx.state.defaultCheckedKeys : [],
730
- ref: "selectTree",
731
- "current-node-key": !_ctx.multiple ? _ctx.state.currentKey : "",
732
- "show-checkbox": _ctx.multiple,
733
- onLoadData: _ctx.loadTreeData,
734
- onNodeCollapse: _ctx.nodeCollapse,
735
- onNodeExpand: _ctx.nodeExpand,
736
- onCheck: _ctx.nodeCheckClick,
737
- onNodeClick: _ctx.treeNodeClick,
738
- "show-checked-mark": _ctx.state.device === "mb"
739
- }, _ctx.treeOp), null, 16, ["filter-node-method", "props", "node-key", "default-expand-all", "check-strictly", "default-checked-keys", "current-node-key", "show-checkbox", "onLoadData", "onNodeCollapse", "onNodeExpand", "onCheck", "onNodeClick", "show-checked-mark"])) : createCommentVNode("v-if", true), _ctx.optimization && _ctx.renderType !== "tree" ? (openBlock(), createElementBlock(
780
+ )) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "header"), renderSlot(_ctx.$slots, "panel", {
781
+ methods: {
782
+ updateSelectedData: _ctx.updateSelectedData,
783
+ hidePanel: _ctx.hidePanel
784
+ }
785
+ }), _ctx.optimization ? (openBlock(), createElementBlock(
740
786
  "div",
741
787
  {
742
- key: 2,
788
+ key: 1,
743
789
  style: normalizeStyle({
744
790
  height: _ctx.state.optimizeStore.recycleScrollerHeight + "px"
745
791
  })
@@ -777,7 +823,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
777
823
  required: item.required,
778
824
  "highlight-class": item._highlightClass,
779
825
  events: item.events,
780
- onMousedown: _cache[25] || (_cache[25] = withModifiers(function() {
826
+ onMousedown: _cache[28] || (_cache[28] = withModifiers(function() {
781
827
  }, ["stop"]))
782
828
  }, null, 8, ["label", "value", "disabled", "required", "highlight-class", "events"]))];
783
829
  })];
@@ -787,13 +833,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
787
833
  }, 8, ["key-field", "list-class", "items", "item-size"])), [[vShow, !_ctx.state.emptyFlag && !_ctx.loading]])],
788
834
  4
789
835
  /* STYLE */
790
- )) : createCommentVNode("v-if", true), !_ctx.optimization && _ctx.renderType !== "tree" ? withDirectives((openBlock(), createBlock(_component_tiny_scrollbar, {
791
- key: 3,
836
+ )) : createCommentVNode("v-if", true), !_ctx.optimization ? withDirectives((openBlock(), createBlock(_component_tiny_scrollbar, {
837
+ key: 2,
792
838
  ref: "scrollbar",
793
839
  tag: "ul",
794
840
  "wrap-class": ["tiny-select-dropdown__wrap sm:max-h-56 pb-1 sm:pb-0", _ctx.state.device === "mb" ? "scrollbar-size-0" : ""],
795
841
  "view-class": ["tiny-select-dropdown__list"],
796
- onMousedown: _cache[33] || (_cache[33] = withModifiers(function() {
842
+ onMousedown: _cache[36] || (_cache[36] = withModifiers(function() {
797
843
  }, ["stop"]))
798
844
  }, {
799
845
  default: withCtx(function() {
@@ -801,23 +847,23 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
801
847
  "div",
802
848
  {
803
849
  key: 0,
804
- class: normalizeClass(["whitespace-nowrap box-border py-0 h-10 leading-10 sm:h-8 sm:leading-8 text-sm sm:text-xs pl-0 pr-3 sm:px-3 my-1 sm:m-1 rounded cursor-pointer", [{
850
+ class: normalizeClass(["whitespace-nowrap box-border py-0 h-10 leading-10 sm:h-8 sm:leading-8 text-sm sm:text-xs pl-0 pr-3 sm:px-2 my-1 sm:m-1 rounded cursor-pointer", [{
805
851
  hover: _ctx.state.hoverIndex === -9 && _ctx.state.selectCls !== "checked-sur"
806
852
  }, {
807
853
  "text-color-brand sm:bg-color-fill-6 bg-color-bg-1": _ctx.state.selectCls === "checked-sur"
808
854
  }]]),
809
855
  "data-tag": "tiny-option",
810
- onClick: _cache[26] || (_cache[26] = withModifiers(function($event) {
856
+ onClick: _cache[29] || (_cache[29] = withModifiers(function($event) {
811
857
  return _ctx.toggleCheckAll(false);
812
858
  }, ["stop"])),
813
- onMousedown: _cache[27] || (_cache[27] = withModifiers(function() {
859
+ onMousedown: _cache[30] || (_cache[30] = withModifiers(function() {
814
860
  }, ["stop"])),
815
- onMouseenter: _cache[28] || (_cache[28] = function($event) {
861
+ onMouseenter: _cache[31] || (_cache[31] = function($event) {
816
862
  return _ctx.state.hoverIndex = -9;
817
863
  })
818
864
  },
819
865
  [(openBlock(), createBlock(resolveDynamicComponent("icon-" + _ctx.state.selectCls), {
820
- class: normalizeClass(_ctx.m(["-mt-0.5 mr-2 fill-color-icon-secondary", _ctx.state.selectCls !== "check" && "fill-color-brand"]))
866
+ class: normalizeClass(_ctx.m(["-mt-0.5 mr-2 fill-color-icon-secondary w-3.5 h-3.5", _ctx.state.selectCls !== "check" && "fill-color-brand text-color-brand"]))
821
867
  }, null, 8, ["class"])), createElementVNode(
822
868
  "span",
823
869
  {
@@ -833,18 +879,18 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
833
879
  "div",
834
880
  {
835
881
  key: 1,
836
- class: normalizeClass(["whitespace-nowrap box-border py-0 h-10 leading-10 sm:h-8 sm:leading-8 text-sm sm:text-xs pl-0 pr-3 sm:px-3 my-1 sm:m-1 rounded cursor-pointer", [{
882
+ class: normalizeClass(["whitespace-nowrap box-border py-0 h-10 leading-10 sm:h-8 sm:leading-8 text-sm sm:text-xs pl-0 pr-3 sm:px-2 my-1 sm:m-1 rounded cursor-pointer", [{
837
883
  hover: _ctx.state.hoverIndex === -9 && _ctx.state.filteredSelectCls !== "checked-sur"
838
884
  }, {
839
885
  "text-color-brand sm:bg-color-fill-6 bg-color-bg-1": _ctx.state.filteredSelectCls === "checked-sur"
840
886
  }]]),
841
887
  "data-tag": "tiny-option",
842
- onClick: _cache[29] || (_cache[29] = withModifiers(function($event) {
888
+ onClick: _cache[32] || (_cache[32] = withModifiers(function($event) {
843
889
  return _ctx.toggleCheckAll(true);
844
890
  }, ["stop"])),
845
- onMousedown: _cache[30] || (_cache[30] = withModifiers(function() {
891
+ onMousedown: _cache[33] || (_cache[33] = withModifiers(function() {
846
892
  }, ["stop"])),
847
- onMouseenter: _cache[31] || (_cache[31] = function($event) {
893
+ onMouseenter: _cache[34] || (_cache[34] = function($event) {
848
894
  return _ctx.state.hoverIndex = -9;
849
895
  })
850
896
  },
@@ -879,7 +925,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
879
925
  required: item.required,
880
926
  "highlight-class": item._highlightClass,
881
927
  events: item.events,
882
- onMousedown: _cache[32] || (_cache[32] = withModifiers(function() {
928
+ onMousedown: _cache[35] || (_cache[35] = withModifiers(function() {
883
929
  }, ["stop"]))
884
930
  }, null, 8, ["label", "value", "disabled", "required", "highlight-class", "events"]);
885
931
  }),
@@ -890,10 +936,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
890
936
  }),
891
937
  _: 3
892
938
  /* FORWARDED */
893
- }, 8, ["wrap-class"])), [[vShow, _ctx.state.options.length > 0 && !_ctx.loading]]) : createCommentVNode("v-if", true), _ctx.renderType !== "tree" && _ctx.state.emptyText && (!_ctx.allowCreate || _ctx.loading || _ctx.allowCreate && _ctx.state.emptyFlag) ? (openBlock(), createElementBlock(
939
+ }, 8, ["wrap-class"])), [[vShow, _ctx.state.options.length > 0 && !_ctx.loading]]) : createCommentVNode("v-if", true), !_ctx.slots.panel && _ctx.state.emptyText && (!_ctx.allowCreate || _ctx.loading || _ctx.allowCreate && _ctx.state.emptyFlag) ? (openBlock(), createElementBlock(
894
940
  Fragment,
895
941
  {
896
- key: 4
942
+ key: 3
897
943
  },
898
944
  [_ctx.loadingText || _ctx.slots.empty ? (openBlock(), createElementBlock("div", _hoisted_7, [_ctx.slots.empty ? renderSlot(_ctx.$slots, "empty", {
899
945
  key: 0
@@ -915,11 +961,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
915
961
  }))]))],
916
962
  64
917
963
  /* STABLE_FRAGMENT */
918
- )) : createCommentVNode("v-if", true)];
964
+ )) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "footer")];
919
965
  }),
920
966
  _: 3
921
967
  /* FORWARDED */
922
- }, 8, ["title", "close-by-mask", "search-placeholder", "is-drop-inherit-width", "placement", "append-to-body", "style", "popper-options", "class"]), [[vShow, !_ctx.onCopying() && !_ctx.hideDrop && _ctx.state.visible && _ctx.state.emptyText !== false]])];
968
+ }, 8, ["title", "close-by-mask", "search-placeholder", "is-drop-inherit-width", "placement", "append-to-body", "style", "popper-options", "class"]), [[vShow, !_ctx.onCopying() && !_ctx.hideDrop && _ctx.state.visible && (_ctx.slots.panel || _ctx.state.emptyText !== false)]])];
923
969
  }),
924
970
  _: 3
925
971
  /* FORWARDED */