@teseor/css 1.14.3 → 1.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/package.json +1 -1
  2. package/src/base/docs.html +19 -0
  3. package/src/base/typography/docs.html +159 -0
  4. package/src/components/actions/button/docs.html +73 -0
  5. package/src/components/actions/button/{button.visual.spec.ts → visual.spec.ts} +4 -4
  6. package/src/components/actions/button-group/docs.html +44 -0
  7. package/src/components/actions/button-group/{button-group.visual.spec.ts → visual.spec.ts} +4 -4
  8. package/src/components/actions/close-button/docs.html +74 -0
  9. package/src/components/actions/close-button/{close-button.visual.spec.ts → visual.spec.ts} +4 -4
  10. package/src/components/content/divider/docs.html +25 -0
  11. package/src/components/content/divider/{divider.visual.spec.ts → visual.spec.ts} +4 -4
  12. package/src/components/content/scroll-area/docs.html +127 -0
  13. package/src/components/content/scroll-area/visual.png +0 -0
  14. package/src/components/content/scroll-area/{scroll-area.visual.spec.ts → visual.spec.ts} +4 -4
  15. package/src/components/content/spacer/docs.html +20 -0
  16. package/src/components/content/spacer/{spacer.visual.spec.ts → visual.spec.ts} +4 -4
  17. package/src/components/data-display/avatar/docs.html +64 -0
  18. package/src/components/data-display/avatar/{avatar.visual.spec.ts → visual.spec.ts} +4 -4
  19. package/src/components/data-display/badge/docs.html +37 -0
  20. package/src/components/data-display/badge/{badge.visual.spec.ts → visual.spec.ts} +4 -4
  21. package/src/components/data-display/card/docs.html +33 -0
  22. package/src/components/data-display/card/visual.png +0 -0
  23. package/src/components/data-display/card/{card.visual.spec.ts → visual.spec.ts} +4 -4
  24. package/src/components/data-display/data-list/docs.html +94 -0
  25. package/src/components/data-display/data-list/{data-list-visual.png → visual.png} +0 -0
  26. package/src/components/data-display/data-list/{data-list.visual.spec.ts → visual.spec.ts} +4 -4
  27. package/src/components/data-display/icon/docs.html +69 -0
  28. package/src/components/data-display/icon/{icon.visual.spec.ts → visual.spec.ts} +4 -4
  29. package/src/components/data-display/image/docs.html +64 -0
  30. package/src/components/data-display/image/visual.png +0 -0
  31. package/src/components/data-display/image/{image.visual.spec.ts → visual.spec.ts} +4 -4
  32. package/src/components/data-display/stat/docs.html +32 -0
  33. package/src/components/data-display/stat/{stat.visual.spec.ts → visual.spec.ts} +4 -4
  34. package/src/components/data-display/status/docs.html +64 -0
  35. package/src/components/data-display/status/{status.visual.spec.ts → visual.spec.ts} +4 -4
  36. package/src/components/data-display/table/docs.html +70 -0
  37. package/src/components/data-display/table/{table.visual.spec.ts → visual.spec.ts} +4 -4
  38. package/src/components/data-display/tag/docs.html +39 -0
  39. package/src/components/data-display/tag/{tag.visual.spec.ts → visual.spec.ts} +4 -4
  40. package/src/components/disclosure/accordion/docs.html +80 -0
  41. package/src/components/disclosure/accordion/{accordion.visual.spec.ts → visual.spec.ts} +4 -4
  42. package/src/components/disclosure/disclosure/docs.html +48 -0
  43. package/src/components/disclosure/disclosure/{disclosure.visual.spec.ts → visual.spec.ts} +4 -4
  44. package/src/components/feedback/alert/docs.html +87 -0
  45. package/src/components/feedback/alert/{alert.visual.spec.ts → visual.spec.ts} +4 -4
  46. package/src/components/feedback/progress/docs.html +62 -0
  47. package/src/components/feedback/progress/{progress.visual.spec.ts → visual.spec.ts} +4 -4
  48. package/src/components/feedback/progress-circle/docs.html +62 -0
  49. package/src/components/feedback/progress-circle/{progress-circle.visual.spec.ts → visual.spec.ts} +4 -4
  50. package/src/components/feedback/skeleton/docs.html +37 -0
  51. package/src/components/feedback/skeleton/{skeleton.visual.spec.ts → visual.spec.ts} +4 -4
  52. package/src/components/feedback/spinner/docs.html +26 -0
  53. package/src/components/feedback/spinner/{spinner.visual.spec.ts → visual.spec.ts} +4 -4
  54. package/src/components/feedback/toast/docs.html +106 -0
  55. package/src/components/feedback/toast/visual.png +0 -0
  56. package/src/components/feedback/toast/{toast.visual.spec.ts → visual.spec.ts} +4 -4
  57. package/src/components/forms/checkbox/docs.html +30 -0
  58. package/src/components/forms/checkbox/{checkbox.visual.spec.ts → visual.spec.ts} +4 -4
  59. package/src/components/forms/checkbox-group/docs.html +101 -0
  60. package/src/components/forms/checkbox-group/{checkbox-group.visual.spec.ts → visual.spec.ts} +4 -4
  61. package/src/components/forms/field/docs.html +60 -0
  62. package/src/components/forms/field/{field.visual.spec.ts → visual.spec.ts} +4 -4
  63. package/src/components/forms/fieldset/docs.html +119 -0
  64. package/src/components/forms/fieldset/{fieldset.visual.spec.ts → visual.spec.ts} +4 -4
  65. package/src/components/forms/form/docs.html +129 -0
  66. package/src/components/forms/form/{form.visual.spec.ts → visual.spec.ts} +4 -4
  67. package/src/components/forms/form-error/docs.html +15 -0
  68. package/src/components/forms/form-error/{form-error.visual.spec.ts → visual.spec.ts} +4 -4
  69. package/src/components/forms/form-helper/docs.html +39 -0
  70. package/src/components/forms/form-helper/{form-helper.visual.spec.ts → visual.spec.ts} +4 -4
  71. package/src/components/forms/input/docs.html +66 -0
  72. package/src/components/forms/input/visual.png +0 -0
  73. package/src/components/forms/input/{input.visual.spec.ts → visual.spec.ts} +4 -4
  74. package/src/components/forms/label/docs.html +26 -0
  75. package/src/components/forms/label/visual.png +0 -0
  76. package/src/components/forms/label/{label.visual.spec.ts → visual.spec.ts} +4 -4
  77. package/src/components/forms/number-input/docs.html +97 -0
  78. package/src/components/forms/number-input/visual.png +0 -0
  79. package/src/components/forms/number-input/{number-input.visual.spec.ts → visual.spec.ts} +4 -4
  80. package/src/components/forms/password-input/docs.html +85 -0
  81. package/src/components/forms/password-input/visual.png +0 -0
  82. package/src/components/forms/password-input/{password-input.visual.spec.ts → visual.spec.ts} +4 -4
  83. package/src/components/forms/radio/docs.html +49 -0
  84. package/src/components/forms/radio/{radio.visual.spec.ts → visual.spec.ts} +4 -4
  85. package/src/components/forms/radio-group/docs.html +97 -0
  86. package/src/components/forms/radio-group/{radio-group.visual.spec.ts → visual.spec.ts} +4 -4
  87. package/src/components/forms/search-input/docs.html +84 -0
  88. package/src/components/forms/search-input/visual.png +0 -0
  89. package/src/components/forms/search-input/{search-input.visual.spec.ts → visual.spec.ts} +4 -4
  90. package/src/components/forms/select/docs.html +67 -0
  91. package/src/components/forms/select/visual.png +0 -0
  92. package/src/components/forms/select/{select.visual.spec.ts → visual.spec.ts} +4 -4
  93. package/src/components/forms/slider/docs.html +22 -0
  94. package/src/components/forms/slider/visual.png +0 -0
  95. package/src/components/forms/slider/{slider.visual.spec.ts → visual.spec.ts} +4 -4
  96. package/src/components/forms/textarea/docs.html +36 -0
  97. package/src/components/forms/textarea/visual.png +0 -0
  98. package/src/components/forms/textarea/{textarea.visual.spec.ts → visual.spec.ts} +4 -4
  99. package/src/components/forms/toggle/docs.html +61 -0
  100. package/src/components/forms/toggle/{toggle.visual.spec.ts → visual.spec.ts} +4 -4
  101. package/src/components/navigation/breadcrumb/docs.html +57 -0
  102. package/src/components/navigation/breadcrumb/{breadcrumb.visual.spec.ts → visual.spec.ts} +4 -4
  103. package/src/components/navigation/dropdown-menu/docs.html +103 -0
  104. package/src/components/navigation/dropdown-menu/visual.png +0 -0
  105. package/src/components/navigation/dropdown-menu/{dropdown-menu.visual.spec.ts → visual.spec.ts} +4 -4
  106. package/src/components/navigation/menu/docs.html +119 -0
  107. package/src/components/navigation/menu/{menu.visual.spec.ts → visual.spec.ts} +4 -4
  108. package/src/components/navigation/nav/docs.html +71 -0
  109. package/src/components/navigation/nav/{nav.visual.spec.ts → visual.spec.ts} +4 -4
  110. package/src/components/navigation/pagination/docs.html +113 -0
  111. package/src/components/navigation/pagination/visual.png +0 -0
  112. package/src/components/navigation/pagination/{pagination.visual.spec.ts → visual.spec.ts} +4 -4
  113. package/src/components/navigation/tabs/docs.html +63 -0
  114. package/src/components/navigation/tabs/{tabs.visual.spec.ts → visual.spec.ts} +4 -4
  115. package/src/components/overlays/dialog/docs.html +58 -0
  116. package/src/components/overlays/dialog/{dialog.visual.spec.ts → visual.spec.ts} +4 -4
  117. package/src/components/overlays/drawer/docs.html +87 -0
  118. package/src/components/overlays/drawer/visual.png +0 -0
  119. package/src/components/overlays/drawer/{drawer.visual.spec.ts → visual.spec.ts} +4 -4
  120. package/src/components/overlays/modal/docs.html +66 -0
  121. package/src/components/overlays/modal/{modal.visual.spec.ts → visual.spec.ts} +4 -4
  122. package/src/components/overlays/overlay/docs.html +27 -0
  123. package/src/components/overlays/overlay/{overlay.visual.spec.ts → visual.spec.ts} +4 -4
  124. package/src/components/overlays/popover/docs.html +38 -0
  125. package/src/components/overlays/popover/{popover.visual.spec.ts → visual.spec.ts} +4 -4
  126. package/src/components/overlays/tooltip/docs.html +30 -0
  127. package/src/components/overlays/tooltip/{tooltip.visual.spec.ts → visual.spec.ts} +4 -4
  128. package/src/components/typography/blockquote/docs.html +21 -0
  129. package/src/components/typography/blockquote/{blockquote.visual.spec.ts → visual.spec.ts} +4 -4
  130. package/src/components/typography/code/docs.html +20 -0
  131. package/src/components/typography/code/visual.png +0 -0
  132. package/src/components/typography/code/{code.visual.spec.ts → visual.spec.ts} +4 -4
  133. package/src/components/typography/code-block/docs.html +84 -0
  134. package/src/components/typography/code-block/visual.png +0 -0
  135. package/src/components/typography/code-block/{code-block.visual.spec.ts → visual.spec.ts} +4 -4
  136. package/src/components/typography/heading/docs.html +23 -0
  137. package/src/components/typography/heading/visual.png +0 -0
  138. package/src/components/typography/heading/{heading.visual.spec.ts → visual.spec.ts} +4 -4
  139. package/src/components/typography/kbd/docs.html +14 -0
  140. package/src/components/typography/kbd/{kbd.visual.spec.ts → visual.spec.ts} +4 -4
  141. package/src/components/typography/link/docs.html +30 -0
  142. package/src/components/typography/link/{link.visual.spec.ts → visual.spec.ts} +4 -4
  143. package/src/components/typography/list/docs.html +76 -0
  144. package/src/components/typography/list/{list.visual.spec.ts → visual.spec.ts} +4 -4
  145. package/src/components/typography/mark/docs.html +10 -0
  146. package/src/components/typography/mark/{mark.visual.spec.ts → visual.spec.ts} +4 -4
  147. package/src/config/guides/accessibility.docs.html +106 -0
  148. package/src/config/guides/getting-started.docs.html +45 -0
  149. package/src/config/guides/theming.docs.html +69 -0
  150. package/src/config/tokens/colors/docs.html +73 -0
  151. package/src/config/tokens/docs.html +115 -0
  152. package/src/config/tokens/grid/docs.html +10 -0
  153. package/src/config/tokens/spacing/docs.html +31 -0
  154. package/src/debug/docs.html +27 -0
  155. package/src/layout/app-shell/docs.html +100 -0
  156. package/src/layout/app-shell/visual.png +0 -0
  157. package/src/layout/app-shell/visual.spec.ts +13 -0
  158. package/src/layout/aspect-ratio/docs.html +38 -0
  159. package/src/layout/aspect-ratio/{aspect-ratio.visual.spec.ts → visual.spec.ts} +4 -4
  160. package/src/layout/box/docs.html +24 -0
  161. package/src/layout/box/visual.png +0 -0
  162. package/src/layout/box/visual.spec.ts +13 -0
  163. package/src/layout/center/docs.html +23 -0
  164. package/src/layout/center/visual.spec.ts +13 -0
  165. package/src/layout/column/docs.html +29 -0
  166. package/src/layout/column/visual.spec.ts +13 -0
  167. package/src/layout/container/docs.html +34 -0
  168. package/src/layout/content/docs.html +35 -0
  169. package/src/layout/content/{content-visual.png → visual.png} +0 -0
  170. package/src/layout/content/visual.spec.ts +18 -0
  171. package/src/layout/footer/docs.html +70 -0
  172. package/src/layout/footer/visual.png +0 -0
  173. package/src/layout/footer/visual.spec.ts +18 -0
  174. package/src/layout/grid/docs.html +85 -0
  175. package/src/layout/grid/visual.spec.ts +13 -0
  176. package/src/layout/main/docs.html +28 -0
  177. package/src/layout/nav-rail/docs.html +39 -0
  178. package/src/layout/nav-rail/visual.png +0 -0
  179. package/src/layout/nav-rail/visual.spec.ts +18 -0
  180. package/src/layout/page-header/docs.html +49 -0
  181. package/src/layout/page-header/{page-header.visual.spec.ts → visual.spec.ts} +8 -4
  182. package/src/layout/row/docs.html +44 -0
  183. package/src/layout/row/{row.visual.spec.ts → visual.spec.ts} +4 -4
  184. package/src/layout/sidebar/docs.html +27 -0
  185. package/src/layout/sidebar/visual.png +0 -0
  186. package/src/layout/sidebar/visual.spec.ts +18 -0
  187. package/src/layout/sidebar-nav/docs.html +232 -0
  188. package/src/layout/sidebar-nav/{sidebar-nav.visual.spec.ts → visual.spec.ts} +7 -3
  189. package/src/layout/topbar/docs.html +61 -0
  190. package/src/layout/topbar/visual.png +0 -0
  191. package/src/layout/topbar/visual.spec.ts +18 -0
  192. package/src/utilities/container/docs.html +31 -0
  193. package/src/utilities/display/docs.html +27 -0
  194. package/src/utilities/scroll-animation/docs.html +29 -0
  195. package/src/utilities/scroll-snap/docs.html +77 -0
  196. package/src/utilities/spacing/docs.html +26 -0
  197. package/src/utilities/text/docs.html +63 -0
  198. package/src/utilities/view-transition/docs.html +49 -0
  199. package/src/utilities/visually-hidden/docs.html +16 -0
  200. package/src/base/root.docs.json +0 -35
  201. package/src/base/typography/typography.docs.json +0 -328
  202. package/src/components/actions/button/button.docs.json +0 -264
  203. package/src/components/actions/button-group/button-group.docs.json +0 -151
  204. package/src/components/actions/close-button/close-button.docs.json +0 -265
  205. package/src/components/content/divider/divider.docs.json +0 -113
  206. package/src/components/content/scroll-area/scroll-area-visual.png +0 -0
  207. package/src/components/content/scroll-area/scroll-area.docs.json +0 -273
  208. package/src/components/content/spacer/spacer.docs.json +0 -102
  209. package/src/components/data-display/avatar/avatar.docs.json +0 -245
  210. package/src/components/data-display/badge/badge.docs.json +0 -114
  211. package/src/components/data-display/card/card-visual.png +0 -0
  212. package/src/components/data-display/card/card.docs.json +0 -229
  213. package/src/components/data-display/data-list/data-list.docs.json +0 -259
  214. package/src/components/data-display/icon/icon.docs.json +0 -307
  215. package/src/components/data-display/image/image-visual.png +0 -0
  216. package/src/components/data-display/image/image.docs.json +0 -337
  217. package/src/components/data-display/stat/stat.docs.json +0 -114
  218. package/src/components/data-display/status/status.docs.json +0 -147
  219. package/src/components/data-display/table/table.docs.json +0 -184
  220. package/src/components/data-display/tag/tag.docs.json +0 -146
  221. package/src/components/disclosure/accordion/accordion.docs.json +0 -206
  222. package/src/components/disclosure/disclosure/disclosure.docs.json +0 -154
  223. package/src/components/feedback/alert/alert.docs.json +0 -325
  224. package/src/components/feedback/progress/progress.docs.json +0 -315
  225. package/src/components/feedback/progress-circle/progress-circle.docs.json +0 -378
  226. package/src/components/feedback/skeleton/skeleton.docs.json +0 -142
  227. package/src/components/feedback/spinner/spinner.docs.json +0 -121
  228. package/src/components/feedback/toast/toast-visual.png +0 -0
  229. package/src/components/feedback/toast/toast.docs.json +0 -418
  230. package/src/components/forms/checkbox/checkbox.docs.json +0 -166
  231. package/src/components/forms/checkbox-group/checkbox-group.docs.json +0 -339
  232. package/src/components/forms/field/field.docs.json +0 -276
  233. package/src/components/forms/fieldset/fieldset.docs.json +0 -520
  234. package/src/components/forms/form/form.docs.json +0 -482
  235. package/src/components/forms/form-error/form-error.docs.json +0 -61
  236. package/src/components/forms/form-helper/form-helper.docs.json +0 -151
  237. package/src/components/forms/input/input-visual.png +0 -0
  238. package/src/components/forms/input/input.docs.json +0 -306
  239. package/src/components/forms/label/label-visual.png +0 -0
  240. package/src/components/forms/label/label.docs.json +0 -110
  241. package/src/components/forms/number-input/number-input-visual.png +0 -0
  242. package/src/components/forms/number-input/number-input.docs.json +0 -311
  243. package/src/components/forms/password-input/password-input-visual.png +0 -0
  244. package/src/components/forms/password-input/password-input.docs.json +0 -316
  245. package/src/components/forms/radio/radio.docs.json +0 -236
  246. package/src/components/forms/radio-group/radio-group.docs.json +0 -351
  247. package/src/components/forms/search-input/search-input-visual.png +0 -0
  248. package/src/components/forms/search-input/search-input.docs.json +0 -293
  249. package/src/components/forms/select/select-visual.png +0 -0
  250. package/src/components/forms/select/select.docs.json +0 -231
  251. package/src/components/forms/slider/slider-visual.png +0 -0
  252. package/src/components/forms/slider/slider.docs.json +0 -144
  253. package/src/components/forms/textarea/textarea-visual.png +0 -0
  254. package/src/components/forms/textarea/textarea.docs.json +0 -229
  255. package/src/components/forms/toggle/toggle.docs.json +0 -229
  256. package/src/components/navigation/breadcrumb/breadcrumb.docs.json +0 -240
  257. package/src/components/navigation/dropdown-menu/dropdown-menu-visual.png +0 -0
  258. package/src/components/navigation/dropdown-menu/dropdown-menu.docs.json +0 -290
  259. package/src/components/navigation/menu/menu.docs.json +0 -326
  260. package/src/components/navigation/nav/nav.docs.json +0 -304
  261. package/src/components/navigation/pagination/pagination-visual.png +0 -0
  262. package/src/components/navigation/pagination/pagination.docs.json +0 -483
  263. package/src/components/navigation/tabs/tabs.docs.json +0 -243
  264. package/src/components/overlays/dialog/dialog.docs.json +0 -200
  265. package/src/components/overlays/drawer/drawer-visual.png +0 -0
  266. package/src/components/overlays/drawer/drawer.docs.json +0 -307
  267. package/src/components/overlays/modal/modal.docs.json +0 -252
  268. package/src/components/overlays/overlay/overlay.docs.json +0 -138
  269. package/src/components/overlays/popover/popover.docs.json +0 -154
  270. package/src/components/overlays/tooltip/tooltip.docs.json +0 -133
  271. package/src/components/typography/blockquote/blockquote.docs.json +0 -89
  272. package/src/components/typography/code/code-visual.png +0 -0
  273. package/src/components/typography/code/code.docs.json +0 -104
  274. package/src/components/typography/code-block/code-block-visual.png +0 -0
  275. package/src/components/typography/code-block/code-block.docs.json +0 -308
  276. package/src/components/typography/heading/heading-visual.png +0 -0
  277. package/src/components/typography/heading/heading.docs.json +0 -120
  278. package/src/components/typography/kbd/kbd.docs.json +0 -61
  279. package/src/components/typography/link/link.docs.json +0 -149
  280. package/src/components/typography/list/list.docs.json +0 -296
  281. package/src/components/typography/mark/mark.docs.json +0 -60
  282. package/src/config/guides/accessibility.docs.json +0 -126
  283. package/src/config/guides/getting-started.docs.json +0 -106
  284. package/src/config/guides/theming.docs.json +0 -289
  285. package/src/config/tokens/colors/colors.docs.json +0 -316
  286. package/src/config/tokens/design-tokens.docs.json +0 -239
  287. package/src/config/tokens/grid/grid.docs.json +0 -54
  288. package/src/config/tokens/spacing/spacing.docs.json +0 -114
  289. package/src/debug/debug.docs.json +0 -96
  290. package/src/layout/app-shell/app-shell-visual.png +0 -0
  291. package/src/layout/app-shell/app-shell.docs.json +0 -155
  292. package/src/layout/app-shell/app-shell.visual.spec.ts +0 -13
  293. package/src/layout/aspect-ratio/aspect-ratio.docs.json +0 -193
  294. package/src/layout/box/box-visual.png +0 -0
  295. package/src/layout/box/box.docs.json +0 -93
  296. package/src/layout/box/box.visual.spec.ts +0 -13
  297. package/src/layout/center/center.docs.json +0 -63
  298. package/src/layout/center/center.visual.spec.ts +0 -13
  299. package/src/layout/column/column.docs.json +0 -157
  300. package/src/layout/column/column.visual.spec.ts +0 -13
  301. package/src/layout/container/container.docs.json +0 -85
  302. package/src/layout/content/content.docs.json +0 -82
  303. package/src/layout/content/content.visual.spec.ts +0 -14
  304. package/src/layout/footer/footer-visual.png +0 -0
  305. package/src/layout/footer/footer.docs.json +0 -119
  306. package/src/layout/footer/footer.visual.spec.ts +0 -14
  307. package/src/layout/grid/grid.docs.json +0 -493
  308. package/src/layout/grid/grid.visual.spec.ts +0 -13
  309. package/src/layout/main/main.docs.json +0 -87
  310. package/src/layout/nav-rail/nav-rail-visual.png +0 -0
  311. package/src/layout/nav-rail/nav-rail.docs.json +0 -76
  312. package/src/layout/nav-rail/nav-rail.visual.spec.ts +0 -14
  313. package/src/layout/page-header/page-header.docs.json +0 -124
  314. package/src/layout/row/row.docs.json +0 -237
  315. package/src/layout/sidebar/sidebar-visual.png +0 -0
  316. package/src/layout/sidebar/sidebar.docs.json +0 -63
  317. package/src/layout/sidebar/sidebar.visual.spec.ts +0 -14
  318. package/src/layout/sidebar-nav/sidebar-nav.docs.json +0 -833
  319. package/src/layout/topbar/topbar-visual.png +0 -0
  320. package/src/layout/topbar/topbar.docs.json +0 -110
  321. package/src/layout/topbar/topbar.visual.spec.ts +0 -14
  322. package/src/utilities/container/container.docs.json +0 -121
  323. package/src/utilities/display/display.docs.json +0 -83
  324. package/src/utilities/scroll-animation/scroll-animation.docs.json +0 -100
  325. package/src/utilities/scroll-snap/scroll-snap.docs.json +0 -333
  326. package/src/utilities/spacing/spacing.docs.json +0 -133
  327. package/src/utilities/text/text.docs.json +0 -191
  328. package/src/utilities/view-transition/view-transition.docs.json +0 -63
  329. package/src/utilities/visually-hidden/visually-hidden.docs.json +0 -44
  330. /package/src/components/actions/button/{button.api.json → api.json} +0 -0
  331. /package/src/components/actions/button/{button-visual.png → visual.png} +0 -0
  332. /package/src/components/actions/button-group/{button-group.api.json → api.json} +0 -0
  333. /package/src/components/actions/button-group/{button-group-visual.png → visual.png} +0 -0
  334. /package/src/components/actions/close-button/{close-button.api.json → api.json} +0 -0
  335. /package/src/components/actions/close-button/{close-button-visual.png → visual.png} +0 -0
  336. /package/src/components/content/divider/{divider.api.json → api.json} +0 -0
  337. /package/src/components/content/divider/{divider-visual.png → visual.png} +0 -0
  338. /package/src/components/content/scroll-area/{scroll-area.api.json → api.json} +0 -0
  339. /package/src/components/content/spacer/{spacer.api.json → api.json} +0 -0
  340. /package/src/components/content/spacer/{spacer-visual.png → visual.png} +0 -0
  341. /package/src/components/data-display/avatar/{avatar.api.json → api.json} +0 -0
  342. /package/src/components/data-display/avatar/{avatar-visual.png → visual.png} +0 -0
  343. /package/src/components/data-display/badge/{badge.api.json → api.json} +0 -0
  344. /package/src/components/data-display/badge/{badge-visual.png → visual.png} +0 -0
  345. /package/src/components/data-display/card/{card.api.json → api.json} +0 -0
  346. /package/src/components/data-display/data-list/{data-list.api.json → api.json} +0 -0
  347. /package/src/components/data-display/icon/{icon.api.json → api.json} +0 -0
  348. /package/src/components/data-display/icon/{icon-visual.png → visual.png} +0 -0
  349. /package/src/components/data-display/image/{image.api.json → api.json} +0 -0
  350. /package/src/components/data-display/stat/{stat.api.json → api.json} +0 -0
  351. /package/src/components/data-display/stat/{stat-visual.png → visual.png} +0 -0
  352. /package/src/components/data-display/status/{status.api.json → api.json} +0 -0
  353. /package/src/components/data-display/status/{status-visual.png → visual.png} +0 -0
  354. /package/src/components/data-display/table/{table.api.json → api.json} +0 -0
  355. /package/src/components/data-display/table/{table-visual.png → visual.png} +0 -0
  356. /package/src/components/data-display/tag/{tag.api.json → api.json} +0 -0
  357. /package/src/components/data-display/tag/{tag-visual.png → visual.png} +0 -0
  358. /package/src/components/disclosure/accordion/{accordion.api.json → api.json} +0 -0
  359. /package/src/components/disclosure/accordion/{accordion-visual.png → visual.png} +0 -0
  360. /package/src/components/disclosure/disclosure/{disclosure.api.json → api.json} +0 -0
  361. /package/src/components/disclosure/disclosure/{disclosure-visual.png → visual.png} +0 -0
  362. /package/src/components/feedback/alert/{alert.api.json → api.json} +0 -0
  363. /package/src/components/feedback/alert/{alert-visual.png → visual.png} +0 -0
  364. /package/src/components/feedback/progress/{progress.api.json → api.json} +0 -0
  365. /package/src/components/feedback/progress/{progress-visual.png → visual.png} +0 -0
  366. /package/src/components/feedback/progress-circle/{progress-circle.api.json → api.json} +0 -0
  367. /package/src/components/feedback/progress-circle/{progress-circle-visual.png → visual.png} +0 -0
  368. /package/src/components/feedback/skeleton/{skeleton.api.json → api.json} +0 -0
  369. /package/src/components/feedback/skeleton/{skeleton-visual.png → visual.png} +0 -0
  370. /package/src/components/feedback/spinner/{spinner.api.json → api.json} +0 -0
  371. /package/src/components/feedback/spinner/{spinner-visual.png → visual.png} +0 -0
  372. /package/src/components/feedback/toast/{toast.api.json → api.json} +0 -0
  373. /package/src/components/forms/checkbox/{checkbox.api.json → api.json} +0 -0
  374. /package/src/components/forms/checkbox/{checkbox-visual.png → visual.png} +0 -0
  375. /package/src/components/forms/checkbox-group/{checkbox-group.api.json → api.json} +0 -0
  376. /package/src/components/forms/checkbox-group/{checkbox-group-visual.png → visual.png} +0 -0
  377. /package/src/components/forms/field/{field.api.json → api.json} +0 -0
  378. /package/src/components/forms/field/{field-visual.png → visual.png} +0 -0
  379. /package/src/components/forms/fieldset/{fieldset.api.json → api.json} +0 -0
  380. /package/src/components/forms/fieldset/{fieldset-visual.png → visual.png} +0 -0
  381. /package/src/components/forms/form/{form.api.json → api.json} +0 -0
  382. /package/src/components/forms/form/{form-visual.png → visual.png} +0 -0
  383. /package/src/components/forms/form-error/{form-error.api.json → api.json} +0 -0
  384. /package/src/components/forms/form-error/{form-error-visual.png → visual.png} +0 -0
  385. /package/src/components/forms/form-helper/{form-helper.api.json → api.json} +0 -0
  386. /package/src/components/forms/form-helper/{form-helper-visual.png → visual.png} +0 -0
  387. /package/src/components/forms/input/{input.api.json → api.json} +0 -0
  388. /package/src/components/forms/label/{label.api.json → api.json} +0 -0
  389. /package/src/components/forms/number-input/{number-input.api.json → api.json} +0 -0
  390. /package/src/components/forms/password-input/{password-input.api.json → api.json} +0 -0
  391. /package/src/components/forms/radio/{radio.api.json → api.json} +0 -0
  392. /package/src/components/forms/radio/{radio-visual.png → visual.png} +0 -0
  393. /package/src/components/forms/radio-group/{radio-group.api.json → api.json} +0 -0
  394. /package/src/components/forms/radio-group/{radio-group-visual.png → visual.png} +0 -0
  395. /package/src/components/forms/search-input/{search-input.api.json → api.json} +0 -0
  396. /package/src/components/forms/select/{select.api.json → api.json} +0 -0
  397. /package/src/components/forms/slider/{slider.api.json → api.json} +0 -0
  398. /package/src/components/forms/textarea/{textarea.api.json → api.json} +0 -0
  399. /package/src/components/forms/toggle/{toggle.api.json → api.json} +0 -0
  400. /package/src/components/forms/toggle/{toggle-visual.png → visual.png} +0 -0
  401. /package/src/components/navigation/breadcrumb/{breadcrumb.api.json → api.json} +0 -0
  402. /package/src/components/navigation/breadcrumb/{breadcrumb-visual.png → visual.png} +0 -0
  403. /package/src/components/navigation/dropdown-menu/{dropdown-menu.api.json → api.json} +0 -0
  404. /package/src/components/navigation/menu/{menu.api.json → api.json} +0 -0
  405. /package/src/components/navigation/menu/{menu-visual.png → visual.png} +0 -0
  406. /package/src/components/navigation/nav/{nav.api.json → api.json} +0 -0
  407. /package/src/components/navigation/nav/{nav-visual.png → visual.png} +0 -0
  408. /package/src/components/navigation/pagination/{pagination.api.json → api.json} +0 -0
  409. /package/src/components/navigation/tabs/{tabs.api.json → api.json} +0 -0
  410. /package/src/components/navigation/tabs/{tabs-visual.png → visual.png} +0 -0
  411. /package/src/components/overlays/dialog/{dialog.api.json → api.json} +0 -0
  412. /package/src/components/overlays/dialog/{dialog-visual.png → visual.png} +0 -0
  413. /package/src/components/overlays/drawer/{drawer.api.json → api.json} +0 -0
  414. /package/src/components/overlays/modal/{modal.api.json → api.json} +0 -0
  415. /package/src/components/overlays/modal/{modal-visual.png → visual.png} +0 -0
  416. /package/src/components/overlays/overlay/{overlay.api.json → api.json} +0 -0
  417. /package/src/components/overlays/overlay/{overlay-visual.png → visual.png} +0 -0
  418. /package/src/components/overlays/popover/{popover.api.json → api.json} +0 -0
  419. /package/src/components/overlays/popover/{popover-visual.png → visual.png} +0 -0
  420. /package/src/components/overlays/tooltip/{tooltip.api.json → api.json} +0 -0
  421. /package/src/components/overlays/tooltip/{tooltip-visual.png → visual.png} +0 -0
  422. /package/src/components/typography/blockquote/{blockquote.api.json → api.json} +0 -0
  423. /package/src/components/typography/blockquote/{blockquote-visual.png → visual.png} +0 -0
  424. /package/src/components/typography/code/{code.api.json → api.json} +0 -0
  425. /package/src/components/typography/code-block/{code-block.api.json → api.json} +0 -0
  426. /package/src/components/typography/heading/{heading.api.json → api.json} +0 -0
  427. /package/src/components/typography/kbd/{kbd.api.json → api.json} +0 -0
  428. /package/src/components/typography/kbd/{kbd-visual.png → visual.png} +0 -0
  429. /package/src/components/typography/link/{link.api.json → api.json} +0 -0
  430. /package/src/components/typography/link/{link-visual.png → visual.png} +0 -0
  431. /package/src/components/typography/list/{list.api.json → api.json} +0 -0
  432. /package/src/components/typography/list/{list-visual.png → visual.png} +0 -0
  433. /package/src/components/typography/mark/{mark.api.json → api.json} +0 -0
  434. /package/src/components/typography/mark/{mark-visual.png → visual.png} +0 -0
  435. /package/src/layout/app-shell/{app-shell.api.json → api.json} +0 -0
  436. /package/src/layout/aspect-ratio/{aspect-ratio.api.json → api.json} +0 -0
  437. /package/src/layout/aspect-ratio/{aspect-ratio-visual.png → visual.png} +0 -0
  438. /package/src/layout/box/{box.api.json → api.json} +0 -0
  439. /package/src/layout/center/{center.api.json → api.json} +0 -0
  440. /package/src/layout/center/{center-visual.png → visual.png} +0 -0
  441. /package/src/layout/column/{column.api.json → api.json} +0 -0
  442. /package/src/layout/column/{column-visual.png → visual.png} +0 -0
  443. /package/src/layout/container/{container.api.json → api.json} +0 -0
  444. /package/src/layout/content/{content.api.json → api.json} +0 -0
  445. /package/src/layout/footer/{footer.api.json → api.json} +0 -0
  446. /package/src/layout/grid/{grid.api.json → api.json} +0 -0
  447. /package/src/layout/grid/{grid-visual.png → visual.png} +0 -0
  448. /package/src/layout/main/{main.api.json → api.json} +0 -0
  449. /package/src/layout/nav-rail/{nav-rail.api.json → api.json} +0 -0
  450. /package/src/layout/page-header/{page-header.api.json → api.json} +0 -0
  451. /package/src/layout/page-header/{page-header-visual.png → visual.png} +0 -0
  452. /package/src/layout/row/{row.api.json → api.json} +0 -0
  453. /package/src/layout/row/{row-visual.png → visual.png} +0 -0
  454. /package/src/layout/sidebar/{sidebar.api.json → api.json} +0 -0
  455. /package/src/layout/sidebar-nav/{sidebar-nav.api.json → api.json} +0 -0
  456. /package/src/layout/topbar/{topbar.api.json → api.json} +0 -0
  457. /package/src/utilities/container/{container.api.json → api.json} +0 -0
  458. /package/src/utilities/display/{display.api.json → api.json} +0 -0
  459. /package/src/utilities/scroll-animation/{scroll-animation.api.json → api.json} +0 -0
  460. /package/src/utilities/scroll-snap/{scroll-snap.api.json → api.json} +0 -0
  461. /package/src/utilities/spacing/{spacing.api.json → api.json} +0 -0
  462. /package/src/utilities/text/{text.api.json → api.json} +0 -0
  463. /package/src/utilities/view-transition/{view-transition.api.json → api.json} +0 -0
  464. /package/src/utilities/visually-hidden/{visually-hidden.api.json → api.json} +0 -0
