@traefik-labs/faency 12.3.3 → 12.3.4

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 (237) hide show
  1. package/dist/colors/deepBlue.cjs.map +1 -1
  2. package/dist/colors/deepBlue.js.map +1 -1
  3. package/dist/colors/elevation.cjs.map +1 -1
  4. package/dist/colors/elevation.js.map +1 -1
  5. package/dist/colors/grayBlue.cjs.map +1 -1
  6. package/dist/colors/grayBlue.js.map +1 -1
  7. package/dist/colors/index.cjs.map +1 -1
  8. package/dist/colors/index.js.map +1 -1
  9. package/dist/colors/neon.cjs.map +1 -1
  10. package/dist/colors/neon.js.map +1 -1
  11. package/dist/colors/orange.cjs.map +1 -1
  12. package/dist/colors/orange.js.map +1 -1
  13. package/dist/colors/red.cjs.map +1 -1
  14. package/dist/colors/red.js.map +1 -1
  15. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  16. package/dist/components/Accordion/Accordion.js.map +1 -1
  17. package/dist/components/Accordion/Accordion.themes.cjs.map +1 -1
  18. package/dist/components/Accordion/Accordion.themes.js.map +1 -1
  19. package/dist/components/Alert/Alert.cjs.map +1 -1
  20. package/dist/components/Alert/Alert.js.map +1 -1
  21. package/dist/components/AriaTable/AriaTable.cjs.map +1 -1
  22. package/dist/components/AriaTable/AriaTable.js.map +1 -1
  23. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  24. package/dist/components/Avatar/Avatar.js.map +1 -1
  25. package/dist/components/Avatar/Avatar.vanilla.cjs.map +1 -1
  26. package/dist/components/Avatar/Avatar.vanilla.js.map +1 -1
  27. package/dist/components/Badge/Badge.cjs.map +1 -1
  28. package/dist/components/Badge/Badge.js.map +1 -1
  29. package/dist/components/Badge/Badge.theme.cjs.map +1 -1
  30. package/dist/components/Badge/Badge.theme.js.map +1 -1
  31. package/dist/components/Badge/Badge.themes.cjs.map +1 -1
  32. package/dist/components/Badge/Badge.themes.js.map +1 -1
  33. package/dist/components/Badge/Badge.vanilla.cjs.map +1 -1
  34. package/dist/components/Badge/Badge.vanilla.js.map +1 -1
  35. package/dist/components/Blockquote/Blockquote.cjs.map +1 -1
  36. package/dist/components/Blockquote/Blockquote.js.map +1 -1
  37. package/dist/components/Blockquote/Blockquote.vanilla.cjs.map +1 -1
  38. package/dist/components/Blockquote/Blockquote.vanilla.js.map +1 -1
  39. package/dist/components/Box/Box.cjs.map +1 -1
  40. package/dist/components/Box/Box.js.map +1 -1
  41. package/dist/components/Box/Box.vanilla.cjs.map +1 -1
  42. package/dist/components/Box/Box.vanilla.js.map +1 -1
  43. package/dist/components/Bubble/Bubble.cjs.map +1 -1
  44. package/dist/components/Bubble/Bubble.js.map +1 -1
  45. package/dist/components/Bubble/Bubble.vanilla.cjs.map +1 -1
  46. package/dist/components/Bubble/Bubble.vanilla.js.map +1 -1
  47. package/dist/components/Button/Button.cjs.map +1 -1
  48. package/dist/components/Button/Button.js.map +1 -1
  49. package/dist/components/Button/Button.themes.cjs.map +1 -1
  50. package/dist/components/Button/Button.themes.js.map +1 -1
  51. package/dist/components/Button/Button.vanilla.cjs.map +1 -1
  52. package/dist/components/Button/Button.vanilla.js.map +1 -1
  53. package/dist/components/ButtonSwitch/ButtonSwitch.cjs.map +1 -1
  54. package/dist/components/ButtonSwitch/ButtonSwitch.js.map +1 -1
  55. package/dist/components/ButtonSwitch/ButtonSwitch.themes.cjs.map +1 -1
  56. package/dist/components/ButtonSwitch/ButtonSwitch.themes.js.map +1 -1
  57. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.cjs.map +1 -1
  58. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.js.map +1 -1
  59. package/dist/components/Card/Card.cjs.map +1 -1
  60. package/dist/components/Card/Card.js.map +1 -1
  61. package/dist/components/Card/Card.theme.cjs.map +1 -1
  62. package/dist/components/Card/Card.theme.js.map +1 -1
  63. package/dist/components/Card/Card.themes.cjs.map +1 -1
  64. package/dist/components/Card/Card.themes.js.map +1 -1
  65. package/dist/components/Card/Card.vanilla.cjs.map +1 -1
  66. package/dist/components/Card/Card.vanilla.css.cjs +0 -1
  67. package/dist/components/Card/Card.vanilla.css.js +0 -1
  68. package/dist/components/Card/Card.vanilla.js.map +1 -1
  69. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  70. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  71. package/dist/components/Checkbox/Checkbox.themes.cjs.map +1 -1
  72. package/dist/components/Checkbox/Checkbox.themes.js.map +1 -1
  73. package/dist/components/CodeBlock/CodeBlock.cjs.map +1 -1
  74. package/dist/components/CodeBlock/CodeBlock.js.map +1 -1
  75. package/dist/components/CodeBlock/CodeBlock.themes.cjs.map +1 -1
  76. package/dist/components/CodeBlock/CodeBlock.themes.js.map +1 -1
  77. package/dist/components/CodeBlock/CodeBlock.vanilla.cjs.map +1 -1
  78. package/dist/components/CodeBlock/CodeBlock.vanilla.js.map +1 -1
  79. package/dist/components/CodeBlock/prism-extend.cjs.map +1 -1
  80. package/dist/components/CodeBlock/prism-extend.js.map +1 -1
  81. package/dist/components/Container/Container.cjs.map +1 -1
  82. package/dist/components/Container/Container.js.map +1 -1
  83. package/dist/components/Container/Container.vanilla.cjs.map +1 -1
  84. package/dist/components/Container/Container.vanilla.js.map +1 -1
  85. package/dist/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  86. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  87. package/dist/components/DateTimePickerInput/DateTimePickerInput.cjs.map +1 -1
  88. package/dist/components/DateTimePickerInput/DateTimePickerInput.js.map +1 -1
  89. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  90. package/dist/components/Dialog/Dialog.js.map +1 -1
  91. package/dist/components/Dialog/Dialog.themes.cjs.map +1 -1
  92. package/dist/components/Dialog/Dialog.themes.js.map +1 -1
  93. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  94. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
  95. package/dist/components/DropdownMenu/styles.cjs.map +1 -1
  96. package/dist/components/DropdownMenu/styles.js.map +1 -1
  97. package/dist/components/Elevation/Elevation.cjs.map +1 -1
  98. package/dist/components/Elevation/Elevation.js.map +1 -1
  99. package/dist/components/Elevation/Elevation.vanilla.cjs.map +1 -1
  100. package/dist/components/Elevation/Elevation.vanilla.js.map +1 -1
  101. package/dist/components/FaencyProvider.cjs.map +1 -1
  102. package/dist/components/FaencyProvider.js.map +1 -1
  103. package/dist/components/Flex/Flex.cjs.map +1 -1
  104. package/dist/components/Flex/Flex.js.map +1 -1
  105. package/dist/components/Flex/Flex.vanilla.cjs.map +1 -1
  106. package/dist/components/Flex/Flex.vanilla.js.map +1 -1
  107. package/dist/components/Grid/Grid.cjs.map +1 -1
  108. package/dist/components/Grid/Grid.js.map +1 -1
  109. package/dist/components/Grid/Grid.vanilla.cjs.map +1 -1
  110. package/dist/components/Grid/Grid.vanilla.js.map +1 -1
  111. package/dist/components/Heading/Heading.cjs.map +1 -1
  112. package/dist/components/Heading/Heading.js.map +1 -1
  113. package/dist/components/Heading/Heading.themes.cjs.map +1 -1
  114. package/dist/components/Heading/Heading.themes.js.map +1 -1
  115. package/dist/components/IconButton/IconButton.cjs.map +1 -1
  116. package/dist/components/IconButton/IconButton.js.map +1 -1
  117. package/dist/components/IconButton/IconButton.themes.cjs.map +1 -1
  118. package/dist/components/IconButton/IconButton.themes.js.map +1 -1
  119. package/dist/components/IconButton/IconButton.vanilla.cjs.map +1 -1
  120. package/dist/components/IconButton/IconButton.vanilla.js.map +1 -1
  121. package/dist/components/Image/Image.cjs.map +1 -1
  122. package/dist/components/Image/Image.js.map +1 -1
  123. package/dist/components/Image/Image.vanilla.cjs.map +1 -1
  124. package/dist/components/Image/Image.vanilla.js.map +1 -1
  125. package/dist/components/Input/Input.cjs.map +1 -1
  126. package/dist/components/Input/Input.js.map +1 -1
  127. package/dist/components/Input/Input.theme.cjs.map +1 -1
  128. package/dist/components/Input/Input.theme.js.map +1 -1
  129. package/dist/components/Input/Input.themes.cjs.map +1 -1
  130. package/dist/components/Input/Input.themes.js.map +1 -1
  131. package/dist/components/Input/Input.vanilla.cjs.map +1 -1
  132. package/dist/components/Input/Input.vanilla.css.cjs +1 -0
  133. package/dist/components/Input/Input.vanilla.css.js +1 -0
  134. package/dist/components/Input/Input.vanilla.js.map +1 -1
  135. package/dist/components/Label/Label.cjs.map +1 -1
  136. package/dist/components/Label/Label.js.map +1 -1
  137. package/dist/components/Label/Label.vanilla.cjs.map +1 -1
  138. package/dist/components/Label/Label.vanilla.css.cjs +0 -1
  139. package/dist/components/Label/Label.vanilla.css.js +0 -1
  140. package/dist/components/Label/Label.vanilla.js.map +1 -1
  141. package/dist/components/Link/Link.cjs.map +1 -1
  142. package/dist/components/Link/Link.js.map +1 -1
  143. package/dist/components/Link/Link.themes.cjs.map +1 -1
  144. package/dist/components/Link/Link.themes.js.map +1 -1
  145. package/dist/components/List/List.cjs.map +1 -1
  146. package/dist/components/List/List.js.map +1 -1
  147. package/dist/components/List/List.themes.cjs.map +1 -1
  148. package/dist/components/List/List.themes.js.map +1 -1
  149. package/dist/components/Navigation/Navigation.cjs.map +1 -1
  150. package/dist/components/Navigation/Navigation.js.map +1 -1
  151. package/dist/components/Navigation/Navigation.themes.cjs.map +1 -1
  152. package/dist/components/Navigation/Navigation.themes.js.map +1 -1
  153. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -1
  154. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -1
  155. package/dist/components/NavigationTree/NavigationTreeContainer.cjs.map +1 -1
  156. package/dist/components/NavigationTree/NavigationTreeContainer.js.map +1 -1
  157. package/dist/components/NavigationTree/NavigationTreeDrawer.cjs.map +1 -1
  158. package/dist/components/NavigationTree/NavigationTreeDrawer.js.map +1 -1
  159. package/dist/components/NavigationTree/NavigationTreeItem.cjs.map +1 -1
  160. package/dist/components/NavigationTree/NavigationTreeItem.js.map +1 -1
  161. package/dist/components/Overlay.cjs.map +1 -1
  162. package/dist/components/Overlay.js.map +1 -1
  163. package/dist/components/Panel/Panel.cjs.map +1 -1
  164. package/dist/components/Panel/Panel.js.map +1 -1
  165. package/dist/components/Panel/Panel.theme.cjs.map +1 -1
  166. package/dist/components/Panel/Panel.theme.js.map +1 -1
  167. package/dist/components/Panel/Panel.vanilla.cjs.map +1 -1
  168. package/dist/components/Panel/Panel.vanilla.js.map +1 -1
  169. package/dist/components/Paragraph/Paragraph.cjs.map +1 -1
  170. package/dist/components/Paragraph/Paragraph.js.map +1 -1
  171. package/dist/components/Paragraph/Paragraph.vanilla.cjs.map +1 -1
  172. package/dist/components/Paragraph/Paragraph.vanilla.js.map +1 -1
  173. package/dist/components/Popover/Popover.cjs.map +1 -1
  174. package/dist/components/Popover/Popover.js.map +1 -1
  175. package/dist/components/Radio/Radio.cjs.map +1 -1
  176. package/dist/components/Radio/Radio.js.map +1 -1
  177. package/dist/components/Radio/Radio.themes.cjs.map +1 -1
  178. package/dist/components/Radio/Radio.themes.js.map +1 -1
  179. package/dist/components/RadioAccordion/RadioAccordion.cjs.map +1 -1
  180. package/dist/components/RadioAccordion/RadioAccordion.js.map +1 -1
  181. package/dist/components/Select/Select.cjs.map +1 -1
  182. package/dist/components/Select/Select.js.map +1 -1
  183. package/dist/components/Select/Select.themes.cjs.map +1 -1
  184. package/dist/components/Select/Select.themes.js.map +1 -1
  185. package/dist/components/SidePanel/SidePanel.cjs.map +1 -1
  186. package/dist/components/SidePanel/SidePanel.js.map +1 -1
  187. package/dist/components/SidePanel/SidePanel.themes.cjs.map +1 -1
  188. package/dist/components/SidePanel/SidePanel.themes.js.map +1 -1
  189. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  190. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  191. package/dist/components/Skeleton/Skeleton.themes.cjs.map +1 -1
  192. package/dist/components/Skeleton/Skeleton.themes.js.map +1 -1
  193. package/dist/components/Skeleton/Skeleton.vanilla.cjs.map +1 -1
  194. package/dist/components/Skeleton/Skeleton.vanilla.js.map +1 -1
  195. package/dist/components/Switch/Switch.cjs.map +1 -1
  196. package/dist/components/Switch/Switch.js.map +1 -1
  197. package/dist/components/Switch/Switch.themes.cjs.map +1 -1
  198. package/dist/components/Switch/Switch.themes.js.map +1 -1
  199. package/dist/components/Table/Table.cjs.map +1 -1
  200. package/dist/components/Table/Table.js.map +1 -1
  201. package/dist/components/Table/Table.themes.cjs.map +1 -1
  202. package/dist/components/Table/Table.themes.js.map +1 -1
  203. package/dist/components/Tabs/Tabs.cjs.map +1 -1
  204. package/dist/components/Tabs/Tabs.js.map +1 -1
  205. package/dist/components/Text/Text.cjs.map +1 -1
  206. package/dist/components/Text/Text.js.map +1 -1
  207. package/dist/components/Text/Text.themes.cjs.map +1 -1
  208. package/dist/components/Text/Text.themes.js.map +1 -1
  209. package/dist/components/TextField/TextField.cjs.map +1 -1
  210. package/dist/components/TextField/TextField.js.map +1 -1
  211. package/dist/components/TextField/TextField.vanilla.cjs.map +1 -1
  212. package/dist/components/TextField/TextField.vanilla.js.map +1 -1
  213. package/dist/components/Textarea/Textarea.cjs.map +1 -1
  214. package/dist/components/Textarea/Textarea.js.map +1 -1
  215. package/dist/components/Textarea/Textarea.theme.cjs.map +1 -1
  216. package/dist/components/Textarea/Textarea.theme.js.map +1 -1
  217. package/dist/components/Textarea/Textarea.themes.cjs.map +1 -1
  218. package/dist/components/Textarea/Textarea.themes.js.map +1 -1
  219. package/dist/components/Textarea/Textarea.vanilla.cjs.map +1 -1
  220. package/dist/components/Textarea/Textarea.vanilla.js.map +1 -1
  221. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  222. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  223. package/dist/components/Tooltip/Tooltip.themes.cjs.map +1 -1
  224. package/dist/components/Tooltip/Tooltip.themes.js.map +1 -1
  225. package/dist/components/colorSchemeContext.cjs.map +1 -1
  226. package/dist/components/colorSchemeContext.js.map +1 -1
  227. package/dist/stitches.config.cjs.map +1 -1
  228. package/dist/stitches.config.js.map +1 -1
  229. package/dist/styles/cssProps.cjs.map +1 -1
  230. package/dist/styles/cssProps.js.map +1 -1
  231. package/dist/styles/themeContext.cjs.map +1 -1
  232. package/dist/styles/themeContext.js.map +1 -1
  233. package/dist/utils/deepMerge.cjs.map +1 -1
  234. package/dist/utils/deepMerge.js.map +1 -1
  235. package/dist/utils/getPrimaryColorInfo.cjs.map +1 -1
  236. package/dist/utils/getPrimaryColorInfo.js.map +1 -1
  237. package/package.json +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"themeContext.js","names":[],"sources":["../../styles/themeContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useLayoutEffect, useState } from 'react';\n\nimport { darkColors, lightColors } from '../colors';\nimport { PrimaryColor, themes } from './themes.css';\n\nexport type ThemeMode = 'light' | 'dark' | 'system';\nexport type { PrimaryColor };\n\ninterface ThemeContextValue {\n mode: ThemeMode;\n resolvedTheme: 'light' | 'dark';\n primaryColor: PrimaryColor;\n colors: typeof lightColors | typeof darkColors;\n setMode: (mode: ThemeMode) => void;\n setPrimaryColor: (color: PrimaryColor) => void;\n}\n\nconst ThemeContext = createContext<ThemeContextValue | undefined>(undefined);\n\ninterface VanillaExtractThemeProviderProps {\n children: React.ReactNode;\n defaultTheme?: ThemeMode;\n primaryColor?: PrimaryColor;\n forcedTheme?: 'light' | 'dark';\n}\n\nexport function VanillaExtractThemeProvider({\n children,\n defaultTheme = 'system',\n primaryColor = 'blue',\n forcedTheme,\n}: VanillaExtractThemeProviderProps) {\n const [mode, setMode] = useState<ThemeMode>(defaultTheme);\n const [appliedPrimaryColor, setPrimaryColor] = useState<PrimaryColor>(primaryColor);\n const [systemTheme, setSystemTheme] = useState<'light' | 'dark'>(() => {\n if (forcedTheme) {\n return forcedTheme;\n }\n if (typeof window !== 'undefined') {\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return 'light';\n });\n\n useEffect(() => {\n setPrimaryColor(primaryColor);\n }, [primaryColor]);\n\n useEffect(() => {\n if (forcedTheme) {\n setSystemTheme(forcedTheme);\n return;\n }\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n setSystemTheme(mediaQuery.matches ? 'dark' : 'light');\n\n const handler = (e: MediaQueryListEvent) => {\n setSystemTheme(e.matches ? 'dark' : 'light');\n };\n\n mediaQuery.addEventListener('change', handler);\n return () => mediaQuery.removeEventListener('change', handler);\n }, [forcedTheme]);\n\n const resolvedTheme: 'light' | 'dark' = forcedTheme || (mode === 'system' ? systemTheme : mode);\n\n const baseColors = resolvedTheme === 'dark' ? darkColors : lightColors;\n\n const semanticColors =\n resolvedTheme === 'dark'\n ? {\n primary: darkColors[`${appliedPrimaryColor}9`],\n contentBg: darkColors['00dp'],\n hiContrast: 'white',\n loContrast: darkColors.deepBlue2,\n focusOutline: 'hsl(216, 100%, 64%)',\n divider: 'hsl(209, 29%, 19%)',\n background: '#0a0a0a',\n foreground: '#ffffff',\n muted: '#1a1a1a',\n mutedForeground: '#b4b4b4',\n card: '#1a1a1a',\n cardForeground: '#ffffff',\n popover: '#1a1a1a',\n popoverForeground: '#ffffff',\n border: '#3a3a3a',\n input: '#3a3a3a',\n accent: '#3b82f6',\n accentForeground: '#ffffff',\n destructive: '#dc2626',\n destructiveForeground: '#ffffff',\n ring: '#60a5fa',\n }\n : {\n primary: lightColors[`${appliedPrimaryColor}9`],\n contentBg: lightColors['00dp'],\n hiContrast: lightColors.deepBlue11,\n loContrast: 'white',\n focusOutline: 'hsl(216, 100%, 64%)',\n divider: 'hsl(207, 10%, 82%)',\n background: '#fcfcfc',\n foreground: '#1a1a1a',\n muted: '#f4f4f4',\n mutedForeground: '#646464',\n card: '#ffffff',\n cardForeground: '#1a1a1a',\n popover: '#ffffff',\n popoverForeground: '#1a1a1a',\n border: '#e3e3e3',\n input: '#e3e3e3',\n accent: '#60a5fa',\n accentForeground: '#ffffff',\n destructive: '#dc2626',\n destructiveForeground: '#ffffff',\n ring: '#3b82f6',\n };\n\n const colors = {\n ...baseColors,\n ...semanticColors,\n };\n\n // Use useLayoutEffect to apply theme class synchronously before paint\n useLayoutEffect(() => {\n const themeClass = themes[resolvedTheme][appliedPrimaryColor];\n\n Object.values(themes.light).forEach((cls) => document.body.classList.remove(cls));\n Object.values(themes.dark).forEach((cls) => document.body.classList.remove(cls));\n\n document.body.classList.add(themeClass);\n\n return () => {\n document.body.classList.remove(themeClass);\n };\n }, [resolvedTheme, appliedPrimaryColor]);\n\n const contextValue: ThemeContextValue = {\n mode,\n resolvedTheme,\n primaryColor: appliedPrimaryColor,\n colors,\n setMode,\n setPrimaryColor,\n };\n\n return <ThemeContext.Provider value={contextValue}>{children}</ThemeContext.Provider>;\n}\n\nexport function useVanillaExtractTheme() {\n const context = useContext(ThemeContext);\n if (context === undefined) {\n throw new Error('useVanillaExtractTheme must be used within a VanillaExtractThemeProvider');\n }\n return context;\n}\n"],"mappings":";;;;;AAiBA,IAAM,eAAe,cAA6C,KAAA,EAAU;AAS5E,SAAgB,4BAA4B,EAC1C,UACA,eAAe,UACf,eAAe,QACf,eACmC;CACnC,MAAM,CAAC,MAAM,WAAW,SAAoB,aAAa;CACzD,MAAM,CAAC,qBAAqB,mBAAmB,SAAuB,aAAa;CACnF,MAAM,CAAC,aAAa,kBAAkB,eAAiC;AACrE,MAAI,YACF,QAAO;AAET,MAAI,OAAO,WAAW,YACpB,QAAO,OAAO,WAAW,+BAA+B,CAAC,UAAU,SAAS;AAE9E,SAAO;GACP;AAEF,iBAAgB;AACd,kBAAgB,aAAa;IAC5B,CAAC,aAAa,CAAC;AAElB,iBAAgB;AACd,MAAI,aAAa;AACf,kBAAe,YAAY;AAC3B;;EAGF,MAAM,aAAa,OAAO,WAAW,+BAA+B;AACpE,iBAAe,WAAW,UAAU,SAAS,QAAQ;EAErD,MAAM,WAAW,MAA2B;AAC1C,kBAAe,EAAE,UAAU,SAAS,QAAQ;;AAG9C,aAAW,iBAAiB,UAAU,QAAQ;AAC9C,eAAa,WAAW,oBAAoB,UAAU,QAAQ;IAC7D,CAAC,YAAY,CAAC;CAEjB,MAAM,gBAAkC,gBAAgB,SAAS,WAAW,cAAc;CAE1F,MAAM,aAAa,kBAAkB,SAAS,aAAa;CAE3D,MAAM,iBACJ,kBAAkB,SACd;EACE,SAAS,WAAW,GAAG,oBAAoB;EAC3C,WAAW,WAAW;EACtB,YAAY;EACZ,YAAY,WAAW;EACvB,cAAc;EACd,SAAS;EACT,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,iBAAiB;EACjB,MAAM;EACN,gBAAgB;EAChB,SAAS;EACT,mBAAmB;EACnB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,kBAAkB;EAClB,aAAa;EACb,uBAAuB;EACvB,MAAM;EACP,GACD;EACE,SAAS,YAAY,GAAG,oBAAoB;EAC5C,WAAW,YAAY;EACvB,YAAY,YAAY;EACxB,YAAY;EACZ,cAAc;EACd,SAAS;EACT,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,iBAAiB;EACjB,MAAM;EACN,gBAAgB;EAChB,SAAS;EACT,mBAAmB;EACnB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,kBAAkB;EAClB,aAAa;EACb,uBAAuB;EACvB,MAAM;EACP;CAEP,MAAM,SAAS;EACb,GAAG;EACH,GAAG;EACJ;AAGD,uBAAsB;EACpB,MAAM,aAAa,OAAO,eAAe;AAEzC,SAAO,OAAO,OAAO,MAAM,CAAC,SAAS,QAAQ,SAAS,KAAK,UAAU,OAAO,IAAI,CAAC;AACjF,SAAO,OAAO,OAAO,KAAK,CAAC,SAAS,QAAQ,SAAS,KAAK,UAAU,OAAO,IAAI,CAAC;AAEhF,WAAS,KAAK,UAAU,IAAI,WAAW;AAEvC,eAAa;AACX,YAAS,KAAK,UAAU,OAAO,WAAW;;IAE3C,CAAC,eAAe,oBAAoB,CAAC;CAExC,MAAM,eAAkC;EACtC;EACA;EACA,cAAc;EACd;EACA;EACA;EACD;AAED,QAAO,oBAAC,aAAa,UAAd;EAAuB,OAAO;EAAe;EAAiC,CAAA;;AAGvF,SAAgB,yBAAyB;CACvC,MAAM,UAAU,WAAW,aAAa;AACxC,KAAI,YAAY,KAAA,EACd,OAAM,IAAI,MAAM,2EAA2E;AAE7F,QAAO"}
1
+ {"version":3,"file":"themeContext.js","names":[],"sources":["../../styles/themeContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useLayoutEffect, useState } from 'react';\n\nimport { darkColors, lightColors } from '../colors';\nimport { PrimaryColor, themes } from './themes.css';\n\nexport type ThemeMode = 'light' | 'dark' | 'system';\nexport type { PrimaryColor };\n\ninterface ThemeContextValue {\n mode: ThemeMode;\n resolvedTheme: 'light' | 'dark';\n primaryColor: PrimaryColor;\n colors: typeof lightColors | typeof darkColors;\n setMode: (mode: ThemeMode) => void;\n setPrimaryColor: (color: PrimaryColor) => void;\n}\n\nconst ThemeContext = createContext<ThemeContextValue | undefined>(undefined);\n\ninterface VanillaExtractThemeProviderProps {\n children: React.ReactNode;\n defaultTheme?: ThemeMode;\n primaryColor?: PrimaryColor;\n forcedTheme?: 'light' | 'dark';\n}\n\nexport function VanillaExtractThemeProvider({\n children,\n defaultTheme = 'system',\n primaryColor = 'blue',\n forcedTheme,\n}: VanillaExtractThemeProviderProps) {\n const [mode, setMode] = useState<ThemeMode>(defaultTheme);\n const [appliedPrimaryColor, setPrimaryColor] = useState<PrimaryColor>(primaryColor);\n const [systemTheme, setSystemTheme] = useState<'light' | 'dark'>(() => {\n if (forcedTheme) {\n return forcedTheme;\n }\n if (typeof window !== 'undefined') {\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return 'light';\n });\n\n useEffect(() => {\n setPrimaryColor(primaryColor);\n }, [primaryColor]);\n\n useEffect(() => {\n if (forcedTheme) {\n setSystemTheme(forcedTheme);\n return;\n }\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n setSystemTheme(mediaQuery.matches ? 'dark' : 'light');\n\n const handler = (e: MediaQueryListEvent) => {\n setSystemTheme(e.matches ? 'dark' : 'light');\n };\n\n mediaQuery.addEventListener('change', handler);\n return () => mediaQuery.removeEventListener('change', handler);\n }, [forcedTheme]);\n\n const resolvedTheme: 'light' | 'dark' = forcedTheme || (mode === 'system' ? systemTheme : mode);\n\n const baseColors = resolvedTheme === 'dark' ? darkColors : lightColors;\n\n const semanticColors =\n resolvedTheme === 'dark'\n ? {\n primary: darkColors[`${appliedPrimaryColor}9`],\n contentBg: darkColors['00dp'],\n hiContrast: 'white',\n loContrast: darkColors.deepBlue2,\n focusOutline: 'hsl(216, 100%, 64%)',\n divider: 'hsl(209, 29%, 19%)',\n background: '#0a0a0a',\n foreground: '#ffffff',\n muted: '#1a1a1a',\n mutedForeground: '#b4b4b4',\n card: '#1a1a1a',\n cardForeground: '#ffffff',\n popover: '#1a1a1a',\n popoverForeground: '#ffffff',\n border: '#3a3a3a',\n input: '#3a3a3a',\n accent: '#3b82f6',\n accentForeground: '#ffffff',\n destructive: '#dc2626',\n destructiveForeground: '#ffffff',\n ring: '#60a5fa',\n }\n : {\n primary: lightColors[`${appliedPrimaryColor}9`],\n contentBg: lightColors['00dp'],\n hiContrast: lightColors.deepBlue11,\n loContrast: 'white',\n focusOutline: 'hsl(216, 100%, 64%)',\n divider: 'hsl(207, 10%, 82%)',\n background: '#fcfcfc',\n foreground: '#1a1a1a',\n muted: '#f4f4f4',\n mutedForeground: '#646464',\n card: '#ffffff',\n cardForeground: '#1a1a1a',\n popover: '#ffffff',\n popoverForeground: '#1a1a1a',\n border: '#e3e3e3',\n input: '#e3e3e3',\n accent: '#60a5fa',\n accentForeground: '#ffffff',\n destructive: '#dc2626',\n destructiveForeground: '#ffffff',\n ring: '#3b82f6',\n };\n\n const colors = {\n ...baseColors,\n ...semanticColors,\n };\n\n // Use useLayoutEffect to apply theme class synchronously before paint\n useLayoutEffect(() => {\n const themeClass = themes[resolvedTheme][appliedPrimaryColor];\n\n Object.values(themes.light).forEach((cls) => document.body.classList.remove(cls));\n Object.values(themes.dark).forEach((cls) => document.body.classList.remove(cls));\n\n document.body.classList.add(themeClass);\n\n return () => {\n document.body.classList.remove(themeClass);\n };\n }, [resolvedTheme, appliedPrimaryColor]);\n\n const contextValue: ThemeContextValue = {\n mode,\n resolvedTheme,\n primaryColor: appliedPrimaryColor,\n colors,\n setMode,\n setPrimaryColor,\n };\n\n return <ThemeContext.Provider value={contextValue}>{children}</ThemeContext.Provider>;\n}\n\nexport function useVanillaExtractTheme() {\n const context = useContext(ThemeContext);\n if (context === undefined) {\n throw new Error('useVanillaExtractTheme must be used within a VanillaExtractThemeProvider');\n }\n return context;\n}\n"],"mappings":";;;;;AAiBA,IAAM,eAAe,cAA6C,KAAA,CAAS;AAS3E,SAAgB,4BAA4B,EAC1C,UACA,eAAe,UACf,eAAe,QACf,eACmC;CACnC,MAAM,CAAC,MAAM,WAAW,SAAoB,YAAY;CACxD,MAAM,CAAC,qBAAqB,mBAAmB,SAAuB,YAAY;CAClF,MAAM,CAAC,aAAa,kBAAkB,eAAiC;EACrE,IAAI,aACF,OAAO;EAET,IAAI,OAAO,WAAW,aACpB,OAAO,OAAO,WAAW,8BAA8B,EAAE,UAAU,SAAS;EAE9E,OAAO;CACT,CAAC;CAED,gBAAgB;EACd,gBAAgB,YAAY;CAC9B,GAAG,CAAC,YAAY,CAAC;CAEjB,gBAAgB;EACd,IAAI,aAAa;GACf,eAAe,WAAW;GAC1B;EACF;EAEA,MAAM,aAAa,OAAO,WAAW,8BAA8B;EACnE,eAAe,WAAW,UAAU,SAAS,OAAO;EAEpD,MAAM,WAAW,MAA2B;GAC1C,eAAe,EAAE,UAAU,SAAS,OAAO;EAC7C;EAEA,WAAW,iBAAiB,UAAU,OAAO;EAC7C,aAAa,WAAW,oBAAoB,UAAU,OAAO;CAC/D,GAAG,CAAC,WAAW,CAAC;CAEhB,MAAM,gBAAkC,gBAAgB,SAAS,WAAW,cAAc;CAE1F,MAAM,aAAa,kBAAkB,SAAS,aAAa;CAE3D,MAAM,iBACJ,kBAAkB,SACd;EACE,SAAS,WAAW,GAAG,oBAAoB;EAC3C,WAAW,WAAW;EACtB,YAAY;EACZ,YAAY,WAAW;EACvB,cAAc;EACd,SAAS;EACT,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,iBAAiB;EACjB,MAAM;EACN,gBAAgB;EAChB,SAAS;EACT,mBAAmB;EACnB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,kBAAkB;EAClB,aAAa;EACb,uBAAuB;EACvB,MAAM;CACR,IACA;EACE,SAAS,YAAY,GAAG,oBAAoB;EAC5C,WAAW,YAAY;EACvB,YAAY,YAAY;EACxB,YAAY;EACZ,cAAc;EACd,SAAS;EACT,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,iBAAiB;EACjB,MAAM;EACN,gBAAgB;EAChB,SAAS;EACT,mBAAmB;EACnB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,kBAAkB;EAClB,aAAa;EACb,uBAAuB;EACvB,MAAM;CACR;CAEN,MAAM,SAAS;EACb,GAAG;EACH,GAAG;CACL;CAGA,sBAAsB;EACpB,MAAM,aAAa,OAAO,eAAe;EAEzC,OAAO,OAAO,OAAO,KAAK,EAAE,SAAS,QAAQ,SAAS,KAAK,UAAU,OAAO,GAAG,CAAC;EAChF,OAAO,OAAO,OAAO,IAAI,EAAE,SAAS,QAAQ,SAAS,KAAK,UAAU,OAAO,GAAG,CAAC;EAE/E,SAAS,KAAK,UAAU,IAAI,UAAU;EAEtC,aAAa;GACX,SAAS,KAAK,UAAU,OAAO,UAAU;EAC3C;CACF,GAAG,CAAC,eAAe,mBAAmB,CAAC;CAEvC,MAAM,eAAkC;EACtC;EACA;EACA,cAAc;EACd;EACA;EACA;CACF;CAEA,OAAO,oBAAC,aAAa,UAAd;EAAuB,OAAO;EAAe;CAAgC,CAAA;AACtF;AAEA,SAAgB,yBAAyB;CACvC,MAAM,UAAU,WAAW,YAAY;CACvC,IAAI,YAAY,KAAA,GACd,MAAM,IAAI,MAAM,0EAA0E;CAE5F,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepMerge.cjs","names":[],"sources":["../../utils/deepMerge.ts"],"sourcesContent":["function isPlainObject(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\n/**\n * Recursively merges two plain objects. Source properties win on conflict.\n * Nested plain objects are merged rather than replaced.\n * Arrays and non-plain values are always replaced by the source value.\n */\nexport function deepMerge<T extends Record<string, any>, S extends Record<string, any>>(\n target: T,\n source?: S | null,\n): T & S {\n if (!source) return target as T & S;\n\n const result: Record<string, any> = { ...target };\n\n for (const key of Object.keys(source)) {\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') continue;\n const sourceVal = source[key];\n const targetVal = result[key];\n\n if (isPlainObject(sourceVal) && isPlainObject(targetVal)) {\n result[key] = deepMerge(targetVal, sourceVal);\n } else if (sourceVal !== undefined) {\n result[key] = sourceVal;\n }\n }\n\n return result as T & S;\n}\n"],"mappings":";AAAA,SAAS,cAAc,OAAkD;AACvE,QAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,MAAM;;;;;;;AAQ7E,SAAgB,UACd,QACA,QACO;AACP,KAAI,CAAC,OAAQ,QAAO;CAEpB,MAAM,SAA8B,EAAE,GAAG,QAAQ;AAEjD,MAAK,MAAM,OAAO,OAAO,KAAK,OAAO,EAAE;AACrC,MAAI,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,YAAa;EACzE,MAAM,YAAY,OAAO;EACzB,MAAM,YAAY,OAAO;AAEzB,MAAI,cAAc,UAAU,IAAI,cAAc,UAAU,CACtD,QAAO,OAAO,UAAU,WAAW,UAAU;WACpC,cAAc,KAAA,EACvB,QAAO,OAAO;;AAIlB,QAAO"}
1
+ {"version":3,"file":"deepMerge.cjs","names":[],"sources":["../../utils/deepMerge.ts"],"sourcesContent":["function isPlainObject(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\n/**\n * Recursively merges two plain objects. Source properties win on conflict.\n * Nested plain objects are merged rather than replaced.\n * Arrays and non-plain values are always replaced by the source value.\n */\nexport function deepMerge<T extends Record<string, any>, S extends Record<string, any>>(\n target: T,\n source?: S | null,\n): T & S {\n if (!source) return target as T & S;\n\n const result: Record<string, any> = { ...target };\n\n for (const key of Object.keys(source)) {\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') continue;\n const sourceVal = source[key];\n const targetVal = result[key];\n\n if (isPlainObject(sourceVal) && isPlainObject(targetVal)) {\n result[key] = deepMerge(targetVal, sourceVal);\n } else if (sourceVal !== undefined) {\n result[key] = sourceVal;\n }\n }\n\n return result as T & S;\n}\n"],"mappings":";AAAA,SAAS,cAAc,OAAkD;CACvE,OAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;;;;;;AAOA,SAAgB,UACd,QACA,QACO;CACP,IAAI,CAAC,QAAQ,OAAO;CAEpB,MAAM,SAA8B,EAAE,GAAG,OAAO;CAEhD,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAAG;EACrC,IAAI,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,aAAa;EACzE,MAAM,YAAY,OAAO;EACzB,MAAM,YAAY,OAAO;EAEzB,IAAI,cAAc,SAAS,KAAK,cAAc,SAAS,GACrD,OAAO,OAAO,UAAU,WAAW,SAAS;OACvC,IAAI,cAAc,KAAA,GACvB,OAAO,OAAO;CAElB;CAEA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepMerge.js","names":[],"sources":["../../utils/deepMerge.ts"],"sourcesContent":["function isPlainObject(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\n/**\n * Recursively merges two plain objects. Source properties win on conflict.\n * Nested plain objects are merged rather than replaced.\n * Arrays and non-plain values are always replaced by the source value.\n */\nexport function deepMerge<T extends Record<string, any>, S extends Record<string, any>>(\n target: T,\n source?: S | null,\n): T & S {\n if (!source) return target as T & S;\n\n const result: Record<string, any> = { ...target };\n\n for (const key of Object.keys(source)) {\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') continue;\n const sourceVal = source[key];\n const targetVal = result[key];\n\n if (isPlainObject(sourceVal) && isPlainObject(targetVal)) {\n result[key] = deepMerge(targetVal, sourceVal);\n } else if (sourceVal !== undefined) {\n result[key] = sourceVal;\n }\n }\n\n return result as T & S;\n}\n"],"mappings":";AAAA,SAAS,cAAc,OAAkD;AACvE,QAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,MAAM;;;;;;;AAQ7E,SAAgB,UACd,QACA,QACO;AACP,KAAI,CAAC,OAAQ,QAAO;CAEpB,MAAM,SAA8B,EAAE,GAAG,QAAQ;AAEjD,MAAK,MAAM,OAAO,OAAO,KAAK,OAAO,EAAE;AACrC,MAAI,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,YAAa;EACzE,MAAM,YAAY,OAAO;EACzB,MAAM,YAAY,OAAO;AAEzB,MAAI,cAAc,UAAU,IAAI,cAAc,UAAU,CACtD,QAAO,OAAO,UAAU,WAAW,UAAU;WACpC,cAAc,KAAA,EACvB,QAAO,OAAO;;AAIlB,QAAO"}
1
+ {"version":3,"file":"deepMerge.js","names":[],"sources":["../../utils/deepMerge.ts"],"sourcesContent":["function isPlainObject(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\n/**\n * Recursively merges two plain objects. Source properties win on conflict.\n * Nested plain objects are merged rather than replaced.\n * Arrays and non-plain values are always replaced by the source value.\n */\nexport function deepMerge<T extends Record<string, any>, S extends Record<string, any>>(\n target: T,\n source?: S | null,\n): T & S {\n if (!source) return target as T & S;\n\n const result: Record<string, any> = { ...target };\n\n for (const key of Object.keys(source)) {\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') continue;\n const sourceVal = source[key];\n const targetVal = result[key];\n\n if (isPlainObject(sourceVal) && isPlainObject(targetVal)) {\n result[key] = deepMerge(targetVal, sourceVal);\n } else if (sourceVal !== undefined) {\n result[key] = sourceVal;\n }\n }\n\n return result as T & S;\n}\n"],"mappings":";AAAA,SAAS,cAAc,OAAkD;CACvE,OAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;;;;;;AAOA,SAAgB,UACd,QACA,QACO;CACP,IAAI,CAAC,QAAQ,OAAO;CAEpB,MAAM,SAA8B,EAAE,GAAG,OAAO;CAEhD,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAAG;EACrC,IAAI,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,aAAa;EACzE,MAAM,YAAY,OAAO;EACzB,MAAM,YAAY,OAAO;EAEzB,IAAI,cAAc,SAAS,KAAK,cAAc,SAAS,GACrD,OAAO,OAAO,UAAU,WAAW,SAAS;OACvC,IAAI,cAAc,KAAA,GACvB,OAAO,OAAO;CAElB;CAEA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPrimaryColorInfo.cjs","names":[],"sources":["../../utils/getPrimaryColorInfo.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\n\nimport { ColorMap } from '../colors';\nimport { PrimaryColor } from '../stitches.config';\n\ntype ColorScale = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\ntype PickScale = (scale: ColorScale, options?: { alpha: boolean }) => Property.Color;\n\nexport type ColorInfo = {\n name: PrimaryColor;\n token: Property.Color;\n value: string;\n helpers: {\n pickScale: PickScale;\n };\n};\n\nconst getPrimaryColorInfo = (primaryColor: PrimaryColor, colors: ColorMap): ColorInfo => ({\n name: primaryColor,\n value: colors[`${primaryColor}9`],\n token: `$${primaryColor}9`,\n helpers: {\n pickScale: (scale, options = { alpha: false }) =>\n `$${primaryColor}${options.alpha ? 'A' : ''}${scale}`,\n },\n});\n\nexport default getPrimaryColorInfo;\n"],"mappings":";AAkBA,IAAM,uBAAuB,cAA4B,YAAiC;CACxF,MAAM;CACN,OAAO,OAAO,GAAG,aAAa;CAC9B,OAAO,IAAI,aAAa;CACxB,SAAS,EACP,YAAY,OAAO,UAAU,EAAE,OAAO,OAAO,KAC3C,IAAI,eAAe,QAAQ,QAAQ,MAAM,KAAK,SACjD;CACF"}
1
+ {"version":3,"file":"getPrimaryColorInfo.cjs","names":[],"sources":["../../utils/getPrimaryColorInfo.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\n\nimport { ColorMap } from '../colors';\nimport { PrimaryColor } from '../stitches.config';\n\ntype ColorScale = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\ntype PickScale = (scale: ColorScale, options?: { alpha: boolean }) => Property.Color;\n\nexport type ColorInfo = {\n name: PrimaryColor;\n token: Property.Color;\n value: string;\n helpers: {\n pickScale: PickScale;\n };\n};\n\nconst getPrimaryColorInfo = (primaryColor: PrimaryColor, colors: ColorMap): ColorInfo => ({\n name: primaryColor,\n value: colors[`${primaryColor}9`],\n token: `$${primaryColor}9`,\n helpers: {\n pickScale: (scale, options = { alpha: false }) =>\n `$${primaryColor}${options.alpha ? 'A' : ''}${scale}`,\n },\n});\n\nexport default getPrimaryColorInfo;\n"],"mappings":";AAkBA,IAAM,uBAAuB,cAA4B,YAAiC;CACxF,MAAM;CACN,OAAO,OAAO,GAAG,aAAa;CAC9B,OAAO,IAAI,aAAa;CACxB,SAAS,EACP,YAAY,OAAO,UAAU,EAAE,OAAO,MAAM,MAC1C,IAAI,eAAe,QAAQ,QAAQ,MAAM,KAAK,QAClD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPrimaryColorInfo.js","names":[],"sources":["../../utils/getPrimaryColorInfo.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\n\nimport { ColorMap } from '../colors';\nimport { PrimaryColor } from '../stitches.config';\n\ntype ColorScale = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\ntype PickScale = (scale: ColorScale, options?: { alpha: boolean }) => Property.Color;\n\nexport type ColorInfo = {\n name: PrimaryColor;\n token: Property.Color;\n value: string;\n helpers: {\n pickScale: PickScale;\n };\n};\n\nconst getPrimaryColorInfo = (primaryColor: PrimaryColor, colors: ColorMap): ColorInfo => ({\n name: primaryColor,\n value: colors[`${primaryColor}9`],\n token: `$${primaryColor}9`,\n helpers: {\n pickScale: (scale, options = { alpha: false }) =>\n `$${primaryColor}${options.alpha ? 'A' : ''}${scale}`,\n },\n});\n\nexport default getPrimaryColorInfo;\n"],"mappings":";AAkBA,IAAM,uBAAuB,cAA4B,YAAiC;CACxF,MAAM;CACN,OAAO,OAAO,GAAG,aAAa;CAC9B,OAAO,IAAI,aAAa;CACxB,SAAS,EACP,YAAY,OAAO,UAAU,EAAE,OAAO,OAAO,KAC3C,IAAI,eAAe,QAAQ,QAAQ,MAAM,KAAK,SACjD;CACF"}
1
+ {"version":3,"file":"getPrimaryColorInfo.js","names":[],"sources":["../../utils/getPrimaryColorInfo.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\n\nimport { ColorMap } from '../colors';\nimport { PrimaryColor } from '../stitches.config';\n\ntype ColorScale = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\ntype PickScale = (scale: ColorScale, options?: { alpha: boolean }) => Property.Color;\n\nexport type ColorInfo = {\n name: PrimaryColor;\n token: Property.Color;\n value: string;\n helpers: {\n pickScale: PickScale;\n };\n};\n\nconst getPrimaryColorInfo = (primaryColor: PrimaryColor, colors: ColorMap): ColorInfo => ({\n name: primaryColor,\n value: colors[`${primaryColor}9`],\n token: `$${primaryColor}9`,\n helpers: {\n pickScale: (scale, options = { alpha: false }) =>\n `$${primaryColor}${options.alpha ? 'A' : ''}${scale}`,\n },\n});\n\nexport default getPrimaryColorInfo;\n"],"mappings":";AAkBA,IAAM,uBAAuB,cAA4B,YAAiC;CACxF,MAAM;CACN,OAAO,OAAO,GAAG,aAAa;CAC9B,OAAO,IAAI,aAAa;CACxB,SAAS,EACP,YAAY,OAAO,UAAU,EAAE,OAAO,MAAM,MAC1C,IAAI,eAAe,QAAQ,QAAQ,MAAM,KAAK,QAClD;AACF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@traefik-labs/faency",
3
3
  "description": "Traefik Labs design system",
4
- "version": "12.3.3",
4
+ "version": "12.3.4",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
7
7
  "traefiklabs",
@@ -86,39 +86,39 @@
86
86
  "@vanilla-extract/css": "1.20.1",
87
87
  "@vanilla-extract/dynamic": "2.1.5",
88
88
  "@vanilla-extract/recipes": "0.5.7",
89
- "date-fns": "4.1.0",
89
+ "date-fns": "4.2.1",
90
90
  "prism-react-renderer": "2.4.1",
91
91
  "prismjs": "1.30.0",
92
92
  "tinycolor2": "1.6.0"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@babel/core": "7.29.0",
96
- "@babel/preset-env": "7.29.2",
96
+ "@babel/preset-env": "7.29.5",
97
97
  "@babel/preset-react": "7.28.5",
98
98
  "@babel/preset-typescript": "7.28.5",
99
99
  "@eslint/js": "9.39.4",
100
100
  "@semantic-release/commit-analyzer": "13.0.1",
101
- "@semantic-release/github": "12.0.6",
101
+ "@semantic-release/github": "12.0.8",
102
102
  "@semantic-release/npm": "13.1.5",
103
- "@semantic-release/release-notes-generator": "14.1.0",
104
- "@storybook/addon-docs": "10.3.5",
105
- "@storybook/addon-links": "10.3.5",
106
- "@storybook/builder-vite": "10.3.5",
107
- "@storybook/react-vite": "10.3.5",
103
+ "@semantic-release/release-notes-generator": "14.1.1",
104
+ "@storybook/addon-docs": "10.4.0",
105
+ "@storybook/addon-links": "10.4.0",
106
+ "@storybook/builder-vite": "10.4.0",
107
+ "@storybook/react-vite": "10.4.0",
108
108
  "@testing-library/dom": "10.4.1",
109
109
  "@testing-library/jest-dom": "6.9.1",
110
110
  "@testing-library/react": "16.3.2",
111
111
  "@types/jest": "30.0.0",
112
112
  "@types/jest-axe": "3.5.9",
113
- "@types/node": "24.12.2",
113
+ "@types/node": "24.12.4",
114
114
  "@types/prismjs": "1.26.6",
115
115
  "@types/react": "18.2.0",
116
116
  "@types/react-dom": "18.2.0",
117
117
  "@types/tinycolor2": "1.4.6",
118
118
  "@vanilla-extract/vite-plugin": "5.2.2",
119
- "@vitejs/plugin-react": "6.0.1",
120
- "@vueless/storybook-dark-mode": "10.0.7",
121
- "babel-jest": "30.3.0",
119
+ "@vitejs/plugin-react": "6.0.2",
120
+ "@vueless/storybook-dark-mode": "10.0.8",
121
+ "babel-jest": "30.4.1",
122
122
  "conventional-changelog-conventionalcommits": "9.3.1",
123
123
  "cross-env": "10.1.0",
124
124
  "eslint": "9.39.4",
@@ -128,23 +128,23 @@
128
128
  "eslint-plugin-react": "7.37.5",
129
129
  "eslint-plugin-react-hooks": "7.1.1",
130
130
  "eslint-plugin-simple-import-sort": "13.0.0",
131
- "eslint-plugin-storybook": "10.3.5",
132
- "globals": "17.5.0",
131
+ "eslint-plugin-storybook": "10.4.0",
132
+ "globals": "17.6.0",
133
133
  "husky": "9.1.7",
134
- "jest": "30.3.0",
134
+ "jest": "30.4.2",
135
135
  "jest-axe": "10.0.0",
136
- "jest-environment-jsdom": "30.3.0",
137
- "lint-staged": "16.4.0",
138
- "np": "11.2.0",
136
+ "jest-environment-jsdom": "30.4.1",
137
+ "lint-staged": "17.0.5",
138
+ "np": "11.2.1",
139
139
  "patch-package": "8.0.1",
140
140
  "prettier": "3.8.3",
141
141
  "react": "18.3.1",
142
142
  "react-dom": "18.3.1",
143
143
  "semantic-release": "25.0.3",
144
- "storybook": "10.3.5",
144
+ "storybook": "10.4.0",
145
145
  "typescript": "5.8.3",
146
- "typescript-eslint": "8.59.0",
147
- "vite": "8.0.10",
146
+ "typescript-eslint": "8.59.4",
147
+ "vite": "8.0.13",
148
148
  "vite-plugin-dts": "4.5.4"
149
149
  },
150
150
  "resolutions": {