@nayhoo/ui 0.13.0 → 0.14.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 (211) hide show
  1. package/README.md +32 -28
  2. package/dist/{avatar.css-Lh26jRUS.d.mts → avatar.css-C22jQqLD.d.mts} +18 -18
  3. package/dist/{avatar.css-Lh26jRUS.d.ts → avatar.css-C22jQqLD.d.ts} +18 -18
  4. package/dist/{badge.css-ToNvOJof.d.mts → badge.css-saeodjWf.d.mts} +14 -14
  5. package/dist/{badge.css-ToNvOJof.d.ts → badge.css-saeodjWf.d.ts} +14 -14
  6. package/dist/{button.css-CxDH431y.d.mts → button.css-BQdFVzyM.d.mts} +43 -40
  7. package/dist/{button.css-CxDH431y.d.ts → button.css-BQdFVzyM.d.ts} +43 -40
  8. package/dist/{checkbox.css-C3L6B1cb.d.mts → checkbox.css-DbB07gs9.d.mts} +6 -6
  9. package/dist/{checkbox.css-C3L6B1cb.d.ts → checkbox.css-DbB07gs9.d.ts} +6 -6
  10. package/dist/chunk-4A7WL3BM.mjs +12 -0
  11. package/dist/chunk-4A7WL3BM.mjs.map +1 -0
  12. package/dist/{chunk-MIRMF5N3.mjs → chunk-67WEB6LY.mjs} +2 -2
  13. package/dist/chunk-67WEB6LY.mjs.map +1 -0
  14. package/dist/{chunk-ELXCOK2T.mjs → chunk-FQX4V5DP.mjs} +2 -2
  15. package/dist/chunk-FQX4V5DP.mjs.map +1 -0
  16. package/dist/chunk-HGLO5LDS.mjs +1 -0
  17. package/dist/{chunk-2WZQZIYN.mjs → chunk-KYAQZHQ5.mjs} +2 -2
  18. package/dist/chunk-KYAQZHQ5.mjs.map +1 -0
  19. package/dist/{chunk-XWF2DDXB.mjs → chunk-M7HASIMW.mjs} +2 -2
  20. package/dist/chunk-M7HASIMW.mjs.map +1 -0
  21. package/dist/{chunk-L2MODHAE.mjs → chunk-OZ2DHFQP.mjs} +3 -3
  22. package/dist/chunk-OZ2DHFQP.mjs.map +1 -0
  23. package/dist/{chunk-REMVSAGR.mjs → chunk-P2VEMZGS.mjs} +6 -2
  24. package/dist/chunk-P2VEMZGS.mjs.map +1 -0
  25. package/dist/{chunk-BALC5CGU.mjs → chunk-UPZYS6TE.mjs} +10 -2
  26. package/dist/chunk-UPZYS6TE.mjs.map +1 -0
  27. package/dist/{chunk-24DFRL5Q.mjs → chunk-ZSB4NTM3.mjs} +4 -4
  28. package/dist/chunk-ZSB4NTM3.mjs.map +1 -0
  29. package/dist/components/avatar.d.mts +2 -2
  30. package/dist/components/avatar.d.ts +2 -2
  31. package/dist/components/avatar.js +1 -1
  32. package/dist/components/avatar.js.map +1 -1
  33. package/dist/components/avatar.mjs +4 -7
  34. package/dist/components/avatar.mjs.map +1 -1
  35. package/dist/components/badge.d.mts +1 -1
  36. package/dist/components/badge.d.ts +1 -1
  37. package/dist/components/badge.js +1 -1
  38. package/dist/components/badge.js.map +1 -1
  39. package/dist/components/badge.mjs +1 -2
  40. package/dist/components/badge.mjs.map +1 -1
  41. package/dist/components/button.css +54 -48
  42. package/dist/components/button.css.map +1 -1
  43. package/dist/components/button.d.mts +1 -1
  44. package/dist/components/button.d.ts +1 -1
  45. package/dist/components/button.js +2 -2
  46. package/dist/components/button.js.map +1 -1
  47. package/dist/components/button.mjs +4 -5
  48. package/dist/components/checkbox.d.mts +1 -1
  49. package/dist/components/checkbox.d.ts +1 -1
  50. package/dist/components/checkbox.js +1 -1
  51. package/dist/components/checkbox.js.map +1 -1
  52. package/dist/components/checkbox.mjs +1 -2
  53. package/dist/components/checkbox.mjs.map +1 -1
  54. package/dist/components/container.js +1 -1
  55. package/dist/components/container.js.map +1 -1
  56. package/dist/components/container.mjs +1 -2
  57. package/dist/components/container.mjs.map +1 -1
  58. package/dist/components/dropdown-menu.js +1 -1
  59. package/dist/components/dropdown-menu.js.map +1 -1
  60. package/dist/components/dropdown-menu.mjs +2 -3
  61. package/dist/components/dropdown-menu.mjs.map +1 -1
  62. package/dist/components/flex.d.mts +1 -1
  63. package/dist/components/flex.d.ts +1 -1
  64. package/dist/components/flex.js +1 -1
  65. package/dist/components/flex.js.map +1 -1
  66. package/dist/components/flex.mjs +2 -3
  67. package/dist/components/form.d.mts +1 -1
  68. package/dist/components/form.d.ts +1 -1
  69. package/dist/components/form.js +1 -1
  70. package/dist/components/form.js.map +1 -1
  71. package/dist/components/form.mjs +1 -2
  72. package/dist/components/form.mjs.map +1 -1
  73. package/dist/components/grid.d.mts +1 -1
  74. package/dist/components/grid.d.ts +1 -1
  75. package/dist/components/grid.js +1 -1
  76. package/dist/components/grid.js.map +1 -1
  77. package/dist/components/grid.mjs +1 -2
  78. package/dist/components/grid.mjs.map +1 -1
  79. package/dist/components/heading.d.mts +1 -1
  80. package/dist/components/heading.d.ts +1 -1
  81. package/dist/components/icon-button.d.mts +1 -1
  82. package/dist/components/icon-button.d.ts +1 -1
  83. package/dist/components/icon-button.js +1 -1
  84. package/dist/components/icon-button.js.map +1 -1
  85. package/dist/components/icon-button.mjs +3 -4
  86. package/dist/components/label.d.mts +1 -1
  87. package/dist/components/label.d.ts +1 -1
  88. package/dist/components/link.d.mts +1 -1
  89. package/dist/components/link.d.ts +1 -1
  90. package/dist/components/link.js +1 -1
  91. package/dist/components/link.js.map +1 -1
  92. package/dist/components/link.mjs +1 -2
  93. package/dist/components/link.mjs.map +1 -1
  94. package/dist/components/menu.js +1 -1
  95. package/dist/components/menu.js.map +1 -1
  96. package/dist/components/menu.mjs +2 -3
  97. package/dist/components/menu.mjs.map +1 -1
  98. package/dist/components/paragraph.d.mts +1 -1
  99. package/dist/components/paragraph.d.ts +1 -1
  100. package/dist/components/popover.mjs +2 -2
  101. package/dist/components/select.css +54 -48
  102. package/dist/components/select.css.map +1 -1
  103. package/dist/components/select.d.mts +1 -1
  104. package/dist/components/select.d.ts +1 -1
  105. package/dist/components/select.js +2 -2
  106. package/dist/components/select.js.map +1 -1
  107. package/dist/components/select.mjs +4 -5
  108. package/dist/components/select.mjs.map +1 -1
  109. package/dist/components/skeleton.d.mts +1 -1
  110. package/dist/components/skeleton.d.ts +1 -1
  111. package/dist/components/skeleton.js +1 -1
  112. package/dist/components/skeleton.js.map +1 -1
  113. package/dist/components/skeleton.mjs +1 -2
  114. package/dist/components/skeleton.mjs.map +1 -1
  115. package/dist/components/spinner.d.mts +1 -1
  116. package/dist/components/spinner.d.ts +1 -1
  117. package/dist/components/spinner.js +1 -1
  118. package/dist/components/spinner.js.map +1 -1
  119. package/dist/components/spinner.mjs +2 -3
  120. package/dist/components/status.d.mts +1 -1
  121. package/dist/components/status.d.ts +1 -1
  122. package/dist/components/status.js +1 -1
  123. package/dist/components/status.js.map +1 -1
  124. package/dist/components/status.mjs +2 -3
  125. package/dist/components/switch.d.mts +1 -1
  126. package/dist/components/switch.d.ts +1 -1
  127. package/dist/components/switch.js +1 -1
  128. package/dist/components/switch.js.map +1 -1
  129. package/dist/components/switch.mjs +1 -2
  130. package/dist/components/switch.mjs.map +1 -1
  131. package/dist/components/text-field.d.mts +1 -1
  132. package/dist/components/text-field.d.ts +1 -1
  133. package/dist/components/text-field.js +1 -1
  134. package/dist/components/text-field.js.map +1 -1
  135. package/dist/components/text-field.mjs +1 -2
  136. package/dist/components/text-field.mjs.map +1 -1
  137. package/dist/components/text.d.mts +1 -1
  138. package/dist/components/text.d.ts +1 -1
  139. package/dist/components/text.js +1 -1
  140. package/dist/components/text.js.map +1 -1
  141. package/dist/components/text.mjs +2 -3
  142. package/dist/components/tooltip.js +1 -1
  143. package/dist/components/tooltip.js.map +1 -1
  144. package/dist/components/tooltip.mjs +2 -3
  145. package/dist/components/tooltip.mjs.map +1 -1
  146. package/dist/{flex.css-7asy3CjM.d.mts → flex.css-wpH47_rr.d.mts} +9 -9
  147. package/dist/{flex.css-7asy3CjM.d.ts → flex.css-wpH47_rr.d.ts} +9 -9
  148. package/dist/{form.css-QulER1wj.d.ts → form.css-s3B8O22Z.d.mts} +1 -1
  149. package/dist/{form.css-QulER1wj.d.mts → form.css-s3B8O22Z.d.ts} +1 -1
  150. package/dist/{grid.css-nAw5xuD0.d.mts → grid.css-Z-qoRIGI.d.mts} +27 -27
  151. package/dist/{grid.css-nAw5xuD0.d.ts → grid.css-Z-qoRIGI.d.ts} +27 -27
  152. package/dist/{icon-button.css-yt0wizml.d.mts → icon-button.css-4pTw87C1.d.mts} +18 -18
  153. package/dist/{icon-button.css-yt0wizml.d.ts → icon-button.css-4pTw87C1.d.ts} +18 -18
  154. package/dist/{link.css-J250gDi8.d.mts → link.css-Dt6mcRb1.d.mts} +8 -8
  155. package/dist/{link.css-J250gDi8.d.ts → link.css-Dt6mcRb1.d.ts} +8 -8
  156. package/dist/providers/index.css +54 -48
  157. package/dist/providers/index.css.map +1 -1
  158. package/dist/providers/index.d.mts +1 -4
  159. package/dist/providers/index.d.ts +1 -4
  160. package/dist/providers/index.js +5 -11
  161. package/dist/providers/index.js.map +1 -1
  162. package/dist/providers/index.mjs +9 -16
  163. package/dist/providers/index.mjs.map +1 -1
  164. package/dist/{skeleton.css-JJ3Of78e.d.mts → skeleton.css-D17yFXPB.d.mts} +24 -24
  165. package/dist/{skeleton.css-JJ3Of78e.d.ts → skeleton.css-D17yFXPB.d.ts} +24 -24
  166. package/dist/{spinner.css-DDZLGtPI.d.mts → spinner.css-ChFZg-w0.d.mts} +18 -18
  167. package/dist/{spinner.css-DDZLGtPI.d.ts → spinner.css-ChFZg-w0.d.ts} +18 -18
  168. package/dist/{status.css-D2Xhx8gm.d.mts → status.css-BB1Lk0Lb.d.mts} +5 -5
  169. package/dist/{status.css-D2Xhx8gm.d.ts → status.css-BB1Lk0Lb.d.ts} +5 -5
  170. package/dist/{switch.css-Ku46q4IP.d.mts → switch.css-CQUuPRD7.d.mts} +6 -6
  171. package/dist/{switch.css-Ku46q4IP.d.ts → switch.css-CQUuPRD7.d.ts} +6 -6
  172. package/dist/system-theme-BSCk6DG2.d.mts +5 -0
  173. package/dist/system-theme-BSCk6DG2.d.ts +5 -0
  174. package/dist/{text-field.css-Da2cQDwY.d.mts → text-field.css-Ct3ZoW7k.d.mts} +23 -23
  175. package/dist/{text-field.css-Da2cQDwY.d.ts → text-field.css-Ct3ZoW7k.d.ts} +23 -23
  176. package/dist/{text.css-onESqiq6.d.mts → text.css-DU9FwT1v.d.mts} +16 -16
  177. package/dist/{text.css-onESqiq6.d.ts → text.css-DU9FwT1v.d.ts} +16 -16
  178. package/dist/theme/index.css +189 -173
  179. package/dist/theme/index.css.map +1 -1
  180. package/dist/theme/index.d.mts +3223 -3221
  181. package/dist/theme/index.d.ts +3223 -3221
  182. package/dist/theme/index.js +6 -1
  183. package/dist/theme/index.js.map +1 -1
  184. package/dist/theme/index.mjs +4 -2
  185. package/dist/theme/index.mjs.map +1 -1
  186. package/dist/types/index.d.mts +2 -0
  187. package/dist/types/index.d.ts +2 -0
  188. package/dist/types/index.js +19 -0
  189. package/dist/types/index.js.map +1 -0
  190. package/dist/types/index.mjs +1 -0
  191. package/dist/types/index.mjs.map +1 -0
  192. package/dist/utils/index.d.mts +9 -1
  193. package/dist/utils/index.d.ts +9 -1
  194. package/dist/utils/index.js +14 -5
  195. package/dist/utils/index.js.map +1 -1
  196. package/dist/utils/index.mjs +4 -2
  197. package/package.json +44 -7
  198. package/dist/chunk-24DFRL5Q.mjs.map +0 -1
  199. package/dist/chunk-2WZQZIYN.mjs.map +0 -1
  200. package/dist/chunk-66WXCRN4.mjs +0 -12
  201. package/dist/chunk-66WXCRN4.mjs.map +0 -1
  202. package/dist/chunk-BALC5CGU.mjs.map +0 -1
  203. package/dist/chunk-DQ4T4WV3.mjs +0 -16
  204. package/dist/chunk-DQ4T4WV3.mjs.map +0 -1
  205. package/dist/chunk-ELXCOK2T.mjs.map +0 -1
  206. package/dist/chunk-GED6IT3S.mjs +0 -1
  207. package/dist/chunk-L2MODHAE.mjs.map +0 -1
  208. package/dist/chunk-MIRMF5N3.mjs.map +0 -1
  209. package/dist/chunk-REMVSAGR.mjs.map +0 -1
  210. package/dist/chunk-XWF2DDXB.mjs.map +0 -1
  211. /package/dist/{chunk-GED6IT3S.mjs.map → chunk-HGLO5LDS.mjs.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Text
3
- } from "../chunk-ELXCOK2T.mjs";
3
+ } from "../chunk-FQX4V5DP.mjs";
4
4
  import {
5
5
  checkmark,
6
6
  darkTheme,
@@ -16,17 +16,16 @@ import {
16
16
  } from "../chunk-QKJFDJJP.mjs";
17
17
  import {
18
18
  IconButton
19
- } from "../chunk-L2MODHAE.mjs";
19
+ } from "../chunk-OZ2DHFQP.mjs";
20
20
  import "../chunk-HNVVD3WS.mjs";
