@phillips/seldon 1.143.1 → 1.144.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 (57) hide show
  1. package/dist/components/ComboBox/ComboBox.d.ts +69 -0
  2. package/dist/components/ComboBox/ComboBox.js +221 -0
  3. package/dist/components/ComboBox/ComboBox.stories.d.ts +18 -0
  4. package/dist/components/ComboBox/ComboBox.test.d.ts +1 -0
  5. package/dist/components/ComboBox/index.d.ts +1 -0
  6. package/dist/components/PhoneNumberPicker/PhoneNumberPicker.d.ts +38 -0
  7. package/dist/components/PhoneNumberPicker/PhoneNumberPicker.stories.d.ts +14 -0
  8. package/dist/components/PhoneNumberPicker/PhoneNumberPicker.test.d.ts +1 -0
  9. package/dist/index.d.ts +9 -1
  10. package/dist/index.js +108 -106
  11. package/dist/node_modules/@radix-ui/react-context/dist/index.js +34 -49
  12. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +12 -12
  13. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/primitive/dist/index.js +9 -0
  14. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -0
  15. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-context/dist/index.js +68 -0
  16. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +127 -0
  17. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-focus-guards/dist/index.js +17 -0
  18. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-focus-scope/dist/index.js +136 -0
  19. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-id/dist/index.js +13 -0
  20. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-portal/dist/index.js +15 -0
  21. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-presence/dist/index.js +70 -0
  22. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-primitive/dist/index.js +35 -0
  23. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.js +48 -0
  24. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +10 -0
  25. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +32 -0
  26. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +14 -0
  27. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +6 -0
  28. package/dist/node_modules/@radix-ui/react-popover/dist/index.js +23 -22
  29. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/primitive/dist/index.js +9 -0
  30. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-arrow/dist/index.js +24 -0
  31. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -0
  32. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context/dist/index.js +53 -0
  33. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +127 -0
  34. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-guards/dist/index.js +17 -0
  35. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-scope/dist/index.js +136 -0
  36. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-id/dist/index.js +13 -0
  37. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.js +218 -0
  38. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-portal/dist/index.js +15 -0
  39. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-presence/dist/index.js +70 -0
  40. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive/dist/index.js +36 -0
  41. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.js +48 -0
  42. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +10 -0
  43. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +52 -0
  44. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +14 -0
  45. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +6 -0
  46. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-size/dist/index.js +27 -0
  47. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.js +17 -0
  48. package/dist/node_modules/cmdk/dist/index.js +312 -0
  49. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-compose-refs/dist/index.js +25 -0
  50. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.js +31 -0
  51. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.js +48 -0
  52. package/dist/scss/_vars.scss +3 -0
  53. package/dist/scss/_vars.scss.js +3 -0
  54. package/dist/scss/componentStyles.scss +1 -0
  55. package/dist/scss/components/ComboBox/_combobox.scss +149 -0
  56. package/dist/scss/components/Navigation/NavigationItemTrigger/_navigationItemTrigger.scss +1 -0
  57. package/package.json +4 -2
@@ -0,0 +1,10 @@
1
+ import * as e from "react";
2
+ function c(r) {
3
+ const t = e.useRef(r);
4
+ return e.useEffect(() => {
5
+ t.current = r;
6
+ }), e.useMemo(() => (...u) => t.current?.(...u), []);
7
+ }
8
+ export {
9
+ c as useCallbackRef
10
+ };
@@ -0,0 +1,52 @@
1
+ import * as o from "react";
2
+ import { useLayoutEffect as m } from "../../react-use-layout-effect/dist/index.js";
3
+ var v = o[" useInsertionEffect ".trim().toString()] || m;
4
+ function w({
5
+ prop: e,
6
+ defaultProp: s,
7
+ onChange: t = () => {
8
+ },
9
+ caller: f
10
+ }) {
11
+ const [u, c, i] = R({
12
+ defaultProp: s,
13
+ onChange: t
14
+ }), n = e !== void 0, a = n ? e : u;
15
+ {
16
+ const r = o.useRef(e !== void 0);
17
+ o.useEffect(() => {
18
+ const l = r.current;
19
+ l !== n && console.warn(
20
+ `${f} is changing from ${l ? "controlled" : "uncontrolled"} to ${n ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
21
+ ), r.current = n;
22
+ }, [n, f]);
23
+ }
24
+ const d = o.useCallback(
25
+ (r) => {
26
+ if (n) {
27
+ const l = C(r) ? r(e) : r;
28
+ l !== e && i.current?.(l);
29
+ } else
30
+ c(r);
31
+ },
32
+ [n, e, c, i]
33
+ );
34
+ return [a, d];
35
+ }
36
+ function R({
37
+ defaultProp: e,
38
+ onChange: s
39
+ }) {
40
+ const [t, f] = o.useState(e), u = o.useRef(t), c = o.useRef(s);
41
+ return v(() => {
42
+ c.current = s;
43
+ }, [s]), o.useEffect(() => {
44
+ u.current !== t && (c.current?.(t), u.current = t);
45
+ }, [t, u]), [t, f, c];
46
+ }
47
+ function C(e) {
48
+ return typeof e == "function";
49
+ }
50
+ export {
51
+ w as useControllableState
52
+ };
@@ -0,0 +1,14 @@
1
+ import * as r from "react";
2
+ import { useCallbackRef as s } from "../../react-use-callback-ref/dist/index.js";
3
+ function p(n, e = globalThis?.document) {
4
+ const t = s(n);
5
+ r.useEffect(() => {
6
+ const o = (a) => {
7
+ a.key === "Escape" && t(a);
8
+ };
9
+ return e.addEventListener("keydown", o, { capture: !0 }), () => e.removeEventListener("keydown", o, { capture: !0 });
10
+ }, [t, e]);
11
+ }
12
+ export {
13
+ p as useEscapeKeydown
14
+ };
@@ -0,0 +1,6 @@
1
+ import * as t from "react";
2
+ var e = globalThis?.document ? t.useLayoutEffect : () => {
3
+ };
4
+ export {
5
+ e as useLayoutEffect
6
+ };
@@ -0,0 +1,27 @@
1
+ import * as h from "react";
2
+ import { useLayoutEffect as z } from "../../react-use-layout-effect/dist/index.js";
3
+ function c(r) {
4
+ const [d, e] = h.useState(void 0);
5
+ return z(() => {
6
+ if (r) {
7
+ e({ width: r.offsetWidth, height: r.offsetHeight });
8
+ const f = new ResizeObserver((i) => {
9
+ if (!Array.isArray(i) || !i.length)
10
+ return;
11
+ const b = i[0];
12
+ let o, t;
13
+ if ("borderBoxSize" in b) {
14
+ const s = b.borderBoxSize, u = Array.isArray(s) ? s[0] : s;
15
+ o = u.inlineSize, t = u.blockSize;
16
+ } else
17
+ o = r.offsetWidth, t = r.offsetHeight;
18
+ e({ width: o, height: t });
19
+ });
20
+ return f.observe(r, { box: "border-box" }), () => f.unobserve(r);
21
+ } else
22
+ e(void 0);
23
+ }, [r]), d;
24
+ }
25
+ export {
26
+ c as useSize
27
+ };
@@ -0,0 +1,17 @@
1
+ var m = 1, j = 0.9, k = 0.8, B = 0.17, v = 0.1, w = 0.999, D = 0.9999, G = 0.99, H = /[\\\/_+.#"@\[\(\{&]/, J = /[\\\/_+.#"@\[\(\{&]/g, K = /[\s-]/, A = /[\s-]/g;
2
+ function $(t, o, e, i, n, h, u) {
3
+ if (h === o.length) return n === t.length ? m : G;
4
+ var s = `${n},${h}`;
5
+ if (u[s] !== void 0) return u[s];
6
+ for (var d = i.charAt(h), a = e.indexOf(d, n), l = 0, r, g, c, p; a >= 0; ) r = $(t, o, e, i, a + 1, h + 1, u), r > l && (a === n ? r *= m : H.test(t.charAt(a - 1)) ? (r *= k, c = t.slice(n, a - 1).match(J), c && n > 0 && (r *= Math.pow(w, c.length))) : K.test(t.charAt(a - 1)) ? (r *= j, p = t.slice(n, a - 1).match(A), p && n > 0 && (r *= Math.pow(w, p.length))) : (r *= B, n > 0 && (r *= Math.pow(w, a - n))), t.charAt(a) !== o.charAt(h) && (r *= D)), (r < v && e.charAt(a - 1) === i.charAt(h + 1) || i.charAt(h + 1) === i.charAt(h) && e.charAt(a - 1) !== i.charAt(h)) && (g = $(t, o, e, i, a + 1, h + 2, u), g * v > r && (r = g * v)), r > l && (l = r), a = e.indexOf(d, a + 1);
7
+ return u[s] = l, l;
8
+ }
9
+ function x(t) {
10
+ return t.toLowerCase().replace(A, " ");
11
+ }
12
+ function M(t, o, e) {
13
+ return t = e && e.length > 0 ? `${t + " " + e.join(" ")}` : t, $(t, o, x(t), x(o), 0, 0, {});
14
+ }
15
+ export {
16
+ M as a
17
+ };
@@ -0,0 +1,312 @@
1
+ import { a as pe } from "./chunk-NZJY6EH4.js";
2
+ import { Root as ge, Portal as he, Overlay as be, Content as Ee } from "../../@radix-ui/react-dialog/dist/index.js";
3
+ import * as n from "react";
4
+ import { Primitive as I } from "../node_modules/@radix-ui/react-primitive/dist/index.js";
5
+ import { useId as K } from "../../@radix-ui/react-id/dist/index.js";
6
+ import { composeRefs as q } from "../node_modules/@radix-ui/react-compose-refs/dist/index.js";
7
+ var $ = '[cmdk-group=""]', X = '[cmdk-group-items=""]', ye = '[cmdk-group-heading=""]', oe = '[cmdk-item=""]', ie = `${oe}:not([aria-disabled="true"])`, Y = "cmdk-item-select", D = "data-value", Ce = (t, a, r) => pe(t, a, r), ce = n.createContext(void 0), O = () => n.useContext(ce), de = n.createContext(void 0), Z = () => n.useContext(de), se = n.createContext(void 0), fe = n.forwardRef((t, a) => {
8
+ let r = F(() => {
9
+ var e, u;
10
+ return { search: "", value: (u = (e = t.value) != null ? e : t.defaultValue) != null ? u : "", selectedItemId: void 0, filtered: { count: 0, items: /* @__PURE__ */ new Map(), groups: /* @__PURE__ */ new Set() } };
11
+ }), v = F(() => /* @__PURE__ */ new Set()), i = F(() => /* @__PURE__ */ new Map()), c = F(() => /* @__PURE__ */ new Map()), d = F(() => /* @__PURE__ */ new Set()), m = me(t), { label: b, children: s, value: h, onValueChange: R, filter: k, shouldFilter: w, loop: V, disablePointerSelection: B = !1, vimBindings: x = !0, ...j } = t, U = K(), ee = K(), W = K(), A = n.useRef(null), g = Fe();
12
+ M(() => {
13
+ if (h !== void 0) {
14
+ let e = h.trim();
15
+ r.current.value = e, y.emit();
16
+ }
17
+ }, [h]), M(() => {
18
+ g(6, re);
19
+ }, []);
20
+ let y = n.useMemo(() => ({ subscribe: (e) => (d.current.add(e), () => d.current.delete(e)), snapshot: () => r.current, setState: (e, u, o) => {
21
+ var l, f, p, C;
22
+ if (!Object.is(r.current[e], u)) {
23
+ if (r.current[e] = u, e === "search") T(), G(), g(1, H);
24
+ else if (e === "value") {
25
+ if (document.activeElement.hasAttribute("cmdk-input") || document.activeElement.hasAttribute("cmdk-root")) {
26
+ let E = document.getElementById(W);
27
+ E ? E.focus() : (l = document.getElementById(U)) == null || l.focus();
28
+ }
29
+ if (g(7, () => {
30
+ var E;
31
+ r.current.selectedItemId = (E = P()) == null ? void 0 : E.id, y.emit();
32
+ }), o || g(5, re), ((f = m.current) == null ? void 0 : f.value) !== void 0) {
33
+ let E = u ?? "";
34
+ (C = (p = m.current).onValueChange) == null || C.call(p, E);
35
+ return;
36
+ }
37
+ }
38
+ y.emit();
39
+ }
40
+ }, emit: () => {
41
+ d.current.forEach((e) => e());
42
+ } }), []), _ = n.useMemo(() => ({ value: (e, u, o) => {
43
+ var l;
44
+ u !== ((l = c.current.get(e)) == null ? void 0 : l.value) && (c.current.set(e, { value: u, keywords: o }), r.current.filtered.items.set(e, te(u, o)), g(2, () => {
45
+ G(), y.emit();
46
+ }));
47
+ }, item: (e, u) => (v.current.add(e), u && (i.current.has(u) ? i.current.get(u).add(e) : i.current.set(u, /* @__PURE__ */ new Set([e]))), g(3, () => {
48
+ T(), G(), r.current.value || H(), y.emit();
49
+ }), () => {
50
+ c.current.delete(e), v.current.delete(e), r.current.filtered.items.delete(e);
51
+ let o = P();
52
+ g(4, () => {
53
+ T(), o?.getAttribute("id") === e && H(), y.emit();
54
+ });
55
+ }), group: (e) => (i.current.has(e) || i.current.set(e, /* @__PURE__ */ new Set()), () => {
56
+ c.current.delete(e), i.current.delete(e);
57
+ }), filter: () => m.current.shouldFilter, label: b || t["aria-label"], getDisablePointerSelection: () => m.current.disablePointerSelection, listId: U, inputId: W, labelId: ee, listInnerRef: A }), []);
58
+ function te(e, u) {
59
+ var o, l;
60
+ let f = (l = (o = m.current) == null ? void 0 : o.filter) != null ? l : Ce;
61
+ return e ? f(e, r.current.search, u) : 0;
62
+ }
63
+ function G() {
64
+ if (!r.current.search || m.current.shouldFilter === !1) return;
65
+ let e = r.current.filtered.items, u = [];
66
+ r.current.filtered.groups.forEach((l) => {
67
+ let f = i.current.get(l), p = 0;
68
+ f.forEach((C) => {
69
+ let E = e.get(C);
70
+ p = Math.max(E, p);
71
+ }), u.push([l, p]);
72
+ });
73
+ let o = A.current;
74
+ L().sort((l, f) => {
75
+ var p, C;
76
+ let E = l.getAttribute("id"), N = f.getAttribute("id");
77
+ return ((p = e.get(N)) != null ? p : 0) - ((C = e.get(E)) != null ? C : 0);
78
+ }).forEach((l) => {
79
+ let f = l.closest(X);
80
+ f ? f.appendChild(l.parentElement === f ? l : l.closest(`${X} > *`)) : o.appendChild(l.parentElement === o ? l : l.closest(`${X} > *`));
81
+ }), u.sort((l, f) => f[1] - l[1]).forEach((l) => {
82
+ var f;
83
+ let p = (f = A.current) == null ? void 0 : f.querySelector(`${$}[${D}="${encodeURIComponent(l[0])}"]`);
84
+ p?.parentElement.appendChild(p);
85
+ });
86
+ }
87
+ function H() {
88
+ let e = L().find((o) => o.getAttribute("aria-disabled") !== "true"), u = e?.getAttribute(D);
89
+ y.setState("value", u || void 0);
90
+ }
91
+ function T() {
92
+ var e, u, o, l;
93
+ if (!r.current.search || m.current.shouldFilter === !1) {
94
+ r.current.filtered.count = v.current.size;
95
+ return;
96
+ }
97
+ r.current.filtered.groups = /* @__PURE__ */ new Set();
98
+ let f = 0;
99
+ for (let p of v.current) {
100
+ let C = (u = (e = c.current.get(p)) == null ? void 0 : e.value) != null ? u : "", E = (l = (o = c.current.get(p)) == null ? void 0 : o.keywords) != null ? l : [], N = te(C, E);
101
+ r.current.filtered.items.set(p, N), N > 0 && f++;
102
+ }
103
+ for (let [p, C] of i.current) for (let E of C) if (r.current.filtered.items.get(E) > 0) {
104
+ r.current.filtered.groups.add(p);
105
+ break;
106
+ }
107
+ r.current.filtered.count = f;
108
+ }
109
+ function re() {
110
+ var e, u, o;
111
+ let l = P();
112
+ l && (((e = l.parentElement) == null ? void 0 : e.firstChild) === l && ((o = (u = l.closest($)) == null ? void 0 : u.querySelector(ye)) == null || o.scrollIntoView({ block: "nearest" })), l.scrollIntoView({ block: "nearest" }));
113
+ }
114
+ function P() {
115
+ var e;
116
+ return (e = A.current) == null ? void 0 : e.querySelector(`${oe}[aria-selected="true"]`);
117
+ }
118
+ function L() {
119
+ var e;
120
+ return Array.from(((e = A.current) == null ? void 0 : e.querySelectorAll(ie)) || []);
121
+ }
122
+ function J(e) {
123
+ let u = L()[e];
124
+ u && y.setState("value", u.getAttribute(D));
125
+ }
126
+ function Q(e) {
127
+ var u;
128
+ let o = P(), l = L(), f = l.findIndex((C) => C === o), p = l[f + e];
129
+ (u = m.current) != null && u.loop && (p = f + e < 0 ? l[l.length - 1] : f + e === l.length ? l[0] : l[f + e]), p && y.setState("value", p.getAttribute(D));
130
+ }
131
+ function ne(e) {
132
+ let u = P(), o = u?.closest($), l;
133
+ for (; o && !l; ) o = e > 0 ? Pe(o, $) : De(o, $), l = o?.querySelector(ie);
134
+ l ? y.setState("value", l.getAttribute(D)) : Q(e);
135
+ }
136
+ let le = () => J(L().length - 1), ae = (e) => {
137
+ e.preventDefault(), e.metaKey ? le() : e.altKey ? ne(1) : Q(1);
138
+ }, ue = (e) => {
139
+ e.preventDefault(), e.metaKey ? J(0) : e.altKey ? ne(-1) : Q(-1);
140
+ };
141
+ return n.createElement(I.div, { ref: a, tabIndex: -1, ...j, "cmdk-root": "", onKeyDown: (e) => {
142
+ var u;
143
+ (u = j.onKeyDown) == null || u.call(j, e);
144
+ let o = e.nativeEvent.isComposing || e.keyCode === 229;
145
+ if (!(e.defaultPrevented || o)) switch (e.key) {
146
+ case "n":
147
+ case "j": {
148
+ x && e.ctrlKey && ae(e);
149
+ break;
150
+ }
151
+ case "ArrowDown": {
152
+ ae(e);
153
+ break;
154
+ }
155
+ case "p":
156
+ case "k": {
157
+ x && e.ctrlKey && ue(e);
158
+ break;
159
+ }
160
+ case "ArrowUp": {
161
+ ue(e);
162
+ break;
163
+ }
164
+ case "Home": {
165
+ e.preventDefault(), J(0);
166
+ break;
167
+ }
168
+ case "End": {
169
+ e.preventDefault(), le();
170
+ break;
171
+ }
172
+ case "Enter": {
173
+ e.preventDefault();
174
+ let l = P();
175
+ if (l) {
176
+ let f = new Event(Y);
177
+ l.dispatchEvent(f);
178
+ }
179
+ }
180
+ }
181
+ } }, n.createElement("label", { "cmdk-label": "", htmlFor: _.inputId, id: _.labelId, style: Le }, b), z(t, (e) => n.createElement(de.Provider, { value: y }, n.createElement(ce.Provider, { value: _ }, e))));
182
+ }), we = n.forwardRef((t, a) => {
183
+ var r, v;
184
+ let i = K(), c = n.useRef(null), d = n.useContext(se), m = O(), b = me(t), s = (v = (r = b.current) == null ? void 0 : r.forceMount) != null ? v : d?.forceMount;
185
+ M(() => {
186
+ if (!s) return m.item(i, d?.id);
187
+ }, [s]);
188
+ let h = ve(i, c, [t.value, t.children, c], t.keywords), R = Z(), k = S((g) => g.value && g.value === h.current), w = S((g) => s || m.filter() === !1 ? !0 : g.search ? g.filtered.items.get(i) > 0 : !0);
189
+ n.useEffect(() => {
190
+ let g = c.current;
191
+ if (!(!g || t.disabled)) return g.addEventListener(Y, V), () => g.removeEventListener(Y, V);
192
+ }, [w, t.onSelect, t.disabled]);
193
+ function V() {
194
+ var g, y;
195
+ B(), (y = (g = b.current).onSelect) == null || y.call(g, h.current);
196
+ }
197
+ function B() {
198
+ R.setState("value", h.current, !0);
199
+ }
200
+ if (!w) return null;
201
+ let { disabled: x, value: j, onSelect: U, forceMount: ee, keywords: W, ...A } = t;
202
+ return n.createElement(I.div, { ref: q(c, a), ...A, id: i, "cmdk-item": "", role: "option", "aria-disabled": !!x, "aria-selected": !!k, "data-disabled": !!x, "data-selected": !!k, onPointerMove: x || m.getDisablePointerSelection() ? void 0 : B, onClick: x ? void 0 : V }, t.children);
203
+ }), ke = n.forwardRef((t, a) => {
204
+ let { heading: r, children: v, forceMount: i, ...c } = t, d = K(), m = n.useRef(null), b = n.useRef(null), s = K(), h = O(), R = S((w) => i || h.filter() === !1 ? !0 : w.search ? w.filtered.groups.has(d) : !0);
205
+ M(() => h.group(d), []), ve(d, m, [t.value, t.heading, b]);
206
+ let k = n.useMemo(() => ({ id: d, forceMount: i }), [i]);
207
+ return n.createElement(I.div, { ref: q(m, a), ...c, "cmdk-group": "", role: "presentation", hidden: R ? void 0 : !0 }, r && n.createElement("div", { ref: b, "cmdk-group-heading": "", "aria-hidden": !0, id: s }, r), z(t, (w) => n.createElement("div", { "cmdk-group-items": "", role: "group", "aria-labelledby": r ? s : void 0 }, n.createElement(se.Provider, { value: k }, w))));
208
+ }), Se = n.forwardRef((t, a) => {
209
+ let { alwaysRender: r, ...v } = t, i = n.useRef(null), c = S((d) => !d.search);
210
+ return !r && !c ? null : n.createElement(I.div, { ref: q(i, a), ...v, "cmdk-separator": "", role: "separator" });
211
+ }), Ie = n.forwardRef((t, a) => {
212
+ let { onValueChange: r, ...v } = t, i = t.value != null, c = Z(), d = S((s) => s.search), m = S((s) => s.selectedItemId), b = O();
213
+ return n.useEffect(() => {
214
+ t.value != null && c.setState("search", t.value);
215
+ }, [t.value]), n.createElement(I.input, { ref: a, ...v, "cmdk-input": "", autoComplete: "off", autoCorrect: "off", spellCheck: !1, "aria-autocomplete": "list", role: "combobox", "aria-expanded": !0, "aria-controls": b.listId, "aria-labelledby": b.labelId, "aria-activedescendant": m, id: b.inputId, type: "text", value: i ? t.value : d, onChange: (s) => {
216
+ i || c.setState("search", s.target.value), r?.(s.target.value);
217
+ } });
218
+ }), Re = n.forwardRef((t, a) => {
219
+ let { children: r, label: v = "Suggestions", ...i } = t, c = n.useRef(null), d = n.useRef(null), m = S((s) => s.selectedItemId), b = O();
220
+ return n.useEffect(() => {
221
+ if (d.current && c.current) {
222
+ let s = d.current, h = c.current, R, k = new ResizeObserver(() => {
223
+ R = requestAnimationFrame(() => {
224
+ let w = s.offsetHeight;
225
+ h.style.setProperty("--cmdk-list-height", w.toFixed(1) + "px");
226
+ });
227
+ });
228
+ return k.observe(s), () => {
229
+ cancelAnimationFrame(R), k.unobserve(s);
230
+ };
231
+ }
232
+ }, []), n.createElement(I.div, { ref: q(c, a), ...i, "cmdk-list": "", role: "listbox", tabIndex: -1, "aria-activedescendant": m, "aria-label": v, id: b.listId }, z(t, (s) => n.createElement("div", { ref: q(d, b.listInnerRef), "cmdk-list-sizer": "" }, s)));
233
+ }), xe = n.forwardRef((t, a) => {
234
+ let { open: r, onOpenChange: v, overlayClassName: i, contentClassName: c, container: d, ...m } = t;
235
+ return n.createElement(ge, { open: r, onOpenChange: v }, n.createElement(he, { container: d }, n.createElement(be, { "cmdk-overlay": "", className: i }), n.createElement(Ee, { "aria-label": t.label, "cmdk-dialog": "", className: c }, n.createElement(fe, { ref: a, ...m }))));
236
+ }), Ae = n.forwardRef((t, a) => S((r) => r.filtered.count === 0) ? n.createElement(I.div, { ref: a, ...t, "cmdk-empty": "", role: "presentation" }) : null), Me = n.forwardRef((t, a) => {
237
+ let { progress: r, children: v, label: i = "Loading...", ...c } = t;
238
+ return n.createElement(I.div, { ref: a, ...c, "cmdk-loading": "", role: "progressbar", "aria-valuenow": r, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": i }, z(t, (d) => n.createElement("div", { "aria-hidden": !0 }, d)));
239
+ }), Ne = Object.assign(fe, { List: Re, Item: we, Input: Ie, Group: ke, Separator: Se, Dialog: xe, Empty: Ae, Loading: Me });
240
+ function Pe(t, a) {
241
+ let r = t.nextElementSibling;
242
+ for (; r; ) {
243
+ if (r.matches(a)) return r;
244
+ r = r.nextElementSibling;
245
+ }
246
+ }
247
+ function De(t, a) {
248
+ let r = t.previousElementSibling;
249
+ for (; r; ) {
250
+ if (r.matches(a)) return r;
251
+ r = r.previousElementSibling;
252
+ }
253
+ }
254
+ function me(t) {
255
+ let a = n.useRef(t);
256
+ return M(() => {
257
+ a.current = t;
258
+ }), a;
259
+ }
260
+ var M = typeof window > "u" ? n.useEffect : n.useLayoutEffect;
261
+ function F(t) {
262
+ let a = n.useRef();
263
+ return a.current === void 0 && (a.current = t()), a;
264
+ }
265
+ function S(t) {
266
+ let a = Z(), r = () => t(a.snapshot());
267
+ return n.useSyncExternalStore(a.subscribe, r, r);
268
+ }
269
+ function ve(t, a, r, v = []) {
270
+ let i = n.useRef(), c = O();
271
+ return M(() => {
272
+ var d;
273
+ let m = (() => {
274
+ var s;
275
+ for (let h of r) {
276
+ if (typeof h == "string") return h.trim();
277
+ if (typeof h == "object" && "current" in h) return h.current ? (s = h.current.textContent) == null ? void 0 : s.trim() : i.current;
278
+ }
279
+ })(), b = v.map((s) => s.trim());
280
+ c.value(t, m, b), (d = a.current) == null || d.setAttribute(D, m), i.current = m;
281
+ }), i;
282
+ }
283
+ var Fe = () => {
284
+ let [t, a] = n.useState(), r = F(() => /* @__PURE__ */ new Map());
285
+ return M(() => {
286
+ r.current.forEach((v) => v()), r.current = /* @__PURE__ */ new Map();
287
+ }, [t]), (v, i) => {
288
+ r.current.set(v, i), a({});
289
+ };
290
+ };
291
+ function Ke(t) {
292
+ let a = t.type;
293
+ return typeof a == "function" ? a(t.props) : "render" in a ? a.render(t.props) : t;
294
+ }
295
+ function z({ asChild: t, children: a }, r) {
296
+ return t && n.isValidElement(a) ? n.cloneElement(Ke(a), { ref: a.ref }, r(a.props.children)) : r(a);
297
+ }
298
+ var Le = { position: "absolute", width: "1px", height: "1px", padding: "0", margin: "-1px", overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0" };
299
+ export {
300
+ Ne as Command,
301
+ xe as CommandDialog,
302
+ Ae as CommandEmpty,
303
+ ke as CommandGroup,
304
+ Ie as CommandInput,
305
+ we as CommandItem,
306
+ Re as CommandList,
307
+ Me as CommandLoading,
308
+ fe as CommandRoot,
309
+ Se as CommandSeparator,
310
+ Ce as defaultFilter,
311
+ S as useCommandState
312
+ };
@@ -0,0 +1,25 @@
1
+ import "react";
2
+ function i(n, o) {
3
+ if (typeof n == "function")
4
+ return n(o);
5
+ n != null && (n.current = o);
6
+ }
7
+ function f(...n) {
8
+ return (o) => {
9
+ let u = !1;
10
+ const c = n.map((t) => {
11
+ const e = i(t, o);
12
+ return !u && typeof e == "function" && (u = !0), e;
13
+ });
14
+ if (u)
15
+ return () => {
16
+ for (let t = 0; t < c.length; t++) {
17
+ const e = c[t];
18
+ typeof e == "function" ? e() : i(n[t], null);
19
+ }
20
+ };
21
+ };
22
+ }
23
+ export {
24
+ f as composeRefs
25
+ };
@@ -0,0 +1,31 @@
1
+ import * as n from "react";
2
+ import "react-dom";
3
+ import { createSlot as s } from "../../react-slot/dist/index.js";
4
+ import { jsx as l } from "react/jsx-runtime";
5
+ var u = [
6
+ "a",
7
+ "button",
8
+ "div",
9
+ "form",
10
+ "h2",
11
+ "h3",
12
+ "img",
13
+ "input",
14
+ "label",
15
+ "li",
16
+ "nav",
17
+ "ol",
18
+ "p",
19
+ "span",
20
+ "svg",
21
+ "ul"
22
+ ], w = u.reduce((t, i) => {
23
+ const o = s(`Primitive.${i}`), r = n.forwardRef((e, m) => {
24
+ const { asChild: a, ...p } = e, f = a ? o : i;
25
+ return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ l(f, { ...p, ref: m });
26
+ });
27
+ return r.displayName = `Primitive.${i}`, { ...t, [i]: r };
28
+ }, {});
29
+ export {
30
+ w as Primitive
31
+ };
@@ -0,0 +1,48 @@
1
+ import * as l from "react";
2
+ import { composeRefs as m } from "../../react-compose-refs/dist/index.js";
3
+ import { jsx as u } from "react/jsx-runtime";
4
+ // @__NO_SIDE_EFFECTS__
5
+ function b(e) {
6
+ const r = /* @__PURE__ */ y(e), t = l.forwardRef((o, n) => {
7
+ const { children: i, ...c } = o, s = l.Children.toArray(i), f = s.find(E);
8
+ if (f) {
9
+ const a = f.props.children, d = s.map((p) => p === f ? l.Children.count(a) > 1 ? l.Children.only(null) : l.isValidElement(a) ? a.props.children : null : p);
10
+ return /* @__PURE__ */ u(r, { ...c, ref: n, children: l.isValidElement(a) ? l.cloneElement(a, void 0, d) : null });
11
+ }
12
+ return /* @__PURE__ */ u(r, { ...c, ref: n, children: i });
13
+ });
14
+ return t.displayName = `${e}.Slot`, t;
15
+ }
16
+ // @__NO_SIDE_EFFECTS__
17
+ function y(e) {
18
+ const r = l.forwardRef((t, o) => {
19
+ const { children: n, ...i } = t;
20
+ if (l.isValidElement(n)) {
21
+ const c = S(n), s = C(i, n.props);
22
+ return n.type !== l.Fragment && (s.ref = o ? m(o, c) : c), l.cloneElement(n, s);
23
+ }
24
+ return l.Children.count(n) > 1 ? l.Children.only(null) : null;
25
+ });
26
+ return r.displayName = `${e}.SlotClone`, r;
27
+ }
28
+ var g = Symbol("radix.slottable");
29
+ function E(e) {
30
+ return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === g;
31
+ }
32
+ function C(e, r) {
33
+ const t = { ...r };
34
+ for (const o in r) {
35
+ const n = e[o], i = r[o];
36
+ /^on[A-Z]/.test(o) ? n && i ? t[o] = (...s) => {
37
+ i(...s), n(...s);
38
+ } : n && (t[o] = n) : o === "style" ? t[o] = { ...n, ...i } : o === "className" && (t[o] = [n, i].filter(Boolean).join(" "));
39
+ }
40
+ return { ...e, ...t };
41
+ }
42
+ function S(e) {
43
+ let r = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning;
44
+ return t ? e.ref : (r = Object.getOwnPropertyDescriptor(e, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
45
+ }
46
+ export {
47
+ b as createSlot
48
+ };
@@ -19,6 +19,7 @@ $soft-black-2: #535050;
19
19
  $keyline-gray: #949494;
20
20
  $medium-gray: #c3bebb;
21
21
  $soft-gray: #fafafa;
22
+ $pale-gray: #f4f4f4;
22
23
  $light-gray: #eceae7;
23
24
  $off-white: #f4f2f1;
24
25
 
@@ -150,6 +151,7 @@ $breakpoint-xl: 1801px;
150
151
  --label-size1: 1rem;
151
152
  --label-size2: 0.75rem;
152
153
  --label-size3: 0.56rem;
154
+ --label-size4: 0.56rem;
153
155
  --link-label-size: 0.75rem;
154
156
  --link-label-line-height: 0.75rem;
155
157
  --button-label-size: 0.75rem;
@@ -194,6 +196,7 @@ $breakpoint-xl: 1801px;
194
196
  --label-size1: 1.25rem;
195
197
  --label-size2: 1rem;
196
198
  --label-size3: 0.75rem;
199
+ --label-size4: 0.75rem;
197
200
  --link-label-size: 1rem;
198
201
  --link-label-line-height: 1rem;
199
202
  --button-label-size: 1rem;
@@ -19,6 +19,7 @@ $soft-black-2: #535050;
19
19
  $keyline-gray: #949494;
20
20
  $medium-gray: #c3bebb;
21
21
  $soft-gray: #fafafa;
22
+ $pale-gray: #f4f4f4;
22
23
  $light-gray: #eceae7;
23
24
  $off-white: #f4f2f1;
24
25
 
@@ -150,6 +151,7 @@ $breakpoint-xl: 1801px;
150
151
  --label-size1: 1rem;
151
152
  --label-size2: 0.75rem;
152
153
  --label-size3: 0.56rem;
154
+ --label-size4: 0.56rem;
153
155
  --link-label-size: 0.75rem;
154
156
  --link-label-line-height: 0.75rem;
155
157
  --button-label-size: 0.75rem;
@@ -194,6 +196,7 @@ $breakpoint-xl: 1801px;
194
196
  --label-size1: 1.25rem;
195
197
  --label-size2: 1rem;
196
198
  --label-size3: 0.75rem;
199
+ --label-size4: 0.75rem;
197
200
  --link-label-size: 1rem;
198
201
  --link-label-line-height: 1rem;
199
202
  --button-label-size: 1rem;
@@ -39,6 +39,7 @@
39
39
  @use 'components/ContentPeek/contentPeek';
40
40
  @use 'components/PageContentWrapper/pageContentWrapper';
41
41
  @use 'components/Carousel/carousel';
42
+ @use 'components/ComboBox/combobox';
42
43
  @use 'components/Tags/tags';
43
44
  @use 'components/Countdown/countdown';
44
45
  @use 'components/Countdown/duration';