@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,63 @@
1
+ ---
2
+ title: Tabs
3
+ ---
4
+
5
+ <!-- @default -->
6
+ <div class="ui-tabs">
7
+ <div class="ui-tabs__list">
8
+ <button class="ui-tabs__tab ui-tabs__tab--active">Tab 1</button>
9
+ <button class="ui-tabs__tab">Tab 2</button>
10
+ <button class="ui-tabs__tab">Tab 3</button>
11
+ </div>
12
+ <div class="ui-tabs__panel ui-tabs__panel--active">Panel 1 content</div>
13
+ <div class="ui-tabs__panel">Panel 2 content</div>
14
+ <div class="ui-tabs__panel">Panel 3 content</div>
15
+ </div>
16
+
17
+ <!-- @two_tabs -->
18
+ <div class="ui-tabs">
19
+ <div class="ui-tabs__list">
20
+ <button class="ui-tabs__tab ui-tabs__tab--active">Preview</button>
21
+ <button class="ui-tabs__tab">Code</button>
22
+ </div>
23
+ <div class="ui-tabs__panel ui-tabs__panel--active">
24
+ <div class="ui-card">Preview content goes here</div>
25
+ </div>
26
+ <div class="ui-tabs__panel">
27
+ <pre class="ui-code-block">
28
+ <code><div>Code snippet</div></code>
29
+ </pre>
30
+ </div>
31
+ </div>
32
+
33
+ <!-- @sizes -->
34
+ <div class="ui-column" style="--column-gap: var(--ui-space-3);">
35
+ <div class="ui-tabs ui-tabs--sm">
36
+ <div class="ui-tabs__list">
37
+ <button class="ui-tabs__tab ui-tabs__tab--active">Small</button>
38
+ <button class="ui-tabs__tab">Tab 2</button>
39
+ </div>
40
+ </div>
41
+ <div class="ui-tabs">
42
+ <div class="ui-tabs__list">
43
+ <button class="ui-tabs__tab ui-tabs__tab--active">Default</button>
44
+ <button class="ui-tabs__tab">Tab 2</button>
45
+ </div>
46
+ </div>
47
+ <div class="ui-tabs ui-tabs--lg">
48
+ <div class="ui-tabs__list">
49
+ <button class="ui-tabs__tab ui-tabs__tab--active">Large</button>
50
+ <button class="ui-tabs__tab">Tab 2</button>
51
+ </div>
52
+ </div>
53
+ </div>
54
+
55
+ <!-- @vertical -->
56
+ <div class="ui-tabs ui-tabs--vertical">
57
+ <div class="ui-tabs__list">
58
+ <button class="ui-tabs__tab ui-tabs__tab--active">Tab 1</button>
59
+ <button class="ui-tabs__tab">Tab 2</button>
60
+ <button class="ui-tabs__tab">Tab 3</button>
61
+ </div>
62
+ <div class="ui-tabs__panel ui-tabs__panel--active">Vertical tab content</div>
63
+ </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, 'tabs.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('tabs 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, 'tabs');
15
15
  await saveForLostPixel(page, 'tabs');
16
- await expect(page.locator('body')).toHaveScreenshot('tabs.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,58 @@
1
+ ---
2
+ title: Dialog
3
+ description: Structured modal with header, body, and footer sections. Use with modal component for positioning.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div style="position: relative; height: 240px; background: var(--ui-color-bg-subtle);">
8
+ <div class="ui-modal ui-modal--visible" style="position: absolute;">
9
+ <div class="ui-modal__content ui-dialog" style="max-height: 200px;">
10
+ <header class="ui-dialog__header">
11
+ <h2 class="ui-dialog__title">Dialog Title</h2>
12
+ <button class="ui-button ui-button--ghost ui-button--sm ui-dialog__close">X</button>
13
+ </header>
14
+ <div class="ui-dialog__body">
15
+ <p>Dialog content goes here.</p>
16
+ </div>
17
+ <footer class="ui-dialog__footer">
18
+ <button class="ui-button ui-button--ghost">Cancel</button>
19
+ <button class="ui-button">Confirm</button>
20
+ </footer>
21
+ </div>
22
+ </div>
23
+ </div>
24
+
25
+ <!-- @borderless -->
26
+ <div style="position: relative; height: 200px; background: var(--ui-color-bg-subtle);">
27
+ <div class="ui-modal ui-modal--visible" style="position: absolute;">
28
+ <div class="ui-modal__content ui-dialog ui-dialog--borderless" style="max-height: 180px;">
29
+ <header class="ui-dialog__header">
30
+ <h2 class="ui-dialog__title">Simple Dialog</h2>
31
+ </header>
32
+ <div class="ui-dialog__body">
33
+ <p>Content without borders.</p>
34
+ </div>
35
+ <footer class="ui-dialog__footer">
36
+ <button class="ui-button">OK</button>
37
+ </footer>
38
+ </div>
39
+ </div>
40
+ </div>
41
+
42
+ <!-- @confirmation_dialog -->
43
+ <div style="position: relative; height: 200px; background: var(--ui-color-bg-subtle);">
44
+ <div class="ui-modal ui-modal--sm ui-modal--visible" style="position: absolute;">
45
+ <div class="ui-modal__content ui-dialog">
46
+ <header class="ui-dialog__header">
47
+ <h2 class="ui-dialog__title">Delete Item?</h2>
48
+ </header>
49
+ <div class="ui-dialog__body">
50
+ <p>This action cannot be undone.</p>
51
+ </div>
52
+ <footer class="ui-dialog__footer">
53
+ <button class="ui-button ui-button--ghost">Cancel</button>
54
+ <button class="ui-button ui-button--danger">Delete</button>
55
+ </footer>
56
+ </div>
57
+ </div>
58
+ </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, 'dialog.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('dialog 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, 'dialog');
15
15
  await saveForLostPixel(page, 'dialog');
16
- await expect(page.locator('body')).toHaveScreenshot('dialog.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,87 @@
1
+ ---
2
+ title: Drawer
3
+ ---
4
+
5
+ <!-- @default_end -->
6
+ <!-- Slides in from the end (right in LTR) -->
7
+ <div style="position:relative;height:300px;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
8
+ <div class="ui-drawer-overlay" style="position:absolute"></div>
9
+ <div class="ui-drawer ui-drawer--end" style="position:absolute" data-state="open">
10
+ <div class="ui-drawer__header">
11
+ <div>
12
+ <h2 class="ui-drawer__title">Drawer Title</h2>
13
+ <p class="ui-drawer__description">Optional description text</p>
14
+ </div>
15
+ <button class="ui-drawer__close ui-button ui-button--ghost ui-button--icon">X</button>
16
+ </div>
17
+ <div class="ui-drawer__body">
18
+ <p>Drawer content goes here.</p>
19
+ </div>
20
+ <div class="ui-drawer__footer">
21
+ <button class="ui-button ui-button--secondary">Cancel</button>
22
+ <button class="ui-button">Save</button>
23
+ </div>
24
+ </div>
25
+ </div>
26
+
27
+ <!-- @positions | column -->
28
+ <div style="position:relative;height:200px;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
29
+ <div class="ui-drawer ui-drawer--start ui-drawer--sm" style="position:absolute" data-state="open">
30
+ <div class="ui-drawer__header">
31
+ <h2 class="ui-drawer__title">Start</h2>
32
+ </div>
33
+ <div class="ui-drawer__body">
34
+ <p>From start edge</p>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ <div style="position:relative;height:200px;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
39
+ <div class="ui-drawer ui-drawer--top" style="position:absolute" data-state="open">
40
+ <div class="ui-drawer__header">
41
+ <h2 class="ui-drawer__title">Top</h2>
42
+ </div>
43
+ <div class="ui-drawer__body">
44
+ <p>From top edge</p>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ <div style="position:relative;height:200px;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
49
+ <div class="ui-drawer ui-drawer--bottom" style="position:absolute" data-state="open">
50
+ <div class="ui-drawer__header">
51
+ <h2 class="ui-drawer__title">Bottom</h2>
52
+ </div>
53
+ <div class="ui-drawer__body">
54
+ <p>From bottom edge</p>
55
+ </div>
56
+ </div>
57
+ </div>
58
+
59
+ <!-- @sizes | column -->
60
+ <div style="position:relative;height:150px;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
61
+ <div class="ui-drawer ui-drawer--end ui-drawer--sm" style="position:absolute" data-state="open">
62
+ <div class="ui-drawer__body">
63
+ <p>Small drawer</p>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ <div style="position:relative;height:150px;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
68
+ <div class="ui-drawer ui-drawer--end" style="position:absolute" data-state="open">
69
+ <div class="ui-drawer__body">
70
+ <p>Default drawer</p>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ <div style="position:relative;height:150px;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
75
+ <div class="ui-drawer ui-drawer--end ui-drawer--lg" style="position:absolute" data-state="open">
76
+ <div class="ui-drawer__body">
77
+ <p>Large drawer</p>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ <div style="position:relative;height:150px;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
82
+ <div class="ui-drawer ui-drawer--end ui-drawer--full" style="position:absolute" data-state="open">
83
+ <div class="ui-drawer__body">
84
+ <p>Full-size drawer</p>
85
+ </div>
86
+ </div>
87
+ </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, 'drawer.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('drawer 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, 'drawer');
15
15
  await saveForLostPixel(page, 'drawer');
16
- await expect(page.locator('body')).toHaveScreenshot('drawer.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,66 @@
1
+ ---
2
+ title: Modal
3
+ description: Container for modal dialogs. Use with overlay for backdrop effect.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div style="position: relative; height: 200px; background: var(--ui-color-bg-subtle);">
8
+ <div class="ui-modal ui-modal--visible" style="position: absolute;">
9
+ <div class="ui-modal__content">
10
+ <p>Modal content goes here</p>
11
+ </div>
12
+ </div>
13
+ </div>
14
+
15
+ <!-- @sizes -->
16
+ <div style="position: relative; height: 120px; background: var(--ui-color-bg-subtle);">
17
+ <div class="ui-modal ui-modal--sm ui-modal--visible" style="position: absolute;">
18
+ <div class="ui-modal__content">
19
+ <p>Small modal</p>
20
+ </div>
21
+ </div>
22
+ </div>
23
+
24
+ <!-- @large -->
25
+ <div style="position: relative; height: 120px; background: var(--ui-color-bg-subtle);">
26
+ <div class="ui-modal ui-modal--lg ui-modal--visible" style="position: absolute;">
27
+ <div class="ui-modal__content">
28
+ <p>Large modal</p>
29
+ </div>
30
+ </div>
31
+ </div>
32
+
33
+ <!-- @full -->
34
+ <div style="position: relative; height: 120px; background: var(--ui-color-bg-subtle);">
35
+ <div class="ui-modal ui-modal--full ui-modal--visible" style="position: absolute;">
36
+ <div class="ui-modal__content">
37
+ <p>Full-screen modal</p>
38
+ </div>
39
+ </div>
40
+ </div>
41
+
42
+ <!-- @entering_animation -->
43
+ <!-- Apply entering modifier for open transition. -->
44
+ <div style="position: relative; height: 120px; background: var(--ui-color-bg-subtle);">
45
+ <div class="ui-modal ui-modal--visible ui-modal--entering" style="position: absolute;">
46
+ <div class="ui-modal__content">
47
+ <p>Entering modal</p>
48
+ </div>
49
+ </div>
50
+ </div>
51
+
52
+ <!-- @with_scrollable_content -->
53
+ <div style="position: relative; height: 200px; background: var(--ui-color-bg-subtle);">
54
+ <div class="ui-modal ui-modal--visible" style="position: absolute;">
55
+ <div class="ui-modal__content" style="max-height: 150px;">
56
+ <div class="ui-modal__body">
57
+ <p>Line 1</p>
58
+ <p>Line 2</p>
59
+ <p>Line 3</p>
60
+ <p>Line 4</p>
61
+ <p>Line 5</p>
62
+ <p>Line 6</p>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </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, 'modal.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('modal 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, 'modal');
15
15
  await saveForLostPixel(page, 'modal');
16
- await expect(page.locator('body')).toHaveScreenshot('modal.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: Overlay
3
+ description: Full viewport backdrop for modals, dialogs, and drawers. Controls visibility via state modifiers.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div style="position: relative; height: 120px; background: var(--ui-color-bg-subtle);">
8
+ <div class="ui-overlay" style="position: absolute;"></div>
9
+ <p style="position: relative; padding: var(--ui-space-2);">Content behind overlay</p>
10
+ </div>
11
+
12
+ <!-- @light_variant -->
13
+ <div style="position: relative; height: 120px; background: var(--ui-color-text);">
14
+ <div class="ui-overlay ui-overlay--light" style="position: absolute;"></div>
15
+ <p style="position: relative; padding: var(--ui-space-2); color: white;">Dark content behind light overlay</p>
16
+ </div>
17
+
18
+ <!-- @blur_variant -->
19
+ <div style="position: relative; height: 120px; background: linear-gradient(45deg, var(--ui-color-primary), var(--ui-color-success));">
20
+ <div class="ui-overlay ui-overlay--blur" style="position: absolute;"></div>
21
+ <p style="position: relative; padding: var(--ui-space-2); color: white;">Blurred backdrop</p>
22
+ </div>
23
+
24
+ <!-- @with_animation -->
25
+ <div style="position: relative; height: 120px; background: var(--ui-color-bg-subtle);">
26
+ <div class="ui-overlay ui-overlay--animate ui-overlay--visible" style="position: absolute;"></div>
27
+ </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, 'overlay.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('overlay 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, 'overlay');
15
15
  await saveForLostPixel(page, 'overlay');
16
- await expect(page.locator('body')).toHaveScreenshot('overlay.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: Popover
3
+ description: Floating panel for additional content. Larger than tooltip, can contain structured content.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div class="ui-popover" style="position: relative;">
8
+ <p>Popover content goes here. Can contain multiple paragraphs and other elements.</p>
9
+ </div>
10
+
11
+ <!-- @with_header -->
12
+ <div class="ui-popover" style="position: relative;">
13
+ <header class="ui-popover__header">
14
+ <h3 class="ui-popover__title">Popover Title</h3>
15
+ </header>
16
+ <p>Content with a header section.</p>
17
+ </div>
18
+
19
+ <!-- @positions -->
20
+ <div style="padding: var(--ui-space-4);">
21
+ <div class="ui-popover ui-popover--top" style="position: relative;">
22
+ <p>Top (arrow down)</p>
23
+ </div>
24
+ </div>
25
+ <div style="padding: var(--ui-space-4);">
26
+ <div class="ui-popover ui-popover--bottom" style="position: relative;">
27
+ <p>Bottom (arrow up)</p>
28
+ </div>
29
+ </div>
30
+
31
+ <!-- @visibility -->
32
+ <!-- Control popover visibility and animation. -->
33
+ <div class="ui-popover ui-popover--visible ui-popover--animate" style="position: relative;">
34
+ <p>Visible and animated</p>
35
+ </div>
36
+ <div class="ui-popover ui-popover--hidden" style="position: relative;">
37
+ <p>Hidden popover</p>
38
+ </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, 'popover.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('popover 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, 'popover');
15
15
  await saveForLostPixel(page, 'popover');
16
- await expect(page.locator('body')).toHaveScreenshot('popover.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: Tooltip
3
+ description: Small informational popup for additional context. Position via JS.
4
+ ---
5
+
6
+ <!-- @positions -->
7
+ <div style="display: flex; gap: var(--ui-space-4); padding: var(--ui-space-4); flex-wrap: wrap;">
8
+ <div style="position: relative;">
9
+ <span class="ui-tooltip ui-tooltip--top" style="position: relative;">Top</span>
10
+ </div>
11
+ <div style="position: relative;">
12
+ <span class="ui-tooltip ui-tooltip--bottom" style="position: relative;">Bottom</span>
13
+ </div>
14
+ <div style="position: relative;">
15
+ <span class="ui-tooltip ui-tooltip--start" style="position: relative;">Start</span>
16
+ </div>
17
+ <div style="position: relative;">
18
+ <span class="ui-tooltip ui-tooltip--end" style="position: relative;">End</span>
19
+ </div>
20
+ </div>
21
+
22
+ <!-- @with_animation -->
23
+ <span class="ui-tooltip ui-tooltip--top ui-tooltip--animate ui-tooltip--visible" style="position: relative;">Animated tooltip</span>
24
+
25
+ <!-- @anchor_positioned -->
26
+ <!-- Browser-native positioning via CSS Anchor Positioning. No JS needed for placement. Wrapped in @supports — falls back to manual positioning in unsupported browsers. -->
27
+ <div style="position: relative; padding: var(--ui-space-4); display: flex; gap: var(--ui-space-4);">
28
+ <button class="ui-button" style="anchor-name: --tooltip;">Hover me</button>
29
+ <span class="ui-tooltip ui-tooltip--anchored ui-tooltip--visible">Anchored tooltip</span>
30
+ </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, 'tooltip.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('tooltip 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, 'tooltip');
15
15
  await saveForLostPixel(page, 'tooltip');
16
- await expect(page.locator('body')).toHaveScreenshot('tooltip.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: Blockquote
3
+ description: Quote block with left border and optional citation.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <blockquote class="ui-blockquote">
8
+ <p>Design is not just what it looks like and feels like. Design is how it works.</p>
9
+ </blockquote>
10
+
11
+ <!-- @with_citation -->
12
+ <blockquote class="ui-blockquote">
13
+ <p>The best way to predict the future is to invent it.</p>
14
+ <cite class="ui-blockquote__cite">Alan Kay</cite>
15
+ </blockquote>
16
+
17
+ <!-- @accent_variant -->
18
+ <blockquote class="ui-blockquote ui-blockquote--accent">
19
+ <p>Simplicity is the ultimate sophistication.</p>
20
+ <cite class="ui-blockquote__cite">Leonardo da Vinci</cite>
21
+ </blockquote>
@@ -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, 'blockquote.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('blockquote 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, 'blockquote');
15
15
  await saveForLostPixel(page, 'blockquote');
16
- await expect(page.locator('body')).toHaveScreenshot('blockquote.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: Code
3
+ description: Inline code and code blocks with monospace font.
4
+ ---
5
+
6
+ <!-- @inline_code -->
7
+ <p>
8
+ Use the
9
+ <code class="ui-code">--space-2</code>
10
+ token for padding.
11
+ </p>
12
+ <code class="ui-code ui-code--sm">--button-height</code>
13
+
14
+ <!-- @code_block -->
15
+ <pre class="ui-code-block">
16
+ <code>.button {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ }</code>
20
+ </pre>
@@ -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, 'code.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('code 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, 'code');
15
15
  await saveForLostPixel(page, 'code');
16
- await expect(page.locator('body')).toHaveScreenshot('code.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });