@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
@@ -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, 'number-input.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('number-input 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, 'number-input');
15
15
  await saveForLostPixel(page, 'number-input');
16
- await expect(page.locator('body')).toHaveScreenshot('number-input-visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,85 @@
1
+ ---
2
+ title: Password Input
3
+ description: Secure password field with toggle visibility button.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div class="ui-password-input">
8
+ <input class="ui-password-input__field" type="password" placeholder="Enter password"></input>
9
+ <button class="ui-password-input__toggle" type="button" aria-label="Show password">
10
+ <svg viewBox="0 0 24 24">
11
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
12
+ <circle cx="12" cy="12" r="3"></circle>
13
+ </svg>
14
+ </button>
15
+ </div>
16
+
17
+ <!-- @sizes | column -->
18
+ <div class="ui-password-input ui-password-input--sm">
19
+ <input class="ui-password-input__field" type="password" placeholder="Small"></input>
20
+ <button class="ui-password-input__toggle" type="button" aria-label="Show password">
21
+ <svg viewBox="0 0 24 24">
22
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
23
+ <circle cx="12" cy="12" r="3"></circle>
24
+ </svg>
25
+ </button>
26
+ </div>
27
+ <div class="ui-password-input">
28
+ <input class="ui-password-input__field" type="password" placeholder="Default"></input>
29
+ <button class="ui-password-input__toggle" type="button" aria-label="Show password">
30
+ <svg viewBox="0 0 24 24">
31
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
32
+ <circle cx="12" cy="12" r="3"></circle>
33
+ </svg>
34
+ </button>
35
+ </div>
36
+ <div class="ui-password-input ui-password-input--lg">
37
+ <input class="ui-password-input__field" type="password" placeholder="Large"></input>
38
+ <button class="ui-password-input__toggle" type="button" aria-label="Show password">
39
+ <svg viewBox="0 0 24 24">
40
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
41
+ <circle cx="12" cy="12" r="3"></circle>
42
+ </svg>
43
+ </button>
44
+ </div>
45
+
46
+ <!-- @block -->
47
+ <!-- Full-width layout. -->
48
+ <div class="ui-password-input ui-password-input--block">
49
+ <input class="ui-password-input__field" type="password" placeholder="Full width"></input>
50
+ <button class="ui-password-input__toggle" type="button" aria-label="Show password">
51
+ <svg viewBox="0 0 24 24">
52
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
53
+ <circle cx="12" cy="12" r="3"></circle>
54
+ </svg>
55
+ </button>
56
+ </div>
57
+
58
+ <!-- @states | column -->
59
+ <div class="ui-password-input ui-password-input--error">
60
+ <input class="ui-password-input__field" type="password" value="wrongpass"></input>
61
+ <button class="ui-password-input__toggle" type="button" aria-label="Show password">
62
+ <svg viewBox="0 0 24 24">
63
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
64
+ <circle cx="12" cy="12" r="3"></circle>
65
+ </svg>
66
+ </button>
67
+ </div>
68
+ <div class="ui-password-input ui-password-input--success">
69
+ <input class="ui-password-input__field" type="password" value="correctpass"></input>
70
+ <button class="ui-password-input__toggle" type="button" aria-label="Show password">
71
+ <svg viewBox="0 0 24 24">
72
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
73
+ <circle cx="12" cy="12" r="3"></circle>
74
+ </svg>
75
+ </button>
76
+ </div>
77
+ <div class="ui-password-input ui-password-input--disabled">
78
+ <input class="ui-password-input__field" type="password" placeholder="Disabled" disabled></input>
79
+ <button class="ui-password-input__toggle" type="button" aria-label="Show password" disabled>
80
+ <svg viewBox="0 0 24 24">
81
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
82
+ <circle cx="12" cy="12" r="3"></circle>
83
+ </svg>
84
+ </button>
85
+ </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, 'password-input.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('password-input 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, 'password-input');
15
15
  await saveForLostPixel(page, 'password-input');
