@spear-ai/spectral 1.9.1 → 1.10.1

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 (241) hide show
  1. package/README.md +6 -5
  2. package/dist/.js +113 -239
  3. package/dist/Accordion-CDXdSAST.js +363 -0
  4. package/dist/Accordion.js +3 -498
  5. package/dist/Alert/AlertBase.js +69 -152
  6. package/dist/Alert.js +58 -106
  7. package/dist/AnimatePresence-D-9jXfgI.js +178 -0
  8. package/dist/App.js +6 -6
  9. package/dist/Avatar.js +83 -65
  10. package/dist/Badge.d.ts +1 -3
  11. package/dist/Badge.js +21 -25
  12. package/dist/Button.js +102 -178
  13. package/dist/ButtonGroup/ButtonGroupButton.js +38 -40
  14. package/dist/ButtonGroup.js +55 -59
  15. package/dist/ButtonIcon.js +58 -134
  16. package/dist/Calendar-s4lyijkn.js +3109 -0
  17. package/dist/Checkbox/CheckboxBase.js +94 -126
  18. package/dist/Checkbox.d.ts +1 -1
  19. package/dist/Checkbox.js +40 -105
  20. package/dist/Combobox/ComboboxBase.js +2 -79
  21. package/dist/Combobox.js +106 -172
  22. package/dist/ComboboxBase-D8Nf4xC-.js +491 -0
  23. package/dist/ControlGroup/ControlGroupSelect.d.ts +1 -1
  24. package/dist/ControlGroup/ControlGroupSelect.js +85 -101
  25. package/dist/ControlGroup.js +45 -48
  26. package/dist/DataCard/Card.js +37 -12
  27. package/dist/DataCard.d.ts +1 -1
  28. package/dist/DataCard.js +36 -16
  29. package/dist/DateTimePicker/Calendar.js +2 -2967
  30. package/dist/DateTimePicker/DateTimeDisplayInput.d.ts +1 -1
  31. package/dist/DateTimePicker/DateTimeDisplayInput.js +379 -275
  32. package/dist/DateTimePicker/DateTimeInput.d.ts +1 -1
  33. package/dist/DateTimePicker/DateTimeInput.js +133 -141
  34. package/dist/DateTimePicker/DateTimeUtils.js +2 -2193
  35. package/dist/DateTimePicker/TimePeriodSelect.d.ts +1 -1
  36. package/dist/DateTimePicker/TimePeriodSelect.js +45 -20
  37. package/dist/DateTimePicker/TimePicker.d.ts +1 -1
  38. package/dist/DateTimePicker/TimePicker.js +76 -60
  39. package/dist/DateTimePicker.d.ts +2 -2
  40. package/dist/DateTimePicker.js +87 -205
  41. package/dist/DateTimeUtils-DVvG6H-p.js +2098 -0
  42. package/dist/Dialog.js +74 -74
  43. package/dist/Drawer.js +67 -37
  44. package/dist/HoverCard-CYDsIiVK.js +201 -0
  45. package/dist/HoverCard.d.ts +1 -1
  46. package/dist/HoverCard.js +2 -218
  47. package/dist/Icons/AnalyzeIcon.js +50 -57
  48. package/dist/Icons/AnnotationsIcon.js +20 -15
  49. package/dist/Icons/ApprovedIcon.js +26 -18
  50. package/dist/Icons/ArrowDownIcon.js +20 -6
  51. package/dist/Icons/ArrowUpIcon.js +20 -6
  52. package/dist/Icons/BoxToolIcon.js +17 -12
  53. package/dist/Icons/CalendarIcon.js +43 -20
  54. package/dist/Icons/CheckCircleIcon.js +26 -10
  55. package/dist/Icons/CheckSquareIcon.js +26 -10
  56. package/dist/Icons/CheckmarkIcon.js +22 -9
  57. package/dist/Icons/ChevronDownIcon.js +22 -9
  58. package/dist/Icons/ChevronUpIcon.js +22 -9
  59. package/dist/Icons/ClockIcon.js +26 -18
  60. package/dist/Icons/CloseCircleIcon.js +26 -10
  61. package/dist/Icons/CloseIcon.js +18 -9
  62. package/dist/Icons/DashboardIcon.js +36 -10
  63. package/dist/Icons/DatabaseIcon.js +36 -19
  64. package/dist/Icons/DeleteIcon.js +36 -19
  65. package/dist/Icons/DurationIcon.js +57 -22
  66. package/dist/Icons/EditIcon.js +26 -27
  67. package/dist/Icons/EmailIcon.js +26 -10
  68. package/dist/Icons/EraserIcon.js +41 -25
  69. package/dist/Icons/ErrorIcon.js +27 -11
  70. package/dist/Icons/EyeClosedIcon.js +29 -13
  71. package/dist/Icons/EyeClosedIcon2.js +27 -11
  72. package/dist/Icons/EyeOpenIcon.js +22 -9
  73. package/dist/Icons/FileDownloadIcon.js +43 -20
  74. package/dist/Icons/GoToFirstIcon.js +26 -9
  75. package/dist/Icons/GoToLastIcon.js +26 -9
  76. package/dist/Icons/HarmonicCursorsIcon.js +23 -9
  77. package/dist/Icons/IconBase.d.ts +3 -3
  78. package/dist/Icons/IconBase.js +49 -66
  79. package/dist/Icons/InfoIcon.js +36 -10
  80. package/dist/Icons/KeyboardIcon.js +26 -27
  81. package/dist/Icons/LabelIcon.js +19 -14
  82. package/dist/Icons/LassoIcon.js +36 -28
  83. package/dist/Icons/LineToolIcon.js +48 -39
  84. package/dist/Icons/LiveViewIcon.js +50 -12
  85. package/dist/Icons/LoaderIcon.js +67 -27
  86. package/dist/Icons/LocationIcon.js +26 -27
  87. package/dist/Icons/LogoutIcon.js +20 -15
  88. package/dist/Icons/MeasureIcon.js +78 -25
  89. package/dist/Icons/MessagesIcon.js +33 -18
  90. package/dist/Icons/MetadataIcon.js +20 -15
  91. package/dist/Icons/MinusIcon.d.ts +1 -1
  92. package/dist/Icons/MinusIcon.js +18 -6
  93. package/dist/Icons/OntologyIcon.js +87 -71
  94. package/dist/Icons/PanelIconClose.js +28 -10
  95. package/dist/Icons/PanelIconOpen.js +28 -10
  96. package/dist/Icons/PlayIcon.js +20 -6
  97. package/dist/Icons/PlusIcon.js +20 -14
  98. package/dist/Icons/PolygonIcon.js +50 -39
  99. package/dist/Icons/ProgressCheckIcon.d.ts +5 -0
  100. package/dist/Icons/ProgressCheckIcon.js +58 -0
  101. package/dist/Icons/ResetIcon.js +17 -12
  102. package/dist/Icons/ReviewedIcon.js +36 -19
  103. package/dist/Icons/ScissorsIcon.js +22 -17
  104. package/dist/Icons/SearchIcon.js +26 -9
  105. package/dist/Icons/SettingsIcon.js +26 -27
  106. package/dist/Icons/SortAscendingIcon.js +50 -12
  107. package/dist/Icons/SortAtoZIcon.js +50 -12
  108. package/dist/Icons/SortDescendingIcon.js +50 -12
  109. package/dist/Icons/SortZtoAIcon.js +50 -12
  110. package/dist/Icons/StackIcon.js +26 -9
  111. package/dist/Icons/StarIcon.js +20 -6
  112. package/dist/Icons/TrashIcon.js +17 -12
  113. package/dist/Icons/UndoIcon.js +20 -15
  114. package/dist/Icons/User2Icon.js +26 -10
  115. package/dist/Icons/UserIcon.js +19 -14
  116. package/dist/Icons/WarningIcon.js +19 -14
  117. package/dist/Icons/ZoomAllIcon.js +71 -15
  118. package/dist/Icons/ZoomXIcon.js +36 -10
  119. package/dist/Icons/ZoomYIcon.js +36 -10
  120. package/dist/Icons/index.d.ts +1 -0
  121. package/dist/Icons.js +68 -136
  122. package/dist/IconsAnimated/PanelLeftCloseIcon.js +66 -36
  123. package/dist/IconsAnimated/PanelLeftOpenIcon.js +66 -36
  124. package/dist/IconsAnimated.js +3 -6
  125. package/dist/Input/InputUtils.js +51 -52
  126. package/dist/Input.js +132 -185
  127. package/dist/InputNumeric.d.ts +14 -0
  128. package/dist/InputNumeric.js +137 -0
  129. package/dist/InputOTP-cVn5Bzyp.js +461 -0
  130. package/dist/InputOTP.js +2 -382
  131. package/dist/Kbd.d.ts +1 -1
  132. package/dist/Kbd.js +182 -86
  133. package/dist/Label.js +12 -14
  134. package/dist/MultiSelect/MultiSelectBase.js +331 -403
  135. package/dist/MultiSelect.d.ts +1 -1
  136. package/dist/MultiSelect.js +23 -23
  137. package/dist/Popover.js +28 -32
  138. package/dist/RadioButton.d.ts +17 -0
  139. package/dist/RadioButton.js +33 -0
  140. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +3 -1
  141. package/dist/RadioButtonGroup/RadioButtonGroupBase.js +49 -46
  142. package/dist/RadioButtonGroup.d.ts +1 -1
  143. package/dist/RadioButtonGroup.js +11 -8
  144. package/dist/RadioGroup-w_q6RGEK.js +447 -0
  145. package/dist/RadioGroup.js +2 -505
  146. package/dist/Select.js +163 -186
  147. package/dist/Separator.js +16 -19
  148. package/dist/Skeleton.js +10 -6
  149. package/dist/Slider-BzzZT3Zm.js +490 -0
  150. package/dist/Slider.js +2 -562
  151. package/dist/SpectralProvider.js +8 -5
  152. package/dist/Switch/SwitchBase.js +91 -95
  153. package/dist/Switch-CVzRJ-0n.js +126 -0
  154. package/dist/Switch.d.ts +1 -1
  155. package/dist/Switch.js +2 -134
  156. package/dist/Tabs/TabsBase.js +242 -250
  157. package/dist/Tabs/tabsUtils.js +65 -73
  158. package/dist/Tabs.d.ts +1 -1
  159. package/dist/Tabs.js +73 -103
  160. package/dist/Textarea/TextareaUtils.js +35 -46
  161. package/dist/Textarea.js +83 -160
  162. package/dist/Toast-9zqXxKKO.js +711 -0
  163. package/dist/Toast.js +2 -885
  164. package/dist/Toggle/ToggleBase.js +46 -56
  165. package/dist/Toggle.d.ts +1 -1
  166. package/dist/Toggle.js +52 -62
  167. package/dist/ToggleGroup/ToggleGroupBase.js +128 -104
  168. package/dist/ToggleGroup.d.ts +1 -1
  169. package/dist/ToggleGroup.js +52 -63
  170. package/dist/Tooltip-D1K8kY1y.js +389 -0
  171. package/dist/Tooltip.js +2 -365
  172. package/dist/Tray.js +174 -217
  173. package/dist/chunk-h9knIhTc.js +20 -0
  174. package/dist/clsx-jM1GlMvB.js +16 -0
  175. package/dist/dist-3Af8168y.js +913 -0
  176. package/dist/dist-7HRQ5IKN.js +249 -0
  177. package/dist/dist-B2k1iWFp.js +129 -0
  178. package/dist/dist-B4FgboI8.js +122 -0
  179. package/dist/dist-B4g6zpUF.js +33 -0
  180. package/dist/dist-B9tup-4O.js +216 -0
  181. package/dist/dist-BK1K0g9W.js +29 -0
  182. package/dist/dist-Bfjk-jx9.js +28 -0
  183. package/dist/dist-Bft31cJh.js +65 -0
  184. package/dist/dist-BtdmHAzK.js +190 -0
  185. package/dist/dist-C0Hifjgh.js +1287 -0
  186. package/dist/dist-CGzgmYB9.js +68 -0
  187. package/dist/dist-ClmepHp4.js +10 -0
  188. package/dist/dist-D8Wb_MX9.js +6 -0
  189. package/dist/dist-Dtvmk11N.js +12 -0
  190. package/dist/dist-fW81qjVl.js +677 -0
  191. package/dist/dist-s1uWaZYZ.js +11 -0
  192. package/dist/es2015-YHaMV-St.js +701 -0
  193. package/dist/hooks/useAccordionAutoScroll.js +66 -67
  194. package/dist/hooks/useControllableState.js +14 -13
  195. package/dist/hooks/useConvertToOklch.d.ts +3 -0
  196. package/dist/hooks/useConvertToOklch.d.ts.map +1 -0
  197. package/dist/hooks/useConvertToOklch.js +51 -0
  198. package/dist/hooks/useTheme.js +21 -17
  199. package/dist/index.d.ts +3 -1
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/main.js +18954 -27224
  202. package/dist/primitives/button.js +39 -41
  203. package/dist/primitives/input-group.js +57 -73
  204. package/dist/primitives/input.js +11 -20
  205. package/dist/primitives/popover.js +34 -28
  206. package/dist/primitives/select.js +70 -138
  207. package/dist/primitives/slot.js +32 -31
  208. package/dist/primitives/textarea.js +10 -16
  209. package/dist/proxy-Dn10Pl_g.js +4920 -0
  210. package/dist/styles/main.css +2 -1
  211. package/dist/styles/spectral.css +1 -1
  212. package/dist/twUtils-VNWgstKL.js +1673 -0
  213. package/dist/use-animation-CBUDycyW.js +57 -0
  214. package/dist/utils/constants.js +4 -4
  215. package/dist/utils/formFieldUtils.js +136 -148
  216. package/dist/utils/sharedUtils.js +26 -7
  217. package/dist/utils/twUtils.js +2 -2919
  218. package/package.json +24 -28
  219. package/dist/ComboboxBase-CxNxYtdT.js +0 -408
  220. package/dist/clsx-OuTLNxxd.js +0 -16
  221. package/dist/index-0ioNhtNM.js +0 -10
  222. package/dist/index-6oYKCvIn.js +0 -677
  223. package/dist/index-BFOf48AQ.js +0 -69
  224. package/dist/index-BZPx6jYI.js +0 -8
  225. package/dist/index-BlHU_t18.js +0 -142
  226. package/dist/index-Bm1RbF6w.js +0 -1037
  227. package/dist/index-Bv2OIg5P.js +0 -225
  228. package/dist/index-CKEI0pDv.js +0 -56
  229. package/dist/index-CM_hWgfC.js +0 -32
  230. package/dist/index-C_YVr64u.js +0 -1538
  231. package/dist/index-Cl8VeY0o.js +0 -149
  232. package/dist/index-CwSyIPrv.js +0 -13
  233. package/dist/index-D29mdTf5.js +0 -34
  234. package/dist/index-DEYs15GP.js +0 -66
  235. package/dist/index-Dc0No4pV.js +0 -233
  236. package/dist/index-T6XEa11q.js +0 -822
  237. package/dist/index-pBCLb6Gr.js +0 -240
  238. package/dist/index-psiVrsnE.js +0 -27
  239. package/dist/index-rKs9bXHr.js +0 -6
  240. package/dist/proxy-CO_-Vget.js +0 -4975
  241. package/dist/use-animation-DhEPRwZ3.js +0 -62
@@ -1,69 +1,68 @@
1
1
  "use client";
2
- import { useRef as h, useCallback as v, useEffect as O } from "react";
3
- const A = (f) => {
4
- const e = h(null), s = h(null), a = v((t) => {
5
- if (!t || t === document.body) return window;
6
- const { overflow: i, overflowY: d } = window.getComputedStyle(t);
7
- return /(auto|scroll)/.test(i) || /(auto|scroll)/.test(d) ? t : a(t.parentElement);
8
- }, []);
9
- return O(() => {
10
- const t = f?.current ?? null;
11
- if (!t) return;
12
- const i = new MutationObserver((d) => {
13
- d.forEach((w) => {
14
- if (w.attributeName === "data-state") {
15
- const r = w.target, p = r.getAttribute("data-state"), m = r.closest("[data-scroll-options]");
16
- if (!m) return;
17
- try {
18
- const u = m.getAttribute("data-scroll-options");
19
- if (!u) return;
20
- const T = JSON.parse(u), { autoScroll: b, scrollPadding: S } = T;
21
- if (b === "never") return;
22
- const n = a(r);
23
- if (p === "open") {
24
- if (b === "mobile" && window.innerHeight >= 768) return;
25
- n === window ? e.current = window.scrollY : e.current = n.scrollTop, s.current = n, setTimeout(() => {
26
- if (!r) return;
27
- const l = r.getBoundingClientRect(), o = 0, g = S;
28
- if (n === window) {
29
- const c = window.scrollY + l.top + g - o;
30
- window.scrollTo({
31
- top: c,
32
- behavior: "smooth"
33
- });
34
- } else {
35
- const c = n, C = c.getBoundingClientRect(), E = l.top - C.top;
36
- c.scrollTo({
37
- top: c.scrollTop + E + g - o,
38
- behavior: "smooth"
39
- });
40
- }
41
- }, 100);
42
- } else if (p === "closed" && e.current !== null && s.current) {
43
- const l = e.current;
44
- setTimeout(() => {
45
- const o = s.current;
46
- o === window ? window.scrollTo({
47
- top: l,
48
- behavior: "smooth"
49
- }) : o instanceof HTMLElement && o.scrollTo({
50
- top: l,
51
- behavior: "smooth"
52
- }), e.current = null, s.current = null;
53
- }, 100);
54
- }
55
- } catch (u) {
56
- console.error("Error handling accordion scroll:", { error: u });
57
- }
58
- }
59
- });
60
- });
61
- return i.observe(t, { attributes: !0 }), () => {
62
- i.disconnect();
63
- };
64
- }, [f, a]), v((t) => {
65
- }, []);
66
- };
67
- export {
68
- A as useAccordionAutoScroll
2
+ import { useCallback as e, useEffect as t, useRef as n } from "react";
3
+ //#region src/hooks/useAccordionAutoScroll.ts
4
+ var r = (r) => {
5
+ let i = n(null), a = n(null), o = e((e) => {
6
+ if (!e || e === document.body) return window;
7
+ let { overflow: t, overflowY: n } = window.getComputedStyle(e);
8
+ return /(auto|scroll)/.test(t) || /(auto|scroll)/.test(n) ? e : o(e.parentElement);
9
+ }, []);
10
+ return t(() => {
11
+ let e = r?.current ?? null;
12
+ if (!e) return;
13
+ let t = new MutationObserver((e) => {
14
+ e.forEach((e) => {
15
+ if (e.attributeName === "data-state") {
16
+ let t = e.target, n = t.getAttribute("data-state"), r = t.closest("[data-scroll-options]");
17
+ if (!r) return;
18
+ try {
19
+ let e = r.getAttribute("data-scroll-options");
20
+ if (!e) return;
21
+ let { autoScroll: s, scrollPadding: c } = JSON.parse(e);
22
+ if (s === "never") return;
23
+ let l = o(t);
24
+ if (n === "open") {
25
+ if (s === "mobile" && window.innerHeight >= 768) return;
26
+ l === window ? i.current = window.scrollY : i.current = l.scrollTop, a.current = l, setTimeout(() => {
27
+ if (!t) return;
28
+ let e = t.getBoundingClientRect(), n = c;
29
+ if (l === window) {
30
+ let t = window.scrollY + e.top + n - 0;
31
+ window.scrollTo({
32
+ top: t,
33
+ behavior: "smooth"
34
+ });
35
+ } else {
36
+ let t = l, r = t.getBoundingClientRect(), i = e.top - r.top;
37
+ t.scrollTo({
38
+ top: t.scrollTop + i + n - 0,
39
+ behavior: "smooth"
40
+ });
41
+ }
42
+ }, 100);
43
+ } else if (n === "closed" && i.current !== null && a.current) {
44
+ let e = i.current;
45
+ setTimeout(() => {
46
+ let t = a.current;
47
+ t === window ? window.scrollTo({
48
+ top: e,
49
+ behavior: "smooth"
50
+ }) : t instanceof HTMLElement && t.scrollTo({
51
+ top: e,
52
+ behavior: "smooth"
53
+ }), i.current = null, a.current = null;
54
+ }, 100);
55
+ }
56
+ } catch (e) {
57
+ console.error("Error handling accordion scroll:", { error: e });
58
+ }
59
+ }
60
+ });
61
+ });
62
+ return t.observe(e, { attributes: !0 }), () => {
63
+ t.disconnect();
64
+ };
65
+ }, [r, o]), e((e) => {}, []);
69
66
  };
67
+ //#endregion
68
+ export { r as useAccordionAutoScroll };
@@ -1,15 +1,16 @@
1
1
  "use client";
2
- import { useState as f, useCallback as i } from "react";
3
- const p = (c) => {
4
- const { value: n, defaultValue: a, onChange: l } = c, [r, u] = f(a), t = n !== void 0, o = t ? n : r, d = i(
5
- (e) => {
6
- const s = typeof e == "function" ? e(o) : e;
7
- t || u(s), l?.(s);
8
- },
9
- [t, l, o]
10
- );
11
- return [o, d];
12
- };
13
- export {
14
- p as useControllableState
2
+ import { useCallback as e, useState as t } from "react";
3
+ //#region src/hooks/useControllableState.ts
4
+ var n = (n) => {
5
+ let { value: r, defaultValue: i, onChange: a } = n, [o, s] = t(i), c = r !== void 0, l = c ? r : o;
6
+ return [l, e((e) => {
7
+ let t = typeof e == "function" ? e(l) : e;
8
+ c || s(t), a?.(t);
9
+ }, [
10
+ c,
11
+ a,
12
+ l
13
+ ])];
15
14
  };
15
+ //#endregion
16
+ export { n as useControllableState };
@@ -0,0 +1,3 @@
1
+ export declare const convertColorToOklch: (color: string) => string;
2
+ export declare const useColorToOklch: (color?: string) => string | undefined;
3
+ //# sourceMappingURL=useConvertToOklch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConvertToOklch.d.ts","sourceRoot":"","sources":["../../src/hooks/useConvertToOklch.ts"],"names":[],"mappings":"AAiGA,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAYnD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,uBAIjC,CAAA"}
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { useMemo as e } from "react";
3
+ //#region src/hooks/useConvertToOklch.ts
4
+ var t = /^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i, n = /^rgba?\(/i, r = (e) => Math.max(0, Math.min(255, e)), i = (e) => Math.max(0, Math.min(1, e)), a = (e) => {
5
+ if (!t.test(e)) return null;
6
+ let n = e.slice(1), r = n.length === 3 || n.length === 4, i = (e) => Number.parseInt(r ? e.repeat(2) : e, 16);
7
+ if (n.length === 3 || n.length === 4) {
8
+ let [e, t, r, a] = n.split("");
9
+ return {
10
+ r: i(e),
11
+ g: i(t),
12
+ b: i(r),
13
+ a: a ? i(a) / 255 : 1
14
+ };
15
+ }
16
+ return {
17
+ r: i(n.slice(0, 2)),
18
+ g: i(n.slice(2, 4)),
19
+ b: i(n.slice(4, 6)),
20
+ a: n.length === 8 ? i(n.slice(6, 8)) / 255 : 1
21
+ };
22
+ }, o = (e) => {
23
+ if (!n.test(e)) return null;
24
+ let t = e.trim().match(/^rgba?\(\s*([-+]?\d*\.?\d+%?)\s*[, ]\s*([-+]?\d*\.?\d+%?)\s*[, ]\s*([-+]?\d*\.?\d+%?)(?:\s*[,/]\s*([-+]?\d*\.?\d+%?))?\s*\)$/i);
25
+ if (!t) return null;
26
+ let a = (e) => e.endsWith("%") ? r(Number.parseFloat(e) / 100 * 255) : r(Number.parseFloat(e));
27
+ return {
28
+ r: a(t[1]),
29
+ g: a(t[2]),
30
+ b: a(t[3]),
31
+ a: ((e) => e ? e.endsWith("%") ? i(Number.parseFloat(e) / 100) : i(Number.parseFloat(e)) : 1)(t[4])
32
+ };
33
+ }, s = (e) => {
34
+ let t = e / 255;
35
+ return t <= .04045 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
36
+ }, c = (e, t) => {
37
+ let n = 10 ** t;
38
+ return Math.round(e * n) / n;
39
+ }, l = ({ r: e, g: t, b: n, a: r }) => {
40
+ let i = s(e), a = s(t), o = s(n), l = .4122214708 * i + .5363325363 * a + .0514459929 * o, u = .2119034982 * i + .6806995451 * a + .1073969566 * o, d = .0883024619 * i + .2817188376 * a + .6299787005 * o, f = Math.cbrt(l), p = Math.cbrt(u), m = Math.cbrt(d), h = .2104542553 * f + .793617785 * p - .0040720468 * m, g = 1.9779984951 * f - 2.428592205 * p + .4505937099 * m, _ = .0259040371 * f + .7827717662 * p - .808675766 * m, v = Math.sqrt(g ** 2 + _ ** 2), y = (Math.atan2(_, g) * 180 / Math.PI + 360) % 360, b = c(h * 100, 2), x = c(v, 4), S = c(y, 2);
41
+ return r < 1 ? `oklch(${b}% ${x} ${S} / ${c(r, 3)})` : `oklch(${b}% ${x} ${S})`;
42
+ }, u = (e) => {
43
+ let t = e.trim();
44
+ if (t.length === 0 || t.toLowerCase().startsWith("oklch(")) return t;
45
+ let n = a(t);
46
+ if (n) return l(n);
47
+ let r = o(t);
48
+ return r ? l(r) : t;
49
+ }, d = (t) => e(() => t && u(t), [t]);
50
+ //#endregion
51
+ export { u as convertColorToOklch, d as useColorToOklch };
@@ -1,19 +1,23 @@
1
1
  "use client";
2
- import { useState as n, useEffect as s } from "react";
3
- const d = (r = "dark") => {
4
- const [t, m] = n(() => {
5
- if (typeof window > "u") return r;
6
- const e = localStorage.getItem("theme");
7
- return e === "light" || e === "dark" ? e : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
8
- }), o = (e) => {
9
- m(e);
10
- }, a = () => {
11
- o(t === "dark" ? "light" : "dark");
12
- };
13
- return s(() => {
14
- document.documentElement.setAttribute("data-theme", t), localStorage.setItem("theme", t);
15
- }, [t]), { theme: t, setTheme: o, toggleTheme: a };
16
- };
17
- export {
18
- d as useTheme
2
+ import { useEffect as e, useState as t } from "react";
3
+ //#region src/hooks/useTheme.ts
4
+ var n = (n = "dark") => {
5
+ let [r, i] = t(() => {
6
+ if (typeof window > "u") return n;
7
+ let e = localStorage.getItem("theme");
8
+ return e === "light" || e === "dark" ? e : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
9
+ }), a = (e) => {
10
+ i(e);
11
+ };
12
+ return e(() => {
13
+ document.documentElement.setAttribute("data-theme", r), localStorage.setItem("theme", r);
14
+ }, [r]), {
15
+ theme: r,
16
+ setTheme: a,
17
+ toggleTheme: () => {
18
+ a(r === "dark" ? "light" : "dark");
19
+ }
20
+ };
19
21
  };
22
+ //#endregion
23
+ export { n as useTheme };
package/dist/index.d.ts CHANGED
@@ -14,12 +14,14 @@ export { Dialog } from './components/Dialog/Dialog';
14
14
  export { Drawer, type DrawerProps } from './components/Drawer/Drawer';
15
15
  export { HoverCard, HoverCardContent, HoverCardTrigger, type HoverCardProps } from './components/HoverCard/HoverCard';
16
16
  export { Input, type InputProps } from './components/Input/Input';
17
+ export { InputNumeric, type InputNumericProps } from './components/InputNumeric/InputNumeric';
17
18
  export { InputOTP, type InputOTPBaseProps, type InputOTPProps } from './components/InputOTP/InputOTP';
18
19
  export { Kbd, KbdGroup, type KbdGroupProps, type KbdProps, type KbdSymbol } from './components/Kbd/Kbd';
19
20
  export { Label, type LabelProps } from './components/Label/Label';
20
21
  export { MultiSelect, type MultiSelectProps } from './components/MultiSelect/MultiSelect';
21
22
  export { Popover, PopoverContent, PopoverTrigger, type PopoverContentProps } from './components/Popover/Popover';
22
23
  export { RadioButtonGroup, RadioButtonGroupItem, type RadioButtonGroupItemProps, type RadioButtonGroupProps } from './components/RadioButtonGroup/RadioButtonGroup';
24
+ export { RadioButton, type RadioButtonProps } from './components/RadioButton/RadioButton';
23
25
  export { RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps } from './components/RadioGroup/RadioGroup';
24
26
  export { Select, type SelectExtendedProps, type SelectProps } from './components/Select/Select';
25
27
  export { Separator, type SeparatorProps } from './components/Separator/Separator';
@@ -35,7 +37,7 @@ export { ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGro
35
37
  export { Tooltip, TooltipContent, TooltipTrigger } from './components/Tooltip/Tooltip';
36
38
  export { Tray, type TrayBaseProps, type TrayBodyProps, type TrayContentProps } from './components/Tray/Tray';
37
39
  export * from './components/Icons';
38
- export { default as IconBase, SvgIdContext } from './components/Icons/IconBase';
40
+ export { IconBase, SvgIdContext } from './components/Icons/IconBase';
39
41
  export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from './primitives/input-group';
40
42
  export { useAccordionAutoScroll } from './hooks/useAccordionAutoScroll';
41
43
  export { useControllableState } from './hooks/useControllableState';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}