react-native-terra-ui 0.1.0 → 0.2.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 (304) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/lib/module/components/avatar/Avatar.js +118 -35
  3. package/lib/module/components/avatar/Avatar.js.map +1 -1
  4. package/lib/module/components/avatar/index.js.map +1 -1
  5. package/lib/module/components/box/Box.js +15 -2
  6. package/lib/module/components/box/Box.js.map +1 -1
  7. package/lib/module/components/box/index.js.map +1 -1
  8. package/lib/module/components/box/utils.js +5 -2
  9. package/lib/module/components/box/utils.js.map +1 -1
  10. package/lib/module/components/button/Button.js +7 -14
  11. package/lib/module/components/button/Button.js.map +1 -1
  12. package/lib/module/components/button/index.js.map +1 -1
  13. package/lib/module/components/chip/Chip.js +372 -0
  14. package/lib/module/components/chip/Chip.js.map +1 -0
  15. package/lib/module/components/chip/index.js +4 -0
  16. package/lib/module/components/chip/index.js.map +1 -0
  17. package/lib/module/components/chip/types.js +2 -0
  18. package/lib/module/components/chip/types.js.map +1 -0
  19. package/lib/module/components/chip/utils.js +36 -0
  20. package/lib/module/components/chip/utils.js.map +1 -0
  21. package/lib/module/components/empty-state/EmptyState.js +200 -0
  22. package/lib/module/components/empty-state/EmptyState.js.map +1 -0
  23. package/lib/module/components/empty-state/index.js +4 -0
  24. package/lib/module/components/empty-state/index.js.map +1 -0
  25. package/lib/module/components/empty-state/types.js +2 -0
  26. package/lib/module/components/empty-state/types.js.map +1 -0
  27. package/lib/module/components/header/Header.js.map +1 -1
  28. package/lib/module/components/header/header-buttons.js +31 -36
  29. package/lib/module/components/header/header-buttons.js.map +1 -1
  30. package/lib/module/components/header/index.js +1 -1
  31. package/lib/module/components/header/index.js.map +1 -1
  32. package/lib/module/components/header/parts/HeaderGradientOverlay.js +38 -0
  33. package/lib/module/components/header/parts/HeaderGradientOverlay.js.map +1 -0
  34. package/lib/module/components/header/variants/LargeTitleHeader/index.js +71 -101
  35. package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -1
  36. package/lib/module/components/header/variants/TitleHeader/index.js +34 -65
  37. package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -1
  38. package/lib/module/components/icon/Icon.js +21 -9
  39. package/lib/module/components/icon/Icon.js.map +1 -1
  40. package/lib/module/components/icon/index.js.map +1 -1
  41. package/lib/module/components/image/Image.js +54 -0
  42. package/lib/module/components/image/Image.js.map +1 -0
  43. package/lib/module/components/image/index.js +4 -0
  44. package/lib/module/components/image/index.js.map +1 -0
  45. package/lib/module/components/image/types.js +4 -0
  46. package/lib/module/components/image/types.js.map +1 -0
  47. package/lib/module/components/index.js +4 -0
  48. package/lib/module/components/index.js.map +1 -1
  49. package/lib/module/components/page-indicator/PageIndicator.js.map +1 -1
  50. package/lib/module/components/page-indicator/PageIndicatorRoot.js.map +1 -1
  51. package/lib/module/components/page-indicator/hooks/use-page-indicator-colors.js +1 -1
  52. package/lib/module/components/page-indicator/hooks/use-page-indicator-colors.js.map +1 -1
  53. package/lib/module/components/page-indicator/hooks/use-page-indicator-core.js.map +1 -1
  54. package/lib/module/components/page-indicator/hooks/use-page-indicator-progress.js.map +1 -1
  55. package/lib/module/components/page-indicator/index.js.map +1 -1
  56. package/lib/module/components/page-indicator/variants/DotIndicator/InactiveDot.js.map +1 -1
  57. package/lib/module/components/page-indicator/variants/DotIndicator/LoadingOrbit.js.map +1 -1
  58. package/lib/module/components/page-indicator/variants/DotIndicator/TravelingPill.js.map +1 -1
  59. package/lib/module/components/page-indicator/variants/DotIndicator/index.js.map +1 -1
  60. package/lib/module/components/page-indicator/variants/PillIndicator/PillIndicatorDot.js.map +1 -1
  61. package/lib/module/components/page-indicator/variants/PillIndicator/index.js.map +1 -1
  62. package/lib/module/components/portal/Portal.js +42 -0
  63. package/lib/module/components/portal/Portal.js.map +1 -0
  64. package/lib/module/components/portal/PortalContext.js +1 -16
  65. package/lib/module/components/portal/PortalContext.js.map +1 -1
  66. package/lib/module/components/portal/PortalHost.js +16 -14
  67. package/lib/module/components/portal/PortalHost.js.map +1 -1
  68. package/lib/module/components/portal/PortalProvider.js +51 -19
  69. package/lib/module/components/portal/PortalProvider.js.map +1 -1
  70. package/lib/module/components/portal/index.js +1 -1
  71. package/lib/module/components/portal/index.js.map +1 -1
  72. package/lib/module/components/screen/Screen.js +26 -29
  73. package/lib/module/components/screen/Screen.js.map +1 -1
  74. package/lib/module/components/screen/ScreenContext.js +7 -5
  75. package/lib/module/components/screen/ScreenContext.js.map +1 -1
  76. package/lib/module/components/screen/ScreenFlashList.js +144 -0
  77. package/lib/module/components/screen/ScreenFlashList.js.map +1 -0
  78. package/lib/module/components/screen/ScreenFlatList.js +88 -27
  79. package/lib/module/components/screen/ScreenFlatList.js.map +1 -1
  80. package/lib/module/components/screen/ScreenScrollView.js +101 -34
  81. package/lib/module/components/screen/ScreenScrollView.js.map +1 -1
  82. package/lib/module/components/screen/index.js +1 -0
  83. package/lib/module/components/screen/index.js.map +1 -1
  84. package/lib/module/components/screen/parts/BottomSafeArea.js +62 -0
  85. package/lib/module/components/screen/parts/BottomSafeArea.js.map +1 -0
  86. package/lib/module/components/screen/parts/ScreenPlaceholder.js +50 -0
  87. package/lib/module/components/screen/parts/ScreenPlaceholder.js.map +1 -0
  88. package/lib/module/components/screen/types.js +4 -0
  89. package/lib/module/components/screen/types.js.map +1 -0
  90. package/lib/module/components/screen/utils.js +12 -9
  91. package/lib/module/components/screen/utils.js.map +1 -1
  92. package/lib/module/components/slot/Slot.js.map +1 -1
  93. package/lib/module/components/slot/index.js.map +1 -1
  94. package/lib/module/components/spinner/Spinner.js +1 -1
  95. package/lib/module/components/spinner/Spinner.js.map +1 -1
  96. package/lib/module/components/spinner/index.js.map +1 -1
  97. package/lib/module/components/surface/Surface.js +16 -9
  98. package/lib/module/components/surface/Surface.js.map +1 -1
  99. package/lib/module/components/surface/index.js.map +1 -1
  100. package/lib/module/components/text/Text.js +25 -7
  101. package/lib/module/components/text/Text.js.map +1 -1
  102. package/lib/module/components/text/index.js.map +1 -1
  103. package/lib/module/components/toast/Toast.js +8 -8
  104. package/lib/module/components/toast/Toast.js.map +1 -1
  105. package/lib/module/components/toast/ToastProvider.js.map +1 -1
  106. package/lib/module/components/toast/index.js.map +1 -1
  107. package/lib/module/components/toolbar/Toolbar.js +268 -0
  108. package/lib/module/components/toolbar/Toolbar.js.map +1 -0
  109. package/lib/module/components/toolbar/index.js +4 -0
  110. package/lib/module/components/toolbar/index.js.map +1 -0
  111. package/lib/module/context/ThemeProvider.js +5 -2
  112. package/lib/module/context/ThemeProvider.js.map +1 -1
  113. package/lib/module/context/index.js.map +1 -1
  114. package/lib/module/index.js.map +1 -1
  115. package/lib/module/{components/icon/utils.js → theme/defaults/icons.js} +1 -1
  116. package/lib/module/theme/defaults/icons.js.map +1 -0
  117. package/lib/module/theme/defaults/image.js +30 -0
  118. package/lib/module/theme/defaults/image.js.map +1 -0
  119. package/lib/module/theme/index.js +6 -6
  120. package/lib/module/theme/index.js.map +1 -1
  121. package/lib/module/theme/{configure.js → registry.js} +23 -30
  122. package/lib/module/theme/registry.js.map +1 -0
  123. package/lib/module/theme/runtime.js +1 -1
  124. package/lib/module/theme/runtime.js.map +1 -1
  125. package/lib/module/theme/theme.js +92 -11
  126. package/lib/module/theme/theme.js.map +1 -1
  127. package/lib/module/theme/tokens/dark.js +59 -68
  128. package/lib/module/theme/tokens/dark.js.map +1 -1
  129. package/lib/module/theme/tokens/light.js +49 -67
  130. package/lib/module/theme/tokens/light.js.map +1 -1
  131. package/lib/module/theme/tokens/primitives.js +241 -20
  132. package/lib/module/theme/tokens/primitives.js.map +1 -1
  133. package/lib/module/utils/accent-utils.js +4 -4
  134. package/lib/module/utils/accent-utils.js.map +1 -1
  135. package/lib/typescript/src/components/avatar/Avatar.d.ts.map +1 -1
  136. package/lib/typescript/src/components/avatar/types.d.ts +5 -5
  137. package/lib/typescript/src/components/avatar/types.d.ts.map +1 -1
  138. package/lib/typescript/src/components/box/Box.d.ts.map +1 -1
  139. package/lib/typescript/src/components/box/utils.d.ts +6 -1
  140. package/lib/typescript/src/components/box/utils.d.ts.map +1 -1
  141. package/lib/typescript/src/components/button/Button.d.ts +2 -2
  142. package/lib/typescript/src/components/button/Button.d.ts.map +1 -1
  143. package/lib/typescript/src/components/chip/Chip.d.ts +24 -0
  144. package/lib/typescript/src/components/chip/Chip.d.ts.map +1 -0
  145. package/lib/typescript/src/components/chip/index.d.ts +4 -0
  146. package/lib/typescript/src/components/chip/index.d.ts.map +1 -0
  147. package/lib/typescript/src/components/chip/types.d.ts +8 -0
  148. package/lib/typescript/src/components/chip/types.d.ts.map +1 -0
  149. package/lib/typescript/src/components/chip/utils.d.ts +8 -0
  150. package/lib/typescript/src/components/chip/utils.d.ts.map +1 -0
  151. package/lib/typescript/src/components/empty-state/EmptyState.d.ts +45 -0
  152. package/lib/typescript/src/components/empty-state/EmptyState.d.ts.map +1 -0
  153. package/lib/typescript/src/components/empty-state/index.d.ts +4 -0
  154. package/lib/typescript/src/components/empty-state/index.d.ts.map +1 -0
  155. package/lib/typescript/src/components/empty-state/types.d.ts +6 -0
  156. package/lib/typescript/src/components/empty-state/types.d.ts.map +1 -0
  157. package/lib/typescript/src/components/header/header-buttons.d.ts +27 -0
  158. package/lib/typescript/src/components/header/header-buttons.d.ts.map +1 -1
  159. package/lib/typescript/src/components/header/index.d.ts +1 -1
  160. package/lib/typescript/src/components/header/index.d.ts.map +1 -1
  161. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts +7 -0
  162. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts.map +1 -0
  163. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts +1 -1
  164. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -1
  165. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts +19 -8
  166. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -1
  167. package/lib/typescript/src/components/icon/Icon.d.ts +1 -1
  168. package/lib/typescript/src/components/icon/Icon.d.ts.map +1 -1
  169. package/lib/typescript/src/components/image/Image.d.ts +16 -0
  170. package/lib/typescript/src/components/image/Image.d.ts.map +1 -0
  171. package/lib/typescript/src/components/image/index.d.ts +3 -0
  172. package/lib/typescript/src/components/image/index.d.ts.map +1 -0
  173. package/lib/typescript/src/components/image/types.d.ts +7 -0
  174. package/lib/typescript/src/components/image/types.d.ts.map +1 -0
  175. package/lib/typescript/src/components/index.d.ts +4 -0
  176. package/lib/typescript/src/components/index.d.ts.map +1 -1
  177. package/lib/typescript/src/components/page-indicator/PageIndicator.d.ts +1 -1
  178. package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-colors.d.ts +1 -1
  179. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/index.d.ts +1 -1
  180. package/lib/typescript/src/components/page-indicator/variants/PillIndicator/index.d.ts +1 -1
  181. package/lib/typescript/src/components/portal/Portal.d.ts +26 -0
  182. package/lib/typescript/src/components/portal/Portal.d.ts.map +1 -0
  183. package/lib/typescript/src/components/portal/PortalContext.d.ts +11 -14
  184. package/lib/typescript/src/components/portal/PortalContext.d.ts.map +1 -1
  185. package/lib/typescript/src/components/portal/PortalHost.d.ts +9 -4
  186. package/lib/typescript/src/components/portal/PortalHost.d.ts.map +1 -1
  187. package/lib/typescript/src/components/portal/PortalProvider.d.ts +3 -3
  188. package/lib/typescript/src/components/portal/PortalProvider.d.ts.map +1 -1
  189. package/lib/typescript/src/components/portal/index.d.ts +4 -2
  190. package/lib/typescript/src/components/portal/index.d.ts.map +1 -1
  191. package/lib/typescript/src/components/screen/Screen.d.ts +19 -14
  192. package/lib/typescript/src/components/screen/Screen.d.ts.map +1 -1
  193. package/lib/typescript/src/components/screen/ScreenContext.d.ts +12 -9
  194. package/lib/typescript/src/components/screen/ScreenContext.d.ts.map +1 -1
  195. package/lib/typescript/src/components/screen/ScreenFlashList.d.ts +43 -0
  196. package/lib/typescript/src/components/screen/ScreenFlashList.d.ts.map +1 -0
  197. package/lib/typescript/src/components/screen/ScreenFlatList.d.ts +17 -7
  198. package/lib/typescript/src/components/screen/ScreenFlatList.d.ts.map +1 -1
  199. package/lib/typescript/src/components/screen/ScreenScrollView.d.ts +51 -16
  200. package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -1
  201. package/lib/typescript/src/components/screen/index.d.ts +3 -0
  202. package/lib/typescript/src/components/screen/index.d.ts.map +1 -1
  203. package/lib/typescript/src/components/screen/parts/BottomSafeArea.d.ts +30 -0
  204. package/lib/typescript/src/components/screen/parts/BottomSafeArea.d.ts.map +1 -0
  205. package/lib/typescript/src/components/screen/parts/ScreenPlaceholder.d.ts +22 -0
  206. package/lib/typescript/src/components/screen/parts/ScreenPlaceholder.d.ts.map +1 -0
  207. package/lib/typescript/src/components/screen/types.d.ts +42 -0
  208. package/lib/typescript/src/components/screen/types.d.ts.map +1 -0
  209. package/lib/typescript/src/components/screen/utils.d.ts +9 -9
  210. package/lib/typescript/src/components/screen/utils.d.ts.map +1 -1
  211. package/lib/typescript/src/components/spinner/Spinner.d.ts +1 -1
  212. package/lib/typescript/src/components/surface/Surface.d.ts +8 -1
  213. package/lib/typescript/src/components/surface/Surface.d.ts.map +1 -1
  214. package/lib/typescript/src/components/text/Text.d.ts +1 -1
  215. package/lib/typescript/src/components/text/Text.d.ts.map +1 -1
  216. package/lib/typescript/src/components/toast/Toast.d.ts +1 -1
  217. package/lib/typescript/src/components/toolbar/Toolbar.d.ts +115 -0
  218. package/lib/typescript/src/components/toolbar/Toolbar.d.ts.map +1 -0
  219. package/lib/typescript/src/components/toolbar/index.d.ts +3 -0
  220. package/lib/typescript/src/components/toolbar/index.d.ts.map +1 -0
  221. package/lib/typescript/src/context/ThemeProvider.d.ts.map +1 -1
  222. package/lib/typescript/src/{components/icon/utils.d.ts → theme/defaults/icons.d.ts} +2 -2
  223. package/lib/typescript/src/theme/defaults/icons.d.ts.map +1 -0
  224. package/lib/typescript/src/theme/defaults/image.d.ts +4 -0
  225. package/lib/typescript/src/theme/defaults/image.d.ts.map +1 -0
  226. package/lib/typescript/src/theme/index.d.ts +7 -7
  227. package/lib/typescript/src/theme/index.d.ts.map +1 -1
  228. package/lib/typescript/src/theme/{configure.d.ts → registry.d.ts} +1 -1
  229. package/lib/typescript/src/theme/registry.d.ts.map +1 -0
  230. package/lib/typescript/src/theme/theme.d.ts +21 -1
  231. package/lib/typescript/src/theme/theme.d.ts.map +1 -1
  232. package/lib/typescript/src/theme/tokens/dark.d.ts +41 -64
  233. package/lib/typescript/src/theme/tokens/dark.d.ts.map +1 -1
  234. package/lib/typescript/src/theme/tokens/light.d.ts +44 -65
  235. package/lib/typescript/src/theme/tokens/light.d.ts.map +1 -1
  236. package/lib/typescript/src/theme/tokens/primitives.d.ts +228 -17
  237. package/lib/typescript/src/theme/tokens/primitives.d.ts.map +1 -1
  238. package/lib/typescript/src/theme/types.d.ts +66 -36
  239. package/lib/typescript/src/theme/types.d.ts.map +1 -1
  240. package/lib/typescript/src/utils/accent-utils.d.ts +1 -1
  241. package/lib/typescript/src/utils/resolve-theme-color.d.ts +1 -1
  242. package/lib/typescript/src/utils/typography.d.ts +1 -1
  243. package/package.json +28 -12
  244. package/skills/terra-ui/SKILL.md +193 -0
  245. package/skills/terra-ui/references/recipes.md +198 -0
  246. package/skills/terra-ui/references/troubleshooting.md +112 -0
  247. package/src/components/avatar/Avatar.tsx +128 -38
  248. package/src/components/avatar/types.ts +5 -5
  249. package/src/components/box/Box.tsx +13 -1
  250. package/src/components/box/utils.ts +10 -0
  251. package/src/components/button/Button.tsx +7 -15
  252. package/src/components/chip/Chip.tsx +444 -0
  253. package/src/components/chip/index.ts +3 -0
  254. package/src/components/chip/types.ts +15 -0
  255. package/src/components/chip/utils.ts +34 -0
  256. package/src/components/empty-state/EmptyState.tsx +209 -0
  257. package/src/components/empty-state/index.ts +3 -0
  258. package/src/components/empty-state/types.ts +5 -0
  259. package/src/components/header/header-buttons.tsx +33 -45
  260. package/src/components/header/index.ts +2 -0
  261. package/src/components/header/parts/HeaderGradientOverlay.tsx +29 -0
  262. package/src/components/header/variants/LargeTitleHeader/index.tsx +68 -102
  263. package/src/components/header/variants/TitleHeader/index.tsx +47 -56
  264. package/src/components/icon/Icon.tsx +20 -15
  265. package/src/components/image/Image.tsx +48 -0
  266. package/src/components/image/index.ts +2 -0
  267. package/src/components/image/types.ts +7 -0
  268. package/src/components/index.ts +4 -0
  269. package/src/components/portal/Portal.tsx +55 -0
  270. package/src/components/portal/PortalContext.tsx +14 -22
  271. package/src/components/portal/PortalHost.tsx +17 -10
  272. package/src/components/portal/PortalProvider.tsx +58 -21
  273. package/src/components/portal/index.ts +4 -2
  274. package/src/components/screen/Screen.tsx +45 -59
  275. package/src/components/screen/ScreenContext.tsx +19 -12
  276. package/src/components/screen/ScreenFlashList.tsx +196 -0
  277. package/src/components/screen/ScreenFlatList.tsx +100 -39
  278. package/src/components/screen/ScreenScrollView.tsx +114 -53
  279. package/src/components/screen/index.ts +3 -0
  280. package/src/components/screen/parts/BottomSafeArea.tsx +60 -0
  281. package/src/components/screen/parts/ScreenPlaceholder.tsx +55 -0
  282. package/src/components/screen/types.ts +43 -0
  283. package/src/components/screen/utils.ts +29 -15
  284. package/src/components/surface/Surface.tsx +17 -20
  285. package/src/components/text/Text.tsx +23 -5
  286. package/src/components/toast/Toast.tsx +8 -8
  287. package/src/components/toolbar/Toolbar.tsx +353 -0
  288. package/src/components/toolbar/index.ts +6 -0
  289. package/src/context/ThemeProvider.tsx +5 -4
  290. package/src/{components/icon/utils.tsx → theme/defaults/icons.tsx} +1 -1
  291. package/src/theme/defaults/image.tsx +34 -0
  292. package/src/theme/index.ts +1 -1
  293. package/src/theme/{configure.ts → registry.ts} +19 -34
  294. package/src/theme/runtime.ts +1 -1
  295. package/src/theme/theme.ts +127 -13
  296. package/src/theme/tokens/dark.ts +60 -69
  297. package/src/theme/tokens/light.ts +50 -68
  298. package/src/theme/tokens/primitives.ts +248 -20
  299. package/src/theme/types.ts +67 -35
  300. package/src/utils/accent-utils.ts +4 -4
  301. package/lib/module/components/icon/utils.js.map +0 -1
  302. package/lib/module/theme/configure.js.map +0 -1
  303. package/lib/typescript/src/components/icon/utils.d.ts.map +0 -1
  304. package/lib/typescript/src/theme/configure.d.ts.map +0 -1
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { createContext, useCallback, useContext, useMemo, useState } from 'react';
4
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
4
5
  import { useUnistyles } from 'react-native-unistyles';