21
21
  import "../chunk-JZBPCPSP.mjs";
22
22
  import {
23
23
  Button
24
- } from "../chunk-24DFRL5Q.mjs";
25
- import "../chunk-66WXCRN4.mjs";
26
- import "../chunk-MIRMF5N3.mjs";
24
+ } from "../chunk-ZSB4NTM3.mjs";
25
+ import "../chunk-4A7WL3BM.mjs";
26
+ import "../chunk-67WEB6LY.mjs";
27
27
  import "../chunk-47YGQSLM.mjs";
28
- import "../chunk-DQ4T4WV3.mjs";
29
- import "../chunk-BALC5CGU.mjs";
28
+ import "../chunk-UPZYS6TE.mjs";
30
29
  import "../chunk-7EGQM3ZL.mjs";
31
30
 
32
31
  // src/providers/theme-provider.tsx
@@ -55,10 +54,7 @@ var saveToLS = (storageKey2, value) => {
55
54
  } catch (e) {
56
55
  }
57
56
  };
58
- var useTheme = () => {
59
- var _a;
60
- return (_a = React.useContext(ThemeContext)) != null ? _a : defaultContext;
61
- };
57
+ var useTheme = () => React.useContext(ThemeContext) ?? defaultContext;
62
58
  var ThemeProvider = (props) => {
63
59
  const context = React.useContext(ThemeContext);
64
60
  if (context) return /* @__PURE__ */ jsx(Fragment, { children: props.children });
@@ -226,10 +222,7 @@ var defaultContext2 = Object.assign(
226
222
  }
227
223
  );
228
224
  var ToastContext = React2.createContext(defaultContext2);
229
- var useToast = () => {
230
- var _a;
231
- return (_a = React2.useContext(ToastContext)) != null ? _a : defaultContext2;
232
- };
225
+ var useToast = () => React2.useContext(ToastContext) ?? defaultContext2;
233
226
  var toastElementsMapRef = React2.createRef();
234
227
  var defaultToastImpl = {
235
228
  toastElementsMapRef,
@@ -377,7 +370,7 @@ var Toast = (props) => {
377
370
  const toastElementsMap = toastElementsMapRef2.current;
378
371
  React2.useLayoutEffect(() => {
379
372
  if (ref.current) {
380
- toastElementsMap == null ? void 0 : toastElementsMap.set(id, ref.current);
373
+ toastElementsMap?.set(id, ref.current);
381
374
  sortToasts();
382
375
  }
383
376
  }, [id, sortToasts, toastElementsMap]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/providers/theme-provider.tsx","../../src/providers/toast-provider.tsx"],"sourcesContent":["\"use client\";\n\nimport { darkTheme } from \"@/theme/themes/dark-theme.css\";\nimport { lightTheme } from \"@/theme/themes/light-theme.css\";\nimport { SystemTheme } from \"@/types/system-theme\";\nimport { Theme as ITheme } from \"@/types/theme\";\nimport * as React from \"react\";\n\nconst classes: Record<SystemTheme, string> = {\n light: lightTheme,\n dark: darkTheme,\n};\nconst defaultTheme: ITheme = \"system\";\nconst storageKey = \"nayhoo-theme\";\nconst systemThemes: SystemTheme[] = [\"light\", \"dark\"];\nconst themes: ITheme[] = [...systemThemes, \"system\"];\n\n// Credits: https://github.com/pacocoursey/next-themes/blob/main/next-themes/src/types.ts\ninterface ScriptProps\n extends React.DetailedHTMLProps<\n React.ScriptHTMLAttributes<HTMLScriptElement>,\n HTMLScriptElement\n > {}\n\nexport interface UseThemeProps {\n /** List of all available theme names */\n themes: ITheme[];\n /** Update the theme */\n setTheme: (value: ITheme) => void;\n /** Active theme name */\n theme?: ITheme | undefined;\n /** If the active theme is \"system\", this returns whether the system preference resolved to \"dark\" or \"light\". Otherwise, identical to `theme` */\n resolvedTheme?: ITheme | undefined;\n /** Returns the System theme preference (\"dark\" or \"light\"), regardless what the active theme is */\n systemTheme?: SystemTheme | undefined;\n}\n\nexport interface ThemeProviderProps extends React.PropsWithChildren {\n /** Props to pass the inline script */\n scriptProps?: ScriptProps;\n}\n\n// Credits: https://github.com/pacocoursey/next-themes/blob/main/next-themes/src/index.tsx\nconst colorSchemes: SystemTheme[] = [\"light\", \"dark\"];\nconst MEDIA = \"(prefers-color-scheme: dark)\";\nconst isServer = typeof window === \"undefined\";\nconst ThemeContext = React.createContext<UseThemeProps | undefined>(undefined);\nconst defaultContext: UseThemeProps = {\n setTheme: () => {\n // TODO: something about needs to be in a provider\n },\n themes,\n};\n\nconst saveToLS = (storageKey: string, value: string) => {\n // Save to storage\n try {\n localStorage.setItem(storageKey, value);\n } catch (e) {\n // Unsupported\n }\n};\n\nexport const useTheme = () => React.useContext(ThemeContext) ?? defaultContext;\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n const context = React.useContext(ThemeContext);\n\n // Ignore nested context providers, just passthrough children\n if (context) return <>{props.children}</>;\n\n return <Theme {...props} />;\n};\n\nconst Theme = ({ children, scriptProps }: ThemeProviderProps) => {\n const [theme, setThemeState] = React.useState(() => getTheme());\n const [resolvedTheme, setResolvedTheme] = React.useState(() =>\n theme === \"system\" ? getSystemTheme() : theme,\n );\n\n const applyTheme = React.useCallback((theme?: ITheme) => {\n let resolved = theme;\n\n if (!resolved) return;\n\n // If theme is system, resolve it before setting theme\n if (theme === \"system\") {\n resolved = getSystemTheme();\n }\n\n const d = document.documentElement;\n\n const handleAttribute = () => {\n d.classList.remove(...Object.values(classes));\n\n if (resolved) d.classList.add(classes[resolved as SystemTheme]);\n };\n\n handleAttribute();\n\n const colorScheme = colorSchemes.some(\n (colorScheme) => colorScheme === resolved,\n )\n ? resolved\n : null;\n\n if (colorScheme) d.style.colorScheme = colorScheme;\n }, []);\n\n const setTheme = React.useCallback((value: ITheme) => {\n setThemeState(value);\n saveToLS(storageKey, value);\n }, []);\n\n const handleMediaQuery = React.useCallback(\n (e: MediaQueryListEvent | MediaQueryList) => {\n const resolved = getSystemTheme(e);\n setResolvedTheme(resolved);\n\n if (theme === \"system\") {\n applyTheme(\"system\");\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [theme],\n );\n\n // Always listen to System preference\n React.useEffect(() => {\n const media = window.matchMedia(MEDIA);\n\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery);\n handleMediaQuery(media);\n\n return () => media.removeListener(handleMediaQuery);\n }, [handleMediaQuery]);\n\n // localStorage event handling\n React.useEffect(() => {\n const handleStorage = (e: StorageEvent) => {\n if (e.key !== storageKey) {\n return;\n }\n\n // If default theme set, use it if localstorage === null (happens on local storage manual deletion)\n if (!e.newValue || !isTheme(e.newValue)) {\n setTheme(defaultTheme);\n } else {\n setThemeState(e.newValue); // Direct state update to avoid loops\n }\n };\n\n window.addEventListener(\"storage\", handleStorage);\n\n return () => window.removeEventListener(\"storage\", handleStorage);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setTheme]);\n\n // Whenever theme changes, apply it\n React.useEffect(() => {\n applyTheme(theme);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [theme]);\n\n const providerValue = React.useMemo(\n () => ({\n theme,\n setTheme,\n resolvedTheme: theme === \"system\" ? resolvedTheme : theme,\n themes,\n systemTheme: resolvedTheme as SystemTheme | undefined,\n }),\n [theme, setTheme, resolvedTheme],\n );\n\n return (\n <ThemeContext.Provider value={providerValue}>\n <ThemeScript\n {...{\n scriptProps,\n }}\n />\n\n {children}\n </ThemeContext.Provider>\n );\n};\n\nconst ThemeScript = React.memo(\n ({ scriptProps }: Omit<ThemeProviderProps, \"children\">) => {\n const scriptArgs = JSON.stringify([\n storageKey,\n defaultTheme,\n systemThemes,\n classes,\n ]).slice(1, -1);\n\n return (\n <script\n {...scriptProps}\n suppressHydrationWarning\n dangerouslySetInnerHTML={{\n __html: `(${script.toString()})(${scriptArgs})`,\n }}\n />\n );\n },\n);\n\nThemeScript.displayName = \"ThemeScript\";\n\n// Helpers\nconst getTheme = () => {\n if (isServer) return undefined;\n let theme;\n\n try {\n theme = localStorage.getItem(storageKey) || undefined;\n } catch (e) {\n // Unsupported\n }\n\n return theme !== undefined && isTheme(theme) ? theme : defaultTheme;\n};\n\nconst getSystemTheme = (e?: MediaQueryList | MediaQueryListEvent) => {\n if (!e) e = window.matchMedia(MEDIA);\n const isDark = e.matches;\n const systemTheme = isDark ? \"dark\" : \"light\";\n\n return systemTheme;\n};\n\nconst isTheme = (value: string): value is ITheme =>\n themes.some((theme) => theme === value);\n\n// Credits: https://github.com/pacocoursey/next-themes/blob/main/next-themes/src/script.ts\nconst script = (\n storageKey: string,\n defaultTheme: ITheme,\n systemThemes: SystemTheme[],\n classes: Record<SystemTheme, string>,\n) => {\n const el = document.documentElement;\n\n function updateDOM(theme: SystemTheme) {\n el.classList.remove(...Object.values(classes));\n el.classList.add(classes[theme]);\n\n setColorScheme(theme);\n }\n\n function setColorScheme(theme: string) {\n if (systemThemes.some((systemTheme) => systemTheme === theme)) {\n el.style.colorScheme = theme;\n }\n }\n\n function getSystemTheme() {\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"dark\"\n : \"light\";\n }\n\n function isSystemTheme(value: string): value is SystemTheme {\n return systemThemes.some((theme) => theme === value);\n }\n\n try {\n const themeName = localStorage.getItem(storageKey) || defaultTheme;\n const isSystem = themeName === \"system\";\n const theme =\n isSystem || !isSystemTheme(themeName) ? getSystemTheme() : themeName;\n updateDOM(theme);\n } catch (e) {\n //\n }\n};\n","// Credits: https://codesandbox.io/p/sandbox/radix-toast-stack-dpfx5f\n\nimport { Button } from \"@/components/button\";\nimport { Heading } from \"@/components/heading\";\nimport { IconButton } from \"@/components/icon-button\";\nimport { Text } from \"@/components/text\";\nimport {\n checkmark,\n error,\n toastClose,\n toastInner,\n toastRoot,\n toastViewport,\n} from \"@/theme/styles/toast.css\";\nimport { Cross2Icon } from \"@radix-ui/react-icons\";\nimport * as ToastPrimitives from \"@radix-ui/react-toast\";\nimport * as React from \"react\";\n\ntype Toast = {\n title?: string;\n description?: string;\n status: \"default\" | \"error\" | \"success\";\n action?: React.ReactNode;\n} & ToastPrimitives.ToastProps;\n\ntype AddToastPayload = Omit<Toast, \"status\">;\n\ntype ToastContextProps = ((payload: AddToastPayload) => void) & {\n error: (payload: AddToastPayload) => void;\n success: (payload: AddToastPayload) => void;\n};\n\nconst defaultContext: ToastContextProps = Object.assign(\n () => {\n // TODO: something about needs to be in a provider\n },\n {\n success: () => {\n // TODO: something about needs to be in a provider\n },\n error: () => {\n // TODO: something about needs to be in a provider\n },\n },\n);\n\nconst ToastContext = React.createContext(defaultContext);\n\nexport const useToast = () => React.useContext(ToastContext) ?? defaultContext;\n\ntype ToastContextImplProps = {\n toastElementsMapRef: React.RefObject<Map<string, HTMLLIElement> | null>;\n sortToasts: () => void;\n};\n\nconst toastElementsMapRef = React.createRef<Map<string, HTMLLIElement>>();\n\nconst defaultToastImpl: ToastContextImplProps = {\n toastElementsMapRef,\n sortToasts: () => {},\n};\n\nconst ToastContextImpl = React.createContext(defaultToastImpl);\n\nconst ANIMATION_OUT_DURATION = 350;\n\nexport const ToastProvider = ({\n children,\n ...props\n}: ToastPrimitives.ToastProviderProps) => {\n const [toasts, setToasts] = React.useState<Map<string, Toast>>(new Map());\n const toastElementsMapRef = React.useRef<Map<string, HTMLLIElement>>(\n new Map(),\n );\n const viewportRef = React.useRef<HTMLOListElement>(null);\n\n const sortToasts = React.useCallback(() => {\n const toastElements = Array.from(toastElementsMapRef.current).reverse();\n const heights: number[] = [];\n\n toastElements.forEach(([, toast], index) => {\n if (!toast) return;\n const height = toast.clientHeight;\n heights.push(height);\n const frontToastHeight = heights[0];\n toast.setAttribute(\"data-front\", `${index === 0}`);\n toast.setAttribute(\"data-hidden\", `${index > 2}`);\n toast.style.setProperty(\"--index\", `${index}`);\n toast.style.setProperty(\"--height\", `${height}px`);\n toast.style.setProperty(\"--front-height\", `${frontToastHeight}px`);\n const hoverOffsetY = heights\n .slice(0, index)\n .reduce((res, next) => (res += next), 0);\n toast.style.setProperty(\"--hover-offset-y\", `-${hoverOffsetY}px`);\n });\n }, []);\n\n const handleAddToast = React.useCallback((toast: Toast) => {\n setToasts((currentToasts) => {\n const newMap = new Map(currentToasts);\n newMap.set(String(Date.now()), { ...toast, open: true });\n\n return newMap;\n });\n }, []);\n\n const handleRemoveToast = React.useCallback((key: string) => {\n setToasts((currentToasts) => {\n const newMap = new Map(currentToasts);\n newMap.delete(key);\n\n return newMap;\n });\n }, []);\n\n const handleDispatchDefault = React.useCallback(\n (payload: AddToastPayload) =>\n handleAddToast({ ...payload, status: \"default\" }),\n [handleAddToast],\n );\n\n const handleDispatchSuccess = React.useCallback(\n (payload: AddToastPayload) =>\n handleAddToast({ ...payload, status: \"success\" }),\n [handleAddToast],\n );\n\n const handleDispatchError = React.useCallback(\n (payload: AddToastPayload) =>\n // default duration of 10 mins for `status: \"error\"`.\n handleAddToast({ duration: 60 * 1000 * 10, ...payload, status: \"error\" }),\n [handleAddToast],\n );\n\n React.useEffect(() => {\n const viewport = viewportRef.current;\n\n if (viewport) {\n const handleFocus = () => {\n toastElementsMapRef.current.forEach((toast) => {\n toast.setAttribute(\"data-hovering\", \"true\");\n });\n };\n\n // @ts-expect-error TODO: get the correct type\n const handleBlur = (event) => {\n if (!viewport.contains(event.target) || viewport === event.target) {\n toastElementsMapRef.current.forEach((toast) => {\n toast.setAttribute(\"data-hovering\", \"false\");\n });\n }\n };\n\n viewport.addEventListener(\"pointermove\", handleFocus);\n viewport.addEventListener(\"pointerleave\", handleBlur);\n viewport.addEventListener(\"focusin\", handleFocus);\n viewport.addEventListener(\"focusout\", handleBlur);\n\n return () => {\n viewport.removeEventListener(\"pointermove\", handleFocus);\n viewport.removeEventListener(\"pointerleave\", handleBlur);\n viewport.removeEventListener(\"focusin\", handleFocus);\n viewport.removeEventListener(\"focusout\", handleBlur);\n };\n }\n }, []);\n\n const toastApi = React.useMemo(\n () =>\n Object.assign(handleDispatchDefault, {\n success: handleDispatchSuccess,\n error: handleDispatchError,\n }),\n [handleDispatchDefault, handleDispatchSuccess, handleDispatchError],\n );\n\n return (\n <ToastContext.Provider value={toastApi}>\n <ToastContextImpl.Provider\n value={React.useMemo(\n () => ({\n toastElementsMapRef,\n sortToasts,\n }),\n [sortToasts],\n )}\n >\n <ToastPrimitives.Provider {...props}>\n {children}\n {Array.from(toasts).map(([key, toast]) => (\n <Toast\n key={key}\n id={key}\n toast={toast}\n onOpenChange={(open) => {\n if (!open) {\n toastElementsMapRef.current.delete(key);\n sortToasts();\n\n if (!open) {\n setTimeout(() => {\n handleRemoveToast(key);\n }, ANIMATION_OUT_DURATION);\n }\n }\n }}\n />\n ))}\n <ToastPrimitives.Viewport\n ref={viewportRef}\n className={toastViewport}\n />\n </ToastPrimitives.Provider>\n </ToastContextImpl.Provider>\n </ToastContext.Provider>\n );\n};\n\nconst Toast = (props: ToastPrimitives.ToastProps & { toast: Toast }) => {\n const { onOpenChange, toast, id, ...toastProps } = props;\n const ref = React.useRef<HTMLLIElement>(null);\n const context = React.useContext(ToastContextImpl);\n const { sortToasts, toastElementsMapRef } = context;\n const toastElementsMap = toastElementsMapRef.current;\n\n React.useLayoutEffect(() => {\n if (ref.current) {\n toastElementsMap?.set(id as string, ref.current);\n sortToasts();\n }\n }, [id, sortToasts, toastElementsMap]);\n\n return (\n <ToastPrimitives.Root\n {...toastProps}\n ref={ref}\n type={toast.type}\n duration={toast.duration}\n className={toastRoot}\n onOpenChange={onOpenChange}\n >\n <div className={toastInner} data-status={toast.status}>\n <ToastStatusIcon status={toast.status} />\n <ToastPrimitives.Title asChild style={{ gridArea: \"title\" }}>\n <Heading level=\"6\">{toast.title}</Heading>\n </ToastPrimitives.Title>\n <ToastPrimitives.Description\n asChild\n style={{ gridArea: \"description\" }}\n >\n <Text color=\"subtle\" size=\"2\">\n {toast.description}\n </Text>\n </ToastPrimitives.Description>\n {toast.action}\n <ToastPrimitives.Close\n aria-label=\"Close\"\n asChild\n className={toastClose}\n >\n <IconButton variant=\"outline\">\n <Cross2Icon />\n </IconButton>\n </ToastPrimitives.Close>\n </div>\n </ToastPrimitives.Root>\n );\n};\n\nconst ToastStatusIcon = ({ status }: { status: Toast[\"status\"] }) => {\n return status !== \"default\" ? (\n <div style={{ gridArea: \"icon\", alignSelf: \"start\" }}>\n {status === \"success\" && <CheckmarkIcon />}\n {status === \"error\" && <ErrorIcon />}\n </div>\n ) : null;\n};\n\nconst ErrorIcon = () => <div aria-hidden className={error} />;\nconst CheckmarkIcon = () => <div aria-hidden className={checkmark} />;\n\nexport const ToastAction = ({\n ...props\n}: Omit<ToastPrimitives.ToastActionProps, \"asChild\">) => {\n return (\n <ToastPrimitives.Action\n {...props}\n style={{ gridArea: \"action\", ...props.style }}\n asChild\n >\n <Button size=\"1\" variant=\"outline\">\n {props.children}\n </Button>\n </ToastPrimitives.Action>\n );\n};\n"],"mappings":"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","names":["storageKey","theme","colorScheme","defaultTheme","systemThemes","classes","getSystemTheme","React","jsx","jsxs","defaultContext","toastElementsMapRef"]}
1
+ {"version":3,"sources":["../../src/providers/theme-provider.tsx","../../src/providers/toast-provider.tsx"],"sourcesContent":["\"use client\";\n\nimport { darkTheme } from \"@/theme/themes/dark-theme.css\";\nimport { lightTheme } from \"@/theme/themes/light-theme.css\";\nimport { SystemTheme } from \"@/types/system-theme\";\nimport { Theme as ITheme } from \"@/types/theme\";\nimport * as React from \"react\";\n\nconst classes: Record<SystemTheme, string> = {\n light: lightTheme,\n dark: darkTheme,\n};\nconst defaultTheme: ITheme = \"system\";\nconst storageKey = \"nayhoo-theme\";\nconst systemThemes: SystemTheme[] = [\"light\", \"dark\"];\nconst themes: ITheme[] = [...systemThemes, \"system\"];\n\n// Credits: https://github.com/pacocoursey/next-themes/blob/main/next-themes/src/types.ts\ninterface ScriptProps\n extends React.DetailedHTMLProps<\n React.ScriptHTMLAttributes<HTMLScriptElement>,\n HTMLScriptElement\n > {}\n\nexport interface UseThemeProps {\n /** List of all available theme names */\n themes: ITheme[];\n /** Update the theme */\n setTheme: (value: ITheme) => void;\n /** Active theme name */\n theme?: ITheme | undefined;\n /** If the active theme is \"system\", this returns whether the system preference resolved to \"dark\" or \"light\". Otherwise, identical to `theme` */\n resolvedTheme?: ITheme | undefined;\n /** Returns the System theme preference (\"dark\" or \"light\"), regardless what the active theme is */\n systemTheme?: SystemTheme | undefined;\n}\n\nexport interface ThemeProviderProps extends React.PropsWithChildren {\n /** Props to pass the inline script */\n scriptProps?: ScriptProps;\n}\n\n// Credits: https://github.com/pacocoursey/next-themes/blob/main/next-themes/src/index.tsx\nconst colorSchemes: SystemTheme[] = [\"light\", \"dark\"];\nconst MEDIA = \"(prefers-color-scheme: dark)\";\nconst isServer = typeof window === \"undefined\";\nconst ThemeContext = React.createContext<UseThemeProps | undefined>(undefined);\nconst defaultContext: UseThemeProps = {\n setTheme: () => {\n // TODO: something about needs to be in a provider\n },\n themes,\n};\n\nconst saveToLS = (storageKey: string, value: string) => {\n // Save to storage\n try {\n localStorage.setItem(storageKey, value);\n } catch (e) {\n // Unsupported\n }\n};\n\nexport const useTheme = () => React.useContext(ThemeContext) ?? defaultContext;\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n const context = React.useContext(ThemeContext);\n\n // Ignore nested context providers, just passthrough children\n if (context) return <>{props.children}</>;\n\n return <Theme {...props} />;\n};\n\nconst Theme = ({ children, scriptProps }: ThemeProviderProps) => {\n const [theme, setThemeState] = React.useState(() => getTheme());\n const [resolvedTheme, setResolvedTheme] = React.useState(() =>\n theme === \"system\" ? getSystemTheme() : theme,\n );\n\n const applyTheme = React.useCallback((theme?: ITheme) => {\n let resolved = theme;\n\n if (!resolved) return;\n\n // If theme is system, resolve it before setting theme\n if (theme === \"system\") {\n resolved = getSystemTheme();\n }\n\n const d = document.documentElement;\n\n const handleAttribute = () => {\n d.classList.remove(...Object.values(classes));\n\n if (resolved) d.classList.add(classes[resolved as SystemTheme]);\n };\n\n handleAttribute();\n\n const colorScheme = colorSchemes.some(\n (colorScheme) => colorScheme === resolved,\n )\n ? resolved\n : null;\n\n if (colorScheme) d.style.colorScheme = colorScheme;\n }, []);\n\n const setTheme = React.useCallback((value: ITheme) => {\n setThemeState(value);\n saveToLS(storageKey, value);\n }, []);\n\n const handleMediaQuery = React.useCallback(\n (e: MediaQueryListEvent | MediaQueryList) => {\n const resolved = getSystemTheme(e);\n setResolvedTheme(resolved);\n\n if (theme === \"system\") {\n applyTheme(\"system\");\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [theme],\n );\n\n // Always listen to System preference\n React.useEffect(() => {\n const media = window.matchMedia(MEDIA);\n\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery);\n handleMediaQuery(media);\n\n return () => media.removeListener(handleMediaQuery);\n }, [handleMediaQuery]);\n\n // localStorage event handling\n React.useEffect(() => {\n const handleStorage = (e: StorageEvent) => {\n if (e.key !== storageKey) {\n return;\n }\n\n // If default theme set, use it if localstorage === null (happens on local storage manual deletion)\n if (!e.newValue || !isTheme(e.newValue)) {\n setTheme(defaultTheme);\n } else {\n setThemeState(e.newValue); // Direct state update to avoid loops\n }\n };\n\n window.addEventListener(\"storage\", handleStorage);\n\n return () => window.removeEventListener(\"storage\", handleStorage);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setTheme]);\n\n // Whenever theme changes, apply it\n React.useEffect(() => {\n applyTheme(theme);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [theme]);\n\n const providerValue = React.useMemo(\n () => ({\n theme,\n setTheme,\n resolvedTheme: theme === \"system\" ? resolvedTheme : theme,\n themes,\n systemTheme: resolvedTheme as SystemTheme | undefined,\n }),\n [theme, setTheme, resolvedTheme],\n );\n\n return (\n <ThemeContext.Provider value={providerValue}>\n <ThemeScript\n {...{\n scriptProps,\n }}\n />\n\n {children}\n </ThemeContext.Provider>\n );\n};\n\nconst ThemeScript = React.memo(\n ({ scriptProps }: Omit<ThemeProviderProps, \"children\">) => {\n const scriptArgs = JSON.stringify([\n storageKey,\n defaultTheme,\n systemThemes,\n classes,\n ]).slice(1, -1);\n\n return (\n <script\n {...scriptProps}\n suppressHydrationWarning\n dangerouslySetInnerHTML={{\n __html: `(${script.toString()})(${scriptArgs})`,\n }}\n />\n );\n },\n);\n\nThemeScript.displayName = \"ThemeScript\";\n\n// Helpers\nconst getTheme = () => {\n if (isServer) return undefined;\n let theme;\n\n try {\n theme = localStorage.getItem(storageKey) || undefined;\n } catch (e) {\n // Unsupported\n }\n\n return theme !== undefined && isTheme(theme) ? theme : defaultTheme;\n};\n\nconst getSystemTheme = (e?: MediaQueryList | MediaQueryListEvent) => {\n if (!e) e = window.matchMedia(MEDIA);\n const isDark = e.matches;\n const systemTheme = isDark ? \"dark\" : \"light\";\n\n return systemTheme;\n};\n\nconst isTheme = (value: string): value is ITheme =>\n themes.some((theme) => theme === value);\n\n// Credits: https://github.com/pacocoursey/next-themes/blob/main/next-themes/src/script.ts\nconst script = (\n storageKey: string,\n defaultTheme: ITheme,\n systemThemes: SystemTheme[],\n classes: Record<SystemTheme, string>,\n) => {\n const el = document.documentElement;\n\n function updateDOM(theme: SystemTheme) {\n el.classList.remove(...Object.values(classes));\n el.classList.add(classes[theme]);\n\n setColorScheme(theme);\n }\n\n function setColorScheme(theme: string) {\n if (systemThemes.some((systemTheme) => systemTheme === theme)) {\n el.style.colorScheme = theme;\n }\n }\n\n function getSystemTheme() {\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"dark\"\n : \"light\";\n }\n\n function isSystemTheme(value: string): value is SystemTheme {\n return systemThemes.some((theme) => theme === value);\n }\n\n try {\n const themeName = localStorage.getItem(storageKey) || defaultTheme;\n const isSystem = themeName === \"system\";\n const theme =\n isSystem || !isSystemTheme(themeName) ? getSystemTheme() : themeName;\n updateDOM(theme);\n } catch (e) {\n //\n }\n};\n","// Credits: https://codesandbox.io/p/sandbox/radix-toast-stack-dpfx5f\n\nimport { Button } from \"@/components/button\";\nimport { Heading } from \"@/components/heading\";\nimport { IconButton } from \"@/components/icon-button\";\nimport { Text } from \"@/components/text\";\nimport {\n checkmark,\n error,\n toastClose,\n toastInner,\n toastRoot,\n toastViewport,\n} from \"@/theme/styles/toast.css\";\nimport { Cross2Icon } from \"@radix-ui/react-icons\";\nimport * as ToastPrimitives from \"@radix-ui/react-toast\";\nimport * as React from \"react\";\n\ntype Toast = {\n title?: string;\n description?: string;\n status: \"default\" | \"error\" | \"success\";\n action?: React.ReactNode;\n} & ToastPrimitives.ToastProps;\n\ntype AddToastPayload = Omit<Toast, \"status\">;\n\ntype ToastContextProps = ((payload: AddToastPayload) => void) & {\n error: (payload: AddToastPayload) => void;\n success: (payload: AddToastPayload) => void;\n};\n\nconst defaultContext: ToastContextProps = Object.assign(\n () => {\n // TODO: something about needs to be in a provider\n },\n {\n success: () => {\n // TODO: something about needs to be in a provider\n },\n error: () => {\n // TODO: something about needs to be in a provider\n },\n },\n);\n\nconst ToastContext = React.createContext(defaultContext);\n\nexport const useToast = () => React.useContext(ToastContext) ?? defaultContext;\n\ntype ToastContextImplProps = {\n toastElementsMapRef: React.RefObject<Map<string, HTMLLIElement> | null>;\n sortToasts: () => void;\n};\n\nconst toastElementsMapRef = React.createRef<Map<string, HTMLLIElement>>();\n\nconst defaultToastImpl: ToastContextImplProps = {\n toastElementsMapRef,\n sortToasts: () => {},\n};\n\nconst ToastContextImpl = React.createContext(defaultToastImpl);\n\nconst ANIMATION_OUT_DURATION = 350;\n\nexport const ToastProvider = ({\n children,\n ...props\n}: ToastPrimitives.ToastProviderProps) => {\n const [toasts, setToasts] = React.useState<Map<string, Toast>>(new Map());\n const toastElementsMapRef = React.useRef<Map<string, HTMLLIElement>>(\n new Map(),\n );\n const viewportRef = React.useRef<HTMLOListElement>(null);\n\n const sortToasts = React.useCallback(() => {\n const toastElements = Array.from(toastElementsMapRef.current).reverse();\n const heights: number[] = [];\n\n toastElements.forEach(([, toast], index) => {\n if (!toast) return;\n const height = toast.clientHeight;\n heights.push(height);\n const frontToastHeight = heights[0];\n toast.setAttribute(\"data-front\", `${index === 0}`);\n toast.setAttribute(\"data-hidden\", `${index > 2}`);\n toast.style.setProperty(\"--index\", `${index}`);\n toast.style.setProperty(\"--height\", `${height}px`);\n toast.style.setProperty(\"--front-height\", `${frontToastHeight}px`);\n const hoverOffsetY = heights\n .slice(0, index)\n .reduce((res, next) => (res += next), 0);\n toast.style.setProperty(\"--hover-offset-y\", `-${hoverOffsetY}px`);\n });\n }, []);\n\n const handleAddToast = React.useCallback((toast: Toast) => {\n setToasts((currentToasts) => {\n const newMap = new Map(currentToasts);\n newMap.set(String(Date.now()), { ...toast, open: true });\n\n return newMap;\n });\n }, []);\n\n const handleRemoveToast = React.useCallback((key: string) => {\n setToasts((currentToasts) => {\n const newMap = new Map(currentToasts);\n newMap.delete(key);\n\n return newMap;\n });\n }, []);\n\n const handleDispatchDefault = React.useCallback(\n (payload: AddToastPayload) =>\n handleAddToast({ ...payload, status: \"default\" }),\n [handleAddToast],\n );\n\n const handleDispatchSuccess = React.useCallback(\n (payload: AddToastPayload) =>\n handleAddToast({ ...payload, status: \"success\" }),\n [handleAddToast],\n );\n\n const handleDispatchError = React.useCallback(\n (payload: AddToastPayload) =>\n // default duration of 10 mins for `status: \"error\"`.\n handleAddToast({ duration: 60 * 1000 * 10, ...payload, status: \"error\" }),\n [handleAddToast],\n );\n\n React.useEffect(() => {\n const viewport = viewportRef.current;\n\n if (viewport) {\n const handleFocus = () => {\n toastElementsMapRef.current.forEach((toast) => {\n toast.setAttribute(\"data-hovering\", \"true\");\n });\n };\n\n // @ts-expect-error TODO: get the correct type\n const handleBlur = (event) => {\n if (!viewport.contains(event.target) || viewport === event.target) {\n toastElementsMapRef.current.forEach((toast) => {\n toast.setAttribute(\"data-hovering\", \"false\");\n });\n }\n };\n\n viewport.addEventListener(\"pointermove\", handleFocus);\n viewport.addEventListener(\"pointerleave\", handleBlur);\n viewport.addEventListener(\"focusin\", handleFocus);\n viewport.addEventListener(\"focusout\", handleBlur);\n\n return () => {\n viewport.removeEventListener(\"pointermove\", handleFocus);\n viewport.removeEventListener(\"pointerleave\", handleBlur);\n viewport.removeEventListener(\"focusin\", handleFocus);\n viewport.removeEventListener(\"focusout\", handleBlur);\n };\n }\n }, []);\n\n const toastApi = React.useMemo(\n () =>\n Object.assign(handleDispatchDefault, {\n success: handleDispatchSuccess,\n error: handleDispatchError,\n }),\n [handleDispatchDefault, handleDispatchSuccess, handleDispatchError],\n );\n\n return (\n <ToastContext.Provider value={toastApi}>\n <ToastContextImpl.Provider\n value={React.useMemo(\n () => ({\n toastElementsMapRef,\n sortToasts,\n }),\n [sortToasts],\n )}\n >\n <ToastPrimitives.Provider {...props}>\n {children}\n {Array.from(toasts).map(([key, toast]) => (\n <Toast\n key={key}\n id={key}\n toast={toast}\n onOpenChange={(open) => {\n if (!open) {\n toastElementsMapRef.current.delete(key);\n sortToasts();\n\n if (!open) {\n setTimeout(() => {\n handleRemoveToast(key);\n }, ANIMATION_OUT_DURATION);\n }\n }\n }}\n />\n ))}\n <ToastPrimitives.Viewport\n ref={viewportRef}\n className={toastViewport}\n />\n </ToastPrimitives.Provider>\n </ToastContextImpl.Provider>\n </ToastContext.Provider>\n );\n};\n\nconst Toast = (props: ToastPrimitives.ToastProps & { toast: Toast }) => {\n const { onOpenChange, toast, id, ...toastProps } = props;\n const ref = React.useRef<HTMLLIElement>(null);\n const context = React.useContext(ToastContextImpl);\n const { sortToasts, toastElementsMapRef } = context;\n const toastElementsMap = toastElementsMapRef.current;\n\n React.useLayoutEffect(() => {\n if (ref.current) {\n toastElementsMap?.set(id as string, ref.current);\n sortToasts();\n }\n }, [id, sortToasts, toastElementsMap]);\n\n return (\n <ToastPrimitives.Root\n {...toastProps}\n ref={ref}\n type={toast.type}\n duration={toast.duration}\n className={toastRoot}\n onOpenChange={onOpenChange}\n >\n <div className={toastInner} data-status={toast.status}>\n <ToastStatusIcon status={toast.status} />\n <ToastPrimitives.Title asChild style={{ gridArea: \"title\" }}>\n <Heading level=\"6\">{toast.title}</Heading>\n </ToastPrimitives.Title>\n <ToastPrimitives.Description\n asChild\n style={{ gridArea: \"description\" }}\n >\n <Text color=\"subtle\" size=\"2\">\n {toast.description}\n </Text>\n </ToastPrimitives.Description>\n {toast.action}\n <ToastPrimitives.Close\n aria-label=\"Close\"\n asChild\n className={toastClose}\n >\n <IconButton variant=\"outline\">\n <Cross2Icon />\n </IconButton>\n </ToastPrimitives.Close>\n </div>\n </ToastPrimitives.Root>\n );\n};\n\nconst ToastStatusIcon = ({ status }: { status: Toast[\"status\"] }) => {\n return status !== \"default\" ? (\n <div style={{ gridArea: \"icon\", alignSelf: \"start\" }}>\n {status === \"success\" && <CheckmarkIcon />}\n {status === \"error\" && <ErrorIcon />}\n </div>\n ) : null;\n};\n\nconst ErrorIcon = () => <div aria-hidden className={error} />;\nconst CheckmarkIcon = () => <div aria-hidden className={checkmark} />;\n\nexport const ToastAction = ({\n ...props\n}: Omit<ToastPrimitives.ToastActionProps, \"asChild\">) => {\n return (\n <ToastPrimitives.Action\n {...props}\n style={{ gridArea: \"action\", ...props.style }}\n asChild\n >\n <Button size=\"1\" variant=\"outline\">\n {props.children}\n </Button>\n </ToastPrimitives.Action>\n );\n};\n"],"mappings":"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","names":["storageKey","theme","colorScheme","defaultTheme","systemThemes","classes","getSystemTheme","React","jsx","jsxs","defaultContext","toastElementsMapRef"]}
@@ -4,48 +4,48 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
4
4
  declare const skeletonRecipe: _vanilla_extract_recipes.RuntimeFn<{
5
5
  variant: {
6
6
  avatar1: {
7
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
8
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
9
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
7
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
8
+ height: `var(--${string})` | `var(--${string}, ${string})`;
9
+ width: `var(--${string})` | `var(--${string}, ${string})`;
10
10
  };
11
11
  avatar2: {
12
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
13
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
14
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
12
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
13
+ height: `var(--${string})` | `var(--${string}, ${string})`;
14
+ width: `var(--${string})` | `var(--${string}, ${string})`;
15
15
  };
16
16
  avatar3: {
17
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
18
+ height: `var(--${string})` | `var(--${string}, ${string})`;
19
+ width: `var(--${string})` | `var(--${string}, ${string})`;
20
20
  };
21
21
  avatar4: {
22
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
22
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
23
+ height: `var(--${string})` | `var(--${string}, ${string})`;
24
+ width: `var(--${string})` | `var(--${string}, ${string})`;
25
25
  };
26
26
  avatar5: {
27
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
28
+ height: `var(--${string})` | `var(--${string}, ${string})`;
29
+ width: `var(--${string})` | `var(--${string}, ${string})`;
30
30
  };
31
31
  avatar6: {
32
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
33
+ height: `var(--${string})` | `var(--${string}, ${string})`;
34
+ width: `var(--${string})` | `var(--${string}, ${string})`;
35
35
  };
36
36
  text: {
37
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
37
+ height: `var(--${string})` | `var(--${string}, ${string})`;
38
38
  };
39
39
  title: {
40
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
+ height: `var(--${string})` | `var(--${string}, ${string})`;
41
41
  };
42
42
  heading: {
43
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
43
+ height: `var(--${string})` | `var(--${string}, ${string})`;
44
44
  };
45
45
  button: {
46
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
47
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
48
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
46
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
47
+ height: `var(--${string})` | `var(--${string}, ${string})`;
48
+ width: `var(--${string})` | `var(--${string}, ${string})`;
49
49
  };
50
50
  };
51
51
  }>;
@@ -4,48 +4,48 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
4
4
  declare const skeletonRecipe: _vanilla_extract_recipes.RuntimeFn<{
5
5
  variant: {
6
6
  avatar1: {
7
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
8
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
9
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
7
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
8
+ height: `var(--${string})` | `var(--${string}, ${string})`;
9
+ width: `var(--${string})` | `var(--${string}, ${string})`;
10
10
  };
11
11
  avatar2: {
12
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
13
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
14
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
12
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
13
+ height: `var(--${string})` | `var(--${string}, ${string})`;
14
+ width: `var(--${string})` | `var(--${string}, ${string})`;
15
15
  };
16
16
  avatar3: {
17
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
18
+ height: `var(--${string})` | `var(--${string}, ${string})`;
19
+ width: `var(--${string})` | `var(--${string}, ${string})`;
20
20
  };
21
21
  avatar4: {
22
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
22
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
23
+ height: `var(--${string})` | `var(--${string}, ${string})`;
24
+ width: `var(--${string})` | `var(--${string}, ${string})`;
25
25
  };
26
26
  avatar5: {
27
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
28
+ height: `var(--${string})` | `var(--${string}, ${string})`;
29
+ width: `var(--${string})` | `var(--${string}, ${string})`;
30
30
  };
31
31
  avatar6: {
32
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
33
+ height: `var(--${string})` | `var(--${string}, ${string})`;
34
+ width: `var(--${string})` | `var(--${string}, ${string})`;
35
35
  };
36
36
  text: {
37
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
37
+ height: `var(--${string})` | `var(--${string}, ${string})`;
38
38
  };
39
39
  title: {
40
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
+ height: `var(--${string})` | `var(--${string}, ${string})`;
41
41
  };
42
42
  heading: {
43
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
43
+ height: `var(--${string})` | `var(--${string}, ${string})`;
44
44
  };
45
45
  button: {
46
- borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
47
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
48
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
46
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})`;
47
+ height: `var(--${string})` | `var(--${string}, ${string})`;
48
+ width: `var(--${string})` | `var(--${string}, ${string})`;
49
49
  };
50
50
  };
51
51
  }>;
@@ -4,40 +4,40 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
4
4
  declare const spinnerRecipe: _vanilla_extract_recipes.RuntimeFn<{
5
5
  size: {
6
6
  "1": {
7
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
8
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
7
+ height: `var(--${string})` | `var(--${string}, ${string})`;
8
+ width: `var(--${string})` | `var(--${string}, ${string})`;
9
9
  };
10
10
  "2": {
11
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
12
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
11
+ height: `var(--${string})` | `var(--${string}, ${string})`;
12
+ width: `var(--${string})` | `var(--${string}, ${string})`;
13
13
  };
14
14
  "3": {
15
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
+ height: `var(--${string})` | `var(--${string}, ${string})`;
16
+ width: `var(--${string})` | `var(--${string}, ${string})`;
17
17
  };
18
18
  "4": {
19
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
+ height: `var(--${string})` | `var(--${string}, ${string})`;
20
+ width: `var(--${string})` | `var(--${string}, ${string})`;
21
21
  };
22
22
  "5": {
23
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ height: `var(--${string})` | `var(--${string}, ${string})`;
24
+ width: `var(--${string})` | `var(--${string}, ${string})`;
25
25
  };
26
26
  "6": {
27
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
+ height: `var(--${string})` | `var(--${string}, ${string})`;
28
+ width: `var(--${string})` | `var(--${string}, ${string})`;
29
29
  };
30
30
  "7": {
31
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ height: `var(--${string})` | `var(--${string}, ${string})`;
32
+ width: `var(--${string})` | `var(--${string}, ${string})`;
33
33
  };
34
34
  "8": {
35
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
36
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
+ height: `var(--${string})` | `var(--${string}, ${string})`;
36
+ width: `var(--${string})` | `var(--${string}, ${string})`;
37
37
  };
38
38
  "9": {
39
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
39
+ height: `var(--${string})` | `var(--${string}, ${string})`;
40
+ width: `var(--${string})` | `var(--${string}, ${string})`;
41
41
  };
42
42
  };
43
43
  }>;
@@ -4,40 +4,40 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
4
4
  declare const spinnerRecipe: _vanilla_extract_recipes.RuntimeFn<{
5
5
  size: {
6
6
  "1": {
7
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
8
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
7
+ height: `var(--${string})` | `var(--${string}, ${string})`;
8
+ width: `var(--${string})` | `var(--${string}, ${string})`;
9
9
  };
10
10
  "2": {
11
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
12
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
11
+ height: `var(--${string})` | `var(--${string}, ${string})`;
12
+ width: `var(--${string})` | `var(--${string}, ${string})`;
13
13
  };
14
14
  "3": {
15
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
+ height: `var(--${string})` | `var(--${string}, ${string})`;
16
+ width: `var(--${string})` | `var(--${string}, ${string})`;
17
17
  };
18
18
  "4": {
19
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
+ height: `var(--${string})` | `var(--${string}, ${string})`;
20
+ width: `var(--${string})` | `var(--${string}, ${string})`;
21
21
  };
22
22
  "5": {
23
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ height: `var(--${string})` | `var(--${string}, ${string})`;
24
+ width: `var(--${string})` | `var(--${string}, ${string})`;
25
25
  };
26
26
  "6": {
27
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
+ height: `var(--${string})` | `var(--${string}, ${string})`;
28
+ width: `var(--${string})` | `var(--${string}, ${string})`;
29
29
  };
30
30
  "7": {
31
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ height: `var(--${string})` | `var(--${string}, ${string})`;
32
+ width: `var(--${string})` | `var(--${string}, ${string})`;
33
33
  };
34
34
  "8": {
35
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
36
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
+ height: `var(--${string})` | `var(--${string}, ${string})`;
36
+ width: `var(--${string})` | `var(--${string}, ${string})`;
37
37
  };
38
38
  "9": {
39
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
39
+ height: `var(--${string})` | `var(--${string}, ${string})`;
40
+ width: `var(--${string})` | `var(--${string}, ${string})`;
41
41
  };
42
42
  };
43
43
  }>;
@@ -14,19 +14,19 @@ declare const statusRecipe: _vanilla_extract_recipes.RuntimeFn<{
14
14
  };
15
15
  variant: {
16
16
  gray: {
17
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
18
18
  };
19
19
  blue: {
20
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
21
21
  };
22
22
  green: {
23
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
24
24
  };
25
25
  yellow: {
26
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
26
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
27
27
  };
28
28
  red: {
29
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
30
30
  };
31
31
  };
32
32
  }>;
@@ -14,19 +14,19 @@ declare const statusRecipe: _vanilla_extract_recipes.RuntimeFn<{
14
14
  };
15
15
  variant: {
16
16
  gray: {
17
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
18
18
  };
19
19
  blue: {
20
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
21
21
  };
22
22
  green: {
23
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
24
24
  };
25
25
  yellow: {
26
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
26
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
27
27
  };
28
28
  red: {
29
- backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})`;
30
30
  };
31
31
  };
32
32
  }>;
@@ -4,12 +4,12 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
4
4
  declare const switchRecipe: _vanilla_extract_recipes.RuntimeFn<{
5
5
  size: {
6
6
  "1": {
7
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
8
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
7
+ width: `var(--${string})` | `var(--${string}, ${string})`;
8
+ height: `var(--${string})` | `var(--${string}, ${string})`;
9
9
  };
10
10
  "2": {
11
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
12
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
11
+ width: `var(--${string})` | `var(--${string}, ${string})`;
12
+ height: `var(--${string})` | `var(--${string}, ${string})`;
13
13
  };
14
14
  };
15
15
  }>;
@@ -17,8 +17,8 @@ type SwitchVariants = NonNullable<RecipeVariants<typeof switchRecipe>>;
17
17
  declare const switchThumbRecipe: _vanilla_extract_recipes.RuntimeFn<{
18
18
  size: {
19
19
  "1": {
20
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
21
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
+ width: `var(--${string})` | `var(--${string}, ${string})`;
21
+ height: `var(--${string})` | `var(--${string}, ${string})`;
22
22
  selectors: {
23
23
  '&[data-state="checked"]': {
24
24
  transform: "translateX(10px)";
@@ -4,12 +4,12 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
4
4
  declare const switchRecipe: _vanilla_extract_recipes.RuntimeFn<{
5
5
  size: {
6
6
  "1": {
7
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
8
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
7
+ width: `var(--${string})` | `var(--${string}, ${string})`;
8
+ height: `var(--${string})` | `var(--${string}, ${string})`;
9
9
  };
10
10
  "2": {
11
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
12
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
11
+ width: `var(--${string})` | `var(--${string}, ${string})`;
12
+ height: `var(--${string})` | `var(--${string}, ${string})`;
13
13
  };
14
14
  };
15
15
  }>;
@@ -17,8 +17,8 @@ type SwitchVariants = NonNullable<RecipeVariants<typeof switchRecipe>>;
17
17
  declare const switchThumbRecipe: _vanilla_extract_recipes.RuntimeFn<{
18
18
  size: {
19
19
  "1": {
20
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
21
- height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
+ width: `var(--${string})` | `var(--${string}, ${string})`;
21
+ height: `var(--${string})` | `var(--${string}, ${string})`;
22
22
  selectors: {
23
23
  '&[data-state="checked"]': {
24
24
  transform: "translateX(10px)";
@@ -0,0 +1,5 @@
1
+ type Theme = "light" | "dark" | "system";
2
+
3
+ type SystemTheme = Exclude<Theme, "system">;
4
+
5
+ export type { SystemTheme as S, Theme as T };
@@ -0,0 +1,5 @@
1
+ type Theme = "light" | "dark" | "system";
2
+
3
+ type SystemTheme = Exclude<Theme, "system">;
4
+
5
+ export type { SystemTheme as S, Theme as T };