@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teseor/css",
3
- "version": "1.14.3",
3
+ "version": "1.15.1",
4
4
  "description": "CSS library - reset, primitives, components, utilities",
5
5
  "license": "MIT",
6
6
  "author": "letanure",
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: Root
3
+ id: root
4
+ description: Base styles applied to the .root class: font family, size, line-height, color, and background
5
+ skipValidation: true
6
+ ---
7
+
8
+ <!-- @usage -->
9
+ <!-- Add the .ui-root class to the html or body element to establish baseline typography and color. -->
10
+ <div class="ui-root">
11
+ <p>Text inherits font-family, size, line-height, and color from .ui-root</p>
12
+ </div>
13
+ .ui-root {
14
+ font-family: var(--ui-font-sans);
15
+ font-size: var(--ui-font-size-md);
16
+ line-height: var(--ui-leading-md);
17
+ color: var(--ui-color-text);
18
+ background: var(--ui-color-bg);
19
+ }
@@ -0,0 +1,159 @@
1
+ ---
2
+ title: Typography
3
+ description: Modular scale (1.2 ratio) with 8px grid-snapped line-heights. Responsive breakpoints at 730px and 1080px adjust heading sizes.
4
+ skipValidation: true
5
+ ---
6
+
7
+ <!-- @type_scale -->
8
+ <!-- Font sizes follow a 1.2 (Minor Third) modular scale from 12px to 40px. All line-heights snap to 8px multiples. -->
9
+ <table class="ui-table">
10
+ <thead>
11
+ <tr>
12
+ <th>Token</th>
13
+ <th>Size</th>
14
+ <th>Line-height</th>
15
+ </tr>
16
+ </thead>
17
+ <tbody>
18
+ <tr>
19
+ <td>
20
+ <code>--ui-font-size-xs</code>
21
+ </td>
22
+ <td>12px</td>
23
+ <td>16px</td>
24
+ </tr>
25
+ <tr>
26
+ <td>
27
+ <code>--ui-font-size-sm</code>
28
+ </td>
29
+ <td>14px</td>
30
+ <td>24px</td>
31
+ </tr>
32
+ <tr>
33
+ <td>
34
+ <code>--ui-font-size-md</code>
35
+ </td>
36
+ <td>16px</td>
37
+ <td>24px</td>
38
+ </tr>
39
+ <tr>
40
+ <td>
41
+ <code>--ui-font-size-lg</code>
42
+ </td>
43
+ <td>20px</td>
44
+ <td>32px</td>
45
+ </tr>
46
+ <tr>
47
+ <td>
48
+ <code>--ui-font-size-xl</code>
49
+ </td>
50
+ <td>24px</td>
51
+ <td>32px</td>
52
+ </tr>
53
+ <tr>
54
+ <td>
55
+ <code>--ui-font-size-2xl</code>
56
+ </td>
57
+ <td>28px</td>
58
+ <td>32px</td>
59
+ </tr>
60
+ <tr>
61
+ <td>
62
+ <code>--ui-font-size-3xl</code>
63
+ </td>
64
+ <td>32px</td>
65
+ <td>40px</td>
66
+ </tr>
67
+ <tr>
68
+ <td>
69
+ <code>--ui-font-size-4xl</code>
70
+ </td>
71
+ <td>40px</td>
72
+ <td>48px</td>
73
+ </tr>
74
+ </tbody>
75
+ </table>
76
+
77
+ <!-- @headings -->
78
+ <!-- Headings use semantic tokens and adjust size at breakpoints. -->
79
+ <h1>Heading 1 - 40px / 48px</h1>
80
+ <h2>Heading 2 - 32px / 40px</h2>
81
+ <h3>Heading 3 - 28px / 32px</h3>
82
+ <h4>Heading 4 - 24px / 32px</h4>
83
+ <h5>Heading 5 - 20px / 24px</h5>
84
+
85
+ <!-- @body_text -->
86
+ <!-- Default body text at 16px with 24px line-height (1.5x ratio). -->
87
+ <p>
88
+ Body text at 16px with 24px line-height. The
89
+ <strong>bold text</strong>
90
+ and
91
+ <code>inline code</code>
92
+ maintain the same rhythm.
93
+ </p>
94
+ <p class="ui-text-body-sm">Body small at 14px with 24px line-height for secondary text.</p>
95
+
96
+ <!-- @text_roles -->
97
+ <!-- Semantic text styles for specific use cases. -->
98
+ <p class="ui-text-lead">Lead paragraph - 20px / 32px. Use for opening paragraphs or article intros.</p>
99
+ <p class="ui-text-eyebrow">Eyebrow text</p>
100
+ <h2>Related Heading</h2>
101
+ <p class="ui-text-caption">Caption text - 12px / 16px. Use for labels, hints, and metadata.</p>
102
+
103
+ <!-- @font_weights -->
104
+ <!-- Four weight levels for hierarchy. -->
105
+ <p class="ui-font-normal">Normal (400) - Body text</p>
106
+ <p class="ui-font-medium">Medium (500) - Labels, small headings</p>
107
+ <p class="ui-font-semibold">Semibold (600) - Subheadings</p>
108
+ <p class="ui-font-bold">Bold (700) - Headlines, emphasis</p>
109
+
110
+ <!-- @letter_spacing -->
111
+ <!-- Three tracking options based on use case. -->
112
+ <p class="ui-text-3xl ui-tracking-display">Display tracking (-0.02em)</p>
113
+ <p>Body tracking (0) - default</p>
114
+ <p class="ui-text-eyebrow">Caps tracking (+0.08em)</p>
115
+
116
+ <!-- @line_length -->
117
+ <!-- Constrain text width for optimal readability (45-75 characters). -->
118
+ <div class="ui-prose">
119
+ <p>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.</p>
120
+ </div>
121
+
122
+ <!-- @responsive_behavior -->
123
+ <!-- Headings scale down on mobile (<730px) and up on desktop (>1080px). -->
124
+ <table class="ui-table">
125
+ <thead>
126
+ <tr>
127
+ <th>Heading</th>
128
+ <th>Mobile</th>
129
+ <th>Default</th>
130
+ <th>Desktop</th>
131
+ </tr>
132
+ </thead>
133
+ <tbody>
134
+ <tr>
135
+ <td>h1</td>
136
+ <td>28px</td>
137
+ <td>40px</td>
138
+ <td>48px</td>
139
+ </tr>
140
+ <tr>
141
+ <td>h2</td>
142
+ <td>24px</td>
143
+ <td>32px</td>
144
+ <td>40px</td>
145
+ </tr>
146
+ <tr>
147
+ <td>h3</td>
148
+ <td>20px</td>
149
+ <td>28px</td>
150
+ <td>28px</td>
151
+ </tr>
152
+ <tr>
153
+ <td>h4</td>
154
+ <td>18px</td>
155
+ <td>24px</td>
156
+ <td>24px</td>
157
+ </tr>
158
+ </tbody>
159
+ </table>
@@ -0,0 +1,73 @@
1
+ ---
2
+ title: Button
3
+ description: Buttons trigger actions. Use primary for main CTA, secondary for less important actions.
4
+ ---
5
+
6
+ <!-- @variants | row -->
7
+ <!-- Button styles for different purposes and emphasis levels. -->
8
+ <button class="ui-button">Primary</button>
9
+ <button class="ui-button ui-button--secondary">Secondary</button>
10
+ <button class="ui-button ui-button--outline">Outline</button>
11
+ <button class="ui-button ui-button--ghost">Ghost</button>
12
+ <button class="ui-button ui-button--danger">Danger</button>
13
+ <button class="ui-button ui-button--link">Link</button>
14
+
15
+ <!-- @sizes | row -->
16
+ <!-- Small for dense UIs, default for most cases, large for prominent CTAs. -->
17
+ <button class="ui-button ui-button--sm">Small</button>
18
+ <button class="ui-button ui-button--md">Medium</button>
19
+ <button class="ui-button ui-button--lg">Large</button>
20
+
21
+ <!-- @radius | row -->
22
+ <!-- Override border radius. Use radius-full for pill-shaped buttons. -->
23
+ <button class="ui-button ui-button--radius-none">None</button>
24
+ <button class="ui-button ui-button--radius-sm">Small</button>
25
+ <button class="ui-button">Default</button>
26
+ <button class="ui-button ui-button--radius-lg">Large</button>
27
+ <button class="ui-button ui-button--radius-full">Full</button>
28
+
29
+ <!-- @block -->
30
+ <!-- Full width button for mobile or form submit. -->
31
+ <button class="ui-button ui-button--block">Block Button</button>
32
+
33
+ <!-- @loading | row -->
34
+ <!-- Shows spinner animation. Button becomes non-interactive. -->
35
+ <button class="ui-button ui-button--loading">Loading</button>
36
+ <button class="ui-button ui-button--secondary ui-button--loading">Loading</button>
37
+
38
+ <!-- @icon_button | row -->
39
+ <!-- Square icon-only buttons. Use with SVG icons from Lucide or similar sets. -->
40
+ <button class="ui-button ui-button--icon ui-button--sm">
41
+ <svg class="ui-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
42
+ <path d="M18 6 6 18"></path>
43
+ <path d="m6 6 12 12"></path>
44
+ </svg>
45
+ </button>
46
+ <button class="ui-button ui-button--icon">
47
+ <svg class="ui-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
48
+ <path d="M5 12h14"></path>
49
+ <path d="M12 5v14"></path>
50
+ </svg>
51
+ </button>
52
+ <button class="ui-button ui-button--icon ui-button--lg">
53
+ <svg class="ui-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
54
+ <circle cx="11" cy="11" r="8"></circle>
55
+ <path d="m21 21-4.3-4.3"></path>
56
+ </svg>
57
+ </button>
58
+
59
+ <!-- @with_icon | row -->
60
+ <!-- Buttons with icon and text. Use ui-button__icon element with --start or --end modifier. -->
61
+ <button class="ui-button">
62
+ <svg class="ui-icon ui-button__icon ui-button__icon--start" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
63
+ <path d="M5 12h14"></path>
64
+ <path d="M12 5v14"></path>
65
+ </svg>
66
+ Add Item
67
+ </button>
68
+ <button class="ui-button ui-button--secondary">
69
+ Next
70
+ <svg class="ui-icon ui-button__icon ui-button__icon--end" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
71
+ <path d="m9 18 6-6-6-6"></path>
72
+ </svg>
73
+ </button>
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
2
2
  import { expect, test } from '@playwright/test';
