tuiuiu.js 1.0.4 → 1.0.6-next.4ff3fbc

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 (292) hide show
  1. package/dist/app/render-loop.d.ts +2 -0
  2. package/dist/app/render-loop.d.ts.map +1 -1
  3. package/dist/app/render-loop.js +14 -3
  4. package/dist/app/render-loop.js.map +1 -1
  5. package/dist/atoms/button.d.ts +1 -1
  6. package/dist/atoms/button.d.ts.map +1 -1
  7. package/dist/atoms/button.js +13 -11
  8. package/dist/atoms/button.js.map +1 -1
  9. package/dist/atoms/progress-bar.d.ts.map +1 -1
  10. package/dist/atoms/progress-bar.js +15 -12
  11. package/dist/atoms/progress-bar.js.map +1 -1
  12. package/dist/atoms/scrollbar.d.ts +30 -0
  13. package/dist/atoms/scrollbar.d.ts.map +1 -0
  14. package/dist/atoms/scrollbar.js +46 -0
  15. package/dist/atoms/scrollbar.js.map +1 -0
  16. package/dist/atoms/slider.js +6 -6
  17. package/dist/atoms/slider.js.map +1 -1
  18. package/dist/atoms/spinner.d.ts.map +1 -1
  19. package/dist/atoms/spinner.js +3 -2
  20. package/dist/atoms/spinner.js.map +1 -1
  21. package/dist/atoms/switch.d.ts.map +1 -1
  22. package/dist/atoms/switch.js +3 -2
  23. package/dist/atoms/switch.js.map +1 -1
  24. package/dist/atoms/text-input.d.ts.map +1 -1
  25. package/dist/atoms/text-input.js +6 -5
  26. package/dist/atoms/text-input.js.map +1 -1
  27. package/dist/atoms/timer.d.ts +1 -1
  28. package/dist/atoms/timer.js +4 -4
  29. package/dist/atoms/timer.js.map +1 -1
  30. package/dist/atoms/tooltip.d.ts +4 -4
  31. package/dist/atoms/tooltip.js +19 -19
  32. package/dist/atoms/tooltip.js.map +1 -1
  33. package/dist/core/delta-render.d.ts.map +1 -1
  34. package/dist/core/delta-render.js +17 -12
  35. package/dist/core/delta-render.js.map +1 -1
  36. package/dist/core/index.d.ts +2 -2
  37. package/dist/core/index.d.ts.map +1 -1
  38. package/dist/core/index.js +15 -3
  39. package/dist/core/index.js.map +1 -1
  40. package/dist/core/renderer.d.ts +4 -2
  41. package/dist/core/renderer.d.ts.map +1 -1
  42. package/dist/core/renderer.js +70 -43
  43. package/dist/core/renderer.js.map +1 -1
  44. package/dist/core/theme-loader.d.ts +89 -0
  45. package/dist/core/theme-loader.d.ts.map +1 -0
  46. package/dist/core/theme-loader.js +228 -0
  47. package/dist/core/theme-loader.js.map +1 -0
  48. package/dist/core/theme-types.d.ts +577 -0
  49. package/dist/core/theme-types.d.ts.map +1 -0
  50. package/dist/core/theme-types.js +13 -0
  51. package/dist/core/theme-types.js.map +1 -0
  52. package/dist/core/theme.d.ts +155 -236
  53. package/dist/core/theme.d.ts.map +1 -1
  54. package/dist/core/theme.js +418 -709
  55. package/dist/core/theme.js.map +1 -1
  56. package/dist/design-system/core/renderer.d.ts +14 -3
  57. package/dist/design-system/core/renderer.d.ts.map +1 -1
  58. package/dist/design-system/core/renderer.js +77 -38
  59. package/dist/design-system/core/renderer.js.map +1 -1
  60. package/dist/design-system/feedback/badge.d.ts +2 -8
  61. package/dist/design-system/feedback/badge.d.ts.map +1 -1
  62. package/dist/design-system/feedback/badge.js +32 -8
  63. package/dist/design-system/feedback/badge.js.map +1 -1
  64. package/dist/design-system/feedback/progress-bar.d.ts.map +1 -1
  65. package/dist/design-system/feedback/progress-bar.js +15 -12
  66. package/dist/design-system/feedback/progress-bar.js.map +1 -1
  67. package/dist/design-system/feedback/spinner.d.ts.map +1 -1
  68. package/dist/design-system/feedback/spinner.js +4 -3
  69. package/dist/design-system/feedback/spinner.js.map +1 -1
  70. package/dist/design-system/feedback/timer.js +3 -3
  71. package/dist/design-system/feedback/timer.js.map +1 -1
  72. package/dist/design-system/layout/app.js +6 -6
  73. package/dist/design-system/layout/app.js.map +1 -1
  74. package/dist/design-system/navigation/file-manager.js +15 -15
  75. package/dist/design-system/navigation/file-manager.js.map +1 -1
  76. package/dist/design-system/visual/big-text.js +6 -6
  77. package/dist/design-system/visual/big-text.js.map +1 -1
  78. package/dist/design-system/visual/digits.js +7 -7
  79. package/dist/design-system/visual/digits.js.map +1 -1
  80. package/dist/design-system/visual/splash-screen.d.ts.map +1 -1
  81. package/dist/design-system/visual/splash-screen.js +23 -17
  82. package/dist/design-system/visual/splash-screen.js.map +1 -1
  83. package/dist/design-system/visual/tooltip.js +16 -16
  84. package/dist/design-system/visual/tooltip.js.map +1 -1
  85. package/dist/hooks/index.d.ts +1 -1
  86. package/dist/hooks/index.d.ts.map +1 -1
  87. package/dist/hooks/index.js +1 -1
  88. package/dist/hooks/index.js.map +1 -1
  89. package/dist/hooks/types.d.ts +2 -0
  90. package/dist/hooks/types.d.ts.map +1 -1
  91. package/dist/hooks/use-app.d.ts +5 -0
  92. package/dist/hooks/use-app.d.ts.map +1 -1
  93. package/dist/hooks/use-app.js +10 -0
  94. package/dist/hooks/use-app.js.map +1 -1
  95. package/dist/index.d.ts +3 -3
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +11 -3
  98. package/dist/index.js.map +1 -1
  99. package/dist/mcp/docs-data.d.ts.map +1 -1
  100. package/dist/mcp/docs-data.js +625 -28
  101. package/dist/mcp/docs-data.js.map +1 -1
  102. package/dist/mcp/server.js +1 -1
  103. package/dist/molecules/autocomplete.js +10 -10
  104. package/dist/molecules/autocomplete.js.map +1 -1
  105. package/dist/molecules/calendar.d.ts.map +1 -1
  106. package/dist/molecules/calendar.js +13 -12
  107. package/dist/molecules/calendar.js.map +1 -1
  108. package/dist/molecules/code-block.js +21 -21
  109. package/dist/molecules/code-block.js.map +1 -1
  110. package/dist/molecules/collapsible.d.ts +9 -5
  111. package/dist/molecules/collapsible.d.ts.map +1 -1
  112. package/dist/molecules/collapsible.js +39 -7
  113. package/dist/molecules/collapsible.js.map +1 -1
  114. package/dist/molecules/data-viz/bar-chart.js +8 -8
  115. package/dist/molecules/data-viz/bar-chart.js.map +1 -1
  116. package/dist/molecules/data-viz/gauge.d.ts.map +1 -1
  117. package/dist/molecules/data-viz/gauge.js +17 -17
  118. package/dist/molecules/data-viz/gauge.js.map +1 -1
  119. package/dist/molecules/data-viz/heatmap.js +11 -11
  120. package/dist/molecules/data-viz/heatmap.js.map +1 -1
  121. package/dist/molecules/data-viz/legend.js +3 -3
  122. package/dist/molecules/data-viz/legend.js.map +1 -1
  123. package/dist/molecules/data-viz/line-chart.js +4 -4
  124. package/dist/molecules/data-viz/line-chart.js.map +1 -1
  125. package/dist/molecules/data-viz/sparkline.js +1 -1
  126. package/dist/molecules/data-viz/sparkline.js.map +1 -1
  127. package/dist/molecules/markdown.js +23 -23
  128. package/dist/molecules/markdown.js.map +1 -1
  129. package/dist/molecules/multi-select.js +9 -9
  130. package/dist/molecules/multi-select.js.map +1 -1
  131. package/dist/molecules/radio-group.js +8 -8
  132. package/dist/molecules/radio-group.js.map +1 -1
  133. package/dist/molecules/select.d.ts.map +1 -1
  134. package/dist/molecules/select.js +15 -13
  135. package/dist/molecules/select.js.map +1 -1
  136. package/dist/molecules/table.js +3 -3
  137. package/dist/molecules/table.js.map +1 -1
  138. package/dist/molecules/tabs.d.ts +6 -2
  139. package/dist/molecules/tabs.d.ts.map +1 -1
  140. package/dist/molecules/tabs.js +25 -13
  141. package/dist/molecules/tabs.js.map +1 -1
  142. package/dist/molecules/tree.js +5 -5
  143. package/dist/molecules/tree.js.map +1 -1
  144. package/dist/organisms/command-palette.d.ts.map +1 -1
  145. package/dist/organisms/command-palette.js +19 -17
  146. package/dist/organisms/command-palette.js.map +1 -1
  147. package/dist/organisms/data-table.js +5 -5
  148. package/dist/organisms/data-table.js.map +1 -1
  149. package/dist/organisms/file-browser.js +15 -15
  150. package/dist/organisms/file-browser.js.map +1 -1
  151. package/dist/organisms/index.d.ts +2 -1
  152. package/dist/organisms/index.d.ts.map +1 -1
  153. package/dist/organisms/index.js +13 -1
  154. package/dist/organisms/index.js.map +1 -1
  155. package/dist/organisms/modal.d.ts +46 -0
  156. package/dist/organisms/modal.d.ts.map +1 -1
  157. package/dist/organisms/modal.js +110 -29
  158. package/dist/organisms/modal.js.map +1 -1
  159. package/dist/organisms/scroll-area.js +6 -6
  160. package/dist/organisms/scroll-area.js.map +1 -1
  161. package/dist/organisms/scroll-list.d.ts +168 -0
  162. package/dist/organisms/scroll-list.d.ts.map +1 -0
  163. package/dist/organisms/scroll-list.js +338 -0
  164. package/dist/organisms/scroll-list.js.map +1 -0
  165. package/dist/organisms/split-panel.d.ts.map +1 -1
  166. package/dist/organisms/split-panel.js +7 -4
  167. package/dist/organisms/split-panel.js.map +1 -1
  168. package/dist/primitives/divider.d.ts.map +1 -1
  169. package/dist/primitives/divider.js +4 -3
  170. package/dist/primitives/divider.js.map +1 -1
  171. package/dist/primitives/index.d.ts +1 -0
  172. package/dist/primitives/index.d.ts.map +1 -1
  173. package/dist/primitives/index.js +1 -0
  174. package/dist/primitives/index.js.map +1 -1
  175. package/dist/primitives/nodes.d.ts.map +1 -1
  176. package/dist/primitives/nodes.js +5 -3
  177. package/dist/primitives/nodes.js.map +1 -1
  178. package/dist/primitives/scroll.d.ts +127 -0
  179. package/dist/primitives/scroll.d.ts.map +1 -0
  180. package/dist/primitives/scroll.js +202 -0
  181. package/dist/primitives/scroll.js.map +1 -0
  182. package/dist/storybook/app.d.ts.map +1 -1
  183. package/dist/storybook/app.js +218 -84
  184. package/dist/storybook/app.js.map +1 -1
  185. package/dist/storybook/components/compare-view.d.ts.map +1 -1
  186. package/dist/storybook/components/compare-view.js +25 -19
  187. package/dist/storybook/components/compare-view.js.map +1 -1
  188. package/dist/storybook/components/hotkeys-panel.d.ts +12 -0
  189. package/dist/storybook/components/hotkeys-panel.d.ts.map +1 -0
  190. package/dist/storybook/components/hotkeys-panel.js +44 -0
  191. package/dist/storybook/components/hotkeys-panel.js.map +1 -0
  192. package/dist/storybook/components/index.d.ts +6 -0
  193. package/dist/storybook/components/index.d.ts.map +1 -1
  194. package/dist/storybook/components/index.js +9 -0
  195. package/dist/storybook/components/index.js.map +1 -1
  196. package/dist/storybook/components/log-viewer.d.ts +9 -4
  197. package/dist/storybook/components/log-viewer.d.ts.map +1 -1
  198. package/dist/storybook/components/log-viewer.js +97 -35
  199. package/dist/storybook/components/log-viewer.js.map +1 -1
  200. package/dist/storybook/components/navbar.d.ts +17 -0
  201. package/dist/storybook/components/navbar.d.ts.map +1 -0
  202. package/dist/storybook/components/navbar.js +52 -0
  203. package/dist/storybook/components/navbar.js.map +1 -0
  204. package/dist/storybook/components/pressed-keys.d.ts +29 -0
  205. package/dist/storybook/components/pressed-keys.d.ts.map +1 -0
  206. package/dist/storybook/components/pressed-keys.js +148 -0
  207. package/dist/storybook/components/pressed-keys.js.map +1 -0
  208. package/dist/storybook/components/preview.d.ts.map +1 -1
  209. package/dist/storybook/components/preview.js +44 -34
  210. package/dist/storybook/components/preview.js.map +1 -1
  211. package/dist/storybook/components/search-bar.d.ts +29 -0
  212. package/dist/storybook/components/search-bar.d.ts.map +1 -0
  213. package/dist/storybook/components/search-bar.js +101 -0
  214. package/dist/storybook/components/search-bar.js.map +1 -0
  215. package/dist/storybook/components/sidebar.d.ts.map +1 -1
  216. package/dist/storybook/components/sidebar.js +27 -21
  217. package/dist/storybook/components/sidebar.js.map +1 -1
  218. package/dist/storybook/components/status-bar.d.ts +22 -0
  219. package/dist/storybook/components/status-bar.d.ts.map +1 -0
  220. package/dist/storybook/components/status-bar.js +64 -0
  221. package/dist/storybook/components/status-bar.js.map +1 -0
  222. package/dist/storybook/store.d.ts +13 -1
  223. package/dist/storybook/store.d.ts.map +1 -1
  224. package/dist/storybook/store.js +21 -1
  225. package/dist/storybook/store.js.map +1 -1
  226. package/dist/storybook/stories/apps/index.d.ts.map +1 -1
  227. package/dist/storybook/stories/apps/index.js +82 -147
  228. package/dist/storybook/stories/apps/index.js.map +1 -1
  229. package/dist/storybook/stories/atoms/index.d.ts.map +1 -1
  230. package/dist/storybook/stories/atoms/index.js +57 -52
  231. package/dist/storybook/stories/atoms/index.js.map +1 -1
  232. package/dist/storybook/stories/molecules/index.d.ts +16 -0
  233. package/dist/storybook/stories/molecules/index.d.ts.map +1 -1
  234. package/dist/storybook/stories/molecules/index.js +299 -91
  235. package/dist/storybook/stories/molecules/index.js.map +1 -1
  236. package/dist/storybook/stories/organisms/index.d.ts.map +1 -1
  237. package/dist/storybook/stories/organisms/index.js +207 -120
  238. package/dist/storybook/stories/organisms/index.js.map +1 -1
  239. package/dist/templates/app.d.ts +28 -23
  240. package/dist/templates/app.d.ts.map +1 -1
  241. package/dist/templates/app.js +104 -17
  242. package/dist/templates/app.js.map +1 -1
  243. package/dist/themes/catppuccin.theme.d.ts +8 -0
  244. package/dist/themes/catppuccin.theme.d.ts.map +1 -0
  245. package/dist/themes/catppuccin.theme.js +538 -0
  246. package/dist/themes/catppuccin.theme.js.map +1 -0
  247. package/dist/themes/dark.theme.d.ts +8 -0
  248. package/dist/themes/dark.theme.d.ts.map +1 -0
  249. package/dist/themes/dark.theme.js +502 -0
  250. package/dist/themes/dark.theme.js.map +1 -0
  251. package/dist/themes/dracula.theme.d.ts +8 -0
  252. package/dist/themes/dracula.theme.d.ts.map +1 -0
  253. package/dist/themes/dracula.theme.js +518 -0
  254. package/dist/themes/dracula.theme.js.map +1 -0
  255. package/dist/themes/gruvbox.theme.d.ts +8 -0
  256. package/dist/themes/gruvbox.theme.d.ts.map +1 -0
  257. package/dist/themes/gruvbox.theme.js +529 -0
  258. package/dist/themes/gruvbox.theme.js.map +1 -0
  259. package/dist/themes/high-contrast-dark.theme.d.ts +8 -0
  260. package/dist/themes/high-contrast-dark.theme.d.ts.map +1 -0
  261. package/dist/themes/high-contrast-dark.theme.js +503 -0
  262. package/dist/themes/high-contrast-dark.theme.js.map +1 -0
  263. package/dist/themes/index.d.ts +58 -0
  264. package/dist/themes/index.d.ts.map +1 -0
  265. package/dist/themes/index.js +75 -0
  266. package/dist/themes/index.js.map +1 -0
  267. package/dist/themes/light.theme.d.ts +8 -0
  268. package/dist/themes/light.theme.d.ts.map +1 -0
  269. package/dist/themes/light.theme.js +502 -0
  270. package/dist/themes/light.theme.js.map +1 -0
  271. package/dist/themes/monochrome.theme.d.ts +8 -0
  272. package/dist/themes/monochrome.theme.d.ts.map +1 -0
  273. package/dist/themes/monochrome.theme.js +503 -0
  274. package/dist/themes/monochrome.theme.js.map +1 -0
  275. package/dist/themes/monokai.theme.d.ts +8 -0
  276. package/dist/themes/monokai.theme.d.ts.map +1 -0
  277. package/dist/themes/monokai.theme.js +518 -0
  278. package/dist/themes/monokai.theme.js.map +1 -0
  279. package/dist/themes/nord.theme.d.ts +8 -0
  280. package/dist/themes/nord.theme.d.ts.map +1 -0
  281. package/dist/themes/nord.theme.js +527 -0
  282. package/dist/themes/nord.theme.js.map +1 -0
  283. package/dist/themes/solarized-dark.theme.d.ts +8 -0
  284. package/dist/themes/solarized-dark.theme.d.ts.map +1 -0
  285. package/dist/themes/solarized-dark.theme.js +525 -0
  286. package/dist/themes/solarized-dark.theme.js.map +1 -0
  287. package/dist/themes/tokyo-night.theme.d.ts +8 -0
  288. package/dist/themes/tokyo-night.theme.d.ts.map +1 -0
  289. package/dist/themes/tokyo-night.theme.js +529 -0
  290. package/dist/themes/tokyo-night.theme.js.map +1 -0
  291. package/dist/version.js +1 -1
  292. package/package.json +1 -1
