@felloinnovations/brand-kit 0.4.0 → 0.5.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 (363) hide show
  1. package/AGENTS.md +198 -24
  2. package/CHANGELOG.md +197 -0
  3. package/README.md +34 -7
  4. package/design-system/01-how-claude-decides.md +26 -17
  5. package/design-system/02-principles.md +11 -6
  6. package/design-system/03-colour.md +134 -47
  7. package/design-system/04-type.md +45 -23
  8. package/design-system/05-space-and-layout.md +175 -52
  9. package/design-system/06-sizing-profiles.md +4 -4
  10. package/design-system/07-scrolling.md +66 -20
  11. package/design-system/08-choosing-components.md +50 -22
  12. package/design-system/09-charts.md +71 -28
  13. package/design-system/10-patterns.md +33 -10
  14. package/design-system/11-page-recipes.md +110 -23
  15. package/design-system/12-content.md +2 -1
  16. package/design-system/13-motion.md +330 -47
  17. package/design-system/14-accessibility.md +47 -24
  18. package/design-system/15-ai-experiences.md +11 -6
  19. package/design-system/16-creativity.md +1 -1
  20. package/design-system/17-decisions.md +357 -1
  21. package/design-system/18-checklist.md +79 -16
  22. package/design-system/19-public-pages.md +6 -4
  23. package/design-system/20-palettes.md +275 -0
  24. package/design-system/README.md +30 -17
  25. package/design-system/components/ActionList/README.md +96 -10
  26. package/design-system/components/ActionList/preview.html +52 -7
  27. package/design-system/components/ActionList/style.css +64 -0
  28. package/design-system/components/ActivityGrid/README.md +38 -2
  29. package/design-system/components/ActivityGrid/preview.html +1 -1
  30. package/design-system/components/ActivityGrid/style.css +35 -0
  31. package/design-system/components/AppShell/README.md +205 -75
  32. package/design-system/components/AppShell/preview.html +339 -58
  33. package/design-system/components/AppShell/style.css +154 -0
  34. package/design-system/components/Avatar/README.md +37 -10
  35. package/design-system/components/Avatar/preview.html +13 -4
  36. package/design-system/components/Avatar/style.css +14 -0
  37. package/design-system/components/Badge/README.md +41 -19
  38. package/design-system/components/Badge/preview.html +13 -10
  39. package/design-system/components/Badge/style.css +23 -0
  40. package/design-system/components/Banner/README.md +30 -9
  41. package/design-system/components/Banner/preview.html +1 -1
  42. package/design-system/components/Banner/style.css +19 -0
  43. package/design-system/components/Breadcrumb/README.md +58 -46
  44. package/design-system/components/Breadcrumb/preview.html +16 -16
  45. package/design-system/components/Breadcrumb/style.css +17 -0
  46. package/design-system/components/Button/README.md +113 -55
  47. package/design-system/components/Button/preview.html +98 -25
  48. package/design-system/components/Button/style.css +86 -0
  49. package/design-system/components/Card/README.md +158 -49
  50. package/design-system/components/Card/preview.html +141 -19
  51. package/design-system/components/Card/style.css +115 -0
  52. package/design-system/components/CardBoard/README.md +58 -37
  53. package/design-system/components/CardBoard/preview.html +26 -29
  54. package/design-system/components/ChatCard/README.md +115 -29
  55. package/design-system/components/ChatCard/preview.html +149 -32
  56. package/design-system/components/ChatCard/style.css +49 -0
  57. package/design-system/components/ChatShell/README.md +116 -0
  58. package/design-system/components/ChatShell/preview.html +201 -0
  59. package/design-system/components/ChatShell/style.css +86 -0
  60. package/design-system/components/ChatTurn/README.md +78 -35
  61. package/design-system/components/ChatTurn/preview.html +60 -28
  62. package/design-system/components/ChatTurn/style.css +50 -0
  63. package/design-system/components/CheckRow/README.md +141 -0
  64. package/design-system/components/CheckRow/preview.html +140 -0
  65. package/design-system/components/CheckRow/style.css +88 -0
  66. package/design-system/components/Checkbox/README.md +58 -22
  67. package/design-system/components/Checkbox/preview.html +112 -50
  68. package/design-system/components/Checkbox/style.css +45 -0
  69. package/design-system/components/Chip/README.md +78 -47
  70. package/design-system/components/Chip/preview.html +29 -4
  71. package/design-system/components/Chip/style.css +17 -0
  72. package/design-system/components/Combobox/README.md +44 -11
  73. package/design-system/components/Combobox/preview.html +35 -12
  74. package/design-system/components/Combobox/style.css +54 -0
  75. package/design-system/components/Composer/README.md +137 -35
  76. package/design-system/components/Composer/preview.html +115 -40
  77. package/design-system/components/Composer/style.css +81 -0
  78. package/design-system/components/ConfirmDialog/README.md +73 -52
  79. package/design-system/components/ConfirmDialog/preview.html +70 -26
  80. package/design-system/components/ConfirmDialog/style.css +5 -0
  81. package/design-system/components/Cover/preview.html +3 -3
  82. package/design-system/components/Cover/style.css +19 -0
  83. package/design-system/components/DateInput/README.md +77 -12
  84. package/design-system/components/DateInput/preview.html +27 -12
  85. package/design-system/components/DateInput/style.css +38 -0
  86. package/design-system/components/Dialog/README.md +112 -44
  87. package/design-system/components/Dialog/preview.html +141 -18
  88. package/design-system/components/Dialog/style.css +74 -0
  89. package/design-system/components/EmptyState/README.md +42 -12
  90. package/design-system/components/EmptyState/preview.html +11 -11
  91. package/design-system/components/EmptyState/style.css +9 -0
  92. package/design-system/components/EntryShell/README.md +73 -48
  93. package/design-system/components/EntryShell/preview.html +60 -27
  94. package/design-system/components/EntryShell/style.css +19 -0
  95. package/design-system/components/FeatureGrid/README.md +61 -39
  96. package/design-system/components/FeatureGrid/preview.html +2 -2
  97. package/design-system/components/FeatureGrid/style.css +20 -0
  98. package/design-system/components/FileUpload/README.md +33 -3
  99. package/design-system/components/FileUpload/preview.html +18 -4
  100. package/design-system/components/FileUpload/style.css +23 -0
  101. package/design-system/components/FilterBar/README.md +114 -0
  102. package/design-system/components/FilterBar/preview.html +82 -0
  103. package/design-system/components/FilterBar/style.css +22 -0
  104. package/design-system/components/Fold/README.md +84 -26
  105. package/design-system/components/Fold/preview.html +77 -34
  106. package/design-system/components/Fold/style.css +48 -0
  107. package/design-system/components/Footer/README.md +62 -39
  108. package/design-system/components/Footer/preview.html +5 -5
  109. package/design-system/components/Footer/style.css +30 -0
  110. package/design-system/components/FunnelBars/README.md +24 -3
  111. package/design-system/components/FunnelBars/preview.html +5 -5
  112. package/design-system/components/FunnelBars/style.css +13 -0
  113. package/design-system/components/GoalBars/README.md +54 -10
  114. package/design-system/components/GoalBars/preview.html +69 -28
  115. package/design-system/components/GoalBars/style.css +51 -0
  116. package/design-system/components/GoalTicks/README.md +74 -58
  117. package/design-system/components/GoalTicks/preview.html +41 -118
  118. package/design-system/components/GoalTicks/style.css +37 -0
  119. package/design-system/components/GoalTubes/README.md +29 -3
  120. package/design-system/components/GoalTubes/preview.html +6 -6
  121. package/design-system/components/GoalTubes/style.css +23 -0
  122. package/design-system/components/Heatmap/README.md +133 -0
  123. package/design-system/components/Heatmap/preview.html +168 -0
  124. package/design-system/components/Heatmap/style.css +119 -0
  125. package/design-system/components/Hero/README.md +58 -40
  126. package/design-system/components/Hero/preview.html +1 -1
  127. package/design-system/components/Hero/style.css +19 -0
  128. package/design-system/components/HoverCard/README.md +114 -0
  129. package/design-system/components/HoverCard/preview.html +107 -0
  130. package/design-system/components/HoverCard/style.css +59 -0
  131. package/design-system/components/IconButton/README.md +69 -38
  132. package/design-system/components/IconButton/preview.html +77 -43
  133. package/design-system/components/IconButton/style.css +45 -0
  134. package/design-system/components/Input/README.md +36 -11
  135. package/design-system/components/Input/preview.html +1 -1
  136. package/design-system/components/Input/style.css +23 -0
  137. package/design-system/components/KanbanBoard/README.md +93 -45
  138. package/design-system/components/KanbanBoard/preview.html +159 -43
  139. package/design-system/components/KanbanBoard/style.css +53 -0
  140. package/design-system/components/Kbd/README.md +25 -9
  141. package/design-system/components/Kbd/preview.html +6 -2
  142. package/design-system/components/Kbd/style.css +9 -0
  143. package/design-system/components/KitButton/README.md +81 -47
  144. package/design-system/components/KitButton/preview.html +35 -13
  145. package/design-system/components/KitButton/style.css +46 -0
  146. package/design-system/components/KitCard/README.md +75 -44
  147. package/design-system/components/KitCard/preview.html +18 -10
  148. package/design-system/components/KitCard/style.css +15 -0
  149. package/design-system/components/KitInput/README.md +54 -39
  150. package/design-system/components/KitInput/preview.html +7 -7
  151. package/design-system/components/KitInput/style.css +23 -0
  152. package/design-system/components/Leaderboard/README.md +76 -49
  153. package/design-system/components/Leaderboard/preview.html +61 -26
  154. package/design-system/components/Leaderboard/style.css +44 -0
  155. package/design-system/components/ListDetail/README.md +222 -0
  156. package/design-system/components/ListDetail/preview.html +213 -0
  157. package/design-system/components/ListDetail/style.css +148 -0
  158. package/design-system/components/LoadBar/README.md +79 -0
  159. package/design-system/components/LoadBar/preview.html +40 -0
  160. package/design-system/components/LoadBar/style.css +17 -0
  161. package/design-system/components/MarketingNav/README.md +76 -42
  162. package/design-system/components/MarketingNav/preview.html +37 -8
  163. package/design-system/components/MarketingNav/style.css +45 -0
  164. package/design-system/components/Matrix/README.md +129 -0
  165. package/design-system/components/Matrix/preview.html +99 -0
  166. package/design-system/components/Matrix/style.css +84 -0
  167. package/design-system/components/Menu/README.md +117 -41
  168. package/design-system/components/Menu/preview.html +85 -23
  169. package/design-system/components/Menu/style.css +61 -0
  170. package/design-system/components/Meter/README.md +39 -4
  171. package/design-system/components/Meter/preview.html +18 -1
  172. package/design-system/components/Meter/style.css +23 -0
  173. package/design-system/components/MetricTile/README.md +237 -0
  174. package/design-system/components/MetricTile/preview.html +241 -0
  175. package/design-system/components/MetricTile/style.css +129 -0
  176. package/design-system/components/Morph/README.md +106 -0
  177. package/design-system/components/Morph/preview.html +103 -0
  178. package/design-system/components/Morph/style.css +31 -0
  179. package/design-system/components/Motion/README.md +164 -0
  180. package/design-system/components/Motion/preview.html +2537 -0
  181. package/design-system/components/NumberInput/README.md +27 -8
  182. package/design-system/components/NumberInput/preview.html +21 -5
  183. package/design-system/components/NumberInput/style.css +34 -0
  184. package/design-system/components/PaceBar/README.md +75 -0
  185. package/design-system/components/PaceBar/preview.html +67 -0
  186. package/design-system/components/PaceBar/style.css +25 -0
  187. package/design-system/components/Page/README.md +57 -18
  188. package/design-system/components/Page/preview.html +15 -17
  189. package/design-system/components/Page/style.css +7 -0
  190. package/design-system/components/PageBar/README.md +90 -34
  191. package/design-system/components/PageBar/preview.html +60 -19
  192. package/design-system/components/PageBar/style.css +35 -0
  193. package/design-system/components/PageHero/README.md +87 -51
  194. package/design-system/components/PageHero/preview.html +35 -6
  195. package/design-system/components/PageHero/style.css +31 -0
  196. package/design-system/components/Pagination/README.md +70 -49
  197. package/design-system/components/Pagination/preview.html +24 -15
  198. package/design-system/components/Pagination/style.css +12 -0
  199. package/design-system/components/Panel/README.md +109 -51
  200. package/design-system/components/Panel/preview.html +118 -20
  201. package/design-system/components/Panel/style.css +51 -0
  202. package/design-system/components/PasswordInput/README.md +50 -18
  203. package/design-system/components/PasswordInput/preview.html +71 -21
  204. package/design-system/components/PasswordInput/style.css +31 -0
  205. package/design-system/components/Plate/README.md +75 -17
  206. package/design-system/components/Plate/preview.html +40 -7
  207. package/design-system/components/Plate/style.css +37 -0
  208. package/design-system/components/Popover/README.md +70 -49
  209. package/design-system/components/Popover/preview.html +44 -22
  210. package/design-system/components/Popover/style.css +41 -0
  211. package/design-system/components/PricingTable/README.md +69 -49
  212. package/design-system/components/PricingTable/preview.html +21 -21
  213. package/design-system/components/PricingTable/style.css +21 -0
  214. package/design-system/components/ProgressPetals/README.md +31 -3
  215. package/design-system/components/ProgressPetals/preview.html +14 -15
  216. package/design-system/components/ProgressPetals/style.css +27 -0
  217. package/design-system/components/README.md +151 -0
  218. package/design-system/components/Radio/README.md +40 -17
  219. package/design-system/components/Radio/preview.html +16 -1
  220. package/design-system/components/Radio/style.css +21 -0
  221. package/design-system/components/RankBar/README.md +29 -2
  222. package/design-system/components/RankBar/preview.html +14 -12
  223. package/design-system/components/RankBar/style.css +18 -0
  224. package/design-system/components/Ring/README.md +61 -11
  225. package/design-system/components/Ring/preview.html +55 -10
  226. package/design-system/components/Ring/style.css +49 -0
  227. package/design-system/components/ScoreHero/README.md +91 -0
  228. package/design-system/components/ScoreHero/preview.html +104 -0
  229. package/design-system/components/ScoreHero/style.css +32 -0
  230. package/design-system/components/Section/README.md +72 -33
  231. package/design-system/components/Section/preview.html +46 -16
  232. package/design-system/components/Section/style.css +18 -0
  233. package/design-system/components/Segmented/README.md +100 -55
  234. package/design-system/components/Segmented/preview.html +107 -26
  235. package/design-system/components/Segmented/style.css +94 -0
  236. package/design-system/components/SegmentedProgress/README.md +64 -0
  237. package/design-system/components/SegmentedProgress/preview.html +69 -0
  238. package/design-system/components/SegmentedProgress/style.css +11 -0
  239. package/design-system/components/Select/README.md +47 -12
  240. package/design-system/components/Select/preview.html +28 -2
  241. package/design-system/components/Select/style.css +22 -0
  242. package/design-system/components/ShareBar/README.md +69 -0
  243. package/design-system/components/ShareBar/preview.html +72 -0
  244. package/design-system/components/ShareBar/style.css +25 -0
  245. package/design-system/components/SideList/README.md +147 -0
  246. package/design-system/components/SideList/preview.html +139 -0
  247. package/design-system/components/SideList/style.css +94 -0
  248. package/design-system/components/Skeleton/README.md +52 -16
  249. package/design-system/components/Skeleton/preview.html +35 -23
  250. package/design-system/components/Skeleton/style.css +22 -0
  251. package/design-system/components/Slider/README.md +95 -0
  252. package/design-system/components/Slider/preview.html +49 -0
  253. package/design-system/components/Slider/style.css +13 -0
  254. package/design-system/components/Split/README.md +112 -0
  255. package/design-system/components/Split/preview.html +105 -0
  256. package/design-system/components/Split/style.css +30 -0
  257. package/design-system/components/Starter/README.md +21 -9
  258. package/design-system/components/Starter/preview.html +5 -5
  259. package/design-system/components/Stat/README.md +64 -43
  260. package/design-system/components/Stat/preview.html +3 -3
  261. package/design-system/components/Stat/style.css +15 -0
  262. package/design-system/components/StatTiles/README.md +88 -44
  263. package/design-system/components/StatTiles/preview.html +142 -71
  264. package/design-system/components/StatTiles/style.css +64 -0
  265. package/design-system/components/StatusLine/README.md +85 -0
  266. package/design-system/components/StatusLine/preview.html +49 -0
  267. package/design-system/components/StatusLine/style.css +14 -0
  268. package/design-system/components/StatusScreen/README.md +49 -35
  269. package/design-system/components/StatusScreen/preview.html +20 -5
  270. package/design-system/components/StatusScreen/style.css +9 -0
  271. package/design-system/components/StepLine/README.md +97 -0
  272. package/design-system/components/StepLine/preview.html +108 -0
  273. package/design-system/components/StepLine/style.css +62 -0
  274. package/design-system/components/Stepper/README.md +35 -13
  275. package/design-system/components/Stepper/style.css +13 -0
  276. package/design-system/components/StreakCalendar/README.md +22 -1
  277. package/design-system/components/StreakCalendar/preview.html +10 -10
  278. package/design-system/components/StreakCalendar/style.css +12 -0
  279. package/design-system/components/SuggestionChip/README.md +87 -0
  280. package/design-system/components/SuggestionChip/preview.html +42 -0
  281. package/design-system/components/SuggestionChip/style.css +20 -0
  282. package/design-system/components/Switch/README.md +44 -24
  283. package/design-system/components/Switch/preview.html +23 -8
  284. package/design-system/components/Switch/style.css +31 -0
  285. package/design-system/components/Table/README.md +129 -58
  286. package/design-system/components/Table/preview.html +106 -72
  287. package/design-system/components/Table/style.css +104 -0
  288. package/design-system/components/Tabs/README.md +71 -46
  289. package/design-system/components/Tabs/preview.html +56 -24
  290. package/design-system/components/Tabs/style.css +44 -0
  291. package/design-system/components/Testimonial/README.md +48 -32
  292. package/design-system/components/Testimonial/preview.html +14 -14
  293. package/design-system/components/Testimonial/style.css +12 -0
  294. package/design-system/components/TextArea/README.md +27 -11
  295. package/design-system/components/TextArea/preview.html +8 -2
  296. package/design-system/components/TextArea/style.css +12 -0
  297. package/design-system/components/ThemeSwitch/README.md +116 -0
  298. package/design-system/components/ThemeSwitch/preview.html +57 -0
  299. package/design-system/components/ThemeSwitch/style.css +6 -0
  300. package/design-system/components/TickRow/README.md +52 -36
  301. package/design-system/components/TickRow/preview.html +64 -41
  302. package/design-system/components/TickRow/style.css +23 -0
  303. package/design-system/components/TickStrip/README.md +95 -0
  304. package/design-system/components/TickStrip/preview.html +88 -0
  305. package/design-system/components/TickStrip/style.css +42 -0
  306. package/design-system/components/Tile/README.md +79 -18
  307. package/design-system/components/Tile/preview.html +91 -40
  308. package/design-system/components/Tile/style.css +36 -0
  309. package/design-system/components/Timeline/README.md +68 -48
  310. package/design-system/components/Timeline/preview.html +27 -15
  311. package/design-system/components/Timeline/style.css +25 -0
  312. package/design-system/components/Toast/README.md +70 -38
  313. package/design-system/components/Toast/preview.html +43 -8
  314. package/design-system/components/Toast/style.css +25 -0
  315. package/design-system/components/Tooltip/README.md +93 -35
  316. package/design-system/components/Tooltip/preview.html +69 -15
  317. package/design-system/components/Tooltip/style.css +78 -0
  318. package/design-system/components/TopBar/README.md +67 -53
  319. package/design-system/components/TopBar/preview.html +14 -27
  320. package/design-system/components/TopBar/style.css +35 -0
  321. package/design-system/components/TopicRail/README.md +108 -0
  322. package/design-system/components/TopicRail/preview.html +58 -0
  323. package/design-system/components/TopicRail/style.css +48 -0
  324. package/design-system/components/TrendBars/README.md +52 -14
  325. package/design-system/components/TrendBars/preview.html +65 -32
  326. package/design-system/components/TrendBars/style.css +25 -0
  327. package/design-system/components/TrendLine/README.md +164 -0
  328. package/design-system/components/TrendLine/preview.html +373 -0
  329. package/design-system/components/TrendLine/style.css +155 -0
  330. package/design-system/components/Well/README.md +64 -22
  331. package/design-system/components/Well/preview.html +14 -14
  332. package/design-system/components/Well/style.css +22 -0
  333. package/design-system/components/_house.css +324 -0
  334. package/design-system/components/bundle.css +4091 -744
  335. package/design-system/tokens.json +1314 -124
  336. package/dist/fello-core.css +2 -2
  337. package/dist/fello.css +6 -1369
  338. package/dist/fello.scoped.css +7 -0
  339. package/dist/index.d.ts +110 -11
  340. package/dist/index.js +781 -96
  341. package/dist/palettes.d.ts +464 -0
  342. package/dist/palettes.js +497 -0
  343. package/dist/scoped.d.ts +3 -0
  344. package/dist/scoped.js +16 -0
  345. package/dist/toast.d.ts +14 -0
  346. package/dist/toast.js +33 -29
  347. package/dist/tokens.d.ts +1686 -62
  348. package/dist/tokens.js +1668 -61
  349. package/package.json +20 -4
  350. package/scripts/check-palette.mjs +295 -0
  351. package/scripts/token-model.mjs +552 -0
  352. package/tokens/_dark.css +174 -0
  353. package/tokens/_palettes.css +46 -0
  354. package/tokens/_product.css +266 -53
  355. package/tokens/_source.hubl.css +39 -19
  356. package/tokens/design-tokens.json +319 -0
  357. package/tokens/palettes.ts +504 -0
  358. package/tokens/shadcn-compat.css +19 -19
  359. package/tokens/shadcn-compat.hsl.css +76 -0
  360. package/tokens/tokens.css +1292 -62
  361. package/tokens/tokens.md +588 -61
  362. package/tokens/tokens.root.css +1298 -62
  363. package/tokens/tokens.ts +1677 -64
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
  import * as TabsPrimitive from '@radix-ui/react-tabs';
5
5
  import { ClassValue } from 'clsx';
6
+ export { ContractToken, PaletteName, contract, palettes } from './palettes.js';
6
7
 
7
8
  /**
8
9
  * Figma `Marketing - Design System 3.0` page 🔘 Button (722:4), as resolved in
@@ -13,9 +14,18 @@ import { ClassValue } from 'clsx';
13
14
  * The Primary theme's 3px bottom border is not decoration. It is the lift, and
14
15
  * :active collapses it so the button physically presses. Drop it and the CTA
15
16
  * stops looking like Fello's.
17
+ *
18
+ * In step with `.ws-kit-button` (design-system/components/KitButton/style.css):
19
+ * the heights are floors, so a label too long for its column wraps to a second,
20
+ * balanced line instead of running out of the button; focus is the house ring
21
+ * (2px navy, 2px out); on touch, medium and small take a 44px hit area.
22
+ *
23
+ * Primary's words are white on the salmon gradient, as fello.ai draws them
24
+ * (Amit, 4 Nov 2026). That is 2.44 to 2.65:1, the kit's one logged exception
25
+ * to D2: the act is large, semibold and short. Literal in every theme.
16
26
  */
17
27
  declare const buttonVariants: (props?: ({
18
- variant?: "primary" | "secondary" | "navy" | "tertiary" | "clean" | null | undefined;
28
+ variant?: "navy" | "primary" | "secondary" | "tertiary" | "clean" | null | undefined;
19
29
  size?: "large" | "medium" | "small" | null | undefined;
20
30
  shadow?: boolean | null | undefined;
21
31
  fullWidth?: boolean | null | undefined;
@@ -36,6 +46,11 @@ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAtt
36
46
  * colours are fills: salmon on its own 12% tint is 2.39:1 and cannot carry
37
47
  * words. The *-strong tokens are those hues darkened until they clear 4.5:1,
38
48
  * which is why a salmon badge's label is not salmon.
49
+ *
50
+ * In step with `.ws-kit-badge` (design-system/components/Badge/style.css): the
51
+ * neutral ground is the track and navy words are the heading word, so both
52
+ * follow the theme. Its box is the CSS one too: 24px tall (`--space-lg`) with
53
+ * 16px lines, and the outline drawn inside, so every tone is the same size.
39
54
  */
40
55
  declare const badgeVariants: (props?: ({
41
56
  tone?: "navy" | "neutral" | "brand" | "success" | "error" | "outline" | null | undefined;
@@ -56,11 +71,19 @@ declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttri
56
71
  * and the hairline border already does the separating work. `surface="tinted"`
57
72
  * is there for the cases that genuinely need to recede.
58
73
  *
59
- * No shadow by default. Elevation is a signal, and a page where every card is
60
- * raised has no signal left. `interactive` adds the lift on hover for cards
61
- * that are actually clickable.
74
+ * No shadow, at rest or on hover. Elevation is a signal, and a page where every
75
+ * card is raised has no signal left. `interactive` tints the card on hover (the
76
+ * nav's hover wash over its own surface), a colour change rather than a lift
77
+ * (D7), which also shows on the dark ground where a shadow barely did.
62
78
  *
63
79
  * Parts mirror shadcn's Card, so a call site migrates by changing the import.
80
+ *
81
+ * In step with `.ws-kit-card` (design-system/components/KitCard/style.css):
82
+ * the surface follows the theme (`--color-surface`), tinted is the sunk step,
83
+ * and a long title breaks rather than running out of the card. An interactive
84
+ * card is the link itself, so it takes focus and reads as one target:
85
+ * `<a href="/x" className={cardVariants({ interactive: true })}>`. A `<Card
86
+ * interactive>` div with an onClick is not reachable by keyboard.
64
87
  */
65
88
  declare const cardVariants: (props?: ({
66
89
  surface?: "white" | "tinted" | "transparent" | null | undefined;
@@ -85,7 +108,15 @@ declare const CardFooter: react.ForwardRefExoticComponent<react.HTMLAttributes<H
85
108
  * which keeps the markup readable and needs no JavaScript.
86
109
  *
87
110
  * The label is part of the control, so the tap target is the row rather than
88
- * an 18px square. That matters on phones, which is most of this audience.
111
+ * an 18px square. That matters on phones, which is most of this audience: on
112
+ * a coarse pointer the label's hit area covers the row, box included, 44px
113
+ * tall (the public floor), like Button's medium and small.
114
+ *
115
+ * In step with `.ws-check` (design-system/components/Checkbox/style.css),
116
+ * Seth's action box: 18px, 4px corners, a 1.5px navy edge on the page cream at
117
+ * rest (12:1, so the box passes the 3:1 a control asks), a navy wash under a
118
+ * pointer, navy when chosen with a 12px tick in the act's word. An invalid,
119
+ * empty box takes the needs-you edge. Focus is the house ring, 2px navy, 2px out.
89
120
  */
90
121
  interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
91
122
  label?: React.ReactNode;
@@ -96,8 +127,14 @@ declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.Re
96
127
 
97
128
  /**
98
129
  * Form Input, per docs-cache/design-system/cards-and-components.md §3:
99
- * 40px tall, 6px radius, 1px Gray Stroke, 9/12 padding, 14px Gray 8 text,
100
- * Gray 5 placeholder, salmon border + 3px salmon ring on focus.
130
+ * 40px tall, 6px radius, 1px Gray Stroke, 12px sides, 14px words,
131
+ * the placeholder word, a salmon border on error.
132
+ *
133
+ * In step with `.ws-kit-input` (design-system/components/KitInput/style.css):
134
+ * the field ground and words follow the theme (`--ws-field`, `--ws-field-ink`);
135
+ * focus is the house ring (2px navy, 2px out), not the salmon halo that made a
136
+ * field being typed in look refused; on touch the field is 44px with 16px words,
137
+ * so a phone does not zoom the page when it takes focus.
101
138
  *
102
139
  * `error` is a string, not a boolean, because an error state with no message
103
140
  * is not an accessible error state. Passing one wires aria-describedby and
@@ -140,6 +177,16 @@ declare const RadioGroup: react.ForwardRefExoticComponent<RadioGroupProps & reac
140
177
  *
141
178
  * Two looks. `underline` is the marketing-page default. `pill` is for dense
142
179
  * internal tools, where a segmented control reads better than a rule.
180
+ *
181
+ * In step with `.ws-tabs` (design-system/components/Tabs/style.css): the
182
+ * current tab is navy words on a 2px navy rule (the old salmon rule was a
183
+ * 2.6:1 state mark), the others the body word. A row wider than its column
184
+ * (underline) scrolls sideways instead of pushing the page past a phone's
185
+ * edge, so the focus ring is drawn inside the tab (D8, a clipped container),
186
+ * and a tab never shrinks. `pill` does not scroll; keep a pill set to what
187
+ * fits. Its chosen tab is the navy thumb, as `Segmented` draws it, so it shows
188
+ * in dark as well, and its focus ring stands 2px off the thumb. On touch a tab is 44px tall, the public page's floor, like
189
+ * Button and Input. `pill` hugs its tabs rather than spanning the column.
143
190
  */
144
191
  type Variant = 'underline' | 'pill';
145
192
  interface TabsProps extends React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> {
@@ -150,12 +197,17 @@ declare const TabsList: react.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsL
150
197
  declare const TabsTrigger: react.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
151
198
  declare const TabsContent: react.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
152
199
 
153
- /** 12px / 500 / Gray 7, per the Figma input annotation block. */
200
+ /** 12px / 500, per the Figma input annotation block, in the body word (Gray 7 in light; it follows the theme). */
154
201
  declare const Label: react.ForwardRefExoticComponent<react.LabelHTMLAttributes<HTMLLabelElement> & react.RefAttributes<HTMLLabelElement>>;
155
202
 
156
203
  /**
157
- * Loading placeholder. Gray 2 so it reads as absent rather than as content.
158
- * Respects prefers-reduced-motion by dropping the pulse, not the block.
204
+ * Loading placeholder: a ghost the shape of what is coming, under North's
205
+ * shimmer in the chart colours (D7), never a spinner. The ghost is the
206
+ * `--ws-shimmer` gradient, so it reads as absent rather than as content in
207
+ * either theme. The sweep runs where fello.css is on the page (`ws-shimmer`,
208
+ * the house class) and stops under prefers-reduced-motion; with tokens.css
209
+ * alone it is the still ghost. 4px corners, as `.ws-skeleton`
210
+ * (design-system/components/Skeleton/style.css).
159
211
  */
160
212
  declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react.JSX.Element;
161
213
 
@@ -171,6 +223,13 @@ declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivE
171
223
  *
172
224
  * A zero is a claim about the business that may be false; an X reads as
173
225
  * "this broke"; a dash reads as "nothing here yet", which is the only true one.
226
+ *
227
+ * In step with `.ws-stat` (design-system/components/Stat/style.css): the figure
228
+ * is the kit's 28/32 row step, the label 12px (the public web's smallest label),
229
+ * `brand` takes salmon's word step (salmon itself is 2.7:1, under the 3:1 a
230
+ * 28px figure needs), and pending is the shimmer ghost at the figure's height,
231
+ * so nothing shifts when the number lands. The sweep runs where fello.css is on
232
+ * the page (`ws-shimmer`); with tokens.css alone it is the still ghost.
174
233
  */
175
234
  interface StatProps {
176
235
  label: string;
@@ -186,4 +245,44 @@ declare function Stat({ label, value, note, tone, pending, className }: StatProp
186
245
  /** Merge class names, last Tailwind utility wins. */
187
246
  declare const cn: (...inputs: ClassValue[]) => string;
188
247
 
189
- export { Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, type CheckboxProps, Input, type InputProps, Label, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Skeleton, Stat, type StatProps, Tabs, TabsContent, TabsList, type TabsProps, TabsTrigger, badgeVariants, buttonVariants, cardVariants, cn };
248
+ /**
249
+ * Seth's motion where CSS cannot start it alone (D7, design-system/components/Morph and Composer). No framework, no
250
+ * per-frame script: each helper hands the move to the browser and the kit's CSS.
251
+ */
252
+ /** Which of Seth's moves a morph is (Morph/README.md): `full` a card to full screen and back (.45 s, the morph curve),
253
+ * `grow` a card growing open (.55 s, grow), `shrink` it closing back into place (.4 s, grow), `shift` the chat moving
254
+ * between its modes (.55 s, shift). */
255
+ type MorphKind = 'full' | 'grow' | 'shrink' | 'shift';
256
+ interface MorphOptions {
257
+ /** The move, by Seth's name for it. Default `full`. */
258
+ as?: MorphKind;
259
+ /** The element that changes place or size, still in the page after the update (the same node). morph() names it
260
+ * `ws-morph` for the move and copies its ground and corners to the frame. Leave it out when the page names its own
261
+ * element (`view-transition-name: ws-morph`). For `full` it is required: it is the element lifted to the top layer. */
262
+ el?: HTMLElement | null;
263
+ /** `full` only: the update that brings the element back, which Escape runs (as a morph). Leave it out when `update`
264
+ * is a toggle (it flips the full state both ways): Escape then runs `update` again. */
265
+ close?: () => void | Promise<void>;
266
+ }
267
+ /**
268
+ * Runs `update` (the change of class, mode or place) as a same-document view transition, so the element goes to its new
269
+ * place as itself on Seth's curve for `as`. Without view transitions, or under reduced motion, it runs `update` at once.
270
+ * Resolves when the move has finished. In React, flush the state inside it: `morph(() => flushSync(() => setFull(true)), { el })`.
271
+ *
272
+ * `full` also lifts `el` into the top layer while its update leaves it `position: fixed`, and brings it back down when
273
+ * an update leaves it unfixed (see place()): the full screen covers the window whatever the element sits inside. That
274
+ * happens with or without motion. Escape runs `close` (or `update` again, for a toggle); give the full state a Back
275
+ * button that calls morph() the same way.
276
+ */
277
+ declare function morph(update: () => void | Promise<void>, { as, el, close }?: MorphOptions): Promise<void>;
278
+ /**
279
+ * North's placeholder roll ("Placeholder roll": every 3.4 s the next question rolls up out of a blur on the roll spring).
280
+ * Moves `data-on` to the next line of a `ws-composer__roll` every `every` ms; the CSS does the motion. Returns a stop
281
+ * (a React effect's cleanup: `useEffect(() => rollPlaceholder(ref.current!), [])`). Under reduced motion it holds the
282
+ * first line.
283
+ */
284
+ declare function rollPlaceholder(roll: Element, every?: number): () => void;
285
+
286
+ declare function reorder(update: () => unknown, within?: ParentNode, rows?: string): Promise<void>;
287
+
288
+ export { Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, type CheckboxProps, Input, type InputProps, Label, type MorphKind, type MorphOptions, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Skeleton, Stat, type StatProps, Tabs, TabsContent, TabsList, type TabsProps, TabsTrigger, badgeVariants, buttonVariants, cardVariants, cn, morph, reorder, rollPlaceholder };