3
3
  import {
4
4
  saveForLostPixel,
5
- setupVisualTestFromDocs,
5
+ setupVisualTestFromHtmlDocs,
6
6
  validateGridRhythm,
7
7
  } from '../../../../test-utils';
8
8
 
9
- const DOCS_PATH = resolve(__dirname, 'button.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('button visual regression', () => {
12
12
  test('all variations', async ({ page }) => {
13
- await setupVisualTestFromDocs(page, DOCS_PATH);
13
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
14
14
  await validateGridRhythm(page, 'button');
15
15
  await saveForLostPixel(page, 'button');
16
- await expect(page.locator('body')).toHaveScreenshot('button.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: Button Group
3
+ description: Container for grouped buttons that share borders and have connected appearance.
4
+ mergeInto: button
5
+ ---
6
+
7
+ <!-- @default -->
8
+ <div class="ui-button-group" role="group">
9
+ <button class="ui-button ui-button--outline">Left</button>
10
+ <button class="ui-button ui-button--outline">Middle</button>
11
+ <button class="ui-button ui-button--outline">Right</button>
12
+ </div>
13
+
14
+ <!-- @primary_buttons -->
15
+ <div class="ui-button-group" role="group">
16
+ <button class="ui-button">Save</button>
17
+ <button class="ui-button">Save & Close</button>
18
+ </div>
19
+
20
+ <!-- @vertical -->
21
+ <div class="ui-button-group ui-button-group--vertical" role="group">
22
+ <button class="ui-button ui-button--outline">Top</button>
23
+ <button class="ui-button ui-button--outline">Middle</button>
24
+ <button class="ui-button ui-button--outline">Bottom</button>
25
+ </div>
26
+
27
+ <!-- @with_icons -->
28
+ <div class="ui-button-group" role="group" aria-label="Text formatting">
29
+ <button class="ui-button ui-button--outline ui-button--icon" aria-label="Bold">
30
+ <svg class="ui-icon" viewBox="0 0 24 24" fill="currentColor">
31
+ <path d="M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"></path>
32
+ </svg>
33
+ </button>
34
+ <button class="ui-button ui-button--outline ui-button--icon" aria-label="Italic">
35
+ <svg class="ui-icon" viewBox="0 0 24 24" fill="currentColor">
36
+ <path d="M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"></path>
37
+ </svg>
38
+ </button>
39
+ <button class="ui-button ui-button--outline ui-button--icon" aria-label="Underline">
40
+ <svg class="ui-icon" viewBox="0 0 24 24" fill="currentColor">
41
+ <path d="M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z"></path>
42
+ </svg>
43
+ </button>
44
+ </div>
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
2
2
  import { expect, test } from '@playwright/test';
3
3
  import {
4
4
  saveForLostPixel,
5
- setupVisualTestFromDocs,
5
+ setupVisualTestFromHtmlDocs,
6
6
  validateGridRhythm,
7
7
  } from '../../../../test-utils';
8
8
 
9
- const DOCS_PATH = resolve(__dirname, 'button-group.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('button-group visual regression', () => {
12
12
  test('all variations', async ({ page }) => {
13
- await setupVisualTestFromDocs(page, DOCS_PATH);
13
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
14
14
  await validateGridRhythm(page, 'button-group');
15
15
  await saveForLostPixel(page, 'button-group');
16
- await expect(page.locator('body')).toHaveScreenshot('button-group.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,74 @@
1
+ ---
2
+ title: Close Button
3
+ description: Dismiss button for closing modals, alerts, drawers, and other dismissible elements.
4
+ mergeInto: button
5
+ ---
6
+
7
+ <!-- @default -->
8
+ <button class="ui-close-button" type="button" aria-label="Close">
9
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
10
+ <line x1="18" y1="6" x2="6" y2="18"></line>
11
+ <line x1="6" y1="6" x2="18" y2="18"></line>
12
+ </svg>
13
+ </button>
14
+
15
+ <!-- @sizes | row -->
16
+ <button class="ui-close-button ui-close-button--sm" type="button" aria-label="Close">
17
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
18
+ <line x1="18" y1="6" x2="6" y2="18"></line>
19
+ <line x1="6" y1="6" x2="18" y2="18"></line>
20
+ </svg>
21
+ </button>
22
+ <button class="ui-close-button" type="button" aria-label="Close">
23
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
24
+ <line x1="18" y1="6" x2="6" y2="18"></line>
25
+ <line x1="6" y1="6" x2="18" y2="18"></line>
26
+ </svg>
27
+ </button>
28
+ <button class="ui-close-button ui-close-button--lg" type="button" aria-label="Close">
29
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
30
+ <line x1="18" y1="6" x2="6" y2="18"></line>
31
+ <line x1="6" y1="6" x2="18" y2="18"></line>
32
+ </svg>
33
+ </button>
34
+
35
+ <!-- @subtle | row -->
36
+ <!-- Lower visual prominence for secondary dismiss actions. -->
37
+ <button class="ui-close-button ui-close-button--subtle" type="button" aria-label="Close">
38
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
39
+ <line x1="18" y1="6" x2="6" y2="18"></line>
40
+ <line x1="6" y1="6" x2="18" y2="18"></line>
41
+ </svg>
42
+ </button>
43
+ <button class="ui-close-button ui-close-button--subtle ui-close-button--sm" type="button" aria-label="Close">
44
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
45
+ <line x1="18" y1="6" x2="6" y2="18"></line>
46
+ <line x1="6" y1="6" x2="18" y2="18"></line>
47
+ </svg>
48
+ </button>
49
+
50
+ <!-- @states | row -->
51
+ <button class="ui-close-button" type="button" aria-label="Close">
52
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
53
+ <line x1="18" y1="6" x2="6" y2="18"></line>
54
+ <line x1="6" y1="6" x2="18" y2="18"></line>
55
+ </svg>
56
+ </button>
57
+ <button class="ui-close-button ui-close-button--hover" type="button" aria-label="Close">
58
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
59
+ <line x1="18" y1="6" x2="6" y2="18"></line>
60
+ <line x1="6" y1="6" x2="18" y2="18"></line>
61
+ </svg>
62
+ </button>
63
+ <button class="ui-close-button ui-close-button--focus" type="button" aria-label="Close">
64
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
65
+ <line x1="18" y1="6" x2="6" y2="18"></line>
66
+ <line x1="6" y1="6" x2="18" y2="18"></line>
67
+ </svg>
68
+ </button>
69
+ <button class="ui-close-button" type="button" aria-label="Close" disabled>
70
+ <svg class="ui-close-button__icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
71
+ <line x1="18" y1="6" x2="6" y2="18"></line>
72
+ <line x1="6" y1="6" x2="18" y2="18"></line>
73
+ </svg>
74
+ </button>
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
2
2
  import { expect, test } from '@playwright/test';
3
3
  import {
4
4
  saveForLostPixel,
5
- setupVisualTestFromDocs,
5
+ setupVisualTestFromHtmlDocs,
6
6
  validateGridRhythm,
7
7
  } from '../../../../test-utils';
8
8
 
9
- const DOCS_PATH = resolve(__dirname, 'close-button.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('close-button visual regression', () => {
12
12
  test('all variations', async ({ page }) => {
13
- await setupVisualTestFromDocs(page, DOCS_PATH);
13
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
14
14
  await validateGridRhythm(page, 'close-button');
15
15
  await saveForLostPixel(page, 'close-button');
16
- await expect(page.locator('body')).toHaveScreenshot('close-button.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: Divider
3
+ description: Visual separator between content sections. Supports horizontal/vertical orientation and optional text label.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div class="ui-divider" role="separator"></div>
8
+
9
+ <!-- @with_label -->
10
+ <div class="ui-divider" role="separator">OR</div>
11
+
12
+ <!-- @label_alignment -->
13
+ <div class="ui-divider ui-divider--start" role="separator">{{ t('start', 'Start') }}</div>
14
+ <div class="ui-divider" role="separator">{{ t('center', 'Center') }}</div>
15
+ <div class="ui-divider ui-divider--end" role="separator">{{ t('end', 'End') }}</div>
16
+
17
+ <!-- @dashed -->
18
+ <div class="ui-divider ui-divider--dashed" role="separator"></div>
19
+
20
+ <!-- @vertical -->
21
+ <div style="display: flex; height: 64px; align-items: center;">
22
+ <span>{{ t('left', 'Left') }}</span>
23
+ <div class="ui-divider ui-divider--vertical" role="separator"></div>
24
+ <span>{{ t('right', 'Right') }}</span>
25
+ </div>
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
2
2
  import { expect, test } from '@playwright/test';
3
3
  import {
4
4
  saveForLostPixel,
5
- setupVisualTestFromDocs,
5
+ setupVisualTestFromHtmlDocs,
6
6
  validateGridRhythm,
7
7
  } from '../../../../test-utils';
8
8
 
9
- const DOCS_PATH = resolve(__dirname, 'divider.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('divider visual regression', () => {
12
12
  test('all variations', async ({ page }) => {
13
- await setupVisualTestFromDocs(page, DOCS_PATH);
13
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
14
14
  await validateGridRhythm(page, 'divider');
15
15
  await saveForLostPixel(page, 'divider');
16
- await expect(page.locator('body')).toHaveScreenshot('divider.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,127 @@
1
+ ---
2
+ title: Scroll Area
3
+ description: Scrollable container with styled scrollbar. Provides overflow control and custom scrollbar styling.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div class="ui-scroll-area">
8
+ <div class="ui-scroll-area__viewport">
9
+ <p>Line 1 of scrollable content</p>
10
+ <p>Line 2 of scrollable content</p>
11
+ <p>Line 3 of scrollable content</p>
12
+ <p>Line 4 of scrollable content</p>
13
+ <p>Line 5 of scrollable content</p>
14
+ <p>Line 6 of scrollable content</p>
15
+ <p>Line 7 of scrollable content</p>
16
+ <p>Line 8 of scrollable content</p>
17
+ <p>Line 9 of scrollable content</p>
18
+ <p>Line 10 of scrollable content</p>
19
+ <p>Line 11 of scrollable content</p>
20
+ <p>Line 12 of scrollable content</p>
21
+ <p>Line 13 of scrollable content</p>
22
+ <p>Line 14 of scrollable content</p>
23
+ <p>Line 15 of scrollable content</p>
24
+ </div>
25
+ </div>
26
+
27
+ <!-- @sizes | column -->
28
+ <div class="ui-scroll-area ui-scroll-area--sm">
29
+ <div class="ui-scroll-area__viewport">
30
+ <p>Small - Line 1</p>
31
+ <p>Small - Line 2</p>
32
+ <p>Small - Line 3</p>
33
+ <p>Small - Line 4</p>
34
+ <p>Small - Line 5</p>
35
+ <p>Small - Line 6</p>
36
+ <p>Small - Line 7</p>
37
+ <p>Small - Line 8</p>
38
+ </div>
39
+ </div>
40
+ <div class="ui-scroll-area ui-scroll-area--xl">
41
+ <div class="ui-scroll-area__viewport">
42
+ <p>XL - Line 1</p>
43
+ <p>XL - Line 2</p>
44
+ <p>XL - Line 3</p>
45
+ <p>XL - Line 4</p>
46
+ <p>XL - Line 5</p>
47
+ </div>
48
+ </div>
49
+ <div class="ui-scroll-area ui-scroll-area--lg">
50
+ <div class="ui-scroll-area__viewport">
51
+ <p>Large - Line 1</p>
52
+ <p>Large - Line 2</p>
53
+ <p>Large - Line 3</p>
54
+ <p>Large - Line 4</p>
55
+ <p>Large - Line 5</p>
56
+ <p>Large - Line 6</p>
57
+ <p>Large - Line 7</p>
58
+ <p>Large - Line 8</p>
59
+ <p>Large - Line 9</p>
60
+ <p>Large - Line 10</p>
61
+ <p>Large - Line 11</p>
62
+ <p>Large - Line 12</p>
63
+ <p>Large - Line 13</p>
64
+ <p>Large - Line 14</p>
65
+ <p>Large - Line 15</p>
66
+ <p>Large - Line 16</p>
67
+ <p>Large - Line 17</p>
68
+ <p>Large - Line 18</p>
69
+ <p>Large - Line 19</p>
70
+ <p>Large - Line 20</p>
71
+ </div>
72
+ </div>
73
+
74
+ <!-- @direction | column -->
75
+ <div class="ui-scroll-area ui-scroll-area--horizontal">
76
+ <div class="ui-scroll-area__viewport">
77
+ <p style="white-space: nowrap">This content scrolls horizontally when it overflows the container width. Resize the window to test.</p>
78
+ </div>
79
+ </div>
80
+ <div class="ui-scroll-area ui-scroll-area--both ui-scroll-area--sm">
81
+ <div class="ui-scroll-area__viewport">
82
+ <p style="white-space: nowrap">Both directions - Line 1 with long content that overflows horizontally</p>
83
+ <p>Line 2</p>
84
+ <p>Line 3</p>
85
+ <p>Line 4</p>
86
+ <p>Line 5</p>
87
+ <p>Line 6</p>
88
+ <p>Line 7</p>
89
+ <p>Line 8</p>
90
+ </div>
91
+ </div>
92
+
93
+ <!-- @thin_scrollbar -->
94
+ <div class="ui-scroll-area ui-scroll-area--thin">
95
+ <div class="ui-scroll-area__viewport">
96
+ <p>Thin scrollbar - Line 1</p>
97
+ <p>Thin scrollbar - Line 2</p>
98
+ <p>Thin scrollbar - Line 3</p>
99
+ <p>Thin scrollbar - Line 4</p>
100
+ <p>Thin scrollbar - Line 5</p>
101
+ <p>Thin scrollbar - Line 6</p>
102
+ <p>Thin scrollbar - Line 7</p>
103
+ <p>Thin scrollbar - Line 8</p>
104
+ <p>Thin scrollbar - Line 9</p>
105
+ <p>Thin scrollbar - Line 10</p>
106
+ <p>Thin scrollbar - Line 11</p>
107
+ <p>Thin scrollbar - Line 12</p>
108
+ </div>
109
+ </div>
110
+
111
+ <!-- @auto_hide -->
112
+ <div class="ui-scroll-area ui-scroll-area--auto-hide">
113
+ <div class="ui-scroll-area__viewport">
114
+ <p>Scrollbar hidden until hover - Line 1</p>
115
+ <p>Scrollbar hidden until hover - Line 2</p>
116
+ <p>Scrollbar hidden until hover - Line 3</p>
117
+ <p>Scrollbar hidden until hover - Line 4</p>
118
+ <p>Scrollbar hidden until hover - Line 5</p>
119
+ <p>Scrollbar hidden until hover - Line 6</p>
120
+ <p>Scrollbar hidden until hover - Line 7</p>
121
+ <p>Scrollbar hidden until hover - Line 8</p>
122
+ <p>Scrollbar hidden until hover - Line 9</p>
123
+ <p>Scrollbar hidden until hover - Line 10</p>
124
+ <p>Scrollbar hidden until hover - Line 11</p>
125
+ <p>Scrollbar hidden until hover - Line 12</p>
126
+ </div>
127
+ </div>
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
2
2
  import { expect, test } from '@playwright/test';
3
3
  import {
4
4
  saveForLostPixel,
5
- setupVisualTestFromDocs,
5
+ setupVisualTestFromHtmlDocs,
6
6
  validateGridRhythm,
7
7
  } from '../../../../test-utils';
8
8
 
9
- const DOCS_PATH = resolve(__dirname, 'scroll-area.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('scroll-area visual regression', () => {
12
12
  test('all variations', async ({ page }) => {
13
- await setupVisualTestFromDocs(page, DOCS_PATH);
13
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
14
14
  await validateGridRhythm(page, 'scroll-area');
15
15
  await saveForLostPixel(page, 'scroll-area');
16
- await expect(page.locator('body')).toHaveScreenshot('scroll-area-visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });