@robuust-digital/vue-components 2.1.0 → 2.2.0-rc.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.
Files changed (61) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/_shared/ButtonBase.vue_vue_type_script_setup_true_lang-B0YsKehI.js +60 -0
  3. package/dist/_shared/ChevronDownIcon-DaaXfD3C.js +41 -0
  4. package/dist/_shared/Combobox.vue_vue_type_script_setup_true_lang-D1vKMJok.js +266 -0
  5. package/dist/_shared/Drawer.vue_vue_type_script_setup_true_lang-DT6tBBZ7.js +186 -0
  6. package/dist/_shared/Dropdown.vue_vue_type_script_setup_true_lang-D5vTFLkq.js +115 -0
  7. package/dist/_shared/FormInput.vue_vue_type_script_setup_true_lang-BhJpG-Fw.js +75 -0
  8. package/dist/_shared/Lightswitch.vue_vue_type_script_setup_true_lang-CvN-2WJt.js +44 -0
  9. package/dist/_shared/Modal.vue_vue_type_script_setup_true_lang-DBEOIZnO.js +187 -0
  10. package/dist/_shared/RichTextEditor.vue_vue_type_script_setup_true_lang-Bs4WdJhA.js +274 -0
  11. package/dist/_shared/Tabs.vue_vue_type_script_setup_true_lang-CsGx6wBK.js +676 -0
  12. package/dist/_shared/Toast.vue_vue_type_script_setup_true_lang-FEeRXoIx.js +75 -0
  13. package/dist/_shared/Tooltip.vue_vue_type_script_setup_true_lang-CoydN9sS.js +96 -0
  14. package/dist/combobox/index.js +3 -347
  15. package/dist/combobox.d.ts +4 -0
  16. package/dist/components/Accordion.vue.d.ts +37 -0
  17. package/dist/components/Alert.vue.d.ts +39 -0
  18. package/dist/components/Badge.vue.d.ts +32 -0
  19. package/dist/components/ButtonBase.vue.d.ts +50 -0
  20. package/dist/components/Checkbox.vue.d.ts +39 -0
  21. package/dist/components/Combobox.vue.d.ts +112 -0
  22. package/dist/components/DataTable.vue.d.ts +122 -0
  23. package/dist/components/Drawer.vue.d.ts +103 -0
  24. package/dist/components/Dropdown.vue.d.ts +120 -0
  25. package/dist/components/EmptyState.vue.d.ts +23 -0
  26. package/dist/components/FormInput.vue.d.ts +49 -0
  27. package/dist/components/FormSelect.vue.d.ts +58 -0
  28. package/dist/components/FormTextarea.vue.d.ts +16 -0
  29. package/dist/components/Lightswitch.vue.d.ts +26 -0
  30. package/dist/components/Modal.vue.d.ts +98 -0
  31. package/dist/components/Pagination.vue.d.ts +60 -0
  32. package/dist/components/Radio.vue.d.ts +34 -0
  33. package/dist/components/RichTextEditor.vue.d.ts +71 -0
  34. package/dist/components/Tabs.vue.d.ts +26 -0
  35. package/dist/components/Toast.vue.d.ts +46 -0
  36. package/dist/components/Tooltip.vue.d.ts +45 -0
  37. package/dist/composables/useDialogContext.d.ts +18 -0
  38. package/dist/composables/useForm.d.ts +6 -0
  39. package/dist/core/index.js +17 -826
  40. package/dist/core.d.ts +27 -0
  41. package/dist/dialogs/index.js +4 -216
  42. package/dist/dialogs.d.ts +5 -0
  43. package/dist/dropdown/index.js +3 -131
  44. package/dist/dropdown.d.ts +4 -0
  45. package/dist/index/index.js +35 -0
  46. package/dist/index.d.ts +8 -0
  47. package/dist/lightswitch/index.js +3 -47
  48. package/dist/lightswitch.d.ts +4 -0
  49. package/dist/rich-text-editor/index.js +3 -261
  50. package/dist/rich-text-editor.d.ts +4 -0
  51. package/dist/toast/index.js +3 -99
  52. package/dist/toast.d.ts +4 -0
  53. package/dist/tooltip/index.js +1 -1
  54. package/dist/tooltip.d.ts +4 -0
  55. package/dist/types/shared.d.ts +3 -0
  56. package/package.json +49 -15
  57. package/dist/_shared/ButtonBase-DfkwHIhN.js +0 -87
  58. package/dist/_shared/ChevronDownIcon-z-5U4fIb.js +0 -55
  59. package/dist/_shared/FormInput-B-SQTZTA.js +0 -92
  60. package/dist/_shared/Modal-Bw2sID1x.js +0 -213
  61. package/dist/_shared/Tooltip-B93ZF7IF.js +0 -126
@@ -0,0 +1,75 @@
1
+ import { defineComponent as d, onMounted as h, watch as w, createBlock as a, openBlock as o, unref as r, withCtx as i, resolveDynamicComponent as c, normalizeClass as y, renderSlot as s, createElementVNode as m, createCommentVNode as u, toDisplayString as C, createElementBlock as $, createVNode as b } from "vue";
2
+ import { TransitionRoot as k } from "@headlessui/vue";
3
+ import { r as B } from "./XMarkIcon-90mcPzBs.js";
4
+ const T = { class: "rvc-toast-title" }, S = /* @__PURE__ */ d({
5
+ __name: "Toast",
6
+ props: {
7
+ show: { type: Boolean, default: !1 },
8
+ as: { default: "div" },
9
+ title: { default: "" },
10
+ icon: { type: [Function, Object, null], default: null },
11
+ timeout: { type: [Number, Boolean], default: 5e3 },
12
+ position: { default: "bottom" },
13
+ type: { default: "info" },
14
+ showClose: { type: Boolean, default: !1 }
15
+ },
16
+ emits: ["toast:close"],
17
+ setup(f, { emit: p }) {
18
+ const e = f, v = p, n = () => {
19
+ e.timeout && e.show && setTimeout(() => {
20
+ v("toast:close");
21
+ }, e.timeout);
22
+ };
23
+ return h(() => {
24
+ n();
25
+ }), w(() => e.show, (t) => {
26
+ t && n();
27
+ }), (t, l) => (o(), a(r(k), {
28
+ show: t.show,
29
+ as: "template",
30
+ enter: "rvc-toast-transition-enter",
31
+ "enter-from": "rvc-toast-transition-enter-from",
32
+ "enter-to": "rvc-toast-transition-enter-to",
33
+ leave: "rvc-toast-transition-leave",
34
+ "leave-from": "rvc-toast-transition-leave-from",
35
+ "leave-to": "rvc-toast-transition-leave-to"
36
+ }, {
37
+ default: i(() => [
38
+ (o(), a(c(t.as), {
39
+ class: y(["rvc-toast", `rvc-toast-${t.position}`, `rvc-toast-${t.type}`, { "rvc-toast-open": t.show }])
40
+ }, {
41
+ default: i(() => [
42
+ s(t.$slots, "icon", {}, () => [
43
+ t.icon ? (o(), a(c(t.icon), {
44
+ key: 0,
45
+ class: "rvc-toast-icon"
46
+ })) : u("", !0)
47
+ ]),
48
+ m("div", null, [
49
+ s(t.$slots, "title", {}, () => [
50
+ m("span", T, C(t.title), 1)
51
+ ]),
52
+ s(t.$slots, "default")
53
+ ]),
54
+ s(t.$slots, "close", {}, () => [
55
+ t.showClose ? (o(), $("button", {
56
+ key: 0,
57
+ type: "button",
58
+ class: "rvc-toast-close",
59
+ "aria-label": "Close",
60
+ onClick: l[0] || (l[0] = (N) => t.$emit("toast:close"))
61
+ }, [
62
+ b(r(B))
63
+ ])) : u("", !0)
64
+ ])
65
+ ]),
66
+ _: 3
67
+ }, 8, ["class"]))
68
+ ]),
69
+ _: 3
70
+ }, 8, ["show"]));
71
+ }
72
+ });
73
+ export {
74
+ S as _
75
+ };
@@ -0,0 +1,96 @@
1
+ import { defineComponent as R, shallowRef as n, createElementBlock as f, openBlock as d, renderSlot as u, createElementVNode as w, normalizeStyle as k, normalizeClass as z, unref as h, createCommentVNode as S, mergeProps as x } from "vue";
2
+ import { useFloating as C, autoUpdate as W, autoPlacement as M, offset as P, shift as _, arrow as A, size as B } from "@floating-ui/vue";
3
+ const E = ["innerHTML"], L = /* @__PURE__ */ R({
4
+ __name: "Tooltip",
5
+ props: {
6
+ content: {},
7
+ blur: { type: Boolean, default: !0 },
8
+ maxWidth: { default: null },
9
+ tooltipClass: { default: "" },
10
+ placement: { default: void 0 },
11
+ size: { default: "base" }
12
+ },
13
+ setup(v) {
14
+ const o = v, s = n(), a = n(), l = n(), {
15
+ floatingStyles: y,
16
+ middlewareData: g,
17
+ placement: i
18
+ } = C(s, a, {
19
+ middleware: [
20
+ ...o.placement ? [] : [M()],
21
+ P(o.size === "sm" ? 7 : 10),
22
+ _({ crossAxis: !0, padding: 5 }),
23
+ A({ element: l }),
24
+ B({
25
+ apply({ availableWidth: e, availableHeight: t, elements: r }) {
26
+ Object.assign(r.floating.style, {
27
+ maxWidth: o.maxWidth ? `${Math.min(e, o.maxWidth) / 16}rem` : "",
28
+ maxHeight: `${t / 16}rem `
29
+ });
30
+ }
31
+ })
32
+ ],
33
+ whileElementsMounted: W,
34
+ placement: o.placement
35
+ }), b = (e) => {
36
+ const t = {
37
+ top: 0,
38
+ bottom: 180,
39
+ left: -90,
40
+ right: 90
41
+ }, r = e.split("-")[0];
42
+ return r && t[r] || 0;
43
+ }, $ = (e) => {
44
+ var m, c;
45
+ const t = i.value.split("-")[0], p = t ? {
46
+ left: "right",
47
+ right: "left",
48
+ bottom: "top",
49
+ top: "bottom"
50
+ }[t] : "";
51
+ return {
52
+ style: {
53
+ left: (m = e.arrow) != null && m.x ? `${e.arrow.x}px` : "",
54
+ top: (c = e.arrow) != null && c.y ? `${e.arrow.y}px` : "",
55
+ bottom: "",
56
+ right: "",
57
+ ...p ? { [p]: l.value ? `${l.value.offsetWidth * -1}px` : "" } : {},
58
+ transform: `rotate(${b(i.value)}deg)`
59
+ }
60
+ };
61
+ };
62
+ return (e, t) => (d(), f("div", {
63
+ ref_key: "wrapperRef",
64
+ ref: s,
65
+ class: "rvc-tooltip-wrapper"
66
+ }, [
67
+ u(e.$slots, "default"),
68
+ w("div", {
69
+ ref_key: "tooltipRef",
70
+ ref: a,
71
+ class: z([
72
+ "rvc-tooltip",
73
+ e.tooltipClass,
74
+ `rvc-tooltip-${e.size}`,
75
+ { "rvc-tooltip-blur": e.blur }
76
+ ]),
77
+ style: k(h(y))
78
+ }, [
79
+ u(e.$slots, "content", { content: e.content }, () => [
80
+ e.content ? (d(), f("div", {
81
+ key: 0,
82
+ innerHTML: e.content
83
+ }, null, 8, E)) : S("", !0)
84
+ ]),
85
+ w("div", x({
86
+ ref_key: "arrowRef",
87
+ ref: l,
88
+ class: "rvc-tooltip-arrow"
89
+ }, $(h(g))), null, 16)
90
+ ], 6)
91
+ ], 512));
92
+ }
93
+ });
94
+ export {
95
+ L as _
96
+ };
@@ -1,349 +1,5 @@
1
- import { createElementBlock as d, openBlock as a, createElementVNode as r, ref as p, computed as K, createBlock as g, unref as c, mergeProps as F, withCtx as x, createCommentVNode as C, renderSlot as v, createVNode as y, resolveDynamicComponent as N, withModifiers as P, Fragment as j, renderList as z, createTextVNode as Z, toDisplayString as S, normalizeClass as U } from "vue";
2
- import { useDebounceFn as G } from "@vueuse/core";
3
- import { Combobox as H, ComboboxInput as J, ComboboxButton as Q, ComboboxOptions as W, ComboboxOption as X } from "@headlessui/vue";
4
- import { r as Y, _ } from "../_shared/ChevronDownIcon-z-5U4fIb.js";
5
- import { S as ee } from "../_shared/icon-spinner-CmxIOqaK.js";
6
- function te(e, $) {
7
- return a(), d("svg", {
8
- xmlns: "http://www.w3.org/2000/svg",
9
- viewBox: "0 0 16 16",
10
- fill: "currentColor",
11
- "aria-hidden": "true",
12
- "data-slot": "icon"
13
- }, [
14
- r("path", {
15
- "fill-rule": "evenodd",
16
- d: "M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm2.78-4.22a.75.75 0 0 1-1.06 0L8 9.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L6.94 8 5.22 6.28a.75.75 0 0 1 1.06-1.06L8 6.94l1.72-1.72a.75.75 0 1 1 1.06 1.06L9.06 8l1.72 1.72a.75.75 0 0 1 0 1.06Z",
17
- "clip-rule": "evenodd"
18
- })
19
- ]);
20
- }
21
- function le(e, $) {
22
- return a(), d("svg", {
23
- xmlns: "http://www.w3.org/2000/svg",
24
- viewBox: "0 0 20 20",
25
- fill: "currentColor",
26
- "aria-hidden": "true",
27
- "data-slot": "icon"
28
- }, [
29
- r("path", { d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" })
30
- ]);
31
- }
32
- const oe = { class: "rvc-combobox-container" }, ne = { class: "rvc-combobox-wrapper" }, ae = { class: "rvc-combobox-field" }, ie = {
33
- key: 0,
34
- class: "rvc-combobox-chips"
35
- }, ue = ["onClick"], re = {
36
- key: 0,
37
- class: "rvc-combobox-content"
38
- }, se = {
39
- key: 1,
40
- class: "rvc-combobox-content"
41
- }, ce = { class: "rvc-combobox-option-text" }, ye = /* @__PURE__ */ Object.assign({
42
- inheritAttrs: !1
43
- }, {
44
- __name: "Combobox",
45
- props: {
46
- id: {
47
- type: String,
48
- required: !0
49
- },
50
- rootClass: {
51
- type: String,
52
- default: ""
53
- },
54
- modelValue: {
55
- type: [Number, String, Object, Array, null],
56
- required: !1,
57
- default: null
58
- },
59
- endpoint: {
60
- type: String,
61
- default: void 0
62
- },
63
- requestParams: {
64
- type: Object,
65
- required: !1,
66
- default: () => ({})
67
- },
68
- manualInput: {
69
- type: Boolean,
70
- required: !1,
71
- default: !1
72
- },
73
- responseData: {
74
- type: Function,
75
- required: !1,
76
- default: (e) => e
77
- },
78
- displayValue: {
79
- type: Function,
80
- required: !1,
81
- default: (e) => (e == null ? void 0 : e.name) || null
82
- },
83
- optionText: {
84
- type: Function,
85
- required: !1,
86
- default: (e) => (e == null ? void 0 : e.name) || null
87
- },
88
- disabled: {
89
- type: Boolean,
90
- required: !1,
91
- default: !1
92
- },
93
- minLength: {
94
- type: Number,
95
- default: 2,
96
- required: !1
97
- },
98
- itemKey: {
99
- type: String,
100
- required: !1,
101
- default: "id"
102
- },
103
- clearable: {
104
- type: Boolean,
105
- required: !1
106
- },
107
- rootAttrs: {
108
- type: Object,
109
- default: () => {
110
- }
111
- },
112
- multiple: {
113
- type: Boolean
114
- },
115
- onSearch: {
116
- type: Function,
117
- default: () => null
118
- },
119
- searchOnly: {
120
- type: Boolean
121
- },
122
- icon: {
123
- type: [Object, Function],
124
- default: null
125
- },
126
- prefixIcon: {
127
- type: [Object, Function],
128
- default: null
129
- },
130
- size: {
131
- type: String,
132
- default: "base",
133
- validator: (e) => ["sm", "base"].includes(e)
134
- },
135
- debounce: {
136
- type: Number,
137
- default: 150
138
- },
139
- minLoadingTime: {
140
- type: Number,
141
- default: 0
142
- },
143
- onCancel: {
144
- type: Function,
145
- default: null
146
- }
147
- },
148
- emits: ["update:modelValue", "update:requestParams", "combobox:noResults", "combobox:error"],
149
- setup(e, { emit: $ }) {
150
- const n = e, m = $, s = p([]), f = p(!1), k = p(null), L = p(!0), q = p(null), b = K({
151
- get: () => n.multiple ? n.modelValue || [] : n.modelValue,
152
- set: (t) => m("update:modelValue", t)
153
- }), O = K({
154
- get: () => n.requestParams,
155
- set: (t) => m("update:requestParams", t)
156
- }), D = (t) => new Promise((l) => {
157
- setTimeout(l, t);
158
- }), T = (t, l) => {
159
- s.value = [], m("combobox:error", t), m("combobox:noResults", l);
160
- }, A = async (t) => {
161
- if (!n.onSearch) return;
162
- if (n.searchOnly && !t) {
163
- s.value = [];
164
- return;
165
- }
166
- if (t && t.length < n.minLength) {
167
- s.value = [];
168
- return;
169
- }
170
- q.value && n.onCancel && n.onCancel(q.value), f.value = !0;
171
- const l = Date.now();
172
- try {
173
- const { data: i, error: h, cancel: w } = await n.onSearch(t, O.value, n.endpoint);
174
- q.value = w;
175
- const o = n.responseData(i), u = Date.now() - l;
176
- !o.length && h && T(h, t), u < n.minLoadingTime && await D(n.minLoadingTime - u), o != null && o.length ? s.value = o : (s.value = [], m("combobox:noResults", t));
177
- } catch (i) {
178
- i.cancelled || T(i, t);
179
- } finally {
180
- f.value = !1;
181
- }
182
- }, M = G(A, n.debounce), B = (t) => {
183
- L.value ? (L.value = !1, A(t)) : M(t);
184
- }, R = (t) => {
185
- var l;
186
- ((l = t.target.value) == null ? void 0 : l.length) === 0 && (s.value = [], m("update:modelValue", null)), n.manualInput && m("update:modelValue", O.value.query);
187
- }, V = (t) => {
188
- var l;
189
- return n.multiple ? b.value.some((i) => i[n.itemKey] === t) : ((l = b.value) == null ? void 0 : l[n.itemKey]) === t;
190
- }, I = (t) => {
191
- b.value = b.value.filter((l) => l[n.itemKey] !== t[n.itemKey]);
192
- };
193
- return (t, l) => (a(), g(c(H), F({
194
- modelValue: b.value,
195
- "onUpdate:modelValue": l[4] || (l[4] = (i) => b.value = i),
196
- as: "div"
197
- }, e.rootAttrs, {
198
- multiple: e.multiple,
199
- class: [
200
- "rvc-combobox",
201
- `rvc-combobox-${e.size}`,
202
- e.rootClass
203
- ]
204
- }), {
205
- default: x(() => {
206
- var i, h, w;
207
- return [
208
- r("div", oe, [
209
- r("div", ne, [
210
- r("div", ae, [
211
- e.prefixIcon ? v(t.$slots, "prefixIcon", {
212
- key: 0,
213
- icon: e.prefixIcon
214
- }, () => [
215
- (a(), g(N(e.prefixIcon), { "aria-hidden": "true" }))
216
- ]) : C("", !0),
217
- y(c(J), F(t.$attrs, {
218
- id: e.id,
219
- "display-value": e.displayValue,
220
- disabled: e.disabled,
221
- autocomplete: "off",
222
- onChange: l[0] || (l[0] = (o) => B(o.target.value)),
223
- onSearch: R,
224
- onInput: l[1] || (l[1] = (o) => k.value = o.target.value)
225
- }), null, 16, ["id", "display-value", "disabled"]),
226
- y(c(Q), {
227
- disabled: e.disabled,
228
- class: "rvc-combobox-button",
229
- onClick: l[2] || (l[2] = (o) => B(k.value || null))
230
- }, {
231
- default: x(() => {
232
- var o;
233
- return [
234
- f.value ? v(t.$slots, "spinner", {
235
- key: 0,
236
- spinning: f.value
237
- }, () => [
238
- y(c(ee), { class: "rvc-combobox-spinner" })
239
- ]) : (!e.searchOnly || (o = s.value) != null && o.length) && !f.value ? v(t.$slots, "icon", {
240
- key: 1,
241
- icon: e.icon
242
- }, () => [
243
- (a(), g(N(e.icon ?? c(Y)), { "aria-hidden": "true" }))
244
- ]) : C("", !0)
245
- ];
246
- }),
247
- _: 3
248
- }, 8, ["disabled"])
249
- ]),
250
- e.clearable && ((i = e.modelValue) != null && i.length || (h = e.modelValue) != null && h.id) ? (a(), d("button", {
251
- key: 0,
252
- type: "button",
253
- "aria-label": "Clear selection",
254
- class: "rvc-combobox-clear",
255
- onClick: l[3] || (l[3] = P((o) => m("update:modelValue", e.multiple ? [] : null), ["prevent"]))
256
- }, [
257
- v(t.$slots, "clear", {}, () => [
258
- y(c(le))
259
- ])
260
- ])) : C("", !0)
261
- ]),
262
- e.multiple && b.value.length ? (a(), d("ul", ie, [
263
- (a(!0), d(j, null, z(b.value, (o) => (a(), d("li", {
264
- key: `${e.id}-selected-option-${o[e.itemKey]}`
265
- }, [
266
- v(t.$slots, "chip", {
267
- optionText: e.optionText(o),
268
- option: o,
269
- removeOption: I
270
- }, () => [
271
- y(_, {
272
- color: "gray",
273
- class: "rvc-combobox-chip",
274
- size: e.size
275
- }, {
276
- default: x(() => [
277
- Z(S(e.optionText(o)) + " ", 1),
278
- r("button", {
279
- type: "button",
280
- "aria-label": "Remove option",
281
- onClick: P((u) => I(o), ["prevent"])
282
- }, [
283
- y(c(te))
284
- ], 8, ue)
285
- ]),
286
- _: 2
287
- }, 1032, ["size"])
288
- ])
289
- ]))), 128))
290
- ])) : C("", !0),
291
- (!e.searchOnly || (w = k.value) != null && w.length) && (!f.value || s.value.length) ? (a(), g(c(W), {
292
- key: 1,
293
- class: "rvc-combobox-options"
294
- }, {
295
- default: x(() => {
296
- var o;
297
- return [
298
- ((o = k.value) == null ? void 0 : o.length) < e.minLength ? (a(), d("div", re, [
299
- r("div", null, [
300
- r("em", null, "Minimal " + S(e.minLength) + " characters.", 1)
301
- ])
302
- ])) : !f.value && !s.value.length ? (a(), d("div", se, l[5] || (l[5] = [
303
- r("div", null, " No results found. ", -1)
304
- ]))) : (a(!0), d(j, { key: 2 }, z(s.value, (u) => (a(), g(c(X), {
305
- key: u[e.itemKey],
306
- value: u,
307
- as: "template"
308
- }, {
309
- default: x(({ active: E }) => [
310
- r("li", {
311
- class: U([
312
- "rvc-combobox-option",
313
- { "rvc-combobox-option-hover": E },
314
- { "rvc-combobox-option-active": V(u[e.itemKey]) }
315
- ])
316
- }, [
317
- v(t.$slots, "option", {
318
- option: u,
319
- isActive: V
320
- }, () => [
321
- v(t.$slots, "optionPrefix", {
322
- option: u[e.itemKey],
323
- isActive: V
324
- }),
325
- r("span", ce, S(e.optionText(u)), 1),
326
- v(t.$slots, "optionSuffix", {
327
- option: u[e.itemKey],
328
- isActive: V
329
- })
330
- ])
331
- ], 2)
332
- ]),
333
- _: 2
334
- }, 1032, ["value"]))), 128))
335
- ];
336
- }),
337
- _: 3
338
- })) : C("", !0)
339
- ])
340
- ];
341
- }),
342
- _: 3
343
- }, 16, ["modelValue", "multiple", "class"]));
344
- }
345
- });
1
+ import { _ as a } from "../_shared/Combobox.vue_vue_type_script_setup_true_lang-D1vKMJok.js";
346
2
  export {
347
- ye as Combobox,
348
- ye as default
3
+ a as Combobox,
4
+ a as default
349
5
  };
@@ -0,0 +1,4 @@
1
+ import { default as Combobox } from './components/Combobox.vue';
2
+ export type { ComboboxProps, ComboboxModelValue, ComboboxSize } from './components/Combobox.vue';
3
+ export { Combobox };
4
+ export default Combobox;
@@ -0,0 +1,37 @@
1
+ export interface AccordionItem {
2
+ title: string;
3
+ content: string;
4
+ [key: string]: unknown;
5
+ }
6
+ export interface AccordionProps {
7
+ items: AccordionItem[];
8
+ name?: string;
9
+ defaultOpenIndex?: number;
10
+ contentClass?: string;
11
+ }
12
+ declare function __VLS_template(): {
13
+ attrs: Partial<{}>;
14
+ slots: {
15
+ summary?(_: {
16
+ item: AccordionItem;
17
+ index: number;
18
+ }): any;
19
+ icon?(_: {
20
+ classList: string;
21
+ }): any;
22
+ content?(_: {
23
+ item: AccordionItem;
24
+ }): any;
25
+ };
26
+ refs: {};
27
+ rootEl: HTMLDivElement;
28
+ };
29
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
30
+ declare const __VLS_component: import('../../node_modules/vue').DefineComponent<AccordionProps, {}, {}, {}, {}, import('../../node_modules/vue').ComponentOptionsMixin, import('../../node_modules/vue').ComponentOptionsMixin, {}, string, import('../../node_modules/vue').PublicProps, Readonly<AccordionProps> & Readonly<{}>, {}, {}, {}, {}, string, import('../../node_modules/vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
31
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
32
+ export default _default;
33
+ type __VLS_WithTemplateSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,39 @@
1
+ import { Icon } from '../types/shared';
2
+ export type AlertType = 'success' | 'warning' | 'danger' | 'info';
3
+ export interface AlertProps {
4
+ as?: string;
5
+ title?: string;
6
+ icon?: Icon;
7
+ type?: AlertType;
8
+ close?: boolean;
9
+ }
10
+ declare function __VLS_template(): {
11
+ attrs: Partial<{}>;
12
+ slots: {
13
+ icon?(_: {}): any;
14
+ title?(_: {}): any;
15
+ default?(_: {}): any;
16
+ close?(_: {}): any;
17
+ };
18
+ refs: {};
19
+ rootEl: any;
20
+ };
21
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
22
+ declare const __VLS_component: import('../../node_modules/vue').DefineComponent<AlertProps, {}, {}, {}, {}, import('../../node_modules/vue').ComponentOptionsMixin, import('../../node_modules/vue').ComponentOptionsMixin, {} & {
23
+ "alert:close": () => any;
24
+ }, string, import('../../node_modules/vue').PublicProps, Readonly<AlertProps> & Readonly<{
25
+ "onAlert:close"?: (() => any) | undefined;
26
+ }>, {
27
+ title: string;
28
+ close: boolean;
29
+ as: string;
30
+ icon: Icon;
31
+ type: AlertType;
32
+ }, {}, {}, {}, string, import('../../node_modules/vue').ComponentProvideOptions, false, {}, any>;
33
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
34
+ export default _default;
35
+ type __VLS_WithTemplateSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -0,0 +1,32 @@
1
+ export type BadgeColor = 'default' | 'gray' | 'red' | 'yellow' | 'green' | 'blue' | 'violet' | 'purple' | 'pink' | `custom-${string}`;
2
+ export type BadgeSize = 'sm' | 'base';
3
+ export interface BadgeProps {
4
+ as?: string;
5
+ label?: string;
6
+ size?: BadgeSize;
7
+ color?: BadgeColor;
8
+ }
9
+ declare function __VLS_template(): {
10
+ attrs: Partial<{}>;
11
+ slots: {
12
+ default?(_: {
13
+ label: string;
14
+ }): any;
15
+ };
16
+ refs: {};
17
+ rootEl: any;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('../../node_modules/vue').DefineComponent<BadgeProps, {}, {}, {}, {}, import('../../node_modules/vue').ComponentOptionsMixin, import('../../node_modules/vue').ComponentOptionsMixin, {}, string, import('../../node_modules/vue').PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
21
+ label: string;
22
+ as: string;
23
+ size: BadgeSize;
24
+ color: BadgeColor;
25
+ }, {}, {}, {}, string, import('../../node_modules/vue').ComponentProvideOptions, false, {}, any>;
26
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
27
+ export default _default;
28
+ type __VLS_WithTemplateSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };
@@ -0,0 +1,50 @@
1
+ import { Icon } from '../types/shared';
2
+ export interface ButtonProps {
3
+ as?: string;
4
+ bindAs?: string;
5
+ label?: string;
6
+ icon?: Icon;
7
+ iconOnly?: boolean;
8
+ iconLeft?: boolean;
9
+ size?: 'sm' | 'base';
10
+ spinning?: boolean;
11
+ color?: 'primary' | 'secondary' | 'tertiary' | 'light' | 'dark' | 'green' | 'red' | 'yellow' | 'blue' | 'green-soft' | 'red-soft' | 'yellow-soft' | 'blue-soft' | `custom-${string}` | 'clear';
12
+ }
13
+ declare function __VLS_template(): {
14
+ attrs: Partial<{}>;
15
+ slots: {
16
+ default?(_: {
17
+ label: string;
18
+ }): any;
19
+ default?(_: {
20
+ label: string;
21
+ }): any;
22
+ icon?(_: {
23
+ icon: Icon;
24
+ }): any;
25
+ spinner?(_: {
26
+ spinning: boolean;
27
+ }): any;
28
+ };
29
+ refs: {};
30
+ rootEl: any;
31
+ };
32
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
33
+ declare const __VLS_component: import('../../node_modules/vue').DefineComponent<ButtonProps, {}, {}, {}, {}, import('../../node_modules/vue').ComponentOptionsMixin, import('../../node_modules/vue').ComponentOptionsMixin, {}, string, import('../../node_modules/vue').PublicProps, Readonly<ButtonProps> & Readonly<{}>, {
34
+ label: string;
35
+ as: string;
36
+ icon: Icon;
37
+ size: "sm" | "base";
38
+ color: "primary" | "secondary" | "tertiary" | "light" | "dark" | "green" | "red" | "yellow" | "blue" | "green-soft" | "red-soft" | "yellow-soft" | "blue-soft" | `custom-${string}` | "clear";
39
+ bindAs: string;
40
+ iconOnly: boolean;
41
+ iconLeft: boolean;
42
+ spinning: boolean;
43
+ }, {}, {}, {}, string, import('../../node_modules/vue').ComponentProvideOptions, false, {}, any>;
44
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
45
+ export default _default;
46
+ type __VLS_WithTemplateSlots<T, S> = T & {
47
+ new (): {
48
+ $slots: S;
49
+ };
50
+ };