@@ -1,299 +1,218 @@
1
1
  /**
2
2
  * Theme System - Context-based theming for Tuiuiu
3
3
  *
4
- * Provides dark/light themes with customizable colors, spacing, and styles.
5
- * Uses signals for reactive theme switching.
6
- *
7
- * Color system includes:
8
- * - Complete color palette (22 colors × 11 shades)
9
- * - Semantic colors with foreground variants
10
- * - Auto-theming support for components
4
+ * Clean, unified theme API with:
5
+ * - Direct theme structure access (no conversion layer)
6
+ * - Signal-based reactive theme switching
7
+ * - Component tokens for consistent styling
8
+ * - Background/foreground hierarchy for visual depth
11
9
  */
12
10
  import { type ColorShade } from './colors.js';
13
- export interface ThemeColors {
14
- /** Main background color */
15
- background: string;
16
- /** Main foreground/text color */
17
- foreground: string;
18
- /** Card background color */
19
- card: string;
20
- /** Card text color */
21
- cardForeground: string;
22
- /** Popover/dropdown background color */
23
- popover: string;
24
- /** Popover text color */
25
- popoverForeground: string;
26
- /** Primary brand color */
27
- primary: string;
28
- /** Primary text/icon color (on primary background) */
29
- primaryForeground: string;
30
- /** Secondary accent color */
31
- secondary: string;
32
- /** Secondary text/icon color */
33
- secondaryForeground: string;
34
- /** Muted/subdued background color */
35
- muted: string;
36
- /** Muted text color */
37
- mutedForeground: string;
38
- /** Accent color for highlights */
39
- accent: string;
40
- /** Accent text color */
41
- accentForeground: string;
42
- /** Destructive/danger color */
43
- destructive: string;
44
- /** Destructive text color */
45
- destructiveForeground: string;
46
- /** Border color */
47
- border: string;
48
- /** Input border/background color */
49
- input: string;
50
- /** Focus ring color */
51
- ring: string;
52
- /** Success state color */
53
- success: string;
54
- /** Success text color */
55
- successForeground: string;
56
- /** Warning state color */
57
- warning: string;
58
- /** Warning text color */
59
- warningForeground: string;
60
- /** Error state color */
61
- error: string;
62
- /** Error text color */
63
- errorForeground: string;
64
- /** Info state color */
65
- info: string;
66
- /** Info text color */
67
- infoForeground: string;
68
- }
69
- export interface ThemeSpacing {
70
- /** Extra small spacing (1 char) */
71
- xs: number;
72
- /** Small spacing (2 chars) */
73
- sm: number;
74
- /** Medium spacing (4 chars) */
75
- md: number;
76
- /** Large spacing (8 chars) */
77
- lg: number;
78
- /** Extra large spacing (16 chars) */
79
- xl: number;
80
- }
81
- export type BorderRadius = 'none' | 'sm' | 'md' | 'lg';
82
- export interface Theme {
83
- /** Theme name identifier */
84
- name: string;
85
- /** Color palette */
86
- colors: ThemeColors;
87
- /** Spacing scale */
88
- spacing: ThemeSpacing;
89
- /** Default border radius style */
90
- borderRadius: BorderRadius;
91
- }
11
+ import type { Theme, ThemeMode, ThemePalette, ThemeBackground, ThemeForeground, ThemeAccent, ThemeStates, ThemeBorders, ThemeOpacity, ComponentTokens, ComponentName, BorderRadius } from './theme-types.js';
12
+ export type { Theme, ThemeMode, ThemePalette, ThemeBackground, ThemeForeground, ThemeAccent, ThemeStates, ThemeBorders, ThemeOpacity, ComponentTokens, ComponentName, ColorScale, ShadeValue, BorderRadius, ForegroundInverse, StateToken, FocusState, DisabledState, SelectedState, ButtonTokens, ButtonVariantTokens, PanelTokens, MenuTokens, MenuItemTokens, TabsTokens, TabTokens, DropdownTokens, DropdownItemTokens, InputTokens, CheckboxTokens, RadioTokens, TooltipTokens, ModalTokens, BadgeTokens, BadgeVariantTokens, ListTokens, ListItemTokens, } from './theme-types.js';
13
+ export { getShade } from './theme-types.js';
14
+ import { darkTheme } from '../themes/dark.theme.js';
15
+ import { lightTheme } from '../themes/light.theme.js';
16
+ import { monokaiTheme } from '../themes/monokai.theme.js';
17
+ import { draculaTheme } from '../themes/dracula.theme.js';
18
+ import { nordTheme } from '../themes/nord.theme.js';
19
+ import { solarizedDarkTheme } from '../themes/solarized-dark.theme.js';
20
+ import { gruvboxTheme } from '../themes/gruvbox.theme.js';
21
+ import { tokyoNightTheme } from '../themes/tokyo-night.theme.js';
22
+ import { catppuccinTheme } from '../themes/catppuccin.theme.js';
23
+ import { highContrastDarkTheme } from '../themes/high-contrast-dark.theme.js';
24
+ import { monochromeTheme } from '../themes/monochrome.theme.js';
25
+ export { darkTheme, lightTheme, monokaiTheme, draculaTheme, nordTheme, solarizedDarkTheme, gruvboxTheme, tokyoNightTheme, catppuccinTheme, highContrastDarkTheme, monochromeTheme, };
26
+ /**
27
+ * Get the current theme (reactive).
28
+ *
29
+ * Use destructuring to access specific parts:
30
+ * ```typescript
31
+ * const { palette, background, foreground, components } = useTheme()
32
+ * const buttonBg = components.button.primary.bg
33
+ * ```
34
+ */
35
+ export declare function useTheme(): Theme;
92
36
  /**
93
- * Dark theme - Default theme with dark background
37
+ * Get the current theme without tracking (for use outside effects).
94
38
  */
