@stachelock/ui 0.1.3 → 0.1.5

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 (84) hide show
  1. package/dist/{CalendarHeader.vue_vue_type_script_setup_true_lang-B3KQTxfD.js → CalendarHeader.vue_vue_type_script_setup_true_lang-Cirr0hMB.js} +2 -2
  2. package/dist/{CalendarHeader.vue_vue_type_script_setup_true_lang-B3KQTxfD.js.map → CalendarHeader.vue_vue_type_script_setup_true_lang-Cirr0hMB.js.map} +1 -1
  3. package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-2dJNxQUF.js +1300 -0
  4. package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-2dJNxQUF.js.map +1 -0
  5. package/dist/{DashboardLayout.vue_vue_type_script_setup_true_lang-CClxYrOW.js → DashboardLayout.vue_vue_type_script_setup_true_lang-VeZhdPhj.js} +38 -37
  6. package/dist/DashboardLayout.vue_vue_type_script_setup_true_lang-VeZhdPhj.js.map +1 -0
  7. package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-BpfPAZiT.js +217 -0
  8. package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-BpfPAZiT.js.map +1 -0
  9. package/dist/{DynamicFormField.vue_vue_type_script_setup_true_lang-qAwVNm--.js → DynamicFormField.vue_vue_type_script_setup_true_lang-DvT03FIS.js} +40 -24
  10. package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-DvT03FIS.js.map +1 -0
  11. package/dist/EventCard.vue_vue_type_script_setup_true_lang-YV1lfgUY.js +157 -0
  12. package/dist/EventCard.vue_vue_type_script_setup_true_lang-YV1lfgUY.js.map +1 -0
  13. package/dist/EventsList.vue_vue_type_script_setup_true_lang-Cn_WOpZi.js +103 -0
  14. package/dist/EventsList.vue_vue_type_script_setup_true_lang-Cn_WOpZi.js.map +1 -0
  15. package/dist/SelectInput.vue_vue_type_script_setup_true_lang-BPjHLHdM.js +522 -0
  16. package/dist/SelectInput.vue_vue_type_script_setup_true_lang-BPjHLHdM.js.map +1 -0
  17. package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-CQIW5dy_.js → SidebarLayout.vue_vue_type_script_setup_true_lang-J1nfUTdM.js} +28 -27
  18. package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-CQIW5dy_.js.map → SidebarLayout.vue_vue_type_script_setup_true_lang-J1nfUTdM.js.map} +1 -1
  19. package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-BFr2SByh.js +273 -0
  20. package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-BFr2SByh.js.map +1 -0
  21. package/dist/{TagifyInput.vue_vue_type_script_setup_true_lang-RHqhKoK5.js → TagifyInput.vue_vue_type_script_setup_true_lang-DRR6jt_8.js} +60 -50
  22. package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-DRR6jt_8.js.map +1 -0
  23. package/dist/UiBreadcrumb.vue_vue_type_script_setup_true_lang-quGuN9v4.js +82 -0
  24. package/dist/UiBreadcrumb.vue_vue_type_script_setup_true_lang-quGuN9v4.js.map +1 -0
  25. package/dist/{UiModal.vue_vue_type_script_setup_true_lang-CMk62qeq.js → UiModal.vue_vue_type_script_setup_true_lang-SAo39zpS.js} +21 -20
  26. package/dist/{UiModal.vue_vue_type_script_setup_true_lang-CMk62qeq.js.map → UiModal.vue_vue_type_script_setup_true_lang-SAo39zpS.js.map} +1 -1
  27. package/dist/XMarkIcon-C4wILUsz.js +40 -0
  28. package/dist/XMarkIcon-C4wILUsz.js.map +1 -0
  29. package/dist/calculate-active-index-CksdUwZY.js +87 -0
  30. package/dist/calculate-active-index-CksdUwZY.js.map +1 -0
  31. package/dist/calendars/CalendarDashboard.js +2 -2
  32. package/dist/calendars/CalendarHeader.js +1 -1
  33. package/dist/calendars/EventCard.js +1 -1
  34. package/dist/calendars/EventsList.js +1 -1
  35. package/dist/components/Breadcrumb.js +1 -1
  36. package/dist/components/Modal.js +1 -1
  37. package/dist/components/RadialProgressBar.d.ts +2 -2
  38. package/dist/components/RadialProgressBar.js +1 -1
  39. package/dist/description-CBd3BJ9O.js +30 -0
  40. package/dist/description-CBd3BJ9O.js.map +1 -0
  41. package/dist/dialog-U1KNiPzc.js +493 -0
  42. package/dist/dialog-U1KNiPzc.js.map +1 -0
  43. package/dist/form-DQKuKVqJ.js +51 -0
  44. package/dist/form-DQKuKVqJ.js.map +1 -0
  45. package/dist/forms/DynamicForm.js +1 -1
  46. package/dist/forms/DynamicFormField.js +1 -1
  47. package/dist/forms/FormFieldWrapper.js +71 -42
  48. package/dist/forms/FormFieldWrapper.js.map +1 -1
  49. package/dist/index.js +307 -242
  50. package/dist/index.js.map +1 -1
  51. package/dist/inputs/ComboboxInput.js +1 -1
  52. package/dist/inputs/SelectInput.js +1 -1
  53. package/dist/inputs/SwitchInput.js +1 -1
  54. package/dist/inputs/TagifyInput.js +1 -1
  55. package/dist/keyboard-DJD8TwH4.js +113 -0
  56. package/dist/keyboard-DJD8TwH4.js.map +1 -0
  57. package/dist/layouts/DashboardLayout.js +1 -1
  58. package/dist/layouts/SidebarLayout.js +1 -1
  59. package/dist/open-closed-DgcU-HDT.js +179 -0
  60. package/dist/open-closed-DgcU-HDT.js.map +1 -0
  61. package/dist/src/components/layouts/DashboardLayout.d.ts.map +1 -1
  62. package/dist/src/components/layouts/SidebarLayout.d.ts.map +1 -1
  63. package/dist/transition-CuxxW9dY.js +209 -0
  64. package/dist/transition-CuxxW9dY.js.map +1 -0
  65. package/package.json +1 -1
  66. package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-DoJHjJsA.js +0 -304
  67. package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-DoJHjJsA.js.map +0 -1
  68. package/dist/DashboardLayout.vue_vue_type_script_setup_true_lang-CClxYrOW.js.map +0 -1
  69. package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-BKhcXkNG.js +0 -201
  70. package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-BKhcXkNG.js.map +0 -1
  71. package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-qAwVNm--.js.map +0 -1
  72. package/dist/EventCard.vue_vue_type_script_setup_true_lang-B3TP-mWX.js +0 -75
  73. package/dist/EventCard.vue_vue_type_script_setup_true_lang-B3TP-mWX.js.map +0 -1
  74. package/dist/EventsList.vue_vue_type_script_setup_true_lang-Cpc9A9Ev.js +0 -89
  75. package/dist/EventsList.vue_vue_type_script_setup_true_lang-Cpc9A9Ev.js.map +0 -1
  76. package/dist/SelectInput.vue_vue_type_script_setup_true_lang-BguP8xMU.js +0 -242
  77. package/dist/SelectInput.vue_vue_type_script_setup_true_lang-BguP8xMU.js.map +0 -1
  78. package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-BagTQ6M0.js +0 -197
  79. package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-BagTQ6M0.js.map +0 -1
  80. package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-RHqhKoK5.js.map +0 -1
  81. package/dist/UiBreadcrumb.vue_vue_type_script_setup_true_lang-CMH47CoK.js +0 -68
  82. package/dist/UiBreadcrumb.vue_vue_type_script_setup_true_lang-CMH47CoK.js.map +0 -1
  83. package/dist/UiRadialProgressBar.vue_vue_type_script_setup_true_lang-BGCBJa2S.js +0 -72
  84. package/dist/UiRadialProgressBar.vue_vue_type_script_setup_true_lang-BGCBJa2S.js.map +0 -1
