@teseor/css 1.6.0 → 1.8.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 (498) hide show
  1. package/dist/compiled.css +1 -1
  2. package/dist/index.css +72 -65
  3. package/package.json +2 -2
  4. package/src/{02-base → base}/root/root.scss +1 -1
  5. package/src/base/typography/typography.docs.json +328 -0
  6. package/src/{02-base → base}/typography/typography.scss +2 -2
  7. package/src/components/actions/button/button-visual.png +0 -0
  8. package/src/{04-components → components}/actions/button/button.api.json +4 -4
  9. package/src/{04-components → components}/actions/button/button.docs.json +63 -11
  10. package/src/{04-components → components}/actions/button/index.scss +20 -14
  11. package/src/components/actions/button-group/button-group.docs.json +151 -0
  12. package/src/{04-components → components}/actions/button-group/index.scss +1 -1
  13. package/src/{04-components → components}/actions/close-button/close-button.docs.json +4 -3
  14. package/src/{04-components → components}/actions/close-button/index.scss +2 -2
  15. package/src/{04-components/layout → components/content}/divider/divider.api.json +2 -2
  16. package/src/components/content/divider/divider.docs.json +113 -0
  17. package/src/{04-components/layout → components/content}/divider/index.scss +1 -1
  18. package/src/components/content/scroll-area/index.scss +92 -0
  19. package/src/components/content/scroll-area/scroll-area-visual.png +0 -0
  20. package/src/components/content/scroll-area/scroll-area.api.json +63 -0
  21. package/src/components/content/scroll-area/scroll-area.docs.json +204 -0
  22. package/src/components/content/scroll-area/scroll-area.visual.spec.ts +14 -0
  23. package/src/{04-components/layout → components/content}/spacer/spacer.docs.json +2 -2
  24. package/src/{04-components → components}/data-display/avatar/avatar.api.json +5 -5
  25. package/src/{04-components → components}/data-display/avatar/avatar.docs.json +55 -10
  26. package/src/{04-components → components}/data-display/avatar/index.scss +1 -1
  27. package/src/components/data-display/badge/badge-visual.png +0 -0
  28. package/src/{04-components → components}/data-display/badge/badge.api.json +14 -2
  29. package/src/{04-components → components}/data-display/badge/badge.docs.json +32 -7
  30. package/src/{04-components → components}/data-display/badge/index.scss +13 -7
  31. package/src/components/data-display/card/card-visual.png +0 -0
  32. package/src/{04-components → components}/data-display/card/card.api.json +15 -0
  33. package/src/{04-components → components}/data-display/card/card.docs.json +26 -2
  34. package/src/{04-components → components}/data-display/card/index.scss +26 -6
  35. package/src/{04-components → components}/data-display/data-list/data-list.api.json +2 -2
  36. package/src/components/data-display/data-list/data-list.docs.json +259 -0
  37. package/src/{04-components → components}/data-display/data-list/index.scss +1 -1
  38. package/src/components/data-display/icon/icon-visual.png +0 -0
  39. package/src/{04-components → components}/data-display/icon/icon.docs.json +105 -17
  40. package/src/{04-components → components}/data-display/icon/index.scss +7 -1
  41. package/src/{04-components → components}/data-display/image/image.api.json +4 -4
  42. package/src/{04-components → components}/data-display/image/image.docs.json +8 -8
  43. package/src/{04-components → components}/data-display/image/index.scss +1 -1
  44. package/src/{04-components → components}/data-display/stat/index.scss +1 -1
  45. package/src/{04-components → components}/data-display/stat/stat.docs.json +1 -1
  46. package/src/{04-components → components}/data-display/status/index.scss +7 -1
  47. package/src/{04-components → components}/data-display/status/status.api.json +2 -2
  48. package/src/components/data-display/status/status.docs.json +147 -0
  49. package/src/{04-components → components}/data-display/table/index.scss +2 -2
  50. package/src/components/data-display/table/table.docs.json +184 -0
  51. package/src/{04-components → components}/data-display/tag/index.scss +9 -3
  52. package/src/components/data-display/tag/tag-visual.png +0 -0
  53. package/src/{04-components → components}/data-display/tag/tag.api.json +17 -5
  54. package/src/{04-components → components}/data-display/tag/tag.docs.json +48 -10
  55. package/src/components/disclosure/accordion/accordion.docs.json +206 -0
  56. package/src/{04-components → components}/disclosure/accordion/index.scss +1 -1
  57. package/src/components/disclosure/disclosure/disclosure-visual.png +0 -0
  58. package/src/{04-components → components}/disclosure/disclosure/disclosure.api.json +2 -2
  59. package/src/components/disclosure/disclosure/disclosure.docs.json +154 -0
  60. package/src/{04-components → components}/disclosure/disclosure/index.scss +11 -1
  61. package/src/{04-components → components}/feedback/alert/alert-visual.png +0 -0
  62. package/src/{04-components → components}/feedback/alert/alert.api.json +24 -1
  63. package/src/components/feedback/alert/alert.docs.json +325 -0
  64. package/src/{04-components → components}/feedback/alert/index.scss +23 -1
  65. package/src/{04-components → components}/feedback/progress/index.scss +11 -1
  66. package/src/components/feedback/progress/progress-visual.png +0 -0
  67. package/src/{04-components → components}/feedback/progress/progress.api.json +1 -1
  68. package/src/components/feedback/progress/progress.docs.json +257 -0
  69. package/src/{04-components → components}/feedback/progress-circle/index.scss +11 -5
  70. package/src/{04-components → components}/feedback/progress-circle/progress-circle.api.json +4 -4
  71. package/src/{04-components → components}/feedback/progress-circle/progress-circle.docs.json +5 -4
  72. package/src/{04-components → components}/feedback/skeleton/index.scss +11 -1
  73. package/src/components/feedback/skeleton/skeleton.docs.json +126 -0
  74. package/src/{04-components → components}/feedback/spinner/index.scss +12 -6
  75. package/src/{04-components → components}/feedback/spinner/spinner.api.json +5 -5
  76. package/src/{04-components → components}/feedback/spinner/spinner.docs.json +42 -9
  77. package/src/{04-components → components}/feedback/toast/index.scss +8 -2
  78. package/src/{04-components → components}/feedback/toast/toast.api.json +4 -4
  79. package/src/components/feedback/toast/toast.docs.json +281 -0
  80. package/src/{04-components → components}/forms/checkbox/checkbox.api.json +8 -4
  81. package/src/{04-components → components}/forms/checkbox/checkbox.docs.json +30 -10
  82. package/src/{04-components → components}/forms/checkbox/index.scss +11 -4
  83. package/src/{04-components → components}/forms/checkbox-group/checkbox-group.docs.json +1 -0
  84. package/src/{04-components → components}/forms/checkbox-group/index.scss +3 -3
  85. package/src/components/forms/field/field.docs.json +190 -0
  86. package/src/{04-components → components}/forms/field/index.scss +1 -1
  87. package/src/{04-components → components}/forms/fieldset/index.scss +2 -2
  88. package/src/{04-components → components}/forms/form/index.scss +1 -1
  89. package/src/{04-components → components}/forms/form-error/form-error.docs.json +23 -2
  90. package/src/{04-components → components}/forms/form-error/index.scss +1 -1
  91. package/src/{04-components → components}/forms/form-helper/form-helper.docs.json +3 -1
  92. package/src/{04-components → components}/forms/form-helper/index.scss +1 -1
  93. package/src/{04-components → components}/forms/input/index.scss +9 -7
  94. package/src/{04-components → components}/forms/input/input-visual.png +0 -0
  95. package/src/{04-components → components}/forms/input/input.api.json +3 -3
  96. package/src/{04-components → components}/forms/input/input.docs.json +128 -11
  97. package/src/{04-components → components}/forms/label/index.scss +2 -2
  98. package/src/components/forms/label/label-visual.png +0 -0
  99. package/src/{04-components → components}/forms/label/label.docs.json +43 -6
  100. package/src/components/forms/number-input/index.scss +153 -0
  101. package/src/components/forms/number-input/number-input-visual.png +0 -0
  102. package/src/components/forms/number-input/number-input.api.json +74 -0
  103. package/src/components/forms/number-input/number-input.docs.json +262 -0
  104. package/src/components/forms/number-input/number-input.visual.spec.ts +14 -0
  105. package/src/components/forms/password-input/index.scss +138 -0
  106. package/src/components/forms/password-input/password-input-visual.png +0 -0
  107. package/src/components/forms/password-input/password-input.api.json +84 -0
  108. package/src/components/forms/password-input/password-input.docs.json +276 -0
  109. package/src/components/forms/password-input/password-input.visual.spec.ts +14 -0
  110. package/src/{04-components → components}/forms/radio/index.scss +11 -4
  111. package/src/{04-components → components}/forms/radio/radio.api.json +8 -4
  112. package/src/{04-components → components}/forms/radio/radio.docs.json +94 -12
  113. package/src/{04-components → components}/forms/radio-group/index.scss +3 -3
  114. package/src/{04-components → components}/forms/radio-group/radio-group.docs.json +1 -0
  115. package/src/{04-components → components}/forms/search-input/index.scss +2 -2
  116. package/src/components/forms/search-input/search-input-visual.png +0 -0
  117. package/src/{04-components → components}/forms/search-input/search-input.docs.json +1 -1
  118. package/src/{04-components → components}/forms/select/index.scss +9 -7
  119. package/src/components/forms/select/select-visual.png +0 -0
  120. package/src/{04-components → components}/forms/select/select.api.json +3 -3
  121. package/src/{04-components → components}/forms/select/select.docs.json +87 -18
  122. package/src/{04-components → components}/forms/slider/index.scss +3 -3
  123. package/src/{04-components → components}/forms/slider/slider.docs.json +3 -3
  124. package/src/{04-components → components}/forms/textarea/index.scss +6 -6
  125. package/src/{04-components → components}/forms/textarea/textarea.api.json +4 -4
  126. package/src/{04-components → components}/forms/textarea/textarea.docs.json +15 -9
  127. package/src/{04-components → components}/forms/toggle/index.scss +3 -3
  128. package/src/components/forms/toggle/toggle-visual.png +0 -0
  129. package/src/{04-components → components}/forms/toggle/toggle.api.json +5 -5
  130. package/src/components/forms/toggle/toggle.docs.json +229 -0
  131. package/src/{04-components → components}/index.scss +6 -2
  132. package/src/{04-components → components}/navigation/breadcrumb/breadcrumb.api.json +1 -1
  133. package/src/components/navigation/breadcrumb/breadcrumb.docs.json +170 -0
  134. package/src/{04-components → components}/navigation/breadcrumb/index.scss +1 -1
  135. package/src/components/navigation/dropdown-menu/dropdown-menu-visual.png +0 -0
  136. package/src/components/navigation/dropdown-menu/dropdown-menu.api.json +37 -0
  137. package/src/components/navigation/dropdown-menu/dropdown-menu.docs.json +272 -0
  138. package/src/components/navigation/dropdown-menu/dropdown-menu.visual.spec.ts +14 -0
  139. package/src/components/navigation/dropdown-menu/index.scss +84 -0
  140. package/src/{04-components → components}/navigation/menu/index.scss +3 -3
  141. package/src/{04-components → components}/navigation/menu/menu.api.json +4 -4
  142. package/src/components/navigation/menu/menu.docs.json +326 -0
  143. package/src/{04-components → components}/navigation/nav/index.scss +2 -2
  144. package/src/{04-components → components}/navigation/pagination/index.scss +2 -2
  145. package/src/{04-components → components}/navigation/pagination/pagination.api.json +2 -2
  146. package/src/components/navigation/pagination/pagination.docs.json +483 -0
  147. package/src/{04-components → components}/navigation/tabs/index.scss +48 -4
  148. package/src/components/navigation/tabs/tabs-visual.png +0 -0
  149. package/src/{04-components → components}/navigation/tabs/tabs.api.json +16 -1
  150. package/src/components/navigation/tabs/tabs.docs.json +243 -0
  151. package/src/{04-components → components}/overlays/dialog/dialog.api.json +3 -3
  152. package/src/components/overlays/dialog/dialog.docs.json +200 -0
  153. package/src/{04-components → components}/overlays/dialog/index.scss +1 -1
  154. package/src/{04-components → components}/overlays/drawer/drawer.api.json +4 -4
  155. package/src/components/overlays/drawer/drawer.docs.json +282 -0
  156. package/src/{04-components → components}/overlays/drawer/index.scss +9 -2
  157. package/src/{04-components → components}/overlays/modal/index.scss +2 -2
  158. package/src/{04-components → components}/overlays/modal/modal.api.json +6 -6
  159. package/src/components/overlays/modal/modal.docs.json +163 -0
  160. package/src/{04-components → components}/overlays/overlay/index.scss +1 -1
  161. package/src/components/overlays/overlay/overlay.docs.json +138 -0
  162. package/src/{04-components → components}/overlays/popover/index.scss +1 -1
  163. package/src/{04-components → components}/overlays/popover/popover.api.json +4 -4
  164. package/src/{04-components → components}/overlays/popover/popover.docs.json +47 -6
  165. package/src/{04-components → components}/overlays/tooltip/index.scss +5 -5
  166. package/src/{04-components → components}/overlays/tooltip/tooltip.api.json +4 -4
  167. package/src/{04-components → components}/overlays/tooltip/tooltip.docs.json +46 -6
  168. package/src/{04-components → components}/typography/blockquote/index.scss +1 -1
  169. package/src/components/typography/code/code-visual.png +0 -0
  170. package/src/{04-components → components}/typography/code/code.docs.json +23 -3
  171. package/src/{04-components → components}/typography/code/index.scss +1 -1
  172. package/src/{04-components → components}/typography/code-block/code-block.docs.json +1 -0
  173. package/src/{04-components → components}/typography/code-block/index.scss +1 -1
  174. package/src/{04-components → components}/typography/heading/heading.docs.json +28 -6
  175. package/src/{04-components → components}/typography/heading/index.scss +1 -1
  176. package/src/{04-components → components}/typography/kbd/index.scss +1 -1
  177. package/src/{04-components → components}/typography/kbd/kbd.docs.json +1 -1
  178. package/src/{04-components → components}/typography/link/index.scss +1 -1
  179. package/src/{04-components → components}/typography/link/link.docs.json +51 -6
  180. package/src/{04-components → components}/typography/list/index.scss +1 -1
  181. package/src/{04-components → components}/typography/list/list.api.json +1 -1
  182. package/src/{04-components → components}/typography/list/list.docs.json +2 -2
  183. package/src/{04-components → components}/typography/mark/index.scss +1 -1
  184. package/src/{00-config → config}/tokens/_variables.scss +4 -0
  185. package/src/config/tokens/accessibility.docs.json +104 -0
  186. package/src/config/tokens/borders/index.scss +8 -0
  187. package/src/config/tokens/colors/colors.docs.json +316 -0
  188. package/src/config/tokens/colors/index.scss +28 -0
  189. package/src/{00-config → config}/tokens/grid/grid.docs.json +1 -1
  190. package/src/config/tokens/grid/index.scss +13 -0
  191. package/src/config/tokens/radius/index.scss +9 -0
  192. package/src/config/tokens/semantic/colors/index.scss +67 -0
  193. package/src/config/tokens/semantic/spacing/index.scss +12 -0
  194. package/src/config/tokens/shadows/index.scss +7 -0
  195. package/src/config/tokens/spacing/index.scss +17 -0
  196. package/src/{00-config → config}/tokens/spacing/spacing.docs.json +7 -7
  197. package/src/config/tokens/theming.docs.json +179 -0
  198. package/src/config/tokens/typography/index.scss +120 -0
  199. package/src/{99-debug → debug}/grid-overlay.scss +3 -3
  200. package/src/index.scss +17 -20
  201. package/src/layout/app-shell/app-shell-visual.png +0 -0
  202. package/src/{03-layout → layout}/app-shell/app-shell.docs.json +10 -10
  203. package/src/layout/app-shell/app-shell.visual.spec.ts +13 -0
  204. package/src/{03-layout → layout}/aspect-ratio/aspect-ratio.docs.json +2 -2
  205. package/src/layout/box/box-visual.png +0 -0
  206. package/src/layout/box/box.docs.json +93 -0
  207. package/src/layout/box/box.visual.spec.ts +13 -0
  208. package/src/{03-layout → layout}/box/index.scss +1 -1
  209. package/src/layout/center/center-visual.png +0 -0
  210. package/src/layout/center/center.visual.spec.ts +13 -0
  211. package/src/layout/column/column-visual.png +0 -0
  212. package/src/{03-layout/stack/stack.api.json → layout/column/column.api.json} +1 -1
  213. package/src/{03-layout/stack/stack.docs.json → layout/column/column.docs.json} +7 -7
  214. package/src/layout/column/column.visual.spec.ts +13 -0
  215. package/src/layout/column/index.scss +13 -0
  216. package/src/layout/container/index.scss +17 -0
  217. package/src/{03-layout → layout}/content/index.scss +1 -1
  218. package/src/layout/grid/grid-visual.png +0 -0
  219. package/src/layout/grid/grid.visual.spec.ts +13 -0
  220. package/src/{03-layout → layout}/index.scss +2 -3
  221. package/src/{03-layout → layout}/main/index.scss +4 -4
  222. package/src/layout/row/index.scss +18 -0
  223. package/src/{03-layout/cluster/cluster.api.json → layout/row/row.api.json} +1 -1
  224. package/src/{03-layout/cluster/cluster.docs.json → layout/row/row.docs.json} +6 -6
  225. package/src/{03-layout/cluster/cluster.visual.spec.ts → layout/row/row.visual.spec.ts} +5 -5
  226. package/src/{03-layout → layout}/sidebar/index.scss +6 -6
  227. package/src/{03-layout → layout}/sidebar/sidebar.docs.json +4 -4
  228. package/src/{03-layout → layout}/sidebar-nav/index.scss +15 -2
  229. package/src/layout/sidebar-nav/sidebar-nav-all.png +0 -0
  230. package/src/layout/sidebar-nav/sidebar-nav.docs.json +827 -0
  231. package/src/{03-layout → layout}/topbar/index.scss +1 -1
  232. package/src/testing/api-types.ts +1 -1
  233. package/src/testing/grid-alignment.spec.ts +34 -88
  234. package/src/testing/html-generator.ts +1 -1
  235. package/src/testing/page-setup.ts +4 -2
  236. package/src/utilities/border/index.scss +18 -0
  237. package/src/{05-utilities → utilities}/display/display.scss +11 -11
  238. package/src/{05-utilities → utilities}/spacing/spacing.docs.json +1 -1
  239. package/src/{05-utilities → utilities}/spacing/spacing.scss +5 -5
  240. package/src/{05-utilities → utilities}/text/text.docs.json +7 -7
  241. package/src/{05-utilities → utilities}/visually-hidden/index.scss +2 -2
  242. package/src/{05-utilities → utilities}/visually-hidden/visually-hidden.docs.json +17 -2
  243. package/src/00-config/mixins/_border.scss +0 -13
  244. package/src/00-config/mixins/index.scss +0 -1
  245. package/src/00-config/tokens/borders/index.scss +0 -6
  246. package/src/00-config/tokens/colors/colors.docs.json +0 -168
  247. package/src/00-config/tokens/colors/index.scss +0 -26
  248. package/src/00-config/tokens/grid/index.scss +0 -11
  249. package/src/00-config/tokens/radius/index.scss +0 -7
  250. package/src/00-config/tokens/semantic/colors/index.scss +0 -30
  251. package/src/00-config/tokens/semantic/spacing/index.scss +0 -10
  252. package/src/00-config/tokens/shadows/index.scss +0 -5
  253. package/src/00-config/tokens/spacing/index.scss +0 -15
  254. package/src/00-config/tokens/theming.docs.json +0 -77
  255. package/src/00-config/tokens/typography/index.scss +0 -119
  256. package/src/02-base/typography/typography.docs.json +0 -94
  257. package/src/03-layout/box/box.docs.json +0 -57
  258. package/src/03-layout/cluster/index.scss +0 -18
  259. package/src/03-layout/container/index.scss +0 -17
  260. package/src/03-layout/flex/flex.api.json +0 -15
  261. package/src/03-layout/flex/flex.docs.json +0 -56
  262. package/src/03-layout/flex/index.scss +0 -51
  263. package/src/03-layout/sidebar-nav/sidebar-nav-all.png +0 -0
  264. package/src/03-layout/sidebar-nav/sidebar-nav.docs.json +0 -100
  265. package/src/03-layout/stack/index.scss +0 -13
  266. package/src/04-components/actions/button/button-visual.png +0 -0
  267. package/src/04-components/actions/button-group/button-group.docs.json +0 -52
  268. package/src/04-components/data-display/badge/badge-visual.png +0 -0
  269. package/src/04-components/data-display/card/card-visual.png +0 -0
  270. package/src/04-components/data-display/data-list/data-list.docs.json +0 -79
  271. package/src/04-components/data-display/icon/icon-visual.png +0 -0
  272. package/src/04-components/data-display/status/status.docs.json +0 -60
  273. package/src/04-components/data-display/table/table.docs.json +0 -59
  274. package/src/04-components/data-display/tag/tag-visual.png +0 -0
  275. package/src/04-components/disclosure/accordion/accordion.docs.json +0 -51
  276. package/src/04-components/disclosure/disclosure/disclosure-visual.png +0 -0
  277. package/src/04-components/disclosure/disclosure/disclosure.docs.json +0 -73
  278. package/src/04-components/feedback/alert/alert.docs.json +0 -79
  279. package/src/04-components/feedback/progress/progress-visual.png +0 -0
  280. package/src/04-components/feedback/progress/progress.docs.json +0 -87
  281. package/src/04-components/feedback/skeleton/skeleton.docs.json +0 -62
  282. package/src/04-components/feedback/toast/toast.docs.json +0 -99
  283. package/src/04-components/forms/field/field.docs.json +0 -59
  284. package/src/04-components/forms/label/label-visual.png +0 -0
  285. package/src/04-components/forms/search-input/search-input-visual.png +0 -0
  286. package/src/04-components/forms/select/select-visual.png +0 -0
  287. package/src/04-components/forms/toggle/toggle-visual.png +0 -0
  288. package/src/04-components/forms/toggle/toggle.docs.json +0 -92
  289. package/src/04-components/layout/divider/divider.docs.json +0 -68
  290. package/src/04-components/navigation/breadcrumb/breadcrumb.docs.json +0 -59
  291. package/src/04-components/navigation/menu/menu.docs.json +0 -81
  292. package/src/04-components/navigation/pagination/pagination.docs.json +0 -88
  293. package/src/04-components/navigation/tabs/tabs-visual.png +0 -0
  294. package/src/04-components/navigation/tabs/tabs.docs.json +0 -61
  295. package/src/04-components/overlays/dialog/dialog.docs.json +0 -58
  296. package/src/04-components/overlays/drawer/drawer.docs.json +0 -78
  297. package/src/04-components/overlays/modal/modal.docs.json +0 -86
  298. package/src/04-components/overlays/overlay/overlay.docs.json +0 -63
  299. package/src/04-components/typography/code/code-visual.png +0 -0
  300. package/src/05-utilities/border/index.scss +0 -21
  301. package/src/testing/sidebar-toggles.spec.ts +0 -103
  302. /package/src/{02-base → base}/index.scss +0 -0
  303. /package/src/{04-components → components}/actions/button/button.visual.spec.ts +0 -0
  304. /package/src/{04-components → components}/actions/button-group/button-group-visual.png +0 -0
  305. /package/src/{04-components → components}/actions/button-group/button-group.api.json +0 -0
  306. /package/src/{04-components → components}/actions/button-group/button-group.visual.spec.ts +0 -0
  307. /package/src/{04-components → components}/actions/close-button/close-button-visual.png +0 -0
  308. /package/src/{04-components → components}/actions/close-button/close-button.api.json +0 -0
  309. /package/src/{04-components → components}/actions/close-button/close-button.visual.spec.ts +0 -0
  310. /package/src/{04-components/layout → components/content}/divider/divider-visual.png +0 -0
  311. /package/src/{04-components/layout → components/content}/divider/divider.visual.spec.ts +0 -0
  312. /package/src/{04-components/layout → components/content}/spacer/index.scss +0 -0
  313. /package/src/{04-components/layout → components/content}/spacer/spacer-visual.png +0 -0
  314. /package/src/{04-components/layout → components/content}/spacer/spacer.api.json +0 -0
  315. /package/src/{04-components/layout → components/content}/spacer/spacer.visual.spec.ts +0 -0
  316. /package/src/{04-components → components}/data-display/avatar/avatar-visual.png +0 -0
  317. /package/src/{04-components → components}/data-display/avatar/avatar.visual.spec.ts +0 -0
  318. /package/src/{04-components → components}/data-display/badge/badge.visual.spec.ts +0 -0
  319. /package/src/{04-components → components}/data-display/card/card.visual.spec.ts +0 -0
  320. /package/src/{04-components → components}/data-display/data-list/data-list-visual.png +0 -0
  321. /package/src/{04-components → components}/data-display/data-list/data-list.visual.spec.ts +0 -0
  322. /package/src/{04-components → components}/data-display/icon/icon.api.json +0 -0
  323. /package/src/{04-components → components}/data-display/icon/icon.visual.spec.ts +0 -0
  324. /package/src/{04-components → components}/data-display/image/image-visual.png +0 -0
  325. /package/src/{04-components → components}/data-display/image/image.visual.spec.ts +0 -0
  326. /package/src/{04-components → components}/data-display/stat/stat-visual.png +0 -0
  327. /package/src/{04-components → components}/data-display/stat/stat.api.json +0 -0
  328. /package/src/{04-components → components}/data-display/stat/stat.visual.spec.ts +0 -0
  329. /package/src/{04-components → components}/data-display/status/status-visual.png +0 -0
  330. /package/src/{04-components → components}/data-display/status/status.visual.spec.ts +0 -0
  331. /package/src/{04-components → components}/data-display/table/table-visual.png +0 -0
  332. /package/src/{04-components → components}/data-display/table/table.api.json +0 -0
  333. /package/src/{04-components → components}/data-display/table/table.visual.spec.ts +0 -0
  334. /package/src/{04-components → components}/data-display/tag/tag.visual.spec.ts +0 -0
  335. /package/src/{04-components → components}/disclosure/accordion/accordion-visual.png +0 -0
  336. /package/src/{04-components → components}/disclosure/accordion/accordion.api.json +0 -0
  337. /package/src/{04-components → components}/disclosure/accordion/accordion.visual.spec.ts +0 -0
  338. /package/src/{04-components → components}/disclosure/disclosure/disclosure.visual.spec.ts +0 -0
  339. /package/src/{04-components → components}/feedback/alert/alert.visual.spec.ts +0 -0
  340. /package/src/{04-components → components}/feedback/progress/progress.visual.spec.ts +0 -0
  341. /package/src/{04-components → components}/feedback/progress-circle/progress-circle-visual.png +0 -0
  342. /package/src/{04-components → components}/feedback/progress-circle/progress-circle.visual.spec.ts +0 -0
  343. /package/src/{04-components → components}/feedback/skeleton/skeleton-visual.png +0 -0
  344. /package/src/{04-components → components}/feedback/skeleton/skeleton.api.json +0 -0
  345. /package/src/{04-components → components}/feedback/skeleton/skeleton.visual.spec.ts +0 -0
  346. /package/src/{04-components → components}/feedback/spinner/spinner-visual.png +0 -0
  347. /package/src/{04-components → components}/feedback/spinner/spinner.visual.spec.ts +0 -0
  348. /package/src/{04-components → components}/feedback/toast/toast-visual.png +0 -0
  349. /package/src/{04-components → components}/feedback/toast/toast.visual.spec.ts +0 -0
  350. /package/src/{04-components → components}/forms/checkbox/checkbox-visual.png +0 -0
  351. /package/src/{04-components → components}/forms/checkbox/checkbox.visual.spec.ts +0 -0
  352. /package/src/{04-components → components}/forms/checkbox-group/checkbox-group-visual.png +0 -0
  353. /package/src/{04-components → components}/forms/checkbox-group/checkbox-group.api.json +0 -0
  354. /package/src/{04-components → components}/forms/checkbox-group/checkbox-group.visual.spec.ts +0 -0
  355. /package/src/{04-components → components}/forms/field/field-visual.png +0 -0
  356. /package/src/{04-components → components}/forms/field/field.api.json +0 -0
  357. /package/src/{04-components → components}/forms/field/field.visual.spec.ts +0 -0
  358. /package/src/{04-components → components}/forms/fieldset/fieldset-visual.png +0 -0
  359. /package/src/{04-components → components}/forms/fieldset/fieldset.api.json +0 -0
  360. /package/src/{04-components → components}/forms/fieldset/fieldset.docs.json +0 -0
  361. /package/src/{04-components → components}/forms/fieldset/fieldset.visual.spec.ts +0 -0
  362. /package/src/{04-components → components}/forms/form/form-visual.png +0 -0
  363. /package/src/{04-components → components}/forms/form/form.api.json +0 -0
  364. /package/src/{04-components → components}/forms/form/form.docs.json +0 -0
  365. /package/src/{04-components → components}/forms/form/form.visual.spec.ts +0 -0
  366. /package/src/{04-components → components}/forms/form-error/form-error-visual.png +0 -0
  367. /package/src/{04-components → components}/forms/form-error/form-error.api.json +0 -0
  368. /package/src/{04-components → components}/forms/form-error/form-error.visual.spec.ts +0 -0
  369. /package/src/{04-components → components}/forms/form-helper/form-helper-visual.png +0 -0
  370. /package/src/{04-components → components}/forms/form-helper/form-helper.api.json +0 -0
  371. /package/src/{04-components → components}/forms/form-helper/form-helper.visual.spec.ts +0 -0
  372. /package/src/{04-components → components}/forms/input/input.visual.spec.ts +0 -0
  373. /package/src/{04-components → components}/forms/label/label.api.json +0 -0
  374. /package/src/{04-components → components}/forms/label/label.visual.spec.ts +0 -0
  375. /package/src/{04-components → components}/forms/radio/radio-visual.png +0 -0
  376. /package/src/{04-components → components}/forms/radio/radio.visual.spec.ts +0 -0
  377. /package/src/{04-components → components}/forms/radio-group/radio-group-visual.png +0 -0
  378. /package/src/{04-components → components}/forms/radio-group/radio-group.api.json +0 -0
  379. /package/src/{04-components → components}/forms/radio-group/radio-group.visual.spec.ts +0 -0
  380. /package/src/{04-components → components}/forms/search-input/search-input.api.json +0 -0
  381. /package/src/{04-components → components}/forms/search-input/search-input.visual.spec.ts +0 -0
  382. /package/src/{04-components → components}/forms/select/select.visual.spec.ts +0 -0
  383. /package/src/{04-components → components}/forms/slider/slider-visual.png +0 -0
  384. /package/src/{04-components → components}/forms/slider/slider.api.json +0 -0
  385. /package/src/{04-components → components}/forms/slider/slider.visual.spec.ts +0 -0
  386. /package/src/{04-components → components}/forms/textarea/textarea-visual.png +0 -0
  387. /package/src/{04-components → components}/forms/textarea/textarea.visual.spec.ts +0 -0
  388. /package/src/{04-components → components}/forms/toggle/toggle.visual.spec.ts +0 -0
  389. /package/src/{04-components → components}/navigation/breadcrumb/breadcrumb-visual.png +0 -0
  390. /package/src/{04-components → components}/navigation/breadcrumb/breadcrumb.visual.spec.ts +0 -0
  391. /package/src/{04-components → components}/navigation/menu/menu-visual.png +0 -0
  392. /package/src/{04-components → components}/navigation/menu/menu.visual.spec.ts +0 -0
  393. /package/src/{04-components → components}/navigation/nav/nav-visual.png +0 -0
  394. /package/src/{04-components → components}/navigation/nav/nav.api.json +0 -0
  395. /package/src/{04-components → components}/navigation/nav/nav.docs.json +0 -0
  396. /package/src/{04-components → components}/navigation/nav/nav.visual.spec.ts +0 -0
  397. /package/src/{04-components → components}/navigation/pagination/pagination-visual.png +0 -0
  398. /package/src/{04-components → components}/navigation/pagination/pagination.visual.spec.ts +0 -0
  399. /package/src/{04-components → components}/navigation/tabs/tabs.visual.spec.ts +0 -0
  400. /package/src/{04-components → components}/overlays/dialog/dialog-visual.png +0 -0
  401. /package/src/{04-components → components}/overlays/dialog/dialog.visual.spec.ts +0 -0
  402. /package/src/{04-components → components}/overlays/drawer/drawer-visual.png +0 -0
  403. /package/src/{04-components → components}/overlays/drawer/drawer.visual.spec.ts +0 -0
  404. /package/src/{04-components → components}/overlays/modal/modal-visual.png +0 -0
  405. /package/src/{04-components → components}/overlays/modal/modal.visual.spec.ts +0 -0
  406. /package/src/{04-components → components}/overlays/overlay/overlay-visual.png +0 -0
  407. /package/src/{04-components → components}/overlays/overlay/overlay.api.json +0 -0
  408. /package/src/{04-components → components}/overlays/overlay/overlay.visual.spec.ts +0 -0
  409. /package/src/{04-components → components}/overlays/popover/popover-visual.png +0 -0
  410. /package/src/{04-components → components}/overlays/popover/popover.visual.spec.ts +0 -0
  411. /package/src/{04-components → components}/overlays/tooltip/tooltip-visual.png +0 -0
  412. /package/src/{04-components → components}/overlays/tooltip/tooltip.visual.spec.ts +0 -0
  413. /package/src/{04-components → components}/typography/blockquote/blockquote-visual.png +0 -0
  414. /package/src/{04-components → components}/typography/blockquote/blockquote.api.json +0 -0
  415. /package/src/{04-components → components}/typography/blockquote/blockquote.docs.json +0 -0
  416. /package/src/{04-components → components}/typography/blockquote/blockquote.visual.spec.ts +0 -0
  417. /package/src/{04-components → components}/typography/code/code.api.json +0 -0
  418. /package/src/{04-components → components}/typography/code/code.visual.spec.ts +0 -0
  419. /package/src/{04-components → components}/typography/code-block/code-block-visual.png +0 -0
  420. /package/src/{04-components → components}/typography/code-block/code-block.api.json +0 -0
  421. /package/src/{04-components → components}/typography/code-block/code-block.visual.spec.ts +0 -0
  422. /package/src/{04-components → components}/typography/heading/heading-visual.png +0 -0
  423. /package/src/{04-components → components}/typography/heading/heading.api.json +0 -0
  424. /package/src/{04-components → components}/typography/heading/heading.visual.spec.ts +0 -0
  425. /package/src/{04-components → components}/typography/kbd/kbd-visual.png +0 -0
  426. /package/src/{04-components → components}/typography/kbd/kbd.api.json +0 -0
  427. /package/src/{04-components → components}/typography/kbd/kbd.visual.spec.ts +0 -0
  428. /package/src/{04-components → components}/typography/link/link-visual.png +0 -0
  429. /package/src/{04-components → components}/typography/link/link.api.json +0 -0
  430. /package/src/{04-components → components}/typography/link/link.visual.spec.ts +0 -0
  431. /package/src/{04-components → components}/typography/list/list-visual.png +0 -0
  432. /package/src/{04-components → components}/typography/list/list.visual.spec.ts +0 -0
  433. /package/src/{04-components → components}/typography/mark/mark-visual.png +0 -0
  434. /package/src/{04-components → components}/typography/mark/mark.api.json +0 -0
  435. /package/src/{04-components → components}/typography/mark/mark.docs.json +0 -0
  436. /package/src/{04-components → components}/typography/mark/mark.visual.spec.ts +0 -0
  437. /package/src/{00-config → config}/layers/layers.scss +0 -0
  438. /package/src/{00-config → config}/tokens/index.scss +0 -0
  439. /package/src/{00-config → config}/tokens/input.scss +0 -0
  440. /package/src/{00-config → config}/tokens/motion/index.scss +0 -0
  441. /package/src/{00-config → config}/tokens/zindex/index.scss +0 -0
  442. /package/src/{99-debug → debug}/index.scss +0 -0
  443. /package/src/{03-layout → layout}/app-shell/app-shell.api.json +0 -0
  444. /package/src/{03-layout → layout}/app-shell/index.scss +0 -0
  445. /package/src/{03-layout → layout}/aspect-ratio/aspect-ratio-visual.png +0 -0
  446. /package/src/{03-layout → layout}/aspect-ratio/aspect-ratio.api.json +0 -0
  447. /package/src/{03-layout → layout}/aspect-ratio/aspect-ratio.visual.spec.ts +0 -0
  448. /package/src/{03-layout → layout}/aspect-ratio/index.scss +0 -0
  449. /package/src/{03-layout → layout}/box/box.api.json +0 -0
  450. /package/src/{03-layout → layout}/center/center.api.json +0 -0
  451. /package/src/{03-layout → layout}/center/center.docs.json +0 -0
  452. /package/src/{03-layout → layout}/center/index.scss +0 -0
  453. /package/src/{03-layout → layout}/container/container.api.json +0 -0
  454. /package/src/{03-layout → layout}/content/content-visual.png +0 -0
  455. /package/src/{03-layout → layout}/content/content.api.json +0 -0
  456. /package/src/{03-layout → layout}/content/content.docs.json +0 -0
  457. /package/src/{03-layout → layout}/content/content.visual.spec.ts +0 -0
  458. /package/src/{03-layout → layout}/footer/footer-visual.png +0 -0
  459. /package/src/{03-layout → layout}/footer/footer.api.json +0 -0
  460. /package/src/{03-layout → layout}/footer/footer.docs.json +0 -0
  461. /package/src/{03-layout → layout}/footer/footer.visual.spec.ts +0 -0
  462. /package/src/{03-layout → layout}/footer/index.scss +0 -0
  463. /package/src/{03-layout → layout}/grid/grid.api.json +0 -0
  464. /package/src/{03-layout → layout}/grid/grid.docs.json +0 -0
  465. /package/src/{03-layout → layout}/grid/index.scss +0 -0
  466. /package/src/{03-layout → layout}/main/main.api.json +0 -0
  467. /package/src/{03-layout → layout}/nav-rail/index.scss +0 -0
  468. /package/src/{03-layout → layout}/nav-rail/nav-rail-visual.png +0 -0
  469. /package/src/{03-layout → layout}/nav-rail/nav-rail.api.json +0 -0
  470. /package/src/{03-layout → layout}/nav-rail/nav-rail.docs.json +0 -0
  471. /package/src/{03-layout → layout}/nav-rail/nav-rail.visual.spec.ts +0 -0
  472. /package/src/{03-layout → layout}/page-header/index.scss +0 -0
  473. /package/src/{03-layout → layout}/page-header/page-header-visual.png +0 -0
  474. /package/src/{03-layout → layout}/page-header/page-header.api.json +0 -0
  475. /package/src/{03-layout → layout}/page-header/page-header.docs.json +0 -0
  476. /package/src/{03-layout → layout}/page-header/page-header.visual.spec.ts +0 -0
  477. /package/src/{03-layout/cluster/cluster-visual.png → layout/row/row-visual.png} +0 -0
  478. /package/src/{03-layout → layout}/sidebar/sidebar-visual.png +0 -0
  479. /package/src/{03-layout → layout}/sidebar/sidebar.api.json +0 -0
  480. /package/src/{03-layout → layout}/sidebar/sidebar.visual.spec.ts +0 -0
  481. /package/src/{03-layout → layout}/sidebar-nav/sidebar-nav.api.json +0 -0
  482. /package/src/{03-layout → layout}/sidebar-nav/sidebar-nav.visual.spec.ts +0 -0
  483. /package/src/{03-layout → layout}/topbar/topbar-visual.png +0 -0
  484. /package/src/{03-layout → layout}/topbar/topbar.api.json +0 -0
  485. /package/src/{03-layout → layout}/topbar/topbar.docs.json +0 -0
  486. /package/src/{03-layout → layout}/topbar/topbar.visual.spec.ts +0 -0
  487. /package/src/{01-reset → reset}/index.scss +0 -0
  488. /package/src/{01-reset → reset}/reset.scss +0 -0
  489. /package/src/{05-utilities → utilities}/display/display.api.json +0 -0
  490. /package/src/{05-utilities → utilities}/display/display.docs.json +0 -0
  491. /package/src/{05-utilities → utilities}/index.scss +0 -0
  492. /package/src/{05-utilities → utilities}/spacing/spacing.api.json +0 -0
  493. /package/src/{05-utilities → utilities}/text/text.api.json +0 -0
  494. /package/src/{05-utilities → utilities}/text/text.scss +0 -0
  495. /package/src/{05-utilities → utilities}/view-transition/index.scss +0 -0
  496. /package/src/{05-utilities → utilities}/view-transition/view-transition.api.json +0 -0
  497. /package/src/{05-utilities → utilities}/view-transition/view-transition.docs.json +0 -0
  498. /package/src/{05-utilities → utilities}/visually-hidden/visually-hidden.api.json +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teseor/css",