@@ -0,0 +1,62 @@
1
+ ---
2
+ title: Progress Circle
3
+ description: Circular progress indicator showing completion as a donut ring. Set value via --ui-progress-circle-value (0-100).
4
+ mergeInto: progress
5
+ ---
6
+
7
+ <!-- @default | row -->
8
+ <svg class="ui-progress-circle" style="--ui-progress-circle-value: 25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">
9
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
10
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
11
+ </svg>
12
+ <svg class="ui-progress-circle" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
13
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
14
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
15
+ </svg>
16
+ <svg class="ui-progress-circle" style="--ui-progress-circle-value: 75" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100">
17
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
18
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
19
+ </svg>
20
+
21
+ <!-- @sizes | row -->
22
+ <svg class="ui-progress-circle ui-progress-circle--sm" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
23
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
24
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
25
+ </svg>
26
+ <svg class="ui-progress-circle" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
27
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
28
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
29
+ </svg>
30
+ <svg class="ui-progress-circle ui-progress-circle--lg" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
31
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
32
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
33
+ </svg>
34
+ <svg class="ui-progress-circle ui-progress-circle--xl" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
35
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
36
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
37
+ </svg>
38
+
39
+ <!-- @colors | row -->
40
+ <svg class="ui-progress-circle" style="--ui-progress-circle-value: 65" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100">
41
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
42
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
43
+ </svg>
44
+ <svg class="ui-progress-circle ui-progress-circle--success" style="--ui-progress-circle-value: 65" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100">
45
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
46
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
47
+ </svg>
48
+ <svg class="ui-progress-circle ui-progress-circle--warning" style="--ui-progress-circle-value: 65" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100">
49
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
50
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
51
+ </svg>
52
+ <svg class="ui-progress-circle ui-progress-circle--danger" style="--ui-progress-circle-value: 65" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100">
53
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
54
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
55
+ </svg>
56
+
57
+ <!-- @indeterminate -->
58
+ <!-- For unknown progress duration -->
59
+ <svg class="ui-progress-circle ui-progress-circle--indeterminate" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-label="Loading">
60
+ <circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
61
+ <circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
62
+ </svg>
@@ -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, 'progress-circle.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('progress-circle 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, 'progress-circle');
15
15
  await saveForLostPixel(page, 'progress-circle');