5
- import { configureTerraUI, getIsConfigured } from "../theme/configure.js";
6
+ import { configureTerraUI, getIsConfigured } from "../theme/registry.js";
6
7
  import { applyAccent, applyScheme, getCurrentAccent } from "../theme/runtime.js";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  // Ensure the default theme is registered on first import, unless the app already
@@ -34,7 +35,9 @@ export const TerraUIProvider = ({
34
35
  }), [accent, setAccent]);
35
36
  return /*#__PURE__*/_jsx(ThemeContext.Provider, {
36
37
  value: value,
37
- children: children
38
+ children: /*#__PURE__*/_jsx(SafeAreaProvider, {
39
+ children: children
40
+ })
38
41
  });
39
42
  };
40
43
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useMemo","useState","useUnistyles","configureTerraUI","getIsConfigured","applyAccent","applyScheme","getCurrentAccent","jsx","_jsx","ThemeContext","TerraUIProvider","children","accent","setAccentState","setAccent","name","value","Provider","useTheme","theme","rt","ctx","setScheme","scheme","themeName","noopSetAccent","_name","__DEV__","console","warn"],"sourceRoot":"../../../src","sources":["context/ThemeProvider.tsx"],"mappings":";;AAAA,SACEA,aAAa,EAEbC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,QAAQ,QACH,OAAO;AAEd,SAASC,YAAY,QAAQ,wBAAwB;AAErD,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,uBAAoB;AACtE,SAASC,WAAW,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9E;AACA;AACA,IAAI,CAACL,eAAe,CAAC,CAAC,EAAE;EACtBD,gBAAgB,CAAC,CAAC;AACpB;AAOA,MAAMO,YAAY,gBAAGb,aAAa,CAA2B,IAAI,CAAC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMc,eAAe,GAAGA,CAAC;EAAEC;AAA4B,CAAC,KAAK;EAClE,MAAM,CAACC,MAAM,EAAEC,cAAc,CAAC,GAAGb,QAAQ,CAAqB,MAC5DM,gBAAgB,CAAC,CACnB,CAAC;EAED,MAAMQ,SAAS,GAAGjB,WAAW,CAAEkB,IAAY,IAAK;IAC9CX,WAAW,CAACW,IAAI,CAAC;IACjBF,cAAc,CAACE,IAAI,CAAC;EACtB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,KAAK,GAAGjB,OAAO,CACnB,OAAO;IAAEa,MAAM;IAAEE;EAAU,CAAC,CAAC,EAC7B,CAACF,MAAM,EAAEE,SAAS,CACpB,CAAC;EAED,oBACEN,IAAA,CAACC,YAAY,CAACQ,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAL,QAAA,EAAEA;EAAQ,CAAwB,CAAC;AAE3E,CAAC;AAeD;AACA;AACA;AACA;AACA,OAAO,SAASO,QAAQA,CAAA,EAAmB;EACzC,MAAM;IAAEC,KAAK;IAAEC;EAAG,CAAC,GAAGnB,YAAY,CAAC,CAAC;EACpC,MAAMoB,GAAG,GAAGvB,UAAU,CAACW,YAAY,CAAC;EAEpC,MAAMa,SAAS,GAAGzB,WAAW,CAAE0B,MAAc,IAAK;IAChDlB,WAAW,CAACkB,MAAM,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLJ,KAAK;IACLI,MAAM,EAAGH,EAAE,CAACI,SAAS,IAAI,OAAkB;IAC3CF,SAAS;IACTV,MAAM,EAAES,GAAG,EAAET,MAAM;IACnBE,SAAS,EAAEO,GAAG,EAAEP,SAAS,IAAIW;EAC/B,CAAC;AACH;AAEA,MAAMA,aAAa,GAAIC,KAAa,IAAW;EAC7C,IAAIC,OAAO,EAAE;IACXC,OAAO,CAACC,IAAI,CACV,qEACF,CAAC;EACH;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useMemo","useState","SafeAreaProvider","useUnistyles","configureTerraUI","getIsConfigured","applyAccent","applyScheme","getCurrentAccent","jsx","_jsx","ThemeContext","TerraUIProvider","children","accent","setAccentState","setAccent","name","value","Provider","useTheme","theme","rt","ctx","setScheme","scheme","themeName","noopSetAccent","_name","__DEV__","console","warn"],"sourceRoot":"../../../src","sources":["context/ThemeProvider.tsx"],"mappings":";;AAAA,SACEA,aAAa,EAEbC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,QAAQ,QACH,OAAO;AACd,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,gBAAgB,EAAEC,eAAe;AAC1C,SAASC,WAAW,EAAEC,WAAW,EAAEC,gBAAgB;AAA2B,SAAAC,GAAA,IAAAC,IAAA;AAG9E;AACA;AACA,IAAI,CAACL,eAAe,CAAC,CAAC,EAAE;EACtBD,gBAAgB,CAAC,CAAC;AACpB;AAOA,MAAMO,YAAY,gBAAGd,aAAa,CAA2B,IAAI,CAAC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMe,eAAe,GAAGA,CAAC;EAAEC;AAA4B,CAAC,KAAK;EAClE,MAAM,CAACC,MAAM,EAAEC,cAAc,CAAC,GAAGd,QAAQ,CAAqB,MAC5DO,gBAAgB,CAAC,CACnB,CAAC;EAED,MAAMQ,SAAS,GAAGlB,WAAW,CAAEmB,IAAY,IAAK;IAC9CX,WAAW,CAACW,IAAI,CAAC;IACjBF,cAAc,CAACE,IAAI,CAAC;EACtB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,KAAK,GAAGlB,OAAO,CACnB,OAAO;IAAEc,MAAM;IAAEE;EAAU,CAAC,CAAC,EAC7B,CAACF,MAAM,EAAEE,SAAS,CACpB,CAAC;EAED,oBACEN,IAAA,CAACC,YAAY,CAACQ,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAL,QAAA,eAClCH,IAAA,CAACR,gBAAgB;MAAAW,QAAA,EAAEA;IAAQ,CAAmB;EAAC,CAC1B,CAAC;AAE5B,CAAC;AAeD;AACA;AACA;AACA;AACA,OAAO,SAASO,QAAQA,CAAA,EAAmB;EACzC,MAAM;IAAEC,KAAK;IAAEC;EAAG,CAAC,GAAGnB,YAAY,CAAC,CAAC;EACpC,MAAMoB,GAAG,GAAGxB,UAAU,CAACY,YAAY,CAAC;EAEpC,MAAMa,SAAS,GAAG1B,WAAW,CAAE2B,MAAc,IAAK;IAChDlB,WAAW,CAACkB,MAAM,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLJ,KAAK;IACLI,MAAM,EAAGH,EAAE,CAACI,SAAS,IAAI,OAAkB;IAC3CF,SAAS;IACTV,MAAM,EAAES,GAAG,EAAET,MAAM;IACnBE,SAAS,EAAEO,GAAG,EAAEP,SAAS,IAAIW;EAC/B,CAAC;AACH;AAEA,MAAMA,aAAa,GAAIC,KAAa,IAAW;EAC7C,IAAIC,OAAO,EAAE;IACXC,OAAO,CAACC,IAAI,CACV,qEACF,CAAC;EACH;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TerraUIProvider","useTheme"],"sourceRoot":"../../../src","sources":["context/index.ts"],"mappings":";;AACA,SAASA,eAAe,EAAEC,QAAQ,QAAQ,oBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["TerraUIProvider","useTheme"],"sourceRoot":"../../../src","sources":["context/index.ts"],"mappings":";;AACA,SAASA,eAAe,EAAEC,QAAQ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA,cAAc,oBAAW;AAEzB,cAAc,uBAAc;AAC5B,cAAc,kBAAS","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AAEA;AACA","ignoreList":[]}
@@ -185,4 +185,4 @@ export const defaultIcons = {
185
185
  'status.danger': DangerIcon,
186
186
  person: PersonIcon
187
187
  };