3
- "version": "1.6.0",
3
+ "version": "1.8.0",
4
4
  "description": "CSS library - reset, primitives, components, utilities",
5
5
  "license": "MIT",
6
6
  "author": "letanure",
@@ -29,7 +29,7 @@
29
29
  "src"
30
30
  ],
31
31
  "scripts": {
32
- "build": "pnpm --filter @teseor/source sync:components && sass src/index.scss dist/index.css --style=compressed",
32
+ "build": "pnpm --filter @teseor/source sync:components && mkdir -p dist && sass src/index.scss dist/compiled.css --no-source-map --style=compressed && postcss dist/compiled.css -o dist/index.css",
33
33
  "test:grid": "playwright test --config=playwright.config.ts src/testing/grid-alignment.spec.ts",
34
34
  "test:visual": "playwright test --config=playwright.config.ts --grep visual"
35
35
  }
@@ -1,4 +1,4 @@
1
- @use '../../00-config/tokens/variables' as t;
1
+ @use '../../config/tokens/variables' as t;
2
2
 
3
3
  @layer base {
4
4
  .root {
@@ -0,0 +1,328 @@
1
+ {
2
+ "id": "typography",
3
+ "type": "token",
4
+ "title": "Typography",
5
+ "description": "Modular scale (1.2 ratio) with 8px grid-snapped line-heights. Responsive breakpoints at 730px and 1080px adjust heading sizes.",
6
+ "skipValidation": true,
7
+ "sections": [
8
+ {
9
+ "title": "Type Scale",
10
+ "description": "Font sizes follow a 1.2 (Minor Third) modular scale from 12px to 40px. All line-heights snap to 8px multiples.",
11
+ "examples": [
12
+ {
13
+ "items": [
14
+ {
15
+ "tag": "table",
16
+ "class": "ui-table",
17
+ "children": [
18
+ {
19
+ "tag": "thead",
20
+ "children": [
21
+ {
22
+ "tag": "tr",
23
+ "children": [
24
+ { "tag": "th", "text": "Token" },
25
+ { "tag": "th", "text": "Size" },
26
+ { "tag": "th", "text": "Line-height" }
27
+ ]
28
+ }
29
+ ]
30
+ },
31
+ {
32
+ "tag": "tbody",
33
+ "children": [
34
+ {
35
+ "tag": "tr",
36
+ "children": [
37
+ {
38
+ "tag": "td",
39
+ "children": [{ "tag": "code", "text": "--ui-font-size-xs" }]
40
+ },
41
+ { "tag": "td", "text": "12px" },
42
+ { "tag": "td", "text": "16px" }
43
+ ]
44
+ },
45
+ {
46
+ "tag": "tr",
47
+ "children": [
48
+ {
49
+ "tag": "td",
50
+ "children": [{ "tag": "code", "text": "--ui-font-size-sm" }]
51
+ },
52
+ { "tag": "td", "text": "14px" },
53
+ { "tag": "td", "text": "24px" }
54
+ ]
55
+ },
56
+ {
57
+ "tag": "tr",
58
+ "children": [
59
+ {
60
+ "tag": "td",
61
+ "children": [{ "tag": "code", "text": "--ui-font-size-md" }]
62
+ },
63
+ { "tag": "td", "text": "16px" },
64
+ { "tag": "td", "text": "24px" }
65
+ ]
66
+ },
67
+ {
68
+ "tag": "tr",
69
+ "children": [
70
+ {
71
+ "tag": "td",
72
+ "children": [{ "tag": "code", "text": "--ui-font-size-lg" }]
73
+ },
74
+ { "tag": "td", "text": "20px" },
75
+ { "tag": "td", "text": "32px" }
76
+ ]
77
+ },
78
+ {
79
+ "tag": "tr",
80
+ "children": [
81
+ {
82
+ "tag": "td",
83
+ "children": [{ "tag": "code", "text": "--ui-font-size-xl" }]
84
+ },
85
+ { "tag": "td", "text": "24px" },
86
+ { "tag": "td", "text": "32px" }
87
+ ]
88
+ },
89
+ {
90
+ "tag": "tr",
91
+ "children": [
92
+ {
93
+ "tag": "td",
94
+ "children": [{ "tag": "code", "text": "--ui-font-size-2xl" }]
95
+ },
96
+ { "tag": "td", "text": "28px" },
97
+ { "tag": "td", "text": "32px" }
98
+ ]
99
+ },
100
+ {
101
+ "tag": "tr",
102
+ "children": [
103
+ {
104
+ "tag": "td",
105
+ "children": [{ "tag": "code", "text": "--ui-font-size-3xl" }]
106
+ },
107
+ { "tag": "td", "text": "32px" },
108
+ { "tag": "td", "text": "40px" }
109
+ ]
110
+ },
111
+ {
112
+ "tag": "tr",
113
+ "children": [
114
+ {
115
+ "tag": "td",
116
+ "children": [{ "tag": "code", "text": "--ui-font-size-4xl" }]
117
+ },
118
+ { "tag": "td", "text": "40px" },
119
+ { "tag": "td", "text": "48px" }
120
+ ]
121
+ }
122
+ ]
123
+ }
124
+ ]
125
+ }
126
+ ]
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "title": "Headings",
132
+ "description": "Headings use semantic tokens and adjust size at breakpoints.",
133
+ "examples": [
134
+ {
135
+ "items": [
136
+ { "tag": "h1", "text": "Heading 1 - 40px / 48px" },
137
+ { "tag": "h2", "text": "Heading 2 - 32px / 40px" },
138
+ { "tag": "h3", "text": "Heading 3 - 28px / 32px" },
139
+ { "tag": "h4", "text": "Heading 4 - 24px / 32px" },
140
+ { "tag": "h5", "text": "Heading 5 - 20px / 24px" }
141
+ ]
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ "title": "Body Text",
147
+ "description": "Default body text at 16px with 24px line-height (1.5x ratio).",
148
+ "examples": [
149
+ {
150
+ "items": [
151
+ {
152
+ "tag": "p",
153
+ "children": [
154
+ { "text": "Body text at 16px with 24px line-height. The " },
155
+ { "tag": "strong", "text": "bold text" },
156
+ { "text": " and " },
157
+ { "tag": "code", "text": "inline code" },
158
+ { "text": " maintain the same rhythm." }
159
+ ]
160
+ },
161
+ {
162
+ "tag": "p",
163
+ "class": "ui-text-body-sm",
164
+ "text": "Body small at 14px with 24px line-height for secondary text."
165
+ }
166
+ ]
167
+ }
168
+ ]
169
+ },
170
+ {
171
+ "title": "Text Roles",
172
+ "description": "Semantic text styles for specific use cases.",
173
+ "examples": [
174
+ {
175
+ "items": [
176
+ {
177
+ "tag": "p",
178
+ "class": "ui-text-lead",
179
+ "text": "Lead paragraph - 20px / 32px. Use for opening paragraphs or article intros."
180
+ }
181
+ ]
182
+ },
183
+ {
184
+ "items": [
185
+ { "tag": "p", "class": "ui-text-eyebrow", "text": "Eyebrow text" },
186
+ { "tag": "h2", "text": "Related Heading" }
187
+ ],
188
+ "description": "Eyebrow - 12px uppercase with wide tracking. Use above headings for categorization."
189
+ },
190
+ {
191
+ "items": [
192
+ {
193
+ "tag": "p",
194
+ "class": "ui-text-caption",
195
+ "text": "Caption text - 12px / 16px. Use for labels, hints, and metadata."
196
+ }
197
+ ]
198
+ }
199
+ ]
200
+ },
201
+ {
202
+ "title": "Font Weights",
203
+ "description": "Four weight levels for hierarchy.",
204
+ "examples": [
205
+ {
206
+ "items": [
207
+ { "tag": "p", "class": "ui-font-normal", "text": "Normal (400) - Body text" },
208
+ {
209
+ "tag": "p",
210
+ "class": "ui-font-medium",
211
+ "text": "Medium (500) - Labels, small headings"
212
+ },
213
+ { "tag": "p", "class": "ui-font-semibold", "text": "Semibold (600) - Subheadings" },
214
+ { "tag": "p", "class": "ui-font-bold", "text": "Bold (700) - Headlines, emphasis" }
215
+ ]
216
+ }
217
+ ]
218
+ },
219
+ {
220
+ "title": "Letter Spacing",
221
+ "description": "Three tracking options based on use case.",
222
+ "examples": [
223
+ {
224
+ "items": [
225
+ {
226
+ "tag": "p",
227
+ "class": "ui-text-3xl ui-tracking-display",
228
+ "text": "Display tracking (-0.02em)"
229
+ },
230
+ { "tag": "p", "text": "Body tracking (0) - default" },
231
+ { "tag": "p", "class": "ui-text-eyebrow", "text": "Caps tracking (+0.08em)" }
232
+ ]
233
+ }
234
+ ]
235
+ },
236
+ {
237
+ "title": "Line Length",
238
+ "description": "Constrain text width for optimal readability (45-75 characters).",
239
+ "examples": [
240
+ {
241
+ "items": [
242
+ {
243
+ "tag": "div",
244
+ "class": "ui-prose",
245
+ "children": [
246
+ {
247
+ "tag": "p",
248
+ "text": "This paragraph is constrained to 65ch max-width for optimal reading comfort. Long lines of text are harder to read because the eye has difficulty tracking back to the start of the next line."
249
+ }
250
+ ]
251
+ }
252
+ ]
253
+ }
254
+ ]
255
+ },
256
+ {
257
+ "title": "Responsive Behavior",
258
+ "description": "Headings scale down on mobile (<730px) and up on desktop (>1080px).",
259
+ "examples": [
260
+ {
261
+ "items": [
262
+ {
263
+ "tag": "table",
264
+ "class": "ui-table",
265
+ "children": [
266
+ {
267
+ "tag": "thead",
268
+ "children": [
269
+ {
270
+ "tag": "tr",
271
+ "children": [
272
+ { "tag": "th", "text": "Heading" },
273
+ { "tag": "th", "text": "Mobile" },
274
+ { "tag": "th", "text": "Default" },
275
+ { "tag": "th", "text": "Desktop" }
276
+ ]
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "tag": "tbody",
282
+ "children": [
283
+ {
284
+ "tag": "tr",
285
+ "children": [
286
+ { "tag": "td", "text": "h1" },
287
+ { "tag": "td", "text": "28px" },
288
+ { "tag": "td", "text": "40px" },
289
+ { "tag": "td", "text": "48px" }
290
+ ]
291
+ },
292
+ {
293
+ "tag": "tr",
294
+ "children": [
295
+ { "tag": "td", "text": "h2" },
296
+ { "tag": "td", "text": "24px" },
297
+ { "tag": "td", "text": "32px" },
298
+ { "tag": "td", "text": "40px" }
299
+ ]
300
+ },
301
+ {
302
+ "tag": "tr",
303
+ "children": [
304
+ { "tag": "td", "text": "h3" },
305
+ { "tag": "td", "text": "20px" },
306
+ { "tag": "td", "text": "28px" },
307
+ { "tag": "td", "text": "28px" }
308
+ ]
309
+ },
310
+ {
311
+ "tag": "tr",
312
+ "children": [
313
+ { "tag": "td", "text": "h4" },
314
+ { "tag": "td", "text": "18px" },
315
+ { "tag": "td", "text": "24px" },
316
+ { "tag": "td", "text": "24px" }
317
+ ]
318
+ }
319
+ ]
320
+ }
321
+ ]
322
+ }
323
+ ]
324
+ }
325
+ ]
326
+ }
327
+ ]
328
+ }
@@ -149,8 +149,8 @@
149
149
  // Desktop (>1080px) - larger headings
150
150
  @media (width > 67.5rem) {
151
151
  h1 {
152
- font-size: calc(var(--unit) * 6); // 48px
153
- line-height: calc(var(--unit) * 7); // 56px
152
+ font-size: calc(var(--ui-unit) * 6); // 48px
153
+ line-height: calc(var(--ui-unit) * 7); // 56px
154
154
  }
155
155
 
156
156
  h2 {
@@ -60,12 +60,12 @@
60
60
  "default": "var(--ui-radius-md)"
61
61
  },
62
62
  {
63
- "name": "--ui-button-text",
63
+ "name": "--ui-button-color",
64
64
  "default": "var(--ui-color-text-inverse)"
65
65
  },
66
66
  {
67
67
  "name": "--ui-button-height-sm",
68
- "default": "calc(var(--row) * 1.5)"
68
+ "default": "calc(var(--ui-row) * 1.5)"
69
69
  },
70
70
  {
71
71
  "name": "--ui-button-font-size-sm",
@@ -81,7 +81,7 @@
81
81
  },
82
82
  {
83
83
  "name": "--ui-button-height-lg",
84
- "default": "calc(var(--row) * 2.5)"
84
+ "default": "calc(var(--ui-row) * 2.5)"
85
85
  },
86
86
  {
87
87
  "name": "--ui-button-padding-x-lg",
@@ -100,7 +100,7 @@
100
100
  "default": "var(--ui-color-border-strong)"
101
101
  },
102
102
  {
103
- "name": "--ui-button-secondary-text",
103
+ "name": "--ui-button-secondary-color",
104
104
  "default": "var(--ui-color-text)"
105
105
  },
106
106
  {
@@ -1,4 +1,7 @@
1
1
  {
2
+ "id": "button",
3
+ "type": "component",
4
+ "title": "Button",
2
5
  "api": "./button.api.json",
3
6
  "description": "Buttons trigger actions. Use primary for main CTA, secondary for less important actions.",
4
7
  "modifiers": {
@@ -27,7 +30,7 @@
27
30
  "description": "Button styles for different purposes and emphasis levels.",
28
31
  "examples": [
29
32
  {
30
- "layout": "cluster",
33
+ "layout": "row",
31
34
  "items": [
32
35
  { "tag": "button", "class": "ui-button", "text": "Primary" },
33
36
  { "tag": "button", "class": "ui-button ui-button--secondary", "text": "Secondary" },
@@ -44,7 +47,7 @@
44
47
  "description": "Small for dense UIs, default for most cases, large for prominent CTAs.",
45
48
  "examples": [
46
49
  {
47
- "layout": "cluster",
50
+ "layout": "row",
48
51
  "items": [
49
52
  { "tag": "button", "class": "ui-button ui-button--sm", "text": "Small" },
50
53
  { "tag": "button", "class": "ui-button ui-button--md", "text": "Medium" },
@@ -58,7 +61,7 @@
58
61
  "description": "Override border radius. Use radius-full for pill-shaped buttons.",
59
62
  "examples": [
60
63
  {
61
- "layout": "cluster",
64
+ "layout": "row",
62
65
  "items": [
63
66
  { "tag": "button", "class": "ui-button ui-button--radius-none", "text": "None" },
64
67
  { "tag": "button", "class": "ui-button ui-button--radius-sm", "text": "Small" },
@@ -85,7 +88,7 @@
85
88
  "description": "Shows spinner animation. Button becomes non-interactive.",
86
89
  "examples": [
87
90
  {
88
- "layout": "cluster",
91
+ "layout": "row",
89
92
  "items": [
90
93
  { "tag": "button", "class": "ui-button ui-button--loading", "text": "Loading" },
91
94
  {
@@ -102,22 +105,52 @@
102
105
  "description": "Square icon-only buttons. Use with SVG icons from Lucide or similar sets.",
103
106
  "examples": [
104
107
  {
105
- "layout": "cluster",
108
+ "layout": "row",
106
109
  "items": [
107
110
  {
108
111
  "tag": "button",
109
112
  "class": "ui-button ui-button--icon ui-button--sm",
110
- "html": "<svg class=\"ui-icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>"
113
+ "children": [
114
+ {
115
+ "tag": "svg",
116
+ "class": "ui-icon",
117
+ "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 24 24" },
118
+ "children": [
119
+ { "tag": "path", "attrs": { "d": "M18 6 6 18" } },
120
+ { "tag": "path", "attrs": { "d": "m6 6 12 12" } }
121
+ ]
122
+ }
123
+ ]
111
124
  },
112
125
  {
113
126
  "tag": "button",
114
127
  "class": "ui-button ui-button--icon",
115
- "html": "<svg class=\"ui-icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14\"/><path d=\"M12 5v14\"/></svg>"
128
+ "children": [
129
+ {
130
+ "tag": "svg",
131
+ "class": "ui-icon",
132
+ "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 24 24" },
133
+ "children": [
134
+ { "tag": "path", "attrs": { "d": "M5 12h14" } },
135
+ { "tag": "path", "attrs": { "d": "M12 5v14" } }
136
+ ]
137
+ }
138
+ ]
116
139
  },
117
140
  {
118
141
  "tag": "button",
119
142
  "class": "ui-button ui-button--icon ui-button--lg",
120
- "html": "<svg class=\"ui-icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.3-4.3\"/></svg>"
143
+ "children": [
144
+ {
145
+ "tag": "svg",
146
+ "class": "ui-icon",
147
+ "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 24 24" },
148
+ "children": [
149
+ { "tag": "circle", "attrs": { "cx": "11", "cy": "11", "r": "8" } },
150
+ { "tag": "path", "attrs": { "d": "m21 21-4.3-4.3" } }
151
+ ]
152
+ }
153
+ ]
121
154
  }
122
155
  ],
123
156
  "code": "<button class=\"ui-button ui-button--icon ui-button--sm\">\n <svg class=\"ui-icon\"><!-- x icon --></svg>\n</button>\n<button class=\"ui-button ui-button--icon\">\n <svg class=\"ui-icon\"><!-- plus icon --></svg>\n</button>\n<button class=\"ui-button ui-button--icon ui-button--lg\">\n <svg class=\"ui-icon\"><!-- search icon --></svg>\n</button>"
@@ -129,17 +162,36 @@
129
162
  "description": "Buttons with icon and text. Use ui-button__icon element with --start or --end modifier.",
130
163
  "examples": [
131
164
  {
132
- "layout": "cluster",
165
+ "layout": "row",
133
166
  "items": [
134
167
  {
135
168
  "tag": "button",
136
169
  "class": "ui-button",
137
- "html": "<svg class=\"ui-icon ui-button__icon ui-button__icon--start\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14\"/><path d=\"M12 5v14\"/></svg> Add Item"
170
+ "children": [
171
+ {
172
+ "tag": "svg",
173
+ "class": "ui-icon ui-button__icon ui-button__icon--start",
174
+ "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 24 24" },
175
+ "children": [
176
+ { "tag": "path", "attrs": { "d": "M5 12h14" } },
177
+ { "tag": "path", "attrs": { "d": "M12 5v14" } }
178
+ ]
179
+ },
180
+ { "text": "Add Item" }
181
+ ]
138
182
  },
139
183
  {
140
184
  "tag": "button",
141
185
  "class": "ui-button ui-button--secondary",
142
- "html": "Next <svg class=\"ui-icon ui-button__icon ui-button__icon--end\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m9 18 6-6-6-6\"/></svg>"
186
+ "children": [
187
+ { "text": "Next" },
188
+ {
189
+ "tag": "svg",
190
+ "class": "ui-icon ui-button__icon ui-button__icon--end",
191
+ "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 24 24" },
192
+ "children": [{ "tag": "path", "attrs": { "d": "m9 18 6-6-6-6" } }]
193
+ }
194
+ ]
143
195
  }
144
196
  ],
145
197
  "code": "<button class=\"ui-button\">\n <svg class=\"ui-icon ui-button__icon ui-button__icon--start\"><!-- plus --></svg>\n Add Item\n</button>\n<button class=\"ui-button ui-button--secondary\">\n Next\n <svg class=\"ui-icon ui-button__icon ui-button__icon--end\"><!-- chevron-right --></svg>\n</button>"
@@ -1,4 +1,4 @@
1
- @use '../../../00-config/tokens/variables' as t;
1
+ @use '../../../config/tokens/variables' as t;
2
2
 
3
3
  // @component button
4
4
  // @element button
@@ -16,13 +16,13 @@
16
16
  --_radius: var(--ui-button-radius, var(--ui-radius-md, #{t.$radius-md}));
17
17
  --_bg: var(--_accent);
18
18
  --_bg-hover: color-mix(in oklch, var(--_accent) 80%, black);
19
- --_text: var(--ui-button-text, var(--ui-color-text-inverse, #{t.$color-text-inverse}));
19
+ --_color: var(--ui-button-color, var(--ui-color-text-inverse, #{t.$color-text-inverse}));
20
20
  }
21
21
 
22
22
  // @modifier size
23
23
  .button--sm {
24
24
  --ui-ctx-size: var(--ui-size-sm, #{t.size(sm)});
25
- --_height: var(--ui-button-height-sm, calc(var(--row, #{t.$row}) * 1.5));
25
+ --_height: var(--ui-button-height-sm, calc(var(--ui-row, #{t.$row}) * 1.5));
26
26
  --_font-size: var(--ui-button-font-size-sm, var(--ui-font-size-xs, #{t.$font-size-xs}));
27
27
  }
28
28
 
@@ -34,7 +34,7 @@
34
34
 
35
35
  .button--lg {
36
36
  --ui-ctx-size: var(--ui-size-lg, #{t.size(lg)});
37
- --_height: var(--ui-button-height-lg, calc(var(--row, #{t.$row}) * 2.5));
37
+ --_height: var(--ui-button-height-lg, calc(var(--ui-row, #{t.$row}) * 2.5));
38
38
  --_padding-x: var(--ui-button-padding-x-lg, var(--ui-space-3, #{t.$space-3}));
39
39
  --_font-size: var(--ui-button-font-size-lg, var(--ui-font-size-md, #{t.$font-size-md}));
40
40
  }
@@ -43,20 +43,20 @@
43
43
  .button--secondary {
44
44
  --_bg: var(--ui-color-bg-muted, #{t.$color-bg-muted});
45
45
  --_bg-hover: var(--ui-color-border-strong, #{t.$color-border-strong});
46
- --_text: var(--ui-color-text, #{t.$color-text});
46
+ --_color: var(--ui-color-text, #{t.$color-text});
47
47
  }
48
48
 
49
49
  .button--ghost {
50
50
  --_bg: transparent;
51
51
  --_bg-hover: color-mix(in oklch, var(--_accent) 10%, transparent);
52
- --_text: var(--_accent);
52
+ --_color: var(--_accent);
53
53
  }
54
54
 
55
55
  .button--outline {
56
56
  --_bg: transparent;
57
57
  --_bg-hover: var(--_accent);
58
- --_text: var(--_accent);
59
- --_text-hover: var(--ui-color-text-inverse, #{t.$color-text-inverse});
58
+ --_color: var(--_accent);
59
+ --_color-hover: var(--ui-color-text-inverse, #{t.$color-text-inverse});
60
60
  --_border: var(--ui-border-width-sm, #{t.$border-width-sm}) solid currentColor;
61
61
  }
62
62
 
@@ -67,8 +67,8 @@
67
67
  .button--link {
68
68
  --_bg: transparent;
69
69
  --_bg-hover: transparent;
70
- --_text: var(--_accent);
71
- --_text-hover: color-mix(in oklch, var(--_accent) 70%, black);
70
+ --_color: var(--_accent);
71
+ --_color-hover: color-mix(in oklch, var(--_accent) 70%, black);
72
72
  --_height: auto;
73
73
  --_padding-x: 0;
74
74
  --_radius: 0;
@@ -123,7 +123,7 @@
123
123
  line-height: 1;
124
124
  text-decoration: none;
125
125
  white-space: nowrap;
126
- color: var(--_text);
126
+ color: var(--_color);
127
127
 
128
128
  background: var(--_bg);
129
129
  border: var(--_border, none);
@@ -139,7 +139,7 @@
139
139
  // States - modifiers mirror pseudo-classes for testing/docs
140
140
  &:hover,
141
141
  &--hover {
142
- color: var(--_text-hover, var(--_text));
142
+ color: var(--_color-hover, var(--_color));
143
143
 
144
144
  background: var(--_bg-hover);
145
145
  }
@@ -156,7 +156,7 @@
156
156
  }
157
157
 
158
158
  &:disabled {
159
- opacity: 0.5;
159
+ opacity: var(--ui-opacity-disabled, 0.5);
160
160
  cursor: not-allowed;
161
161
 
162
162
  &:hover {
@@ -205,7 +205,7 @@
205
205
  &--loading {
206
206
  position: relative;
207
207
 
208
- opacity: 0.7;
208
+ opacity: var(--ui-opacity-loading, 0.7);
209
209
  pointer-events: none;
210
210
 
211
211
  &::after {
@@ -229,4 +229,10 @@
229
229
  transform: rotate(360deg);
230
230
  }
231
231
  }
232
+
233
+ @media (prefers-reduced-motion: reduce) {
234
+ .button--loading::after {
235
+ animation: none;
236
+ }
237
+ }
232
238
  }