16
- await expect(page.locator('body')).toHaveScreenshot('progress-circle.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: Skeleton
3
+ description: Loading placeholder with shimmer animation for content loading states.
4
+ ---
5
+
6
+ <!-- @text_lines -->
7
+ <div style="display: flex; flex-direction: column; gap: var(--ui-space-1);">
8
+ <div class="ui-skeleton ui-skeleton--text"></div>
9
+ <div class="ui-skeleton ui-skeleton--text" style="width: 80%;"></div>
10
+ <div class="ui-skeleton ui-skeleton--text" style="width: 60%;"></div>
11
+ </div>
12
+
13
+ <!-- @shapes -->
14
+ <div style="display: flex; gap: var(--ui-space-2); align-items: flex-start;">
15
+ <div class="ui-skeleton ui-skeleton--circle"></div>
16
+ <div style="flex: 1; display: flex; flex-direction: column; gap: var(--ui-space-1);">
17
+ <div class="ui-skeleton ui-skeleton--heading"></div>
18
+ <div class="ui-skeleton ui-skeleton--text"></div>
19
+ </div>
20
+ </div>
21
+
22
+ <!-- @card_skeleton -->
23
+ <div class="ui-card" style="width: 300px;">
24
+ <div class="ui-skeleton ui-skeleton--rect"></div>
25
+ <div style="padding: var(--ui-space-2); display: flex; flex-direction: column; gap: var(--ui-space-1);">
26
+ <div class="ui-skeleton ui-skeleton--heading"></div>
27
+ <div class="ui-skeleton ui-skeleton--text"></div>
28
+ <div class="ui-skeleton ui-skeleton--text" style="width: 70%;"></div>
29
+ </div>
30
+ </div>
31
+
32
+ <!-- @pulse_animation -->
33
+ <div class="ui-skeleton ui-skeleton--text ui-skeleton--pulse"></div>
34
+
35
+ <!-- @static -->
36
+ <!-- No animation, just a placeholder block. -->
37
+ <div class="ui-skeleton ui-skeleton--static" style="width: 200px;"></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, 'skeleton.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('skeleton 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, 'skeleton');
15
15
  await saveForLostPixel(page, 'skeleton');
16
- await expect(page.locator('body')).toHaveScreenshot('skeleton.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: Spinner
3
+ description: Loading indicator with pure CSS animation. Inherits color from parent.
4
+ ---
5
+
6
+ <!-- @default | row -->
7
+ <div class="ui-spinner"></div>
8
+
9
+ <!-- @sizes | row -->
10
+ {% for s in api.modifiers.size.values %}
11
+ <div class="ui-spinner ui-spinner--{{ s }}"></div>
12
+ {% endfor %}
13
+ <div class="ui-spinner"></div>
14
+
15
+ <!-- @color_inheritance -->
16
+ <div class="ui-row" style="gap: var(--ui-space-2);">
17
+ <div style="color: var(--ui-color-primary);"><div class="ui-spinner"></div></div>
18
+ <div style="color: var(--ui-color-danger);"><div class="ui-spinner"></div></div>
19
+ <div style="color: var(--ui-color-success);"><div class="ui-spinner"></div></div>
20
+ </div>
21
+
22
+ <!-- @in_button -->
23
+ <button class="ui-button ui-button--primary" disabled style="opacity: 0.7;">
24
+ <div class="ui-spinner ui-spinner--xs"></div>
25
+ <span>{{ t('loading', 'Loading...') }}</span>
26
+ </button>
@@ -2,18 +2,18 @@ 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, 'spinner.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('spinner visual regression', () => {
12
12
  // TODO: Skip grid rhythm until #154 is resolved (CSS var resolution issue)
13
13
  test('all variations', async ({ page }) => {
14
- await setupVisualTestFromDocs(page, DOCS_PATH);
14
+ await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
15
15
  // await validateGridRhythm(page, 'spinner');
16
16
  await saveForLostPixel(page, 'spinner');
17
- await expect(page.locator('body')).toHaveScreenshot('spinner.visual.png');
17
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
18
18
  });
19
19
  });
@@ -0,0 +1,106 @@
1
+ ---
2
+ title: Toast
3
+ ---
4
+
5
+ <!-- @default -->
6
+ <div class="ui-toast">
7
+ <span class="ui-toast__icon">i</span>
8
+ <div class="ui-toast__content">
9
+ <p class="ui-toast__title">Notification</p>
10
+ <p class="ui-toast__description">Your changes have been saved.</p>
11
+ </div>
12
+ <button class="ui-toast__close">X</button>
13
+ </div>
14
+
15
+ <!-- @variants | column -->
16
+ <div class="ui-toast ui-toast--success">
17
+ <div class="ui-toast__content">
18
+ <p class="ui-toast__title">Success</p>
19
+ <p class="ui-toast__description">Operation completed successfully.</p>
20
+ </div>
21
+ </div>
22
+ <div class="ui-toast ui-toast--warning">
23
+ <div class="ui-toast__content">
24
+ <p class="ui-toast__title">Warning</p>
25
+ <p class="ui-toast__description">Please review before continuing.</p>
26
+ </div>
27
+ </div>
28
+ <div class="ui-toast ui-toast--danger">
29
+ <div class="ui-toast__content">
30
+ <p class="ui-toast__title">Error</p>
31
+ <p class="ui-toast__description">Something went wrong.</p>
32
+ </div>
33
+ </div>
34
+ <div class="ui-toast ui-toast--info">
35
+ <div class="ui-toast__content">
36
+ <p class="ui-toast__title">Info</p>
37
+ <p class="ui-toast__description">New updates available.</p>
38
+ </div>
39
+ </div>
40
+
41
+ <!-- @with_action -->
42
+ <div class="ui-toast">
43
+ <div class="ui-toast__content">
44
+ <p class="ui-toast__title">File deleted</p>
45
+ <p class="ui-toast__description">document.pdf was moved to trash.</p>
46
+ </div>
47
+ <button class="ui-toast__action ui-button ui-button--sm ui-button--secondary">Undo</button>
48
+ <button class="ui-toast__close">X</button>
49
+ </div>
50
+
51
+ <!-- @viewport_positions | column -->
52
+ <!-- Container positions for toast placement -->
53
+ <div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
54
+ <div class="ui-toast-viewport ui-toast-viewport--top-end" style="position:absolute">
55
+ <div class="ui-toast">
56
+ <div class="ui-toast__content">
57
+ <p class="ui-toast__title">Top End</p>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ <div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
63
+ <div class="ui-toast-viewport ui-toast-viewport--bottom-end" style="position:absolute">
64
+ <div class="ui-toast">
65
+ <div class="ui-toast__content">
66
+ <p class="ui-toast__title">Bottom End</p>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ </div>
71
+ <div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
72
+ <div class="ui-toast-viewport ui-toast-viewport--top-start" style="position:absolute">
73
+ <div class="ui-toast">
74
+ <div class="ui-toast__content">
75
+ <p class="ui-toast__title">Top Start</p>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ <div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
81
+ <div class="ui-toast-viewport ui-toast-viewport--top-center" style="position:absolute">
82
+ <div class="ui-toast">
83
+ <div class="ui-toast__content">
84
+ <p class="ui-toast__title">Top Center</p>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ <div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
90
+ <div class="ui-toast-viewport ui-toast-viewport--bottom-start" style="position:absolute">
91
+ <div class="ui-toast">
92
+ <div class="ui-toast__content">
93
+ <p class="ui-toast__title">Bottom Start</p>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ <div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
99
+ <div class="ui-toast-viewport ui-toast-viewport--bottom-center" style="position:absolute">
100
+ <div class="ui-toast">
101
+ <div class="ui-toast__content">
102
+ <p class="ui-toast__title">Bottom Center</p>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </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, 'toast.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('toast 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, 'toast');
15
15
  await saveForLostPixel(page, 'toast');
16
- await expect(page.locator('body')).toHaveScreenshot('toast.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: Checkbox
3
+ description: Native checkbox input with custom styling. Supports checked, indeterminate, and disabled states.
4
+ ---
5
+
6
+ <!-- @default | row -->
7
+ <input class="ui-checkbox" type="checkbox"></input>
8
+ <input class="ui-checkbox" type="checkbox" checked></input>
9
+
10
+ <!-- @sizes | row -->
11
+ <input class="ui-checkbox" type="checkbox" checked></input>
12
+ <input class="ui-checkbox ui-checkbox--lg" type="checkbox" checked></input>
13
+
14
+ <!-- @states | row -->
15
+ <input class="ui-checkbox" type="checkbox"></input>
16
+ <input class="ui-checkbox" type="checkbox" checked></input>
17
+ <input class="ui-checkbox" type="checkbox" disabled></input>
18
+ <input class="ui-checkbox" type="checkbox" checked disabled></input>
19
+
20
+ <!-- @validation_states | row -->
21
+ <input class="ui-checkbox ui-checkbox--error" type="checkbox"></input>
22
+ <input class="ui-checkbox ui-checkbox--error" type="checkbox" checked></input>
23
+ <input class="ui-checkbox ui-checkbox--success" type="checkbox"></input>
24
+ <input class="ui-checkbox ui-checkbox--success" type="checkbox" checked></input>
25
+
26
+ <!-- @with_label -->
27
+ <label class="ui-row" style="gap: var(--ui-space-1); cursor: pointer;">
28
+ <input class="ui-checkbox" type="checkbox"></input>
29
+ <span>Accept terms and conditions</span>
30
+ </label>
@@ -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, 'checkbox.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('checkbox 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, 'checkbox');
15
15
  await saveForLostPixel(page, 'checkbox');
16
- await expect(page.locator('body')).toHaveScreenshot('checkbox.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,101 @@
1
+ ---
2
+ title: Checkbox Group
3
+ description: Groups related checkboxes with a legend and consistent spacing. Built on native fieldset semantics.
4
+ mergeInto: checkbox
5
+ ---
6
+
7
+ <!-- @default -->
8
+ <fieldset class="ui-checkbox-group">
9
+ <legend class="ui-checkbox-group__legend">Notifications</legend>
10
+ <div class="ui-checkbox-group__items">
11
+ <label class="ui-checkbox-group__item">
12
+ <input class="ui-checkbox" type="checkbox" checked></input>
13
+ <span>Email</span>
14
+ </label>
15
+ <label class="ui-checkbox-group__item">
16
+ <input class="ui-checkbox" type="checkbox"></input>
17
+ <span>SMS</span>
18
+ </label>
19
+ <label class="ui-checkbox-group__item">
20
+ <input class="ui-checkbox" type="checkbox"></input>
21
+ <span>Push</span>
22
+ </label>
23
+ </div>
24
+ </fieldset>
25
+
26
+ <!-- @horizontal -->
27
+ <fieldset class="ui-checkbox-group ui-checkbox-group--horizontal">
28
+ <legend class="ui-checkbox-group__legend">Interests</legend>
29
+ <div class="ui-checkbox-group__items">
30
+ <label class="ui-checkbox-group__item">
31
+ <input class="ui-checkbox" type="checkbox" checked></input>
32
+ <span>Design</span>
33
+ </label>
34
+ <label class="ui-checkbox-group__item">
35
+ <input class="ui-checkbox" type="checkbox"></input>
36
+ <span>Engineering</span>
37
+ </label>
38
+ <label class="ui-checkbox-group__item">
39
+ <input class="ui-checkbox" type="checkbox" checked></input>
40
+ <span>Product</span>
41
+ </label>
42
+ <label class="ui-checkbox-group__item">
43
+ <input class="ui-checkbox" type="checkbox"></input>
44
+ <span>Marketing</span>
45
+ </label>
46
+ </div>
47
+ </fieldset>
48
+
49
+ <!-- @compact -->
50
+ <fieldset class="ui-checkbox-group ui-checkbox-group--compact">
51
+ <legend class="ui-checkbox-group__legend">Features</legend>
52
+ <div class="ui-checkbox-group__items">
53
+ <label class="ui-checkbox-group__item">
54
+ <input class="ui-checkbox" type="checkbox" checked></input>
55
+ <span>Dark mode</span>
56
+ </label>
57
+ <label class="ui-checkbox-group__item">
58
+ <input class="ui-checkbox" type="checkbox" checked></input>
59
+ <span>Notifications</span>
60
+ </label>
61
+ <label class="ui-checkbox-group__item">
62
+ <input class="ui-checkbox" type="checkbox"></input>
63
+ <span>Analytics</span>
64
+ </label>
65
+ </div>
66
+ </fieldset>
67
+
68
+ <!-- @error_state -->
69
+ <fieldset class="ui-checkbox-group ui-checkbox-group--error">
70
+ <legend class="ui-checkbox-group__legend">Terms</legend>
71
+ <div class="ui-checkbox-group__items">
72
+ <label class="ui-checkbox-group__item">
73
+ <input class="ui-checkbox ui-checkbox--error" type="checkbox"></input>
74
+ <span>I accept the terms of service</span>
75
+ </label>
76
+ <label class="ui-checkbox-group__item">
77
+ <input class="ui-checkbox ui-checkbox--error" type="checkbox"></input>
78
+ <span>I accept the privacy policy</span>
79
+ </label>
80
+ </div>
81
+ <span class="ui-form-error">You must accept all terms to continue</span>
82
+ </fieldset>
83
+
84
+ <!-- @disabled -->
85
+ <fieldset class="ui-checkbox-group" disabled>
86
+ <legend class="ui-checkbox-group__legend">Permissions (locked)</legend>
87
+ <div class="ui-checkbox-group__items">
88
+ <label class="ui-checkbox-group__item">
89
+ <input class="ui-checkbox" type="checkbox" checked></input>
90
+ <span>Read</span>
91
+ </label>
92
+ <label class="ui-checkbox-group__item">
93
+ <input class="ui-checkbox" type="checkbox" checked></input>
94
+ <span>Write</span>
95
+ </label>
96
+ <label class="ui-checkbox-group__item">
97
+ <input class="ui-checkbox" type="checkbox"></input>
98
+ <span>Admin</span>
99
+ </label>
100
+ </div>
101
+ </fieldset>
@@ -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, 'checkbox-group.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('checkbox-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, 'checkbox-group');
15
15
  await saveForLostPixel(page, 'checkbox-group');
16
- await expect(page.locator('body')).toHaveScreenshot('checkbox-group.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,60 @@
1
+ ---
2
+ title: Field
3
+ description: Form field wrapper that combines label, control, helper text, and error message.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div class="ui-field">
8
+ <label class="ui-label" for="email">Email</label>
9
+ <div class="ui-field__control">
10
+ <input class="ui-input" type="email" id="email" placeholder="Enter email"></input>
11
+ </div>
12
+ </div>
13
+
14
+ <!-- @with_helper_text -->
15
+ <div class="ui-field">
16
+ <label class="ui-label" for="password">Password</label>
17
+ <div class="ui-field__control">
18
+ <input class="ui-input" type="password" id="password"></input>
19
+ <span class="ui-form-helper">Must be at least 8 characters</span>
20
+ </div>
21
+ </div>
22
+
23
+ <!-- @with_error -->
24
+ <div class="ui-field">
25
+ <label class="ui-label" for="username">Username</label>
26
+ <div class="ui-field__control">
27
+ <input class="ui-input ui-input--error" type="text" id="username" value="ab"></input>
28
+ <span class="ui-form-error">Username must be at least 3 characters</span>
29
+ </div>
30
+ </div>
31
+
32
+ <!-- @horizontal_layout -->
33
+ <!-- Label beside control for wider forms -->
34
+ <div class="ui-field ui-field--horizontal">
35
+ <label class="ui-label ui-field__label" for="name">Full Name</label>
36
+ <div class="ui-field__control">
37
+ <input class="ui-input" type="text" id="name"></input>
38
+ <span class="ui-form-helper">As it appears on your ID</span>
39
+ </div>
40
+ </div>
41
+
42
+ <!-- @responsive_layout -->
43
+ <!-- Auto-switches to horizontal layout when container is wide enough (>= 30rem). Requires a parent with container-type: inline-size (use ui-container-inline utility). -->
44
+ <div class="ui-container-inline">
45
+ <div class="ui-field ui-field--responsive">
46
+ <label class="ui-label ui-field__label" for="resp-name">Full Name</label>
47
+ <div class="ui-field__control">
48
+ <input class="ui-input" type="text" id="resp-name"></input>
49
+ <span class="ui-form-helper">Stacks vertically in narrow containers, horizontal at >= 30rem</span>
50
+ </div>
51
+ </div>
52
+ </div>
53
+
54
+ <!-- @required_field -->
55
+ <div class="ui-field">
56
+ <label class="ui-label ui-label--required" for="req">Required Field</label>
57
+ <div class="ui-field__control">
58
+ <input class="ui-input" type="text" id="req" required></input>
59
+ </div>
60
+ </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, 'field.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('field 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, 'field');
15
15
  await saveForLostPixel(page, 'field');
16
- await expect(page.locator('body')).toHaveScreenshot('field.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });