@konstructio/ui 0.0.12-alpha.1 → 0.0.12-alpha.11

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 (113) hide show
  1. package/dist/{Combination-BQYb0Gw7.js → Combination-b348x__d.js} +24 -24
  2. package/dist/Modal-B-E9uaA6.js +922 -0
  3. package/dist/components/Alert/Alert.js +58 -0
  4. package/dist/components/Alert/Alert.variants.js +77 -0
  5. package/dist/components/AlertDialog/AlertDialog.js +1 -1
  6. package/dist/components/AlertDialog/components/AlertDialogTrigger.js +1 -1
  7. package/dist/components/AlertDialog/components/index.js +1 -1
  8. package/dist/components/Autocomplete/Autocomplete.variants.js +0 -1
  9. package/dist/components/Autocomplete/components/List/List.js +3 -3
  10. package/dist/components/Breadcrumb/Breadcrumb.js +3 -3
  11. package/dist/components/Breadcrumb/Breadcrumb.variants.js +18 -15
  12. package/dist/components/Breadcrumb/components/Item/Item.js +4 -4
  13. package/dist/components/Breadcrumb/hooks/useBreadcrumb.js +1 -1
  14. package/dist/components/Button/Button.js +1 -1
  15. package/dist/components/Card/Card.js +3 -3
  16. package/dist/components/Checkbox/Checkbox.js +5 -5
  17. package/dist/components/Command/Command.js +32 -0
  18. package/dist/components/Command/Command.variants.js +97 -0
  19. package/dist/components/Command/components/Command.js +8 -0
  20. package/dist/components/Command/components/CommandEmpty.js +15 -0
  21. package/dist/components/Command/components/CommandGroup.js +19 -0
  22. package/dist/components/Command/components/CommandInput.js +84 -0
  23. package/dist/components/Command/components/CommandItem.js +29 -0
  24. package/dist/components/Command/components/CommandList.js +16 -0
  25. package/dist/components/Command/components/CommandSeparator.js +16 -0
  26. package/dist/components/Command/components/CommandShortcut.js +19 -0
  27. package/dist/components/Command/components/DialogContent.js +31 -0
  28. package/dist/components/Command/components/DialogOverlay.js +19 -0
  29. package/dist/components/Command/components/index.js +20 -0
  30. package/dist/components/Command/contexts/Command.context.js +13 -0
  31. package/dist/components/Command/contexts/Command.provider.js +24 -0
  32. package/dist/components/Command/contexts/index.js +6 -0
  33. package/dist/components/Divider/Divider.js +10 -0
  34. package/dist/components/Divider/Divider.variants.js +14 -0
  35. package/dist/components/Dropdown/Dropdown.js +5 -5
  36. package/dist/components/Dropdown/Dropdown.variants.js +22 -3
  37. package/dist/components/Dropdown/components/List/List.variants.js +4 -4
  38. package/dist/components/Dropdown/components/ListItem/ListItem.js +19 -18
  39. package/dist/components/Dropdown/components/ListItem/ListItem.variants.js +6 -4
  40. package/dist/components/Dropdown/components/Wrapper.js +88 -57
  41. package/dist/components/Dropdown/contexts/dropdown.context.js +1 -1
  42. package/dist/components/Dropdown/contexts/dropdown.provider.js +11 -11
  43. package/dist/components/Input/Input.js +112 -67
  44. package/dist/components/Input/Input.variants.js +5 -6
  45. package/dist/components/Loading/Loading.js +109 -0
  46. package/dist/components/Loading/Loading.variants.js +19 -0
  47. package/dist/components/Modal/Modal.js +3 -3
  48. package/dist/components/Modal/components/Body/Body.js +1 -1
  49. package/dist/components/Modal/components/Footer/Footer.js +1 -1
  50. package/dist/components/Modal/components/Header/Header.js +1 -1
  51. package/dist/components/Modal/components/Wrapper/Wrapper.js +4 -5
  52. package/dist/components/Modal/components/index.js +1 -1
  53. package/dist/components/NumberInput/NumberInput.js +1 -1
  54. package/dist/components/ProgressBar/ProgressBar.js +3 -3
  55. package/dist/components/Radio/Radio.js +4 -4
  56. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  57. package/dist/components/Range/Range.js +4 -4
  58. package/dist/components/Sidebar/Sidebar.variants.js +2 -1
  59. package/dist/components/Sidebar/components/Logo/Logo.variants.js +9 -17
  60. package/dist/components/Sidebar/components/NavigationGroup/NavigationGroup.variants.js +2 -2
  61. package/dist/components/Sidebar/components/NavigationOption/NavigationOption.variants.js +6 -5
  62. package/dist/components/Sidebar/components/Wrapper/Wrapper.js +3 -3
  63. package/dist/components/Slider/Slider.js +14 -14
  64. package/dist/components/Switch/Switch.js +17 -17
  65. package/dist/components/Tag/Tag.js +17 -5
  66. package/dist/components/Tag/Tag.variants.js +11 -1
  67. package/dist/components/TagSelect/TagSelect.js +6 -71
  68. package/dist/components/TagSelect/TagSelect.variants.js +29 -50
  69. package/dist/components/TagSelect/components/Item/Item.js +23 -0
  70. package/dist/components/TagSelect/components/Item/Item.variants.js +31 -0
  71. package/dist/components/TagSelect/components/List/List.js +13 -0
  72. package/dist/components/TagSelect/components/List/List.variants.js +37 -0
  73. package/dist/components/TagSelect/components/Wrapper/Wrapper.js +88 -0
  74. package/dist/components/TagSelect/components/index.js +8 -0
  75. package/dist/components/TagSelect/contexts/TagSelect.context.js +19 -0
  76. package/dist/components/TagSelect/contexts/TagSelect.hook.js +11 -0
  77. package/dist/components/TagSelect/contexts/TagSelect.provider.js +69 -0
  78. package/dist/components/TagSelect/contexts/index.js +6 -0
  79. package/dist/components/TagSelect/hooks/useTagSelect.js +22 -27
  80. package/dist/components/TextArea/TextArea.js +28 -22
  81. package/dist/components/TextArea/TextArea.variants.js +0 -1
  82. package/dist/components/Toast/Toast.js +143 -130
  83. package/dist/components/Toast/Toast.variants.js +2 -3
  84. package/dist/components/Tooltip/Tooltip.js +4 -4
  85. package/dist/components/Typography/Typography.js +31 -0
  86. package/dist/components/Typography/Typography.variants.js +63 -0
  87. package/dist/components/index.js +61 -53
  88. package/dist/{index-BxeV34ij.js → index-4ecjw_Aj.js} +1 -1
  89. package/dist/index-B_6_jmOO.js +68 -0
  90. package/dist/{index-BBjak_0p.js → index-BbsJ0VIJ.js} +2 -2
  91. package/dist/{index-CJsYodgi.js → index-BzaHYXkt.js} +9 -9
  92. package/dist/{index-KEdwcThH.js → index-CbTU3cnP.js} +1 -1
  93. package/dist/{index-8vgf-x5i.js → index-Cva-e5M4.js} +2 -2
  94. package/dist/index-CzSBQN5S.js +432 -0
  95. package/dist/index-D7QNmo_D.js +422 -0
  96. package/dist/index-DUA6Y_AE.js +126 -0
  97. package/dist/{index-CoqDsznq.js → index-D_76wh4w.js} +3 -3
  98. package/dist/{index-D4Q2rMby.js → index-Dj1pom3_.js} +2 -2
  99. package/dist/index-DyKo5ZJT.js +446 -0
  100. package/dist/index.d.ts +63 -12
  101. package/dist/index.js +76 -68
  102. package/dist/package.json +36 -35
  103. package/dist/plugins/konstruct.js +34 -31
  104. package/dist/plugins/utils/animation.styles.js +162 -0
  105. package/dist/plugins/utils/index.js +7 -0
  106. package/dist/styles.css +1 -1
  107. package/dist/{useBreadcrumb-CojbXFVD.js → useBreadcrumb-BsIeMoR1.js} +47 -47
  108. package/dist/utils/index.js +320 -322
  109. package/package.json +36 -35
  110. package/dist/Modal-W2GbkC_F.js +0 -906
  111. package/dist/index-1GLoikpT.js +0 -19134
  112. package/dist/index-BVppSRDQ.js +0 -551
  113. package/dist/index-DoOsnuB6.js +0 -72
@@ -0,0 +1,446 @@
1
+ import * as i from "react";
2
+ import { u as Ee, d as j, a as he, c as ye, b as _, e as De } from "./index-Cva-e5M4.js";
3
+ import { u as S, S as be } from "./index-B_6_jmOO.js";
4
+ import { P as Ce, D as Ae } from "./index-D_76wh4w.js";
5
+ import { P as N } from "./index-D7QNmo_D.js";
6
+ import { jsx as f, jsxs as q, Fragment as B } from "react/jsx-runtime";
7
+ import { P as W } from "./index-Dj1pom3_.js";
8
+ import { R as Re } from "./Combination-b348x__d.js";
9
+ var Ne = i.useId || (() => {
10
+ }), Oe = 0;
11
+ function M(e) {
12
+ const [n, t] = i.useState(Ne());
13
+ return Ee(() => {
14
+ t((o) => o ?? String(Oe++));
15
+ }, [e]), n ? `radix-${n}` : "";
16
+ }
17
+ var x = "focusScope.autoFocusOnMount", w = "focusScope.autoFocusOnUnmount", V = { bubbles: !1, cancelable: !0 }, _e = "FocusScope", Q = i.forwardRef((e, n) => {
18
+ const {
19
+ loop: t = !1,
20
+ trapped: o = !1,
21
+ onMountAutoFocus: a,
22
+ onUnmountAutoFocus: r,
23
+ ...c
24
+ } = e, [s, g] = i.useState(null), m = j(a), h = j(r), u = i.useRef(null), d = S(n, (l) => g(l)), p = i.useRef({
25
+ paused: !1,
26
+ pause() {
27
+ this.paused = !0;
28
+ },
29
+ resume() {
30
+ this.paused = !1;
31
+ }
32
+ }).current;
33
+ i.useEffect(() => {
34
+ if (o) {
35
+ let l = function(D) {
36
+ if (p.paused || !s) return;
37
+ const y = D.target;
38
+ s.contains(y) ? u.current = y : C(u.current, { select: !0 });
39
+ }, b = function(D) {
40
+ if (p.paused || !s) return;
41
+ const y = D.relatedTarget;
42
+ y !== null && (s.contains(y) || C(u.current, { select: !0 }));
43
+ }, v = function(D) {
44
+ if (document.activeElement === document.body)
45
+ for (const H of D)
46
+ H.removedNodes.length > 0 && C(s);
47
+ };
48
+ document.addEventListener("focusin", l), document.addEventListener("focusout", b);
49
+ const O = new MutationObserver(v);
50
+ return s && O.observe(s, { childList: !0, subtree: !0 }), () => {
51
+ document.removeEventListener("focusin", l), document.removeEventListener("focusout", b), O.disconnect();
52
+ };
53
+ }
54
+ }, [o, s, p.paused]), i.useEffect(() => {
55
+ if (s) {
56
+ Z.add(p);
57
+ const l = document.activeElement;
58
+ if (!s.contains(l)) {
59
+ const v = new CustomEvent(x, V);
60
+ s.addEventListener(x, m), s.dispatchEvent(v), v.defaultPrevented || (Ie(Me(X(s)), { select: !0 }), document.activeElement === l && C(s));
61
+ }
62
+ return () => {
63
+ s.removeEventListener(x, m), setTimeout(() => {
64
+ const v = new CustomEvent(w, V);
65
+ s.addEventListener(w, h), s.dispatchEvent(v), v.defaultPrevented || C(l ?? document.body, { select: !0 }), s.removeEventListener(w, h), Z.remove(p);
66
+ }, 0);
67
+ };
68
+ }
69
+ }, [s, m, h, p]);
70
+ const I = i.useCallback(
71
+ (l) => {
72
+ if (!t && !o || p.paused) return;
73
+ const b = l.key === "Tab" && !l.altKey && !l.ctrlKey && !l.metaKey, v = document.activeElement;
74
+ if (b && v) {
75
+ const O = l.currentTarget, [D, y] = Pe(O);
76
+ D && y ? !l.shiftKey && v === y ? (l.preventDefault(), t && C(D, { select: !0 })) : l.shiftKey && v === D && (l.preventDefault(), t && C(y, { select: !0 })) : v === O && l.preventDefault();
77
+ }
78
+ },
79
+ [t, o, p.paused]
80
+ );
81
+ return /* @__PURE__ */ f(N.div, { tabIndex: -1, ...c, ref: d, onKeyDown: I });
82
+ });
83
+ Q.displayName = _e;
84
+ function Ie(e, { select: n = !1 } = {}) {
85
+ const t = document.activeElement;
86
+ for (const o of e)
87
+ if (C(o, { select: n }), document.activeElement !== t) return;
88
+ }
89
+ function Pe(e) {
90
+ const n = X(e), t = Y(n, e), o = Y(n.reverse(), e);
91
+ return [t, o];
92
+ }
93
+ function X(e) {
94
+ const n = [], t = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
95
+ acceptNode: (o) => {
96
+ const a = o.tagName === "INPUT" && o.type === "hidden";
97
+ return o.disabled || o.hidden || a ? NodeFilter.FILTER_SKIP : o.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
98
+ }
99
+ });
100
+ for (; t.nextNode(); ) n.push(t.currentNode);
101
+ return n;
102
+ }
103
+ function Y(e, n) {
104
+ for (const t of e)
105
+ if (!Te(t, { upTo: n })) return t;
106
+ }
107
+ function Te(e, { upTo: n }) {
108
+ if (getComputedStyle(e).visibility === "hidden") return !0;
109
+ for (; e; ) {
110
+ if (n !== void 0 && e === n) return !1;
111
+ if (getComputedStyle(e).display === "none") return !0;
112
+ e = e.parentElement;
113
+ }
114
+ return !1;
115
+ }
116
+ function Fe(e) {
117
+ return e instanceof HTMLInputElement && "select" in e;
118
+ }
119
+ function C(e, { select: n = !1 } = {}) {
120
+ if (e && e.focus) {
121
+ const t = document.activeElement;
122
+ e.focus({ preventScroll: !0 }), e !== t && Fe(e) && n && e.select();
123
+ }
124
+ }
125
+ var Z = Se();
126
+ function Se() {
127
+ let e = [];
128
+ return {
129
+ add(n) {
130
+ const t = e[0];
131
+ n !== t && (t == null || t.pause()), e = z(e, n), e.unshift(n);
132
+ },
133
+ remove(n) {
134
+ var t;
135
+ e = z(e, n), (t = e[0]) == null || t.resume();
136
+ }
137
+ };
138
+ }
139
+ function z(e, n) {
140
+ const t = [...e], o = t.indexOf(n);
141
+ return o !== -1 && t.splice(o, 1), t;
142
+ }
143
+ function Me(e) {
144
+ return e.filter((n) => n.tagName !== "A");
145
+ }
146
+ var L = 0;
147
+ function xe() {
148
+ i.useEffect(() => {
149
+ const e = document.querySelectorAll("[data-radix-focus-guard]");
150
+ return document.body.insertAdjacentElement("afterbegin", e[0] ?? J()), document.body.insertAdjacentElement("beforeend", e[1] ?? J()), L++, () => {
151
+ L === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((n) => n.remove()), L--;
152
+ };
153
+ }, []);
154
+ }
155
+ function J() {
156
+ const e = document.createElement("span");
157
+ return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
158
+ }
159
+ var we = function(e) {
160
+ if (typeof document > "u")
161
+ return null;
162
+ var n = Array.isArray(e) ? e[0] : e;
163
+ return n.ownerDocument.body;
164
+ }, R = /* @__PURE__ */ new WeakMap(), P = /* @__PURE__ */ new WeakMap(), T = {}, k = 0, ee = function(e) {
165
+ return e && (e.host || ee(e.parentNode));
166
+ }, Le = function(e, n) {
167
+ return n.map(function(t) {
168
+ if (e.contains(t))
169
+ return t;
170
+ var o = ee(t);
171
+ return o && e.contains(o) ? o : (console.error("aria-hidden", t, "in not contained inside", e, ". Doing nothing"), null);
172
+ }).filter(function(t) {
173
+ return !!t;
174
+ });
175
+ }, ke = function(e, n, t, o) {
176
+ var a = Le(n, Array.isArray(e) ? e : [e]);
177
+ T[t] || (T[t] = /* @__PURE__ */ new WeakMap());
178
+ var r = T[t], c = [], s = /* @__PURE__ */ new Set(), g = new Set(a), m = function(u) {
179
+ !u || s.has(u) || (s.add(u), m(u.parentNode));
180
+ };
181
+ a.forEach(m);
182
+ var h = function(u) {
183
+ !u || g.has(u) || Array.prototype.forEach.call(u.children, function(d) {
184
+ if (s.has(d))
185
+ h(d);
186
+ else
187
+ try {
188
+ var p = d.getAttribute(o), I = p !== null && p !== "false", l = (R.get(d) || 0) + 1, b = (r.get(d) || 0) + 1;
189
+ R.set(d, l), r.set(d, b), c.push(d), l === 1 && I && P.set(d, !0), b === 1 && d.setAttribute(t, "true"), I || d.setAttribute(o, "true");
190
+ } catch (v) {
191
+ console.error("aria-hidden: cannot operate on ", d, v);
192
+ }
193
+ });
194
+ };
195
+ return h(n), s.clear(), k++, function() {
196
+ c.forEach(function(u) {
197
+ var d = R.get(u) - 1, p = r.get(u) - 1;
198
+ R.set(u, d), r.set(u, p), d || (P.has(u) || u.removeAttribute(o), P.delete(u)), p || u.removeAttribute(t);
199
+ }), k--, k || (R = /* @__PURE__ */ new WeakMap(), R = /* @__PURE__ */ new WeakMap(), P = /* @__PURE__ */ new WeakMap(), T = {});
200
+ };
201
+ }, We = function(e, n, t) {
202
+ t === void 0 && (t = "data-aria-hidden");
203
+ var o = Array.from(Array.isArray(e) ? e : [e]), a = we(e);
204
+ return a ? (o.push.apply(o, Array.from(a.querySelectorAll("[aria-live]"))), ke(o, a, t, "aria-hidden")) : function() {
205
+ return null;
206
+ };
207
+ }, U = "Dialog", [te, et] = ye(U), [Ue, E] = te(U), ne = (e) => {
208
+ const {
209
+ __scopeDialog: n,
210
+ children: t,
211
+ open: o,
212
+ defaultOpen: a,
213
+ onOpenChange: r,
214
+ modal: c = !0
215
+ } = e, s = i.useRef(null), g = i.useRef(null), [m = !1, h] = he({
216
+ prop: o,
217
+ defaultProp: a,
218
+ onChange: r
219
+ });
220
+ return /* @__PURE__ */ f(
221
+ Ue,
222
+ {
223
+ scope: n,
224
+ triggerRef: s,
225
+ contentRef: g,
226
+ contentId: M(),
227
+ titleId: M(),
228
+ descriptionId: M(),
229
+ open: m,
230
+ onOpenChange: h,
231
+ onOpenToggle: i.useCallback(() => h((u) => !u), [h]),
232
+ modal: c,
233
+ children: t
234
+ }
235
+ );
236
+ };
237
+ ne.displayName = U;
238
+ var oe = "DialogTrigger", re = i.forwardRef(
239
+ (e, n) => {
240
+ const { __scopeDialog: t, ...o } = e, a = E(oe, t), r = S(n, a.triggerRef);
241
+ return /* @__PURE__ */ f(
242
+ N.button,
243
+ {
244
+ type: "button",
245
+ "aria-haspopup": "dialog",
246
+ "aria-expanded": a.open,
247
+ "aria-controls": a.contentId,
248
+ "data-state": $(a.open),
249
+ ...o,
250
+ ref: r,
251
+ onClick: _(e.onClick, a.onOpenToggle)
252
+ }
253
+ );
254
+ }
255
+ );
256
+ re.displayName = oe;
257
+ var K = "DialogPortal", [Ke, ae] = te(K, {
258
+ forceMount: void 0
259
+ }), se = (e) => {
260
+ const { __scopeDialog: n, forceMount: t, children: o, container: a } = e, r = E(K, n);
261
+ return /* @__PURE__ */ f(Ke, { scope: n, forceMount: t, children: i.Children.map(o, (c) => /* @__PURE__ */ f(W, { present: t || r.open, children: /* @__PURE__ */ f(Ce, { asChild: !0, container: a, children: c }) })) });
262
+ };
263
+ se.displayName = K;
264
+ var F = "DialogOverlay", ie = i.forwardRef(
265
+ (e, n) => {
266
+ const t = ae(F, e.__scopeDialog), { forceMount: o = t.forceMount, ...a } = e, r = E(F, e.__scopeDialog);
267
+ return r.modal ? /* @__PURE__ */ f(W, { present: o || r.open, children: /* @__PURE__ */ f(Ge, { ...a, ref: n }) }) : null;
268
+ }
269
+ );
270
+ ie.displayName = F;
271
+ var Ge = i.forwardRef(
272
+ (e, n) => {
273
+ const { __scopeDialog: t, ...o } = e, a = E(F, t);
274
+ return (
275
+ // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
276
+ // ie. when `Overlay` and `Content` are siblings
277
+ /* @__PURE__ */ f(Re, { as: be, allowPinchZoom: !0, shards: [a.contentRef], children: /* @__PURE__ */ f(
278
+ N.div,
279
+ {
280
+ "data-state": $(a.open),
281
+ ...o,
282
+ ref: n,
283
+ style: { pointerEvents: "auto", ...o.style }
284
+ }
285
+ ) })
286
+ );
287
+ }
288
+ ), A = "DialogContent", ce = i.forwardRef(
289
+ (e, n) => {
290
+ const t = ae(A, e.__scopeDialog), { forceMount: o = t.forceMount, ...a } = e, r = E(A, e.__scopeDialog);
291
+ return /* @__PURE__ */ f(W, { present: o || r.open, children: r.modal ? /* @__PURE__ */ f($e, { ...a, ref: n }) : /* @__PURE__ */ f(He, { ...a, ref: n }) });
292
+ }
293
+ );
294
+ ce.displayName = A;
295
+ var $e = i.forwardRef(
296
+ (e, n) => {
297
+ const t = E(A, e.__scopeDialog), o = i.useRef(null), a = S(n, t.contentRef, o);
298
+ return i.useEffect(() => {
299
+ const r = o.current;
300
+ if (r) return We(r);
301
+ }, []), /* @__PURE__ */ f(
302
+ ue,
303
+ {
304
+ ...e,
305
+ ref: a,
306
+ trapFocus: t.open,
307
+ disableOutsidePointerEvents: !0,
308
+ onCloseAutoFocus: _(e.onCloseAutoFocus, (r) => {
309
+ var c;
310
+ r.preventDefault(), (c = t.triggerRef.current) == null || c.focus();
311
+ }),
312
+ onPointerDownOutside: _(e.onPointerDownOutside, (r) => {
313
+ const c = r.detail.originalEvent, s = c.button === 0 && c.ctrlKey === !0;
314
+ (c.button === 2 || s) && r.preventDefault();
315
+ }),
316
+ onFocusOutside: _(
317
+ e.onFocusOutside,
318
+ (r) => r.preventDefault()
319
+ )
320
+ }
321
+ );
322
+ }
323
+ ), He = i.forwardRef(
324
+ (e, n) => {
325
+ const t = E(A, e.__scopeDialog), o = i.useRef(!1), a = i.useRef(!1);
326
+ return /* @__PURE__ */ f(
327
+ ue,
328
+ {
329
+ ...e,
330
+ ref: n,
331
+ trapFocus: !1,
332
+ disableOutsidePointerEvents: !1,
333
+ onCloseAutoFocus: (r) => {
334
+ var c, s;
335
+ (c = e.onCloseAutoFocus) == null || c.call(e, r), r.defaultPrevented || (o.current || (s = t.triggerRef.current) == null || s.focus(), r.preventDefault()), o.current = !1, a.current = !1;
336
+ },
337
+ onInteractOutside: (r) => {
338
+ var g, m;
339
+ (g = e.onInteractOutside) == null || g.call(e, r), r.defaultPrevented || (o.current = !0, r.detail.originalEvent.type === "pointerdown" && (a.current = !0));
340
+ const c = r.target;
341
+ ((m = t.triggerRef.current) == null ? void 0 : m.contains(c)) && r.preventDefault(), r.detail.originalEvent.type === "focusin" && a.current && r.preventDefault();
342
+ }
343
+ }
344
+ );
345
+ }
346
+ ), ue = i.forwardRef(
347
+ (e, n) => {
348
+ const { __scopeDialog: t, trapFocus: o, onOpenAutoFocus: a, onCloseAutoFocus: r, ...c } = e, s = E(A, t), g = i.useRef(null), m = S(n, g);
349
+ return xe(), /* @__PURE__ */ q(B, { children: [
350
+ /* @__PURE__ */ f(
351
+ Q,
352
+ {
353
+ asChild: !0,
354
+ loop: !0,
355
+ trapped: o,
356
+ onMountAutoFocus: a,
357
+ onUnmountAutoFocus: r,
358
+ children: /* @__PURE__ */ f(
359
+ Ae,
360
+ {
361
+ role: "dialog",
362
+ id: s.contentId,
363
+ "aria-describedby": s.descriptionId,
364
+ "aria-labelledby": s.titleId,
365
+ "data-state": $(s.open),
366
+ ...c,
367
+ ref: m,
368
+ onDismiss: () => s.onOpenChange(!1)
369
+ }
370
+ )
371
+ }
372
+ ),
373
+ /* @__PURE__ */ q(B, { children: [
374
+ /* @__PURE__ */ f(je, { titleId: s.titleId }),
375
+ /* @__PURE__ */ f(Be, { contentRef: g, descriptionId: s.descriptionId })
376
+ ] })
377
+ ] });
378
+ }
379
+ ), G = "DialogTitle", le = i.forwardRef(
380
+ (e, n) => {
381
+ const { __scopeDialog: t, ...o } = e, a = E(G, t);
382
+ return /* @__PURE__ */ f(N.h2, { id: a.titleId, ...o, ref: n });
383
+ }
384
+ );
385
+ le.displayName = G;
386
+ var fe = "DialogDescription", de = i.forwardRef(
387
+ (e, n) => {
388
+ const { __scopeDialog: t, ...o } = e, a = E(fe, t);
389
+ return /* @__PURE__ */ f(N.p, { id: a.descriptionId, ...o, ref: n });
390
+ }
391
+ );
392
+ de.displayName = fe;
393
+ var pe = "DialogClose", ve = i.forwardRef(
394
+ (e, n) => {
395
+ const { __scopeDialog: t, ...o } = e, a = E(pe, t);
396
+ return /* @__PURE__ */ f(
397
+ N.button,
398
+ {
399
+ type: "button",
400
+ ...o,
401
+ ref: n,
402
+ onClick: _(e.onClick, () => a.onOpenChange(!1))
403
+ }
404
+ );
405
+ }
406
+ );
407
+ ve.displayName = pe;
408
+ function $(e) {
409
+ return e ? "open" : "closed";
410
+ }
411
+ var me = "DialogTitleWarning", [tt, ge] = De(me, {
412
+ contentName: A,
413
+ titleName: G,
414
+ docsSlug: "dialog"
415
+ }), je = ({ titleId: e }) => {
416
+ const n = ge(me), t = `\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.
417
+
418
+ If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.
419
+
420
+ For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;
421
+ return i.useEffect(() => {
422
+ e && (document.getElementById(e) || console.error(t));
423
+ }, [t, e]), null;
424
+ }, qe = "DialogDescriptionWarning", Be = ({ contentRef: e, descriptionId: n }) => {
425
+ const o = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ge(qe).contentName}}.`;
426
+ return i.useEffect(() => {
427
+ var r;
428
+ const a = (r = e.current) == null ? void 0 : r.getAttribute("aria-describedby");
429
+ n && a && (document.getElementById(n) || console.warn(o));
430
+ }, [o, e, n]), null;
431
+ }, nt = ne, ot = re, rt = se, at = ie, st = ce, it = le, ct = de, ut = ve;
432
+ export {
433
+ st as C,
434
+ le as D,
435
+ at as O,
436
+ rt as P,
437
+ nt as R,
438
+ it as T,
439
+ tt as W,
440
+ se as a,
441
+ ut as b,
442
+ et as c,
443
+ ct as d,
444
+ ot as e,
445
+ M as u
446
+ };
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ import { Config } from 'tailwindcss/types/config';
4
4
  import { Context } from 'react';
5
5
  import { FC } from 'react';
6
6
  import { ForwardRefExoticComponent } from 'react';
7
+ import { FunctionComponent } from 'react';
7
8
  import { HTMLAttributes } from 'react';
8
9
  import { HtmlHTMLAttributes } from 'react';
9
10
  import { InputHTMLAttributes } from 'react';
@@ -14,6 +15,8 @@ import { RefAttributes } from 'react';
14
15
  import { SliderProps } from '@radix-ui/react-slider';
15
16
  import { VariantProps } from 'class-variance-authority';
16
17
 
18
+ export declare const Alert: FC<AlertProps>;
19
+
17
20
  export declare const AlertDialog: FC<AlertDialogProps>;
18
21
 
19
22
  declare interface AlertDialogProps extends PropsWithChildren, VariantProps<typeof buttonAlertDialogVariants> {
@@ -29,6 +32,19 @@ declare interface AlertDialogProps extends PropsWithChildren, VariantProps<typeo
29
32
  onConfirm?: () => void;
30
33
  }
31
34
 
35
+ declare interface AlertProps extends VariantProps<typeof alertVariants> {
36
+ dismissible?: boolean;
37
+ content: string | ReactNode;
38
+ isVisible?: boolean;
39
+ showCloseButton?: boolean;
40
+ }
41
+
42
+ declare const alertVariants: (props?: ({
43
+ theme?: "kubefirst" | "colony" | "civo" | null | undefined;
44
+ type?: "sucess" | "info" | "warning" | "danger" | null | undefined;
45
+ isVisible?: boolean | null | undefined;
46
+ } & ClassProp) | undefined) => string;
47
+
32
48
  export declare const Autocomplete: ForwardRefExoticComponent<AutocompleteProps & RefAttributes<HTMLInputElement>>;
33
49
 
34
50
  declare interface AutocompleteProps extends VariantProps<typeof autocompleteVariants> {
@@ -73,7 +89,7 @@ declare interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElemen
73
89
  }
74
90
 
75
91
  declare const buttonVariants: (props?: ({
76
- variant?: "primary" | "secondary" | "danger" | "text" | "circle" | null | undefined;
92
+ variant?: "danger" | "circle" | "text" | "primary" | "secondary" | null | undefined;
77
93
  version?: "default" | "alternate" | null | undefined;
78
94
  theme?: "kubefirst" | "colony" | "civo" | null | undefined;
79
95
  disabled?: boolean | null | undefined;
@@ -114,15 +130,16 @@ declare const checkboxVariants: (props?: ({
114
130
  checked?: boolean | null | undefined;
115
131
  } & ClassProp) | undefined) => string;
116
132
 
133
+ export declare const Divider: FunctionComponent<HTMLAttributes<HTMLDivElement>>;
134
+
117
135
  export declare const Dropdown: FC<DropdownProps>;
118
136
 
119
- declare interface DropdownProps extends VariantProps<typeof dropdownVariants> {
120
- defaultValue?: string;
137
+ declare interface DropdownProps extends VariantProps<typeof dropdownVariants>, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {
138
+ onChange?: (value: Option_3) => void;
121
139
  label?: string;
122
- name?: string;
123
140
  options: Option_3[];
124
- placeholder?: string;
125
- onChange?: (value: Option_3) => void;
141
+ labelClassName?: string;
142
+ value?: Option_3;
126
143
  }
127
144
 
128
145
  declare const dropdownVariants: (props?: ({
@@ -139,17 +156,18 @@ declare const footerVariants: (props?: ({
139
156
  theme?: "kubefirst" | "colony" | "civo" | null | undefined;
140
157
  } & ClassProp) | undefined) => string;
141
158
 
159
+ declare type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
160
+
142
161
  export declare const Input: ForwardRefExoticComponent<InputProps & RefAttributes<HTMLInputElement>>;
143
162
 
144
163
  declare interface InputProps extends InputHTMLAttributes<HTMLInputElement>, VariantProps<typeof inputVariants> {
145
- label?: string;
164
+ label?: string | ReactNode;
146
165
  labelClassName?: string;
147
166
  error?: string;
148
- onClickIcon?: () => void;
149
167
  }
150
168
 
151
169
  declare const inputVariants: (props?: ({
152
- variant?: "default" | "error" | null | undefined;
170
+ variant?: "error" | "default" | null | undefined;
153
171
  theme?: "kubefirst" | "colony" | "civo" | null | undefined;
154
172
  } & ClassProp) | undefined) => string;
155
173
 
@@ -158,6 +176,14 @@ export declare const konstructPlugin: {
158
176
  config?: Partial<Config>;
159
177
  };
160
178
 
179
+ export declare const Loading: FunctionComponent<LoadingProps>;
180
+
181
+ declare type LoadingProps = InputHTMLAttributes<SVGSVGElement> & VariantProps<typeof loadingVariants>;
182
+
183
+ declare const loadingVariants: (props?: ({
184
+ theme?: "kubefirst" | "colony" | "civo" | null | undefined;
185
+ } & ClassProp) | undefined) => string;
186
+
161
187
  export declare const Logo: FC<LogoProps>;
162
188
 
163
189
  declare interface LogoProps extends PropsWithChildren, VariantProps<typeof logoVariants> {
@@ -183,6 +209,8 @@ declare type ModalChildProps = {
183
209
  declare interface ModalProps extends PropsWithChildren, VariantProps<typeof modalVariants> {
184
210
  className?: string;
185
211
  buttonCloseClassName?: string;
212
+ isOpen?: boolean;
213
+ onClose?: () => void;
186
214
  }
187
215
 
188
216
  declare const modalVariants: (props?: ({
@@ -431,8 +459,14 @@ declare const switchVariants: (props?: ({
431
459
  export declare const Tag: FC<TagProps>;
432
460
 
433
461
  declare type TagProps = {
434
- label: string;
435
462
  color?: 'gray' | 'cyan' | 'gold' | 'green' | 'light blue' | 'lime' | 'pink' | 'purple' | 'emerald' | 'fuscia' | 'indigo' | 'light-orange' | 'dark-sky-blue' | 'mistery';
463
+ id: string | number;
464
+ label: string;
465
+ rightIcon?: ReactNode;
466
+ leftIcon?: ReactNode;
467
+ className?: string;
468
+ 'data-value'?: string;
469
+ isSelected?: boolean;
436
470
  };
437
471
 
438
472
  export declare const TagSelect: FC<TagSelectProps>;
@@ -442,6 +476,9 @@ declare interface TagSelectProps extends VariantProps<typeof tagSelectVariants>
442
476
  options: TagProps[];
443
477
  name?: string;
444
478
  placeholder?: string;
479
+ labelClassName?: string;
480
+ wrapperClassName?: string;
481
+ multiselect?: boolean;
445
482
  }
446
483
 
447
484
  declare const tagSelectVariants: (props?: ({
@@ -452,10 +489,9 @@ export declare const TextArea: FC<TextAreaProps>;
452
489
 
453
490
  declare interface TextAreaProps extends InputHTMLAttributes<HTMLTextAreaElement>, VariantProps<typeof textAreaVariants> {
454
491
  rows?: number;
455
- label?: string;
492
+ label?: string | ReactNode;
456
493
  name?: string;
457
494
  initialValue?: string;
458
- onChange?: () => void;
459
495
  }
460
496
 
461
497
  declare const textAreaVariants: (props?: ({
@@ -492,6 +528,9 @@ declare interface ToastProps extends PropsWithChildren, VariantProps<typeof toas
492
528
  showCloseButton?: boolean;
493
529
  title: string | ReactNode;
494
530
  titleClassName?: string;
531
+ open: boolean;
532
+ setOpen: (open: boolean) => void;
533
+ closeButtonClassName?: string;
495
534
  }
496
535
 
497
536
  declare const toastVariants: (props?: ({
@@ -511,6 +550,18 @@ declare const tooltipVariants: (props?: ({
511
550
  position?: "left" | "right" | "top" | "bottom" | null | undefined;
512
551
  } & ClassProp) | undefined) => string;
513
552
 
553
+ export declare const Typography: FunctionComponent<TypographyProps>;
554
+
555
+ declare interface TypographyProps extends InputHTMLAttributes<HTMLParagraphElement>, VariantProps<typeof typographyVariants> {
556
+ children: ReactNode;
557
+ component?: HeadingTag | 'p' | 'span';
558
+ }
559
+
560
+ declare const typographyVariants: (props?: ({
561
+ variant?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "tooltip" | "subtitle1" | "subtitle2" | "subtitle3" | "labelLarge" | "labelMedium" | "labelSmall" | "buttonSmall" | "body1" | "body2" | "body3" | null | undefined;
562
+ theme?: "kubefirst" | "colony" | "civo" | null | undefined;
563
+ } & ClassProp) | undefined) => string;
564
+
514
565
  export declare const useTheme: () => ThemeProps;
515
566
 
516
567
  export declare const useToggle: (initialState?: boolean) => [boolean, (value?: boolean) => void];