@tagplus/components 5.2.19 → 5.3.1

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 (146) hide show
  1. package/dist/es/_virtual/_plugin-vue_export-helper.mjs +10 -0
  2. package/dist/es/components.css +2391 -0
  3. package/dist/es/node_modules/@element-plus/icons-vue/dist/index.mjs +148 -0
  4. package/dist/es/node_modules/@popperjs/core/lib/enums.mjs +22 -0
  5. package/dist/es/node_modules/@vue/shared/dist/shared.esm-bundler.mjs +28 -0
  6. package/dist/es/node_modules/@vueuse/core/index.mjs +172 -0
  7. package/dist/es/node_modules/@vueuse/shared/index.mjs +68 -0
  8. package/dist/es/node_modules/element-plus/es/constants/size.mjs +4 -0
  9. package/dist/es/node_modules/element-plus/es/hooks/use-focus-controller/index.mjs +64 -0
  10. package/dist/es/node_modules/element-plus/es/hooks/use-id/index.mjs +30 -0
  11. package/dist/es/node_modules/element-plus/es/hooks/use-locale/index.mjs +29 -0
  12. package/dist/es/node_modules/element-plus/es/hooks/use-namespace/index.mjs +79 -0
  13. package/dist/es/node_modules/element-plus/es/hooks/use-prop/index.mjs +11 -0
  14. package/dist/es/node_modules/element-plus/es/hooks/use-size/index.mjs +20 -0
  15. package/dist/es/node_modules/element-plus/es/locale/lang/en.mjs +182 -0
  16. package/dist/es/node_modules/element-plus/es/utils/error.mjs +16 -0
  17. package/dist/es/node_modules/element-plus/es/utils/types.mjs +9 -0
  18. package/dist/es/node_modules/element-plus/es/utils/vue/props/runtime.mjs +42 -0
  19. package/dist/es/src/components/Autosuggest/Autosuggest.vue.mjs +446 -0
  20. package/dist/es/src/components/Autosuggest/Multisuggest.vue.mjs +17 -0
  21. package/dist/es/src/components/Autosuggest/autosuggest-props.mjs +204 -0
  22. package/dist/es/src/components/Autosuggest/core.mjs +56 -0
  23. package/dist/es/src/components/Autosuggest/multisuggest-props.mjs +11 -0
  24. package/dist/es/src/components/Autosuggest/option.vue.mjs +118 -0
  25. package/dist/es/src/components/Autosuggest/select-dropdown.vue.mjs +62 -0
  26. package/dist/es/src/components/Autosuggest/useOption.mjs +93 -0
  27. package/dist/es/src/components/Autosuggest/useSelect.mjs +803 -0
  28. package/dist/es/src/components/Inline/Inline.vue.mjs +125 -0
  29. package/dist/es/src/components/Inline/index.mjs +4 -0
  30. package/dist/es/src/components/InputNumber/InputNumber.vue.mjs +360 -0
  31. package/dist/es/src/components/InputNumber/index.mjs +4 -0
  32. package/dist/es/src/components/InputNumber/input-number.mjs +128 -0
  33. package/dist/es/src/components/Loader/Loader.vue.mjs +59 -0
  34. package/dist/es/src/components/Loader/index.mjs +4 -0
  35. package/dist/es/src/components/Money/Money.vue.mjs +72 -0
  36. package/dist/es/src/components/Money/index.mjs +4 -0
  37. package/dist/es/src/components/Multisuggest/index.mjs +4 -0
  38. package/dist/es/src/components/OptionsList/OptionsList.vue.mjs +28 -0
  39. package/dist/es/src/components/OptionsList/index.mjs +4 -0
  40. package/dist/es/src/components/OptionsListItem/OptionsListItem.vue.mjs +96 -0
  41. package/dist/es/src/components/OptionsListItem/index.mjs +4 -0
  42. package/dist/es/src/components/Percent/Percent.vue.mjs +73 -0
  43. package/dist/es/src/components/Percent/index.mjs +4 -0
  44. package/dist/es/src/components/Skeleton/Skeleton.vue.mjs +79 -0
  45. package/dist/es/src/components/Skeleton/index.mjs +4 -0
  46. package/dist/es/src/components/Step/Step.vue.mjs +206 -0
  47. package/dist/es/src/components/Step/index.mjs +4 -0
  48. package/dist/es/src/components/Steps/Steps.vue.mjs +15 -0
  49. package/dist/es/src/components/Steps/index.mjs +4 -0
  50. package/dist/es/src/components/Tip/Tip.vue.mjs +160 -0
  51. package/dist/es/src/components/Tip/index.mjs +4 -0
  52. package/dist/es/src/components/index.mjs +32 -0
  53. package/dist/es/src/locale/i18nCreator.mjs +93 -0
  54. package/dist/es/src/locale/lang/pt-br.mjs +21 -0
  55. package/dist/es/src/main.mjs +17 -0
  56. package/dist/es/src/mixins/floatFormatter.mjs +42 -0
  57. package/dist/es/src/plugins/currency.mjs +69 -0
  58. package/dist/es/src/utils/constants.mjs +6 -0
  59. package/dist/es/src/utils/error.mjs +22 -0
  60. package/dist/es/src/utils/i18n.mjs +4 -0
  61. package/dist/es/src/utils/icon.mjs +9 -0
  62. package/dist/es/src/utils/index.mjs +11 -0
  63. package/dist/es/src/utils/runtime.mjs +50 -0
  64. package/dist/es/src/utils/scroll.mjs +28 -0
  65. package/dist/es/src/utils/strings.mjs +4 -0
  66. package/dist/es/src/utils/types.mjs +9 -0
  67. package/dist/es/src/utils/use-derived-namespace.mjs +15 -0
  68. package/dist/es/src/utils/use-form-common-props.mjs +25 -0
  69. package/dist/es/src/utils/use-form-item.mjs +61 -0
  70. package/dist/es/src/utils/use-id.mjs +35 -0
  71. package/dist/es/src/utils/use-input.mjs +31 -0
  72. package/dist/lib/_virtual/_plugin-vue_export-helper.js +10 -0
  73. package/dist/lib/components.css +2391 -0
  74. package/dist/lib/node_modules/@element-plus/icons-vue/dist/index.js +148 -0
  75. package/dist/lib/node_modules/@popperjs/core/lib/enums.js +22 -0
  76. package/dist/lib/node_modules/@vue/shared/dist/shared.esm-bundler.js +28 -0
  77. package/dist/lib/node_modules/@vueuse/core/index.js +170 -0
  78. package/dist/lib/node_modules/@vueuse/shared/index.js +68 -0
  79. package/dist/lib/node_modules/element-plus/es/constants/size.js +4 -0
  80. package/dist/lib/node_modules/element-plus/es/hooks/use-focus-controller/index.js +64 -0
  81. package/dist/lib/node_modules/element-plus/es/hooks/use-id/index.js +30 -0
  82. package/dist/lib/node_modules/element-plus/es/hooks/use-locale/index.js +29 -0
  83. package/dist/lib/node_modules/element-plus/es/hooks/use-namespace/index.js +79 -0
  84. package/dist/lib/node_modules/element-plus/es/hooks/use-prop/index.js +11 -0
  85. package/dist/lib/node_modules/element-plus/es/hooks/use-size/index.js +20 -0
  86. package/dist/lib/node_modules/element-plus/es/locale/lang/en.js +182 -0
  87. package/dist/lib/node_modules/element-plus/es/utils/error.js +16 -0
  88. package/dist/lib/node_modules/element-plus/es/utils/types.js +9 -0
  89. package/dist/lib/node_modules/element-plus/es/utils/vue/props/runtime.js +42 -0
  90. package/dist/lib/src/components/Autosuggest/Autosuggest.vue.js +446 -0
  91. package/dist/lib/src/components/Autosuggest/Multisuggest.vue.js +17 -0
  92. package/dist/lib/src/components/Autosuggest/autosuggest-props.js +204 -0
  93. package/dist/lib/src/components/Autosuggest/core.js +56 -0
  94. package/dist/lib/src/components/Autosuggest/multisuggest-props.js +11 -0
  95. package/dist/lib/src/components/Autosuggest/option.vue.js +118 -0
  96. package/dist/lib/src/components/Autosuggest/select-dropdown.vue.js +62 -0
  97. package/dist/lib/src/components/Autosuggest/useOption.js +93 -0
  98. package/dist/lib/src/components/Autosuggest/useSelect.js +803 -0
  99. package/dist/lib/src/components/Inline/Inline.vue.js +125 -0
  100. package/dist/lib/src/components/Inline/index.js +4 -0
  101. package/dist/lib/src/components/InputNumber/InputNumber.vue.js +360 -0
  102. package/dist/lib/src/components/InputNumber/index.js +4 -0
  103. package/dist/lib/src/components/InputNumber/input-number.js +128 -0
  104. package/dist/lib/src/components/Loader/Loader.vue.js +59 -0
  105. package/dist/lib/src/components/Loader/index.js +4 -0
  106. package/dist/lib/src/components/Money/Money.vue.js +72 -0
  107. package/dist/lib/src/components/Money/index.js +4 -0
  108. package/dist/lib/src/components/Multisuggest/index.js +4 -0
  109. package/dist/lib/src/components/OptionsList/OptionsList.vue.js +28 -0
  110. package/dist/lib/src/components/OptionsList/index.js +4 -0
  111. package/dist/lib/src/components/OptionsListItem/OptionsListItem.vue.js +96 -0
  112. package/dist/lib/src/components/OptionsListItem/index.js +4 -0
  113. package/dist/lib/src/components/Percent/Percent.vue.js +73 -0
  114. package/dist/lib/src/components/Percent/index.js +4 -0
  115. package/dist/lib/src/components/Skeleton/Skeleton.vue.js +79 -0
  116. package/dist/lib/src/components/Skeleton/index.js +4 -0
  117. package/dist/lib/src/components/Step/Step.vue.js +206 -0
  118. package/dist/lib/src/components/Step/index.js +4 -0
  119. package/dist/lib/src/components/Steps/Steps.vue.js +15 -0
  120. package/dist/lib/src/components/Steps/index.js +4 -0
  121. package/dist/lib/src/components/Tip/Tip.vue.js +160 -0
  122. package/dist/lib/src/components/Tip/index.js +4 -0
  123. package/dist/lib/src/components/index.js +32 -0
  124. package/dist/lib/src/locale/i18nCreator.js +93 -0
  125. package/dist/lib/src/locale/lang/pt-br.js +21 -0
  126. package/dist/lib/src/main.js +17 -0
  127. package/dist/lib/src/mixins/floatFormatter.js +42 -0
  128. package/dist/lib/src/plugins/currency.js +69 -0
  129. package/dist/lib/src/utils/constants.js +6 -0
  130. package/dist/lib/src/utils/error.js +22 -0
  131. package/dist/lib/src/utils/i18n.js +4 -0
  132. package/dist/lib/src/utils/icon.js +9 -0
  133. package/dist/lib/src/utils/index.js +14 -0
  134. package/dist/lib/src/utils/runtime.js +50 -0
  135. package/dist/lib/src/utils/scroll.js +28 -0
  136. package/dist/lib/src/utils/strings.js +4 -0
  137. package/dist/lib/src/utils/types.js +12 -0
  138. package/dist/lib/src/utils/use-derived-namespace.js +15 -0
  139. package/dist/lib/src/utils/use-form-common-props.js +25 -0
  140. package/dist/lib/src/utils/use-form-item.js +61 -0
  141. package/dist/lib/src/utils/use-id.js +35 -0
  142. package/dist/lib/src/utils/use-input.js +31 -0
  143. package/package.json +18 -15
  144. package/dist/main.bundle.js +0 -2
  145. package/dist/main.bundle.js.LICENSE.txt +0 -15
  146. package/dist/main.css +0 -11