95
- export declare const darkTheme: Theme;
39
+ export declare function getTheme(): Theme;
96
40
  /**
97
- * Light theme - Light background variant
41
+ * Get the current theme mode ('dark' or 'light').
98
42
  */
99
- export declare const lightTheme: Theme;
43
+ export declare function useThemeMode(): ThemeMode;
100
44
  /**
101
- * High contrast dark theme - For accessibility
45
+ * Check if current theme is dark mode.
102
46
  */
103
- export declare const highContrastDarkTheme: Theme;
47
+ export declare function useIsDark(): boolean;
104
48
  /**
105
- * Monochrome theme - Grayscale only
49
+ * Get component tokens for a specific component.
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const buttonTokens = useComponentTokens('button')
54
+ * const { primary, secondary, outline, ghost } = buttonTokens
55
+ * ```
106
56
  */
107
- export declare const monochromeTheme: Theme;
57
+ export declare function useComponentTokens<K extends ComponentName>(component: K): ComponentTokens[K];
108
58
  /**
109
- * Monokai theme - Classic code editor theme
59
+ * Set the global theme.
110
60
  */
111
- export declare const monokaiTheme: Theme;
61
+ export declare function setTheme(theme: Theme): void;
112
62
  /**
113
- * Dracula theme - Popular dark theme
63
+ * Push a theme onto the stack (for nested themes).
114
64
  */
115
- export declare const draculaTheme: Theme;
65
+ export declare function pushTheme(theme: Theme): void;
116
66
  /**
117
- * Nord theme - Arctic, bluish theme
67
+ * Pop a theme from the stack.
118
68
  */
119
- export declare const nordTheme: Theme;
69
+ export declare function popTheme(): void;
120
70
  /**
121
- * Solarized Dark theme
71
+ * All built-in themes.
122
72
  */
123
- export declare const solarizedDarkTheme: Theme;
73
+ export declare const themes: {
74
+ readonly dark: Theme;
75
+ readonly light: Theme;
76
+ readonly monokai: Theme;
77
+ readonly dracula: Theme;
78
+ readonly nord: Theme;
79
+ readonly solarizedDark: Theme;
80
+ readonly gruvbox: Theme;
81
+ readonly tokyoNight: Theme;
82
+ readonly catppuccin: Theme;
83
+ readonly highContrastDark: Theme;
84
+ readonly monochrome: Theme;
85
+ };
86
+ /** Theme name type */
87
+ export type ThemeName = keyof typeof themes;
88
+ /** All theme names for cycling */
89
+ export declare const themeNames: ThemeName[];
124
90
  /**
125
- * Gruvbox Dark theme - Warm retro theme
91
+ * Get a theme by name.
126
92
  */
127
- export declare const gruvboxTheme: Theme;
93
+ export declare function getThemeByName(name: ThemeName): Theme;
128
94
  /**
129
- * Tokyo Night theme - Modern VSCode theme
95
+ * Get next theme in cycle.
130
96
  */
131
- export declare const tokyoNightTheme: Theme;
97
+ export declare function getNextTheme(current: Theme): Theme;
132
98
  /**
133
- * Catppuccin Mocha theme - Soothing pastel theme
99
+ * Get previous theme in cycle.
134
100
  */
135
- export declare const catppuccinTheme: Theme;
101
+ export declare function getPreviousTheme(current: Theme): Theme;
136
102
  /**
137
- * Get the current theme
103
+ * Create a custom theme by extending an existing theme.
104
+ *
105
+ * For deep customization, use `mergeThemes` from theme-loader.
138
106
  */
139
- export declare function useTheme(): Theme;
107
+ export declare function createTheme(base: Theme, overrides: Partial<Theme>): Theme;
140
108
  /**
141
- * Get the current theme without tracking (for use outside effects)
109
+ * Map border radius to actual characters.
142
110
  */
143
- export declare function getTheme(): Theme;
111
+ export declare function getBorderRadiusChars(radius: BorderRadius): {
112
+ tl: string;
113
+ tr: string;
114
+ bl: string;
115
+ br: string;
116
+ };
144
117
  /**
145
- * Set the global theme
118
+ * Get the best contrasting text color (white or black) for a given background.
119
+ * Uses WCAG luminance formula for accessibility.
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * getContrastColor('#3b82f6') // 'white' (blue is dark)
124
+ * getContrastColor('#fbbf24') // 'black' (amber is light)
125
+ * ```
146
126
  */
