@teseor/css 1.14.3 → 1.15.1

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 (464) hide show
  1. package/package.json +1 -1
  2. package/src/base/docs.html +19 -0
  3. package/src/base/typography/docs.html +159 -0
  4. package/src/components/actions/button/docs.html +73 -0
  5. package/src/components/actions/button/{button.visual.spec.ts → visual.spec.ts} +4 -4
  6. package/src/components/actions/button-group/docs.html +44 -0
  7. package/src/components/actions/button-group/{button-group.visual.spec.ts → visual.spec.ts} +4 -4
  8. package/src/components/actions/close-button/docs.html +74 -0
  9. package/src/components/actions/close-button/{close-button.visual.spec.ts → visual.spec.ts} +4 -4
  10. package/src/components/content/divider/docs.html +25 -0
  11. package/src/components/content/divider/{divider.visual.spec.ts → visual.spec.ts} +4 -4
  12. package/src/components/content/scroll-area/docs.html +127 -0
  13. package/src/components/content/scroll-area/visual.png +0 -0
  14. package/src/components/content/scroll-area/{scroll-area.visual.spec.ts → visual.spec.ts} +4 -4
  15. package/src/components/content/spacer/docs.html +20 -0
  16. package/src/components/content/spacer/{spacer.visual.spec.ts → visual.spec.ts} +4 -4
  17. package/src/components/data-display/avatar/docs.html +64 -0
  18. package/src/components/data-display/avatar/{avatar.visual.spec.ts → visual.spec.ts} +4 -4
  19. package/src/components/data-display/badge/docs.html +37 -0
  20. package/src/components/data-display/badge/{badge.visual.spec.ts → visual.spec.ts} +4 -4
  21. package/src/components/data-display/card/docs.html +33 -0
  22. package/src/components/data-display/card/visual.png +0 -0
  23. package/src/components/data-display/card/{card.visual.spec.ts → visual.spec.ts} +4 -4
  24. package/src/components/data-display/data-list/docs.html +94 -0
  25. package/src/components/data-display/data-list/{data-list-visual.png → visual.png} +0 -0
  26. package/src/components/data-display/data-list/{data-list.visual.spec.ts → visual.spec.ts} +4 -4
  27. package/src/components/data-display/icon/docs.html +69 -0
  28. package/src/components/data-display/icon/{icon.visual.spec.ts → visual.spec.ts} +4 -4
  29. package/src/components/data-display/image/docs.html +64 -0
  30. package/src/components/data-display/image/visual.png +0 -0
  31. package/src/components/data-display/image/{image.visual.spec.ts → visual.spec.ts} +4 -4
  32. package/src/components/data-display/stat/docs.html +32 -0
  33. package/src/components/data-display/stat/{stat.visual.spec.ts → visual.spec.ts} +4 -4
  34. package/src/components/data-display/status/docs.html +64 -0
  35. package/src/components/data-display/status/{status.visual.spec.ts → visual.spec.ts} +4 -4
  36. package/src/components/data-display/table/docs.html +70 -0
  37. package/src/components/data-display/table/{table.visual.spec.ts → visual.spec.ts} +4 -4
  38. package/src/components/data-display/tag/docs.html +39 -0
  39. package/src/components/data-display/tag/{tag.visual.spec.ts → visual.spec.ts} +4 -4
  40. package/src/components/disclosure/accordion/docs.html +80 -0
  41. package/src/components/disclosure/accordion/{accordion.visual.spec.ts → visual.spec.ts} +4 -4
  42. package/src/components/disclosure/disclosure/docs.html +48 -0
  43. package/src/components/disclosure/disclosure/{disclosure.visual.spec.ts → visual.spec.ts} +4 -4
  44. package/src/components/feedback/alert/docs.html +87 -0
  45. package/src/components/feedback/alert/{alert.visual.spec.ts → visual.spec.ts} +4 -4
  46. package/src/components/feedback/progress/docs.html +62 -0
  47. package/src/components/feedback/progress/{progress.visual.spec.ts → visual.spec.ts} +4 -4
  48. package/src/components/feedback/progress-circle/docs.html +62 -0
  49. package/src/components/feedback/progress-circle/{progress-circle.visual.spec.ts → visual.spec.ts} +4 -4
  50. package/src/components/feedback/skeleton/docs.html +37 -0
  51. package/src/components/feedback/skeleton/{skeleton.visual.spec.ts → visual.spec.ts} +4 -4
  52. package/src/components/feedback/spinner/docs.html +26 -0
  53. package/src/components/feedback/spinner/{spinner.visual.spec.ts → visual.spec.ts} +4 -4
  54. package/src/components/feedback/toast/docs.html +106 -0
  55. package/src/components/feedback/toast/visual.png +0 -0
  56. package/src/components/feedback/toast/{toast.visual.spec.ts → visual.spec.ts} +4 -4
  57. package/src/components/forms/checkbox/docs.html +30 -0
  58. package/src/components/forms/checkbox/{checkbox.visual.spec.ts → visual.spec.ts} +4 -4
  59. package/src/components/forms/checkbox-group/docs.html +101 -0
  60. package/src/components/forms/checkbox-group/{checkbox-group.visual.spec.ts → visual.spec.ts} +4 -4
  61. package/src/components/forms/field/docs.html +60 -0
  62. package/src/components/forms/field/{field.visual.spec.ts → visual.spec.ts} +4 -4
  63. package/src/components/forms/fieldset/docs.html +119 -0
  64. package/src/components/forms/fieldset/{fieldset.visual.spec.ts → visual.spec.ts} +4 -4
  65. package/src/components/forms/form/docs.html +129 -0
  66. package/src/components/forms/form/{form.visual.spec.ts → visual.spec.ts} +4 -4
  67. package/src/components/forms/form-error/docs.html +15 -0
  68. package/src/components/forms/form-error/{form-error.visual.spec.ts → visual.spec.ts} +4 -4
  69. package/src/components/forms/form-helper/docs.html +39 -0
  70. package/src/components/forms/form-helper/{form-helper.visual.spec.ts → visual.spec.ts} +4 -4
  71. package/src/components/forms/input/docs.html +66 -0
  72. package/src/components/forms/input/visual.png +0 -0
  73. package/src/components/forms/input/{input.visual.spec.ts → visual.spec.ts} +4 -4
  74. package/src/components/forms/label/docs.html +26 -0
  75. package/src/components/forms/label/visual.png +0 -0
  76. package/src/components/forms/label/{label.visual.spec.ts → visual.spec.ts} +4 -4
  77. package/src/components/forms/number-input/docs.html +97 -0
  78. package/src/components/forms/number-input/visual.png +0 -0
  79. package/src/components/forms/number-input/{number-input.visual.spec.ts → visual.spec.ts} +4 -4
  80. package/src/components/forms/password-input/docs.html +85 -0
  81. package/src/components/forms/password-input/visual.png +0 -0
  82. package/src/components/forms/password-input/{password-input.visual.spec.ts → visual.spec.ts} +4 -4
  83. package/src/components/forms/radio/docs.html +49 -0
  84. package/src/components/forms/radio/{radio.visual.spec.ts → visual.spec.ts} +4 -4
  85. package/src/components/forms/radio-group/docs.html +97 -0
  86. package/src/components/forms/radio-group/{radio-group.visual.spec.ts → visual.spec.ts} +4 -4
  87. package/src/components/forms/search-input/docs.html +84 -0
  88. package/src/components/forms/search-input/visual.png +0 -0
  89. package/src/components/forms/search-input/{search-input.visual.spec.ts → visual.spec.ts} +4 -4
  90. package/src/components/forms/select/docs.html +67 -0
  91. package/src/components/forms/select/visual.png +0 -0
  92. package/src/components/forms/select/{select.visual.spec.ts → visual.spec.ts} +4 -4
  93. package/src/components/forms/slider/docs.html +22 -0
  94. package/src/components/forms/slider/visual.png +0 -0
  95. package/src/components/forms/slider/{slider.visual.spec.ts → visual.spec.ts} +4 -4
  96. package/src/components/forms/textarea/docs.html +36 -0
  97. package/src/components/forms/textarea/visual.png +0 -0
  98. package/src/components/forms/textarea/{textarea.visual.spec.ts → visual.spec.ts} +4 -4
  99. package/src/components/forms/toggle/docs.html +61 -0
  100. package/src/components/forms/toggle/{toggle.visual.spec.ts → visual.spec.ts} +4 -4
  101. package/src/components/navigation/breadcrumb/docs.html +57 -0
  102. package/src/components/navigation/breadcrumb/{breadcrumb.visual.spec.ts → visual.spec.ts} +4 -4
  103. package/src/components/navigation/dropdown-menu/docs.html +103 -0
  104. package/src/components/navigation/dropdown-menu/visual.png +0 -0
  105. package/src/components/navigation/dropdown-menu/{dropdown-menu.visual.spec.ts → visual.spec.ts} +4 -4
  106. package/src/components/navigation/menu/docs.html +119 -0
  107. package/src/components/navigation/menu/{menu.visual.spec.ts → visual.spec.ts} +4 -4
  108. package/src/components/navigation/nav/docs.html +71 -0
  109. package/src/components/navigation/nav/{nav.visual.spec.ts → visual.spec.ts} +4 -4
  110. package/src/components/navigation/pagination/docs.html +113 -0
  111. package/src/components/navigation/pagination/visual.png +0 -0
  112. package/src/components/navigation/pagination/{pagination.visual.spec.ts → visual.spec.ts} +4 -4
  113. package/src/components/navigation/tabs/docs.html +63 -0
  114. package/src/components/navigation/tabs/{tabs.visual.spec.ts → visual.spec.ts} +4 -4
  115. package/src/components/overlays/dialog/docs.html +58 -0
  116. package/src/components/overlays/dialog/{dialog.visual.spec.ts → visual.spec.ts} +4 -4
  117. package/src/components/overlays/drawer/docs.html +87 -0
  118. package/src/components/overlays/drawer/visual.png +0 -0
  119. package/src/components/overlays/drawer/{drawer.visual.spec.ts → visual.spec.ts} +4 -4
  120. package/src/components/overlays/modal/docs.html +66 -0
  121. package/src/components/overlays/modal/{modal.visual.spec.ts → visual.spec.ts} +4 -4
  122. package/src/components/overlays/overlay/docs.html +27 -0
  123. package/src/components/overlays/overlay/{overlay.visual.spec.ts → visual.spec.ts} +4 -4
  124. package/src/components/overlays/popover/docs.html +38 -0
  125. package/src/components/overlays/popover/{popover.visual.spec.ts → visual.spec.ts} +4 -4
  126. package/src/components/overlays/tooltip/docs.html +30 -0
  127. package/src/components/overlays/tooltip/{tooltip.visual.spec.ts → visual.spec.ts} +4 -4
  128. package/src/components/typography/blockquote/docs.html +21 -0
  129. package/src/components/typography/blockquote/{blockquote.visual.spec.ts → visual.spec.ts} +4 -4
  130. package/src/components/typography/code/docs.html +20 -0
  131. package/src/components/typography/code/visual.png +0 -0
  132. package/src/components/typography/code/{code.visual.spec.ts → visual.spec.ts} +4 -4
  133. package/src/components/typography/code-block/docs.html +84 -0
  134. package/src/components/typography/code-block/visual.png +0 -0
  135. package/src/components/typography/code-block/{code-block.visual.spec.ts → visual.spec.ts} +4 -4
  136. package/src/components/typography/heading/docs.html +23 -0
  137. package/src/components/typography/heading/visual.png +0 -0
  138. package/src/components/typography/heading/{heading.visual.spec.ts → visual.spec.ts} +4 -4
  139. package/src/components/typography/kbd/docs.html +14 -0
  140. package/src/components/typography/kbd/{kbd.visual.spec.ts → visual.spec.ts} +4 -4
  141. package/src/components/typography/link/docs.html +30 -0
  142. package/src/components/typography/link/{link.visual.spec.ts → visual.spec.ts} +4 -4
  143. package/src/components/typography/list/docs.html +76 -0
  144. package/src/components/typography/list/{list.visual.spec.ts → visual.spec.ts} +4 -4
  145. package/src/components/typography/mark/docs.html +10 -0
  146. package/src/components/typography/mark/{mark.visual.spec.ts → visual.spec.ts} +4 -4
  147. package/src/config/guides/accessibility.docs.html +106 -0
  148. package/src/config/guides/getting-started.docs.html +45 -0
  149. package/src/config/guides/theming.docs.html +69 -0
  150. package/src/config/tokens/colors/docs.html +73 -0
  151. package/src/config/tokens/docs.html +115 -0
  152. package/src/config/tokens/grid/docs.html +10 -0
  153. package/src/config/tokens/spacing/docs.html +31 -0
  154. package/src/debug/docs.html +27 -0
  155. package/src/layout/app-shell/docs.html +100 -0
  156. package/src/layout/app-shell/visual.png +0 -0
  157. package/src/layout/app-shell/visual.spec.ts +13 -0
  158. package/src/layout/aspect-ratio/docs.html +38 -0
  159. package/src/layout/aspect-ratio/{aspect-ratio.visual.spec.ts → visual.spec.ts} +4 -4
  160. package/src/layout/box/docs.html +24 -0
  161. package/src/layout/box/visual.png +0 -0
  162. package/src/layout/box/visual.spec.ts +13 -0
  163. package/src/layout/center/docs.html +23 -0
  164. package/src/layout/center/visual.spec.ts +13 -0
  165. package/src/layout/column/docs.html +29 -0
  166. package/src/layout/column/visual.spec.ts +13 -0
  167. package/src/layout/container/docs.html +34 -0
  168. package/src/layout/content/docs.html +35 -0
  169. package/src/layout/content/{content-visual.png → visual.png} +0 -0
  170. package/src/layout/content/visual.spec.ts +18 -0
  171. package/src/layout/footer/docs.html +70 -0
  172. package/src/layout/footer/visual.png +0 -0
  173. package/src/layout/footer/visual.spec.ts +18 -0
  174. package/src/layout/grid/docs.html +85 -0
  175. package/src/layout/grid/visual.spec.ts +13 -0
  176. package/src/layout/main/docs.html +28 -0
  177. package/src/layout/nav-rail/docs.html +39 -0
  178. package/src/layout/nav-rail/visual.png +0 -0
  179. package/src/layout/nav-rail/visual.spec.ts +18 -0
  180. package/src/layout/page-header/docs.html +49 -0
  181. package/src/layout/page-header/{page-header.visual.spec.ts → visual.spec.ts} +8 -4
  182. package/src/layout/row/docs.html +44 -0
  183. package/src/layout/row/{row.visual.spec.ts → visual.spec.ts} +4 -4
  184. package/src/layout/sidebar/docs.html +27 -0
  185. package/src/layout/sidebar/visual.png +0 -0
  186. package/src/layout/sidebar/visual.spec.ts +18 -0
  187. package/src/layout/sidebar-nav/docs.html +232 -0
  188. package/src/layout/sidebar-nav/{sidebar-nav.visual.spec.ts → visual.spec.ts} +7 -3
  189. package/src/layout/topbar/docs.html +61 -0
  190. package/src/layout/topbar/visual.png +0 -0
  191. package/src/layout/topbar/visual.spec.ts +18 -0
  192. package/src/utilities/container/docs.html +31 -0
  193. package/src/utilities/display/docs.html +27 -0
  194. package/src/utilities/scroll-animation/docs.html +29 -0
  195. package/src/utilities/scroll-snap/docs.html +77 -0
  196. package/src/utilities/spacing/docs.html +26 -0
  197. package/src/utilities/text/docs.html +63 -0
  198. package/src/utilities/view-transition/docs.html +49 -0
  199. package/src/utilities/visually-hidden/docs.html +16 -0
  200. package/src/base/root.docs.json +0 -35
  201. package/src/base/typography/typography.docs.json +0 -328
  202. package/src/components/actions/button/button.docs.json +0 -264
  203. package/src/components/actions/button-group/button-group.docs.json +0 -151
  204. package/src/components/actions/close-button/close-button.docs.json +0 -265
  205. package/src/components/content/divider/divider.docs.json +0 -113
  206. package/src/components/content/scroll-area/scroll-area-visual.png +0 -0
  207. package/src/components/content/scroll-area/scroll-area.docs.json +0 -273
  208. package/src/components/content/spacer/spacer.docs.json +0 -102
  209. package/src/components/data-display/avatar/avatar.docs.json +0 -245
  210. package/src/components/data-display/badge/badge.docs.json +0 -114
  211. package/src/components/data-display/card/card-visual.png +0 -0
  212. package/src/components/data-display/card/card.docs.json +0 -229
  213. package/src/components/data-display/data-list/data-list.docs.json +0 -259
  214. package/src/components/data-display/icon/icon.docs.json +0 -307
  215. package/src/components/data-display/image/image-visual.png +0 -0
  216. package/src/components/data-display/image/image.docs.json +0 -337
  217. package/src/components/data-display/stat/stat.docs.json +0 -114
  218. package/src/components/data-display/status/status.docs.json +0 -147
  219. package/src/components/data-display/table/table.docs.json +0 -184
  220. package/src/components/data-display/tag/tag.docs.json +0 -146
  221. package/src/components/disclosure/accordion/accordion.docs.json +0 -206
  222. package/src/components/disclosure/disclosure/disclosure.docs.json +0 -154
  223. package/src/components/feedback/alert/alert.docs.json +0 -325
  224. package/src/components/feedback/progress/progress.docs.json +0 -315
  225. package/src/components/feedback/progress-circle/progress-circle.docs.json +0 -378
  226. package/src/components/feedback/skeleton/skeleton.docs.json +0 -142
  227. package/src/components/feedback/spinner/spinner.docs.json +0 -121
  228. package/src/components/feedback/toast/toast-visual.png +0 -0
  229. package/src/components/feedback/toast/toast.docs.json +0 -418
  230. package/src/components/forms/checkbox/checkbox.docs.json +0 -166
  231. package/src/components/forms/checkbox-group/checkbox-group.docs.json +0 -339
  232. package/src/components/forms/field/field.docs.json +0 -276
  233. package/src/components/forms/fieldset/fieldset.docs.json +0 -520
  234. package/src/components/forms/form/form.docs.json +0 -482
  235. package/src/components/forms/form-error/form-error.docs.json +0 -61
  236. package/src/components/forms/form-helper/form-helper.docs.json +0 -151
  237. package/src/components/forms/input/input-visual.png +0 -0
  238. package/src/components/forms/input/input.docs.json +0 -306
  239. package/src/components/forms/label/label-visual.png +0 -0
  240. package/src/components/forms/label/label.docs.json +0 -110
  241. package/src/components/forms/number-input/number-input-visual.png +0 -0
  242. package/src/components/forms/number-input/number-input.docs.json +0 -311
  243. package/src/components/forms/password-input/password-input-visual.png +0 -0
  244. package/src/components/forms/password-input/password-input.docs.json +0 -316
  245. package/src/components/forms/radio/radio.docs.json +0 -236
  246. package/src/components/forms/radio-group/radio-group.docs.json +0 -351
  247. package/src/components/forms/search-input/search-input-visual.png +0 -0
  248. package/src/components/forms/search-input/search-input.docs.json +0 -293
  249. package/src/components/forms/select/select-visual.png +0 -0
  250. package/src/components/forms/select/select.docs.json +0 -231
  251. package/src/components/forms/slider/slider-visual.png +0 -0
  252. package/src/components/forms/slider/slider.docs.json +0 -144
  253. package/src/components/forms/textarea/textarea-visual.png +0 -0
  254. package/src/components/forms/textarea/textarea.docs.json +0 -229
  255. package/src/components/forms/toggle/toggle.docs.json +0 -229
  256. package/src/components/navigation/breadcrumb/breadcrumb.docs.json +0 -240
  257. package/src/components/navigation/dropdown-menu/dropdown-menu-visual.png +0 -0
  258. package/src/components/navigation/dropdown-menu/dropdown-menu.docs.json +0 -290
  259. package/src/components/navigation/menu/menu.docs.json +0 -326
  260. package/src/components/navigation/nav/nav.docs.json +0 -304
  261. package/src/components/navigation/pagination/pagination-visual.png +0 -0
  262. package/src/components/navigation/pagination/pagination.docs.json +0 -483
  263. package/src/components/navigation/tabs/tabs.docs.json +0 -243
  264. package/src/components/overlays/dialog/dialog.docs.json +0 -200
  265. package/src/components/overlays/drawer/drawer-visual.png +0 -0
  266. package/src/components/overlays/drawer/drawer.docs.json +0 -307
  267. package/src/components/overlays/modal/modal.docs.json +0 -252
  268. package/src/components/overlays/overlay/overlay.docs.json +0 -138
  269. package/src/components/overlays/popover/popover.docs.json +0 -154
  270. package/src/components/overlays/tooltip/tooltip.docs.json +0 -133
  271. package/src/components/typography/blockquote/blockquote.docs.json +0 -89
  272. package/src/components/typography/code/code-visual.png +0 -0
  273. package/src/components/typography/code/code.docs.json +0 -104
  274. package/src/components/typography/code-block/code-block-visual.png +0 -0
  275. package/src/components/typography/code-block/code-block.docs.json +0 -308
  276. package/src/components/typography/heading/heading-visual.png +0 -0
  277. package/src/components/typography/heading/heading.docs.json +0 -120
  278. package/src/components/typography/kbd/kbd.docs.json +0 -61
  279. package/src/components/typography/link/link.docs.json +0 -149
  280. package/src/components/typography/list/list.docs.json +0 -296
  281. package/src/components/typography/mark/mark.docs.json +0 -60
  282. package/src/config/guides/accessibility.docs.json +0 -126
  283. package/src/config/guides/getting-started.docs.json +0 -106
  284. package/src/config/guides/theming.docs.json +0 -289
  285. package/src/config/tokens/colors/colors.docs.json +0 -316
  286. package/src/config/tokens/design-tokens.docs.json +0 -239
  287. package/src/config/tokens/grid/grid.docs.json +0 -54
  288. package/src/config/tokens/spacing/spacing.docs.json +0 -114
  289. package/src/debug/debug.docs.json +0 -96
  290. package/src/layout/app-shell/app-shell-visual.png +0 -0
  291. package/src/layout/app-shell/app-shell.docs.json +0 -155
  292. package/src/layout/app-shell/app-shell.visual.spec.ts +0 -13
  293. package/src/layout/aspect-ratio/aspect-ratio.docs.json +0 -193
  294. package/src/layout/box/box-visual.png +0 -0
  295. package/src/layout/box/box.docs.json +0 -93
  296. package/src/layout/box/box.visual.spec.ts +0 -13
  297. package/src/layout/center/center.docs.json +0 -63
  298. package/src/layout/center/center.visual.spec.ts +0 -13
  299. package/src/layout/column/column.docs.json +0 -157
  300. package/src/layout/column/column.visual.spec.ts +0 -13
  301. package/src/layout/container/container.docs.json +0 -85
  302. package/src/layout/content/content.docs.json +0 -82
  303. package/src/layout/content/content.visual.spec.ts +0 -14
  304. package/src/layout/footer/footer-visual.png +0 -0
  305. package/src/layout/footer/footer.docs.json +0 -119
  306. package/src/layout/footer/footer.visual.spec.ts +0 -14
  307. package/src/layout/grid/grid.docs.json +0 -493
  308. package/src/layout/grid/grid.visual.spec.ts +0 -13
  309. package/src/layout/main/main.docs.json +0 -87
  310. package/src/layout/nav-rail/nav-rail-visual.png +0 -0
  311. package/src/layout/nav-rail/nav-rail.docs.json +0 -76
  312. package/src/layout/nav-rail/nav-rail.visual.spec.ts +0 -14
  313. package/src/layout/page-header/page-header.docs.json +0 -124
  314. package/src/layout/row/row.docs.json +0 -237
  315. package/src/layout/sidebar/sidebar-visual.png +0 -0
  316. package/src/layout/sidebar/sidebar.docs.json +0 -63
  317. package/src/layout/sidebar/sidebar.visual.spec.ts +0 -14
  318. package/src/layout/sidebar-nav/sidebar-nav.docs.json +0 -833
  319. package/src/layout/topbar/topbar-visual.png +0 -0
  320. package/src/layout/topbar/topbar.docs.json +0 -110
  321. package/src/layout/topbar/topbar.visual.spec.ts +0 -14
  322. package/src/utilities/container/container.docs.json +0 -121
  323. package/src/utilities/display/display.docs.json +0 -83
  324. package/src/utilities/scroll-animation/scroll-animation.docs.json +0 -100
  325. package/src/utilities/scroll-snap/scroll-snap.docs.json +0 -333
  326. package/src/utilities/spacing/spacing.docs.json +0 -133
  327. package/src/utilities/text/text.docs.json +0 -191
  328. package/src/utilities/view-transition/view-transition.docs.json +0 -63
  329. package/src/utilities/visually-hidden/visually-hidden.docs.json +0 -44
  330. /package/src/components/actions/button/{button.api.json → api.json} +0 -0
  331. /package/src/components/actions/button/{button-visual.png → visual.png} +0 -0
  332. /package/src/components/actions/button-group/{button-group.api.json → api.json} +0 -0
  333. /package/src/components/actions/button-group/{button-group-visual.png → visual.png} +0 -0
  334. /package/src/components/actions/close-button/{close-button.api.json → api.json} +0 -0
  335. /package/src/components/actions/close-button/{close-button-visual.png → visual.png} +0 -0
  336. /package/src/components/content/divider/{divider.api.json → api.json} +0 -0
  337. /package/src/components/content/divider/{divider-visual.png → visual.png} +0 -0
  338. /package/src/components/content/scroll-area/{scroll-area.api.json → api.json} +0 -0
  339. /package/src/components/content/spacer/{spacer.api.json → api.json} +0 -0
  340. /package/src/components/content/spacer/{spacer-visual.png → visual.png} +0 -0
  341. /package/src/components/data-display/avatar/{avatar.api.json → api.json} +0 -0
  342. /package/src/components/data-display/avatar/{avatar-visual.png → visual.png} +0 -0
  343. /package/src/components/data-display/badge/{badge.api.json → api.json} +0 -0
  344. /package/src/components/data-display/badge/{badge-visual.png → visual.png} +0 -0
  345. /package/src/components/data-display/card/{card.api.json → api.json} +0 -0
  346. /package/src/components/data-display/data-list/{data-list.api.json → api.json} +0 -0
  347. /package/src/components/data-display/icon/{icon.api.json → api.json} +0 -0
  348. /package/src/components/data-display/icon/{icon-visual.png → visual.png} +0 -0
  349. /package/src/components/data-display/image/{image.api.json → api.json} +0 -0
  350. /package/src/components/data-display/stat/{stat.api.json → api.json} +0 -0
  351. /package/src/components/data-display/stat/{stat-visual.png → visual.png} +0 -0
  352. /package/src/components/data-display/status/{status.api.json → api.json} +0 -0
  353. /package/src/components/data-display/status/{status-visual.png → visual.png} +0 -0
  354. /package/src/components/data-display/table/{table.api.json → api.json} +0 -0
  355. /package/src/components/data-display/table/{table-visual.png → visual.png} +0 -0
  356. /package/src/components/data-display/tag/{tag.api.json → api.json} +0 -0
  357. /package/src/components/data-display/tag/{tag-visual.png → visual.png} +0 -0
  358. /package/src/components/disclosure/accordion/{accordion.api.json → api.json} +0 -0
  359. /package/src/components/disclosure/accordion/{accordion-visual.png → visual.png} +0 -0
  360. /package/src/components/disclosure/disclosure/{disclosure.api.json → api.json} +0 -0
  361. /package/src/components/disclosure/disclosure/{disclosure-visual.png → visual.png} +0 -0
  362. /package/src/components/feedback/alert/{alert.api.json → api.json} +0 -0
  363. /package/src/components/feedback/alert/{alert-visual.png → visual.png} +0 -0
  364. /package/src/components/feedback/progress/{progress.api.json → api.json} +0 -0
  365. /package/src/components/feedback/progress/{progress-visual.png → visual.png} +0 -0
  366. /package/src/components/feedback/progress-circle/{progress-circle.api.json → api.json} +0 -0
  367. /package/src/components/feedback/progress-circle/{progress-circle-visual.png → visual.png} +0 -0
  368. /package/src/components/feedback/skeleton/{skeleton.api.json → api.json} +0 -0
  369. /package/src/components/feedback/skeleton/{skeleton-visual.png → visual.png} +0 -0
  370. /package/src/components/feedback/spinner/{spinner.api.json → api.json} +0 -0
  371. /package/src/components/feedback/spinner/{spinner-visual.png → visual.png} +0 -0
  372. /package/src/components/feedback/toast/{toast.api.json → api.json} +0 -0
  373. /package/src/components/forms/checkbox/{checkbox.api.json → api.json} +0 -0
  374. /package/src/components/forms/checkbox/{checkbox-visual.png → visual.png} +0 -0
  375. /package/src/components/forms/checkbox-group/{checkbox-group.api.json → api.json} +0 -0
  376. /package/src/components/forms/checkbox-group/{checkbox-group-visual.png → visual.png} +0 -0
  377. /package/src/components/forms/field/{field.api.json → api.json} +0 -0
  378. /package/src/components/forms/field/{field-visual.png → visual.png} +0 -0
  379. /package/src/components/forms/fieldset/{fieldset.api.json → api.json} +0 -0
  380. /package/src/components/forms/fieldset/{fieldset-visual.png → visual.png} +0 -0
  381. /package/src/components/forms/form/{form.api.json → api.json} +0 -0
  382. /package/src/components/forms/form/{form-visual.png → visual.png} +0 -0
  383. /package/src/components/forms/form-error/{form-error.api.json → api.json} +0 -0
  384. /package/src/components/forms/form-error/{form-error-visual.png → visual.png} +0 -0
  385. /package/src/components/forms/form-helper/{form-helper.api.json → api.json} +0 -0
  386. /package/src/components/forms/form-helper/{form-helper-visual.png → visual.png} +0 -0
  387. /package/src/components/forms/input/{input.api.json → api.json} +0 -0
  388. /package/src/components/forms/label/{label.api.json → api.json} +0 -0
  389. /package/src/components/forms/number-input/{number-input.api.json → api.json} +0 -0
  390. /package/src/components/forms/password-input/{password-input.api.json → api.json} +0 -0
  391. /package/src/components/forms/radio/{radio.api.json → api.json} +0 -0
  392. /package/src/components/forms/radio/{radio-visual.png → visual.png} +0 -0
  393. /package/src/components/forms/radio-group/{radio-group.api.json → api.json} +0 -0
  394. /package/src/components/forms/radio-group/{radio-group-visual.png → visual.png} +0 -0
  395. /package/src/components/forms/search-input/{search-input.api.json → api.json} +0 -0
  396. /package/src/components/forms/select/{select.api.json → api.json} +0 -0
  397. /package/src/components/forms/slider/{slider.api.json → api.json} +0 -0
  398. /package/src/components/forms/textarea/{textarea.api.json → api.json} +0 -0
  399. /package/src/components/forms/toggle/{toggle.api.json → api.json} +0 -0
  400. /package/src/components/forms/toggle/{toggle-visual.png → visual.png} +0 -0
  401. /package/src/components/navigation/breadcrumb/{breadcrumb.api.json → api.json} +0 -0
  402. /package/src/components/navigation/breadcrumb/{breadcrumb-visual.png → visual.png} +0 -0
  403. /package/src/components/navigation/dropdown-menu/{dropdown-menu.api.json → api.json} +0 -0
  404. /package/src/components/navigation/menu/{menu.api.json → api.json} +0 -0
  405. /package/src/components/navigation/menu/{menu-visual.png → visual.png} +0 -0
  406. /package/src/components/navigation/nav/{nav.api.json → api.json} +0 -0
  407. /package/src/components/navigation/nav/{nav-visual.png → visual.png} +0 -0
  408. /package/src/components/navigation/pagination/{pagination.api.json → api.json} +0 -0
  409. /package/src/components/navigation/tabs/{tabs.api.json → api.json} +0 -0
  410. /package/src/components/navigation/tabs/{tabs-visual.png → visual.png} +0 -0
  411. /package/src/components/overlays/dialog/{dialog.api.json → api.json} +0 -0
  412. /package/src/components/overlays/dialog/{dialog-visual.png → visual.png} +0 -0
  413. /package/src/components/overlays/drawer/{drawer.api.json → api.json} +0 -0
  414. /package/src/components/overlays/modal/{modal.api.json → api.json} +0 -0
  415. /package/src/components/overlays/modal/{modal-visual.png → visual.png} +0 -0
  416. /package/src/components/overlays/overlay/{overlay.api.json → api.json} +0 -0
  417. /package/src/components/overlays/overlay/{overlay-visual.png → visual.png} +0 -0
  418. /package/src/components/overlays/popover/{popover.api.json → api.json} +0 -0
  419. /package/src/components/overlays/popover/{popover-visual.png → visual.png} +0 -0
  420. /package/src/components/overlays/tooltip/{tooltip.api.json → api.json} +0 -0
  421. /package/src/components/overlays/tooltip/{tooltip-visual.png → visual.png} +0 -0
  422. /package/src/components/typography/blockquote/{blockquote.api.json → api.json} +0 -0
  423. /package/src/components/typography/blockquote/{blockquote-visual.png → visual.png} +0 -0
  424. /package/src/components/typography/code/{code.api.json → api.json} +0 -0
  425. /package/src/components/typography/code-block/{code-block.api.json → api.json} +0 -0
  426. /package/src/components/typography/heading/{heading.api.json → api.json} +0 -0
  427. /package/src/components/typography/kbd/{kbd.api.json → api.json} +0 -0
  428. /package/src/components/typography/kbd/{kbd-visual.png → visual.png} +0 -0
  429. /package/src/components/typography/link/{link.api.json → api.json} +0 -0
  430. /package/src/components/typography/link/{link-visual.png → visual.png} +0 -0
  431. /package/src/components/typography/list/{list.api.json → api.json} +0 -0
  432. /package/src/components/typography/list/{list-visual.png → visual.png} +0 -0
  433. /package/src/components/typography/mark/{mark.api.json → api.json} +0 -0
  434. /package/src/components/typography/mark/{mark-visual.png → visual.png} +0 -0
  435. /package/src/layout/app-shell/{app-shell.api.json → api.json} +0 -0
  436. /package/src/layout/aspect-ratio/{aspect-ratio.api.json → api.json} +0 -0
  437. /package/src/layout/aspect-ratio/{aspect-ratio-visual.png → visual.png} +0 -0
  438. /package/src/layout/box/{box.api.json → api.json} +0 -0
  439. /package/src/layout/center/{center.api.json → api.json} +0 -0
  440. /package/src/layout/center/{center-visual.png → visual.png} +0 -0
  441. /package/src/layout/column/{column.api.json → api.json} +0 -0
  442. /package/src/layout/column/{column-visual.png → visual.png} +0 -0
  443. /package/src/layout/container/{container.api.json → api.json} +0 -0
  444. /package/src/layout/content/{content.api.json → api.json} +0 -0
  445. /package/src/layout/footer/{footer.api.json → api.json} +0 -0
  446. /package/src/layout/grid/{grid.api.json → api.json} +0 -0
  447. /package/src/layout/grid/{grid-visual.png → visual.png} +0 -0
  448. /package/src/layout/main/{main.api.json → api.json} +0 -0
  449. /package/src/layout/nav-rail/{nav-rail.api.json → api.json} +0 -0
  450. /package/src/layout/page-header/{page-header.api.json → api.json} +0 -0
  451. /package/src/layout/page-header/{page-header-visual.png → visual.png} +0 -0
  452. /package/src/layout/row/{row.api.json → api.json} +0 -0
  453. /package/src/layout/row/{row-visual.png → visual.png} +0 -0
  454. /package/src/layout/sidebar/{sidebar.api.json → api.json} +0 -0
  455. /package/src/layout/sidebar-nav/{sidebar-nav.api.json → api.json} +0 -0
  456. /package/src/layout/topbar/{topbar.api.json → api.json} +0 -0
  457. /package/src/utilities/container/{container.api.json → api.json} +0 -0
  458. /package/src/utilities/display/{display.api.json → api.json} +0 -0
  459. /package/src/utilities/scroll-animation/{scroll-animation.api.json → api.json} +0 -0
  460. /package/src/utilities/scroll-snap/{scroll-snap.api.json → api.json} +0 -0
  461. /package/src/utilities/spacing/{spacing.api.json → api.json} +0 -0
  462. /package/src/utilities/text/{text.api.json → api.json} +0 -0
  463. /package/src/utilities/view-transition/{view-transition.api.json → api.json} +0 -0
  464. /package/src/utilities/visually-hidden/{visually-hidden.api.json → api.json} +0 -0
@@ -0,0 +1,73 @@
1
+ ---
2
+ title: Colors
3
+ description: HSL-based color system with primitive and semantic tokens. Semantic tokens adapt to light/dark themes.
4
+ skipValidation: true
5
+ ---
6
+
7
+ <!-- @text_colors | column -->
8
+ <!-- Use for typography and icons. -->
9
+ <p style="color: var(--ui-color-text)">--ui-color-text: Default text</p>
10
+ <p style="color: var(--ui-color-text-muted)">--ui-color-text-muted: Secondary text, captions</p>
11
+ <p class="ui-p-1" style="color: var(--ui-color-text-inverse); background: var(--ui-color-neutral-900); border-radius: var(--ui-radius-sm)">--ui-color-text-inverse: Text on dark backgrounds</p>
12
+
13
+ <!-- @background_colors | column -->
14
+ <!-- Use for surfaces, cards, and containers. -->
15
+ <div class="ui-p-2" style="background: var(--ui-color-bg); border: 1px solid var(--ui-color-border); border-radius: var(--ui-radius-md)">--ui-color-bg: Base background</div>
16
+ <div class="ui-p-2" style="background: var(--ui-color-bg-subtle); border-radius: var(--ui-radius-md)">--ui-color-bg-subtle: Subtle emphasis</div>
17
+ <div class="ui-p-2" style="background: var(--ui-color-bg-muted); border-radius: var(--ui-radius-md)">--ui-color-bg-muted: Stronger emphasis, code blocks</div>
18
+
19
+ <!-- @border_colors | column -->
20
+ <!-- Use for dividers, inputs, and card borders. -->
21
+ <div class="ui-p-2" style="border: 2px solid var(--ui-color-border); border-radius: var(--ui-radius-md)">--ui-color-border: Default borders</div>
22
+ <div class="ui-p-2" style="border: 2px solid var(--ui-color-border-strong); border-radius: var(--ui-radius-md)">--ui-color-border-strong: Emphasized borders</div>
23
+
24
+ <!-- @interactive_colors | column -->
25
+ <!-- Use for links, buttons, and interactive elements. -->
26
+ <p style="color: var(--ui-color-interactive)">--ui-color-interactive: Links, primary actions</p>
27
+ <p style="color: var(--ui-color-interactive-hover)">--ui-color-interactive-hover: Hover state</p>
28
+ <div class="ui-p-1" style="display: inline-block; outline: 3px solid var(--ui-color-focus); outline-offset: 2px; border-radius: var(--ui-radius-sm)">--ui-color-focus: Focus rings</div>
29
+
30
+ <!-- @status_colors -->
31
+ <!-- Use for feedback, alerts, and validation. -->
32
+ <div class="ui-row ui-row--sm">
33
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-success); border-radius: var(--ui-radius-sm)"></div>
34
+ <span>--ui-color-success</span>
35
+ </div>
36
+ <div class="ui-row ui-row--sm">
37
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-warning); border-radius: var(--ui-radius-sm)"></div>
38
+ <span>--ui-color-warning</span>
39
+ </div>
40
+ <div class="ui-row ui-row--sm">
41
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-danger); border-radius: var(--ui-radius-sm)"></div>
42
+ <span>--ui-color-danger</span>
43
+ </div>
44
+
45
+ <!-- @primary_scale -->
46
+ <!-- Brand color with light and dark variants. -->
47
+ <div class="ui-row ui-row--sm">
48
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-primary-light); border-radius: var(--ui-radius-sm)"></div>
49
+ <span>--ui-color-primary-light</span>
50
+ </div>
51
+ <div class="ui-row ui-row--sm">
52
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-primary); border-radius: var(--ui-radius-sm)"></div>
53
+ <span>--ui-color-primary</span>
54
+ </div>
55
+ <div class="ui-row ui-row--sm">
56
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-primary-dark); border-radius: var(--ui-radius-sm)"></div>
57
+ <span>--ui-color-primary-dark</span>
58
+ </div>
59
+
60
+ <!-- @neutral_scale -->
61
+ <!-- Gray scale for text, backgrounds, and borders. Derived from primary hue for subtle warmth. -->
62
+ <div class="ui-row ui-row--sm" style="flex-wrap: wrap">
63
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-50); border: 1px solid var(--ui-color-border); border-radius: var(--ui-radius-sm)"></div>
64
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-100); border-radius: var(--ui-radius-sm)"></div>
65
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-200); border-radius: var(--ui-radius-sm)"></div>
66
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-300); border-radius: var(--ui-radius-sm)"></div>
67
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-400); border-radius: var(--ui-radius-sm)"></div>
68
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-500); border-radius: var(--ui-radius-sm)"></div>
69
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-600); border-radius: var(--ui-radius-sm)"></div>
70
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-700); border-radius: var(--ui-radius-sm)"></div>
71
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-800); border-radius: var(--ui-radius-sm)"></div>
72
+ <div style="width: var(--ui-space-4); height: var(--ui-row-2); background: var(--ui-color-neutral-900); border-radius: var(--ui-radius-sm)"></div>
73
+ </div>
@@ -0,0 +1,115 @@
1
+ ---
2
+ title: Design Tokens
3
+ id: design-tokens
4
+ description: Borders, radius, shadows, motion, z-index, and semantic tokens that form the visual foundation
5
+ skipValidation: true
6
+ ---
7
+
8
+ <!-- @borders | row -->
9
+ <!-- Border width tokens derived from the 8px unit. -->
10
+ <div style="width: var(--ui-space-8); height: var(--ui-row-2); border: var(--ui-border-width-sm) solid var(--ui-color-border-strong)"></div>
11
+ <div style="width: var(--ui-space-8); height: var(--ui-row-2); border: var(--ui-border-width-md) solid var(--ui-color-border-strong)"></div>
12
+ <div style="width: var(--ui-space-8); height: var(--ui-row-2); border: var(--ui-border-width-lg) solid var(--ui-color-border-strong)"></div>
13
+
14
+ <!-- @radius | row -->
15
+ <!-- Border radius tokens derived from the 8px unit. -->
16
+ <div class="ui-column ui-column--xs" style="align-items: center">
17
+ <div style="width: var(--ui-row-3); height: var(--ui-row-3); background: var(--ui-color-primary); border-radius: var(--ui-radius-sm)"></div>
18
+ <small>sm (4px)</small>
19
+ </div>
20
+ <div class="ui-column ui-column--xs" style="align-items: center">
21
+ <div style="width: var(--ui-row-3); height: var(--ui-row-3); background: var(--ui-color-primary); border-radius: var(--ui-radius-md)"></div>
22
+ <small>md (8px)</small>
23
+ </div>
24
+ <div class="ui-column ui-column--xs" style="align-items: center">
25
+ <div style="width: var(--ui-row-3); height: var(--ui-row-3); background: var(--ui-color-primary); border-radius: var(--ui-radius-lg)"></div>
26
+ <small>lg (16px)</small>
27
+ </div>
28
+ <div class="ui-column ui-column--xs" style="align-items: center">
29
+ <div style="width: var(--ui-row-3); height: var(--ui-row-3); background: var(--ui-color-primary); border-radius: var(--ui-radius-full)"></div>
30
+ <small>full</small>
31
+ </div>
32
+
33
+ <!-- @shadows | row -->
34
+ <!-- Elevation shadows using the primary hue for tinted depth. -->
35
+ <div class="ui-column ui-column--xs" style="align-items: center">
36
+ <div style="width: var(--ui-space-8); height: var(--ui-row-3); background: var(--ui-color-bg); border-radius: var(--ui-radius-md); box-shadow: var(--ui-shadow-sm)"></div>
37
+ <small>sm</small>
38
+ </div>
39
+ <div class="ui-column ui-column--xs" style="align-items: center">
40
+ <div style="width: var(--ui-space-8); height: var(--ui-row-3); background: var(--ui-color-bg); border-radius: var(--ui-radius-md); box-shadow: var(--ui-shadow-md)"></div>
41
+ <small>md</small>
42
+ </div>
43
+ <div class="ui-column ui-column--xs" style="align-items: center">
44
+ <div style="width: var(--ui-space-8); height: var(--ui-row-3); background: var(--ui-color-bg); border-radius: var(--ui-radius-md); box-shadow: var(--ui-shadow-lg)"></div>
45
+ <small>lg</small>
46
+ </div>
47
+
48
+ <!-- @motion -->
49
+ <!-- Duration and easing tokens. All durations drop to 0ms when prefers-reduced-motion is active. -->
50
+ :root {
51
+ --ui-duration-instant: 50ms;
52
+ --ui-duration-fast: 100ms;
53
+ --ui-duration-base: 150ms;
54
+ --ui-duration-normal: 200ms;
55
+ --ui-duration-slow: 250ms;
56
+ --ui-duration-slower: 400ms;
57
+ }
58
+
59
+ @media (prefers-reduced-motion: reduce) {
60
+ :root {
61
+ --ui-duration-instant: 0ms;
62
+ --ui-duration-fast: 0ms;
63
+ /* ...all set to 0ms */
64
+ }
65
+ }
66
+ :root {
67
+ --ui-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
68
+ --ui-ease-in: cubic-bezier(0.4, 0, 1, 1);
69
+ --ui-ease-out: cubic-bezier(0, 0, 0.2, 1);
70
+ --ui-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
71
+ }
72
+
73
+ <!-- @z_index -->
74
+ <!-- Layering scale with gaps to allow insertion without renumbering. -->
75
+ :root {
76
+ --ui-z-base: 0;
77
+ --ui-z-sticky: 100;
78
+ --ui-z-dropdown: 200;
79
+ --ui-z-overlay: 300;
80
+ --ui-z-modal: 400;
81
+ --ui-z-popover: 500;
82
+ --ui-z-tooltip: 600;
83
+ --ui-z-toast: 700;
84
+ --ui-z-drawer: 800;
85
+ --ui-z-debug: 9999;
86
+ }
87
+
88
+ <!-- @semantic_colors -->
89
+ <!-- Context-aware color tokens that resolve automatically in light and dark mode via light-dark(). -->
90
+ :root {
91
+ color-scheme: light dark;
92
+ --ui-color-text: light-dark(var(--ui-color-neutral-900), var(--ui-color-neutral-100));
93
+ --ui-color-text-muted: light-dark(var(--ui-color-neutral-500), var(--ui-color-neutral-400));
94
+ --ui-color-bg: light-dark(var(--ui-color-neutral-50), var(--ui-color-neutral-900));
95
+ --ui-color-bg-subtle: light-dark(var(--ui-color-neutral-100), var(--ui-color-neutral-800));
96
+ }
97
+ :root {
98
+ --ui-color-border: light-dark(var(--ui-color-neutral-200), var(--ui-color-neutral-700));
99
+ --ui-color-border-strong: light-dark(var(--ui-color-neutral-300), var(--ui-color-neutral-600));
100
+ --ui-color-interactive: var(--ui-color-primary);
101
+ --ui-color-interactive-hover: var(--ui-color-primary-dark);
102
+ --ui-color-focus: var(--ui-color-primary-light);
103
+ }
104
+
105
+ <!-- @semantic_spacing -->
106
+ <!-- Named spacing aliases that map to the numeric spacing scale for consistent layout patterns. -->
107
+ :root {
108
+ --ui-spacing-xs: var(--ui-space-1); /* 8px */
109
+ --ui-spacing-sm: var(--ui-space-2); /* 16px */
110
+ --ui-spacing-md: var(--ui-space-4); /* 32px */
111
+ --ui-spacing-lg: var(--ui-space-6); /* 48px */
112
+ --ui-spacing-xl: var(--ui-space-8); /* 64px */
113
+ --ui-spacing-gutter: var(--ui-space-4); /* 32px */
114
+ --ui-spacing-section: var(--ui-space-8);/* 64px */
115
+ }
@@ -0,0 +1,10 @@
1
+ ---
2
+ title: Grid System
3
+ description: All spacing and heights align to the 8px grid.
4
+ skipValidation: true
5
+ ---
6
+
7
+ <!-- @default | column -->
8
+ <div style="background: var(--ui-color-primary); color: var(--ui-color-text-inverse); height: var(--ui-row-1); display: flex; align-items: center; padding: 0 var(--ui-space-2)">row-1 (16px)</div>
9
+ <div style="background: var(--ui-color-primary); color: var(--ui-color-text-inverse); height: var(--ui-row-2); display: flex; align-items: center; padding: 0 var(--ui-space-2)">row-2 (32px)</div>
10
+ <div style="background: var(--ui-color-primary); color: var(--ui-color-text-inverse); height: var(--ui-row-3); display: flex; align-items: center; padding: 0 var(--ui-space-2)">row-3 (48px)</div>
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: Spacing
3
+ description: Spacing tokens based on the 8px unit.
4
+ skipValidation: true
5
+ ---
6
+
7
+ <!-- @default | row -->
8
+ <div class="ui-column ui-column--xs" style="align-items: center">
9
+ <div style="width: var(--ui-space-1); height: var(--ui-space-4); background: var(--ui-color-primary)"></div>
10
+ <small>space-1</small>
11
+ </div>
12
+ <div class="ui-column ui-column--xs" style="align-items: center">
13
+ <div style="width: var(--ui-space-2); height: var(--ui-space-4); background: var(--ui-color-primary)"></div>
14
+ <small>space-2</small>
15
+ </div>
16
+ <div class="ui-column ui-column--xs" style="align-items: center">
17
+ <div style="width: var(--ui-space-3); height: var(--ui-space-4); background: var(--ui-color-primary)"></div>
18
+ <small>space-3</small>
19
+ </div>
20
+ <div class="ui-column ui-column--xs" style="align-items: center">
21
+ <div style="width: var(--ui-space-4); height: var(--ui-space-4); background: var(--ui-color-primary)"></div>
22
+ <small>space-4</small>
23
+ </div>
24
+ <div class="ui-column ui-column--xs" style="align-items: center">
25
+ <div style="width: var(--ui-space-6); height: var(--ui-space-4); background: var(--ui-color-primary)"></div>
26
+ <small>space-6</small>
27
+ </div>
28
+ <div class="ui-column ui-column--xs" style="align-items: center">
29
+ <div style="width: var(--ui-space-8); height: var(--ui-space-4); background: var(--ui-color-primary)"></div>
30
+ <small>space-8</small>
31
+ </div>
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: Debug
3
+ description: Visual debugging overlays for grid alignment, baseline rhythm, and element boundaries
4
+ skipValidation: true
5
+ ---
6
+
7
+ <!-- @grid_overlay -->
8
+ <!-- Shows the 8px unit grid. Add the class to any container. -->
9
+ <div class="ui-debug-grid" style="height: var(--ui-row-6); position: relative"></div>
10
+
11
+ <!-- @row_grid -->
12
+ <!-- Shows both 8px unit lines and stronger row (16px) lines. -->
13
+ <div class="ui-debug-grid-rows" style="height: var(--ui-row-6); position: relative"></div>
14
+
15
+ <!-- @baseline -->
16
+ <!-- Horizontal baseline grid for verifying text alignment. -->
17
+ <div class="ui-debug-baseline" style="height: var(--ui-row-6); position: relative"></div>
18
+
19
+ <!-- @outline -->
20
+ <!-- Outlines all child elements to reveal layout boundaries. -->
21
+ <div class="ui-debug-outline">
22
+ <div class="ui-row ui-row--sm">
23
+ <div style="padding: var(--ui-space-1)">A</div>
24
+ <div style="padding: var(--ui-space-1)">B</div>
25
+ <div style="padding: var(--ui-space-1)">C</div>
26
+ </div>
27
+ </div>
@@ -0,0 +1,100 @@
1
+ ---
2
+ title: Layout
3
+ id: layout
4
+ description: Layout primitives for app shells with sidebars and content containers.
5
+ ---
6
+
7
+ <!-- @app_shell_sidebar_main -->
8
+ <!-- This page uses the layout primitives: -->
9
+ <body class="ui-app-shell">
10
+ <aside class="ui-sidebar">
11
+ <!-- sidebar content -->
12
+ </aside>
13
+ <main class="ui-main">
14
+ <div class="ui-container">
15
+ <!-- page content -->
16
+ </div>
17
+ </main>
18
+ </body>
19
+
20
+ <!-- @with_topbar -->
21
+ <!-- Add a fixed topbar by setting --topbar-height on app-shell. Sidebar and main offset automatically. -->
22
+ <body class="ui-app-shell" style="--topbar-height: var(--ui-row-3)">
23
+ <header class="ui-topbar ui-topbar--fixed ui-topbar--bordered">
24
+ <div class="ui-topbar__start"><strong>App</strong></div>
25
+ <div class="ui-topbar__end">User</div>
26
+ </header>
27
+ <aside class="ui-sidebar">Sidebar</aside>
28
+ <main class="ui-main">
29
+ <div class="ui-container">Content</div>
30
+ </main>
31
+ </body>
32
+
33
+ <!-- @sidebar_widths | column -->
34
+ <div class="ui-row ui-row--sm">
35
+ <code>.ui-sidebar--sm</code>
36
+ <span>192px (24 units)</span>
37
+ </div>
38
+ <div class="ui-row ui-row--sm">
39
+ <code>.ui-sidebar--md</code>
40
+ <span>240px (30 units) - default</span>
41
+ </div>
42
+ <div class="ui-row ui-row--sm">
43
+ <code>.ui-sidebar--lg</code>
44
+ <span>320px (40 units)</span>
45
+ </div>
46
+
47
+ <!-- @sidebar_position -->
48
+ <!-- By default, sidebar is on the start (left in LTR). Use .ui-sidebar--end for right-side: -->
49
+ <aside class="ui-sidebar ui-sidebar--end">...</aside>
50
+ <main class="ui-main ui-main--sidebar-end">...</main>
51
+
52
+ <!-- @container_widths | column -->
53
+ <div class="ui-row ui-row--sm">
54
+ <code>.ui-container--sm</code>
55
+ <span>640px (80 units)</span>
56
+ </div>
57
+ <div class="ui-row ui-row--sm">
58
+ <code>.ui-container--md</code>
59
+ <span>800px (100 units)</span>
60
+ </div>
61
+ <div class="ui-row ui-row--sm">
62
+ <code>.ui-container--lg</code>
63
+ <span>960px (120 units) - default</span>
64
+ </div>
65
+ <div class="ui-row ui-row--sm">
66
+ <code>.ui-container--xl</code>
67
+ <span>1280px (160 units)</span>
68
+ </div>
69
+ <div class="ui-row ui-row--sm">
70
+ <code>.ui-container--full</code>
71
+ <span>No max width</span>
72
+ </div>
73
+
74
+ <!-- @with_footer -->
75
+ <!-- Place footer inside the content area, after the container. -->
76
+ <body class="ui-app-shell">
77
+ <main class="ui-main ui-main--full">
78
+ <div class="ui-container">Content</div>
79
+ <footer class="ui-footer ui-footer--bordered">
80
+ <div class="ui-footer__start"><small>Brand</small></div>
81
+ <div class="ui-footer__end"><small>v1.0.0</small></div>
82
+ </footer>
83
+ </main>
84
+ </body>
85
+
86
+ <!-- @topbar_variants -->
87
+ <!-- Sticky stays in flow, raised adds shadow. -->
88
+ <header class="ui-topbar ui-topbar--sticky ui-topbar--bordered">...</header>
89
+ <header class="ui-topbar ui-topbar--raised">...</header>
90
+
91
+ <!-- @footer_variants -->
92
+ <!-- Sticky, fixed, and raised options. -->
93
+ <footer class="ui-footer ui-footer--sticky ui-footer--bordered">...</footer>
94
+ <footer class="ui-footer ui-footer--fixed">...</footer>
95
+ <footer class="ui-footer ui-footer--raised">...</footer>
96
+
97
+ <!-- @centered_container -->
98
+ <div class="ui-container ui-container--center">
99
+ <!-- centered content with max-width -->
100
+ </div>
Binary file
@@ -0,0 +1,13 @@
1
+ import { resolve } from 'node:path';
2
+ import { expect, test } from '@playwright/test';
3
+ import { saveForLostPixel, setupVisualTestFromHtmlDocs } from '../../../test-utils';
4
+
5
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
6
+
7
+ test.describe('app-shell visual regression', () => {
8
+ test('all variations', async ({ page }) => {
9
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
10
+ await saveForLostPixel(page, 'app-shell');
11
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
12
+ });
13
+ });
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: Aspect Ratio
3
+ description: Constrains a container to a specific aspect ratio. Media children fill the container automatically.
4
+ ---
5
+
6
+ <!-- @presets -->
7
+ <div class="ui-row ui-row--md">
8
+ <div class="ui-aspect-ratio ui-aspect-ratio--square" style="inline-size: 160px; background: var(--ui-color-bg-muted)">
9
+ <span style="padding: var(--ui-space-2)">square</span>
10
+ </div>
11
+ <div class="ui-aspect-ratio ui-aspect-ratio--video" style="inline-size: 160px; background: var(--ui-color-bg-muted)">
12
+ <span style="padding: var(--ui-space-2)">video</span>
13
+ </div>
14
+ <div class="ui-aspect-ratio ui-aspect-ratio--photo" style="inline-size: 160px; background: var(--ui-color-bg-muted)">
15
+ <span style="padding: var(--ui-space-2)">photo</span>
16
+ </div>
17
+ <div class="ui-aspect-ratio ui-aspect-ratio--wide" style="inline-size: 160px; background: var(--ui-color-bg-muted)">
18
+ <span style="padding: var(--ui-space-2)">wide</span>
19
+ </div>
20
+ <div class="ui-aspect-ratio ui-aspect-ratio--portrait" style="inline-size: 160px; background: var(--ui-color-bg-muted)">
21
+ <span style="padding: var(--ui-space-2)">portrait</span>
22
+ </div>
23
+ </div>
24
+
25
+ <!-- @with_media -->
26
+ <div class="ui-row ui-row--md">
27
+ <div class="ui-aspect-ratio ui-aspect-ratio--video" style="inline-size: 240px">
28
+ <div style="inline-size: 100%; block-size: 100%; background: var(--ui-color-primary); color: var(--ui-color-on-primary); display: grid; place-items: center">img (video)</div>
29
+ </div>
30
+ <div class="ui-aspect-ratio ui-aspect-ratio--square" style="inline-size: 240px">
31
+ <div style="inline-size: 100%; block-size: 100%; background: var(--ui-color-primary); color: var(--ui-color-on-primary); display: grid; place-items: center">img (square)</div>
32
+ </div>
33
+ </div>
34
+
35
+ <!-- @custom_ratio -->
36
+ <div class="ui-aspect-ratio" style="--ui-aspect-ratio: 2.35 / 1; inline-size: 320px; background: var(--ui-color-bg-muted)">
37
+ <span style="padding: var(--ui-space-2)">2.35:1 (cinemascope)</span>
38
+ </div>
@@ -1,14 +1,14 @@
1
1
  import { resolve } from 'node:path';
2
2
  import { expect, test } from '@playwright/test';
3
- import { saveForLostPixel, setupVisualTestFromDocs } from '../../../test-utils';
3
+ import { saveForLostPixel, setupVisualTestFromHtmlDocs } from '../../../test-utils';
4
4
 
5
- const DOCS_PATH = resolve(__dirname, 'aspect-ratio.docs.json');
5
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
6
6
 
7
7
  test.describe('aspect-ratio visual regression', () => {
8
8
  test('all variations', async ({ page }) => {
9
- await setupVisualTestFromDocs(page, DOCS_PATH);
9
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
10
10
  // skip validateGridRhythm: aspect-ratio controls proportions, not fixed heights
11
11
  await saveForLostPixel(page, 'aspect-ratio');
12
- await expect(page.locator('body')).toHaveScreenshot('aspect-ratio.visual.png');
12
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
13
13
  });
14
14
  });
@@ -0,0 +1,24 @@
1
+ ---
2
+ title: Box
3
+ description: Base container with style props. Foundation for layout primitives.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div class="ui-box">Content</div>
8
+
9
+ <!-- @padding | column -->
10
+ <div class="ui-box ui-box--p-1 ui-box--bg-subtle">Padding 1</div>
11
+ <div class="ui-box ui-box--p-2 ui-box--bg-subtle">Padding 2</div>
12
+ <div class="ui-box ui-box--p-3 ui-box--bg-subtle">Padding 3</div>
13
+ <div class="ui-box ui-box--p-4 ui-box--bg-subtle">Padding 4</div>
14
+
15
+ <!-- @background | column -->
16
+ <div class="ui-box ui-box--p-2 ui-box--bg-subtle">Subtle background</div>
17
+ <div class="ui-box ui-box--p-2 ui-box--bg-muted">Muted background</div>
18
+
19
+ <!-- @rounded | row -->
20
+ <div class="ui-box ui-box--p-3 ui-box--bg-subtle ui-box--rounded">Rounded</div>
21
+ <div class="ui-box ui-box--p-3 ui-box--bg-subtle ui-box--rounded-lg">Rounded lg</div>
22
+
23
+ <!-- @custom_via_css_variables -->
24
+ <div class="ui-box" style="--box-padding: var(--ui-space-3); --box-bg: var(--ui-color-primary); --box-color: white; --box-radius: var(--ui-radius-lg);">Custom box</div>
Binary file
@@ -0,0 +1,13 @@
1
+ import { resolve } from 'node:path';
2
+ import { expect, test } from '@playwright/test';
3
+ import { saveForLostPixel, setupVisualTestFromHtmlDocs } from '../../../test-utils';
4
+
5
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
6
+
7
+ test.describe('box visual regression', () => {
8
+ test('all variations', async ({ page }) => {
9
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
10
+ await saveForLostPixel(page, 'box');
11
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
12
+ });
13
+ });
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: Center
3
+ description: Centers content horizontally and vertically.
4
+ ---
5
+
6
+ <!-- @basic -->
7
+ <!-- Centers children both horizontally and vertically using flexbox. -->
8
+ <div class="ui-center" style="height: var(--ui-row-4); background: var(--ui-color-bg-muted)">
9
+ <span>Centered content</span>
10
+ </div>
11
+
12
+ <!-- @column_direction -->
13
+ <!-- Stack centered children vertically. -->
14
+ <div class="ui-center ui-center--column" style="height: var(--ui-row-6); background: var(--ui-color-bg-muted)">
15
+ <span>First line</span>
16
+ <span>Second line</span>
17
+ </div>
18
+
19
+ <!-- @full_page_center -->
20
+ <!-- Center content within a full viewport area, useful for loading or empty states. -->
21
+ <div class="ui-center" style="height: var(--ui-row-8); background: var(--ui-color-bg-muted)">
22
+ <p>No results found</p>
23
+ </div>
@@ -0,0 +1,13 @@
1
+ import { resolve } from 'node:path';
2
+ import { expect, test } from '@playwright/test';
3
+ import { saveForLostPixel, setupVisualTestFromHtmlDocs } from '../../../test-utils';
4
+
5
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
6
+
7
+ test.describe('center visual regression', () => {
8
+ test('all variations', async ({ page }) => {
9
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
10
+ await saveForLostPixel(page, 'center');
11
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
12
+ });
13
+ });
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: Column
3
+ description: Vertical layout with consistent gap.
4
+ ---
5
+
6
+ <!-- @basic -->
7
+ <div class="ui-column ui-column--sm">
8
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Item 1</div>
9
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Item 2</div>
10
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Item 3</div>
11
+ </div>
12
+
13
+ <!-- @sizes -->
14
+ <div class="ui-column ui-column--xs">
15
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xs gap</div>
16
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xs gap</div>
17
+ </div>
18
+ <div class="ui-column ui-column--md">
19
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">md gap</div>
20
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">md gap</div>
21
+ </div>
22
+ <div class="ui-column ui-column--lg">
23
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">lg gap</div>
24
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">lg gap</div>
25
+ </div>
26
+ <div class="ui-column ui-column--xl">
27
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xl gap</div>
28
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xl gap</div>
29
+ </div>
@@ -0,0 +1,13 @@
1
+ import { resolve } from 'node:path';
2
+ import { expect, test } from '@playwright/test';
3
+ import { saveForLostPixel, setupVisualTestFromHtmlDocs } from '../../../test-utils';
4
+
5
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
6
+
7
+ test.describe('column visual regression', () => {
8
+ test('all variations', async ({ page }) => {
9
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
10
+ await saveForLostPixel(page, 'column');
11
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
12
+ });
13
+ });
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: Container
3
+ description: Content wrapper with max-width and inline padding. Centers page content with consistent margins.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <!-- Constrains content to a max width with horizontal padding. -->
8
+ <div class="ui-container" style="background: var(--ui-color-bg-muted)">
9
+ <p>Content within a container</p>
10
+ </div>
11
+
12
+ <!-- @centered -->
13
+ <!-- Centers the container horizontally with auto margins. -->
14
+ <div class="ui-container ui-container--center" style="background: var(--ui-color-bg-muted)">
15
+ <p>Centered container</p>
16
+ </div>
17
+
18
+ <!-- @sizes | column -->
19
+ <!-- Width presets for different layout needs. -->
20
+ <div class="ui-container ui-container--sm ui-container--center" style="background: var(--ui-color-bg-muted)">
21
+ <p>Small</p>
22
+ </div>
23
+ <div class="ui-container ui-container--md ui-container--center" style="background: var(--ui-color-bg-muted)">
24
+ <p>Medium</p>
25
+ </div>
26
+ <div class="ui-container ui-container--lg ui-container--center" style="background: var(--ui-color-bg-muted)">
27
+ <p>Large (default)</p>
28
+ </div>
29
+ <div class="ui-container ui-container--xl ui-container--center" style="background: var(--ui-color-bg-muted)">
30
+ <p>Extra large</p>
31
+ </div>
32
+ <div class="ui-container ui-container--full" style="background: var(--ui-color-bg-muted)">
33
+ <p>Full width</p>
34
+ </div>
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: Content
3
+ description: Content wrapper with consistent vertical spacing. Use inside container for padded, spaced content areas.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <!-- Vertical flex layout with gap between children and block/inline padding. -->
8
+ <div class="ui-content" style="0: b; 1: a; 2: c; 3: k; 4: g; 5: r; 6: o; 7: u; 8: n; 9: d; 10: :; 11: ; 12: v; 13: a; 14: r; 15: (; 16: -; 17: -; 18: u; 19: i; 20: -; 21: c; 22: o; 23: l; 24: o; 25: r; 26: -; 27: b; 28: g; 29: -; 30: s; 31: u; 32: b; 33: t; 34: l; 35: e; 36: )">
9
+ <p>First section of content with consistent spacing.</p>
10
+ <p>Second section automatically spaced by the gap token.</p>
11
+ <p>Third section follows the same rhythm.</p>
12
+ </div>
13
+
14
+ <!-- @prose -->
15
+ <!-- Narrower max-width for readable long-form text (640px / 80 units). -->
16
+ <div class="ui-content ui-content--prose" style="0: b; 1: a; 2: c; 3: k; 4: g; 5: r; 6: o; 7: u; 8: n; 9: d; 10: :; 11: ; 12: v; 13: a; 14: r; 15: (; 16: -; 17: -; 18: u; 19: i; 20: -; 21: c; 22: o; 23: l; 24: o; 25: r; 26: -; 27: b; 28: g; 29: -; 30: s; 31: u; 32: b; 33: t; 34: l; 35: e; 36: )">
17
+ <p>Prose content is constrained to a comfortable reading width. Long paragraphs stay readable without requiring the eye to travel too far across the screen.</p>
18
+ <p>This works well for articles, documentation, and form layouts.</p>
19
+ </div>
20
+
21
+ <!-- @flush -->
22
+ <!-- No padding, only gap between children. Useful when the parent handles padding. -->
23
+ <div class="ui-content ui-content--flush" style="0: b; 1: a; 2: c; 3: k; 4: g; 5: r; 6: o; 7: u; 8: n; 9: d; 10: :; 11: ; 12: v; 13: a; 14: r; 15: (; 16: -; 17: -; 18: u; 19: i; 20: -; 21: c; 22: o; 23: l; 24: o; 25: r; 26: -; 27: b; 28: g; 29: -; 30: s; 31: u; 32: b; 33: t; 34: l; 35: e; 36: )">
24
+ <p>Flush content has no padding.</p>
25
+ <p>Gap between children is preserved.</p>
26
+ </div>
27
+
28
+ <!-- @with_container -->
29
+ <!-- Content inside a centered container for a typical page layout. -->
30
+ <div class="ui-container ui-container--center">
31
+ <div class="ui-content">
32
+ <h2 class="ui-heading ui-heading--3">Page Title</h2>
33
+ <p>Content with consistent spacing and max-width.</p>
34
+ </div>
35
+ </div>