@@ -0,0 +1,446 @@
1
+ import { defineComponent, resolveComponent, resolveDirective, withDirectives, createElementBlock, openBlock, withModifiers, normalizeClass, createVNode, withCtx, createCommentVNode, Fragment, renderList, createBlock, renderSlot, createElementVNode, createTextVNode, toDisplayString, vShow, normalizeStyle, withKeys, vModelText } from "vue";
2
+ import autosuggestCore from "./core.mjs";
3
+ import autosuggestProps from "./autosuggest-props.mjs";
4
+ /* empty css */
5
+ import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
6
+ const autosuggestDefinition = autosuggestCore("TpAutosuggest", autosuggestProps);
7
+ const _sfc_main = defineComponent(autosuggestDefinition);
8
+ const _hoisted_1 = {
9
+ ref: "selectionRef",
10
+ class: "el-select__selection"
11
+ };
12
+ const _hoisted_2 = {
13
+ class: /* @__PURE__ */ normalizeClass(["el-select__input-wrapper"])
14
+ };
15
+ const _hoisted_3 = {
16
+ key: 0,
17
+ class: "el-input el-input-group el-input-group--append el-input-group--prepend el-select__input"
18
+ };
19
+ const _hoisted_4 = { class: "el-input-group__prepend" };
20
+ const _hoisted_5 = { class: "el-input__wrapper" };
21
+ const _hoisted_6 = ["id", "size", "aria-activedescendant", "aria-controls", "aria-expanded", "aria-label", "name"];
22
+ const _hoisted_7 = { class: "el-input-group__append" };
23
+ const _hoisted_8 = ["id"];
24
+ const _hoisted_9 = {
25
+ key: 1,
26
+ class: "el-input el-select__input is-disabled"
27
+ };
28
+ const _hoisted_10 = { class: "el-input__wrapper" };
29
+ const _hoisted_11 = ["id"];
30
+ const _hoisted_12 = {
31
+ key: 0,
32
+ class: "el-select-dropdown__loading"
33
+ };
34
+ const _hoisted_13 = {
35
+ key: 1,
36
+ class: "el-select-dropdown__empty"
37
+ };
38
+ const _hoisted_14 = {
39
+ key: 2,
40
+ class: "el-select-dropdown__footer"
41
+ };
42
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
43
+ const _component_el_divider = resolveComponent("el-divider");
44
+ const _component_el_tag = resolveComponent("el-tag");
45
+ const _component_el_tooltip = resolveComponent("el-tooltip");
46
+ const _component_el_icon = resolveComponent("el-icon");
47
+ const _component_ArrowDown = resolveComponent("ArrowDown");
48
+ const _component_el_row = resolveComponent("el-row");
49
+ const _component_el_option = resolveComponent("el-option");
50
+ const _component_el_scrollbar = resolveComponent("el-scrollbar");
51
+ const _component_el_select_menu = resolveComponent("el-select-menu");
52
+ const _directive_click_outside = resolveDirective("click-outside");
53
+ return withDirectives((openBlock(), createElementBlock("div", {
54
+ ref: "selectRef",
55
+ class: normalizeClass(["tp-autosuggest", _ctx.nsSelect.b(), _ctx.nsSelect.m(_ctx.selectSize)]),
56
+ onMouseenter: _cache[14] || (_cache[14] = ($event) => _ctx.states.inputHovering = true),
57
+ onMouseleave: _cache[15] || (_cache[15] = ($event) => _ctx.states.inputHovering = false),
58
+ onClick: _cache[16] || (_cache[16] = withModifiers((...args) => _ctx.toggleMenu && _ctx.toggleMenu(...args), ["stop"]))
59
+ }, [
60
+ createVNode(_component_el_tooltip, {
61
+ ref: "tooltipRef",
62
+ visible: _ctx.dropdownMenuVisible,
63
+ placement: _ctx.placement,
64
+ teleported: _ctx.teleported,
65
+ "popper-options": _ctx.popperOptions,
66
+ "popper-class": ["el-select__popper", _ctx.popperClass],
67
+ "fallback-placements": ["bottom-start", "top-start", "right", "left"],
68
+ effect: _ctx.effect,
69
+ pure: "",
70
+ trigger: "click",
71
+ transition: `${_ctx.nsSelect.namespace.value}-zoom-in-top`,
72
+ "stop-popper-mouse-event": false,
73
+ "gpu-acceleration": false,
74
+ persistent: _ctx.persistent,
75
+ onBeforeShow: _ctx.handleMenuEnter,
76
+ onHide: _cache[13] || (_cache[13] = ($event) => _ctx.states.isBeforeHide = false)
77
+ }, {
78
+ default: withCtx(() => {
79
+ var _a;
80
+ return [
81
+ createElementVNode("div", {
82
+ ref: "wrapperRef",
83
+ class: normalizeClass([
84
+ _ctx.nsSelect.is("focused", _ctx.isFocused),
85
+ _ctx.nsSelect.is("hovering", _ctx.states.inputHovering),
86
+ _ctx.nsSelect.is("disabled", _ctx.selectDisabled)
87
+ ])
88
+ }, [
89
+ createElementVNode("div", _hoisted_1, [
90
+ createElementVNode("div", _hoisted_2, [
91
+ !_ctx.selectDisabled ? (openBlock(), createElementBlock("div", _hoisted_3, [
92
+ createElementVNode("div", _hoisted_4, [
93
+ _cache[17] || (_cache[17] = createElementVNode("div", { class: "tp-autosuggest-input-prepend-icon" }, [
94
+ createElementVNode("em", { class: "far fa-search" })
95
+ ], -1)),
96
+ createVNode(_component_el_divider, {
97
+ direction: "vertical",
98
+ class: "tp-autosuggest-vertical-divider"
99
+ })
100
+ ]),
101
+ createElementVNode("div", _hoisted_5, [
102
+ _ctx.multiple ? renderSlot(_ctx.$slots, "tag", { key: 0 }, () => [
103
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.showTagList, (item) => {
104
+ return openBlock(), createElementBlock("div", {
105
+ key: _ctx.getValueKey(item),
106
+ class: normalizeClass(_ctx.nsSelect.e("selected-item"))
107
+ }, [
108
+ createVNode(_component_el_tag, {
109
+ closable: !_ctx.selectDisabled && !item.isDisabled,
110
+ size: _ctx.collapseTagSize,
111
+ type: _ctx.tagType,
112
+ "disable-transitions": "",
113
+ style: normalizeStyle(_ctx.tagStyle),
114
+ onClose: ($event) => _ctx.deleteTag($event, item)
115
+ }, {
116
+ default: withCtx(() => [
117
+ createElementVNode("span", {
118
+ class: normalizeClass(_ctx.nsSelect.e("tags-text"))
119
+ }, toDisplayString(item.currentLabel), 3)
120
+ ]),
121
+ _: 2
122
+ }, 1032, ["closable", "size", "type", "style", "onClose"])
123
+ ], 2);
124
+ }), 128)),
125
+ _ctx.collapseTags && _ctx.states.selected.length > _ctx.maxCollapseTags ? (openBlock(), createBlock(_component_el_tooltip, {
126
+ key: 0,
127
+ ref: "tagTooltipRef",
128
+ disabled: _ctx.dropdownMenuVisible || !_ctx.collapseTagsTooltip,
129
+ "fallback-placements": ["bottom", "top", "right", "left"],
130
+ effect: _ctx.effect,
131
+ placement: "bottom",
132
+ teleported: _ctx.teleported
133
+ }, {
134
+ default: withCtx(() => [
135
+ createElementVNode("div", {
136
+ ref: "collapseItemRef",
137
+ class: normalizeClass(_ctx.nsSelect.e("selected-item"))
138
+ }, [
139
+ createVNode(_component_el_tag, {
140
+ closable: false,
141
+ size: _ctx.collapseTagSize,
142
+ type: _ctx.tagType,
143
+ "disable-transitions": "",
144
+ style: normalizeStyle(_ctx.collapseTagStyle)
145
+ }, {
146
+ default: withCtx(() => [
147
+ createElementVNode("span", {
148
+ class: normalizeClass(_ctx.nsSelect.e("tags-text"))
149
+ }, " + " + toDisplayString(_ctx.states.selected.length - _ctx.maxCollapseTags), 3)
150
+ ]),
151
+ _: 1
152
+ }, 8, ["size", "type", "style"])
153
+ ], 2)
154
+ ]),
155
+ content: withCtx(() => [
156
+ createElementVNode("div", {
157
+ ref: "tagMenuRef",
158
+ class: normalizeClass(_ctx.nsSelect.e("selection"))
159
+ }, [
160
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.collapseTagList, (item) => {
161
+ return openBlock(), createElementBlock("div", {
162
+ key: _ctx.getValueKey(item),
163
+ class: normalizeClass(_ctx.nsSelect.e("selected-item"))
164
+ }, [
165
+ createVNode(_component_el_tag, {
166
+ class: "in-tooltip",
167
+ closable: !_ctx.selectDisabled && !item.isDisabled,
168
+ size: _ctx.collapseTagSize,
169
+ type: _ctx.tagType,
170
+ "disable-transitions": "",
171
+ onClose: ($event) => _ctx.deleteTag($event, item)
172
+ }, {
173
+ default: withCtx(() => [
174
+ createElementVNode("span", {
175
+ class: normalizeClass(_ctx.nsSelect.e("tags-text"))
176
+ }, toDisplayString(item.currentLabel), 3)
177
+ ]),
178
+ _: 2
179
+ }, 1032, ["closable", "size", "type", "onClose"])
180
+ ], 2);
181
+ }), 128))
182
+ ], 2)
183
+ ]),
184
+ _: 1
185
+ }, 8, ["disabled", "effect", "teleported"])) : createCommentVNode("", true)
186
+ ], true) : createCommentVNode("", true),
187
+ withDirectives(createElementVNode("input", {
188
+ id: `${_ctx.myId}-input`,
189
+ ref: "inputRef",
190
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.states.inputValue = $event),
191
+ type: "text",
192
+ class: normalizeClass(["el-select__input el-input__inner", [_ctx.nsSelect.is(_ctx.selectSize)]]),
193
+ autocomplete: "off",
194
+ size: _ctx.selectSize,
195
+ style: normalizeStyle(_ctx.inputStyle),
196
+ role: "combobox",
197
+ spellcheck: "false",
198
+ "aria-activedescendant": ((_a = _ctx.hoverOption) == null ? void 0 : _a.id) || "",
199
+ "aria-controls": _ctx.contentId,
200
+ "aria-expanded": _ctx.dropdownMenuVisible,
201
+ "aria-label": _ctx.ariaLabel,
202
+ "aria-autocomplete": "none",
203
+ "aria-haspopup": "listbox",
204
+ name: _ctx.name,
205
+ onFocus: _cache[1] || (_cache[1] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
206
+ onBlur: _cache[2] || (_cache[2] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args)),
207
+ onKeydown: [
208
+ _cache[3] || (_cache[3] = withKeys(withModifiers(($event) => _ctx.navigateOptions("next"), ["stop", "prevent"]), ["down"])),
209
+ _cache[4] || (_cache[4] = withKeys(withModifiers(($event) => _ctx.navigateOptions("prev"), ["stop", "prevent"]), ["up"])),
210
+ _cache[5] || (_cache[5] = withKeys(withModifiers((...args) => _ctx.handleEsc && _ctx.handleEsc(...args), ["stop", "prevent"]), ["esc"])),
211
+ _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => _ctx.selectOption && _ctx.selectOption(...args), ["stop", "prevent"]), ["enter"])),
212
+ _cache[7] || (_cache[7] = withKeys(withModifiers((...args) => _ctx.deletePrevTag && _ctx.deletePrevTag(...args), ["stop"]), ["delete"]))
213
+ ],
214
+ onCompositionstart: _cache[8] || (_cache[8] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
215
+ onCompositionupdate: _cache[9] || (_cache[9] = (...args) => _ctx.handleCompositionUpdate && _ctx.handleCompositionUpdate(...args)),
216
+ onCompositionend: _cache[10] || (_cache[10] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args)),
217
+ onInput: _cache[11] || (_cache[11] = (...args) => _ctx.onInput && _ctx.onInput(...args)),
218
+ onClick: _cache[12] || (_cache[12] = withModifiers((...args) => _ctx.toggleMenu && _ctx.toggleMenu(...args), ["stop"]))
219
+ }, null, 46, _hoisted_6), [
220
+ [vModelText, _ctx.states.inputValue]
221
+ ]),
222
+ _ctx.shouldShowPlaceholder ? (openBlock(), createElementBlock("div", {
223
+ key: 1,
224
+ class: normalizeClass([
225
+ _ctx.nsSelect.e("selected-item"),
226
+ _ctx.nsSelect.e("placeholder"),
227
+ _ctx.nsSelect.is("transparent", !_ctx.hasModelValue || _ctx.expanded && !_ctx.states.inputValue)
228
+ ])
229
+ }, [
230
+ createElementVNode("span", null, toDisplayString(_ctx.currentPlaceholder), 1)
231
+ ], 2)) : createCommentVNode("", true)
232
+ ]),
233
+ createElementVNode("div", _hoisted_7, [
234
+ _ctx.states.selectedLabel ? (openBlock(), createBlock(_component_el_icon, {
235
+ key: 0,
236
+ id: `${_ctx.myId}-btn-clear`,
237
+ class: "tp-autosuggest-clear-icon fa fa-times-circle",
238
+ onClick: withModifiers(_ctx.clearTags, ["stop", "prevent"])
239
+ }, null, 8, ["id", "onClick"])) : createCommentVNode("", true),
240
+ createVNode(_component_el_row, {
241
+ justify: _ctx.states.selectedLabel ? "space-between" : "end",
242
+ align: "middle"
243
+ }, {
244
+ default: withCtx(() => [
245
+ createVNode(_component_el_row, {
246
+ align: "middle",
247
+ justify: "space-around",
248
+ class: "el-input__close"
249
+ }, {
250
+ default: withCtx(() => [
251
+ createVNode(_component_el_divider, {
252
+ direction: "vertical",
253
+ class: "tp-autosuggest-vertical-divider"
254
+ }),
255
+ !_ctx.showClose ? (openBlock(), createElementBlock("div", {
256
+ key: 0,
257
+ id: `${_ctx.myId}-btn-close`,
258
+ class: "tp-btn-close"
259
+ }, [
260
+ createVNode(_component_el_icon, {
261
+ class: normalizeClass(["el-select__caret", "el-select__icon", _ctx.iconReverse])
262
+ }, {
263
+ default: withCtx(() => [
264
+ createVNode(_component_ArrowDown)
265
+ ]),
266
+ _: 1
267
+ }, 8, ["class"])
268
+ ], 8, _hoisted_8)) : createCommentVNode("", true)
269
+ ]),
270
+ _: 1
271
+ })
272
+ ]),
273
+ _: 1
274
+ }, 8, ["justify"])
275
+ ])
276
+ ])) : (openBlock(), createElementBlock("div", _hoisted_9, [
277
+ createElementVNode("div", _hoisted_10, [
278
+ _ctx.multiple ? renderSlot(_ctx.$slots, "tag", { key: 0 }, () => [
279
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.showTagList, (item) => {
280
+ return openBlock(), createElementBlock("div", {
281
+ key: _ctx.getValueKey(item),
282
+ class: normalizeClass(_ctx.nsSelect.e("selected-item"))
283
+ }, [
284
+ createVNode(_component_el_tag, {
285
+ closable: false,
286
+ size: _ctx.collapseTagSize,
287
+ type: _ctx.tagType,
288
+ "disable-transitions": "",
289
+ style: normalizeStyle(_ctx.tagStyle)
290
+ }, {
291
+ default: withCtx(() => [
292
+ createElementVNode("span", {
293
+ class: normalizeClass(_ctx.nsSelect.e("tags-text"))
294
+ }, toDisplayString(item.currentLabel), 3)
295
+ ]),
296
+ _: 2
297
+ }, 1032, ["size", "type", "style"])
298
+ ], 2);
299
+ }), 128)),
300
+ _ctx.collapseTags && _ctx.states.selected.length > _ctx.maxCollapseTags ? (openBlock(), createBlock(_component_el_tooltip, {
301
+ key: 0,
302
+ ref: "tagTooltipRef",
303
+ disabled: _ctx.dropdownMenuVisible || !_ctx.collapseTagsTooltip,
304
+ "fallback-placements": ["bottom", "top", "right", "left"],
305
+ effect: _ctx.effect,
306
+ placement: "bottom",
307
+ teleported: _ctx.teleported
308
+ }, {
309
+ default: withCtx(() => [
310
+ createElementVNode("div", {
311
+ ref: "collapseItemRef",
312
+ class: normalizeClass(_ctx.nsSelect.e("selected-item"))
313
+ }, [
314
+ createVNode(_component_el_tag, {
315
+ closable: false,
316
+ size: _ctx.collapseTagSize,
317
+ type: _ctx.tagType,
318
+ "disable-transitions": "",
319
+ style: normalizeStyle(_ctx.collapseTagStyle)
320
+ }, {
321
+ default: withCtx(() => [
322
+ createElementVNode("span", {
323
+ class: normalizeClass(_ctx.nsSelect.e("tags-text"))
324
+ }, " + " + toDisplayString(_ctx.states.selected.length - _ctx.maxCollapseTags), 3)
325
+ ]),
326
+ _: 1
327
+ }, 8, ["size", "type", "style"])
328
+ ], 2)
329
+ ]),
330
+ content: withCtx(() => [
331
+ createElementVNode("div", {
332
+ ref: "tagMenuRef",
333
+ class: normalizeClass(_ctx.nsSelect.e("selection"))
334
+ }, [
335
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.collapseTagList, (item) => {
336
+ return openBlock(), createElementBlock("div", {
337
+ key: _ctx.getValueKey(item),
338
+ class: normalizeClass(_ctx.nsSelect.e("selected-item"))
339
+ }, [
340
+ createVNode(_component_el_tag, {
341
+ class: "in-tooltip",
342
+ closable: false,
343
+ size: _ctx.collapseTagSize,
344
+ type: _ctx.tagType,
345
+ "disable-transitions": ""
346
+ }, {
347
+ default: withCtx(() => [
348
+ createElementVNode("span", {
349
+ class: normalizeClass(_ctx.nsSelect.e("tags-text"))
350
+ }, toDisplayString(item.currentLabel), 3)
351
+ ]),
352
+ _: 2
353
+ }, 1032, ["size", "type"])
354
+ ], 2);
355
+ }), 128))
356
+ ], 2)
357
+ ]),
358
+ _: 1
359
+ }, 8, ["disabled", "effect", "teleported"])) : createCommentVNode("", true)
360
+ ], true) : createCommentVNode("", true),
361
+ _ctx.shouldShowPlaceholder ? (openBlock(), createElementBlock("div", {
362
+ key: 1,
363
+ class: normalizeClass([
364
+ _ctx.nsSelect.e("selected-item"),
365
+ _ctx.nsSelect.e("placeholder"),
366
+ _ctx.nsSelect.is("transparent", !_ctx.hasModelValue || _ctx.expanded && !_ctx.states.inputValue)
367
+ ])
368
+ }, [
369
+ createElementVNode("span", null, toDisplayString(_ctx.currentPlaceholder), 1)
370
+ ], 2)) : createCommentVNode("", true)
371
+ ])
372
+ ]))
373
+ ])
374
+ ], 512)
375
+ ], 2)
376
+ ];
377
+ }),
378
+ content: withCtx(() => [
379
+ createVNode(_component_el_select_menu, { ref: "menuRef" }, {
380
+ default: withCtx(() => [
381
+ withDirectives(createVNode(_component_el_scrollbar, {
382
+ id: _ctx.contentId,
383
+ ref: "scrollbarRef",
384
+ tag: "ul",
385
+ "wrap-class": "el-select-dropdown__wrap",
386
+ "view-class": "el-select-dropdown__list",
387
+ class: normalizeClass([_ctx.nsSelect.is("empty", _ctx.filteredOptionsCount === 0)]),
388
+ role: "listbox",
389
+ "aria-label": _ctx.ariaLabel,
390
+ "aria-orientation": "vertical"
391
+ }, {
392
+ default: withCtx(() => [
393
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.suggestionsList, (item, i) => {
394
+ return openBlock(), createBlock(_component_el_option, {
395
+ id: `${_ctx.myId}-option-${i}`,
396
+ key: i,
397
+ label: item[_ctx.labelKey],
398
+ value: item[_ctx.valueKey],
399
+ item,
400
+ created: item.created,
401
+ class: normalizeClass({ "created": item.created })
402
+ }, {
403
+ default: withCtx(() => [
404
+ item.created ? (openBlock(), createElementBlock("a", {
405
+ key: 0,
406
+ id: `${_ctx.myId}-btn-create`
407
+ }, [
408
+ _cache[18] || (_cache[18] = createElementVNode("em", { class: "far fa-plus" }, null, -1)),
409
+ createTextVNode(" " + toDisplayString(_ctx.newItem), 1)
410
+ ], 8, _hoisted_11)) : renderSlot(_ctx.$slots, "default", {
411
+ key: 1,
412
+ item
413
+ }, void 0, true)
414
+ ]),
415
+ _: 2
416
+ }, 1032, ["id", "label", "value", "item", "created", "class"]);
417
+ }), 128))
418
+ ]),
419
+ _: 3
420
+ }, 8, ["id", "class", "aria-label"]), [
421
+ [vShow, _ctx.states.options.size > 0 && !_ctx.loading]
422
+ ]),
423
+ _ctx.$slots.loading && _ctx.loading ? (openBlock(), createElementBlock("div", _hoisted_12, [
424
+ renderSlot(_ctx.$slots, "loading", {}, void 0, true)
425
+ ])) : _ctx.loading || _ctx.filteredOptionsCount === 0 ? (openBlock(), createElementBlock("div", _hoisted_13, [
426
+ renderSlot(_ctx.$slots, "empty", {}, () => [
427
+ createElementVNode("span", null, toDisplayString(_ctx.emptyText), 1)
428
+ ], true)
429
+ ])) : createCommentVNode("", true),
430
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_14, [
431
+ renderSlot(_ctx.$slots, "footer", {}, void 0, true)
432
+ ])) : createCommentVNode("", true)
433
+ ]),
434
+ _: 3
435
+ }, 512)
436
+ ]),
437
+ _: 3
438
+ }, 8, ["visible", "placement", "teleported", "popper-options", "popper-class", "effect", "transition", "persistent", "onBeforeShow"])
439
+ ], 34)), [
440
+ [_directive_click_outside, _ctx.handleClickOutside, _ctx.popperRef]
441
+ ]);
442
+ }
443
+ const Autosuggest = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-8f8ea081"]]);
444
+ export {
445
+ Autosuggest as default
446
+ };
@@ -0,0 +1,17 @@
1
+ import { defineComponent } from "vue";
2
+ import Autosuggest from "./Autosuggest.vue.mjs";
3
+ import autosuggestCore from "./core.mjs";
4
+ import multisuggestProps from "./multisuggest-props.mjs";
5
+ /* empty css */
6
+ import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
7
+ const multisuggestDefinition = autosuggestCore("TpMultisuggest", multisuggestProps);
8
+ const _sfc_main = defineComponent(
9
+ {
10
+ ...multisuggestDefinition,
11
+ extends: Autosuggest
12
+ }
13
+ );
14
+ const Multisuggest = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-959c4f16"]]);
15
+ export {
16
+ Multisuggest as default
17
+ };
@@ -0,0 +1,204 @@
1
+ import { placements } from "../../../node_modules/@popperjs/core/lib/enums.mjs";
2
+ const autosuggestProps = {
3
+ /**
4
+ * @deprecated
5
+ * Faz o retorno do input imitar o comportamento antigo que voltava idValue/[...idValues] se recebesse modelValue Object/[...Objects]
6
+ * na versão nova vai sempre devolver o Objeto completo quando possível
7
+ */
8
+ legacyModel: {
9
+ type: Boolean,
10
+ default: false
11
+ },
12
+ /**
13
+ * @description native input id
14
+ */
15
+ id: String,
16
+ /**
17
+ * @description the name attribute of select input
18
+ */
19
+ name: String,
20
+ modelValue: {
21
+ type: [Array, String, Number, Boolean, Object],
22
+ default: ""
23
+ },
24
+ /**
25
+ * Lista ou Objeto contendo conjunto de itens como opções ou sugestões do componente
26
+ */
27
+ suggestions: {
28
+ type: [Array, Object],
29
+ required: true
30
+ },
31
+ /**
32
+ * Informa o campo correspondente em cada item referente ao valor sendo selecionado
33
+ */
34
+ valueKey: {
35
+ type: String,
36
+ default: "id"
37
+ },
38
+ /**
39
+ * Identificação do campo correspondente em cada item referente ao texto de exibição.
40
+ * Quando utilizado o slot de itens, este campo passa a não ser utilizado
41
+ */
42
+ labelKey: {
43
+ type: String,
44
+ default: "label"
45
+ },
46
+ /**
47
+ * @description placeholder, default is 'Select'
48
+ */
49
+ placeholder: {
50
+ type: String
51
+ },
52
+ /**
53
+ * Sobrescreve valor padrão do atributo no Select do ElementUI
54
+ */
55
+ defaultFirstOption: {
56
+ type: Boolean,
57
+ required: false,
58
+ default: true
59
+ },
60
+ /**
61
+ * Se a lista vai ser carregada no create ou o labelKey não venha por padrão na requisição loadOnCreate = true,
62
+ * caso deva ser carregada quando o usuário clica deixar vazio ou false.
63
+ */
64
+ loadOnCreate: {
65
+ type: Boolean,
66
+ required: false,
67
+ default: true
68
+ },
69
+ /**
70
+ * Método que realiza a busca dos registros remotos para as opções.
71
+ *
72
+ * *IMPORTANTE*: deve considerar o "valueKey" nas consultas
73
+ * pois o valor selecionado será baseado nas opções remotas carregadas ao criar o componente.
74
+ */
75
+ remoteMethod: {
76
+ type: Function,
77
+ required: true
78
+ },
79
+ /**
80
+ * Informa a mensagem de cadastrar novo item
81
+ */
82
+ msgNewItem: {
83
+ type: String,
84
+ required: false,
85
+ default: "Cadastrar novo item"
86
+ },
87
+ /**
88
+ * @description whether Select is disabled
89
+ */
90
+ disabled: Boolean,
91
+ /**
92
+ * @description whether creating new items is allowed. To use this, `filterable` must be true
93
+ */
94
+ allowCreate: Boolean,
95
+ /**
96
+ * @description whether Select is loading data from server
97
+ */
98
+ loading: Boolean,
99
+ /**
100
+ * @description custom class name for Select's dropdown
101
+ */
102
+ popperClass: {
103
+ type: String,
104
+ default: ""
105
+ },
106
+ /**
107
+ * @description [popper.js](https://popper.js.org/docs/v2/) parameters
108
+ */
109
+ popperOptions: {
110
+ type: Object,
111
+ default: () => ({})
112
+ },
113
+ /**
114
+ * @description displayed text while loading data from server, default is 'Loading'
115
+ */
116
+ loadingText: String,
117
+ /**
118
+ * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'
119
+ */
120
+ noMatchText: String,
121
+ /**
122
+ * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'
123
+ */
124
+ noDataText: String,
125
+ /**
126
+ * @description tooltip theme, built-in theme: `dark` / `light`
127
+ */
128
+ effect: {
129
+ type: String,
130
+ default: "light"
131
+ },
132
+ /**
133
+ * @description tag type
134
+ */
135
+ tagType: { default: "info" },
136
+ /**
137
+ * @description position of dropdown
138
+ */
139
+ placement: {
140
+ type: String,
141
+ values: placements,
142
+ default: "bottom-start"
143
+ },
144
+ /**
145
+ * @tagplus
146
+ * Sobrescrito para ter o padrão true
147
+ * @description whether to collapse tags to a text when multiple selecting
148
+ */
149
+ collapseTags: {
150
+ type: Boolean,
151
+ default: true
152
+ },
153
+ /**
154
+ * @tagplus
155
+ * Sobrescrito para ter o padrão true
156
+ * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true
157
+ */
158
+ collapseTagsTooltip: {
159
+ type: Boolean,
160
+ default: true
161
+ },
162
+ /**
163
+ * @description the max tags number to be shown. To use this, `collapse-tags` must be true
164
+ */
165
+ maxCollapseTags: {
166
+ type: Number,
167
+ default: 1
168
+ },
169
+ /**
170
+ * @description whether select dropdown is teleported to the body
171
+ */
172
+ teleported: {
173
+ type: Boolean,
174
+ default: true
175
+ },
176
+ /**
177
+ * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed
178
+ */
179
+ persistent: {
180
+ type: Boolean,
181
+ default: true
182
+ },
183
+ /**
184
+ * @description native input aria-label
185
+ */
186
+ ariaLabel: {
187
+ type: String,
188
+ default: void 0
189
+ },
190
+ multiple: {
191
+ type: Boolean,
192
+ default: false
193
+ },
194
+ /**
195
+ * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0
196
+ */
197
+ multipleLimit: {
198
+ type: Number,
199
+ default: 0
200
+ }
201
+ };
202
+ export {
203
+ autosuggestProps as default
204
+ };