147
- export declare function setTheme(theme: Theme): void;
127
+ export declare function getContrastColor(color: string): 'white' | 'black';
148
128
  /**
149
- * Push a theme onto the stack (for nested themes)
129
+ * Get a Tailwind color by name and shade.
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * getColor('blue', 500) // '#3b82f6'
134
+ * getColor('gray', 100) // '#f3f4f6'
135
+ * ```
150
136
  */
151
- export declare function pushTheme(theme: Theme): void;
137
+ export declare function getColor(name: string, shade?: ColorShade): string;
152
138
  /**
153
- * Pop a theme from the stack
139
+ * Get a darker shade of a color.
140
+ *
141
+ * @param name Color name from colors.ts
142
+ * @param steps Number of shade steps to darken (1 = +100)
154
143
  */
155
- export declare function popTheme(): void;
144
+ export declare function getDarker(name: string, steps?: number): string;
156
145
  /**
157
- * Create a custom theme by extending an existing theme
146
+ * Get a lighter shade of a color.
147
+ *
148
+ * @param name Color name from colors.ts
149
+ * @param steps Number of shade steps to lighten (1 = -100)
158
150
  */
159
- export declare function createTheme(base: Theme, overrides: Partial<Theme>): Theme;
151
+ export declare function getLighter(name: string, steps?: number): string;
160
152
  /**
161
- * Get a color from the current theme
153
+ * Detect system color scheme preference.
154
+ * Checks COLORFGBG environment variable.
162
155
  */
163
- export declare function themeColor(key: keyof ThemeColors): string;
156
+ export declare function detectColorScheme(): ThemeMode;
164
157
  /**
165
- * Semantic color keys that have foreground variants
158
+ * Auto-select theme based on system preference.
166
159
  */
167
- export type SemanticColorKey = 'primary' | 'secondary' | 'muted' | 'accent' | 'destructive' | 'success' | 'warning' | 'error' | 'info' | 'card' | 'popover';
160
+ export declare function useSystemTheme(): void;
168
161
  /**
169
- * Get a color pair (background + foreground) for semantic colors.
170
- * Use this for buttons, badges, navbars, and any filled components.
162
+ * Shorthand for common theme access patterns.
171
163
  *
172
164
  * @example
173
- * const { bg, fg } = themeColorPair('primary');
174
- * Box({ backgroundColor: bg },
175
- * Text({ color: fg }, 'Button')
176
- * )
177
- *
178
- * @example
179
- * // Destructuring in component
180
- * const colors = themeColorPair('success');
181
- * Badge({ backgroundColor: colors.bg, color: colors.fg }, 'OK')
165
+ * ```typescript
166
+ * const { bg, fg, palette, components } = th()
167
+ * ```
182
168
  */
183
- export declare function themeColorPair(key: SemanticColorKey): {
184
- bg: string;
185
- fg: string;
186
- };
169
+ export declare function th(): Theme;
187
170
  /**
188
- * Get a spacing value from the current theme
171
+ * Get background colors from current theme.
189
172
  */
190
- export declare function themeSpacing(key: keyof ThemeSpacing): number;
173
+ export declare function useBg(): ThemeBackground;
191
174
  /**
192
- * Get the best contrasting text color (white or black) for a given background.
193
- * Uses WCAG luminance formula for accessibility.
194
- *
195
- * @example
196
- * getContrastColor('#3b82f6') // 'white' (blue is dark)
197
- * getContrastColor('#fbbf24') // 'black' (amber is light)
198
- * getContrastColor('cyan') // 'black' (cyan is light)
199
- *
200
- * @example
201
- * // With custom component
202
- * const bg = '#ff6b6b';
203
- * Box({ backgroundColor: bg },
204
- * Text({ color: getContrastColor(bg) }, 'Hello')
205
- * )
175
+ * Get foreground colors from current theme.
206
176
  */
207
- export declare function getContrastColor(color: string): 'white' | 'black';
177
+ export declare function useFg(): ThemeForeground;
208
178
  /**
209
- * Map border radius to actual characters
179
+ * Get palette from current theme.
210
180
  */