188
- //# sourceMappingURL=utils.js.map
188
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Svg","Circle","Path","jsx","_jsx","jsxs","_jsxs","DEFAULT_SIZE","DEFAULT_COLOR","DEFAULT_STROKE_WIDTH","resolveIconProps","size","color","strokeWidth","strokeProps","stroke","strokeLinecap","strokeLinejoin","SvgIcon","children","width","height","viewBox","fill","PathIcon","d","props","NAV_CENTER","NAV_CHEVRON_OPEN","NAV_CHEVRON_ARM","BackIcon","ForwardIcon","CloseIcon","InfoIcon","cx","cy","r","SuccessIcon","WarningIcon","DangerIcon","PersonIcon","iconSize","defaultIcons","person"],"sourceRoot":"../../../../src","sources":["theme/defaults/icons.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { createElement } from 'react';
4
+ import { Image } from 'react-native';
5
+ const CONTENT_FIT_MAP = {
6
+ cover: 'cover',
7
+ contain: 'contain',
8
+ fill: 'stretch'
9
+ };
10
+
11
+ /** Default image implementation, backed by React Native's `Image`. */
12
+ export const defaultImage = ({
13
+ contentFit = 'cover',
14
+ source,
15
+ style,
16
+ accessibilityLabel,
17
+ placeholder,
18
+ onError
19
+ }) => /*#__PURE__*/createElement(Image, {
20
+ source,
21
+ style,
22
+ accessibilityLabel,
23
+ // RN splits "show this until loaded" across two platform-specific props:
24
+ // `defaultSource` (iOS only) and `loadingIndicatorSource` (Android only).
25
+ defaultSource: placeholder,
26
+ loadingIndicatorSource: placeholder,
27
+ resizeMode: CONTENT_FIT_MAP[contentFit],
28
+ onError: onError ? () => onError() : undefined
29
+ });
30
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createElement","Image","CONTENT_FIT_MAP","cover","contain","fill","defaultImage","contentFit","source","style","accessibilityLabel","placeholder","onError","defaultSource","loadingIndicatorSource","resizeMode","undefined"],"sourceRoot":"../../../../src","sources":["theme/defaults/image.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AACrC,SAASC,KAAK,QAAQ,cAAc;AAIpC,MAAMC,eAAe,GAAG;EACtBC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE;AACR,CAGC;;AAED;AACA,OAAO,MAAMC,YAAiC,GAAGA,CAAC;EAChDC,UAAU,GAAG,OAAO;EACpBC,MAAM;EACNC,KAAK;EACLC,kBAAkB;EAClBC,WAAW;EACXC;AACF,CAAC,kBACCZ,aAAa,CAACC,KAAK,EAAE;EACnBO,MAAM;EACNC,KAAK;EACLC,kBAAkB;EAClB;EACA;EACAG,aAAa,EAAEF,WAAW;EAC1BG,sBAAsB,EAAEH,WAAW;EACnCI,UAAU,EAAEb,eAAe,CAACK,UAAU,CAAC;EACvCK,OAAO,EAAEA,OAAO,GAAG,MAAMA,OAAO,CAAC,CAAC,GAAGI;AACvC,CAAC,CAAC","ignoreList":[]}
@@ -8,13 +8,13 @@
8
8
  // resolved `defaultLightTheme` / `defaultDarkTheme` are the public surface.
