@brycks/core-front 0.3.5 → 0.5.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 (168) hide show
  1. package/dist/components/data/List/List.cjs +1 -1
  2. package/dist/components/data/List/List.cjs.map +1 -1
  3. package/dist/components/data/List/List.js +1 -1
  4. package/dist/components/data/List/List.js.map +1 -1
  5. package/dist/components/data/Table/Table.cjs +1 -1
  6. package/dist/components/data/Table/Table.cjs.map +1 -1
  7. package/dist/components/data/Table/Table.js +196 -166
  8. package/dist/components/data/Table/Table.js.map +1 -1
  9. package/dist/components/data/TreeView/TreeView.cjs +1 -1
  10. package/dist/components/data/TreeView/TreeView.cjs.map +1 -1
  11. package/dist/components/data/TreeView/TreeView.js +1 -1
  12. package/dist/components/data/TreeView/TreeView.js.map +1 -1
  13. package/dist/components/data.cjs +1 -1
  14. package/dist/components/data.js +23 -21
  15. package/dist/components/feedback/Alert/Alert.cjs +1 -1
  16. package/dist/components/feedback/Alert/Alert.cjs.map +1 -1
  17. package/dist/components/feedback/Alert/Alert.js +20 -19
  18. package/dist/components/feedback/Alert/Alert.js.map +1 -1
  19. package/dist/components/feedback/Banner/Banner.cjs +2 -0
  20. package/dist/components/feedback/Banner/Banner.cjs.map +1 -0
  21. package/dist/components/feedback/Banner/Banner.js +77 -0
  22. package/dist/components/feedback/Banner/Banner.js.map +1 -0
  23. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.cjs +2 -0
  24. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.cjs.map +1 -0
  25. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js +68 -0
  26. package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js.map +1 -0
  27. package/dist/components/feedback/Drawer/Drawer.cjs +2 -2
  28. package/dist/components/feedback/Drawer/Drawer.cjs.map +1 -1
  29. package/dist/components/feedback/Drawer/Drawer.js +58 -57
  30. package/dist/components/feedback/Drawer/Drawer.js.map +1 -1
  31. package/dist/components/feedback/Modal/Modal.cjs +1 -1
  32. package/dist/components/feedback/Modal/Modal.cjs.map +1 -1
  33. package/dist/components/feedback/Modal/Modal.js +101 -91
  34. package/dist/components/feedback/Modal/Modal.js.map +1 -1
  35. package/dist/components/feedback/Popover/Popover.cjs +2 -2
  36. package/dist/components/feedback/Popover/Popover.cjs.map +1 -1
  37. package/dist/components/feedback/Popover/Popover.js +93 -85
  38. package/dist/components/feedback/Popover/Popover.js.map +1 -1
  39. package/dist/components/feedback/Toast/Toast.cjs +2 -2
  40. package/dist/components/feedback/Toast/Toast.cjs.map +1 -1
  41. package/dist/components/feedback/Toast/Toast.js +102 -93
  42. package/dist/components/feedback/Toast/Toast.js.map +1 -1
  43. package/dist/components/feedback.cjs +1 -1
  44. package/dist/components/feedback.js +17 -13
  45. package/dist/components/feedback.js.map +1 -1
  46. package/dist/components/form/Combobox/Combobox.cjs +2 -2
  47. package/dist/components/form/Combobox/Combobox.cjs.map +1 -1
  48. package/dist/components/form/Combobox/Combobox.js +187 -167
  49. package/dist/components/form/Combobox/Combobox.js.map +1 -1
  50. package/dist/components/form/DateInput/DateInput.cjs +1 -1
  51. package/dist/components/form/DateInput/DateInput.cjs.map +1 -1
  52. package/dist/components/form/DateInput/DateInput.js +2 -2
  53. package/dist/components/form/DateInput/DateInput.js.map +1 -1
  54. package/dist/components/form/DateRangePicker/DateRangePicker.cjs +1 -1
  55. package/dist/components/form/DateRangePicker/DateRangePicker.cjs.map +1 -1
  56. package/dist/components/form/DateRangePicker/DateRangePicker.js +34 -34
  57. package/dist/components/form/DateRangePicker/DateRangePicker.js.map +1 -1
  58. package/dist/components/form/DropZone/DropZone.cjs +1 -1
  59. package/dist/components/form/DropZone/DropZone.cjs.map +1 -1
  60. package/dist/components/form/DropZone/DropZone.js +10 -10
  61. package/dist/components/form/DropZone/DropZone.js.map +1 -1
  62. package/dist/components/form/FileInput/FileInput.cjs +1 -1
  63. package/dist/components/form/FileInput/FileInput.cjs.map +1 -1
  64. package/dist/components/form/FileInput/FileInput.js +1 -1
  65. package/dist/components/form/FileInput/FileInput.js.map +1 -1
  66. package/dist/components/form/FormCard/FormCard.cjs +1 -1
  67. package/dist/components/form/FormCard/FormCard.cjs.map +1 -1
  68. package/dist/components/form/FormCard/FormCard.js +9 -9
  69. package/dist/components/form/FormCard/FormCard.js.map +1 -1
  70. package/dist/components/form/FormField/FormField.cjs +1 -1
  71. package/dist/components/form/FormField/FormField.cjs.map +1 -1
  72. package/dist/components/form/FormField/FormField.js +67 -55
  73. package/dist/components/form/FormField/FormField.js.map +1 -1
  74. package/dist/components/form/MultiSelect/MultiSelect.cjs +1 -1
  75. package/dist/components/form/MultiSelect/MultiSelect.cjs.map +1 -1
  76. package/dist/components/form/MultiSelect/MultiSelect.js +2 -3
  77. package/dist/components/form/MultiSelect/MultiSelect.js.map +1 -1
  78. package/dist/components/form/Radio/Radio.cjs +1 -1
  79. package/dist/components/form/Radio/Radio.cjs.map +1 -1
  80. package/dist/components/form/Radio/Radio.js +20 -20
  81. package/dist/components/form/Radio/Radio.js.map +1 -1
  82. package/dist/components/form/SearchInput/SearchInput.cjs +2 -0
  83. package/dist/components/form/SearchInput/SearchInput.cjs.map +1 -0
  84. package/dist/components/form/SearchInput/SearchInput.js +68 -0
  85. package/dist/components/form/SearchInput/SearchInput.js.map +1 -0
  86. package/dist/components/form/TagInput/TagInput.cjs +1 -1
  87. package/dist/components/form/TagInput/TagInput.cjs.map +1 -1
  88. package/dist/components/form/TagInput/TagInput.js +104 -102
  89. package/dist/components/form/TagInput/TagInput.js.map +1 -1
  90. package/dist/components/form/TimePicker/TimePicker.cjs +1 -1
  91. package/dist/components/form/TimePicker/TimePicker.cjs.map +1 -1
  92. package/dist/components/form/TimePicker/TimePicker.js +29 -30
  93. package/dist/components/form/TimePicker/TimePicker.js.map +1 -1
  94. package/dist/components/form.cjs +1 -1
  95. package/dist/components/form.js +15 -13
  96. package/dist/components/form.js.map +1 -1
  97. package/dist/components/layout/Card/Card.cjs +1 -1
  98. package/dist/components/layout/Card/Card.cjs.map +1 -1
  99. package/dist/components/layout/Card/Card.js +7 -5
  100. package/dist/components/layout/Card/Card.js.map +1 -1
  101. package/dist/components/layout/Collapse/Collapse.cjs.map +1 -1
  102. package/dist/components/layout/Collapse/Collapse.js.map +1 -1
  103. package/dist/components/media/Image/Image.cjs +1 -1
  104. package/dist/components/media/Image/Image.cjs.map +1 -1
  105. package/dist/components/media/Image/Image.js +9 -9
  106. package/dist/components/media/Image/Image.js.map +1 -1
  107. package/dist/components/media/ImageThumbnail/ImageThumbnail.cjs +1 -1
  108. package/dist/components/media/ImageThumbnail/ImageThumbnail.cjs.map +1 -1
  109. package/dist/components/media/ImageThumbnail/ImageThumbnail.js +6 -6
  110. package/dist/components/media/ImageThumbnail/ImageThumbnail.js.map +1 -1
  111. package/dist/components/navigation/Accordion/Accordion.cjs +1 -1
  112. package/dist/components/navigation/Accordion/Accordion.cjs.map +1 -1
  113. package/dist/components/navigation/Accordion/Accordion.js +0 -1
  114. package/dist/components/navigation/Accordion/Accordion.js.map +1 -1
  115. package/dist/components/navigation/Menu/Menu.cjs +1 -1
  116. package/dist/components/navigation/Menu/Menu.cjs.map +1 -1
  117. package/dist/components/navigation/Menu/Menu.js +87 -86
  118. package/dist/components/navigation/Menu/Menu.js.map +1 -1
  119. package/dist/components/navigation/Pagination/Pagination.cjs +1 -1
  120. package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -1
  121. package/dist/components/navigation/Pagination/Pagination.js +107 -99
  122. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  123. package/dist/components/navigation/SegmentedControl/SegmentedControl.cjs +2 -0
  124. package/dist/components/navigation/SegmentedControl/SegmentedControl.cjs.map +1 -0
  125. package/dist/components/navigation/SegmentedControl/SegmentedControl.js +90 -0
  126. package/dist/components/navigation/SegmentedControl/SegmentedControl.js.map +1 -0
  127. package/dist/components/navigation.cjs +1 -1
  128. package/dist/components/navigation.js +25 -23
  129. package/dist/components/navigation.js.map +1 -1
  130. package/dist/components/utility/Avatar/Avatar.cjs +1 -1
  131. package/dist/components/utility/Avatar/Avatar.cjs.map +1 -1
  132. package/dist/components/utility/Avatar/Avatar.js +18 -18
  133. package/dist/components/utility/Avatar/Avatar.js.map +1 -1
  134. package/dist/components/utility/Badge/Badge.cjs +1 -1
  135. package/dist/components/utility/Badge/Badge.cjs.map +1 -1
  136. package/dist/components/utility/Badge/Badge.js +31 -23
  137. package/dist/components/utility/Badge/Badge.js.map +1 -1
  138. package/dist/components/utility/Kbd/Kbd.cjs +2 -0
  139. package/dist/components/utility/Kbd/Kbd.cjs.map +1 -0
  140. package/dist/components/utility/Kbd/Kbd.js +20 -0
  141. package/dist/components/utility/Kbd/Kbd.js.map +1 -0
  142. package/dist/components/utility/Logo/Logo.cjs +1 -1
  143. package/dist/components/utility/Logo/Logo.cjs.map +1 -1
  144. package/dist/components/utility/Logo/Logo.js +21 -21
  145. package/dist/components/utility/Logo/Logo.js.map +1 -1
  146. package/dist/components/utility.cjs +1 -1
  147. package/dist/components/utility.js +9 -7
  148. package/dist/components/utility.js.map +1 -1
  149. package/dist/data.d.ts +34 -1
  150. package/dist/design-system/themes/ThemeProvider.cjs +1 -1
  151. package/dist/design-system/themes/ThemeProvider.cjs.map +1 -1
  152. package/dist/design-system/themes/ThemeProvider.js +46 -46
  153. package/dist/design-system/themes/ThemeProvider.js.map +1 -1
  154. package/dist/design-system/tokens/zIndex.cjs +1 -1
  155. package/dist/design-system/tokens/zIndex.cjs.map +1 -1
  156. package/dist/design-system/tokens/zIndex.js +2 -0
  157. package/dist/design-system/tokens/zIndex.js.map +1 -1
  158. package/dist/feedback.d.ts +75 -2
  159. package/dist/form.d.ts +41 -0
  160. package/dist/index.cjs +1 -1
  161. package/dist/index.d.ts +213 -3
  162. package/dist/index.js +177 -165
  163. package/dist/index.js.map +1 -1
  164. package/dist/navigation.d.ts +58 -0
  165. package/dist/styles.css +1 -1
  166. package/dist/tokens.d.ts +2 -0
  167. package/dist/utility.d.ts +19 -0
  168. package/package.json +2 -1
@@ -1,173 +1,179 @@
1
- import { jsxs as m, jsx as o, Fragment as ye } from "react/jsx-runtime";
2
- import { forwardRef as he, useState as v, useRef as D, useMemo as V, useEffect as $, useCallback as I } from "react";
3
- import { createPortal as ve } from "react-dom";
4
- import { cx as ge } from "../../../utils/styles.js";
5
- import { durations as k, easings as w } from "../../../design-system/tokens/motion.js";
6
- import { iconSizes as j, componentPaddingX as L, componentHeights as B, componentGap as ke } from "../../../design-system/primitives/sizing.js";
7
- import { fontSizes as E } from "../../../design-system/tokens/typography.js";
8
- import { spacing as c } from "../../../design-system/tokens/spacing.js";
9
- const we = {
10
- sm: { height: B.sm, fontSize: E.base - 1, padding: L.sm, iconSize: j.sm },
11
- md: { height: B.md, fontSize: E.base, padding: L.md, iconSize: j.md },
12
- lg: { height: B.lg, fontSize: E.md, padding: L.lg, iconSize: j.lg }
13
- }, xe = (x, f) => {
14
- const d = f.toLowerCase();
15
- return x.label.toLowerCase().includes(d) || x.value.toLowerCase().includes(d) || (x.description?.toLowerCase().includes(d) ?? !1);
1
+ import { jsxs as f, jsx as t, Fragment as xe } from "react/jsx-runtime";
2
+ import { forwardRef as Ce, useState as g, useRef as W, useMemo as U, useEffect as I, useCallback as L } from "react";
3
+ import { createPortal as Se } from "react-dom";
4
+ import { cx as $e } from "../../../utils/styles.js";
5
+ import { useId as ze } from "../../../hooks/useId.js";
6
+ import { durations as w, easings as x } from "../../../design-system/tokens/motion.js";
7
+ import { iconSizes as j, componentPaddingX as E, componentHeights as B, componentGap as Ie } from "../../../design-system/primitives/sizing.js";
8
+ import { fontSizes as M } from "../../../design-system/tokens/typography.js";
9
+ import { spacing as a } from "../../../design-system/tokens/spacing.js";
10
+ const Le = {
11
+ sm: { height: B.sm, fontSize: M.base - 1, padding: E.sm, iconSize: j.sm },
12
+ md: { height: B.md, fontSize: M.base, padding: E.md, iconSize: j.md },
13
+ lg: { height: B.lg, fontSize: M.md, padding: E.lg, iconSize: j.lg }
14
+ }, Ee = (C, p) => {
15
+ const c = p.toLowerCase();
16
+ return C.label.toLowerCase().includes(c) || C.value.toLowerCase().includes(c) || (C.description?.toLowerCase().includes(c) ?? !1);
16
17
  };
17
- function Se() {
18
- return /* @__PURE__ */ o("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ o("path", { d: "M4 6l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
18
+ function Me() {
19
+ return /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ t("path", { d: "M4 6l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
19
20
  }
20
- function Ce() {
21
- return /* @__PURE__ */ o("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ o("path", { d: "M4 4l6 6M10 4l-6 6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
21
+ function Re() {
22
+ return /* @__PURE__ */ t("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ t("path", { d: "M4 4l6 6M10 4l-6 6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
22
23
  }
23
- const ze = he(function({
24
- options: f,
25
- value: d,
26
- defaultValue: X = null,
24
+ const Oe = Ce(function({
25
+ options: p,
26
+ value: c,
27
+ defaultValue: J = null,
27
28
  onChange: P,
28
- onInputChange: W,
29
- placeholder: G = "Select or search...",
30
- size: F = "md",
29
+ onInputChange: F,
30
+ placeholder: Q = "Select or search...",
31
+ size: T = "md",
31
32
  disabled: b = !1,
32
- isInvalid: T = !1,
33
- required: U = !1,
34
- clearable: J = !0,
35
- "aria-label": A,
36
- "aria-labelledby": Q,
37
- filterFn: Y = xe,
38
- emptyText: Z = "No options found",
33
+ isInvalid: A = !1,
34
+ required: Z = !1,
35
+ clearable: _ = !0,
36
+ "aria-label": N,
37
+ "aria-labelledby": ee,
38
+ filterFn: Y = Ee,
39
+ emptyText: re = "No options found",
40
+ isLoading: q = !1,
41
+ loadingText: te = "Loading…",
39
42
  creatable: R = !1,
40
- onCreate: M,
41
- className: _,
42
- testId: ee
43
+ onCreate: O,
44
+ createLabel: oe = (h) => `Create "${h}"`,
45
+ clearLabel: ne = "Clear selection",
46
+ listboxLabel: ie = "Options",
47
+ className: ae,
48
+ testId: se
43
49
  }, S) {
44
- const [re, te] = v(X), [a, y] = v(""), [r, p] = v(!1), [n, s] = v(-1), [N, q] = v(!1), C = D(null), z = D(null), H = D(null), i = d !== void 0 ? d : re, h = we[F], l = V(
45
- () => f.find((e) => e.value === i),
46
- [f, i]
47
- ), u = V(() => a ? f.filter((e) => Y(e, a)) : f, [f, a, Y]);
48
- $(() => {
49
- !r && l ? y(l.label) : !r && !i && y("");
50
- }, [r, l, i]);
51
- const g = I(
50
+ const h = ze("combobox-listbox"), [le, de] = g(J), [i, y] = g(""), [r, m] = g(!1), [n, s] = g(-1), [H, K] = g(!1), $ = W(null), z = W(null), V = W(null), l = c !== void 0 ? c : le, v = Le[T], d = U(
51
+ () => p.find((e) => e.value === l),
52
+ [p, l]
53
+ ), u = U(() => i ? p.filter((e) => Y(e, i)) : p, [p, i, Y]);
54
+ I(() => {
55
+ !r && d ? y(d.label) : !r && !l && y("");
56
+ }, [r, d, l]);
57
+ const k = L(
52
58
  (e) => {
53
- d === void 0 && te(e), P?.(e), p(!1), s(-1), z.current?.focus();
59
+ c === void 0 && de(e), P?.(e), m(!1), s(-1), z.current?.focus();
54
60
  },
55
- [d, P]
56
- ), oe = I(
61
+ [c, P]
62
+ ), ce = L(
57
63
  (e) => {
58
- const t = e.target.value;
59
- y(t), W?.(t), r || p(!0), s(0);
64
+ const o = e.target.value;
65
+ y(o), F?.(o), r || m(!0), s(0);
60
66
  },
61
- [r, W]
62
- ), ne = I(
67
+ [r, F]
68
+ ), ue = L(
63
69
  (e) => {
64
- e.stopPropagation(), g(null), y(""), z.current?.focus();
70
+ e.stopPropagation(), k(null), y(""), z.current?.focus();
65
71
  },
66
- [g]
67
- ), ae = I(
72
+ [k]
73
+ ), fe = L(
68
74
  (e) => {
69
75
  switch (e.key) {
70
76
  case "ArrowDown":
71
- e.preventDefault(), r ? s((t) => Math.min(t + 1, u.length - 1)) : (p(!0), s(0));
77
+ e.preventDefault(), r ? s((o) => Math.min(o + 1, u.length - 1)) : (m(!0), s(0));
72
78
  break;
73
79
  case "ArrowUp":
74
- e.preventDefault(), r && s((t) => Math.max(t - 1, 0));
80
+ e.preventDefault(), r && s((o) => Math.max(o - 1, 0));
75
81
  break;
76
82
  case "Enter":
77
- e.preventDefault(), r && n >= 0 && u[n] ? u[n].disabled || g(u[n].value) : R && a && u.length === 0 && M?.(a);
83
+ e.preventDefault(), r && n >= 0 && u[n] ? u[n].disabled || k(u[n].value) : R && i && u.length === 0 && O?.(i);
78
84
  break;
79
85
  case "Escape":
80
- e.preventDefault(), p(!1), s(-1), l && y(l.label);
86
+ e.preventDefault(), m(!1), s(-1), d && y(d.label);
81
87
  break;
82
88
  case "Tab":
83
- r && (p(!1), s(-1));
89
+ r && (m(!1), s(-1));
84
90
  break;
85
91
  }
86
92
  },
87
- [r, n, u, g, R, a, M, l]
93
+ [r, n, u, k, R, i, O, d]
88
94
  );
89
- $(() => {
95
+ I(() => {
90
96
  if (!r) return;
91
- const e = (t) => {
92
- C.current?.contains(t.target) || (p(!1), s(-1), l && y(l.label));
97
+ const e = (o) => {
98
+ $.current?.contains(o.target) || (m(!1), s(-1), d && y(d.label));
93
99
  };
94
100
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
95
- }, [r, l]), $(() => {
101
+ }, [r, d]), I(() => {
96
102
  if (!r || n < 0) return;
97
- H.current?.children[n]?.scrollIntoView({ block: "nearest" });
103
+ V.current?.children[n]?.scrollIntoView({ block: "nearest" });
98
104
  }, [r, n]);
99
- const [O, se] = v({ top: 0, left: 0, width: 0 });
100
- $(() => {
101
- if (!r || !C.current) return;
105
+ const [D, pe] = g({ top: 0, left: 0, width: 0 });
106
+ I(() => {
107
+ if (!r || !$.current) return;
102
108
  const e = () => {
103
- const t = C.current.getBoundingClientRect();
104
- se({
105
- top: t.bottom + window.scrollY + c[1],
106
- left: t.left + window.scrollX,
107
- width: t.width
109
+ const o = $.current.getBoundingClientRect();
110
+ pe({
111
+ top: o.bottom + window.scrollY + a[1],
112
+ left: o.left + window.scrollX,
113
+ width: o.width
108
114
  });
109
115
  };
110
116
  return e(), window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
111
117
  window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
112
118
  };
113
119
  }, [r]);
114
- const ie = {
120
+ const be = {
115
121
  position: "relative",
116
122
  display: "inline-flex",
117
123
  width: "100%"
118
- }, le = {
124
+ }, me = {
119
125
  position: "relative",
120
126
  display: "flex",
121
127
  alignItems: "center",
122
128
  width: "100%",
123
- height: h.height,
129
+ height: v.height,
124
130
  backgroundColor: b ? "var(--brycks-background-muted)" : "var(--brycks-background-default)",
125
- border: `1px solid ${T ? "var(--brycks-error-default)" : N ? "var(--brycks-primary-default)" : "var(--brycks-border-default)"}`,
131
+ border: `1px solid ${A ? "var(--brycks-error-default)" : H ? "var(--brycks-primary-default)" : "var(--brycks-border-default)"}`,
126
132
  borderRadius: "var(--brycks-radius-md)",
127
- transition: `all ${k.fast}ms ${w.easeOut}`,
133
+ transition: `all ${w.fast}ms ${x.easeOut}`,
128
134
  cursor: b ? "not-allowed" : "text",
129
- boxShadow: N ? "var(--brycks-focus-ring)" : void 0
130
- }, ce = {
135
+ boxShadow: H ? "var(--brycks-focus-ring)" : void 0
136
+ }, he = {
131
137
  flex: 1,
132
138
  height: "100%",
133
- padding: `0 ${h.padding}px`,
134
- paddingRight: c[10],
135
- fontSize: h.fontSize,
139
+ padding: `0 ${v.padding}px`,
140
+ paddingRight: a[10],
141
+ fontSize: v.fontSize,
136
142
  color: b ? "var(--brycks-foreground-disabled)" : "var(--brycks-foreground-default)",
137
143
  backgroundColor: "transparent",
138
144
  border: "none",
139
145
  outline: "none",
140
146
  cursor: b ? "not-allowed" : "text"
141
- }, de = {
147
+ }, ye = {
142
148
  position: "absolute",
143
- right: h.padding,
149
+ right: v.padding,
144
150
  display: "flex",
145
151
  alignItems: "center",
146
- gap: c[1],
152
+ gap: a[1],
147
153
  pointerEvents: "none"
148
- }, ue = {
154
+ }, ve = {
149
155
  display: "flex",
150
156
  alignItems: "center",
151
157
  justifyContent: "center",
152
- width: c[5],
153
- height: c[5],
158
+ width: a[5],
159
+ height: a[5],
154
160
  color: "var(--brycks-foreground-muted)",
155
161
  cursor: "pointer",
156
162
  borderRadius: "var(--brycks-radius-sm)",
157
- transition: `all ${k.fast}ms ${w.easeOut}`,
163
+ transition: `all ${w.fast}ms ${x.easeOut}`,
158
164
  pointerEvents: "auto"
159
- }, fe = {
165
+ }, ge = {
160
166
  display: "flex",
161
167
  alignItems: "center",
162
168
  justifyContent: "center",
163
169
  color: "var(--brycks-foreground-muted)",
164
170
  transform: r ? "rotate(180deg)" : "rotate(0)",
165
- transition: `transform ${k.fast}ms ${w.easeOut}`
166
- }, be = {
171
+ transition: `transform ${w.fast}ms ${x.easeOut}`
172
+ }, ke = {
167
173
  position: "absolute",
168
- top: O.top,
169
- left: O.left,
170
- width: O.width,
174
+ top: D.top,
175
+ left: D.left,
176
+ width: D.width,
171
177
  maxHeight: 300,
172
178
  overflowY: "auto",
173
179
  backgroundColor: "var(--brycks-background-elevated)",
@@ -175,40 +181,40 @@ const ze = he(function({
175
181
  borderRadius: "var(--brycks-radius-lg)",
176
182
  boxShadow: "var(--brycks-shadow-lg)",
177
183
  zIndex: "var(--brycks-z-dropdown)",
178
- padding: c[1],
179
- animation: `brycks-dropdown-in ${k.quick}ms ${w.easeOut}`
180
- }, K = (e, t, me) => ({
184
+ padding: a[1],
185
+ animation: `brycks-dropdown-in ${w.quick}ms ${x.easeOut}`
186
+ }, X = (e, o, we) => ({
181
187
  display: "flex",
182
188
  alignItems: "center",
183
- gap: ke.md,
184
- padding: `${c[2]}px ${L.sm}px`,
185
- fontSize: h.fontSize,
186
- color: t ? "var(--brycks-foreground-disabled)" : "var(--brycks-foreground-default)",
187
- backgroundColor: e ? "var(--brycks-background-muted)" : me ? "var(--brycks-primary-50)" : "transparent",
189
+ gap: Ie.md,
190
+ padding: `${a[2]}px ${E.sm}px`,
191
+ fontSize: v.fontSize,
192
+ color: o ? "var(--brycks-foreground-disabled)" : "var(--brycks-foreground-default)",
193
+ backgroundColor: e ? "var(--brycks-background-muted)" : we ? "var(--brycks-primary-muted)" : "transparent",
188
194
  borderRadius: "var(--brycks-radius-md)",
189
- cursor: t ? "not-allowed" : "pointer",
190
- transition: `background-color ${k.fast}ms ${w.easeOut}`
191
- }), pe = {
192
- padding: `${c[4]}px ${c[3]}px`,
193
- fontSize: h.fontSize,
195
+ cursor: o ? "not-allowed" : "pointer",
196
+ transition: `background-color ${w.fast}ms ${x.easeOut}`
197
+ }), G = {
198
+ padding: `${a[4]}px ${a[3]}px`,
199
+ fontSize: v.fontSize,
194
200
  color: "var(--brycks-foreground-muted)",
195
201
  textAlign: "center"
196
202
  };
197
- return /* @__PURE__ */ m(
203
+ return /* @__PURE__ */ f(
198
204
  "div",
199
205
  {
200
- ref: C,
201
- className: ge("brycks-combobox", `brycks-combobox--${F}`, _),
202
- style: ie,
203
- "data-testid": ee,
206
+ ref: $,
207
+ className: $e("brycks-combobox", `brycks-combobox--${T}`, ae),
208
+ style: be,
209
+ "data-testid": se,
204
210
  children: [
205
- /* @__PURE__ */ m(
211
+ /* @__PURE__ */ f(
206
212
  "div",
207
213
  {
208
- style: le,
214
+ style: me,
209
215
  onClick: () => !b && z.current?.focus(),
210
216
  children: [
211
- /* @__PURE__ */ o(
217
+ /* @__PURE__ */ t(
212
218
  "input",
213
219
  {
214
220
  ref: (e) => {
@@ -219,79 +225,97 @@ const ze = he(function({
219
225
  "aria-expanded": r,
220
226
  "aria-haspopup": "listbox",
221
227
  "aria-autocomplete": "list",
222
- "aria-controls": r ? "combobox-listbox" : void 0,
223
- "aria-activedescendant": r && n >= 0 ? `combobox-option-${n}` : void 0,
224
- "aria-invalid": T,
225
- "aria-required": U,
226
- "aria-label": A,
227
- "aria-labelledby": Q,
228
- value: a,
229
- placeholder: G,
228
+ "aria-controls": r ? h : void 0,
229
+ "aria-activedescendant": r && n >= 0 ? `${h}-option-${n}` : void 0,
230
+ "aria-invalid": A,
231
+ "aria-required": Z,
232
+ "aria-label": N,
233
+ "aria-labelledby": ee,
234
+ value: i,
235
+ placeholder: Q,
230
236
  disabled: b,
231
- style: ce,
232
- onChange: oe,
233
- onKeyDown: ae,
237
+ style: he,
238
+ onChange: ce,
239
+ onKeyDown: fe,
234
240
  onFocus: () => {
235
- q(!0), p(!0);
241
+ K(!0), m(!0);
236
242
  },
237
- onBlur: () => q(!1)
243
+ onBlur: () => K(!1)
238
244
  }
239
245
  ),
240
- /* @__PURE__ */ m("div", { style: de, children: [
241
- J && i && !b && /* @__PURE__ */ o(
246
+ /* @__PURE__ */ f("div", { style: ye, children: [
247
+ _ && l && !b && /* @__PURE__ */ t(
242
248
  "button",
243
249
  {
244
250
  type: "button",
245
- "aria-label": "Clear selection",
246
- style: ue,
247
- onClick: ne,
251
+ "aria-label": ne,
252
+ style: ve,
253
+ onClick: ue,
248
254
  onMouseEnter: (e) => {
249
255
  e.currentTarget.style.backgroundColor = "var(--brycks-background-muted)", e.currentTarget.style.color = "var(--brycks-foreground-default)";
250
256
  },
251
257
  onMouseLeave: (e) => {
252
258
  e.currentTarget.style.backgroundColor = "transparent", e.currentTarget.style.color = "var(--brycks-foreground-muted)";
253
259
  },
254
- children: /* @__PURE__ */ o(Ce, {})
260
+ children: /* @__PURE__ */ t(Re, {})
255
261
  }
256
262
  ),
257
- /* @__PURE__ */ o("span", { style: fe, children: /* @__PURE__ */ o(Se, {}) })
263
+ /* @__PURE__ */ t("span", { style: ge, children: /* @__PURE__ */ t(Me, {}) })
258
264
  ] })
259
265
  ]
260
266
  }
261
267
  ),
262
- r && ve(
263
- /* @__PURE__ */ m(ye, { children: [
264
- /* @__PURE__ */ o("style", { children: `
268
+ r && Se(
269
+ /* @__PURE__ */ f(xe, { children: [
270
+ /* @__PURE__ */ t("style", { children: `
265
271
  @keyframes brycks-dropdown-in {
266
272
  from { opacity: 0; transform: translateY(-4px); }
267
273
  to { opacity: 1; transform: translateY(0); }
268
274
  }
269
275
  ` }),
270
- /* @__PURE__ */ o(
276
+ /* @__PURE__ */ t(
271
277
  "ul",
272
278
  {
273
- ref: H,
274
- id: "combobox-listbox",
279
+ ref: V,
280
+ id: h,
275
281
  role: "listbox",
276
- "aria-label": A || "Options",
277
- style: be,
278
- children: u.length > 0 ? u.map((e, t) => /* @__PURE__ */ m(
282
+ "aria-label": N || ie,
283
+ "aria-busy": q || void 0,
284
+ style: ke,
285
+ children: q ? /* @__PURE__ */ t("li", { style: G, role: "status", "aria-live": "polite", children: /* @__PURE__ */ f("span", { style: { display: "inline-flex", alignItems: "center", justifyContent: "center", gap: a[2] }, children: [
286
+ /* @__PURE__ */ f(
287
+ "svg",
288
+ {
289
+ width: "16",
290
+ height: "16",
291
+ viewBox: "0 0 24 24",
292
+ fill: "none",
293
+ className: "brycks-animate-spin",
294
+ "aria-hidden": "true",
295
+ children: [
296
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", opacity: "0.2" }),
297
+ /* @__PURE__ */ t("path", { d: "M12 2C6.47715 2 2 6.47715 2 12", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round" })
298
+ ]
299
+ }
300
+ ),
301
+ te
302
+ ] }) }) : u.length > 0 ? u.map((e, o) => /* @__PURE__ */ f(
279
303
  "li",
280
304
  {
281
- id: `combobox-option-${t}`,
305
+ id: `${h}-option-${o}`,
282
306
  role: "option",
283
- "aria-selected": e.value === i,
307
+ "aria-selected": e.value === l,
284
308
  "aria-disabled": e.disabled,
285
- style: K(t === n, !!e.disabled, e.value === i),
286
- onClick: () => !e.disabled && g(e.value),
287
- onMouseEnter: () => s(t),
309
+ style: X(o === n, !!e.disabled, e.value === l),
310
+ onClick: () => !e.disabled && k(e.value),
311
+ onMouseEnter: () => s(o),
288
312
  children: [
289
- e.icon && /* @__PURE__ */ o("span", { style: { flexShrink: 0 }, children: e.icon }),
290
- /* @__PURE__ */ m("div", { style: { flex: 1, minWidth: 0 }, children: [
291
- /* @__PURE__ */ o("div", { style: { fontWeight: e.value === i ? 500 : 400 }, children: e.label }),
292
- e.description && /* @__PURE__ */ o("div", { style: { fontSize: E.sm, color: "var(--brycks-foreground-muted)" }, children: e.description })
313
+ e.icon && /* @__PURE__ */ t("span", { style: { flexShrink: 0 }, children: e.icon }),
314
+ /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
315
+ /* @__PURE__ */ t("div", { style: { fontWeight: e.value === l ? 500 : 400 }, children: e.label }),
316
+ e.description && /* @__PURE__ */ t("div", { style: { fontSize: M.sm, color: "var(--brycks-foreground-muted)" }, children: e.description })
293
317
  ] }),
294
- e.value === i && /* @__PURE__ */ o("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", style: { flexShrink: 0 }, children: /* @__PURE__ */ o(
318
+ e.value === l && /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", style: { flexShrink: 0 }, children: /* @__PURE__ */ t(
295
319
  "path",
296
320
  {
297
321
  d: "M3 8l3 3 7-7",
@@ -304,24 +328,20 @@ const ze = he(function({
304
328
  ]
305
329
  },
306
330
  e.value
307
- )) : /* @__PURE__ */ o("li", { style: pe, children: R && a ? /* @__PURE__ */ m(
331
+ )) : /* @__PURE__ */ t("li", { style: G, children: R && i ? /* @__PURE__ */ t(
308
332
  "button",
309
333
  {
310
334
  type: "button",
311
335
  style: {
312
- ...K(!0, !1, !1),
336
+ ...X(!0, !1, !1),
313
337
  width: "100%",
314
338
  border: "none",
315
339
  cursor: "pointer"
316
340
  },
317
- onClick: () => M?.(a),
318
- children: [
319
- 'Create "',
320
- a,
321
- '"'
322
- ]
341
+ onClick: () => O?.(i),
342
+ children: oe(i)
323
343
  }
324
- ) : Z })
344
+ ) : re })
325
345
  }
326
346
  )
327
347
  ] }),
@@ -331,8 +351,8 @@ const ze = he(function({
331
351
  }
332
352
  );
333
353
  });
334
- ze.displayName = "Combobox";
354
+ Oe.displayName = "Combobox";
335
355
  export {
336
- ze as Combobox
356
+ Oe as Combobox
337
357
  };
338
358
  //# sourceMappingURL=Combobox.js.map