211
- export declare function getBorderRadiusChars(radius: BorderRadius): {
212
- tl: string;
213
- tr: string;
214
- bl: string;
215
- br: string;
216
- };
181
+ export declare function usePalette(): ThemePalette;
217
182
  /**
218
- * Resolve a color string to a hex value.
219
- *
220
- * Supports multiple formats:
221
- * - Semantic names: 'primary', 'secondary', 'destructive', etc.
222
- * - Tailwind format: 'blue-500', 'gray-100', 'red-600'
223
- * - Color name only: 'blue', 'red' (uses shade 500)
224
- * - Hex values: '#3b82f6', '#fff'
225
- * - RGB values: 'rgb(59, 130, 246)'
226
- *
227
- * @example
228
- * resolveColor('primary') // Theme's primary color
229
- * resolveColor('blue-500') // '#3b82f6'
230
- * resolveColor('blue') // '#3b82f6' (shade 500)
231
- * resolveColor('#ff0000') // '#ff0000' (passed through)
183
+ * Get accent colors from current theme.
232
184
  */
233
- export declare function resolveColor(colorInput: string): string;
185
+ export declare function useAccents(): ThemeAccent;
234
186
  /**
235
- * Detect system color scheme preference
236
- * Note: In terminal context, this checks COLORFGBG or similar env vars
187
+ * Get state colors from current theme.
237
188
  */
238
- export declare function detectColorScheme(): 'dark' | 'light';
189
+ export declare function useStates(): ThemeStates;
239
190
  /**
240
- * Auto-select theme based on system preference
191
+ * Get border colors from current theme.
241
192
  */
242
- export declare function useSystemTheme(): void;
243
- export declare const themes: {
244
- dark: Theme;
245
- light: Theme;
246
- highContrastDark: Theme;
247
- monochrome: Theme;
248
- monokai: Theme;
249
- dracula: Theme;
250
- nord: Theme;
251
- solarizedDark: Theme;
252
- gruvbox: Theme;
253
- tokyoNight: Theme;
254
- catppuccin: Theme;
255
- };
256
- /** All theme names for cycling */
257
- export declare const themeNames: (keyof typeof themes)[];
258
- /** Get next theme in cycle */
259
- export declare function getNextTheme(current: Theme): Theme;
193
+ export declare function useBorders(): ThemeBorders;
194
+ /**
195
+ * Get opacity values from current theme.
196
+ */
197
+ export declare function useOpacity(): ThemeOpacity;
260
198
  /**
261
- * Tailwind-style color utilities.
199
+ * Resolve a color value to a hex string.
200
+ *
201
+ * Handles:
202
+ * - ANSI color names (returned as-is for the renderer)
203
+ * - Semantic theme colors (primary, success, foreground, etc.)
204
+ * - Hex colors (#rrggbb)
205
+ * - RGB colors (rgb(r,g,b))
206
+ * - Palette colors (blue-500)
262
207
  *
263
208
  * @example
264
- * tw.color('blue', 500) // '#3b82f6'
265
- * tw.color('gray', 100) // '#f3f4f6'
266
- * tw.theme('primary') // Current theme's primary color
267
- * tw.darker('blue', 2) // blue-700 (500 + 2*100)
268
- * tw.lighter('blue', 2) // blue-300 (500 - 2*100)
269
- */
270
- export declare const tw: {
271
- /**
272
- * Get a Tailwind color by name and shade
273
- */
274
- color: (name: string, shade?: ColorShade) => string;
275
- /**
276
- * Get a color from the current theme
277
- */
278
- theme: (key: keyof ThemeColors) => string;
279
- /**
280
- * Get a darker shade of a color (moves towards 950)
281
- * @param name Color name
282
- * @param steps Number of shade steps to darken (1 = +100)
283
- */
284
- darker: (name: string, steps?: number) => string;
285
- /**
286
- * Get a lighter shade of a color (moves towards 50)
287
- * @param name Color name
288
- * @param steps Number of shade steps to lighten (1 = -100)
289
- */
290
- lighter: (name: string, steps?: number) => string;
291
- /**
292
- * Get a shade relative to a base shade
293
- * @param name Color name
294
- * @param baseShade Starting shade
295
- * @param offset Offset from base (+100, -200, etc.)
296
- */
297
- shade: (name: string, baseShade: ColorShade, offset: number) => string;
298
- };
209
+ * ```typescript
210
+ * resolveColor('primary') // '#3b82f6' (from theme)
211
+ * resolveColor('foreground') // '#f8fafc' (from theme)
212
+ * resolveColor('#ff6600') // '#ff6600' (passthrough)
213
+ * resolveColor('blue-500') // '#3b82f6' (from colors.ts)
214
+ * resolveColor('red') // 'red' (ANSI color, passthrough)
215
+ * ```
216
+ */
217
+ export declare function resolveColor(color: string): string;
299
218
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"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"}