9
9
 
10
10
  // ─── Utilities (color resolution + accent/merge/typography helpers) ──────────
11
- export { normalizeAccent } from '#utils/accent-utils';
12
- export { readableOn, shade, withAlpha } from '#utils/color-utils';
13
- export { deepMerge } from '#utils/deep-merge';
14
- export { resolveThemeColor } from '#utils/resolve-theme-color';
15
- export { FONT_WEIGHT_VALUE, SYSTEM_FONT } from '#utils/typography';
11
+ export { normalizeAccent } from "../utils/accent-utils.js";
12
+ export { readableOn, shade, withAlpha } from "../utils/color-utils.js";
13
+ export { deepMerge } from "../utils/deep-merge.js";
14
+ export { resolveThemeColor } from "../utils/resolve-theme-color.js";
15
+ export { FONT_WEIGHT_VALUE, SYSTEM_FONT } from "../utils/typography.js";
16
16
  // ─── Config + runtime ───────────────────────────────────────────────────────
17
- export { configureTerraUI, getAccentNames, getDefaultRadius, getIcon, getImageComponent, getIsConfigured, getRequiredIcon, getSurfaceElevation, resolveTheme } from "./configure.js";
17
+ export { configureTerraUI, getAccentNames, getDefaultRadius, getIcon, getImageComponent, getIsConfigured, getRequiredIcon, getSurfaceElevation, resolveTheme } from "./registry.js";
18
18
  export { applyAccent, applyScheme, getCurrentAccent } from "./runtime.js";
19
19
  // ─── Default themes ───────────────────────────────────────────────────────────
20
20
  export { defaultDarkTheme, defaultLightTheme } from "./theme.js";
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeAccent","readableOn","shade","withAlpha","deepMerge","resolveThemeColor","FONT_WEIGHT_VALUE","SYSTEM_FONT","configureTerraUI","getAccentNames","getDefaultRadius","getIcon","getImageComponent","getIsConfigured","getRequiredIcon","getSurfaceElevation","resolveTheme","applyAccent","applyScheme","getCurrentAccent","defaultDarkTheme","defaultLightTheme"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,UAAU,EAAEC,KAAK,EAAEC,SAAS,QAAQ,oBAAoB;AAEjE,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,iBAAiB,EAAEC,WAAW,QAAQ,mBAAmB;AAClE;AACA,SACEC,gBAAgB,EAChBC,cAAc,EACdC,gBAAgB,EAChBC,OAAO,EACPC,iBAAiB,EACjBC,eAAe,EACfC,eAAe,EACfC,mBAAmB,EACnBC,YAAY,QACP,gBAAa;AACpB,SAASC,WAAW,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,cAAW;AACtE;AACA,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,YAAS;AAC7D","ignoreList":[]}
1
+ {"version":3,"names":["normalizeAccent","readableOn","shade","withAlpha","deepMerge","resolveThemeColor","FONT_WEIGHT_VALUE","SYSTEM_FONT","configureTerraUI","getAccentNames","getDefaultRadius","getIcon","getImageComponent","getIsConfigured","getRequiredIcon","getSurfaceElevation","resolveTheme","applyAccent","applyScheme","getCurrentAccent","defaultDarkTheme","defaultLightTheme"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,eAAe;AACxB,SAASC,UAAU,EAAEC,KAAK,EAAEC,SAAS;AAErC,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB,EAAEC,WAAW;AACvC;AACA,SACEC,gBAAgB,EAChBC,cAAc,EACdC,gBAAgB,EAChBC,OAAO,EACPC,iBAAiB,EACjBC,eAAe,EACfC,eAAe,EACfC,mBAAmB,EACnBC,YAAY;AAEd,SAASC,WAAW,EAAEC,WAAW,EAAEC,gBAAgB;AACnD;AACA,SAASC,gBAAgB,EAAEC,iBAAiB;AAC5C","ignoreList":[]}
@@ -1,33 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { createElement } from 'react';
4
- import { Image } from 'react-native';
5
3
  import { StyleSheet } from 'react-native-unistyles';
6
- import { defaultIcons } from '#components/icon/utils';
7
- import { normalizeAccent } from '#utils/accent-utils';
8
- import { deepMerge } from '#utils/deep-merge';
9
- import { buildRadiusScale, defaultDarkTheme, defaultLightTheme } from "./theme.js";
10
- // ─── Default image component ──────────────────────────────────────────────────
11
-
12
- const CONTENT_FIT_MAP = {
13
- cover: 'cover',
14
- contain: 'contain',
15
- fill: 'stretch'
16
- };
17
- const DefaultImage = ({
18
- contentFit = 'cover',
19
- source,
20
- style,
21
- accessibilityLabel,
22
- onError
23
- }) => /*#__PURE__*/createElement(Image, {
24
- source,
25
- style,
26
- accessibilityLabel,
27
- resizeMode: CONTENT_FIT_MAP[contentFit],
28
- onError: onError ? () => onError() : undefined
29
- });
30
-
4
+ import { normalizeAccent } from "../utils/accent-utils.js";
5
+ import { deepMerge } from "../utils/deep-merge.js";
6
+ import { defaultIcons } from "./defaults/icons.js";
7
+ import { defaultImage } from "./defaults/image.js";
8
+ import { buildRadiusScale, buildSpacingScale, defaultDarkTheme, defaultLightTheme } from "./theme.js";
31
9
  // ─── Radius / elevation defaults ─────────────────────────────────────────────
32
10
 
33
11
  /** Fallback when a component's radius is not configured. */
@@ -50,7 +28,7 @@ const registry = {
50
28
  defaultRadius: resolveDefaultRadius(),
51
29
  surfaceElevation: DEFAULT_ELEVATION,
52
30
  icons: {},
53
- imageComponent: DefaultImage,
31
+ imageComponent: defaultImage,
54
32
  configured: false
55
33
  };
56
34
 
@@ -84,6 +62,7 @@ const mergeThemeOverride = (theme, override) => {
84
62
  if (!override) return theme;
85
63
  const {
86
64
  radius,
65
+ spacing,
87
66
  ...rest
88
67
  } = override;
89
68
  let next = deepMerge(theme, rest);
@@ -101,6 +80,20 @@ const mergeThemeOverride = (theme, override) => {
101
80
  radius: radiusTokens
102
81
  });
103
82
  }
83
+ if (spacing) {
84
+ const {
85
+ base,
86
+ ...spacingTokens
87
+ } = spacing;
88
+ if (base != null) {
89
+ next = deepMerge(next, {
90
+ spacing: buildSpacingScale(base)
91
+ });
92
+ }
93
+ next = deepMerge(next, {
94
+ spacing: spacingTokens
95
+ });
96
+ }
104
97
  return next;
105
98
  };
106
99
 
@@ -123,7 +116,7 @@ export function configureTerraUI(config = {}) {
123
116
  registry.defaultRadius = resolveDefaultRadius(config.components);
124
117
  registry.surfaceElevation = config.components?.surface?.elevation ?? DEFAULT_ELEVATION;
125
118
  registry.icons = config.icons ?? {};
126
- registry.imageComponent = config.image ?? DefaultImage;
119
+ registry.imageComponent = config.image ?? defaultImage;
127
120
  registry.accents = {};
128
121
  for (const [name, accent] of Object.entries(config.accents ?? {})) {
129
122
  registry.accents[name] = normalizeAccent(accent);
@@ -149,4 +142,4 @@ export function configureTerraUI(config = {}) {
149
142
  settings
150
143
  });
151
144
  }
152
- //# sourceMappingURL=configure.js.map
145
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","normalizeAccent","deepMerge","defaultIcons","defaultImage","buildRadiusScale","buildSpacingScale","defaultDarkTheme","defaultLightTheme","DEFAULT_RADIUS","DEFAULT_ELEVATION","resolveDefaultRadius","components","button","radius","surface","registry","baseLight","baseDark","accents","currentAccent","undefined","defaultRadius","surfaceElevation","icons","imageComponent","configured","getRegistry","getIsConfigured","getAccentNames","Object","keys","getImageComponent","getIcon","name","getRequiredIcon","getDefaultRadius","component","getSurfaceElevation","resolveTheme","scheme","accentName","base","accent","mergeThemeOverride","theme","override","spacing","rest","next","radiusTokens","spacingTokens","configureTerraUI","config","__DEV__","length","console","warn","shared","schemes","light","dark","elevation","image","entries","defaultAccent","themes","adaptive","adaptiveThemes","settings","initialScheme","initialTheme","configure"],"sourceRoot":"../../../src","sources":["theme/registry.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { UnistylesRuntime } from 'react-native-unistyles';
4
- import { getRegistry, resolveTheme } from "./configure.js";
4
+ import { getRegistry, resolveTheme } from "./registry.js";
5
5
  /** Apply a named accent at runtime by updating both registered themes. */
6
6
  export function applyAccent(name) {
7
7
  const registry = getRegistry();
@@ -1 +1 @@
1
- {"version":3,"names":["UnistylesRuntime","getRegistry","resolveTheme","applyAccent","name","registry","accents","__DEV__","console","warn","currentAccent","updateTheme","getCurrentAccent","applyScheme","scheme","setAdaptiveThemes","setTheme"],"sourceRoot":"../../../src","sources":["theme/runtime.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,wBAAwB;AAEzD,SAASC,WAAW,EAAEC,YAAY,QAAQ,gBAAa;AAGvD;AACA,OAAO,SAASC,WAAWA,CAACC,IAAY,EAAQ;EAC9C,MAAMC,QAAQ,GAAGJ,WAAW,CAAC,CAAC;EAC9B,IAAI,CAACI,QAAQ,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IAC3B,IAAIG,OAAO,EAAE;MACXC,OAAO,CAACC,IAAI,CAAC,2CAA2CL,IAAI,IAAI,CAAC;IACnE;IACA;EACF;EACAC,QAAQ,CAACK,aAAa,GAAGN,IAAI;EAC7BJ,gBAAgB,CAACW,WAAW,CAAC,OAAO,EAAE,MAAMT,YAAY,CAAC,OAAO,EAAEE,IAAI,CAAC,CAAC;EACxEJ,gBAAgB,CAACW,WAAW,CAAC,MAAM,EAAE,MAAMT,YAAY,CAAC,MAAM,EAAEE,IAAI,CAAC,CAAC;AACxE;AAEA,OAAO,MAAMQ,gBAAgB,GAAGA,CAAA,KAC9BX,WAAW,CAAC,CAAC,CAACS,aAAa;;AAE7B;AACA,OAAO,SAASG,WAAWA,CAACC,MAAc,EAAQ;EAChDd,gBAAgB,CAACe,iBAAiB,CAAC,KAAK,CAAC;EACzCf,gBAAgB,CAACgB,QAAQ,CAACF,MAAM,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["UnistylesRuntime","getRegistry","resolveTheme","applyAccent","name","registry","accents","__DEV__","console","warn","currentAccent","updateTheme","getCurrentAccent","applyScheme","scheme","setAdaptiveThemes","setTheme"],"sourceRoot":"../../../src","sources":["theme/runtime.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,wBAAwB;AAEzD,SAASC,WAAW,EAAEC,YAAY;AAGlC;AACA,OAAO,SAASC,WAAWA,CAACC,IAAY,EAAQ;EAC9C,MAAMC,QAAQ,GAAGJ,WAAW,CAAC,CAAC;EAC9B,IAAI,CAACI,QAAQ,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IAC3B,IAAIG,OAAO,EAAE;MACXC,OAAO,CAACC,IAAI,CAAC,2CAA2CL,IAAI,IAAI,CAAC;IACnE;IACA;EACF;EACAC,QAAQ,CAACK,aAAa,GAAGN,IAAI;EAC7BJ,gBAAgB,CAACW,WAAW,CAAC,OAAO,EAAE,MAAMT,YAAY,CAAC,OAAO,EAAEE,IAAI,CAAC,CAAC;EACxEJ,gBAAgB,CAACW,WAAW,CAAC,MAAM,EAAE,MAAMT,YAAY,CAAC,MAAM,EAAEE,IAAI,CAAC,CAAC;AACxE;AAEA,OAAO,MAAMQ,gBAAgB,GAAGA,CAAA,KAC9BX,WAAW,CAAC,CAAC,CAACS,aAAa;;AAE7B;AACA,OAAO,SAASG,WAAWA,CAACC,MAAc,EAAQ;EAChDd,gBAAgB,CAACe,iBAAiB,CAAC,KAAK,CAAC;EACzCf,gBAAgB,CAACgB,QAAQ,CAACF,MAAM,CAAC;AACnC","ignoreList":[]}
@@ -1,17 +1,50 @@
1
1
  "use strict";
2
2
 
3
- import { unflatten } from '#utils/unflatten';
3
+ import { unflatten } from "../utils/unflatten.js";
4
4
  import { dark } from "./tokens/dark.js";
5
5
  import { light } from "./tokens/light.js";
6
6
  import { primitives } from "./tokens/primitives.js";
7
+ // Matches `{palette.key}/NN` — a palette reference with a trailing NN%
8
+ // opacity suffix (0-100), e.g. `{palette.amber.500}/15`.
9
+ const ALPHA_REF_PATTERN = /^\{([\w.]+)\}\/(\d{1,3})$/;
10
+ // Matches a bare `#rrggbb` hex color (the only shape palette primitives use).
11
+ const HEX6_PATTERN = /^#[0-9a-f]{6}$/i;
12
+
13
+ /**
14
+ * Converts a 0-100 percentage into a two-digit hex alpha byte, e.g. 15 -> '26'.
15
+ */
16
+ function percentToHexAlpha(percent) {
17
+ const byte = Math.round(percent / 100 * 255);
18
+ return byte.toString(16).padStart(2, '0');
19
+ }
20
+
7
21
  /**
8
22
  * Resolves {palette.key} reference notation against a source flat-token map.
9
- * Non-reference values pass through unchanged.
23
+ * Also resolves {palette.key}/NN, which appends an NN% opacity alpha byte to
24
+ * the referenced hex color (the referenced value must be a plain #rrggbb hex
25
+ * - `/NN` is not supported on raw hex/rgba literals). Non-reference values
26
+ * pass through unchanged; a reference that can't be resolved this way is
27
+ * left as-is.
10
28
  */
11
29
  function resolveRefs(flat, source) {
12
30
  const out = {};
13
31
  for (const [k, v] of Object.entries(flat)) {
14
- out[k] = typeof v === 'string' && v.startsWith('{') && v.endsWith('}') ? source[v.slice(1, -1)] ?? v : v;
32
+ if (typeof v !== 'string') {
33
+ out[k] = v;
34
+ continue;
35
+ }
36
+ const alphaMatch = v.match(ALPHA_REF_PATTERN);
37
+ if (alphaMatch) {
38
+ // Both groups are guaranteed by ALPHA_REF_PATTERN when it matches;
39
+ // `noUncheckedIndexedAccess` just can't see that from a regex literal.
40
+ const refKey = alphaMatch[1];
41
+ const percentStr = alphaMatch[2];
42
+ const base = source[refKey];
43
+ const percent = Number(percentStr);
44
+ out[k] = typeof base === 'string' && HEX6_PATTERN.test(base) ? `${base}${percentToHexAlpha(percent)}` : v;
45
+ continue;
46
+ }
47
+ out[k] = v.startsWith('{') && v.endsWith('}') ? source[v.slice(1, -1)] ?? v : v;
15
48
  }
16
49
  return out;
17
50
  }
@@ -43,9 +76,11 @@ function flattenByCategory(tokens) {
43
76
  * Scheme-agnostic primitives, rebuilt once from the flat token data. Shared by
44
77
  * both default themes (matching the previous behavior where spacing / radius /
45
78
  * typography were singleton constants). `palette` is present at runtime for
46
- * Figma parity but is not part of {@link TerraTheme}. Only the radius BASE is
47
- * authored here (`radius.base`); the full scale is derived via
48
- * {@link buildRadiusScale}.
79
+ * Figma parity but is not part of {@link TerraTheme}. Only the radius BASE and
80
+ * spacing BASE are authored here (`radius.base`, `spacing.base`); the full
81
+ * scales are derived via {@link buildRadiusScale} / {@link buildSpacingScale}.
82
+ * `elevation` excludes `shadowColor`, which is layered on per-scheme from each
83
+ * theme's `color.shadow` token (see {@link withShadowColor}).
49
84
  */
50
85
  const prim = unflatten(primitives);
51
86
 
@@ -58,6 +93,36 @@ const prim = unflatten(primitives);
58
93
  */
59
94
  export const DEFAULT_RADIUS_BASE = prim.radius.base;
60
95
 
96
+ /**
97
+ * Every {@link SpacingKey} — its own numeric value IS the multiplier applied
98
+ * to the base unit (e.g. `'5'` → `5 × base`), so no separate multiplier table
99
+ * is needed the way {@link RADIUS_MULTIPLIERS} is for radius.
100
+ */
101
+ export const SPACING_KEYS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '14', '16', '20', '24', '32'];
102
+
103
+ /**
104
+ * Default spacing base unit (dp) — taken from the `spacing.base` primitive.
105
+ * The rest of the scale is derived from it (each step's value is its key
106
+ * multiplied by this base); override at runtime with
107
+ * `configureTerraUI({ shared: { spacing: { base } } })`, or change the
108
+ * `spacing.base` token.
109
+ */
110
+ export const DEFAULT_SPACING_BASE = prim.spacing.base;
111
+
112
+ /**
113
+ * Builds the full spacing scale from a single base value. Each step's value is
114
+ * its key multiplied by `base` — no outliers needed, since `'0'` naturally
115
+ * resolves to `0` for any base.
116
+ */
117
+ export function buildSpacingScale(base = DEFAULT_SPACING_BASE) {
118
+ const scale = {};
119
+ for (const key of SPACING_KEYS) {
120
+ scale[key] = Number(key) * base;
121
+ }
122
+ return scale;
123
+ }
124
+ const defaultSpacing = buildSpacingScale();
125
+
61
126
  /**
62
127
  * Per-token multipliers applied to the base radius (DaisyUI-style). `none` (0)
63
128
  * and `full` (9999) are fixed and not scaled.
@@ -90,20 +155,36 @@ const defaultRadius = buildRadiusScale();
90
155
  const lightByCategory = flattenByCategory(resolveRefs(light, primitives));
91
156
  const darkByCategory = flattenByCategory(resolveRefs(dark, primitives));
92
157
 
158
+ /**
159
+ * Fills in each elevation level's `shadowColor` from the theme's `color.shadow`
160
+ * token, rather than authoring it redundantly on every level in `light.ts` /
161
+ * `dark.ts`.
162
+ */
163
+ function withShadowColor(elevation, shadowColor) {
164
+ const out = {};
165
+ for (const key of Object.keys(elevation)) {
166
+ out[key] = {
167
+ ...elevation[key],
168
+ shadowColor
169
+ };
170
+ }
171
+ return out;
172
+ }
173
+
93
174
  // color: flat map — accessed as theme.color['action.bg.primary.hover']
94
- // elevation: re-unflattened for structured access theme.elevation.sm.shadowRadius
175
+ // elevation: shared shape from primitives, shadowColor layered on per scheme
95
176
  const lightTokens = {
96
177
  color: lightByCategory.color,
97
- elevation: unflatten(lightByCategory.elevation ?? {})
178
+ elevation: withShadowColor(prim.elevation, lightByCategory.color.shadow)
98
179
  };
99
180
  const darkTokens = {
100
181
  color: darkByCategory.color,
101
- elevation: unflatten(darkByCategory.elevation ?? {})
182
+ elevation: withShadowColor(prim.elevation, darkByCategory.color.shadow)
102
183
  };
103
184
  export const defaultLightTheme = {
104
185
  color: lightTokens.color,
105
186
  elevation: lightTokens.elevation,
106
- spacing: prim.spacing,
187
+ spacing: defaultSpacing,
107
188
  radius: defaultRadius,
108
189
  typography: prim.typography,
109
190
  opacity: prim.opacity,
@@ -112,7 +193,7 @@ export const defaultLightTheme = {
112
193
  export const defaultDarkTheme = {
113
194
  color: darkTokens.color,
114
195
  elevation: darkTokens.elevation,
115
- spacing: prim.spacing,
196
+ spacing: defaultSpacing,
116
197
  radius: defaultRadius,
117
198
  typography: prim.typography,
118
199
  opacity: prim.opacity,
@@ -1 +1 @@
1
- {"version":3,"names":["unflatten","dark","light","primitives","resolveRefs","flat","source","out","k","v","Object","entries","startsWith","endsWith","slice","flattenByCategory","tokens","key","value","sep","indexOf","cat","rest","undefined","prim","DEFAULT_RADIUS_BASE","radius","base","RADIUS_MULTIPLIERS","xs","sm","md","lg","xl","buildRadiusScale","scale","none","full","keys","defaultRadius","lightByCategory","darkByCategory","lightTokens","color","elevation","darkTokens","defaultLightTheme","spacing","typography","opacity","layout","defaultDarkTheme"],"sourceRoot":"../../../src","sources":["theme/theme.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,IAAI,QAAQ,kBAAe;AACpC,SAASC,KAAK,QAAQ,mBAAgB;AACtC,SAASC,UAAU,QAAQ,wBAAqB;AAYhD;AACA;AACA;AACA;AACA,SAASC,WAAWA,CAClBC,IAA6B,EAC7BC,MAA+B,EACN;EACzB,MAAMC,GAA4B,GAAG,CAAC,CAAC;EACvC,KAAK,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,IAAI,CAAC,EAAE;IACzCE,GAAG,CAACC,CAAC,CAAC,GACJ,OAAOC,CAAC,KAAK,QAAQ,IAAIA,CAAC,CAACG,UAAU,CAAC,GAAG,CAAC,IAAIH,CAAC,CAACI,QAAQ,CAAC,GAAG,CAAC,GACxDP,MAAM,CAACG,CAAC,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIL,CAAC,GAC5BA,CAAC;EACT;EACA,OAAOF,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASQ,iBAAiBA,CACxBC,MAA+B,EACU;EACzC,MAAMT,GAA4C,GAAG,CAAC,CAAC;EACvD,KAAK,MAAM,CAACU,GAAG,EAAEC,KAAK,CAAC,IAAIR,MAAM,CAACC,OAAO,CAACK,MAAM,CAAC,EAAE;IACjD,MAAMG,GAAG,GAAGF,GAAG,CAACG,OAAO,CAAC,GAAG,CAAC;IAC5B,MAAMC,GAAG,GAAGF,GAAG,KAAK,CAAC,CAAC,GAAGF,GAAG,GAAGA,GAAG,CAACH,KAAK,CAAC,CAAC,EAAEK,GAAG,CAAC;IAChD,MAAMG,IAAI,GAAGH,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,GAAGF,GAAG,CAACH,KAAK,CAACK,GAAG,GAAG,CAAC,CAAC;IACjD,IAAIZ,GAAG,CAACc,GAAG,CAAC,KAAKE,SAAS,EAAE;MAC1BhB,GAAG,CAACc,GAAG,CAAC,GAAG,CAAC,CAAC;IACf;IACAd,GAAG,CAACc,GAAG,CAAC,CAACC,IAAI,CAAC,GAAGJ,KAAK;EACxB;EACA,OAAOX,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMiB,IAAI,GAAGxB,SAAS,CAMnBG,UAAU,CAAC;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMsB,mBAAmB,GAAGD,IAAI,CAACE,MAAM,CAACC,IAAI;;AAEnD;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAGZ,GAAG;EACFC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,GAAG;EACP,KAAK,EAAE,CAAC;EACR,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BP,IAAY,GAAGF,mBAAmB,EACP;EAC3B,MAAMU,KAAK,GAAG;IAAEC,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE;EAAK,CAA8B;EAClE,KAAK,MAAMpB,GAAG,IAAIP,MAAM,CAAC4B,IAAI,CAC3BV,kBACF,CAAC,EAAyC;IACxCO,KAAK,CAAClB,GAAG,CAAC,GAAGU,IAAI,GAAGC,kBAAkB,CAACX,GAAG,CAAC;EAC7C;EACA,OAAOkB,KAAK;AACd;AAEA,MAAMI,aAAa,GAAGL,gBAAgB,CAAC,CAAC;AAExC,MAAMM,eAAe,GAAGzB,iBAAiB,CAACX,WAAW,CAACF,KAAK,EAAEC,UAAU,CAAC,CAAC;AACzE,MAAMsC,cAAc,GAAG1B,iBAAiB,CAACX,WAAW,CAACH,IAAI,EAAEE,UAAU,CAAC,CAAC;;AAEvE;AACA;AACA,MAAMuC,WAAW,GAAG;EAClBC,KAAK,EAAEH,eAAe,CAACG,KAA8B;EACrDC,SAAS,EAAE5C,SAAS,CAAiBwC,eAAe,CAACI,SAAS,IAAI,CAAC,CAAC;AACtE,CAAC;AACD,MAAMC,UAAU,GAAG;EACjBF,KAAK,EAAEF,cAAc,CAACE,KAA8B;EACpDC,SAAS,EAAE5C,SAAS,CAAiByC,cAAc,CAACG,SAAS,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,OAAO,MAAME,iBAA6B,GAAG;EAC3CH,KAAK,EAAED,WAAW,CAACC,KAAK;EACxBC,SAAS,EAAEF,WAAW,CAACE,SAAS;EAChCG,OAAO,EAAEvB,IAAI,CAACuB,OAAO;EACrBrB,MAAM,EAAEa,aAAa;EACrBS,UAAU,EAAExB,IAAI,CAACwB,UAAU;EAC3BC,OAAO,EAAEzB,IAAI,CAACyB,OAAO;EACrBC,MAAM,EAAE1B,IAAI,CAAC0B;AACf,CAAC;AAED,OAAO,MAAMC,gBAA4B,GAAG;EAC1CR,KAAK,EAAEE,UAAU,CAACF,KAAK;EACvBC,SAAS,EAAEC,UAAU,CAACD,SAAS;EAC/BG,OAAO,EAAEvB,IAAI,CAACuB,OAAO;EACrBrB,MAAM,EAAEa,aAAa;EACrBS,UAAU,EAAExB,IAAI,CAACwB,UAAU;EAC3BC,OAAO,EAAEzB,IAAI,CAACyB,OAAO;EACrBC,MAAM,EAAE1B,IAAI,CAAC0B;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["unflatten","dark","light","primitives","ALPHA_REF_PATTERN","HEX6_PATTERN","percentToHexAlpha","percent","byte","Math","round","toString","padStart","resolveRefs","flat","source","out","k","v","Object","entries","alphaMatch","match","refKey","percentStr","base","Number","test","startsWith","endsWith","slice","flattenByCategory","tokens","key","value","sep","indexOf","cat","rest","undefined","prim","DEFAULT_RADIUS_BASE","radius","SPACING_KEYS","DEFAULT_SPACING_BASE","spacing","buildSpacingScale","scale","defaultSpacing","RADIUS_MULTIPLIERS","xs","sm","md","lg","xl","buildRadiusScale","none","full","keys","defaultRadius","lightByCategory","darkByCategory","withShadowColor","elevation","shadowColor","lightTokens","color","shadow","darkTokens","defaultLightTheme","typography","opacity","layout","defaultDarkTheme"],"sourceRoot":"../../../src","sources":["theme/theme.ts"],"mappings":";;AAAA,SAASA,SAAS;AAElB,SAASC,IAAI;AACb,SAASC,KAAK;AACd,SAASC,UAAU;AAcnB;AACA;AACA,MAAMC,iBAAiB,GAAG,2BAA2B;AACrD;AACA,MAAMC,YAAY,GAAG,iBAAiB;;AAEtC;AACA;AACA;AACA,SAASC,iBAAiBA,CAACC,OAAe,EAAU;EAClD,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAAEH,OAAO,GAAG,GAAG,GAAI,GAAG,CAAC;EAC9C,OAAOC,IAAI,CAACG,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAWA,CAClBC,IAA6B,EAC7BC,MAA+B,EACN;EACzB,MAAMC,GAA4B,GAAG,CAAC,CAAC;EACvC,KAAK,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,IAAI,CAAC,EAAE;IACzC,IAAI,OAAOI,CAAC,KAAK,QAAQ,EAAE;MACzBF,GAAG,CAACC,CAAC,CAAC,GAAGC,CAAC;MACV;IACF;IAEA,MAAMG,UAAU,GAAGH,CAAC,CAACI,KAAK,CAAClB,iBAAiB,CAAC;IAC7C,IAAIiB,UAAU,EAAE;MACd;MACA;MACA,MAAME,MAAM,GAAGF,UAAU,CAAC,CAAC,CAAW;MACtC,MAAMG,UAAU,GAAGH,UAAU,CAAC,CAAC,CAAW;MAC1C,MAAMI,IAAI,GAAGV,MAAM,CAACQ,MAAM,CAAC;MAC3B,MAAMhB,OAAO,GAAGmB,MAAM,CAACF,UAAU,CAAC;MAClCR,GAAG,CAACC,CAAC,CAAC,GACJ,OAAOQ,IAAI,KAAK,QAAQ,IAAIpB,YAAY,CAACsB,IAAI,CAACF,IAAI,CAAC,GAC/C,GAAGA,IAAI,GAAGnB,iBAAiB,CAACC,OAAO,CAAC,EAAE,GACtCW,CAAC;MACP;IACF;IAEAF,GAAG,CAACC,CAAC,CAAC,GACJC,CAAC,CAACU,UAAU,CAAC,GAAG,CAAC,IAAIV,CAAC,CAACW,QAAQ,CAAC,GAAG,CAAC,GAAId,MAAM,CAACG,CAAC,CAACY,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIZ,CAAC,GAAIA,CAAC;EAC5E;EACA,OAAOF,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASe,iBAAiBA,CACxBC,MAA+B,EACU;EACzC,MAAMhB,GAA4C,GAAG,CAAC,CAAC;EACvD,KAAK,MAAM,CAACiB,GAAG,EAAEC,KAAK,CAAC,IAAIf,MAAM,CAACC,OAAO,CAACY,MAAM,CAAC,EAAE;IACjD,MAAMG,GAAG,GAAGF,GAAG,CAACG,OAAO,CAAC,GAAG,CAAC;IAC5B,MAAMC,GAAG,GAAGF,GAAG,KAAK,CAAC,CAAC,GAAGF,GAAG,GAAGA,GAAG,CAACH,KAAK,CAAC,CAAC,EAAEK,GAAG,CAAC;IAChD,MAAMG,IAAI,GAAGH,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,GAAGF,GAAG,CAACH,KAAK,CAACK,GAAG,GAAG,CAAC,CAAC;IACjD,IAAInB,GAAG,CAACqB,GAAG,CAAC,KAAKE,SAAS,EAAE;MAC1BvB,GAAG,CAACqB,GAAG,CAAC,GAAG,CAAC,CAAC;IACf;IACArB,GAAG,CAACqB,GAAG,CAAC,CAACC,IAAI,CAAC,GAAGJ,KAAK;EACxB;EACA,OAAOlB,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMwB,IAAI,GAAGxC,SAAS,CAOnBG,UAAU,CAAC;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMsC,mBAAmB,GAAGD,IAAI,CAACE,MAAM,CAACjB,IAAI;;AAEnD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMkB,YAA0B,GAAG,CACxC,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGJ,IAAI,CAACK,OAAO,CAACpB,IAAI;;AAErD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASqB,iBAAiBA,CAC/BrB,IAAY,GAAGmB,oBAAoB,EACP;EAC5B,MAAMG,KAAK,GAAG,CAAC,CAA+B;EAC9C,KAAK,MAAMd,GAAG,IAAIU,YAAY,EAAE;IAC9BI,KAAK,CAACd,GAAG,CAAC,GAAGP,MAAM,CAACO,GAAG,CAAC,GAAGR,IAAI;EACjC;EACA,OAAOsB,KAAK;AACd;AAEA,MAAMC,cAAc,GAAGF,iBAAiB,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA,OAAO,MAAMG,kBAGZ,GAAG;EACFC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,GAAG;EACP,KAAK,EAAE,CAAC;EACR,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9B9B,IAAY,GAAGgB,mBAAmB,EACP;EAC3B,MAAMM,KAAK,GAAG;IAAES,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE;EAAK,CAA8B;EAClE,KAAK,MAAMxB,GAAG,IAAId,MAAM,CAACuC,IAAI,CAC3BT,kBACF,CAAC,EAAyC;IACxCF,KAAK,CAACd,GAAG,CAAC,GAAGR,IAAI,GAAGwB,kBAAkB,CAAChB,GAAG,CAAC;EAC7C;EACA,OAAOc,KAAK;AACd;AAEA,MAAMY,aAAa,GAAGJ,gBAAgB,CAAC,CAAC;AAExC,MAAMK,eAAe,GAAG7B,iBAAiB,CAAClB,WAAW,CAACX,KAAK,EAAEC,UAAU,CAAC,CAAC;AACzE,MAAM0D,cAAc,GAAG9B,iBAAiB,CAAClB,WAAW,CAACZ,IAAI,EAAEE,UAAU,CAAC,CAAC;;AAEvE;AACA;AACA;AACA;AACA;AACA,SAAS2D,eAAeA,CACtBC,SAAoE,EACpEC,WAAmB,EACH;EAChB,MAAMhD,GAAG,GAAG,CAAC,CAAmB;EAChC,KAAK,MAAMiB,GAAG,IAAId,MAAM,CAACuC,IAAI,CAACK,SAAS,CAAC,EAAoB;IAC1D/C,GAAG,CAACiB,GAAG,CAAC,GAAG;MAAE,GAAG8B,SAAS,CAAC9B,GAAG,CAAC;MAAE+B;IAAY,CAAC;EAC/C;EACA,OAAOhD,GAAG;AACZ;;AAEA;AACA;AACA,MAAMiD,WAAW,GAAG;EAClBC,KAAK,EAAEN,eAAe,CAACM,KAA8B;EACrDH,SAAS,EAAED,eAAe,CACxBtB,IAAI,CAACuB,SAAS,EACbH,eAAe,CAACM,KAAK,CAA2BC,MACnD;AACF,CAAC;AACD,MAAMC,UAAU,GAAG;EACjBF,KAAK,EAAEL,cAAc,CAACK,KAA8B;EACpDH,SAAS,EAAED,eAAe,CACxBtB,IAAI,CAACuB,SAAS,EACbF,cAAc,CAACK,KAAK,CAA2BC,MAClD;AACF,CAAC;AAED,OAAO,MAAME,iBAA6B,GAAG;EAC3CH,KAAK,EAAED,WAAW,CAACC,KAAK;EACxBH,SAAS,EAAEE,WAAW,CAACF,SAAS;EAChClB,OAAO,EAAEG,cAAc;EACvBN,MAAM,EAAEiB,aAAa;EACrBW,UAAU,EAAE9B,IAAI,CAAC8B,UAAU;EAC3BC,OAAO,EAAE/B,IAAI,CAAC+B,OAAO;EACrBC,MAAM,EAAEhC,IAAI,CAACgC;AACf,CAAC;AAED,OAAO,MAAMC,gBAA4B,GAAG;EAC1CP,KAAK,EAAEE,UAAU,CAACF,KAAK;EACvBH,SAAS,EAAEK,UAAU,CAACL,SAAS;EAC/BlB,OAAO,EAAEG,cAAc;EACvBN,MAAM,EAAEiB,aAAa;EACrBW,UAAU,EAAE9B,IAAI,CAAC8B,UAAU;EAC3BC,OAAO,EAAE/B,IAAI,CAAC+B,OAAO;EACrBC,MAAM,EAAEhC,IAAI,CAACgC;AACf,CAAC","ignoreList":[]}
@@ -10,6 +10,8 @@
10
10
  export const dark = {
11
11
  // ── color: page background ────────────────────────────────────────────────
12
12
  'color.background': '{palette.neutral.950}',
13
+ // ── color: shadow (used as elevation.*.shadowColor) ───────────────────────
14
+ 'color.shadow': '#000000',
13
15
  // ── color: surfaces (bg implied — no property segment) ──────────────────
14
16
  'color.surface.default': '{palette.neutral.900}',
15
17
  'color.surface.raised': '{palette.neutral.800}',
@@ -19,9 +21,14 @@ export const dark = {
19
21
  'color.surface.accent.subtle': '{palette.emerald.950}',
20
22
  // ── color: text / icons (fg implied — no property segment) ──────────────
21
23
  'color.text.default': '{palette.neutral.50}',
22
- 'color.text.muted': '{palette.neutral.400}',
23
- 'color.text.subtle': '{palette.neutral.500}',
24
- 'color.text.disabled': '{palette.neutral.700}',
24
+ // Off-ramp hexes (like light's) rather than neutral.400/500/600: the ramp
25
+ // steps are tuned for dark text on white, and reused as light text they land
26
+ // too dim. Set so `subtle` clears AA 4.5:1 on `surface.raised` — the lightest
27
+ // surface, so the worst case — which keeps the muted/subtle/disabled spacing
28
+ // proportional to light's.
29
+ 'color.text.muted': '#b8b8be',
30
+ 'color.text.subtle': '#8d8d96',
31
+ 'color.text.disabled': '#606069',
25
32
  'color.text.inverse': '{palette.neutral.950}',
26
33
  'color.text.link': '{palette.blue.300}',
27
34
  'color.text.accent': '{palette.emerald.400}',
@@ -39,71 +46,55 @@ export const dark = {
39
46
  'color.action.bg.primary.active': '{palette.emerald.300}',
40
47
  'color.action.bg.primary.disabled': '{palette.slate.700}',
41
48
  'color.action.fg.primary': '{palette.slate.950}',
42
- 'color.action.bg.subtle': '{palette.emerald.950}',
43
- 'color.action.bg.subtle.hover': '{palette.emerald.900}',
44
- 'color.action.bg.subtle.active': '{palette.emerald.800}',
45
- 'color.action.bg.subtle.disabled': '{palette.neutral.900}',
46
- 'color.action.fg.subtle': '{palette.emerald.300}',
47
- 'color.action.bg.neutral': 'transparent',
48
- 'color.action.bg.neutral.hover': '{palette.neutral.800}',
49
- 'color.action.bg.neutral.active': '{palette.neutral.700}',
50
- 'color.action.bg.neutral.disabled': 'transparent',
51
- 'color.action.fg.neutral': '{palette.neutral.400}',
49
+ 'color.action.bg.primary.subtle': '{palette.emerald.950}',
50
+ 'color.action.bg.primary.subtle.hover': '{palette.emerald.900}',
51
+ 'color.action.bg.primary.subtle.active': '{palette.emerald.800}',
52
+ 'color.action.bg.primary.subtle.disabled': '{palette.neutral.900}',
53
+ 'color.action.fg.primary.subtle': '{palette.emerald.300}',
54
+ // `secondary`'s resting fill/text — used by Avatar/Chip's `secondary` color
55
+ // and Button/Toast's neutral-emphasis look; sized for real separation
56
+ // against `color.background` (neutral.950).
57
+ 'color.action.bg.secondary': '{palette.neutral.600}',
58
+ 'color.action.fg.secondary': '{palette.neutral.50}',
59
+ // Translucent, like light's — and like the status schemes' `/30` fills above.
60
+ // As opaque neutral.800 this was exactly `surface.raised`, so a soft
61
+ // secondary Chip/Button vanished on a raised card (1.00:1), and its opaque
62
+ // neutral.700 hover was indistinguishable from the resting fill there. An
63
+ // overlay lightens whatever it sits on, so the fill separates on all three
64
+ // surfaces (1.49-1.59:1, matching the success/warning chips).
65
+ 'color.action.bg.secondary.subtle': '{palette.neutral.400}/25',
66
+ 'color.action.bg.secondary.subtle.hover': '{palette.neutral.400}/35',
67
+ 'color.action.bg.secondary.subtle.active': '{palette.neutral.400}/45',
68
+ 'color.action.bg.secondary.subtle.disabled': '{palette.neutral.900}',
69
+ 'color.action.fg.secondary.subtle': '{palette.neutral.200}',
52
70
  // ── color: status (bg + fg + border → property required) ────────────────
53
- 'color.status.bg.success': '{palette.green.500}',
54
- 'color.status.bg.success.subtle': '{palette.green.900}',
55
- 'color.status.border.success': '{palette.green.700}',
56
- 'color.status.border.success.subtle': '{palette.green.800}',
57
- 'color.status.fg.success': '{palette.slate.950}',
58
- 'color.status.fg.success.subtle': '{palette.green.200}',
59
- 'color.status.bg.warning': '{palette.amber.400}',
60
- 'color.status.bg.warning.subtle': '{palette.amber.900}',
61
- 'color.status.border.warning': '{palette.amber.700}',
62
- 'color.status.border.warning.subtle': '{palette.amber.800}',
63
- 'color.status.fg.warning': '{palette.slate.950}',
64
- 'color.status.fg.warning.subtle': '{palette.amber.200}',
65
- 'color.status.bg.danger': '{palette.red.500}',
66
- 'color.status.bg.danger.subtle': '{palette.red.950}',
67
- 'color.status.border.danger': '{palette.red.800}',
68
- 'color.status.border.danger.subtle': '{palette.red.900}',
69
- 'color.status.fg.danger': '{palette.white}',
70
- 'color.status.fg.danger.subtle': '{palette.red.200}',
71
- 'color.status.bg.info': '{palette.sky.500}',
72
- 'color.status.bg.info.subtle': '{palette.sky.950}',
73
- 'color.status.border.info': '{palette.sky.800}',
74
- 'color.status.border.info.subtle': '{palette.sky.900}',
75
- 'color.status.fg.info': '{palette.slate.950}',
76
- 'color.status.fg.info.subtle': '{palette.sky.200}',
77
- // ── elevation: platform-aware shadow + Android elevation ──────────────────
78
- 'elevation.none.shadowColor': '#000000',
79
- 'elevation.none.shadowOpacity': 0,
80
- 'elevation.none.shadowRadius': 0,
81
- 'elevation.none.shadowOffset.width': 0,
82
- 'elevation.none.shadowOffset.height': 0,
83
- 'elevation.none.elevation': 0,
84
- 'elevation.sm.shadowColor': '#000000',
85
- 'elevation.sm.shadowOpacity': 0.3,
86
- 'elevation.sm.shadowRadius': 2,
87
- 'elevation.sm.shadowOffset.width': 0,
88
- 'elevation.sm.shadowOffset.height': 1,
89
- 'elevation.sm.elevation': 1,
90
- 'elevation.md.shadowColor': '#000000',
91
- 'elevation.md.shadowOpacity': 0.4,
92
- 'elevation.md.shadowRadius': 6,
93
- 'elevation.md.shadowOffset.width': 0,
94
- 'elevation.md.shadowOffset.height': 2,
95
- 'elevation.md.elevation': 3,
96
- 'elevation.lg.shadowColor': '#000000',
97
- 'elevation.lg.shadowOpacity': 0.5,
98
- 'elevation.lg.shadowRadius': 12,
99
- 'elevation.lg.shadowOffset.width': 0,
100
- 'elevation.lg.shadowOffset.height': 4,
101
- 'elevation.lg.elevation': 6,
102
- 'elevation.xl.shadowColor': '#000000',
103
- 'elevation.xl.shadowOpacity': 0.6,
104
- 'elevation.xl.shadowRadius': 24,
105
- 'elevation.xl.shadowOffset.width': 0,
106
- 'elevation.xl.shadowOffset.height': 8,
107
- 'elevation.xl.elevation': 12
71
+ 'color.status.success': '{palette.green.600}',
72
+ 'color.status.success.bg': '{palette.green.600}',
73
+ 'color.status.success.bg.subtle': '{palette.green.600}/30',
74
+ 'color.status.success.border': '{palette.green.700}',
75
+ 'color.status.success.border.subtle': '{palette.green.800}',
76
+ 'color.status.success.fg': '{palette.white}',
77
+ 'color.status.success.fg.subtle': '{palette.green.200}',
78
+ 'color.status.warning': '{palette.yellow.600}',
79
+ 'color.status.warning.bg': '{palette.yellow.600}',
80
+ 'color.status.warning.bg.subtle': '{palette.yellow.600}/30',
81
+ 'color.status.warning.border': '{palette.yellow.700}',
82
+ 'color.status.warning.border.subtle': '{palette.yellow.800}',
83
+ 'color.status.warning.fg': '{palette.white}',
84
+ 'color.status.warning.fg.subtle': '{palette.yellow.200}',
85
+ 'color.status.danger': '{palette.red.700}',
86
+ 'color.status.danger.bg': '{palette.red.700}',
87
+ 'color.status.danger.bg.subtle': '{palette.red.700}/30',
88
+ 'color.status.danger.border': '{palette.red.800}',
89
+ 'color.status.danger.border.subtle': '{palette.red.900}',
90
+ 'color.status.danger.fg': '{palette.white}',
91
+ 'color.status.danger.fg.subtle': '{palette.red.200}',
92
+ 'color.status.info': '{palette.sky.500}',
93
+ 'color.status.info.bg': '{palette.sky.500}',
94
+ 'color.status.info.bg.subtle': '{palette.sky.950}',
95
+ 'color.status.info.border': '{palette.sky.800}',
96
+ 'color.status.info.border.subtle': '{palette.sky.900}',
97
+ 'color.status.info.fg': '{palette.slate.950}',
98
+ 'color.status.info.fg.subtle': '{palette.sky.200}'
108
99
  };
109
100
  //# sourceMappingURL=dark.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["dark"],"sourceRoot":"../../../../src","sources":["theme/tokens/dark.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["dark"],"sourceRoot":"../../../../src","sources":["theme/tokens/dark.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,IAAI,GAAG;EAClB;EACA,kBAAkB,EAAE,uBAAuB;EAE3C;EACA,cAAc,EAAE,SAAS;EAEzB;EACA,uBAAuB,EAAE,uBAAuB;EAChD,sBAAsB,EAAE,uBAAuB;EAC/C,sBAAsB,EAAE,SAAS;EACjC,uBAAuB,EAAE,qBAAqB;EAC9C,sBAAsB,EAAE,uBAAuB;EAC/C,6BAA6B,EAAE,uBAAuB;EAEtD;EACA,oBAAoB,EAAE,sBAAsB;EAC5C;EACA;EACA;EACA;EACA;EACA,kBAAkB,EAAE,SAAS;EAC7B,mBAAmB,EAAE,SAAS;EAC9B,qBAAqB,EAAE,SAAS;EAChC,oBAAoB,EAAE,uBAAuB;EAC7C,iBAAiB,EAAE,oBAAoB;EACvC,mBAAmB,EAAE,uBAAuB;EAC5C,sBAAsB,EAAE,uBAAuB;EAC/C,6BAA6B,EAAE,uBAAuB;EAEtD;EACA,qBAAqB,EAAE,uBAAuB;EAC9C,sBAAsB,EAAE,uBAAuB;EAC/C,qBAAqB,EAAE,uBAAuB;EAC9C,oBAAoB,EAAE,oBAAoB;EAC1C,qBAAqB,EAAE,uBAAuB;EAE9C;EACA,yBAAyB,EAAE,uBAAuB;EAClD,+BAA+B,EAAE,uBAAuB;EACxD,gCAAgC,EAAE,uBAAuB;EACzD,kCAAkC,EAAE,qBAAqB;EACzD,yBAAyB,EAAE,qBAAqB;EAEhD,gCAAgC,EAAE,uBAAuB;EACzD,sCAAsC,EAAE,uBAAuB;EAC/D,uCAAuC,EAAE,uBAAuB;EAChE,yCAAyC,EAAE,uBAAuB;EAClE,gCAAgC,EAAE,uBAAuB;EAEzD;EACA;EACA;EACA,2BAA2B,EAAE,uBAAuB;EACpD,2BAA2B,EAAE,sBAAsB;EACnD;EACA;EACA;EACA;EACA;EACA;EACA,kCAAkC,EAAE,0BAA0B;EAC9D,wCAAwC,EAAE,0BAA0B;EACpE,yCAAyC,EAAE,0BAA0B;EACrE,2CAA2C,EAAE,uBAAuB;EACpE,kCAAkC,EAAE,uBAAuB;EAE3D;EACA,sBAAsB,EAAE,qBAAqB;EAC7C,yBAAyB,EAAE,qBAAqB;EAChD,gCAAgC,EAAE,wBAAwB;EAC1D,6BAA6B,EAAE,qBAAqB;EACpD,oCAAoC,EAAE,qBAAqB;EAC3D,yBAAyB,EAAE,iBAAiB;EAC5C,gCAAgC,EAAE,qBAAqB;EAEvD,sBAAsB,EAAE,sBAAsB;EAC9C,yBAAyB,EAAE,sBAAsB;EACjD,gCAAgC,EAAE,yBAAyB;EAC3D,6BAA6B,EAAE,sBAAsB;EACrD,oCAAoC,EAAE,sBAAsB;EAC5D,yBAAyB,EAAE,iBAAiB;EAC5C,gCAAgC,EAAE,sBAAsB;EAExD,qBAAqB,EAAE,mBAAmB;EAC1C,wBAAwB,EAAE,mBAAmB;EAC7C,+BAA+B,EAAE,sBAAsB;EACvD,4BAA4B,EAAE,mBAAmB;EACjD,mCAAmC,EAAE,mBAAmB;EACxD,wBAAwB,EAAE,iBAAiB;EAC3C,+BAA+B,EAAE,mBAAmB;EAEpD,mBAAmB,EAAE,mBAAmB;EACxC,sBAAsB,EAAE,mBAAmB;EAC3C,6BAA6B,EAAE,mBAAmB;EAClD,0BAA0B,EAAE,mBAAmB;EAC/C,iCAAiC,EAAE,mBAAmB;EACtD,sBAAsB,EAAE,qBAAqB;EAC7C,6BAA6B,EAAE;AACjC,CAAC","ignoreList":[]}