opui-css 5.4.1 → 5.4.3

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 (328) hide show
  1. package/CHANGELOG.md +373 -361
  2. package/LICENSE +21 -21
  3. package/MIGRATING.md +138 -138
  4. package/README.md +87 -87
  5. package/astro/index.ts +46 -46
  6. package/components/AGENTS.md +247 -247
  7. package/components/Accordion/Accordion.astro +48 -48
  8. package/components/Accordion/Accordion.vue +38 -38
  9. package/components/Accordion/types.astro.ts +4 -4
  10. package/components/Accordion/types.d.vue.ts +15 -15
  11. package/components/Accordion/types.solid.ts +6 -6
  12. package/components/Accordion/types.svelte.ts +7 -7
  13. package/components/Accordion/types.ts +10 -10
  14. package/components/Anchor/Anchor.astro +49 -49
  15. package/components/Anchor/Anchor.vue +41 -41
  16. package/components/Anchor/types.astro.ts +4 -4
  17. package/components/Anchor/types.d.vue.ts +10 -10
  18. package/components/Anchor/types.solid.ts +6 -6
  19. package/components/Anchor/types.svelte.ts +7 -7
  20. package/components/Anchor/types.ts +9 -9
  21. package/components/Avatar/Avatar.astro +29 -29
  22. package/components/Avatar/Avatar.vue +24 -24
  23. package/components/Avatar/types.astro.ts +10 -10
  24. package/components/Avatar/types.d.vue.ts +12 -12
  25. package/components/Avatar/types.solid.ts +11 -11
  26. package/components/Avatar/types.svelte.ts +12 -12
  27. package/components/Avatar/types.ts +29 -29
  28. package/components/Badge/Badge.astro +51 -51
  29. package/components/Badge/Badge.vue +40 -39
  30. package/components/Badge/types.astro.ts +4 -4
  31. package/components/Badge/types.d.vue.ts +10 -10
  32. package/components/Badge/types.solid.ts +4 -4
  33. package/components/Badge/types.svelte.ts +4 -4
  34. package/components/Badge/types.ts +12 -8
  35. package/components/Button/Button.astro +36 -36
  36. package/components/Button/Button.vue +27 -27
  37. package/components/Button/types.astro.ts +6 -6
  38. package/components/Button/types.d.vue.ts +10 -10
  39. package/components/Button/types.solid.ts +8 -8
  40. package/components/Button/types.svelte.ts +6 -6
  41. package/components/Button/types.ts +16 -16
  42. package/components/ButtonGroup/ButtonGroup.astro +29 -29
  43. package/components/ButtonGroup/ButtonGroup.vue +22 -22
  44. package/components/ButtonGroup/types.astro.ts +4 -4
  45. package/components/ButtonGroup/types.d.vue.ts +10 -10
  46. package/components/ButtonGroup/types.solid.ts +4 -4
  47. package/components/ButtonGroup/types.svelte.ts +4 -4
  48. package/components/ButtonGroup/types.ts +7 -7
  49. package/components/Callout/Callout.astro +76 -76
  50. package/components/Callout/Callout.vue +63 -63
  51. package/components/Callout/types.astro.ts +4 -4
  52. package/components/Callout/types.d.vue.ts +10 -10
  53. package/components/Callout/types.solid.ts +6 -6
  54. package/components/Callout/types.svelte.ts +7 -7
  55. package/components/Callout/types.ts +10 -10
  56. package/components/Card/Card.astro +34 -34
  57. package/components/Card/Card.vue +28 -28
  58. package/components/Card/types.astro.ts +4 -4
  59. package/components/Card/types.d.vue.ts +10 -10
  60. package/components/Card/types.solid.ts +6 -6
  61. package/components/Card/types.svelte.ts +7 -7
  62. package/components/Card/types.ts +11 -11
  63. package/components/Checkbox/Checkbox.astro +46 -46
  64. package/components/Checkbox/Checkbox.vue +43 -43
  65. package/components/Checkbox/CheckboxInput.astro +16 -16
  66. package/components/Checkbox/CheckboxInput.vue +32 -32
  67. package/components/Checkbox/types.astro.ts +8 -8
  68. package/components/Checkbox/types.d.vue.ts +11 -11
  69. package/components/Checkbox/types.solid.ts +9 -9
  70. package/components/Checkbox/types.svelte.ts +12 -12
  71. package/components/Checkbox/types.ts +16 -16
  72. package/components/Chip/Chip.astro +31 -31
  73. package/components/Chip/Chip.vue +37 -37
  74. package/components/Chip/types.astro.ts +9 -9
  75. package/components/Chip/types.d.vue.ts +10 -10
  76. package/components/Chip/types.solid.ts +10 -10
  77. package/components/Chip/types.svelte.ts +14 -14
  78. package/components/Chip/types.ts +13 -13
  79. package/components/ClassicSelect/ClassicSelect.astro +60 -60
  80. package/components/ClassicSelect/ClassicSelect.vue +54 -54
  81. package/components/ClassicSelect/types.d.vue.ts +10 -10
  82. package/components/ClassicSelect/types.ts +15 -15
  83. package/components/DescriptionList/Description.astro +9 -9
  84. package/components/DescriptionList/Description.vue +12 -12
  85. package/components/DescriptionList/DescriptionList.astro +18 -18
  86. package/components/DescriptionList/DescriptionList.vue +23 -23
  87. package/components/DescriptionList/Item.astro +9 -9
  88. package/components/DescriptionList/Item.vue +12 -12
  89. package/components/DescriptionList/Term.astro +9 -9
  90. package/components/DescriptionList/Term.vue +12 -12
  91. package/components/DescriptionList/index.ts +12 -12
  92. package/components/DescriptionList/types.astro.ts +10 -10
  93. package/components/DescriptionList/types.d.vue.ts +10 -10
  94. package/components/DescriptionList/types.solid.ts +4 -4
  95. package/components/DescriptionList/types.svelte.ts +4 -4
  96. package/components/DescriptionList/types.ts +3 -3
  97. package/components/Dialog/Dialog.astro +38 -38
  98. package/components/Dialog/Dialog.vue +35 -35
  99. package/components/Dialog/types.astro.ts +4 -4
  100. package/components/Dialog/types.d.vue.ts +10 -10
  101. package/components/Dialog/types.solid.ts +8 -8
  102. package/components/Dialog/types.svelte.ts +7 -7
  103. package/components/Dialog/types.ts +10 -10
  104. package/components/Divider/Divider.astro +12 -12
  105. package/components/Divider/Divider.vue +12 -12
  106. package/components/Divider/types.astro.ts +4 -4
  107. package/components/Divider/types.d.vue.ts +6 -6
  108. package/components/Divider/types.solid.ts +4 -4
  109. package/components/Divider/types.svelte.ts +4 -4
  110. package/components/Divider/types.ts +3 -3
  111. package/components/Drawer/Drawer.astro +47 -47
  112. package/components/Drawer/Drawer.vue +46 -46
  113. package/components/Drawer/DrawerFooter.astro +11 -11
  114. package/components/Drawer/DrawerFooter.vue +16 -16
  115. package/components/Drawer/DrawerHeader.astro +27 -27
  116. package/components/Drawer/DrawerHeader.vue +36 -36
  117. package/components/Drawer/types.astro.ts +8 -8
  118. package/components/Drawer/types.d.vue.ts +31 -31
  119. package/components/Drawer/types.solid.ts +12 -12
  120. package/components/Drawer/types.svelte.ts +15 -15
  121. package/components/Drawer/types.ts +20 -20
  122. package/components/FieldDescription/FieldDescription.astro +9 -9
  123. package/components/FieldDescription/FieldDescription.vue +12 -12
  124. package/components/FieldDescription/types.astro.ts +4 -4
  125. package/components/FieldDescription/types.d.vue.ts +10 -10
  126. package/components/FieldDescription/types.solid.ts +5 -5
  127. package/components/FieldDescription/types.svelte.ts +4 -4
  128. package/components/FieldDescription/types.ts +1 -1
  129. package/components/FieldGroup/FieldGroup.astro +24 -24
  130. package/components/FieldGroup/FieldGroup.vue +25 -25
  131. package/components/FieldGroup/types.astro.ts +4 -4
  132. package/components/FieldGroup/types.d.vue.ts +12 -12
  133. package/components/FieldGroup/types.solid.ts +5 -5
  134. package/components/FieldGroup/types.svelte.ts +4 -4
  135. package/components/FieldGroup/types.ts +4 -4
  136. package/components/FieldLegend/FieldLegend.astro +11 -11
  137. package/components/FieldLegend/FieldLegend.vue +18 -18
  138. package/components/FieldLegend/types.astro.ts +6 -6
  139. package/components/FieldLegend/types.d.vue.ts +11 -11
  140. package/components/FieldLegend/types.solid.ts +5 -5
  141. package/components/FieldLegend/types.svelte.ts +6 -6
  142. package/components/FieldLegend/types.ts +1 -1
  143. package/components/FieldSet/FieldSet.astro +11 -11
  144. package/components/FieldSet/FieldSet.vue +18 -18
  145. package/components/FieldSet/types.astro.ts +6 -6
  146. package/components/FieldSet/types.d.vue.ts +11 -11
  147. package/components/FieldSet/types.solid.ts +5 -5
  148. package/components/FieldSet/types.svelte.ts +8 -8
  149. package/components/FieldSet/types.ts +5 -5
  150. package/components/Form/Form.astro +10 -10
  151. package/components/Form/Form.vue +14 -14
  152. package/components/Form/types.astro.ts +6 -6
  153. package/components/Form/types.d.vue.ts +11 -11
  154. package/components/Form/types.solid.ts +5 -5
  155. package/components/Form/types.svelte.ts +7 -7
  156. package/components/Form/types.ts +1 -1
  157. package/components/IconButton/IconButton.astro +24 -24
  158. package/components/IconButton/IconButton.vue +24 -24
  159. package/components/IconButton/types.astro.ts +6 -6
  160. package/components/IconButton/types.d.vue.ts +10 -10
  161. package/components/IconButton/types.solid.ts +8 -8
  162. package/components/IconButton/types.svelte.ts +6 -6
  163. package/components/IconButton/types.ts +16 -16
  164. package/components/List/List.astro +29 -29
  165. package/components/List/List.vue +28 -28
  166. package/components/List/types.astro.ts +4 -4
  167. package/components/List/types.d.vue.ts +10 -10
  168. package/components/List/types.solid.ts +4 -4
  169. package/components/List/types.svelte.ts +4 -4
  170. package/components/List/types.ts +7 -7
  171. package/components/ListItem/ListItem.astro +108 -108
  172. package/components/ListItem/ListItem.vue +98 -98
  173. package/components/ListItem/types.astro.ts +10 -10
  174. package/components/ListItem/types.d.vue.ts +10 -10
  175. package/components/ListItem/types.solid.ts +12 -12
  176. package/components/ListItem/types.svelte.ts +14 -14
  177. package/components/ListItem/types.ts +32 -32
  178. package/components/Progress/Progress.astro +31 -31
  179. package/components/Progress/Progress.vue +34 -34
  180. package/components/Progress/types.astro.ts +4 -4
  181. package/components/Progress/types.d.vue.ts +10 -10
  182. package/components/Progress/types.solid.ts +4 -4
  183. package/components/Progress/types.svelte.ts +4 -4
  184. package/components/Progress/types.ts +10 -10
  185. package/components/Radio/Radio.astro +44 -44
  186. package/components/Radio/Radio.vue +41 -41
  187. package/components/Radio/RadioInput.astro +7 -7
  188. package/components/Radio/RadioInput.vue +14 -14
  189. package/components/Radio/types.astro.ts +6 -6
  190. package/components/Radio/types.d.vue.ts +11 -11
  191. package/components/Radio/types.solid.ts +9 -9
  192. package/components/Radio/types.svelte.ts +12 -12
  193. package/components/Radio/types.ts +12 -12
  194. package/components/Range/Range.astro +128 -128
  195. package/components/Range/Range.vue +85 -85
  196. package/components/Range/types.ts +25 -25
  197. package/components/Select/Select.astro +108 -108
  198. package/components/Select/Select.vue +85 -85
  199. package/components/Switch/Switch.astro +76 -76
  200. package/components/Switch/Switch.vue +63 -63
  201. package/components/Switch/SwitchInput.astro +7 -7
  202. package/components/Switch/SwitchInput.vue +14 -14
  203. package/components/Switch/types.astro.ts +5 -5
  204. package/components/Switch/types.d.vue.ts +13 -13
  205. package/components/Switch/types.solid.ts +9 -9
  206. package/components/Switch/types.svelte.ts +9 -9
  207. package/components/Switch/types.ts +16 -16
  208. package/components/Table/Body.astro +11 -11
  209. package/components/Table/Body.vue +5 -5
  210. package/components/Table/Cell.astro +11 -11
  211. package/components/Table/Cell.vue +5 -5
  212. package/components/Table/Column.astro +12 -12
  213. package/components/Table/Column.vue +19 -19
  214. package/components/Table/ColumnGroup.astro +11 -11
  215. package/components/Table/ColumnGroup.vue +5 -5
  216. package/components/Table/Head.astro +11 -11
  217. package/components/Table/Head.vue +5 -5
  218. package/components/Table/HeaderCell.astro +11 -11
  219. package/components/Table/HeaderCell.vue +5 -5
  220. package/components/Table/Row.astro +11 -11
  221. package/components/Table/Row.vue +5 -5
  222. package/components/Table/Table.astro +14 -14
  223. package/components/Table/Table.vue +19 -19
  224. package/components/Table/index.ts +20 -20
  225. package/components/Table/types.astro.ts +16 -16
  226. package/components/Table/types.d.vue.ts +10 -10
  227. package/components/Table/types.solid.ts +8 -8
  228. package/components/Table/types.svelte.ts +11 -11
  229. package/components/Table/types.ts +9 -9
  230. package/components/Tabs/Tabs.astro +24 -24
  231. package/components/Tabs/Tabs.vue +20 -20
  232. package/components/Tabs/TabsItem.astro +40 -40
  233. package/components/Tabs/TabsItem.vue +39 -39
  234. package/components/Tabs/TabsPanel.astro +16 -16
  235. package/components/Tabs/TabsPanel.vue +31 -31
  236. package/components/Tabs/TabsTab.astro +15 -15
  237. package/components/Tabs/TabsTab.vue +24 -24
  238. package/components/Tabs/index.ts +14 -14
  239. package/components/Tabs/types.astro.ts +11 -11
  240. package/components/Tabs/types.d.vue.ts +31 -31
  241. package/components/Tabs/types.solid.ts +12 -12
  242. package/components/Tabs/types.svelte.ts +10 -10
  243. package/components/Tabs/types.ts +19 -19
  244. package/components/TextField/TextField.astro +124 -124
  245. package/components/TextField/TextField.vue +74 -74
  246. package/components/TextField/types.astro.ts +17 -17
  247. package/components/Textarea/Textarea.astro +118 -118
  248. package/components/Textarea/Textarea.vue +64 -64
  249. package/components/Textarea/types.astro.ts +10 -10
  250. package/components/Textarea/types.d.vue.ts +19 -19
  251. package/components/Textarea/types.solid.ts +6 -6
  252. package/components/Textarea/types.svelte.ts +21 -21
  253. package/components/Textarea/types.ts +33 -33
  254. package/components/Toast/Toast.astro +42 -42
  255. package/components/Toast/Toast.vue +48 -48
  256. package/components/ToggleButton/ToggleButton.astro +43 -43
  257. package/components/ToggleButton/ToggleButton.vue +41 -41
  258. package/components/ToggleButton/types.astro.ts +4 -4
  259. package/components/ToggleButton/types.d.vue.ts +10 -10
  260. package/components/ToggleButton/types.solid.ts +7 -7
  261. package/components/ToggleButton/types.svelte.ts +7 -7
  262. package/components/ToggleButton/types.ts +10 -10
  263. package/components/ToggleGroup/ToggleGroup.astro +42 -42
  264. package/components/ToggleGroup/ToggleGroup.vue +36 -36
  265. package/components/ToggleGroup/types.astro.ts +4 -4
  266. package/components/ToggleGroup/types.d.vue.ts +15 -15
  267. package/components/ToggleGroup/types.solid.ts +4 -4
  268. package/components/ToggleGroup/types.svelte.ts +9 -9
  269. package/components/ToggleGroup/types.ts +15 -15
  270. package/components/Tooltip/Tooltip.astro +23 -23
  271. package/components/Tooltip/Tooltip.vue +22 -22
  272. package/components/Tooltip/types.astro.ts +4 -4
  273. package/components/Tooltip/types.d.vue.ts +10 -10
  274. package/components/Tooltip/types.solid.ts +6 -6
  275. package/components/Tooltip/types.svelte.ts +7 -7
  276. package/components/Tooltip/types.ts +11 -11
  277. package/core/normalize.css +214 -214
  278. package/core/palette.css +314 -314
  279. package/core/utils.css +68 -69
  280. package/css/components/accordion.css +173 -173
  281. package/css/components/anchor.css +27 -27
  282. package/css/components/avatar.css +65 -65
  283. package/css/components/badge.css +107 -107
  284. package/css/components/button-group.css +179 -193
  285. package/css/components/button.css +212 -228
  286. package/css/components/callout.css +112 -112
  287. package/css/components/card.css +116 -115
  288. package/css/components/checkbox.css +211 -211
  289. package/css/components/chip.css +92 -92
  290. package/css/components/description-list.css +81 -81
  291. package/css/components/dialog.css +64 -64
  292. package/css/components/divider.css +20 -20
  293. package/css/components/drawer.css +170 -172
  294. package/css/components/form.css +146 -147
  295. package/css/components/icon-button.css +139 -156
  296. package/css/components/link.css +21 -21
  297. package/css/components/list.css +343 -343
  298. package/css/components/progress.css +99 -99
  299. package/css/components/radio.css +170 -170
  300. package/css/components/range.css +320 -339
  301. package/css/components/select.css +170 -171
  302. package/css/components/spinner.css +38 -38
  303. package/css/components/switch.css +270 -270
  304. package/css/components/table.css +173 -173
  305. package/css/components/tabs.css +84 -84
  306. package/css/components/text-field.css +449 -449
  307. package/css/components/text-input.css +68 -68
  308. package/css/components/textarea.css +26 -26
  309. package/css/components/toast.css +157 -160
  310. package/css/components/toggle-button.css +91 -91
  311. package/css/components/toggle-group.css +56 -56
  312. package/css/components/tooltip.css +68 -70
  313. package/css/components/typography.css +580 -585
  314. package/css/components.css +41 -41
  315. package/css/imports.css +17 -17
  316. package/css/js/checkbox.js +21 -21
  317. package/css/js/toast.js +94 -94
  318. package/css/theme.css +124 -125
  319. package/dist/op.css +4 -4
  320. package/dist/op.css.map +1 -1
  321. package/dist/opui.components.css +5140 -5219
  322. package/dist/opui.components.css.map +1 -1
  323. package/dist/opui.css +5907 -5988
  324. package/dist/opui.css.map +1 -1
  325. package/env.d.ts +14 -14
  326. package/open-props.css +6 -6
  327. package/package.json +90 -90
  328. package/vue/index.ts +54 -54
package/CHANGELOG.md CHANGED
@@ -1,361 +1,373 @@
1
- # Changelog
2
-
3
- ## 5.4.1 - 2026-06-11
4
-
5
- ### Fixed
6
-
7
- - Fixed a `@vue/compiler-sfc` compilation crash in `Avatar`.
8
-
9
- ## 5.4.0 - 2026-06-09
10
-
11
- - Added global control for motion that lets you enable or disable all motion with a single class `.ui-motion-on`, `.ui-motion-off`, `.ui-motion-debug`. By default it will listen to `prefers-reduced-motion`. Locally each component individually has `--_motion` variable that can be changed as well.
12
-
13
- ## 5.3.0 - 2026-06-04
14
-
15
- Vue support! 🎉
16
- It's a lot of work but hopefully it's all good with them.
17
-
18
- ### Added
19
-
20
- - Vue components, importable from `opui-css/vue`.
21
- - Adjusted types for Vue, Svelte and Solid.
22
-
23
- ## 5.2.0 - 2026-06-03
24
-
25
- ### Changed
26
-
27
- - Broke out types for components into their own files. All frameworks now have their own types file. Yes you read that right, there will be more frameworks soon. Svelte, Vue and Solid are coming soon (in that order).
28
-
29
- Thank you to [somephic](https://github.com/somephic) for the contribution and discussions!
30
-
31
- ## 5.1.2 - 2026-05-29
32
-
33
- ### Fixed
34
-
35
- - Removed Open Props gray imports that overrode OPUI custom grays. How did I miss that??
36
-
37
- ## 5.1.1 - 2026-05-29
38
-
39
- ### Added
40
-
41
- - Added CSS `@property` types to the palette (`--color-*` and `--gray-*`) variables to hopefully improve perf.
42
-
43
- ### Changed
44
-
45
- - Cleaned up comments and theme variable organization in `css/theme.css`.
46
-
47
- ## 5.1.0 - 2026-05-28
48
-
49
- ### Fixed
50
-
51
- - [#351](https://github.com/felix-bohlin/ui/issues/351): (Attempted to) fix performance issue caused by palette being defined on `*` instead of `:root`. This was causing style recalculations on every element when the palette changed, oops. Hopefully now, recalculations will only happen on elements that use palette variables.
52
-
53
- The heavy color math is now properly scoped down to `:root`, severity classes (ex `.ui-warning`), and invalid components (`[class*="ui-"]:has(:user-invalid)`).
54
-
55
- - Palette no longer is included in the openprops layer, instead it's been placed in the `theme.palette` layer, so hopefully it will solve some potential specificity issues.
56
-
57
- ### Changed
58
-
59
- - Renamed the `critical` prop to `error` for validation in form components (`TextField`, `Checkbox`, `Radio`, `Switch`, `Select`, `ClassicSelect`, `Textarea`). While `critical` remains the standard for severity coloring (e.g. Buttons, Callouts, Badges), `error` makes more contextual sense for validation states.
60
-
61
- ### Added
62
-
63
- - Added a new `.ui-palette` util class. If you are building something where you want to make use of the palette you can just use that class and be able to use the palette right there.
64
-
65
- ### Migration
66
-
67
- The `opui-css/open-props` export no longer bundles OPUI's custom palette variables (`--color-*` and `--gray-*`). It now strictly represents the underlying Open Props tokens.
68
-
69
- If you were relying on OPUI’s dynamic palette colors while importing the `open-props` subpath, you must now explicitly import the palette module alongside it:
70
-
71
- ```diff
72
- import 'opui-css/open-props';
73
- + import 'opui-css/core/palette.css';
74
- ```
75
-
76
- Alternately, you can import the default full bundle (`import 'opui-css';`) which includes everything.
77
-
78
- ### Thank you
79
-
80
- - [yinhx3](https://github.com/yinhx3) for reporting [#351](https://github.com/felix-bohlin/ui/issues/351)!
81
-
82
- ## 5.0.1 - 2026-05-26
83
-
84
- ### Breaking
85
-
86
- - **Progress**: the `.ui-progress` class is now placed on a wrapper `<div>` instead of directly on `<progress>`. Raw HTML users must change `<progress class="ui-progress">` → `<div class="ui-progress"><progress>…</progress></div>`. Variant modifiers (`ui-default`, `ui-filled`, `ui-tonal`) also move to the wrapper `<div>`. The Astro component handles this automatically.
87
-
88
- ## 5.0.0 - 2026-05-21
89
-
90
- ### Breaking
91
-
92
- This is technically very breaking, but with a little prompting from you it's probably not a big deal for you. Hopefully you'll understand the reasoning behind this.
93
-
94
- Every OPUI-owned class now has a `ui-` prefix. This eliminates collisions with consumer styles and makes library classes self-identifying in the DOM.
95
-
96
- - Component prop API is **unchanged**: `<Button size="small" variant="outlined" color="primary">` works exactly as before.
97
- - Raw HTML / CSS users **must** rename every library class. `<button class="button outlined">` → `<button class="ui-button ui-outlined">`. `.button { ... }` overrides → `.ui-button { ... }`.
98
- - CSS custom properties (`--primary`, `--surface-default`, `--size-3`, …) are unchanged.
99
- - The framework component renders prefixed classes (`<button class="ui-button ui-small ui-outlined ui-primary">`); only the rendered HTML changes, not the public prop API.
100
- - **Divider**, **Progress**, **Table**, **Tabs**, and **Description List** now render and style prefixed classes end-to-end (`.ui-divider`, `.ui-progress`, `.ui-table`, `.ui-tab-label`, `.ui-tab-panel`, `.ui-term`). Plain `<hr>`, `<progress>`, and `<table>` elements no longer pick up library styles unless the class is present.
101
- - **Toggle Button**: pressed state no longer adds an unprefixed `selected` class.
102
- - **Avatar**: removed unused `spacing` prop and related group gap classes.
103
-
104
- #### Migration
105
-
106
- Run a project-wide find/replace per token, prompt or whatever. Below are all the classes that got a `ui-` prefix.
107
-
108
- <details>
109
- <summary>Migrated classes</summary>
110
-
111
- `abbr`, `accordion`, `actions`, `align-end`, `anchor`, `anchor-floating`, `auto-fit`, `avatar`, `backdrop-transparent`, `badge`, `badge-indicator`, `block-end`, `block-start`, `blockquote`, `border-filled`, `border-primary`, `border-tonal`, `border-top`, `bordered`, `button`, `button-group`, `callout`, `caption`, `card`, `checkbox`, `chip`, `cite`, `close-button`, `code-block`, `content`, `critical`, `dark`, `default`, `del`, `dense`, `description`, `description-list`, `dfn`, `dialog`, `disabled`, `divider`, `dot`, `dotted`, `drawer`, `elevated`, `end`, `end-end`, `end-start`, `end-text`, `exiting`, `field`, `field-description`, `field-group`, `fieldset`, `fieldset-item`, `filled`, `footer`, `form`, `gutterless`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `header`, `hgroup`, `icon`, `icon-button`, `icon-checked`, `icon-only`, `icon-unchecked`, `info`, `inline-end`, `inline-start`, `ins`, `inset`, `invisible`, `item`, `kbd`, `label`, `large`, `legend`, `light`, `link`, `list`, `mark`, `multiline`, `neutral`, `not-rich-text`, `outlined`, `overline`, `p`, `prefix`, `primary`, `progress`, `radio`, `range`, `rich-text`, `rounded`, `row`, `s`, `samp`, `scroll-lock`, `select`, `small`, `spacious`, `spread`, `squared`, `squircle`, `sr-only`, `stack`, `start`, `start-start`, `start-text`, `sub`, `success`, `suffix`, `sup`, `switch`, `tab-input`, `tab-label`, `tab-panel`, `table`, `tabs`, `term`, `text`, `text-field`, `textarea`, `title`, `toast`, `toggle-button`, `toggle-group`, `tonal`, `tooltip`, `transparent`, `u`, `value`, `var`, `vertical`, `warning`, `with-arrow`, `x-small`.
112
-
113
- </details>
114
-
115
- After the search/replace, do a visual smoke test — there is no automated codemod for consumer projects.
116
-
117
- ## 4.1.0 - 2026-05-18
118
-
119
- ### Breaking
120
-
121
- - **Card** and **Dialog** (Astro): the `actions` prop with an `align` field is removed. Use the `actionsAlign` prop instead (`"start"` | `"end"`).
122
-
123
- ## 4.0.1 - 2026-05-13
124
-
125
- ### Fixed
126
-
127
- - Autosuggest arrow placement.
128
-
129
- ## 4.0.0
130
-
131
- Complete rewrite. The library now also ships as an installable npm package with Astro components.
132
-
133
- Don't forget, I'm just a single person working on this in my free time. I'm doing this for fun. There will be bugs.
134
-
135
- ### Breaking
136
-
137
- - `theme-one` and `theme-two` are removed. I can't maintain a million themes. There is now a single theme in `css/theme.css`.
138
- - The default package entry (`import "opui-css"`) now resolves to the single bundled stylesheet (`dist/opui.css`) instead of `dist/theme-two/theme-two.css`. The class names are the same, the file path is not.
139
- - The `src/themes/` build pipeline is gone (vite + postcss + per-theme scripts). The package now builds with a small `postcss-import`-only pipeline that does not transform or lower any CSS syntax.
140
- - Component CSS source moved from `src/components/` to `css/components/`. The pre-bundled output stays in `dist/`.
141
- - Cascade layer order is now declared by the library in `css/imports.css`: `openprops, normalize, theme, components.root, components.extended, utils`.
142
- - `astro` `^6` is required if you import from `opui-css/astro`. Pure-CSS consumers are unaffected (the peer is marked optional).
143
-
144
- ### Added
145
-
146
- - Anchor, Drawer, Form, Toast, Toggle, Tooltip and a lot of re-writes and improvements to existing components.
147
- - Definition List -> Description List
148
- - Tab buttons -> Tabs
149
- - Toggle button group -> Toggle
150
- - Astro component entry: `import { Button } from "opui-css/astro"`.
151
- - Per-component CSS imports under `opui-css/css/components/*.css`.
152
- - Pre-bundled stylesheets in `opui-css/dist/`: `opui.css` (everything), `opui.components.css` (components only), and `op.css` (Open Props tokens, unchanged subpath from v3) for CDN / no-bundler use.
153
- - `sideEffects` correctly declared so bundlers don't tree-shake CSS.
154
-
155
- ### Migration
156
-
157
- See [`MIGRATING.md`](./MIGRATING.md).
158
-
159
- ## 3.3.5 - 2026-02-19
160
-
161
- ### Changed
162
-
163
- - goof: forgot to leave open-props as a dependency
164
-
165
- ## 3.3.4 - 2026-02-19
166
-
167
- ### Changed
168
-
169
- - Moved all dependencies to `devDependencies`.
170
-
171
- ## 3.3.3 - 2026-01-07
172
-
173
- ### Changed
174
-
175
- - **Build Process**: Refactored `scripts/build-themes.js` to support organized theme exports. Files are now exported to theme-specific subdirectories in `dist/`.
176
- - **Package Exports**: Updated `package.json` to use subpath exports:
177
- - Default export `"."` now points to `theme-two.css`.
178
- - Added `"./theme-one"` and `"./theme-two"` exports.
179
- - Added `"./theme-one/components"` and `"./theme-two/components"` component imports.
180
- - Added `"./open-props"` export for the base Open Props stuff.
181
- - **Documentation**: Updated "Getting Started" guide with new usage examples and bundler configuration instructions (Vite vs. PostCSS).
182
-
183
- ### Fixed
184
-
185
- - Improved build script to automatically create subdirectories in `dist/` if they don't exist.
186
- - Fixed watch mode in `build-themes.js` to correctly track and rebuild both theme and component files.
187
-
188
- ## 3.3.1 - 2025-12-17
189
-
190
- ### Fixed
191
-
192
- - `switch.css` goof.
193
-
194
- ## 3.3.0 - 2025-12-17
195
-
196
- ### Added
197
-
198
- - Internal updates and optimizations.
199
-
200
- ## 3.2.0 - 2025-12-07
201
-
202
- ### Added
203
-
204
- - Add support for `kbd` element inside of `<button>`.
205
-
206
- ## 3.1.2 - 2025-11-09
207
-
208
- ### Added
209
-
210
- - Added CSS variable to control list hover `background-color`.
211
-
212
- ## 3.1.1 - 2025-10-23
213
-
214
- ### Added
215
-
216
- - Add support for icons in Switch component (e.g., dark mode toggle).
217
-
218
- ### Fixed
219
-
220
- - Bug fix for definition list where lists with lots of content weren't rendering correctly.
221
-
222
- ## 3.1.0 - 2025-10-23
223
-
224
- ### Changed
225
-
226
- - Removed sticky header from `table` component to allow for custom implementations.
227
-
228
- ## 3.0.0 - 2025-10-22
229
-
230
- ### Added
231
-
232
- - **Themes**: Introduced a formal theme system.
233
- - Added `theme-two` as the new default theme (cleaner, more unified).
234
- - Revised documentation and getting started guide for the new theme system.
235
-
236
- ### Changed
237
-
238
- - Refactored component structure to better support multiple themes.
239
-
240
- ## 2.2.3 - 2025-09-21
241
-
242
- ### Changed
243
-
244
- - Reverted `box-sizing` change from previous release.
245
-
246
- ## 2.2.2 - 2025-08-19
247
-
248
- ### Changed
249
-
250
- - Moved `theme.css` out of the main bundle.
251
- - Made `box-sizing` declaration in normalize less intrusive.
252
-
253
- ## 2.0.1 - 2025-08-19
254
-
255
- ### Removed
256
-
257
- - Removed redundant code and assets.
258
-
259
- ## 2.0.0 - 2025-08-19
260
-
261
- ### Changed
262
-
263
- - **Folder Structure**: New and improved folder structure.
264
- - **PostCSS**: Switched from `lightningcss` to `postcss` for better stability.
265
- - **NPM**: Made the package installable via npm.
266
- - **Layers**: Renamed component sub-layers to `components.root` and `components.extended`.
267
- - **Bundles**: Added pre-bundled versions with and without Open Props.
268
-
269
- ### Fixed
270
-
271
- - Progress component wrapped in `@layer`.
272
- - Theme color scheme fallback improvements.
273
-
274
- ## 1.2.4 - 2025-04-23
275
-
276
- ### Fixed
277
-
278
- - Normalize custom-media improvements.
279
-
280
- ## 1.2.3 - 2025-04-16
281
-
282
- ### Fixed
283
-
284
- - Button CSS updates.
285
-
286
- ## 1.2.2 - 2025-03-18
287
-
288
- ### Added
289
-
290
- - Improved Select list animation and implementation of `::picker-icon`.
291
- - Context-aware link colors in Alerts.
292
-
293
- ## 1.2.1 - 2025-03-07
294
-
295
- ### Fixed
296
-
297
- - Removed unused border color in Switch component.
298
-
299
- ## 1.2.0 - 2025-02-18
300
-
301
- ### Added
302
-
303
- - New component: `tab-buttons`.
304
-
305
- ## 1.1.4 - 2025-02-18
306
-
307
- ### Fixed
308
-
309
- - Dialog component improvements when used with `.card` class.
310
-
311
- ## 1.1.3 - 2025-02-11
312
-
313
- ### Fixed
314
-
315
- - Field component: Fixed issue where input was pushed down instead of label moving.
316
-
317
- ## 1.1.2 - 2025-02-10
318
-
319
- ### Changed
320
-
321
- - Refactored pseudo-elements to use double colons (`::`).
322
- - General package upgrades.
323
-
324
- ### Fixed
325
-
326
- - Normalize `::before` fix.
327
- - Outline offset clipping.
328
-
329
- ## 1.1.1 - 2025-01-26
330
-
331
- ### Added
332
-
333
- - `box-decoration-clone` for `mark` elements.
334
-
335
- ## 1.1.0 - 2025-01-19
336
-
337
- ### Added
338
-
339
- - New component: `range` input.
340
-
341
- ## 1.0.2 - 2025-01-17
342
-
343
- ### Fixed
344
-
345
- - Select and documentation fixes.
346
-
347
- ## 1.0.1 - 2025-01-16
348
-
349
- ### Changed
350
-
351
- - Adjusted for Select API changes (`<selectedoption>` to `<selectedcontent>`).
352
- - Checkmark pseudo-element changed from `::before` to `::check`.
353
-
354
- ## 1.0.0 - 2025-01-14
355
-
356
- ### Added
357
-
358
- - Initial release with 25+ components.
359
- - Full documentation website.
360
- - Added `[name]` attribute support to accordion.
361
- - Support for stroke SVG icons in buttons.
1
+ # Changelog
2
+
3
+ ## 5.4.3 - 2026-09-18
4
+
5
+ ### Fixed
6
+
7
+ Fix publish pnpm issue ([#357](https://github.com/felix-bohlin/ui/issues/357)) - thanks @onokumus!
8
+
9
+ ## 5.4.2 - 2026-06-29
10
+
11
+ ### Fixed
12
+
13
+ - Make overline in `Card` header smaller.
14
+
15
+ ## 5.4.1 - 2026-06-11
16
+
17
+ ### Fixed
18
+
19
+ - Fixed a `@vue/compiler-sfc` compilation crash in `Avatar`.
20
+
21
+ ## 5.4.0 - 2026-06-09
22
+
23
+ - Added global control for motion that lets you enable or disable all motion with a single class `.ui-motion-on`, `.ui-motion-off`, `.ui-motion-debug`. By default it will listen to `prefers-reduced-motion`. Locally each component individually has `--_motion` variable that can be changed as well.
24
+
25
+ ## 5.3.0 - 2026-06-04
26
+
27
+ Vue support! 🎉
28
+ It's a lot of work but hopefully it's all good with them.
29
+
30
+ ### Added
31
+
32
+ - Vue components, importable from `opui-css/vue`.
33
+ - Adjusted types for Vue, Svelte and Solid.
34
+
35
+ ## 5.2.0 - 2026-06-03
36
+
37
+ ### Changed
38
+
39
+ - Broke out types for components into their own files. All frameworks now have their own types file. Yes you read that right, there will be more frameworks soon. Svelte, Vue and Solid are coming soon (in that order).
40
+
41
+ Thank you to [somephic](https://github.com/somephic) for the contribution and discussions!
42
+
43
+ ## 5.1.2 - 2026-05-29
44
+
45
+ ### Fixed
46
+
47
+ - Removed Open Props gray imports that overrode OPUI custom grays. How did I miss that??
48
+
49
+ ## 5.1.1 - 2026-05-29
50
+
51
+ ### Added
52
+
53
+ - Added CSS `@property` types to the palette (`--color-*` and `--gray-*`) variables to hopefully improve perf.
54
+
55
+ ### Changed
56
+
57
+ - Cleaned up comments and theme variable organization in `css/theme.css`.
58
+
59
+ ## 5.1.0 - 2026-05-28
60
+
61
+ ### Fixed
62
+
63
+ - [#351](https://github.com/felix-bohlin/ui/issues/351): (Attempted to) fix performance issue caused by palette being defined on `*` instead of `:root`. This was causing style recalculations on every element when the palette changed, oops. Hopefully now, recalculations will only happen on elements that use palette variables.
64
+
65
+ The heavy color math is now properly scoped down to `:root`, severity classes (ex `.ui-warning`), and invalid components (`[class*="ui-"]:has(:user-invalid)`).
66
+
67
+ - Palette no longer is included in the openprops layer, instead it's been placed in the `theme.palette` layer, so hopefully it will solve some potential specificity issues.
68
+
69
+ ### Changed
70
+
71
+ - Renamed the `critical` prop to `error` for validation in form components (`TextField`, `Checkbox`, `Radio`, `Switch`, `Select`, `ClassicSelect`, `Textarea`). While `critical` remains the standard for severity coloring (e.g. Buttons, Callouts, Badges), `error` makes more contextual sense for validation states.
72
+
73
+ ### Added
74
+
75
+ - Added a new `.ui-palette` util class. If you are building something where you want to make use of the palette you can just use that class and be able to use the palette right there.
76
+
77
+ ### Migration
78
+
79
+ The `opui-css/open-props` export no longer bundles OPUI's custom palette variables (`--color-*` and `--gray-*`). It now strictly represents the underlying Open Props tokens.
80
+
81
+ If you were relying on OPUI’s dynamic palette colors while importing the `open-props` subpath, you must now explicitly import the palette module alongside it:
82
+
83
+ ```diff
84
+ import 'opui-css/open-props';
85
+ + import 'opui-css/core/palette.css';
86
+ ```
87
+
88
+ Alternately, you can import the default full bundle (`import 'opui-css';`) which includes everything.
89
+
90
+ ### Thank you
91
+
92
+ - [yinhx3](https://github.com/yinhx3) for reporting [#351](https://github.com/felix-bohlin/ui/issues/351)!
93
+
94
+ ## 5.0.1 - 2026-05-26
95
+
96
+ ### Breaking
97
+
98
+ - **Progress**: the `.ui-progress` class is now placed on a wrapper `<div>` instead of directly on `<progress>`. Raw HTML users must change `<progress class="ui-progress">` → `<div class="ui-progress"><progress>…</progress></div>`. Variant modifiers (`ui-default`, `ui-filled`, `ui-tonal`) also move to the wrapper `<div>`. The Astro component handles this automatically.
99
+
100
+ ## 5.0.0 - 2026-05-21
101
+
102
+ ### Breaking
103
+
104
+ This is technically very breaking, but with a little prompting from you it's probably not a big deal for you. Hopefully you'll understand the reasoning behind this.
105
+
106
+ Every OPUI-owned class now has a `ui-` prefix. This eliminates collisions with consumer styles and makes library classes self-identifying in the DOM.
107
+
108
+ - Component prop API is **unchanged**: `<Button size="small" variant="outlined" color="primary">` works exactly as before.
109
+ - Raw HTML / CSS users **must** rename every library class. `<button class="button outlined">` → `<button class="ui-button ui-outlined">`. `.button { ... }` overrides → `.ui-button { ... }`.
110
+ - CSS custom properties (`--primary`, `--surface-default`, `--size-3`, …) are unchanged.
111
+ - The framework component renders prefixed classes (`<button class="ui-button ui-small ui-outlined ui-primary">`); only the rendered HTML changes, not the public prop API.
112
+ - **Divider**, **Progress**, **Table**, **Tabs**, and **Description List** now render and style prefixed classes end-to-end (`.ui-divider`, `.ui-progress`, `.ui-table`, `.ui-tab-label`, `.ui-tab-panel`, `.ui-term`). Plain `<hr>`, `<progress>`, and `<table>` elements no longer pick up library styles unless the class is present.
113
+ - **Toggle Button**: pressed state no longer adds an unprefixed `selected` class.
114
+ - **Avatar**: removed unused `spacing` prop and related group gap classes.
115
+
116
+ #### Migration
117
+
118
+ Run a project-wide find/replace per token, prompt or whatever. Below are all the classes that got a `ui-` prefix.
119
+
120
+ <details>
121
+ <summary>Migrated classes</summary>
122
+
123
+ `abbr`, `accordion`, `actions`, `align-end`, `anchor`, `anchor-floating`, `auto-fit`, `avatar`, `backdrop-transparent`, `badge`, `badge-indicator`, `block-end`, `block-start`, `blockquote`, `border-filled`, `border-primary`, `border-tonal`, `border-top`, `bordered`, `button`, `button-group`, `callout`, `caption`, `card`, `checkbox`, `chip`, `cite`, `close-button`, `code-block`, `content`, `critical`, `dark`, `default`, `del`, `dense`, `description`, `description-list`, `dfn`, `dialog`, `disabled`, `divider`, `dot`, `dotted`, `drawer`, `elevated`, `end`, `end-end`, `end-start`, `end-text`, `exiting`, `field`, `field-description`, `field-group`, `fieldset`, `fieldset-item`, `filled`, `footer`, `form`, `gutterless`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `header`, `hgroup`, `icon`, `icon-button`, `icon-checked`, `icon-only`, `icon-unchecked`, `info`, `inline-end`, `inline-start`, `ins`, `inset`, `invisible`, `item`, `kbd`, `label`, `large`, `legend`, `light`, `link`, `list`, `mark`, `multiline`, `neutral`, `not-rich-text`, `outlined`, `overline`, `p`, `prefix`, `primary`, `progress`, `radio`, `range`, `rich-text`, `rounded`, `row`, `s`, `samp`, `scroll-lock`, `select`, `small`, `spacious`, `spread`, `squared`, `squircle`, `sr-only`, `stack`, `start`, `start-start`, `start-text`, `sub`, `success`, `suffix`, `sup`, `switch`, `tab-input`, `tab-label`, `tab-panel`, `table`, `tabs`, `term`, `text`, `text-field`, `textarea`, `title`, `toast`, `toggle-button`, `toggle-group`, `tonal`, `tooltip`, `transparent`, `u`, `value`, `var`, `vertical`, `warning`, `with-arrow`, `x-small`.
124
+
125
+ </details>
126
+
127
+ After the search/replace, do a visual smoke test - there is no automated codemod for consumer projects.
128
+
129
+ ## 4.1.0 - 2026-05-18
130
+
131
+ ### Breaking
132
+
133
+ - **Card** and **Dialog** (Astro): the `actions` prop with an `align` field is removed. Use the `actionsAlign` prop instead (`"start"` | `"end"`).
134
+
135
+ ## 4.0.1 - 2026-05-13
136
+
137
+ ### Fixed
138
+
139
+ - Autosuggest arrow placement.
140
+
141
+ ## 4.0.0
142
+
143
+ Complete rewrite. The library now also ships as an installable npm package with Astro components.
144
+
145
+ Don't forget, I'm just a single person working on this in my free time. I'm doing this for fun. There will be bugs.
146
+
147
+ ### Breaking
148
+
149
+ - `theme-one` and `theme-two` are removed. I can't maintain a million themes. There is now a single theme in `css/theme.css`.
150
+ - The default package entry (`import "opui-css"`) now resolves to the single bundled stylesheet (`dist/opui.css`) instead of `dist/theme-two/theme-two.css`. The class names are the same, the file path is not.
151
+ - The `src/themes/` build pipeline is gone (vite + postcss + per-theme scripts). The package now builds with a small `postcss-import`-only pipeline that does not transform or lower any CSS syntax.
152
+ - Component CSS source moved from `src/components/` to `css/components/`. The pre-bundled output stays in `dist/`.
153
+ - Cascade layer order is now declared by the library in `css/imports.css`: `openprops, normalize, theme, components.root, components.extended, utils`.
154
+ - `astro` `^6` is required if you import from `opui-css/astro`. Pure-CSS consumers are unaffected (the peer is marked optional).
155
+
156
+ ### Added
157
+
158
+ - Anchor, Drawer, Form, Toast, Toggle, Tooltip and a lot of re-writes and improvements to existing components.
159
+ - Definition List -> Description List
160
+ - Tab buttons -> Tabs
161
+ - Toggle button group -> Toggle
162
+ - Astro component entry: `import { Button } from "opui-css/astro"`.
163
+ - Per-component CSS imports under `opui-css/css/components/*.css`.
164
+ - Pre-bundled stylesheets in `opui-css/dist/`: `opui.css` (everything), `opui.components.css` (components only), and `op.css` (Open Props tokens, unchanged subpath from v3) for CDN / no-bundler use.
165
+ - `sideEffects` correctly declared so bundlers don't tree-shake CSS.
166
+
167
+ ### Migration
168
+
169
+ See [`MIGRATING.md`](./MIGRATING.md).
170
+
171
+ ## 3.3.5 - 2026-02-19
172
+
173
+ ### Changed
174
+
175
+ - goof: forgot to leave open-props as a dependency
176
+
177
+ ## 3.3.4 - 2026-02-19
178
+
179
+ ### Changed
180
+
181
+ - Moved all dependencies to `devDependencies`.
182
+
183
+ ## 3.3.3 - 2026-01-07
184
+
185
+ ### Changed
186
+
187
+ - **Build Process**: Refactored `scripts/build-themes.js` to support organized theme exports. Files are now exported to theme-specific subdirectories in `dist/`.
188
+ - **Package Exports**: Updated `package.json` to use subpath exports:
189
+ - Default export `"."` now points to `theme-two.css`.
190
+ - Added `"./theme-one"` and `"./theme-two"` exports.
191
+ - Added `"./theme-one/components"` and `"./theme-two/components"` component imports.
192
+ - Added `"./open-props"` export for the base Open Props stuff.
193
+ - **Documentation**: Updated "Getting Started" guide with new usage examples and bundler configuration instructions (Vite vs. PostCSS).
194
+
195
+ ### Fixed
196
+
197
+ - Improved build script to automatically create subdirectories in `dist/` if they don't exist.
198
+ - Fixed watch mode in `build-themes.js` to correctly track and rebuild both theme and component files.
199
+
200
+ ## 3.3.1 - 2025-12-17
201
+
202
+ ### Fixed
203
+
204
+ - `switch.css` goof.
205
+
206
+ ## 3.3.0 - 2025-12-17
207
+
208
+ ### Added
209
+
210
+ - Internal updates and optimizations.
211
+
212
+ ## 3.2.0 - 2025-12-07
213
+
214
+ ### Added
215
+
216
+ - Add support for `kbd` element inside of `<button>`.
217
+
218
+ ## 3.1.2 - 2025-11-09
219
+
220
+ ### Added
221
+
222
+ - Added CSS variable to control list hover `background-color`.
223
+
224
+ ## 3.1.1 - 2025-10-23
225
+
226
+ ### Added
227
+
228
+ - Add support for icons in Switch component (e.g., dark mode toggle).
229
+
230
+ ### Fixed
231
+
232
+ - Bug fix for definition list where lists with lots of content weren't rendering correctly.
233
+
234
+ ## 3.1.0 - 2025-10-23
235
+
236
+ ### Changed
237
+
238
+ - Removed sticky header from `table` component to allow for custom implementations.
239
+
240
+ ## 3.0.0 - 2025-10-22
241
+
242
+ ### Added
243
+
244
+ - **Themes**: Introduced a formal theme system.
245
+ - Added `theme-two` as the new default theme (cleaner, more unified).
246
+ - Revised documentation and getting started guide for the new theme system.
247
+
248
+ ### Changed
249
+
250
+ - Refactored component structure to better support multiple themes.
251
+
252
+ ## 2.2.3 - 2025-09-21
253
+
254
+ ### Changed
255
+
256
+ - Reverted `box-sizing` change from previous release.
257
+
258
+ ## 2.2.2 - 2025-08-19
259
+
260
+ ### Changed
261
+
262
+ - Moved `theme.css` out of the main bundle.
263
+ - Made `box-sizing` declaration in normalize less intrusive.
264
+
265
+ ## 2.0.1 - 2025-08-19
266
+
267
+ ### Removed
268
+
269
+ - Removed redundant code and assets.
270
+
271
+ ## 2.0.0 - 2025-08-19
272
+
273
+ ### Changed
274
+
275
+ - **Folder Structure**: New and improved folder structure.
276
+ - **PostCSS**: Switched from `lightningcss` to `postcss` for better stability.
277
+ - **NPM**: Made the package installable via npm.
278
+ - **Layers**: Renamed component sub-layers to `components.root` and `components.extended`.
279
+ - **Bundles**: Added pre-bundled versions with and without Open Props.
280
+
281
+ ### Fixed
282
+
283
+ - Progress component wrapped in `@layer`.
284
+ - Theme color scheme fallback improvements.
285
+
286
+ ## 1.2.4 - 2025-04-23
287
+
288
+ ### Fixed
289
+
290
+ - Normalize custom-media improvements.
291
+
292
+ ## 1.2.3 - 2025-04-16
293
+
294
+ ### Fixed
295
+
296
+ - Button CSS updates.
297
+
298
+ ## 1.2.2 - 2025-03-18
299
+
300
+ ### Added
301
+
302
+ - Improved Select list animation and implementation of `::picker-icon`.
303
+ - Context-aware link colors in Alerts.
304
+
305
+ ## 1.2.1 - 2025-03-07
306
+
307
+ ### Fixed
308
+
309
+ - Removed unused border color in Switch component.
310
+
311
+ ## 1.2.0 - 2025-02-18
312
+
313
+ ### Added
314
+
315
+ - New component: `tab-buttons`.
316
+
317
+ ## 1.1.4 - 2025-02-18
318
+
319
+ ### Fixed
320
+
321
+ - Dialog component improvements when used with `.card` class.
322
+
323
+ ## 1.1.3 - 2025-02-11
324
+
325
+ ### Fixed
326
+
327
+ - Field component: Fixed issue where input was pushed down instead of label moving.
328
+
329
+ ## 1.1.2 - 2025-02-10
330
+
331
+ ### Changed
332
+
333
+ - Refactored pseudo-elements to use double colons (`::`).
334
+ - General package upgrades.
335
+
336
+ ### Fixed
337
+
338
+ - Normalize `::before` fix.
339
+ - Outline offset clipping.
340
+
341
+ ## 1.1.1 - 2025-01-26
342
+
343
+ ### Added
344
+
345
+ - `box-decoration-clone` for `mark` elements.
346
+
347
+ ## 1.1.0 - 2025-01-19
348
+
349
+ ### Added
350
+
351
+ - New component: `range` input.
352
+
353
+ ## 1.0.2 - 2025-01-17
354
+
355
+ ### Fixed
356
+
357
+ - Select and documentation fixes.
358
+
359
+ ## 1.0.1 - 2025-01-16
360
+
361
+ ### Changed
362
+
363
+ - Adjusted for Select API changes (`<selectedoption>` to `<selectedcontent>`).
364
+ - Checkmark pseudo-element changed from `::before` to `::check`.
365
+
366
+ ## 1.0.0 - 2025-01-14
367
+
368
+ ### Added
369
+
370
+ - Initial release with 25+ components.
371
+ - Full documentation website.
372
+ - Added `[name]` attribute support to accordion.
373
+ - Support for stroke SVG icons in buttons.