@hyperpackai/hyperui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +82 -0
  3. package/dist/components/Accordion/index.d.ts +17 -0
  4. package/dist/components/Accordion/index.d.ts.map +1 -0
  5. package/dist/components/Accordion/index.js +46 -0
  6. package/dist/components/Alert/index.d.ts +13 -0
  7. package/dist/components/Alert/index.d.ts.map +1 -0
  8. package/dist/components/Alert/index.js +46 -0
  9. package/dist/components/AppBar/index.d.ts +19 -0
  10. package/dist/components/AppBar/index.d.ts.map +1 -0
  11. package/dist/components/AppBar/index.js +48 -0
  12. package/dist/components/AspectRatio/index.d.ts +8 -0
  13. package/dist/components/AspectRatio/index.d.ts.map +1 -0
  14. package/dist/components/AspectRatio/index.js +32 -0
  15. package/dist/components/Autocomplete/index.d.ts +21 -0
  16. package/dist/components/Autocomplete/index.d.ts.map +1 -0
  17. package/dist/components/Autocomplete/index.js +94 -0
  18. package/dist/components/Avatar/index.d.ts +12 -0
  19. package/dist/components/Avatar/index.d.ts.map +1 -0
  20. package/dist/components/Avatar/index.js +32 -0
  21. package/dist/components/AvatarGroup/index.d.ts +9 -0
  22. package/dist/components/AvatarGroup/index.d.ts.map +1 -0
  23. package/dist/components/AvatarGroup/index.js +24 -0
  24. package/dist/components/Backdrop/index.d.ts +10 -0
  25. package/dist/components/Backdrop/index.d.ts.map +1 -0
  26. package/dist/components/Backdrop/index.js +25 -0
  27. package/dist/components/Badge/index.d.ts +10 -0
  28. package/dist/components/Badge/index.d.ts.map +1 -0
  29. package/dist/components/Badge/index.js +30 -0
  30. package/dist/components/BottomNavigation/index.d.ts +16 -0
  31. package/dist/components/BottomNavigation/index.d.ts.map +1 -0
  32. package/dist/components/BottomNavigation/index.js +43 -0
  33. package/dist/components/Box/index.d.ts +21 -0
  34. package/dist/components/Box/index.d.ts.map +1 -0
  35. package/dist/components/Box/index.js +30 -0
  36. package/dist/components/Breadcrumb/index.d.ts +13 -0
  37. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  38. package/dist/components/Breadcrumb/index.js +19 -0
  39. package/dist/components/Button/index.d.ts +22 -0
  40. package/dist/components/Button/index.d.ts.map +1 -0
  41. package/dist/components/Button/index.js +93 -0
  42. package/dist/components/ButtonGroup/index.d.ts +9 -0
  43. package/dist/components/ButtonGroup/index.d.ts.map +1 -0
  44. package/dist/components/ButtonGroup/index.js +27 -0
  45. package/dist/components/Card/index.d.ts +14 -0
  46. package/dist/components/Card/index.d.ts.map +1 -0
  47. package/dist/components/Card/index.js +33 -0
  48. package/dist/components/Checkbox/index.d.ts +17 -0
  49. package/dist/components/Checkbox/index.d.ts.map +1 -0
  50. package/dist/components/Checkbox/index.js +42 -0
  51. package/dist/components/Chip/index.d.ts +18 -0
  52. package/dist/components/Chip/index.d.ts.map +1 -0
  53. package/dist/components/Chip/index.js +60 -0
  54. package/dist/components/CircularProgress/index.d.ts +14 -0
  55. package/dist/components/CircularProgress/index.d.ts.map +1 -0
  56. package/dist/components/CircularProgress/index.js +58 -0
  57. package/dist/components/ClickAwayListener/index.d.ts +11 -0
  58. package/dist/components/ClickAwayListener/index.d.ts.map +1 -0
  59. package/dist/components/ClickAwayListener/index.js +31 -0
  60. package/dist/components/Code/index.d.ts +9 -0
  61. package/dist/components/Code/index.d.ts.map +1 -0
  62. package/dist/components/Code/index.js +50 -0
  63. package/dist/components/Collapse/index.d.ts +11 -0
  64. package/dist/components/Collapse/index.d.ts.map +1 -0
  65. package/dist/components/Collapse/index.js +30 -0
  66. package/dist/components/CommandPalette/index.d.ts +26 -0
  67. package/dist/components/CommandPalette/index.d.ts.map +1 -0
  68. package/dist/components/CommandPalette/index.js +141 -0
  69. package/dist/components/Container/index.d.ts +11 -0
  70. package/dist/components/Container/index.d.ts.map +1 -0
  71. package/dist/components/Container/index.js +18 -0
  72. package/dist/components/DashboardLayout/index.d.ts +15 -0
  73. package/dist/components/DashboardLayout/index.d.ts.map +1 -0
  74. package/dist/components/DashboardLayout/index.js +67 -0
  75. package/dist/components/DataTable/index.d.ts +27 -0
  76. package/dist/components/DataTable/index.d.ts.map +1 -0
  77. package/dist/components/DataTable/index.js +59 -0
  78. package/dist/components/Dialog/index.d.ts +19 -0
  79. package/dist/components/Dialog/index.d.ts.map +1 -0
  80. package/dist/components/Dialog/index.js +96 -0
  81. package/dist/components/Divider/index.d.ts +13 -0
  82. package/dist/components/Divider/index.d.ts.map +1 -0
  83. package/dist/components/Divider/index.js +40 -0
  84. package/dist/components/Drawer/index.d.ts +17 -0
  85. package/dist/components/Drawer/index.d.ts.map +1 -0
  86. package/dist/components/Drawer/index.js +77 -0
  87. package/dist/components/DropdownMenu/index.d.ts +25 -0
  88. package/dist/components/DropdownMenu/index.d.ts.map +1 -0
  89. package/dist/components/DropdownMenu/index.js +67 -0
  90. package/dist/components/EmptyState/index.d.ts +11 -0
  91. package/dist/components/EmptyState/index.d.ts.map +1 -0
  92. package/dist/components/EmptyState/index.js +53 -0
  93. package/dist/components/ErrorState/index.d.ts +12 -0
  94. package/dist/components/ErrorState/index.d.ts.map +1 -0
  95. package/dist/components/ErrorState/index.js +54 -0
  96. package/dist/components/Fab/index.d.ts +16 -0
  97. package/dist/components/Fab/index.d.ts.map +1 -0
  98. package/dist/components/Fab/index.js +39 -0
  99. package/dist/components/Fade/index.d.ts +10 -0
  100. package/dist/components/Fade/index.d.ts.map +1 -0
  101. package/dist/components/Fade/index.js +13 -0
  102. package/dist/components/FocusTrap/index.d.ts +11 -0
  103. package/dist/components/FocusTrap/index.d.ts.map +1 -0
  104. package/dist/components/FocusTrap/index.js +69 -0
  105. package/dist/components/FormControl/index.d.ts +34 -0
  106. package/dist/components/FormControl/index.d.ts.map +1 -0
  107. package/dist/components/FormControl/index.js +52 -0
  108. package/dist/components/GlobalSearch/index.d.ts +23 -0
  109. package/dist/components/GlobalSearch/index.d.ts.map +1 -0
  110. package/dist/components/GlobalSearch/index.js +91 -0
  111. package/dist/components/Grid/index.d.ts +19 -0
  112. package/dist/components/Grid/index.d.ts.map +1 -0
  113. package/dist/components/Grid/index.js +30 -0
  114. package/dist/components/Grow/index.d.ts +10 -0
  115. package/dist/components/Grow/index.d.ts.map +1 -0
  116. package/dist/components/Grow/index.js +13 -0
  117. package/dist/components/IconButton/index.d.ts +16 -0
  118. package/dist/components/IconButton/index.d.ts.map +1 -0
  119. package/dist/components/IconButton/index.js +43 -0
  120. package/dist/components/ImageList/index.d.ts +21 -0
  121. package/dist/components/ImageList/index.d.ts.map +1 -0
  122. package/dist/components/ImageList/index.js +39 -0
  123. package/dist/components/Input/index.d.ts +33 -0
  124. package/dist/components/Input/index.d.ts.map +1 -0
  125. package/dist/components/Input/index.js +45 -0
  126. package/dist/components/Kbd/index.d.ts +8 -0
  127. package/dist/components/Kbd/index.d.ts.map +1 -0
  128. package/dist/components/Kbd/index.js +41 -0
  129. package/dist/components/KeyboardShortcut/index.d.ts +20 -0
  130. package/dist/components/KeyboardShortcut/index.d.ts.map +1 -0
  131. package/dist/components/KeyboardShortcut/index.js +63 -0
  132. package/dist/components/Label/index.d.ts +10 -0
  133. package/dist/components/Label/index.d.ts.map +1 -0
  134. package/dist/components/Label/index.js +17 -0
  135. package/dist/components/LinearProgress/index.d.ts +13 -0
  136. package/dist/components/LinearProgress/index.d.ts.map +1 -0
  137. package/dist/components/LinearProgress/index.js +69 -0
  138. package/dist/components/Link/index.d.ts +16 -0
  139. package/dist/components/Link/index.d.ts.map +1 -0
  140. package/dist/components/Link/index.js +25 -0
  141. package/dist/components/List/index.d.ts +40 -0
  142. package/dist/components/List/index.d.ts.map +1 -0
  143. package/dist/components/List/index.js +70 -0
  144. package/dist/components/LoadingState/index.d.ts +11 -0
  145. package/dist/components/LoadingState/index.d.ts.map +1 -0
  146. package/dist/components/LoadingState/index.js +66 -0
  147. package/dist/components/Menu/index.d.ts +40 -0
  148. package/dist/components/Menu/index.d.ts.map +1 -0
  149. package/dist/components/Menu/index.js +103 -0
  150. package/dist/components/MobileStepper/index.d.ts +16 -0
  151. package/dist/components/MobileStepper/index.d.ts.map +1 -0
  152. package/dist/components/MobileStepper/index.js +67 -0
  153. package/dist/components/Modal/index.d.ts +14 -0
  154. package/dist/components/Modal/index.d.ts.map +1 -0
  155. package/dist/components/Modal/index.js +51 -0
  156. package/dist/components/Navbar/index.d.ts +14 -0
  157. package/dist/components/Navbar/index.d.ts.map +1 -0
  158. package/dist/components/Navbar/index.js +27 -0
  159. package/dist/components/NoSSR/index.d.ts +7 -0
  160. package/dist/components/NoSSR/index.d.ts.map +1 -0
  161. package/dist/components/NoSSR/index.js +9 -0
  162. package/dist/components/PageLayout/index.d.ts +13 -0
  163. package/dist/components/PageLayout/index.d.ts.map +1 -0
  164. package/dist/components/PageLayout/index.js +41 -0
  165. package/dist/components/Pagination/index.d.ts +11 -0
  166. package/dist/components/Pagination/index.d.ts.map +1 -0
  167. package/dist/components/Pagination/index.js +56 -0
  168. package/dist/components/Paper/index.d.ts +12 -0
  169. package/dist/components/Paper/index.d.ts.map +1 -0
  170. package/dist/components/Paper/index.js +24 -0
  171. package/dist/components/Popover/index.d.ts +13 -0
  172. package/dist/components/Popover/index.d.ts.map +1 -0
  173. package/dist/components/Popover/index.js +34 -0
  174. package/dist/components/Progress/index.d.ts +13 -0
  175. package/dist/components/Progress/index.d.ts.map +1 -0
  176. package/dist/components/Progress/index.js +40 -0
  177. package/dist/components/Radio/index.d.ts +7 -0
  178. package/dist/components/Radio/index.d.ts.map +1 -0
  179. package/dist/components/Radio/index.js +28 -0
  180. package/dist/components/Rating/index.d.ts +15 -0
  181. package/dist/components/Rating/index.d.ts.map +1 -0
  182. package/dist/components/Rating/index.js +41 -0
  183. package/dist/components/ResizablePanel/index.d.ts +16 -0
  184. package/dist/components/ResizablePanel/index.d.ts.map +1 -0
  185. package/dist/components/ResizablePanel/index.js +41 -0
  186. package/dist/components/ScrollArea/index.d.ts +12 -0
  187. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  188. package/dist/components/ScrollArea/index.js +50 -0
  189. package/dist/components/Select/index.d.ts +23 -0
  190. package/dist/components/Select/index.d.ts.map +1 -0
  191. package/dist/components/Select/index.js +52 -0
  192. package/dist/components/Sheet/index.d.ts +15 -0
  193. package/dist/components/Sheet/index.d.ts.map +1 -0
  194. package/dist/components/Sheet/index.js +61 -0
  195. package/dist/components/Sidebar/index.d.ts +23 -0
  196. package/dist/components/Sidebar/index.d.ts.map +1 -0
  197. package/dist/components/Sidebar/index.js +37 -0
  198. package/dist/components/Skeleton/index.d.ts +9 -0
  199. package/dist/components/Skeleton/index.d.ts.map +1 -0
  200. package/dist/components/Skeleton/index.js +22 -0
  201. package/dist/components/Slide/index.d.ts +12 -0
  202. package/dist/components/Slide/index.d.ts.map +1 -0
  203. package/dist/components/Slide/index.js +21 -0
  204. package/dist/components/Slider/index.d.ts +19 -0
  205. package/dist/components/Slider/index.d.ts.map +1 -0
  206. package/dist/components/Slider/index.js +49 -0
  207. package/dist/components/Snackbar/index.d.ts +28 -0
  208. package/dist/components/Snackbar/index.d.ts.map +1 -0
  209. package/dist/components/Snackbar/index.js +71 -0
  210. package/dist/components/SpeedDial/index.d.ts +18 -0
  211. package/dist/components/SpeedDial/index.d.ts.map +1 -0
  212. package/dist/components/SpeedDial/index.js +71 -0
  213. package/dist/components/Spinner/index.d.ts +10 -0
  214. package/dist/components/Spinner/index.d.ts.map +1 -0
  215. package/dist/components/Spinner/index.js +67 -0
  216. package/dist/components/SplitPane/index.d.ts +11 -0
  217. package/dist/components/SplitPane/index.d.ts.map +1 -0
  218. package/dist/components/SplitPane/index.js +46 -0
  219. package/dist/components/Stack/index.d.ts +17 -0
  220. package/dist/components/Stack/index.d.ts.map +1 -0
  221. package/dist/components/Stack/index.js +30 -0
  222. package/dist/components/Stepper/index.d.ts +20 -0
  223. package/dist/components/Stepper/index.d.ts.map +1 -0
  224. package/dist/components/Stepper/index.js +66 -0
  225. package/dist/components/Switch/index.d.ts +13 -0
  226. package/dist/components/Switch/index.d.ts.map +1 -0
  227. package/dist/components/Switch/index.js +38 -0
  228. package/dist/components/Tabs/index.d.ts +20 -0
  229. package/dist/components/Tabs/index.d.ts.map +1 -0
  230. package/dist/components/Tabs/index.js +62 -0
  231. package/dist/components/TextField/index.d.ts +35 -0
  232. package/dist/components/TextField/index.d.ts.map +1 -0
  233. package/dist/components/TextField/index.js +69 -0
  234. package/dist/components/Textarea/index.d.ts +22 -0
  235. package/dist/components/Textarea/index.d.ts.map +1 -0
  236. package/dist/components/Textarea/index.js +27 -0
  237. package/dist/components/Timeline/index.d.ts +16 -0
  238. package/dist/components/Timeline/index.d.ts.map +1 -0
  239. package/dist/components/Timeline/index.js +30 -0
  240. package/dist/components/Toast/index.d.ts +34 -0
  241. package/dist/components/Toast/index.d.ts.map +1 -0
  242. package/dist/components/Toast/index.js +106 -0
  243. package/dist/components/ToggleButton/index.d.ts +21 -0
  244. package/dist/components/ToggleButton/index.d.ts.map +1 -0
  245. package/dist/components/ToggleButton/index.js +81 -0
  246. package/dist/components/Tooltip/index.d.ts +14 -0
  247. package/dist/components/Tooltip/index.d.ts.map +1 -0
  248. package/dist/components/Tooltip/index.js +47 -0
  249. package/dist/components/TreeView/index.d.ts +19 -0
  250. package/dist/components/TreeView/index.d.ts.map +1 -0
  251. package/dist/components/TreeView/index.js +50 -0
  252. package/dist/components/Typography/index.d.ts +17 -0
  253. package/dist/components/Typography/index.d.ts.map +1 -0
  254. package/dist/components/Typography/index.js +44 -0
  255. package/dist/components/VisuallyHidden/index.d.ts +7 -0
  256. package/dist/components/VisuallyHidden/index.d.ts.map +1 -0
  257. package/dist/components/VisuallyHidden/index.js +18 -0
  258. package/dist/components/Zoom/index.d.ts +10 -0
  259. package/dist/components/Zoom/index.d.ts.map +1 -0
  260. package/dist/components/Zoom/index.js +13 -0
  261. package/dist/components/ai.d.ts +133 -0
  262. package/dist/components/ai.d.ts.map +1 -0
  263. package/dist/components/ai.js +184 -0
  264. package/dist/components/charts.d.ts +143 -0
  265. package/dist/components/charts.d.ts.map +1 -0
  266. package/dist/components/charts.js +435 -0
  267. package/dist/components/data.d.ts +192 -0
  268. package/dist/components/data.d.ts.map +1 -0
  269. package/dist/components/data.js +581 -0
  270. package/dist/components/date.d.ts +73 -0
  271. package/dist/components/date.d.ts.map +1 -0
  272. package/dist/components/date.js +199 -0
  273. package/dist/components/enterprise.d.ts +246 -0
  274. package/dist/components/enterprise.d.ts.map +1 -0
  275. package/dist/components/enterprise.js +428 -0
  276. package/dist/components/form.d.ts +132 -0
  277. package/dist/components/form.d.ts.map +1 -0
  278. package/dist/components/form.js +380 -0
  279. package/dist/components/index.d.ts +173 -0
  280. package/dist/components/index.d.ts.map +1 -0
  281. package/dist/components/index.js +107 -0
  282. package/dist/components/inputs.d.ts +169 -0
  283. package/dist/components/inputs.d.ts.map +1 -0
  284. package/dist/components/inputs.js +437 -0
  285. package/dist/components/layout.d.ts +224 -0
  286. package/dist/components/layout.d.ts.map +1 -0
  287. package/dist/components/layout.js +644 -0
  288. package/dist/components/overlay.d.ts +102 -0
  289. package/dist/components/overlay.d.ts.map +1 -0
  290. package/dist/components/overlay.js +318 -0
  291. package/dist/components/surfaces.d.ts +180 -0
  292. package/dist/components/surfaces.d.ts.map +1 -0
  293. package/dist/components/surfaces.js +423 -0
  294. package/dist/components/typography.d.ts +69 -0
  295. package/dist/components/typography.d.ts.map +1 -0
  296. package/dist/components/typography.js +206 -0
  297. package/dist/index.d.ts +23 -0
  298. package/dist/index.d.ts.map +1 -0
  299. package/dist/index.js +29 -0
  300. package/dist/portal.d.ts +3 -0
  301. package/dist/portal.d.ts.map +1 -0
  302. package/dist/portal.js +17 -0
  303. package/dist/theme/index.d.ts +31 -0
  304. package/dist/theme/index.d.ts.map +1 -0
  305. package/dist/theme/index.js +258 -0
  306. package/dist/tokens/component.d.ts +124 -0
  307. package/dist/tokens/component.d.ts.map +1 -0
  308. package/dist/tokens/component.js +113 -0
  309. package/dist/tokens/index.d.ts +494 -0
  310. package/dist/tokens/index.d.ts.map +1 -0
  311. package/dist/tokens/index.js +345 -0
  312. package/dist/tokens/primitives.d.ts +675 -0
  313. package/dist/tokens/primitives.d.ts.map +1 -0
  314. package/dist/tokens/primitives.js +356 -0
  315. package/dist/tokens/semantic.d.ts +252 -0
  316. package/dist/tokens/semantic.d.ts.map +1 -0
  317. package/dist/tokens/semantic.js +242 -0
  318. package/dist/tokens/themes.d.ts +18 -0
  319. package/dist/tokens/themes.d.ts.map +1 -0
  320. package/dist/tokens/themes.js +316 -0
  321. package/package.json +69 -0
@@ -0,0 +1,494 @@
1
+ /**
2
+ * HyperUI Design Token API
3
+ *
4
+ * The complete token system in one import.
5
+ *
6
+ * Quick start:
7
+ * import { createTheme, applyTheme, tokens, useTokens } from "@hyperpackai/hyperui/tokens";
8
+ *
9
+ * // Apply a built-in theme:
10
+ * applyTheme("forest");
11
+ *
12
+ * // Build a custom brand theme:
13
+ * applyTheme(createTheme({ primaryColor: "#7c3aed", radius: "12px" }));
14
+ *
15
+ * // Access tokens in JS/TS:
16
+ * console.log(tokens.colors.indigo[500]); // "#6366f1"
17
+ *
18
+ * // Reactive token access in components:
19
+ * const { colors } = useTokens();
20
+ */
21
+ import { type Signal } from "@hyperpackai/hyperion";
22
+ import { type VNode } from "../theme/index.js";
23
+ import { primitives } from "./primitives.js";
24
+ import { type SemanticTokens } from "./semantic.js";
25
+ import { type ComponentTokens } from "./component.js";
26
+ import { type ThemeOverrides, type BuiltinTheme } from "./themes.js";
27
+ export { primitives } from "./primitives.js";
28
+ export { lightSemanticTokens, darkSemanticTokens, lightColors, darkColors, semanticSpacing, semanticTypography, semanticShadow, semanticMotion, semanticRadius, semanticZIndex } from "./semantic.js";
29
+ export type { SemanticTokens, SemanticColors } from "./semantic.js";
30
+ export { defaultComponentTokens } from "./component.js";
31
+ export type { ComponentTokens, ButtonTokens, InputTokens, CardTokens } from "./component.js";
32
+ export { themes, getDarkVariant } from "./themes.js";
33
+ export type { ThemeOverrides, BuiltinTheme } from "./themes.js";
34
+ export interface FullTokens {
35
+ /** Raw color scales, spacing, typography — never use directly in components */
36
+ primitives: typeof primitives;
37
+ /** Semantic tokens for the active colour mode */
38
+ semantic: SemanticTokens;
39
+ /** Per-component tokens */
40
+ component: ComponentTokens;
41
+ }
42
+ export declare const tokens: {
43
+ readonly colors: {
44
+ readonly gray: {
45
+ readonly 50: "#f8fafc";
46
+ readonly 100: "#f1f5f9";
47
+ readonly 200: "#e2e8f0";
48
+ readonly 300: "#cbd5e1";
49
+ readonly 400: "#94a3b8";
50
+ readonly 500: "#64748b";
51
+ readonly 600: "#475569";
52
+ readonly 700: "#334155";
53
+ readonly 800: "#1e293b";
54
+ readonly 900: "#0f172a";
55
+ readonly 950: "#020617";
56
+ };
57
+ readonly zinc: {
58
+ readonly 50: "#fafafa";
59
+ readonly 100: "#f4f4f5";
60
+ readonly 200: "#e4e4e7";
61
+ readonly 300: "#d4d4d8";
62
+ readonly 400: "#a1a1aa";
63
+ readonly 500: "#71717a";
64
+ readonly 600: "#52525b";
65
+ readonly 700: "#3f3f46";
66
+ readonly 800: "#27272a";
67
+ readonly 900: "#18181b";
68
+ readonly 950: "#09090b";
69
+ };
70
+ readonly indigo: {
71
+ readonly 50: "#eef2ff";
72
+ readonly 100: "#e0e7ff";
73
+ readonly 200: "#c7d2fe";
74
+ readonly 300: "#a5b4fc";
75
+ readonly 400: "#818cf8";
76
+ readonly 500: "#6366f1";
77
+ readonly 600: "#4f46e5";
78
+ readonly 700: "#4338ca";
79
+ readonly 800: "#3730a3";
80
+ readonly 900: "#312e81";
81
+ readonly 950: "#1e1b4b";
82
+ };
83
+ readonly violet: {
84
+ readonly 50: "#f5f3ff";
85
+ readonly 100: "#ede9fe";
86
+ readonly 200: "#ddd6fe";
87
+ readonly 300: "#c4b5fd";
88
+ readonly 400: "#a78bfa";
89
+ readonly 500: "#8b5cf6";
90
+ readonly 600: "#7c3aed";
91
+ readonly 700: "#6d28d9";
92
+ readonly 800: "#5b21b6";
93
+ readonly 900: "#4c1d95";
94
+ readonly 950: "#2e1065";
95
+ };
96
+ readonly emerald: {
97
+ readonly 50: "#ecfdf5";
98
+ readonly 100: "#d1fae5";
99
+ readonly 200: "#a7f3d0";
100
+ readonly 300: "#6ee7b7";
101
+ readonly 400: "#34d399";
102
+ readonly 500: "#10b981";
103
+ readonly 600: "#059669";
104
+ readonly 700: "#047857";
105
+ readonly 800: "#065f46";
106
+ readonly 900: "#064e3b";
107
+ readonly 950: "#022c22";
108
+ };
109
+ readonly amber: {
110
+ readonly 50: "#fffbeb";
111
+ readonly 100: "#fef3c7";
112
+ readonly 200: "#fde68a";
113
+ readonly 300: "#fcd34d";
114
+ readonly 400: "#fbbf24";
115
+ readonly 500: "#f59e0b";
116
+ readonly 600: "#d97706";
117
+ readonly 700: "#b45309";
118
+ readonly 800: "#92400e";
119
+ readonly 900: "#78350f";
120
+ readonly 950: "#451a03";
121
+ };
122
+ readonly rose: {
123
+ readonly 50: "#fff1f2";
124
+ readonly 100: "#ffe4e6";
125
+ readonly 200: "#fecdd3";
126
+ readonly 300: "#fda4af";
127
+ readonly 400: "#fb7185";
128
+ readonly 500: "#f43f5e";
129
+ readonly 600: "#e11d48";
130
+ readonly 700: "#be123c";
131
+ readonly 800: "#9f1239";
132
+ readonly 900: "#881337";
133
+ readonly 950: "#4c0519";
134
+ };
135
+ readonly sky: {
136
+ readonly 50: "#f0f9ff";
137
+ readonly 100: "#e0f2fe";
138
+ readonly 200: "#bae6fd";
139
+ readonly 300: "#7dd3fc";
140
+ readonly 400: "#38bdf8";
141
+ readonly 500: "#0ea5e9";
142
+ readonly 600: "#0284c7";
143
+ readonly 700: "#0369a1";
144
+ readonly 800: "#075985";
145
+ readonly 900: "#0c4a6e";
146
+ readonly 950: "#082f49";
147
+ };
148
+ readonly black: "#000000";
149
+ readonly white: "#ffffff";
150
+ readonly transparent: "transparent";
151
+ };
152
+ readonly spacing: {
153
+ readonly px: "1px";
154
+ readonly 0: "0px";
155
+ readonly 0.5: "2px";
156
+ readonly 1: "4px";
157
+ readonly 1.5: "6px";
158
+ readonly 2: "8px";
159
+ readonly 2.5: "10px";
160
+ readonly 3: "12px";
161
+ readonly 3.5: "14px";
162
+ readonly 4: "16px";
163
+ readonly 5: "20px";
164
+ readonly 6: "24px";
165
+ readonly 7: "28px";
166
+ readonly 8: "32px";
167
+ readonly 9: "36px";
168
+ readonly 10: "40px";
169
+ readonly 11: "44px";
170
+ readonly 12: "48px";
171
+ readonly 14: "56px";
172
+ readonly 16: "64px";
173
+ readonly 20: "80px";
174
+ readonly 24: "96px";
175
+ readonly 28: "112px";
176
+ readonly 32: "128px";
177
+ readonly 36: "144px";
178
+ readonly 40: "160px";
179
+ readonly 44: "176px";
180
+ readonly 48: "192px";
181
+ readonly 52: "208px";
182
+ readonly 56: "224px";
183
+ readonly 60: "240px";
184
+ readonly 64: "256px";
185
+ readonly 72: "288px";
186
+ readonly 80: "320px";
187
+ readonly 96: "384px";
188
+ };
189
+ readonly fontFamily: {
190
+ readonly sans: "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif";
191
+ readonly serif: "ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif";
192
+ readonly mono: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace";
193
+ readonly display: "\"Cal Sans\", \"Inter var\", ui-sans-serif, system-ui, sans-serif";
194
+ };
195
+ readonly fontSize: {
196
+ readonly "2xs": readonly ["10px", {
197
+ readonly lineHeight: "14px";
198
+ readonly letterSpacing: "0.025em";
199
+ }];
200
+ readonly xs: readonly ["11px", {
201
+ readonly lineHeight: "16px";
202
+ readonly letterSpacing: "0.015em";
203
+ }];
204
+ readonly sm: readonly ["13px", {
205
+ readonly lineHeight: "18px";
206
+ }];
207
+ readonly base: readonly ["14px", {
208
+ readonly lineHeight: "20px";
209
+ }];
210
+ readonly md: readonly ["15px", {
211
+ readonly lineHeight: "22px";
212
+ }];
213
+ readonly lg: readonly ["18px", {
214
+ readonly lineHeight: "26px";
215
+ }];
216
+ readonly xl: readonly ["20px", {
217
+ readonly lineHeight: "28px";
218
+ }];
219
+ readonly "2xl": readonly ["24px", {
220
+ readonly lineHeight: "32px";
221
+ }];
222
+ readonly "3xl": readonly ["30px", {
223
+ readonly lineHeight: "38px";
224
+ }];
225
+ readonly "4xl": readonly ["36px", {
226
+ readonly lineHeight: "44px";
227
+ }];
228
+ readonly "5xl": readonly ["48px", {
229
+ readonly lineHeight: "56px";
230
+ readonly letterSpacing: "-0.02em";
231
+ }];
232
+ readonly "6xl": readonly ["60px", {
233
+ readonly lineHeight: "68px";
234
+ readonly letterSpacing: "-0.025em";
235
+ }];
236
+ readonly "7xl": readonly ["72px", {
237
+ readonly lineHeight: "80px";
238
+ readonly letterSpacing: "-0.03em";
239
+ }];
240
+ readonly "8xl": readonly ["96px", {
241
+ readonly lineHeight: "104px";
242
+ readonly letterSpacing: "-0.04em";
243
+ }];
244
+ };
245
+ readonly fontWeight: {
246
+ readonly thin: "100";
247
+ readonly extralight: "200";
248
+ readonly light: "300";
249
+ readonly normal: "400";
250
+ readonly medium: "500";
251
+ readonly semibold: "600";
252
+ readonly bold: "700";
253
+ readonly extrabold: "800";
254
+ readonly black: "900";
255
+ };
256
+ readonly lineHeight: {
257
+ readonly none: "1";
258
+ readonly tight: "1.25";
259
+ readonly snug: "1.375";
260
+ readonly normal: "1.5";
261
+ readonly relaxed: "1.625";
262
+ readonly loose: "2";
263
+ };
264
+ readonly letterSpacing: {
265
+ readonly tighter: "-0.05em";
266
+ readonly tight: "-0.025em";
267
+ readonly normal: "0em";
268
+ readonly wide: "0.025em";
269
+ readonly wider: "0.05em";
270
+ readonly widest: "0.1em";
271
+ };
272
+ readonly borderRadius: {
273
+ readonly none: "0px";
274
+ readonly xs: "2px";
275
+ readonly sm: "4px";
276
+ readonly md: "6px";
277
+ readonly DEFAULT: "8px";
278
+ readonly lg: "10px";
279
+ readonly xl: "14px";
280
+ readonly "2xl": "18px";
281
+ readonly "3xl": "24px";
282
+ readonly full: "9999px";
283
+ };
284
+ readonly borderWidth: {
285
+ readonly 0: "0px";
286
+ readonly DEFAULT: "1px";
287
+ readonly 2: "2px";
288
+ readonly 4: "4px";
289
+ readonly 8: "8px";
290
+ };
291
+ readonly shadow: {
292
+ readonly none: "none";
293
+ readonly xs: "0 1px 2px rgb(0 0 0/5%)";
294
+ readonly sm: "0 1px 3px rgb(0 0 0/8%), 0 1px 2px rgb(0 0 0/4%)";
295
+ readonly DEFAULT: "0 4px 6px -1px rgb(0 0 0/8%), 0 2px 4px -2px rgb(0 0 0/4%)";
296
+ readonly md: "0 10px 15px -3px rgb(0 0 0/8%), 0 4px 6px -4px rgb(0 0 0/4%)";
297
+ readonly lg: "0 20px 25px -5px rgb(0 0 0/8%), 0 8px 10px -6px rgb(0 0 0/4%)";
298
+ readonly xl: "0 25px 50px -12px rgb(0 0 0/18%)";
299
+ readonly "2xl": "0 40px 70px -15px rgb(0 0 0/25%)";
300
+ readonly inner: "inset 0 2px 4px rgb(0 0 0/5%)";
301
+ readonly focus: "0 0 0 3px";
302
+ readonly focusPrimary: "0 0 0 3px rgb(99 102 241/0.25)";
303
+ readonly focusError: "0 0 0 3px rgb(239 68 68/0.25)";
304
+ };
305
+ readonly duration: {
306
+ readonly instant: "0ms";
307
+ readonly fastest: "50ms";
308
+ readonly faster: "100ms";
309
+ readonly fast: "150ms";
310
+ readonly normal: "200ms";
311
+ readonly slow: "300ms";
312
+ readonly slower: "500ms";
313
+ readonly slowest: "700ms";
314
+ readonly lazy: "1000ms";
315
+ };
316
+ readonly easing: {
317
+ readonly linear: "linear";
318
+ readonly in: "cubic-bezier(0.4, 0, 1, 1)";
319
+ readonly out: "cubic-bezier(0, 0, 0.2, 1)";
320
+ readonly inOut: "cubic-bezier(0.4, 0, 0.2, 1)";
321
+ readonly spring: "cubic-bezier(0.175, 0.885, 0.32, 1.275)";
322
+ readonly bounce: "cubic-bezier(0.34, 1.56, 0.64, 1)";
323
+ readonly elastic: "cubic-bezier(0.5, -0.5, 0.5, 1.5)";
324
+ };
325
+ readonly breakpoints: {
326
+ readonly xs: "480px";
327
+ readonly sm: "640px";
328
+ readonly md: "768px";
329
+ readonly lg: "1024px";
330
+ readonly xl: "1280px";
331
+ readonly "2xl": "1536px";
332
+ };
333
+ readonly zIndex: {
334
+ readonly hide: -1;
335
+ readonly auto: "auto";
336
+ readonly base: 0;
337
+ readonly raised: 1;
338
+ readonly dropdown: 1000;
339
+ readonly sticky: 1020;
340
+ readonly fixed: 1030;
341
+ readonly backdrop: 1040;
342
+ readonly modal: 1050;
343
+ readonly popover: 1060;
344
+ readonly tooltip: 1070;
345
+ readonly toast: 1080;
346
+ readonly max: 9999;
347
+ };
348
+ readonly opacity: {
349
+ readonly 0: "0";
350
+ readonly 5: "0.05";
351
+ readonly 10: "0.10";
352
+ readonly 20: "0.20";
353
+ readonly 25: "0.25";
354
+ readonly 30: "0.30";
355
+ readonly 40: "0.40";
356
+ readonly 50: "0.50";
357
+ readonly 60: "0.60";
358
+ readonly 70: "0.70";
359
+ readonly 75: "0.75";
360
+ readonly 80: "0.80";
361
+ readonly 90: "0.90";
362
+ readonly 95: "0.95";
363
+ readonly 100: "1";
364
+ };
365
+ readonly blur: {
366
+ readonly none: "blur(0)";
367
+ readonly sm: "blur(4px)";
368
+ readonly DEFAULT: "blur(8px)";
369
+ readonly md: "blur(12px)";
370
+ readonly lg: "blur(16px)";
371
+ readonly xl: "blur(24px)";
372
+ readonly "2xl": "blur(40px)";
373
+ readonly "3xl": "blur(64px)";
374
+ };
375
+ };
376
+ export type ThemeInput = string | ThemeOverrides;
377
+ /**
378
+ * Apply a theme to the document root. Accepts either a built-in theme name
379
+ * or a custom `ThemeOverrides` object.
380
+ *
381
+ * applyTheme("ocean");
382
+ * applyTheme("compact");
383
+ * applyTheme({ primaryColor: "#7c3aed", radius: "12px" });
384
+ * applyTheme("forest", { dark: true });
385
+ */
386
+ export declare function applyTheme(theme: ThemeInput, options?: {
387
+ dark?: boolean;
388
+ target?: HTMLElement;
389
+ direction?: ThemeDirection;
390
+ }): void;
391
+ /**
392
+ * Composes a theme from a base theme and partial overrides.
393
+ * Returns a `ThemeOverrides` object ready for `applyTheme()`.
394
+ *
395
+ * const myBrand = createTheme("default", {
396
+ * primaryColor: "#7c3aed",
397
+ * radius: "12px",
398
+ * fontFamily: "Inter, sans-serif"
399
+ * });
400
+ * applyTheme(myBrand);
401
+ */
402
+ export declare function createTheme(baseOrOverrides: string | ThemeOverrides, overrides?: ThemeOverrides): ThemeOverrides;
403
+ export type ColorMode = "light" | "dark" | "system";
404
+ export type ThemeDirection = "ltr" | "rtl";
405
+ export type ThemeDensity = "compact" | "default" | "comfortable";
406
+ /**
407
+ * Set the colour mode. Pass `"system"` to follow `prefers-color-scheme`.
408
+ *
409
+ * setColorMode("dark");
410
+ * setColorMode("system"); // auto
411
+ */
412
+ export declare function setColorMode(mode: ColorMode): void;
413
+ export interface ThemeProviderProps {
414
+ theme?: ThemeInput;
415
+ colorMode?: ColorMode;
416
+ direction?: ThemeDirection;
417
+ density?: ThemeDensity;
418
+ target?: HTMLElement;
419
+ class?: string;
420
+ children?: unknown;
421
+ }
422
+ export interface ThemeState {
423
+ theme: Signal<ThemeOverrides>;
424
+ colorMode: Signal<"light" | "dark">;
425
+ direction: Signal<ThemeDirection>;
426
+ isDark: Signal<boolean>;
427
+ setTheme(theme: ThemeInput, options?: {
428
+ colorMode?: ColorMode;
429
+ direction?: ThemeDirection;
430
+ }): void;
431
+ setColorMode(mode: ColorMode): void;
432
+ setDirection(direction: ThemeDirection): void;
433
+ }
434
+ /**
435
+ * Applies a HyperUI theme and returns a lightweight provider wrapper.
436
+ * In browser apps this mutates the target root with CSS variables.
437
+ * In SSR/Node it still returns a VNode with data attributes and inline variables.
438
+ */
439
+ export declare function ThemeProvider(props: ThemeProviderProps): VNode;
440
+ export declare function useTheme(): ThemeState;
441
+ /**
442
+ * Returns the current design tokens as reactive signals. Re-renders
443
+ * the component when the theme or colour mode changes.
444
+ *
445
+ * const { semantic, primitives } = useTokens();
446
+ * <div style={{ color: semantic.value.colors.text.default }}>Hello</div>
447
+ */
448
+ export declare function useTokens(): {
449
+ tokens: Signal<FullTokens>;
450
+ colorMode: Signal<"light" | "dark">;
451
+ isDark: Signal<boolean>;
452
+ };
453
+ /**
454
+ * Reads the current value of a CSS custom property from the document root.
455
+ * Useful for reading computed tokens in JavaScript.
456
+ *
457
+ * const primary = getCSSVar("--hu-primary"); // "#6366f1"
458
+ */
459
+ export declare function getCSSVar(name: string, element?: HTMLElement): string;
460
+ /**
461
+ * Generates a CSS variable block string from a `ThemeOverrides` object.
462
+ * Useful for SSR head injection or CSS-in-JS integration.
463
+ *
464
+ * const css = tokenToCSS(myTheme);
465
+ * // ":root { --hu-primary: #7c3aed; ... }"
466
+ */
467
+ export declare function tokenToCSS(overrides: ThemeOverrides, dark?: boolean, selector?: string): string;
468
+ export interface TokenExport {
469
+ version: string;
470
+ generated: string;
471
+ primitives: typeof primitives;
472
+ semantic: {
473
+ light: SemanticTokens;
474
+ dark: SemanticTokens;
475
+ };
476
+ components: ComponentTokens;
477
+ themes: Record<string, BuiltinTheme>;
478
+ }
479
+ /**
480
+ * Exports the complete design token system as a plain JSON-serialisable
481
+ * object. Use with Style Dictionary or Figma Tokens plugins.
482
+ *
483
+ * const json = JSON.stringify(exportTokens(), null, 2);
484
+ * fs.writeFileSync("tokens.json", json);
485
+ */
486
+ export declare function exportTokens(): TokenExport;
487
+ /**
488
+ * Returns every CSS variable defined by HyperUI as a flat Record.
489
+ * Useful for debugging or for exporting to a CSS file.
490
+ *
491
+ * console.log(getAllCSSVars()["--hu-primary"]); // "#6366f1"
492
+ */
493
+ export declare function getAllCSSVars(): Record<string, string>;
494
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAA0B,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,mBAAmB,EAAE,kBAAkB,EACvC,WAAW,EAAE,UAAU,EACvB,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EACnE,cAAc,EAAE,cAAc,EAC/B,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhE,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,iDAAiD;IACjD,QAAQ,EAAE,cAAc,CAAC;IACzB,2BAA2B;IAC3B,SAAS,EAAE,eAAe,CAAC;CAC5B;AAaD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAC;AAyDjC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,cAAc,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,cAAc,CAAA;CAAO,GACjF,IAAI,CAyBN;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,eAAe,EAAE,MAAM,GAAG,cAAc,EACxC,SAAS,GAAE,cAAmB,GAC7B,cAAc,CAUhB;AAMD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AACpD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAOjE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAqBlD;AAMD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IACnG,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/C;AAgDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAyB9D;AAED,wBAAgB,QAAQ,IAAI,UAAU,CAErC;AAMD;;;;;;GAMG;AACH,wBAAgB,SAAS,IAAI;IAC3B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CACzB,CASA;AAMD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAIrE;AAMD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,UAAQ,EAAE,QAAQ,SAAU,GAAG,MAAM,CAM9F;AAMD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAM,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,UAAU,EAAG,OAAO,UAAU,CAAC;IAC/B,QAAQ,EAAE;QACR,KAAK,EAAE,cAAc,CAAC;QACtB,IAAI,EAAG,cAAc,CAAC;KACvB,CAAC;IACF,UAAU,EAAG,eAAe,CAAC;IAC7B,MAAM,EAAO,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,WAAW,CAY1C;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUtD"}