@@ -0,0 +1,209 @@
1
+ import { defineComponent as Z, computed as A, watchEffect as C, ref as y, onMounted as L, provide as x, h as _, onUnmounted as G, watch as ue, normalizeClass as se, inject as P } from "vue";
2
+ import { T as de, A as J, S as g, i as fe, a as H, o as X, N as ve } from "./keyboard-DJD8TwH4.js";
3
+ import { l as pe, a as p, s as ce, d as me, c as he } from "./open-closed-DgcU-HDT.js";
4
+ function ge(e) {
5
+ typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
6
+ throw t;
7
+ }));
8
+ }
9
+ function j() {
10
+ let e = [], t = { addEventListener(n, r, i, a) {
11
+ return n.addEventListener(r, i, a), t.add(() => n.removeEventListener(r, i, a));
12
+ }, requestAnimationFrame(...n) {
13
+ let r = requestAnimationFrame(...n);
14
+ t.add(() => cancelAnimationFrame(r));
15
+ }, nextFrame(...n) {
16
+ t.requestAnimationFrame(() => {
17
+ t.requestAnimationFrame(...n);
18
+ });
19
+ }, setTimeout(...n) {
20
+ let r = setTimeout(...n);
21
+ t.add(() => clearTimeout(r));
22
+ }, microTask(...n) {
23
+ let r = { current: !0 };
24
+ return ge(() => {
25
+ r.current && n[0]();
26
+ }), t.add(() => {
27
+ r.current = !1;
28
+ });
29
+ }, style(n, r, i) {
30
+ let a = n.style.getPropertyValue(r);
31
+ return Object.assign(n.style, { [r]: i }), this.add(() => {
32
+ Object.assign(n.style, { [r]: a });
33
+ });
34
+ }, group(n) {
35
+ let r = j();
36
+ return n(r), this.add(() => r.dispose());
37
+ }, add(n) {
38
+ return e.push(n), () => {
39
+ let r = e.indexOf(n);
40
+ if (r >= 0) for (let i of e.splice(r, 1)) i();
41
+ };
42
+ }, dispose() {
43
+ for (let n of e.splice(0)) n();
44
+ } };
45
+ return t;
46
+ }
47
+ function ye(e) {
48
+ function t() {
49
+ document.readyState !== "loading" && (e(), document.removeEventListener("DOMContentLoaded", t));
50
+ }
51
+ typeof window < "u" && typeof document < "u" && (document.addEventListener("DOMContentLoaded", t), t());
52
+ }
53
+ let E = [];
54
+ ye(() => {
55
+ function e(t) {
56
+ t.target instanceof HTMLElement && t.target !== document.body && E[0] !== t.target && (E.unshift(t.target), E = E.filter((n) => n != null && n.isConnected), E.splice(10));
57
+ }
58
+ window.addEventListener("click", e, { capture: !0 }), window.addEventListener("mousedown", e, { capture: !0 }), window.addEventListener("focus", e, { capture: !0 }), document.body.addEventListener("click", e, { capture: !0 }), document.body.addEventListener("mousedown", e, { capture: !0 }), document.body.addEventListener("focus", e, { capture: !0 });
59
+ });
60
+ function be(e) {
61
+ let t = { called: !1 };
62
+ return (...n) => {
63
+ if (!t.called) return t.called = !0, e(...n);
64
+ };
65
+ }
66
+ function M(e, ...t) {
67
+ e && t.length > 0 && e.classList.add(...t);
68
+ }
69
+ function F(e, ...t) {
70
+ e && t.length > 0 && e.classList.remove(...t);
71
+ }
72
+ var D = ((e) => (e.Finished = "finished", e.Cancelled = "cancelled", e))(D || {});
73
+ function Ee(e, t) {
74
+ let n = j();
75
+ if (!e) return n.dispose;
76
+ let { transitionDuration: r, transitionDelay: i } = getComputedStyle(e), [a, l] = [r, i].map((o) => {
77
+ let [u = 0] = o.split(",").filter(Boolean).map((s) => s.includes("ms") ? parseFloat(s) : parseFloat(s) * 1e3).sort((s, d) => d - s);
78
+ return u;
79
+ });
80
+ return a !== 0 ? n.setTimeout(() => t("finished"), a + l) : t("finished"), n.add(() => t("cancelled")), n.dispose;
81
+ }
82
+ function Y(e, t, n, r, i, a) {
83
+ let l = j(), o = a !== void 0 ? be(a) : () => {
84
+ };
85
+ return F(e, ...i), M(e, ...t, ...n), l.nextFrame(() => {
86
+ F(e, ...n), M(e, ...r), l.add(Ee(e, (u) => (F(e, ...r, ...t), M(e, ...i), o(u))));
87
+ }), l.add(() => F(e, ...t, ...n, ...r, ...i)), l.add(() => o("cancelled")), l.dispose;
88
+ }
89
+ function h(e = "") {
90
+ return e.split(/\s+/).filter((t) => t.length > 1);
91
+ }
92
+ let q = Symbol("TransitionContext");
93
+ var Le = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(Le || {});
94
+ function we() {
95
+ return P(q, null) !== null;
96
+ }
97
+ function Se() {
98
+ let e = P(q, null);
99
+ if (e === null) throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");
100
+ return e;
101
+ }
102
+ function Te() {
103
+ let e = P(k, null);
104
+ if (e === null) throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");
105
+ return e;
106
+ }
107
+ let k = Symbol("NestingContext");
108
+ function $(e) {
109
+ return "children" in e ? $(e.children) : e.value.filter(({ state: t }) => t === "visible").length > 0;
110
+ }
111
+ function K(e) {
112
+ let t = y([]), n = y(!1);
113
+ L(() => n.value = !0), G(() => n.value = !1);
114
+ function r(a, l = g.Hidden) {
115
+ let o = t.value.findIndex(({ id: u }) => u === a);
116
+ o !== -1 && (H(l, { [g.Unmount]() {
117
+ t.value.splice(o, 1);
118
+ }, [g.Hidden]() {
119
+ t.value[o].state = "hidden";
120
+ } }), !$(t) && n.value && e?.());
121
+ }
122
+ function i(a) {
123
+ let l = t.value.find(({ id: o }) => o === a);
124
+ return l ? l.state !== "visible" && (l.state = "visible") : t.value.push({ id: a, state: "visible" }), () => r(a, g.Unmount);
125
+ }
126
+ return { children: t, register: i, unregister: r };
127
+ }
128
+ let ee = ve.RenderStrategy, Fe = Z({ props: { as: { type: [Object, String], default: "div" }, show: { type: [Boolean], default: null }, unmount: { type: [Boolean], default: !0 }, appear: { type: [Boolean], default: !1 }, enter: { type: [String], default: "" }, enterFrom: { type: [String], default: "" }, enterTo: { type: [String], default: "" }, entered: { type: [String], default: "" }, leave: { type: [String], default: "" }, leaveFrom: { type: [String], default: "" }, leaveTo: { type: [String], default: "" } }, emits: { beforeEnter: () => !0, afterEnter: () => !0, beforeLeave: () => !0, afterLeave: () => !0 }, setup(e, { emit: t, attrs: n, slots: r, expose: i }) {
129
+ let a = y(0);
130
+ function l() {
131
+ a.value |= p.Opening, t("beforeEnter");
132
+ }
133
+ function o() {
134
+ a.value &= ~p.Opening, t("afterEnter");
135
+ }
136
+ function u() {
137
+ a.value |= p.Closing, t("beforeLeave");
138
+ }
139
+ function s() {
140
+ a.value &= ~p.Closing, t("afterLeave");
141
+ }
142
+ if (!we() && ce()) return () => _(Ce, { ...e, onBeforeEnter: l, onAfterEnter: o, onBeforeLeave: u, onAfterLeave: s }, r);
143
+ let d = y(null), w = A(() => e.unmount ? g.Unmount : g.Hidden);
144
+ i({ el: d, $el: d });
145
+ let { show: c, appear: U } = Se(), { register: N, unregister: B } = Te(), f = y(c.value ? "visible" : "hidden"), R = { value: !0 }, b = fe(), S = { value: !1 }, V = K(() => {
146
+ !S.value && f.value !== "hidden" && (f.value = "hidden", B(b), s());
147
+ });
148
+ L(() => {
149
+ let v = N(b);
150
+ G(v);
151
+ }), C(() => {
152
+ if (w.value === g.Hidden && b) {
153
+ if (c.value && f.value !== "visible") {
154
+ f.value = "visible";
155
+ return;
156
+ }
157
+ H(f.value, { hidden: () => B(b), visible: () => N(b) });
158
+ }
159
+ });
160
+ let I = h(e.enter), z = h(e.enterFrom), te = h(e.enterTo), Q = h(e.entered), ne = h(e.leave), re = h(e.leaveFrom), ae = h(e.leaveTo);
161
+ L(() => {
162
+ C(() => {
163
+ if (f.value === "visible") {
164
+ let v = X(d);
165
+ if (v instanceof Comment && v.data === "") throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
166
+ }
167
+ });
168
+ });
169
+ function le(v) {
170
+ let O = R.value && !U.value, m = X(d);
171
+ !m || !(m instanceof HTMLElement) || O || (S.value = !0, c.value && l(), c.value || u(), v(c.value ? Y(m, I, z, te, Q, (T) => {
172
+ S.value = !1, T === D.Finished && o();
173
+ }) : Y(m, ne, re, ae, Q, (T) => {
174
+ S.value = !1, T === D.Finished && ($(V) || (f.value = "hidden", B(b), s()));
175
+ })));
176
+ }
177
+ return L(() => {
178
+ ue([c], (v, O, m) => {
179
+ le(m), R.value = !1;
180
+ }, { immediate: !0 });
181
+ }), x(k, V), me(A(() => H(f.value, { visible: p.Open, hidden: p.Closed }) | a.value)), () => {
182
+ let { appear: v, show: O, enter: m, enterFrom: T, enterTo: $e, entered: Be, leave: Oe, leaveFrom: Me, leaveTo: xe, ...W } = e, ie = { ref: d }, oe = { ...W, ...U.value && c.value && he.isServer ? { class: se([n.class, W.class, ...I, ...z]) } : {} };
183
+ return J({ theirProps: oe, ourProps: ie, slot: {}, slots: r, attrs: n, features: ee, visible: f.value === "visible", name: "TransitionChild" });
184
+ };
185
+ } }), Ae = Fe, Ce = Z({ inheritAttrs: !1, props: { as: { type: [Object, String], default: "div" }, show: { type: [Boolean], default: null }, unmount: { type: [Boolean], default: !0 }, appear: { type: [Boolean], default: !1 }, enter: { type: [String], default: "" }, enterFrom: { type: [String], default: "" }, enterTo: { type: [String], default: "" }, entered: { type: [String], default: "" }, leave: { type: [String], default: "" }, leaveFrom: { type: [String], default: "" }, leaveTo: { type: [String], default: "" } }, emits: { beforeEnter: () => !0, afterEnter: () => !0, beforeLeave: () => !0, afterLeave: () => !0 }, setup(e, { emit: t, attrs: n, slots: r }) {
186
+ let i = pe(), a = A(() => e.show === null && i !== null ? (i.value & p.Open) === p.Open : e.show);
187
+ C(() => {
188
+ if (![!0, !1].includes(a.value)) throw new Error('A <Transition /> is used but it is missing a `:show="true | false"` prop.');
189
+ });
190
+ let l = y(a.value ? "visible" : "hidden"), o = K(() => {
191
+ l.value = "hidden";
192
+ }), u = y(!0), s = { show: a, appear: A(() => e.appear || !u.value) };
193
+ return L(() => {
194
+ C(() => {
195
+ u.value = !1, a.value ? l.value = "visible" : $(o) || (l.value = "hidden");
196
+ });
197
+ }), x(k, o), x(q, s), () => {
198
+ let d = de(e, ["show", "appear", "unmount", "onBeforeEnter", "onBeforeLeave", "onAfterEnter", "onAfterLeave"]), w = { unmount: e.unmount };
199
+ return J({ ourProps: { ...w, as: "template" }, theirProps: {}, slot: {}, slots: { ...r, default: () => [_(Ae, { onBeforeEnter: () => t("beforeEnter"), onAfterEnter: () => t("afterEnter"), onBeforeLeave: () => t("beforeLeave"), onAfterLeave: () => t("afterLeave"), ...n, ...w, ...d }, r.default)] }, attrs: {}, features: ee, visible: l.value === "visible", name: "Transition" });
200
+ };
201
+ } });
202
+ export {
203
+ Ce as S,
204
+ E as a,
205
+ Fe as h,
206
+ j as o,
207
+ ge as t
208
+ };
209
+ //# sourceMappingURL=transition-CuxxW9dY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-CuxxW9dY.js","sources":["../node_modules/@headlessui/vue/dist/utils/micro-task.js","../node_modules/@headlessui/vue/dist/utils/disposables.js","../node_modules/@headlessui/vue/dist/utils/document-ready.js","../node_modules/@headlessui/vue/dist/utils/active-element-history.js","../node_modules/@headlessui/vue/dist/utils/once.js","../node_modules/@headlessui/vue/dist/components/transitions/utils/transition.js","../node_modules/@headlessui/vue/dist/components/transitions/transition.js"],"sourcesContent":["function t(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask};\n","import{microTask as n}from'./micro-task.js';function o(){let a=[],s={addEventListener(e,t,r,i){return e.addEventListener(t,r,i),s.add(()=>e.removeEventListener(t,r,i))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);s.add(()=>cancelAnimationFrame(t))},nextFrame(...e){s.requestAnimationFrame(()=>{s.requestAnimationFrame(...e)})},setTimeout(...e){let t=setTimeout(...e);s.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return n(()=>{t.current&&e[0]()}),s.add(()=>{t.current=!1})},style(e,t,r){let i=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:r}),this.add(()=>{Object.assign(e.style,{[t]:i})})},group(e){let t=o();return e(t),this.add(()=>t.dispose())},add(e){return a.push(e),()=>{let t=a.indexOf(e);if(t>=0)for(let r of a.splice(t,1))r()}},dispose(){for(let e of a.splice(0))e()}};return s}export{o as disposables};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","import{onDocumentReady as d}from'./document-ready.js';let t=[];d(()=>{function e(n){n.target instanceof HTMLElement&&n.target!==document.body&&t[0]!==n.target&&(t.unshift(n.target),t=t.filter(r=>r!=null&&r.isConnected),t.splice(10))}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});export{t as history};\n","function l(r){let e={called:!1};return(...t)=>{if(!e.called)return e.called=!0,r(...t)}}export{l as once};\n","import{disposables as p}from'../../../utils/disposables.js';import{once as f}from'../../../utils/once.js';function m(e,...t){e&&t.length>0&&e.classList.add(...t)}function d(e,...t){e&&t.length>0&&e.classList.remove(...t)}var g=(i=>(i.Finished=\"finished\",i.Cancelled=\"cancelled\",i))(g||{});function F(e,t){let i=p();if(!e)return i.dispose;let{transitionDuration:n,transitionDelay:a}=getComputedStyle(e),[l,s]=[n,a].map(o=>{let[u=0]=o.split(\",\").filter(Boolean).map(r=>r.includes(\"ms\")?parseFloat(r):parseFloat(r)*1e3).sort((r,c)=>c-r);return u});return l!==0?i.setTimeout(()=>t(\"finished\"),l+s):t(\"finished\"),i.add(()=>t(\"cancelled\")),i.dispose}function L(e,t,i,n,a,l){let s=p(),o=l!==void 0?f(l):()=>{};return d(e,...a),m(e,...t,...i),s.nextFrame(()=>{d(e,...i),m(e,...n),s.add(F(e,u=>(d(e,...n,...t),m(e,...a),o(u))))}),s.add(()=>d(e,...t,...i,...n,...a)),s.add(()=>o(\"cancelled\")),s.dispose}export{g as Reason,L as transition};\n","import{computed as w,defineComponent as K,h as k,inject as F,normalizeClass as ae,onMounted as C,onUnmounted as z,provide as B,ref as m,watch as le,watchEffect as x}from\"vue\";import{useId as ie}from'../../hooks/use-id.js';import{hasOpenClosed as se,State as u,useOpenClosed as oe,useOpenClosedProvider as ue}from'../../internal/open-closed.js';import{dom as $}from'../../utils/dom.js';import{env as fe}from'../../utils/env.js';import{match as O}from'../../utils/match.js';import{Features as de,omit as ve,render as q,RenderStrategy as T}from'../../utils/render.js';import{Reason as G,transition as J}from'./utils/transition.js';function g(e=\"\"){return e.split(/\\s+/).filter(t=>t.length>1)}let R=Symbol(\"TransitionContext\");var pe=(a=>(a.Visible=\"visible\",a.Hidden=\"hidden\",a))(pe||{});function me(){return F(R,null)!==null}function Te(){let e=F(R,null);if(e===null)throw new Error(\"A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.\");return e}function ge(){let e=F(N,null);if(e===null)throw new Error(\"A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.\");return e}let N=Symbol(\"NestingContext\");function L(e){return\"children\"in e?L(e.children):e.value.filter(({state:t})=>t===\"visible\").length>0}function Q(e){let t=m([]),a=m(!1);C(()=>a.value=!0),z(()=>a.value=!1);function s(n,r=T.Hidden){let l=t.value.findIndex(({id:f})=>f===n);l!==-1&&(O(r,{[T.Unmount](){t.value.splice(l,1)},[T.Hidden](){t.value[l].state=\"hidden\"}}),!L(t)&&a.value&&(e==null||e()))}function h(n){let r=t.value.find(({id:l})=>l===n);return r?r.state!==\"visible\"&&(r.state=\"visible\"):t.value.push({id:n,state:\"visible\"}),()=>s(n,T.Unmount)}return{children:t,register:h,unregister:s}}let W=de.RenderStrategy,he=K({props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s,expose:h}){let n=m(0);function r(){n.value|=u.Opening,t(\"beforeEnter\")}function l(){n.value&=~u.Opening,t(\"afterEnter\")}function f(){n.value|=u.Closing,t(\"beforeLeave\")}function S(){n.value&=~u.Closing,t(\"afterLeave\")}if(!me()&&se())return()=>k(Se,{...e,onBeforeEnter:r,onAfterEnter:l,onBeforeLeave:f,onAfterLeave:S},s);let d=m(null),y=w(()=>e.unmount?T.Unmount:T.Hidden);h({el:d,$el:d});let{show:v,appear:A}=Te(),{register:D,unregister:H}=ge(),i=m(v.value?\"visible\":\"hidden\"),I={value:!0},c=ie(),b={value:!1},P=Q(()=>{!b.value&&i.value!==\"hidden\"&&(i.value=\"hidden\",H(c),S())});C(()=>{let o=D(c);z(o)}),x(()=>{if(y.value===T.Hidden&&c){if(v.value&&i.value!==\"visible\"){i.value=\"visible\";return}O(i.value,{[\"hidden\"]:()=>H(c),[\"visible\"]:()=>D(c)})}});let j=g(e.enter),M=g(e.enterFrom),X=g(e.enterTo),_=g(e.entered),Y=g(e.leave),Z=g(e.leaveFrom),ee=g(e.leaveTo);C(()=>{x(()=>{if(i.value===\"visible\"){let o=$(d);if(o instanceof Comment&&o.data===\"\")throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")}})});function te(o){let E=I.value&&!A.value,p=$(d);!p||!(p instanceof HTMLElement)||E||(b.value=!0,v.value&&r(),v.value||f(),o(v.value?J(p,j,M,X,_,V=>{b.value=!1,V===G.Finished&&l()}):J(p,Y,Z,ee,_,V=>{b.value=!1,V===G.Finished&&(L(P)||(i.value=\"hidden\",H(c),S()))})))}return C(()=>{le([v],(o,E,p)=>{te(p),I.value=!1},{immediate:!0})}),B(N,P),ue(w(()=>O(i.value,{[\"visible\"]:u.Open,[\"hidden\"]:u.Closed})|n.value)),()=>{let{appear:o,show:E,enter:p,enterFrom:V,enterTo:Ce,entered:ye,leave:be,leaveFrom:Ee,leaveTo:Ve,...U}=e,ne={ref:d},re={...U,...A.value&&v.value&&fe.isServer?{class:ae([a.class,U.class,...j,...M])}:{}};return q({theirProps:re,ourProps:ne,slot:{},slots:s,attrs:a,features:W,visible:i.value===\"visible\",name:\"TransitionChild\"})}}}),ce=he,Se=K({inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s}){let h=oe(),n=w(()=>e.show===null&&h!==null?(h.value&u.Open)===u.Open:e.show);x(()=>{if(![!0,!1].includes(n.value))throw new Error('A <Transition /> is used but it is missing a `:show=\"true | false\"` prop.')});let r=m(n.value?\"visible\":\"hidden\"),l=Q(()=>{r.value=\"hidden\"}),f=m(!0),S={show:n,appear:w(()=>e.appear||!f.value)};return C(()=>{x(()=>{f.value=!1,n.value?r.value=\"visible\":L(l)||(r.value=\"hidden\")})}),B(N,l),B(R,S),()=>{let d=ve(e,[\"show\",\"appear\",\"unmount\",\"onBeforeEnter\",\"onBeforeLeave\",\"onAfterEnter\",\"onAfterLeave\"]),y={unmount:e.unmount};return q({ourProps:{...y,as:\"template\"},theirProps:{},slot:{},slots:{...s,default:()=>[k(ce,{onBeforeEnter:()=>t(\"beforeEnter\"),onAfterEnter:()=>t(\"afterEnter\"),onBeforeLeave:()=>t(\"beforeLeave\"),onAfterLeave:()=>t(\"afterLeave\"),...a,...y,...d},s.default)]},attrs:{},features:W,visible:r.value===\"visible\",name:\"Transition\"})}}});export{he as TransitionChild,Se as TransitionRoot};\n"],"names":["t","o","a","s","e","r","i","n","d","l","m","g","F","p","c","L","f","R","pe","me","Te","ge","N","Q","C","z","T","O","h","W","de","he","K","u","S","se","k","Se","y","w","v","A","D","H","I","ie","b","P","x","j","M","X","_","Y","Z","ee","$","te","E","J","V","G","le","B","ue","Ce","ye","be","Ee","Ve","U","ne","re","fe","ae","q","ce","oe","ve"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stachelock/ui",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "A tree-shakeable Vue 3 TypeScript UI component library built with Tailwind CSS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,304 +0,0 @@
1
- import { defineComponent as Z, ref as y, watch as I, computed as h, createElementBlock as v, openBlock as u, createVNode as d, unref as r, withCtx as n, createElementVNode as i, normalizeClass as c, createBlock as x, createCommentVNode as g, withModifiers as E, toDisplayString as C, Fragment as ee, renderList as le } from "vue";
2
- import { Combobox as se, ComboboxInput as te, ComboboxButton as ae, TransitionRoot as oe, ComboboxOptions as re, ComboboxOption as B } from "@headlessui/vue";
3
- import { ChevronUpDownIcon as ue, CheckIcon as ne } from "@heroicons/vue/20/solid";
4
- import { useField as ie } from "vee-validate";
5
- import de from "./forms/FormFieldWrapper.js";
6
- import { _ as ce } from "./UiLoading.vue_vue_type_script_setup_true_lang-DCz52-Me.js";
7
- import { g as me } from "./id-DafBB_QF.js";
8
- const pe = { class: "sl-w-full" }, fe = { class: "sl-block sl-truncate sl-font-medium" }, ve = {
9
- key: 1,
10
- class: "sl-relative sl-cursor-default sl-select-none sl-py-2 sl-px-4 sl-text-gray-700"
11
- }, ge = { class: "sl-flex sl-items-center sl-gap-2" }, be = {
12
- key: 2,
13
- class: "sl-relative sl-cursor-default sl-select-none sl-py-2 sl-px-4 sl-text-gray-700"
14
- }, ye = { class: "sl-block sl-truncate" }, he = { key: 0 }, we = 50, Me = /* @__PURE__ */ Z({
15
- __name: "ComboboxInput",
16
- props: {
17
- name: {},
18
- items: {},
19
- label: {},
20
- placeholder: {},
21
- disabled: { type: Boolean },
22
- rules: {},
23
- validateOnMount: { type: Boolean },
24
- successMessage: {},
25
- tertiaryLabel: {},
26
- itemKey: { default: "id" },
27
- itemText: { default: "name" },
28
- customQuery: {},
29
- loading: { type: Boolean, default: !1 },
30
- multiple: { type: Boolean, default: !1 },
31
- showAll: { type: Boolean, default: !1 },
32
- modelValue: {},
33
- boxShadow: { type: Boolean, default: !1 }
34
- },
35
- emits: ["update:modelValue", "update:query", "blur", "focus"],
36
- setup(K, { emit: N }) {
37
- const l = K, m = N, M = me(l.name), a = y(""), { value: S, errorMessage: T, handleChange: b, meta: w, setTouched: P } = ie(
38
- () => l.name,
39
- l.rules,
40
- {
41
- validateOnMount: l.validateOnMount,
42
- initialValue: l.modelValue
43
- }
44
- ), t = y(
45
- l.multiple ? Array.isArray(l.modelValue) ? l.modelValue : [] : l.modelValue
46
- );
47
- I(
48
- () => l.modelValue,
49
- (e) => {
50
- if (l.multiple) {
51
- const s = Array.isArray(e) ? e : [];
52
- s !== t.value && (t.value = s, S.value = s);
53
- } else
54
- e !== t.value && (t.value = e, S.value = e);
55
- },
56
- { immediate: !0 }
57
- ), I(
58
- t,
59
- (e) => {
60
- m("update:modelValue", e);
61
- }
62
- );
63
- const U = h(() => [
64
- "sl-w-full",
65
- "sl-border-none",
66
- "sl-py-2",
67
- "sl-pl-3",
68
- "sl-pr-10",
69
- "sl-text-sm",
70
- "sl-leading-5",
71
- "sl-text-gray-900",
72
- "focus:sl-outline-none",
73
- "focus:sl-ring-0",
74
- "sl-bg-transparent"
75
- ].join(" ")), z = h(() => {
76
- const e = [
77
- "sl-relative",
78
- "sl-w-full",
79
- "sl-cursor-default",
80
- "sl-rounded-lg",
81
- "sl-bg-white",
82
- "sl-text-left",
83
- "sl-border",
84
- "focus-within:sl-ring-2",
85
- "focus-within:sl-ring-stachelock-500",
86
- "focus-within:sl-border-stachelock-500",
87
- "sl-transition-all",
88
- "sl-duration-200"
89
- ];
90
- return l.disabled ? e.push(
91
- "sl-bg-gray-50",
92
- "sl-cursor-not-allowed",
93
- "sl-border-gray-200"
94
- ) : T.value ? e.push(
95
- "sl-border-red-300",
96
- "focus-within:sl-ring-red-500",
97
- "focus-within:sl-border-red-500"
98
- ) : w.valid && w.touched ? e.push(
99
- "sl-border-green-300",
100
- "focus-within:sl-ring-green-500",
101
- "focus-within:sl-border-green-500"
102
- ) : e.push(
103
- "sl-border-gray-300",
104
- "hover:sl-border-gray-400"
105
- ), e.join(" ");
106
- }), $ = (e) => e[l.itemKey], k = (e) => e ? e[l.itemText] || e.toString() : "", p = y([]), V = y([]), A = y(1), L = () => {
107
- const e = A.value * we;
108
- V.value = p.value.slice(0, e), A.value += 1;
109
- }, j = () => {
110
- A.value = 1, V.value = [], L();
111
- }, F = () => {
112
- if (a.value && a.value !== "")
113
- if (l.customQuery)
114
- p.value = l.customQuery(a.value, l.items);
115
- else {
116
- const e = a.value.toLowerCase();
117
- p.value = l.items.filter((s) => k(s).toLowerCase().includes(e));
118
- }
119
- else
120
- p.value = l.items;
121
- j();
122
- }, _ = h(() => l.items.filter((e) => !e.disabled)), D = (e) => {
123
- const s = e.target;
124
- a.value = s.value, m("update:query", a.value), F();
125
- }, H = (e) => {
126
- t.value = e, P(!0), b(e);
127
- }, O = h(() => {
128
- if (!l.multiple || !Array.isArray(t.value)) return !1;
129
- const e = _.value;
130
- return e.length === 0 ? !1 : e.every((s) => t.value.includes(s));
131
- }), R = () => {
132
- l.multiple && (O.value ? t.value = [] : t.value = [..._.value], b(t.value));
133
- }, W = (e) => l.multiple ? !Array.isArray(e) || e.length === 0 ? "" : e.length === 1 ? k(e[0]) : `${e.length} selected` : k(e), f = h(() => l.multiple || a.value === "" ? null : { [l.itemKey]: null, [l.itemText]: a.value }), G = () => {
134
- l.multiple || f.value && (l.customQuery ? (m("update:modelValue", a.value), b(a.value)) : (t.value = f.value, b(t.value)));
135
- }, J = (e) => {
136
- const s = e.target;
137
- s.scrollTop + s.clientHeight >= s.scrollHeight && L();
138
- }, X = (e) => {
139
- m("focus", e);
140
- }, Y = (e) => {
141
- !l.multiple && f.value && (t.value = f.value, b(t.value), m("update:modelValue", t.value)), m("blur", e);
142
- };
143
- return I(() => l.items, () => {
144
- F();
145
- }, { immediate: !0, deep: !0 }), (e, s) => (u(), v("div", pe, [
146
- d(de, {
147
- id: r(M),
148
- name: e.name,
149
- label: e.label,
150
- disabled: e.disabled,
151
- optional: !e.rules,
152
- "tertiary-label": e.tertiaryLabel,
153
- "box-shadow": e.boxShadow,
154
- "error-message": r(T),
155
- "success-message": e.successMessage,
156
- "is-valid": r(w).valid,
157
- "is-touched": r(w).touched
158
- }, {
159
- "success-message": n(() => [
160
- e.successMessage ? (u(), v("span", he, C(e.successMessage), 1)) : g("", !0)
161
- ]),
162
- default: n(() => [
163
- d(r(se), {
164
- modelValue: t.value,
165
- "onUpdate:modelValue": [
166
- s[2] || (s[2] = (o) => t.value = o),
167
- H
168
- ],
169
- disabled: e.disabled,
170
- multiple: e.multiple
171
- }, {
172
- default: n(() => [
173
- i("div", {
174
- class: c(z.value)
175
- }, [
176
- d(r(te), {
177
- id: r(M),
178
- class: c(U.value),
179
- "display-value": W,
180
- placeholder: e.placeholder || "Type to search...",
181
- modelValue: a.value,
182
- "onUpdate:modelValue": s[0] || (s[0] = (o) => a.value = o),
183
- onInput: D,
184
- onBlur: Y,
185
- onFocus: X
186
- }, null, 8, ["id", "class", "placeholder", "modelValue"]),
187
- d(r(ae), { class: "sl-absolute sl-inset-y-0 sl-right-0 sl-flex sl-items-center sl-pr-2" }, {
188
- default: n(() => [
189
- d(r(ue), {
190
- class: "sl-h-5 sl-w-5 sl-text-gray-400",
191
- "aria-hidden": "true"
192
- })
193
- ]),
194
- _: 1
195
- }),
196
- d(r(oe), {
197
- leave: "sl-transition sl-ease-in sl-duration-100",
198
- "leave-from": "sl-opacity-100",
199
- "leave-to": "sl-opacity-0",
200
- onAfterLeave: s[1] || (s[1] = (o) => a.value = "")
201
- }, {
202
- default: n(() => [
203
- p.value.length > 0 || a.value !== "" || e.multiple && e.showAll ? (u(), x(r(re), {
204
- key: 0,
205
- class: "sl-absolute sl-z-10 sl-mt-1 sl-max-h-60 sl-w-full sl-overflow-auto sl-rounded-md sl-bg-white sl-py-1 sl-text-base sl-shadow-lg sl-ring-1 sl-ring-black sl-ring-opacity-5 focus:sl-outline-none sm:sl-text-sm",
206
- onScroll: J
207
- }, {
208
- default: n(() => [
209
- e.multiple && e.showAll ? (u(), x(r(B), {
210
- key: 0,
211
- value: null,
212
- disabled: !0,
213
- as: "template"
214
- }, {
215
- default: n(({ active: o }) => [
216
- i("li", {
217
- onClick: E(R, ["prevent", "stop"]),
218
- class: c([
219
- "sl-relative sl-cursor-default sl-select-none sl-py-2 sl-pl-10 sl-pr-4",
220
- o ? "sl-bg-stachelock-600 sl-text-white" : "sl-text-gray-900"
221
- ])
222
- }, [
223
- i("span", fe, C(O.value ? "Unselect All" : "Select All"), 1)
224
- ], 2)
225
- ]),
226
- _: 1
227
- })) : g("", !0),
228
- e.loading ? (u(), v("div", ve, [
229
- i("div", ge, [
230
- d(ce, { size: "sm" }),
231
- s[3] || (s[3] = i("span", null, "Loading...", -1))
232
- ])
233
- ])) : a.value !== "" && p.value.length === 0 ? (u(), v("div", be, " Nothing found. ")) : g("", !0),
234
- (u(!0), v(ee, null, le(V.value, (o) => (u(), x(r(B), {
235
- key: $(o),
236
- value: o,
237
- as: "template",
238
- disabled: o.disabled
239
- }, {
240
- default: n(({ active: Q, selected: q }) => [
241
- i("li", {
242
- class: c([
243
- "sl-relative sl-cursor-default sl-select-none sl-py-2 sl-pl-10 sl-pr-4",
244
- Q ? "sl-bg-stachelock-600 sl-text-white" : "sl-text-gray-900",
245
- o.disabled ? "sl-opacity-50 sl-cursor-not-allowed" : ""
246
- ])
247
- }, [
248
- i("span", {
249
- class: c([
250
- "sl-block sl-truncate",
251
- q ? "sl-font-medium" : "sl-font-normal"
252
- ])
253
- }, C(k(o)), 3),
254
- q ? (u(), v("span", {
255
- key: 0,
256
- class: c(["sl-absolute sl-inset-y-0 sl-left-0 sl-flex sl-items-center sl-pl-3", Q ? "sl-text-white" : "sl-text-stachelock-600"])
257
- }, [
258
- d(r(ne), {
259
- class: "sl-h-5 sl-w-5",
260
- "aria-hidden": "true"
261
- })
262
- ], 2)) : g("", !0)
263
- ], 2)
264
- ]),
265
- _: 2
266
- }, 1032, ["value", "disabled"]))), 128)),
267
- !e.multiple && f.value ? (u(), x(r(B), {
268
- key: 3,
269
- value: f.value,
270
- as: "template"
271
- }, {
272
- default: n(({ active: o }) => [
273
- i("li", {
274
- onClick: E(G, ["prevent", "stop"]),
275
- class: c([
276
- "sl-relative sl-cursor-pointer sl-select-none sl-py-2 sl-pl-10 sl-pr-4",
277
- o ? "sl-bg-stachelock-600 sl-text-white" : "sl-text-gray-900"
278
- ])
279
- }, [
280
- i("span", ye, ' Enter "' + C(a.value) + '" manually ', 1)
281
- ], 2)
282
- ]),
283
- _: 1
284
- }, 8, ["value"])) : g("", !0)
285
- ]),
286
- _: 1
287
- })) : g("", !0)
288
- ]),
289
- _: 1
290
- })
291
- ], 2)
292
- ]),
293
- _: 1
294
- }, 8, ["modelValue", "disabled", "multiple"])
295
- ]),
296
- _: 1
297
- }, 8, ["id", "name", "label", "disabled", "optional", "tertiary-label", "box-shadow", "error-message", "success-message", "is-valid", "is-touched"])
298
- ]));
299
- }
300
- });
301
- export {
302
- Me as _
303
- };
304
- //# sourceMappingURL=ComboboxInput.vue_vue_type_script_setup_true_lang-DoJHjJsA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComboboxInput.vue_vue_type_script_setup_true_lang-DoJHjJsA.js","sources":["../src/components/inputs/ComboboxInput.vue"],"sourcesContent":["<template>\n <div class=\"sl-w-full\">\n <FormFieldWrapper\n :id=\"id\"\n :name=\"name\"\n :label=\"label\"\n :disabled=\"disabled\"\n :optional=\"!rules\"\n :tertiary-label=\"tertiaryLabel\"\n :box-shadow=\"boxShadow\"\n :error-message=\"errorMessage\"\n :success-message=\"successMessage\"\n :is-valid=\"meta.valid\"\n :is-touched=\"meta.touched\"\n >\n <Combobox\n v-model=\"selectedValue\"\n :disabled=\"disabled\"\n :multiple=\"multiple\"\n @update:model-value=\"handleChange\"\n >\n <div :class=\"wrapperClasses\">\n <ComboboxInput\n :id=\"id\"\n :class=\"inputClasses\"\n :display-value=\"displayComboboxValue\"\n :placeholder=\"placeholder || 'Type to search...'\"\n v-model=\"query\"\n @input=\"onQueryInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n />\n \n <ComboboxButton class=\"sl-absolute sl-inset-y-0 sl-right-0 sl-flex sl-items-center sl-pr-2\">\n <ChevronUpDownIcon\n class=\"sl-h-5 sl-w-5 sl-text-gray-400\"\n aria-hidden=\"true\"\n />\n </ComboboxButton>\n\n <TransitionRoot\n leave=\"sl-transition sl-ease-in sl-duration-100\"\n leave-from=\"sl-opacity-100\"\n leave-to=\"sl-opacity-0\"\n @after-leave=\"query = ''\"\n >\n <ComboboxOptions\n v-if=\"filteredItems.length > 0 || query !== '' || (multiple && showAll)\"\n class=\"sl-absolute sl-z-10 sl-mt-1 sl-max-h-60 sl-w-full sl-overflow-auto sl-rounded-md sl-bg-white sl-py-1 sl-text-base sl-shadow-lg sl-ring-1 sl-ring-black sl-ring-opacity-5 focus:sl-outline-none sm:sl-text-sm\"\n @scroll=\"onScroll\"\n >\n <!-- Select All option -->\n <ComboboxOption\n v-if=\"multiple && showAll\"\n :value=\"null\"\n :disabled=\"true\"\n as=\"template\"\n v-slot=\"{ active }\"\n >\n <li\n @click.prevent.stop=\"toggleSelectAll\"\n :class=\"[\n 'sl-relative sl-cursor-default sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900'\n ]\"\n >\n <span class=\"sl-block sl-truncate sl-font-medium\">\n {{ isAllSelected ? 'Unselect All' : 'Select All' }}\n </span>\n </li>\n </ComboboxOption>\n <!-- Loading state -->\n <div \n v-if=\"loading\"\n class=\"sl-relative sl-cursor-default sl-select-none sl-py-2 sl-px-4 sl-text-gray-700\"\n >\n <div class=\"sl-flex sl-items-center sl-gap-2\">\n <Loading size=\"sm\" />\n <span>Loading...</span>\n </div>\n </div>\n \n <!-- No results -->\n <div\n v-else-if=\"query !== '' && filteredItems.length === 0\"\n class=\"sl-relative sl-cursor-default sl-select-none sl-py-2 sl-px-4 sl-text-gray-700\"\n >\n Nothing found.\n </div>\n \n <!-- Options -->\n <ComboboxOption\n v-for=\"item in visibleItems\"\n :key=\"getItemKey(item)\"\n :value=\"item\"\n as=\"template\"\n :disabled=\"item.disabled\"\n v-slot=\"{ active, selected }\"\n >\n <li\n :class=\"[\n 'sl-relative sl-cursor-default sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900',\n item.disabled ? 'sl-opacity-50 sl-cursor-not-allowed' : ''\n ]\"\n >\n <span\n :class=\"[\n 'sl-block sl-truncate',\n selected ? 'sl-font-medium' : 'sl-font-normal'\n ]\"\n >\n {{ getItemText(item) }}\n </span>\n <span\n v-if=\"selected\"\n class=\"sl-absolute sl-inset-y-0 sl-left-0 sl-flex sl-items-center sl-pl-3\"\n :class=\"active ? 'sl-text-white' : 'sl-text-stachelock-600'\"\n >\n <CheckIcon class=\"sl-h-5 sl-w-5\" aria-hidden=\"true\" />\n </span>\n </li>\n </ComboboxOption>\n <!-- Manual entry option -->\n <ComboboxOption\n v-if=\"!multiple && queryValue\"\n :value=\"queryValue\"\n as=\"template\"\n v-slot=\"{ active }\"\n >\n <li\n @click.prevent.stop=\"handleManualEntry\"\n :class=\"[\n 'sl-relative sl-cursor-pointer sl-select-none sl-py-2 sl-pl-10 sl-pr-4',\n active ? 'sl-bg-stachelock-600 sl-text-white' : 'sl-text-gray-900'\n ]\"\n >\n <span class=\"sl-block sl-truncate\">\n Enter \"{{ query }}\" manually\n </span>\n </li>\n </ComboboxOption>\n </ComboboxOptions>\n </TransitionRoot>\n </div>\n </Combobox>\n \n <template #success-message>\n <span v-if=\"successMessage\">{{ successMessage }}</span>\n </template>\n </FormFieldWrapper>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport {\n Combobox,\n ComboboxInput,\n ComboboxButton,\n ComboboxOption,\n ComboboxOptions,\n TransitionRoot,\n} from '@headlessui/vue'\nimport { CheckIcon, ChevronUpDownIcon } from '@heroicons/vue/20/solid'\nimport { useField } from 'vee-validate'\nimport FormFieldWrapper from '../forms/FormFieldWrapper.vue'\nimport Loading from '../UiLoading.vue'\nimport type { ValidationRule } from '../../types/form'\nimport { generateId } from '../../utils/id'\n\ninterface ComboboxItem {\n [key: string]: any\n disabled?: boolean\n}\n\ninterface Props {\n name: string\n items: ComboboxItem[]\n label?: string\n placeholder?: string\n disabled?: boolean\n rules?: ValidationRule\n validateOnMount?: boolean\n successMessage?: string\n tertiaryLabel?: string\n itemKey?: string\n itemText?: string\n customQuery?: (query: string, items: ComboboxItem[]) => ComboboxItem[]\n loading?: boolean\n multiple?: boolean\n showAll?: boolean\n modelValue?: any\n boxShadow?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n itemKey: 'id',\n itemText: 'name',\n loading: false,\n multiple: false,\n showAll: false,\n boxShadow: false\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: any]\n 'update:query': [query: string]\n blur: [event: FocusEvent]\n focus: [event: FocusEvent]\n}>()\n\nconst id = generateId(props.name)\nconst query = ref('')\n\n// Use vee-validate for form validation\nconst { value, errorMessage, handleChange: handleValidation, meta, setTouched } = useField(\n () => props.name,\n props.rules,\n {\n validateOnMount: props.validateOnMount,\n initialValue: props.modelValue\n }\n)\n\nconst selectedValue = ref<any>(\n props.multiple\n ? (Array.isArray(props.modelValue) ? props.modelValue : [])\n : props.modelValue\n)\n\n// Watch for external changes\nwatch(\n () => props.modelValue,\n (newValue) => {\n if (props.multiple) {\n const coerced = Array.isArray(newValue) ? newValue : []\n if (coerced !== selectedValue.value) {\n selectedValue.value = coerced\n value.value = coerced\n }\n } else {\n if (newValue !== selectedValue.value) {\n selectedValue.value = newValue\n value.value = newValue\n }\n }\n },\n { immediate: true }\n)\n\nwatch(\n selectedValue,\n (newValue) => {\n emit('update:modelValue', newValue)\n }\n)\n\nconst inputClasses = computed(() => {\n const baseClasses = [\n 'sl-w-full',\n 'sl-border-none',\n 'sl-py-2',\n 'sl-pl-3',\n 'sl-pr-10',\n 'sl-text-sm',\n 'sl-leading-5',\n 'sl-text-gray-900',\n 'focus:sl-outline-none',\n 'focus:sl-ring-0',\n 'sl-bg-transparent'\n ]\n\n return baseClasses.join(' ')\n})\n\nconst wrapperClasses = computed(() => {\n const baseClasses = [\n 'sl-relative',\n 'sl-w-full',\n 'sl-cursor-default',\n 'sl-rounded-lg',\n 'sl-bg-white',\n 'sl-text-left',\n 'sl-border',\n 'focus-within:sl-ring-2',\n 'focus-within:sl-ring-stachelock-500',\n 'focus-within:sl-border-stachelock-500',\n 'sl-transition-all',\n 'sl-duration-200'\n ]\n\n if (props.disabled) {\n baseClasses.push(\n 'sl-bg-gray-50',\n 'sl-cursor-not-allowed',\n 'sl-border-gray-200'\n )\n } else if (errorMessage.value) {\n baseClasses.push(\n 'sl-border-red-300',\n 'focus-within:sl-ring-red-500',\n 'focus-within:sl-border-red-500'\n )\n } else if (meta.valid && meta.touched) {\n baseClasses.push(\n 'sl-border-green-300',\n 'focus-within:sl-ring-green-500',\n 'focus-within:sl-border-green-500'\n )\n } else {\n baseClasses.push(\n 'sl-border-gray-300',\n 'hover:sl-border-gray-400'\n )\n }\n\n return baseClasses.join(' ')\n})\n\nconst getItemKey = (item: ComboboxItem): any => {\n return item[props.itemKey]\n}\n\nconst getItemText = (item: ComboboxItem): string => {\n if (!item) return ''\n return item[props.itemText] || item.toString()\n}\n\n// Filtering and infinite scroll state\nconst filteredItems = ref<ComboboxItem[]>([])\nconst visibleItems = ref<ComboboxItem[]>([])\nconst itemsPerPage = 50\nconst currentPage = ref(1)\n\nconst loadMoreItems = () => {\n const end = currentPage.value * itemsPerPage\n visibleItems.value = filteredItems.value.slice(0, end)\n currentPage.value += 1\n}\n\nconst resetPagination = () => {\n currentPage.value = 1\n visibleItems.value = []\n loadMoreItems()\n}\n\nconst recomputeFilteredItems = () => {\n if (query.value && query.value !== '') {\n if (props.customQuery) {\n filteredItems.value = props.customQuery(query.value, props.items)\n } else {\n const lower = query.value.toLowerCase()\n filteredItems.value = props.items.filter((item) => {\n const text = getItemText(item)\n return text.toLowerCase().includes(lower)\n })\n }\n } else {\n filteredItems.value = props.items\n }\n resetPagination()\n}\n\nconst allItems = computed(() => {\n return props.items.filter(item => !item.disabled)\n})\n\nconst onQueryInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n query.value = target.value\n emit('update:query', query.value)\n recomputeFilteredItems()\n}\n\nconst handleChange = (value: any) => {\n selectedValue.value = value\n setTouched(true)\n handleValidation(value)\n}\n\nconst isAllSelected = computed(() => {\n if (!props.multiple || !Array.isArray(selectedValue.value)) return false\n const selectable = allItems.value\n if (selectable.length === 0) return false\n return selectable.every(item => (selectedValue.value as any[]).includes(item))\n})\n\nconst toggleSelectAll = () => {\n if (!props.multiple) return\n if (isAllSelected.value) {\n selectedValue.value = []\n } else {\n selectedValue.value = [...allItems.value]\n }\n handleValidation(selectedValue.value)\n}\n\nconst displayComboboxValue = (val: any): string => {\n if (!props.multiple) {\n return getItemText(val as ComboboxItem)\n }\n if (!Array.isArray(val) || val.length === 0) return ''\n if (val.length === 1) return getItemText(val[0] as ComboboxItem)\n return `${val.length} selected`\n}\n\n// Manual entry support (single-select only)\nconst queryValue = computed(() => {\n if (props.multiple) return null\n return query.value === '' ? null : { [props.itemKey]: null, [props.itemText]: query.value }\n})\n\nconst handleManualEntry = () => {\n if (props.multiple) return\n if (!queryValue.value) return\n // If customQuery provided and expects external handling, emit raw query\n if (props.customQuery) {\n emit('update:modelValue', query.value)\n handleValidation(query.value)\n } else {\n selectedValue.value = queryValue.value\n handleValidation(selectedValue.value)\n }\n}\n\nconst onScroll = (event: Event) => {\n const element = event.target as HTMLElement\n if (element.scrollTop + element.clientHeight >= element.scrollHeight) {\n loadMoreItems()\n }\n}\n\nconst onFocus = (event: FocusEvent) => {\n emit('focus', event)\n}\n\nconst onBlur = (event: FocusEvent) => {\n if (!props.multiple && queryValue.value) {\n selectedValue.value = queryValue.value\n handleValidation(selectedValue.value)\n emit('update:modelValue', selectedValue.value)\n }\n emit('blur', event)\n}\n\n// Initialize and keep filtered items in sync\nwatch(() => props.items, () => {\n recomputeFilteredItems()\n}, { immediate: true, deep: true })\n</script>\n\n\n"],"names":["itemsPerPage","props","__props","emit","__emit","id","generateId","query","ref","value","errorMessage","handleValidation","meta","setTouched","useField","selectedValue","watch","newValue","coerced","inputClasses","computed","wrapperClasses","baseClasses","getItemKey","item","getItemText","filteredItems","visibleItems","currentPage","loadMoreItems","end","resetPagination","recomputeFilteredItems","lower","allItems","onQueryInput","event","target","handleChange","isAllSelected","selectable","toggleSelectAll","displayComboboxValue","val","queryValue","handleManualEntry","onScroll","element","onFocus","onBlur","_openBlock","_createElementBlock","_hoisted_1","_createVNode","FormFieldWrapper","_unref","name","label","disabled","rules","tertiaryLabel","boxShadow","successMessage","Combobox","$event","multiple","_createElementVNode","ComboboxInput","placeholder","ComboboxButton","ChevronUpDownIcon","TransitionRoot","showAll","_createBlock","ComboboxOptions","ComboboxOption","_withCtx","active","_normalizeClass","_hoisted_2","_toDisplayString","loading","_hoisted_3","_hoisted_4","Loading","_cache","_hoisted_5","_Fragment","_renderList","selected","CheckIcon","_hoisted_6"],"mappings":"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"}