16
- await expect(page.locator('body')).toHaveScreenshot('password-input-visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,49 @@
1
+ ---
2
+ title: Radio
3
+ description: Native radio button with custom styling. Use for mutually exclusive options within a group.
4
+ ---
5
+
6
+ <!-- @default | row -->
7
+ <input class="ui-radio" type="radio" name="demo1"></input>
8
+ <input class="ui-radio" type="radio" name="demo1" checked></input>
9
+
10
+ <!-- @sizes | row -->
11
+ <input class="ui-radio" type="radio" name="sizes" checked></input>
12
+ <input class="ui-radio ui-radio--lg" type="radio" name="sizes2" checked></input>
13
+
14
+ <!-- @states | row -->
15
+ <input class="ui-radio" type="radio" name="states1"></input>
16
+ <input class="ui-radio" type="radio" name="states2" checked></input>
17
+ <input class="ui-radio" type="radio" name="states3" disabled></input>
18
+ <input class="ui-radio" type="radio" name="states4" checked disabled></input>
19
+
20
+ <!-- @validation_states | row -->
21
+ <input class="ui-radio ui-radio--error" type="radio" name="error1"></input>
22
+ <input class="ui-radio ui-radio--error" type="radio" name="error2" checked></input>
23
+ <input class="ui-radio ui-radio--success" type="radio" name="success1"></input>
24
+ <input class="ui-radio ui-radio--success" type="radio" name="success2" checked></input>
25
+
26
+ <!-- @with_label -->
27
+ <label class="ui-row" style="gap: var(--ui-space-1); cursor: pointer;">
28
+ <input class="ui-radio" type="radio" name="labeled"></input>
29
+ <span>Option one</span>
30
+ </label>
31
+
32
+ <!-- @radio_group -->
33
+ <fieldset style="border: none; padding: 0; margin: 0;">
34
+ <legend style="font-weight: 600; margin-block-end: var(--ui-space-1);">Choose an option</legend>
35
+ <div class="ui-column" style="--column-gap: var(--ui-space-1);">
36
+ <label class="ui-row" style="gap: var(--ui-space-1); cursor: pointer;">
37
+ <input class="ui-radio" type="radio" name="group-demo" checked></input>
38
+ <span>Option A</span>
39
+ </label>
40
+ <label class="ui-row" style="gap: var(--ui-space-1); cursor: pointer;">
41
+ <input class="ui-radio" type="radio" name="group-demo"></input>
42
+ <span>Option B</span>
43
+ </label>
44
+ <label class="ui-row" style="gap: var(--ui-space-1); cursor: pointer;">
45
+ <input class="ui-radio" type="radio" name="group-demo"></input>
46
+ <span>Option C</span>
47
+ </label>
48
+ </div>
49
+ </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, 'radio.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('radio 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, 'radio');
15
15
  await saveForLostPixel(page, 'radio');
16
- await expect(page.locator('body')).toHaveScreenshot('radio.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,97 @@
1
+ ---
2
+ title: Radio Group
3
+ description: Groups related radio buttons with a legend for single selection. Built on native fieldset semantics.
4
+ mergeInto: radio
5
+ ---
6
+
7
+ <!-- @default -->
8
+ <fieldset class="ui-radio-group">
9
+ <legend class="ui-radio-group__legend">Payment method</legend>
10
+ <div class="ui-radio-group__items">
11
+ <label class="ui-radio-group__item">
12
+ <input class="ui-radio" type="radio" name="payment" checked></input>
13
+ <span>Credit card</span>
14
+ </label>
15
+ <label class="ui-radio-group__item">
16
+ <input class="ui-radio" type="radio" name="payment"></input>
17
+ <span>Debit card</span>
18
+ </label>
19
+ <label class="ui-radio-group__item">
20
+ <input class="ui-radio" type="radio" name="payment"></input>
21
+ <span>Bank transfer</span>
22
+ </label>
23
+ </div>
24
+ </fieldset>
25
+
26
+ <!-- @horizontal -->
27
+ <fieldset class="ui-radio-group ui-radio-group--horizontal">
28
+ <legend class="ui-radio-group__legend">Size</legend>
29
+ <div class="ui-radio-group__items">
30
+ <label class="ui-radio-group__item">
31
+ <input class="ui-radio" type="radio" name="size" checked></input>
32
+ <span>Small</span>
33
+ </label>
34
+ <label class="ui-radio-group__item">
35
+ <input class="ui-radio" type="radio" name="size"></input>
36
+ <span>Medium</span>
37
+ </label>
38
+ <label class="ui-radio-group__item">
39
+ <input class="ui-radio" type="radio" name="size"></input>
40
+ <span>Large</span>
41
+ </label>
42
+ </div>
43
+ </fieldset>
44
+
45
+ <!-- @compact -->
46
+ <fieldset class="ui-radio-group ui-radio-group--compact">
47
+ <legend class="ui-radio-group__legend">Priority</legend>
48
+ <div class="ui-radio-group__items">
49
+ <label class="ui-radio-group__item">
50
+ <input class="ui-radio" type="radio" name="priority" checked></input>
51
+ <span>Low</span>
52
+ </label>
53
+ <label class="ui-radio-group__item">
54
+ <input class="ui-radio" type="radio" name="priority"></input>
55
+ <span>Medium</span>
56
+ </label>
57
+ <label class="ui-radio-group__item">
58
+ <input class="ui-radio" type="radio" name="priority"></input>
59
+ <span>High</span>
60
+ </label>
61
+ </div>
62
+ </fieldset>
63
+
64
+ <!-- @error_state -->
65
+ <fieldset class="ui-radio-group ui-radio-group--error">
66
+ <legend class="ui-radio-group__legend">Shipping</legend>
67
+ <div class="ui-radio-group__items">
68
+ <label class="ui-radio-group__item">
69
+ <input class="ui-radio ui-radio--error" type="radio" name="shipping"></input>
70
+ <span>Standard</span>
71
+ </label>
72
+ <label class="ui-radio-group__item">
73
+ <input class="ui-radio ui-radio--error" type="radio" name="shipping"></input>
74
+ <span>Express</span>
75
+ </label>
76
+ </div>
77
+ <span class="ui-form-error">Please select a shipping method</span>
78
+ </fieldset>
79
+
80
+ <!-- @disabled -->
81
+ <fieldset class="ui-radio-group" disabled>
82
+ <legend class="ui-radio-group__legend">Plan (locked)</legend>
83
+ <div class="ui-radio-group__items">
84
+ <label class="ui-radio-group__item">
85
+ <input class="ui-radio" type="radio" name="plan" checked></input>
86
+ <span>Free</span>
87
+ </label>
88
+ <label class="ui-radio-group__item">
89
+ <input class="ui-radio" type="radio" name="plan"></input>
90
+ <span>Pro</span>
91
+ </label>
92
+ <label class="ui-radio-group__item">
93
+ <input class="ui-radio" type="radio" name="plan"></input>
94
+ <span>Enterprise</span>
95
+ </label>
96
+ </div>
97
+ </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, 'radio-group.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('radio-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, 'radio-group');
15
15
  await saveForLostPixel(page, 'radio-group');
16
- await expect(page.locator('body')).toHaveScreenshot('radio-group.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,84 @@
1
+ ---
2
+ title: Search Input
3
+ description: Search field with built-in search icon and optional clear button.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <div class="ui-search-input">
8
+ <span class="ui-search-input__icon">
9
+ <svg viewBox="0 0 24 24">
10
+ <circle cx="11" cy="11" r="8"></circle>
11
+ <path d="m21 21-4.3-4.3"></path>
12
+ </svg>
13
+ </span>
14
+ <input class="ui-search-input__field" type="search" placeholder="Search..."></input>
15
+ </div>
16
+
17
+ <!-- @with_clear_button -->
18
+ <div class="ui-search-input ui-search-input--has-clear">
19
+ <span class="ui-search-input__icon">
20
+ <svg viewBox="0 0 24 24">
21
+ <circle cx="11" cy="11" r="8"></circle>
22
+ <path d="m21 21-4.3-4.3"></path>
23
+ </svg>
24
+ </span>
25
+ <input class="ui-search-input__field" type="search" value="Design tokens"></input>
26
+ <button class="ui-search-input__clear" type="button" aria-label="Clear search">
27
+ <svg viewBox="0 0 24 24">
28
+ <path d="M18 6 6 18"></path>
29
+ <path d="m6 6 12 12"></path>
30
+ </svg>
31
+ </button>
32
+ </div>
33
+
34
+ <!-- @sizes | column -->
35
+ <div class="ui-search-input ui-search-input--sm">
36
+ <span class="ui-search-input__icon">
37
+ <svg viewBox="0 0 24 24">
38
+ <circle cx="11" cy="11" r="8"></circle>
39
+ <path d="m21 21-4.3-4.3"></path>
40
+ </svg>
41
+ </span>
42
+ <input class="ui-search-input__field" type="search" placeholder="Small"></input>
43
+ </div>
44
+ <div class="ui-search-input">
45
+ <span class="ui-search-input__icon">
46
+ <svg viewBox="0 0 24 24">
47
+ <circle cx="11" cy="11" r="8"></circle>
48
+ <path d="m21 21-4.3-4.3"></path>
49
+ </svg>
50
+ </span>
51
+ <input class="ui-search-input__field" type="search" placeholder="Default"></input>
52
+ </div>
53
+ <div class="ui-search-input ui-search-input--lg">
54
+ <span class="ui-search-input__icon">
55
+ <svg viewBox="0 0 24 24">
56
+ <circle cx="11" cy="11" r="8"></circle>
57
+ <path d="m21 21-4.3-4.3"></path>
58
+ </svg>
59
+ </span>
60
+ <input class="ui-search-input__field" type="search" placeholder="Large"></input>
61
+ </div>
62
+
63
+ <!-- @block -->
64
+ <!-- Full-width layout. -->
65
+ <div class="ui-search-input ui-search-input--block">
66
+ <span class="ui-search-input__icon">
67
+ <svg viewBox="0 0 24 24">
68
+ <circle cx="11" cy="11" r="8"></circle>
69
+ <path d="m21 21-4.3-4.3"></path>
70
+ </svg>
71
+ </span>
72
+ <input class="ui-search-input__field" type="search" placeholder="Full width search..."></input>
73
+ </div>
74
+
75
+ <!-- @disabled -->
76
+ <div class="ui-search-input ui-search-input--disabled">
77
+ <span class="ui-search-input__icon">
78
+ <svg viewBox="0 0 24 24">
79
+ <circle cx="11" cy="11" r="8"></circle>
80
+ <path d="m21 21-4.3-4.3"></path>
81
+ </svg>
82
+ </span>
83
+ <input class="ui-search-input__field" type="search" placeholder="Disabled" disabled></input>
84
+ </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, 'search-input.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('search-input 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, 'search-input');
15
15
  await saveForLostPixel(page, 'search-input');
16
- await expect(page.locator('body')).toHaveScreenshot('search-input.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,67 @@
1
+ ---
2
+ title: Select
3
+ description: Native select dropdown with custom styling. Dropdown options use browser default styles.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <select class="ui-select">
8
+ <option value disabled selected>Choose option...</option>
9
+ <option value="1">Option 1</option>
10
+ <option value="2">Option 2</option>
11
+ <option value="3">Option 3</option>
12
+ </select>
13
+
14
+ <!-- @sizes | column -->
15
+ <select class="ui-select ui-select--sm">
16
+ <option>Small</option>
17
+ <option>Option 2</option>
18
+ </select>
19
+ <select class="ui-select">
20
+ <option>Default</option>
21
+ <option>Option 2</option>
22
+ </select>
23
+ <select class="ui-select ui-select--lg">
24
+ <option>Large</option>
25
+ <option>Option 2</option>
26
+ </select>
27
+
28
+ <!-- @variants | column -->
29
+ <select class="ui-select">
30
+ <option>Outline (default)</option>
31
+ </select>
32
+ <select class="ui-select ui-select--filled">
33
+ <option>Filled</option>
34
+ </select>
35
+ <select class="ui-select ui-select--ghost">
36
+ <option>Ghost</option>
37
+ </select>
38
+
39
+ <!-- @states | column -->
40
+ <select class="ui-select ui-select--error">
41
+ <option>Error state</option>
42
+ </select>
43
+ <select class="ui-select ui-select--success">
44
+ <option>Success state</option>
45
+ </select>
46
+ <select class="ui-select" disabled>
47
+ <option>Disabled</option>
48
+ </select>
49
+
50
+ <!-- @full_width -->
51
+ <select class="ui-select ui-select--block">
52
+ <option value>Full width select...</option>
53
+ <option value="1">Option 1</option>
54
+ </select>
55
+
56
+ <!-- @with_option_groups -->
57
+ <select class="ui-select ui-select--block">
58
+ <option value disabled selected>Choose a fruit...</option>
59
+ <optgroup label="Citrus">
60
+ <option value="orange">Orange</option>
61
+ <option value="lemon">Lemon</option>
62
+ </optgroup>
63
+ <optgroup label="Berries">
64
+ <option value="strawberry">Strawberry</option>
65
+ <option value="blueberry">Blueberry</option>
66
+ </optgroup>
67
+ </select>
@@ -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, 'select.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('select 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, 'select');
15
15
  await saveForLostPixel(page, 'select');
16
- await expect(page.locator('body')).toHaveScreenshot('select.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: Slider
3
+ description: Range value selection. Styles the native range input cross-browser for track and thumb.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <input class="ui-slider" type="range" min="0" max="100" value="50"></input>
8
+
9
+ <!-- @sizes | column -->
10
+ <input class="ui-slider ui-slider--sm" type="range" min="0" max="100" value="30"></input>
11
+ <input class="ui-slider" type="range" min="0" max="100" value="50"></input>
12
+ <input class="ui-slider ui-slider--lg" type="range" min="0" max="100" value="70"></input>
13
+
14
+ <!-- @colors | column -->
15
+ <input class="ui-slider" type="range" min="0" max="100" value="50"></input>
16
+ <input class="ui-slider ui-slider--success" type="range" min="0" max="100" value="80"></input>
17
+ <input class="ui-slider ui-slider--warning" type="range" min="0" max="100" value="60"></input>
18
+ <input class="ui-slider ui-slider--danger" type="range" min="0" max="100" value="25"></input>
19
+
20
+ <!-- @disabled | column -->
21
+ <input class="ui-slider" type="range" min="0" max="100" value="40" disabled></input>
22
+ <input class="ui-slider ui-slider--success" type="range" min="0" max="100" value="70" disabled></input>
@@ -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, 'slider.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('slider 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, 'slider');
15
15
  await saveForLostPixel(page, 'slider');
16
- await expect(page.locator('body')).toHaveScreenshot('slider.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: Textarea
3
+ description: Multi-line text input for longer content like comments or descriptions.
4
+ ---
5
+
6
+ <!-- @default -->
7
+ <textarea class="ui-textarea" placeholder="Enter your message..."></textarea>
8
+
9
+ <!-- @sizes | column -->
10
+ <textarea class="ui-textarea ui-textarea--sm" placeholder="Small (3 rows)"></textarea>
11
+ <textarea class="ui-textarea" placeholder="Default (4 rows)"></textarea>
12
+ <textarea class="ui-textarea ui-textarea--lg" placeholder="Large (6 rows)"></textarea>
13
+
14
+ <!-- @variants | column -->
15
+ <textarea class="ui-textarea" placeholder="Outline (default)"></textarea>
16
+ <textarea class="ui-textarea ui-textarea--filled" placeholder="Filled"></textarea>
17
+ <textarea class="ui-textarea ui-textarea--ghost" placeholder="Ghost"></textarea>
18
+
19
+ <!-- @states | column -->
20
+ <textarea class="ui-textarea ui-textarea--error">Invalid content</textarea>
21
+ <textarea class="ui-textarea ui-textarea--success">Valid content</textarea>
22
+ <textarea class="ui-textarea" disabled placeholder="Disabled"></textarea>
23
+ <textarea class="ui-textarea" readonly>Read only content</textarea>
24
+
25
+ <!-- @resize_options | column -->
26
+ <!-- Control how users can resize the textarea. -->
27
+ <textarea class="ui-textarea" placeholder="Vertical resize (default)"></textarea>
28
+ <textarea class="ui-textarea ui-textarea--resize-none" placeholder="No resize"></textarea>
29
+ <textarea class="ui-textarea ui-textarea--resize-horizontal" placeholder="Horizontal resize only"></textarea>
30
+ <textarea class="ui-textarea ui-textarea--resize-both" placeholder="Resize both directions"></textarea>
31
+
32
+ <!-- @auto_size | column -->
33
+ <!-- Automatically grows to fit content using field-sizing: content. Falls back to fixed min-height in unsupported browsers. -->
34
+ <textarea class="ui-textarea ui-textarea--auto-size" placeholder="Type to grow..."></textarea>
35
+ <textarea class="ui-textarea ui-textarea--auto-size ui-textarea--sm" placeholder="Small auto-size"></textarea>
36
+ <textarea class="ui-textarea ui-textarea--auto-size ui-textarea--lg" placeholder="Large auto-size"></textarea>
@@ -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, 'textarea.docs.json');
9
+ const DOCS_PATH = resolve(__dirname, 'docs.html');
10
10
 
11
11
  test.describe('textarea 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, 'textarea');
15
15
  await saveForLostPixel(page, 'textarea');
16
- await expect(page.locator('body')).toHaveScreenshot('textarea.visual.png');
16
+ await expect(page.locator('body')).toHaveScreenshot('visual.png');
17
17
  });
18
18
  });