@spear-ai/spectral 1.4.26 → 1.4.28

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 (209) hide show
  1. package/dist/.js +196 -191
  2. package/dist/Accordion.d.ts +28 -9
  3. package/dist/Accordion.js +203 -183
  4. package/dist/Alert/AlertBase.d.ts +24 -16
  5. package/dist/Alert/AlertBase.js +33 -18
  6. package/dist/Alert.js +1 -1
  7. package/dist/Avatar.js +11 -11
  8. package/dist/Button.d.ts +7 -2
  9. package/dist/Button.js +25 -12
  10. package/dist/ButtonIcon.d.ts +7 -2
  11. package/dist/ButtonIcon.js +25 -16
  12. package/dist/Card.js +1 -1
  13. package/dist/Checkbox/CheckboxBase.d.ts +13 -13
  14. package/dist/Checkbox/CheckboxBase.js +128 -125
  15. package/dist/Checkbox.d.ts +7 -2
  16. package/dist/Checkbox.js +29 -22
  17. package/dist/DataCard.js +3 -3
  18. package/dist/Dialog.js +2 -2
  19. package/dist/Drawer.js +2 -2
  20. package/dist/HoverCard.js +1 -1
  21. package/dist/Icons/AnalyzeIcon.d.ts +3 -1
  22. package/dist/Icons/AnalyzeIcon.js +3 -6
  23. package/dist/Icons/AnnotationsIcon.d.ts +3 -1
  24. package/dist/Icons/AnnotationsIcon.js +3 -6
  25. package/dist/Icons/ApprovedIcon.d.ts +3 -1
  26. package/dist/Icons/ApprovedIcon.js +3 -6
  27. package/dist/Icons/ArrowDownIcon.d.ts +3 -1
  28. package/dist/Icons/ArrowDownIcon.js +3 -6
  29. package/dist/Icons/ArrowUpIcon.d.ts +3 -1
  30. package/dist/Icons/ArrowUpIcon.js +4 -7
  31. package/dist/Icons/CalendarIcon.d.ts +3 -1
  32. package/dist/Icons/CalendarIcon.js +9 -12
  33. package/dist/Icons/CheckCircleIcon.d.ts +3 -1
  34. package/dist/Icons/CheckCircleIcon.js +2 -5
  35. package/dist/Icons/CheckSquareIcon.d.ts +3 -1
  36. package/dist/Icons/CheckSquareIcon.js +4 -7
  37. package/dist/Icons/CheckmarkIcon.d.ts +3 -1
  38. package/dist/Icons/CheckmarkIcon.js +5 -8
  39. package/dist/Icons/ChevronDownIcon.d.ts +3 -1
  40. package/dist/Icons/ChevronDownIcon.js +5 -8
  41. package/dist/Icons/ChevronUpIcon.d.ts +3 -1
  42. package/dist/Icons/ChevronUpIcon.js +5 -8
  43. package/dist/Icons/ClockIcon.d.ts +3 -1
  44. package/dist/Icons/ClockIcon.js +5 -8
  45. package/dist/Icons/CloseCircleIcon.d.ts +3 -1
  46. package/dist/Icons/CloseCircleIcon.js +4 -7
  47. package/dist/Icons/CloseIcon.d.ts +3 -1
  48. package/dist/Icons/CloseIcon.js +5 -8
  49. package/dist/Icons/DashboardIcon.d.ts +3 -1
  50. package/dist/Icons/DashboardIcon.js +3 -6
  51. package/dist/Icons/DatabaseIcon.d.ts +3 -1
  52. package/dist/Icons/DatabaseIcon.js +4 -7
  53. package/dist/Icons/DeleteIcon.d.ts +3 -1
  54. package/dist/Icons/DeleteIcon.js +4 -7
  55. package/dist/Icons/DurationIcon.d.ts +3 -1
  56. package/dist/Icons/DurationIcon.js +3 -6
  57. package/dist/Icons/EditIcon.d.ts +3 -1
  58. package/dist/Icons/EditIcon.js +3 -6
  59. package/dist/Icons/EmailIcon.d.ts +3 -1
  60. package/dist/Icons/EmailIcon.js +4 -7
  61. package/dist/Icons/EraserIcon.d.ts +3 -1
  62. package/dist/Icons/EraserIcon.js +9 -10
  63. package/dist/Icons/ErrorIcon.d.ts +3 -1
  64. package/dist/Icons/ErrorIcon.js +4 -7
  65. package/dist/Icons/EyeClosedIcon.d.ts +3 -1
  66. package/dist/Icons/EyeClosedIcon.js +4 -7
  67. package/dist/Icons/EyeClosedIcon2.d.ts +3 -1
  68. package/dist/Icons/EyeClosedIcon2.js +3 -6
  69. package/dist/Icons/EyeOpenIcon.d.ts +3 -1
  70. package/dist/Icons/EyeOpenIcon.js +6 -9
  71. package/dist/Icons/GoToFirstIcon.d.ts +3 -1
  72. package/dist/Icons/GoToFirstIcon.js +4 -7
  73. package/dist/Icons/GoToLastIcon.d.ts +3 -1
  74. package/dist/Icons/GoToLastIcon.js +4 -7
  75. package/dist/Icons/HarmonicCursorsIcon.d.ts +3 -1
  76. package/dist/Icons/HarmonicCursorsIcon.js +4 -7
  77. package/dist/Icons/IconBase.d.ts +4 -2
  78. package/dist/Icons/IconBase.js +17 -8
  79. package/dist/Icons/InfoIcon.d.ts +3 -1
  80. package/dist/Icons/InfoIcon.js +4 -7
  81. package/dist/Icons/LabelIcon.d.ts +3 -1
  82. package/dist/Icons/LabelIcon.js +3 -6
  83. package/dist/Icons/LassoIcon.d.ts +3 -1
  84. package/dist/Icons/LassoIcon.js +5 -8
  85. package/dist/Icons/LineToolIcon.d.ts +3 -1
  86. package/dist/Icons/LineToolIcon.js +3 -6
  87. package/dist/Icons/LineToolIcon2.d.ts +3 -1
  88. package/dist/Icons/LineToolIcon2.js +3 -6
  89. package/dist/Icons/LiveViewIcon.d.ts +3 -1
  90. package/dist/Icons/LiveViewIcon.js +2 -5
  91. package/dist/Icons/LoaderIcon.d.ts +3 -1
  92. package/dist/Icons/LoaderIcon.js +6 -7
  93. package/dist/Icons/LocationIcon.d.ts +3 -1
  94. package/dist/Icons/LocationIcon.js +3 -6
  95. package/dist/Icons/LogoutIcon.d.ts +3 -1
  96. package/dist/Icons/LogoutIcon.js +4 -7
  97. package/dist/Icons/MessagesIcon.d.ts +3 -1
  98. package/dist/Icons/MessagesIcon.js +5 -8
  99. package/dist/Icons/MetadataIcon.d.ts +3 -1
  100. package/dist/Icons/MetadataIcon.js +4 -7
  101. package/dist/Icons/MinusIcon.d.ts +3 -1
  102. package/dist/Icons/MinusIcon.js +3 -6
  103. package/dist/Icons/OntologyIcon.d.ts +3 -1
  104. package/dist/Icons/OntologyIcon.js +2 -5
  105. package/dist/Icons/PanelIconClose.d.ts +3 -1
  106. package/dist/Icons/PanelIconClose.js +4 -7
  107. package/dist/Icons/PanelIconOpen.d.ts +3 -1
  108. package/dist/Icons/PanelIconOpen.js +8 -11
  109. package/dist/Icons/PlayIcon.d.ts +3 -1
  110. package/dist/Icons/PlayIcon.js +3 -6
  111. package/dist/Icons/PlusIcon.d.ts +3 -1
  112. package/dist/Icons/PlusIcon.js +4 -7
  113. package/dist/Icons/ResetIcon.d.ts +3 -1
  114. package/dist/Icons/ResetIcon.js +4 -7
  115. package/dist/Icons/ReviewedIcon.d.ts +3 -1
  116. package/dist/Icons/ReviewedIcon.js +3 -6
  117. package/dist/Icons/ScissorsIcon.d.ts +3 -1
  118. package/dist/Icons/ScissorsIcon.js +6 -9
  119. package/dist/Icons/SettingsIcon.d.ts +3 -1
  120. package/dist/Icons/SettingsIcon.js +3 -6
  121. package/dist/Icons/SortAscendingIcon.d.ts +3 -1
  122. package/dist/Icons/SortAscendingIcon.js +3 -6
  123. package/dist/Icons/SortAtoZIcon.d.ts +3 -1
  124. package/dist/Icons/SortAtoZIcon.js +3 -6
  125. package/dist/Icons/SortDescendingIcon.d.ts +3 -1
  126. package/dist/Icons/SortDescendingIcon.js +3 -6
  127. package/dist/Icons/SortZtoAIcon.d.ts +3 -1
  128. package/dist/Icons/SortZtoAIcon.js +3 -6
  129. package/dist/Icons/StackIcon.d.ts +3 -1
  130. package/dist/Icons/StackIcon.js +4 -7
  131. package/dist/Icons/StarIcon.d.ts +3 -1
  132. package/dist/Icons/StarIcon.js +3 -6
  133. package/dist/Icons/TrashIcon.d.ts +3 -1
  134. package/dist/Icons/TrashIcon.js +3 -6
  135. package/dist/Icons/UndoIcon.d.ts +3 -1
  136. package/dist/Icons/UndoIcon.js +4 -7
  137. package/dist/Icons/UserIcon.d.ts +3 -1
  138. package/dist/Icons/UserIcon.js +3 -6
  139. package/dist/Icons/WarningIcon.d.ts +3 -1
  140. package/dist/Icons/WarningIcon.js +5 -8
  141. package/dist/Icons/ZoomAllIcon.d.ts +3 -1
  142. package/dist/Icons/ZoomAllIcon.js +3 -6
  143. package/dist/Icons/ZoomXIcon.d.ts +3 -1
  144. package/dist/Icons/ZoomXIcon.js +4 -7
  145. package/dist/Icons/ZoomYIcon.d.ts +3 -1
  146. package/dist/Icons/ZoomYIcon.js +4 -7
  147. package/dist/Input/InputUtils.d.ts +4 -4
  148. package/dist/Input/InputUtils.js +1 -1
  149. package/dist/Input.d.ts +7 -17
  150. package/dist/Input.js +105 -101
  151. package/dist/InputOTP.d.ts +27 -7
  152. package/dist/InputOTP.js +171 -146
  153. package/dist/Kbd.d.ts +16 -0
  154. package/dist/Kbd.js +23 -0
  155. package/dist/Label.d.ts +7 -2
  156. package/dist/Label.js +12 -9
  157. package/dist/MultiSelect/MultiSelectBase.d.ts +7 -2
  158. package/dist/MultiSelect/MultiSelectBase.js +212 -213
  159. package/dist/{MultiSelect/MutiSelect.d.ts → MultiSelect.d.ts} +8 -2
  160. package/dist/MultiSelect.js +27 -0
  161. package/dist/Popover.js +1 -1
  162. package/dist/RadioButtonGroup.js +1 -1
  163. package/dist/RadioGroup.d.ts +20 -14
  164. package/dist/RadioGroup.js +177 -148
  165. package/dist/Select.d.ts +7 -2
  166. package/dist/Select.js +108 -109
  167. package/dist/Separator.d.ts +8 -8
  168. package/dist/Separator.js +14 -15
  169. package/dist/Switch/SwitchBase.d.ts +13 -11
  170. package/dist/Switch/SwitchBase.js +84 -61
  171. package/dist/Switch.d.ts +10 -4
  172. package/dist/Switch.js +19 -20
  173. package/dist/Tabs/TabsBase.d.ts +16 -6
  174. package/dist/Tabs/TabsBase.js +133 -96
  175. package/dist/Tabs/tabsUtils.d.ts +6 -2
  176. package/dist/Tabs/tabsUtils.js +5 -2
  177. package/dist/Tabs.js +18 -18
  178. package/dist/Textarea.d.ts +7 -2
  179. package/dist/Textarea.js +78 -61
  180. package/dist/Toggle/ToggleBase.d.ts +4 -8
  181. package/dist/Toggle/ToggleBase.js +29 -16
  182. package/dist/Toggle.d.ts +4 -2
  183. package/dist/Toggle.js +23 -13
  184. package/dist/ToggleGroup/ToggleGroupBase.d.ts +4 -7
  185. package/dist/ToggleGroup/ToggleGroupBase.js +82 -73
  186. package/dist/ToggleGroup.d.ts +7 -2
  187. package/dist/ToggleGroup.js +31 -19
  188. package/dist/Tray.d.ts +47 -15
  189. package/dist/Tray.js +98 -60
  190. package/dist/hooks/useAccordionAutoScroll.d.ts +1 -1
  191. package/dist/hooks/useAccordionAutoScroll.d.ts.map +1 -1
  192. package/dist/hooks/useAccordionAutoScroll.js +35 -34
  193. package/dist/{index-BSCg4Mei.js → index-B0Kp8R0j.js} +3 -3
  194. package/dist/{index-jgQ7sgLl.js → index-D4jMMaAi.js} +5 -5
  195. package/dist/index.d.ts +11 -9
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/primitives/input.d.ts.map +1 -1
  198. package/dist/primitives/input.js +1 -4
  199. package/dist/primitives/select.d.ts.map +1 -1
  200. package/dist/primitives/select.js +4 -11
  201. package/dist/primitives/slot.d.ts +11 -4
  202. package/dist/primitives/slot.d.ts.map +1 -1
  203. package/dist/primitives/slot.js +32 -28
  204. package/dist/primitives/textarea.d.ts.map +1 -1
  205. package/dist/primitives/textarea.js +1 -3
  206. package/dist/styles/main.css +1 -1
  207. package/dist/utils/formFieldUtils.js +2 -2
  208. package/package.json +1 -1
  209. package/dist/MultiSelect/MutiSelect.js +0 -19
@@ -2,10 +2,10 @@
2
2
  import "../styles/main.css";
3
3
  import { jsx as s } from "react/jsx-runtime";
4
4
  import { cn as l } from "../utils/twUtils.js";
5
- import { c as o } from "../index-D29mdTf5.js";
6
- import { forwardRef as i, useState as d, useEffect as c } from "react";
7
- import { createPortal as f } from "react-dom";
8
- const g = o(
5
+ import { c as n } from "../index-D29mdTf5.js";
6
+ import { useState as o, useEffect as d } from "react";
7
+ import { createPortal as c } from "react-dom";
8
+ const g = n(
9
9
  `fixed top-2 left-1/2 -translate-x-1/2 z-50 w-full max-w-md rounded-md border px-4 py-3 text-sm flex has-[>svg]:grid-cols-[6_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-2 [&>svg]items-start gap-y-0.5
10
10
  items-start [&>svg]:size-6 [&>svg]:translate-y-0.5 transform transition-all duration-300 ease-in-out translate-y-0 opacity-100 scale-100 animate-in slide-in-from-top-full fade-in duration-300`,
11
11
  {
@@ -22,25 +22,40 @@ const g = o(
22
22
  variant: "default"
23
23
  }
24
24
  }
25
- ), n = {
25
+ ), i = {
26
26
  success: "text-alert-success-text [&_p]:!text-alert-success-text",
27
27
  warning: "text-alert-warning-text [&_p]:!text-alert-warning-text",
28
28
  danger: "text-alert-danger-text [&_p]:!text-alert-danger-text",
29
29
  info: "text-alert-info-text [&_p]:!text-alert-info-text",
30
30
  default: "text-alert-text [&_p]:!text-alert-text"
31
- }, m = i(({ className: e, variant: r, ...a }, t) => /* @__PURE__ */ s("div", { className: l(g({ variant: r }), e), "data-slot": "alert", "data-testid": "spectral-alert", ref: t, role: "alert", ...a }));
32
- m.displayName = "AlertBase";
33
- const x = i(({ className: e, variant: r, ...a }, t) => /* @__PURE__ */ s("div", { className: l(n[r], "col-start-2 line-clamp-1 min-h-4 font-semibold text-base tracking-tight h-6 flex items-center", e), "data-slot": "alert-title", "data-testid": "spectral-alert-title", ref: t, ...a }));
34
- x.displayName = "AlertTitle";
35
- const p = i(({ className: e, variant: r, ...a }, t) => /* @__PURE__ */ s("div", { className: l(n[r], "col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", e), "data-slot": "alert-description", "data-testid": "spectral-alert-description", ref: t, ...a }));
36
- p.displayName = "AlertDescription";
37
- function _({ children: e, container: r }) {
38
- const [a, t] = d(!1);
39
- return c(() => (t(!0), () => t(!1)), []), a ? f(e, r ?? document.body) : null;
31
+ }, f = ({
32
+ ref: e,
33
+ className: r,
34
+ variant: a,
35
+ ...t
36
+ }) => /* @__PURE__ */ s("div", { className: l(g({ variant: a }), r), "data-slot": "alert", "data-testid": "spectral-alert", ref: e, role: "alert", ...t });
37
+ f.displayName = "AlertBase";
38
+ const m = ({
39
+ ref: e,
40
+ className: r,
41
+ variant: a,
42
+ ...t
43
+ }) => /* @__PURE__ */ s("div", { className: l(i[a], "col-start-2 line-clamp-1 flex h-6 min-h-4 items-center text-base font-semibold tracking-tight", r), "data-slot": "alert-title", "data-testid": "spectral-alert-title", ref: e, ...t });
44
+ m.displayName = "AlertTitle";
45
+ const x = ({
46
+ ref: e,
47
+ className: r,
48
+ variant: a,
49
+ ...t
50
+ }) => /* @__PURE__ */ s("div", { className: l(i[a], "col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", r), "data-slot": "alert-description", "data-testid": "spectral-alert-description", ref: e, ...t });
51
+ x.displayName = "AlertDescription";
52
+ function w({ children: e, container: r }) {
53
+ const [a, t] = o(!1);
54
+ return d(() => (t(!0), () => t(!1)), []), a ? c(e, r ?? document.body) : null;
40
55
  }
41
56
  export {
42
- m as AlertBase,
43
- p as AlertDescription,
44
- _ as AlertPortal,
45
- x as AlertTitle
57
+ f as AlertBase,
58
+ x as AlertDescription,
59
+ w as AlertPortal,
60
+ m as AlertTitle
46
61
  };
package/dist/Alert.js CHANGED
@@ -99,7 +99,7 @@ const Kt = ({ id: n, description: s, onClose: a, icon: l, title: c, className: d
99
99
  C,
100
100
  {
101
101
  "aria-label": "Close alert",
102
- className: "close-icon-wrapper absolute right-2 top-2 cursor-pointer focus-visible:outline-1 outline-transparent focus-visible:outline-text-secondary focus-visible:outline-offset-1 rounded",
102
+ className: "close-icon-wrapper focus-visible:outline-text-secondary absolute top-2 right-2 cursor-pointer rounded outline-transparent focus-visible:outline-1 focus-visible:outline-offset-1",
103
103
  "data-slot": "close-icon",
104
104
  "data-testid": "spectral-alert-close-button",
105
105
  onClick: f,
package/dist/Avatar.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import "./styles/main.css";
3
3
  import { jsx as r } from "react/jsx-runtime";
4
- import { cn as s } from "./utils/twUtils.js";
4
+ import { cn as n } from "./utils/twUtils.js";
5
5
  import { useState as v, useEffect as w, isValidElement as y, cloneElement as h } from "react";
6
6
  const b = {
7
7
  sm: "h-8 w-8",
@@ -16,11 +16,11 @@ const b = {
16
16
  md: 32,
17
17
  lg: 40
18
18
  }, m = (l) => {
19
- const o = l.trim();
20
- if (!o) return "?";
21
- const t = o.split(/\s+/).filter(Boolean);
19
+ const i = l.trim();
20
+ if (!i) return "?";
21
+ const t = i.split(/\s+/).filter(Boolean);
22
22
  return t.length === 0 ? "?" : t.length === 1 ? t[0].charAt(0).toUpperCase() : (t[0].charAt(0) + t[t.length - 1].charAt(0)).toUpperCase();
23
- }, k = ({ alt: l, className: o, icon: t, imageSource: a, fallback: i, size: n = "md", userFullName: c }) => {
23
+ }, k = ({ alt: l, className: i, icon: t, imageSource: a, fallback: o, size: s = "md", userFullName: c }) => {
24
24
  const [u, d] = v("loading");
25
25
  w(() => {
26
26
  if (!a) return;
@@ -32,12 +32,12 @@ const b = {
32
32
  }, [a]);
33
33
  const x = () => {
34
34
  if (c)
35
- return /* @__PURE__ */ r("span", { "aria-label": `${c} avatar`, className: s("flex items-center justify-center w-full h-full font-bold text-text-primary tracking-tighter font-stretch-condensed", f[n]), "data-testid": "spectral-avatar-initials", children: m(c) });
35
+ return /* @__PURE__ */ r("span", { "aria-label": `${c} avatar`, className: n("text-text-primary flex h-full w-full items-center justify-center font-bold tracking-tighter font-stretch-condensed", f[s]), "data-testid": "spectral-avatar-initials", children: m(c) });
36
36
  if (t) {
37
- const e = j[n];
38
- return /* @__PURE__ */ r("span", { className: "flex items-center justify-center w-full h-full", children: y(t) ? (() => {
37
+ const e = j[s];
38
+ return /* @__PURE__ */ r("span", { className: "flex h-full w-full items-center justify-center", children: y(t) ? (() => {
39
39
  const p = {
40
- className: s("shrink-0", t.props.className),
40
+ className: n("shrink-0", t.props.className),
41
41
  "aria-hidden": "true"
42
42
  };
43
43
  if (t.type.displayName?.includes("Icon") ?? !1) {
@@ -50,9 +50,9 @@ const b = {
50
50
  return h(t, p);
51
51
  })() : t });
52
52
  }
53
- return a && u === "loaded" ? /* @__PURE__ */ r("img", { alt: l || "Avatar", "aria-label": l || "Avatar", className: "absolute inset-0 w-full h-full object-cover rounded-full", "data-testid": "spectral-avatar-image", role: "img", src: a }) : a && u === "error" && i ? /* @__PURE__ */ r("span", { className: "flex items-center justify-center w-full h-full", "data-testid": "spectral-avatar-img-error-fallback", children: m(i) }) : i ? /* @__PURE__ */ r("span", { className: s("flex items-center justify-center w-full h-full text-text-primary", f[n]), "data-testid": "spectral-avatar-fallback", children: m(i) }) : /* @__PURE__ */ r("span", { className: s("flex items-center justify-center w-full h-full font-bold border-2 border-danger-400 text-danger-400 rounded-full font-bold", f[n]), "data-testid": "spectral-avatar-last-resort", children: "?" });
53
+ return a && u === "loaded" ? /* @__PURE__ */ r("img", { alt: l || "Avatar", "aria-label": l || "Avatar", className: "absolute inset-0 h-full w-full rounded-full object-cover", "data-testid": "spectral-avatar-image", role: "img", src: a }) : a && u === "error" && o ? /* @__PURE__ */ r("span", { className: "flex h-full w-full items-center justify-center", "data-testid": "spectral-avatar-img-error-fallback", children: m(o) }) : o ? /* @__PURE__ */ r("span", { className: n("text-text-primary flex h-full w-full items-center justify-center", f[s]), "data-testid": "spectral-avatar-fallback", children: m(o) }) : /* @__PURE__ */ r("span", { className: n("border-danger-400 text-danger-400 flex h-full w-full items-center justify-center rounded-full border-2 font-bold", f[s]), "data-testid": "spectral-avatar-last-resort", children: "?" });
54
54
  };
55
- return /* @__PURE__ */ r("div", { className: s("relative inline-flex items-center justify-center overflow-hidden rounded-full shrink-0 bg-level-two", b[n], o), "data-slot": "avatar", "data-testid": "spectral-avatar", children: x() });
55
+ return /* @__PURE__ */ r("div", { className: n("bg-level-two relative inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full", b[s], i), "data-slot": "avatar", "data-testid": "spectral-avatar", children: x() });
56
56
  };
57
57
  export {
58
58
  k as Avatar
package/dist/Button.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
- import { ButtonHTMLAttributes, MouseEvent, ReactNode } from 'react';
2
+ import { ButtonHTMLAttributes, MouseEvent, ReactNode, Ref } from 'react';
3
3
  declare const buttonVariants: (props?: ({
4
4
  variant?: "secondary" | "outline" | "primary" | "ghost" | null | undefined;
5
5
  size?: "small" | "default" | "fullWidth" | null | undefined;
@@ -18,6 +18,11 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
18
18
  type?: 'button' | 'submit' | 'reset';
19
19
  variant?: 'primary' | 'secondary' | 'outline' | 'ghost';
20
20
  }
21
- export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
21
+ export declare const Button: {
22
+ ({ ref, className, dataTestId, disabled, endIcon, errorMessage, label, size, startIcon, state, type, variant, ...props }: ButtonProps & {
23
+ ref?: Ref<HTMLButtonElement>;
24
+ }): import("react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ };
22
27
  export {};
23
28
  //# sourceMappingURL=Button.d.ts.map
package/dist/Button.js CHANGED
@@ -1,12 +1,11 @@
1
- "use client";
2
1
  import "./styles/main.css";
3
2
  import { jsxs as s, jsx as o } from "react/jsx-runtime";
4
3
  import { ErrorMessage as h } from "./utils/formFieldUtils.js";
5
4
  import { cn as u } from "./utils/twUtils.js";
6
5
  import { c as y } from "./index-D29mdTf5.js";
7
- import { forwardRef as f } from "react";
8
- import { c as w } from "./createLucideIcon-D4r5Phnh.js";
9
- const N = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]], _ = w("loader-circle", N), j = y(
6
+ import "react";
7
+ import { c as f } from "./createLucideIcon-D4r5Phnh.js";
8
+ const N = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]], w = f("loader-circle", N), _ = y(
10
9
  `
11
10
  !font-sans flex relative items-center justify-center gap-2 whitespace-nowrap transition-colors cursor-pointer rounded-lg border font-semibold focus:outline-none focus:outline-none
12
11
  focus-visible:outline-1 focus-visible:outline-offset-2 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 disabled:pointer-events-none
@@ -39,7 +38,21 @@ const N = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]], _ = w
39
38
  size: "default"
40
39
  }
41
40
  }
42
- ), z = f(({ className: l, dataTestId: g, disabled: r, endIcon: n, errorMessage: b, label: c, size: a, startIcon: d, state: t, type: p = "button", variant: e = "primary", ...x }, m) => {
41
+ ), j = ({
42
+ ref: l,
43
+ className: g,
44
+ dataTestId: c,
45
+ disabled: r,
46
+ endIcon: n,
47
+ errorMessage: b,
48
+ label: p,
49
+ size: a,
50
+ startIcon: d,
51
+ state: t,
52
+ type: x = "button",
53
+ variant: e = "primary",
54
+ ...m
55
+ }) => {
43
56
  const i = {
44
57
  error: {
45
58
  primary: "bg-button-danger border-button-danger text-text-primary hover:bg-button-danger--hover hover:text-text-primary",
@@ -53,18 +66,18 @@ const N = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]], _ = w
53
66
  outline: "bg-button-outline-bg--disabled border-button-outline-border--disabled text-button-outline-text--disabled pointer-events-none",
54
67
  ghost: "bg-transparent text-button-ghost-text--disabled pointer-events-none"
55
68
  }
56
- }, v = u(j({ variant: e, state: t, size: a }), t === "error" && i.error[e], t === "loading" && i.loading[e], l);
69
+ }, v = u(_({ variant: e, state: t, size: a }), t === "error" && i.error[e], t === "loading" && i.loading[e], g);
57
70
  return /* @__PURE__ */ s("div", { className: u("flex flex-col justify-items-center", a), children: [
58
- /* @__PURE__ */ s("button", { "aria-disabled": r, className: v, "data-state": t, "data-testid": g || `spectral-button-${e}`, disabled: r, ref: m, type: p, ...x, children: [
71
+ /* @__PURE__ */ s("button", { "aria-disabled": r, className: v, "data-state": t, "data-testid": c || `spectral-button-${e}`, disabled: r, ref: l, type: x, ...m, children: [
59
72
  d && /* @__PURE__ */ o("span", { className: "flex pr-1", "aria-hidden": !0, "data-testid": "spectral-button-start-icon", children: d }),
60
- t === "loading" && /* @__PURE__ */ o(_, { className: "ml-2 animate-spin", size: 16 }),
61
- c,
73
+ t === "loading" && /* @__PURE__ */ o(w, { className: "ml-2 animate-spin", size: 16 }),
74
+ p,
62
75
  n && t !== "loading" && /* @__PURE__ */ o("span", { className: "flex pl-2", "aria-hidden": !0, "data-testid": "spectral-button-end-icon", children: n })
63
76
  ] }),
64
77
  t === "error" && b && /* @__PURE__ */ o(h, { message: b, dataTestId: "spectral-button-error-message", id: "button-error" })
65
78
  ] });
66
- });
67
- z.displayName = "Button";
79
+ };
80
+ j.displayName = "Button";
68
81
  export {
69
- z as Button
82
+ j as Button
70
83
  };
@@ -1,4 +1,4 @@
1
- import { ButtonHTMLAttributes, MouseEvent, ReactElement } from 'react';
1
+ import { ButtonHTMLAttributes, MouseEvent, ReactElement, Ref } from 'react';
2
2
  type IconOrSVG = ReactElement | (() => ReactElement);
3
3
  export interface ButtonIconProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
4
4
  icon: IconOrSVG;
@@ -9,6 +9,11 @@ export interface ButtonIconProps extends Omit<ButtonHTMLAttributes<HTMLButtonEle
9
9
  shape?: 'circle' | 'square';
10
10
  size?: 'sm' | 'md' | 'lg';
11
11
  }
12
- export declare const ButtonIcon: import('react').ForwardRefExoticComponent<ButtonIconProps & import('react').RefAttributes<HTMLButtonElement>>;
12
+ export declare const ButtonIcon: {
13
+ ({ ref, className, disabled, icon, isLoading, label, onClick, shape, size, ...props }: ButtonIconProps & {
14
+ ref?: Ref<HTMLButtonElement>;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ displayName: string;
17
+ };
13
18
  export {};
14
19
  //# sourceMappingURL=ButtonIcon.d.ts.map
@@ -64,20 +64,29 @@ import "./Icons/ZoomAllIcon.js";
64
64
  import "./Icons/ZoomXIcon.js";
65
65
  import "./Icons/ZoomYIcon.js";
66
66
  import { cn as n } from "./utils/twUtils.js";
67
- import { forwardRef as g, isValidElement as k, cloneElement as p } from "react";
68
- const x = `bg-transparent hover:bg-level-one text-text-primary inline-flex items-center justify-center whitespace-nowrap transition-colors focus:outline-none focus-visible:outline-2
67
+ import { isValidElement as g, cloneElement as p } from "react";
68
+ const k = `bg-transparent hover:bg-level-one text-text-primary inline-flex items-center justify-center whitespace-nowrap transition-colors focus:outline-none focus-visible:outline-2
69
69
  focus-visible:outline-offset-2 focus-visible:outline-level-two cursor-pointer [&_svg]:pointer-events-none [&_svg]:shrink-0`, m = {
70
70
  sm: { button: "h-8 w-8", icon: 16 },
71
71
  md: { button: "h-10 w-10", icon: 24 },
72
72
  lg: { button: "h-12 w-12", icon: 32 }
73
- }, C = g(({ className: u, disabled: s, icon: r, isLoading: o = !1, label: c, onClick: f, shape: d = "square", size: i = "md", ...h }, b) => {
74
- const v = (t) => {
75
- f?.(t);
76
- }, y = o ? `${c} - Loading` : c, w = () => {
73
+ }, x = ({
74
+ ref: u,
75
+ className: f,
76
+ disabled: s,
77
+ icon: r,
78
+ isLoading: o = !1,
79
+ label: c,
80
+ onClick: d,
81
+ shape: h = "square",
82
+ size: i = "md",
83
+ ...b
84
+ }) => {
85
+ const v = (t) => d?.(t), y = o ? `${c} - Loading` : c, w = () => {
77
86
  if (o)
78
- return /* @__PURE__ */ a(N, { size: m[i].icon, "aria-hidden": "true" });
87
+ return /* @__PURE__ */ a(N, { size: m[i].icon, ariaHidden: !0 });
79
88
  const t = typeof r == "function" ? r() : r;
80
- if (k(t)) {
89
+ if (g(t)) {
81
90
  const e = m[i].icon;
82
91
  if (t.type === "svg")
83
92
  return p(t, {
@@ -89,9 +98,9 @@ const x = `bg-transparent hover:bg-level-one text-text-primary inline-flex items
89
98
  {
90
99
  const l = {
91
100
  className: n("shrink-0", t.props.className),
92
- "aria-hidden": "true"
101
+ ariaHidden: !0
93
102
  };
94
- if (t.type.displayName?.includes("Icon") ?? !1) {
103
+ if (t.type.displayName?.endsWith("Icon") ?? !1) {
95
104
  const I = {
96
105
  ...l,
97
106
  size: e
@@ -107,17 +116,17 @@ const x = `bg-transparent hover:bg-level-one text-text-primary inline-flex items
107
116
  "button",
108
117
  {
109
118
  "aria-label": y,
110
- className: n(x, d === "circle" ? "rounded-full" : "rounded-[0.75rem]", m[i].button, o && "cursor-wait", s && "opacity-50 cursor-not-allowed", u),
119
+ className: n(k, h === "circle" ? "rounded-full" : "rounded-[0.75rem]", m[i].button, o && "cursor-wait", s && "cursor-not-allowed opacity-50", f),
111
120
  "data-testid": "spectral-button-icon",
112
121
  disabled: s || o,
113
122
  onClick: v,
114
- ref: b,
115
- ...h,
123
+ ref: u,
124
+ ...b,
116
125
  children: w()
117
126
  }
118
127
  );
119
- });
120
- C.displayName = "ButtonIcon";
128
+ };
129
+ x.displayName = "ButtonIcon";
121
130
  export {
122
- C as ButtonIcon
131
+ x as ButtonIcon
123
132
  };
package/dist/Card.js CHANGED
@@ -3,7 +3,7 @@ import { jsx as e } from "react/jsx-runtime";
3
3
  import { Slot as c } from "./primitives/slot.js";
4
4
  import { cn as d } from "./utils/twUtils.js";
5
5
  import "react";
6
- const o = "text-text-primary flex flex-col w-full card-effects p-3 gap-6 rounded-xl", f = ({ ...t }) => /* @__PURE__ */ e("div", { "data-slot": "card", "data-testid": "spectral-card", ...t }), C = ({ className: t, ...a }) => /* @__PURE__ */ e("div", { "data-slot": "card-header", "data-testid": "spectral-card-header", className: d("@container/card-header pb-4 flex justify-between items-center", t), ...a }), u = ({ className: t, asChild: a = !1, ...r }) => /* @__PURE__ */ e(a ? c : "div", { "data-slot": "card-title", "data-testid": "spectral-card-title", className: d("font-semibold text-xl", t), ...r }), x = ({ className: t, asChild: a = !1, ...r }) => /* @__PURE__ */ e(a ? c : "div", { "data-slot": "card-action", "data-testid": "spectral-card-action", className: d("justify-self-end", t), ...r }), v = ({ className: t, ...a }) => /* @__PURE__ */ e("div", { "data-slot": "card-content", "data-testid": "spectral-card-content", className: t, ...a }), N = ({ className: t, asChild: a = !1, children: r, ...s }) => /* @__PURE__ */ e(a ? c : "div", { "data-slot": "card", "data-testid": "spectral-card", className: d(o, t), ...s, children: r });
6
+ const o = "text-text-primary flex flex-col w-full card-effects p-3 gap-6 rounded-xl", f = ({ ...t }) => /* @__PURE__ */ e("div", { "data-slot": "card", "data-testid": "spectral-card", ...t }), C = ({ className: t, ...a }) => /* @__PURE__ */ e("div", { "data-slot": "card-header", "data-testid": "spectral-card-header", className: d("@container/card-header flex items-center justify-between pb-4", t), ...a }), u = ({ className: t, asChild: a = !1, ...r }) => /* @__PURE__ */ e(a ? c : "div", { "data-slot": "card-title", "data-testid": "spectral-card-title", className: d("text-xl font-semibold", t), ...r }), x = ({ className: t, asChild: a = !1, ...r }) => /* @__PURE__ */ e(a ? c : "div", { "data-slot": "card-action", "data-testid": "spectral-card-action", className: d("justify-self-end", t), ...r }), v = ({ className: t, ...a }) => /* @__PURE__ */ e("div", { "data-slot": "card-content", "data-testid": "spectral-card-content", className: t, ...a }), N = ({ className: t, asChild: a = !1, children: r, ...s }) => /* @__PURE__ */ e(a ? c : "div", { "data-slot": "card", "data-testid": "spectral-card", className: d(o, t), ...s, children: r });
7
7
  export {
8
8
  N as Card,
9
9
  f as CardBase,
@@ -1,5 +1,5 @@
1
1
  import { AsChildProp } from '../primitives/slot';
2
- import { ButtonHTMLAttributes, HTMLAttributes } from 'react';
2
+ import { ButtonHTMLAttributes, HTMLAttributes, Ref } from 'react';
3
3
  export type CheckedState = boolean | 'indeterminate';
4
4
  type BaseButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'value'>;
5
5
  export type CheckboxBaseProps = BaseButtonProps & AsChildProp & {
@@ -11,20 +11,20 @@ export type CheckboxBaseProps = BaseButtonProps & AsChildProp & {
11
11
  required?: boolean;
12
12
  value?: string;
13
13
  };
14
- export declare const CheckboxBase: import('react').ForwardRefExoticComponent<BaseButtonProps & AsChildProp & {
15
- checked?: CheckedState;
16
- defaultChecked?: CheckedState;
17
- form?: string;
18
- name?: string;
19
- onCheckedChange?: (checked: CheckedState) => void;
20
- required?: boolean;
21
- value?: string;
22
- } & import('react').RefAttributes<HTMLButtonElement>>;
14
+ export declare const CheckboxBase: {
15
+ ({ ref, asChild, checked, className, disabled, defaultChecked, form, id, name, onCheckedChange, onClick, onKeyDown, required, type, value, ...rest }: CheckboxBaseProps & {
16
+ ref?: Ref<HTMLButtonElement>;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ displayName: string;
19
+ };
23
20
  export type CheckboxIndicatorProps = HTMLAttributes<HTMLSpanElement> & AsChildProp & {
24
21
  forceMount?: boolean;
25
22
  };
26
- export declare const CheckboxIndicator: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & AsChildProp & {
27
- forceMount?: boolean;
28
- } & import('react').RefAttributes<HTMLSpanElement>>;
23
+ export declare const CheckboxIndicator: {
24
+ ({ ref, asChild, className, forceMount, ...props }: CheckboxIndicatorProps & {
25
+ ref?: Ref<HTMLSpanElement>;
26
+ }): import("react/jsx-runtime").JSX.Element | null;
27
+ displayName: string;
28
+ };
29
29
  export {};
30
30
  //# sourceMappingURL=CheckboxBase.d.ts.map