opui-css 5.4.2 → 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 -367
  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 -40
  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 -12
  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 -68
  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 -179
  285. package/css/components/button.css +212 -212
  286. package/css/components/callout.css +112 -112
  287. package/css/components/card.css +116 -116
  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 -170
  294. package/css/components/form.css +146 -146
  295. package/css/components/icon-button.css +139 -139
  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 -320
  301. package/css/components/select.css +170 -170
  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 -157
  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 -68
  313. package/css/components/typography.css +580 -580
  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 -124
  319. package/dist/op.css +4 -4
  320. package/dist/op.css.map +1 -1
  321. package/dist/opui.components.css +5140 -5140
  322. package/dist/opui.components.css.map +1 -1
  323. package/dist/opui.css +5907 -5907
  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,367 +1,373 @@
1
- # Changelog
2
-
3
- ## 5.4.2 - 2026-06-29
4
-
5
- ### Fixed
6
-
7
- - Make overline in `Card` header smaller.
8
-
9
- ## 5.4.1 - 2026-06-11
10
-
11
- ### Fixed
12
-
13
- - Fixed a `@vue/compiler-sfc` compilation crash in `Avatar`.
14
-
15
- ## 5.4.0 - 2026-06-09
16
-
17
- - 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.
18
-
19
- ## 5.3.0 - 2026-06-04
20
-
21
- Vue support! 🎉
22
- It's a lot of work but hopefully it's all good with them.
23
-
24
- ### Added
25
-
26
- - Vue components, importable from `opui-css/vue`.
27
- - Adjusted types for Vue, Svelte and Solid.
28
-
29
- ## 5.2.0 - 2026-06-03
30
-
31
- ### Changed
32
-
33
- - 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).
34
-
35
- Thank you to [somephic](https://github.com/somephic) for the contribution and discussions!
36
-
37
- ## 5.1.2 - 2026-05-29
38
-
39
- ### Fixed
40
-
41
- - Removed Open Props gray imports that overrode OPUI custom grays. How did I miss that??
42
-
43
- ## 5.1.1 - 2026-05-29
44
-
45
- ### Added
46
-
47
- - Added CSS `@property` types to the palette (`--color-*` and `--gray-*`) variables to hopefully improve perf.
48
-
49
- ### Changed
50
-
51
- - Cleaned up comments and theme variable organization in `css/theme.css`.
52
-
53
- ## 5.1.0 - 2026-05-28
54
-
55
- ### Fixed
56
-
57
- - [#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.
58
-
59
- The heavy color math is now properly scoped down to `:root`, severity classes (ex `.ui-warning`), and invalid components (`[class*="ui-"]:has(:user-invalid)`).
60
-
61
- - 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.
62
-
63
- ### Changed
64
-
65
- - 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.
66
-
67
- ### Added
68
-
69
- - 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.
70
-
71
- ### Migration
72
-
73
- 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.
74
-
75
- 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:
76
-
77
- ```diff
78
- import 'opui-css/open-props';
79
- + import 'opui-css/core/palette.css';
80
- ```
81
-
82
- Alternately, you can import the default full bundle (`import 'opui-css';`) which includes everything.
83
-
84
- ### Thank you
85
-
86
- - [yinhx3](https://github.com/yinhx3) for reporting [#351](https://github.com/felix-bohlin/ui/issues/351)!
87
-
88
- ## 5.0.1 - 2026-05-26
89
-
90
- ### Breaking
91
-
92
- - **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.
93
-
94
- ## 5.0.0 - 2026-05-21
95
-
96
- ### Breaking
97
-
98
- 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.
99
-
100
- Every OPUI-owned class now has a `ui-` prefix. This eliminates collisions with consumer styles and makes library classes self-identifying in the DOM.
101
-
102
- - Component prop API is **unchanged**: `<Button size="small" variant="outlined" color="primary">` works exactly as before.
103
- - Raw HTML / CSS users **must** rename every library class. `<button class="button outlined">` → `<button class="ui-button ui-outlined">`. `.button { ... }` overrides → `.ui-button { ... }`.
104
- - CSS custom properties (`--primary`, `--surface-default`, `--size-3`, …) are unchanged.
105
- - 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.
106
- - **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.
107
- - **Toggle Button**: pressed state no longer adds an unprefixed `selected` class.
108
- - **Avatar**: removed unused `spacing` prop and related group gap classes.
109
-
110
- #### Migration
111
-
112
- Run a project-wide find/replace per token, prompt or whatever. Below are all the classes that got a `ui-` prefix.
113
-
114
- <details>
115
- <summary>Migrated classes</summary>
116
-
117
- `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`.
118
-
119
- </details>
120
-
121
- After the search/replace, do a visual smoke test - there is no automated codemod for consumer projects.
122
-
123
- ## 4.1.0 - 2026-05-18
124
-
125
- ### Breaking
126
-
127
- - **Card** and **Dialog** (Astro): the `actions` prop with an `align` field is removed. Use the `actionsAlign` prop instead (`"start"` | `"end"`).
128
-
129
- ## 4.0.1 - 2026-05-13
130
-
131
- ### Fixed
132
-
133
- - Autosuggest arrow placement.
134
-
135
- ## 4.0.0
136
-
137
- Complete rewrite. The library now also ships as an installable npm package with Astro components.
138
-
139
- 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.
140
-
141
- ### Breaking
142
-
143
- - `theme-one` and `theme-two` are removed. I can't maintain a million themes. There is now a single theme in `css/theme.css`.
144
- - 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.
145
- - 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.
146
- - Component CSS source moved from `src/components/` to `css/components/`. The pre-bundled output stays in `dist/`.
147
- - Cascade layer order is now declared by the library in `css/imports.css`: `openprops, normalize, theme, components.root, components.extended, utils`.
148
- - `astro` `^6` is required if you import from `opui-css/astro`. Pure-CSS consumers are unaffected (the peer is marked optional).
149
-
150
- ### Added
151
-
152
- - Anchor, Drawer, Form, Toast, Toggle, Tooltip and a lot of re-writes and improvements to existing components.
153
- - Definition List -> Description List
154
- - Tab buttons -> Tabs
155
- - Toggle button group -> Toggle
156
- - Astro component entry: `import { Button } from "opui-css/astro"`.
157
- - Per-component CSS imports under `opui-css/css/components/*.css`.
158
- - 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.
159
- - `sideEffects` correctly declared so bundlers don't tree-shake CSS.
160
-
161
- ### Migration
162
-
163
- See [`MIGRATING.md`](./MIGRATING.md).
164
-
165
- ## 3.3.5 - 2026-02-19
166
-
167
- ### Changed
168
-
169
- - goof: forgot to leave open-props as a dependency
170
-
171
- ## 3.3.4 - 2026-02-19
172
-
173
- ### Changed
174
-
175
- - Moved all dependencies to `devDependencies`.
176
-
177
- ## 3.3.3 - 2026-01-07
178
-
179
- ### Changed
180
-
181
- - **Build Process**: Refactored `scripts/build-themes.js` to support organized theme exports. Files are now exported to theme-specific subdirectories in `dist/`.
182
- - **Package Exports**: Updated `package.json` to use subpath exports:
183
- - Default export `"."` now points to `theme-two.css`.
184
- - Added `"./theme-one"` and `"./theme-two"` exports.
185
- - Added `"./theme-one/components"` and `"./theme-two/components"` component imports.
186
- - Added `"./open-props"` export for the base Open Props stuff.
187
- - **Documentation**: Updated "Getting Started" guide with new usage examples and bundler configuration instructions (Vite vs. PostCSS).
188
-
189
- ### Fixed
190
-
191
- - Improved build script to automatically create subdirectories in `dist/` if they don't exist.
192
- - Fixed watch mode in `build-themes.js` to correctly track and rebuild both theme and component files.
193
-
194
- ## 3.3.1 - 2025-12-17
195
-
196
- ### Fixed
197
-
198
- - `switch.css` goof.
199
-
200
- ## 3.3.0 - 2025-12-17
201
-
202
- ### Added
203
-
204
- - Internal updates and optimizations.
205
-
206
- ## 3.2.0 - 2025-12-07
207
-
208
- ### Added
209
-
210
- - Add support for `kbd` element inside of `<button>`.
211
-
212
- ## 3.1.2 - 2025-11-09
213
-
214
- ### Added
215
-
216
- - Added CSS variable to control list hover `background-color`.
217
-
218
- ## 3.1.1 - 2025-10-23
219
-
220
- ### Added
221
-
222
- - Add support for icons in Switch component (e.g., dark mode toggle).
223
-
224
- ### Fixed
225
-
226
- - Bug fix for definition list where lists with lots of content weren't rendering correctly.
227
-
228
- ## 3.1.0 - 2025-10-23
229
-
230
- ### Changed
231
-
232
- - Removed sticky header from `table` component to allow for custom implementations.
233
-
234
- ## 3.0.0 - 2025-10-22
235
-
236
- ### Added
237
-
238
- - **Themes**: Introduced a formal theme system.
239
- - Added `theme-two` as the new default theme (cleaner, more unified).
240
- - Revised documentation and getting started guide for the new theme system.
241
-
242
- ### Changed
243
-
244
- - Refactored component structure to better support multiple themes.
245
-
246
- ## 2.2.3 - 2025-09-21
247
-
248
- ### Changed
249
-
250
- - Reverted `box-sizing` change from previous release.
251
-
252
- ## 2.2.2 - 2025-08-19
253
-
254
- ### Changed
255
-
256
- - Moved `theme.css` out of the main bundle.
257
- - Made `box-sizing` declaration in normalize less intrusive.
258
-
259
- ## 2.0.1 - 2025-08-19
260
-
261
- ### Removed
262
-
263
- - Removed redundant code and assets.
264
-
265
- ## 2.0.0 - 2025-08-19
266
-
267
- ### Changed
268
-
269
- - **Folder Structure**: New and improved folder structure.
270
- - **PostCSS**: Switched from `lightningcss` to `postcss` for better stability.
271
- - **NPM**: Made the package installable via npm.
272
- - **Layers**: Renamed component sub-layers to `components.root` and `components.extended`.
273
- - **Bundles**: Added pre-bundled versions with and without Open Props.
274
-
275
- ### Fixed
276
-
277
- - Progress component wrapped in `@layer`.
278
- - Theme color scheme fallback improvements.
279
-
280
- ## 1.2.4 - 2025-04-23
281
-
282
- ### Fixed
283
-
284
- - Normalize custom-media improvements.
285
-
286
- ## 1.2.3 - 2025-04-16
287
-
288
- ### Fixed
289
-
290
- - Button CSS updates.
291
-
292
- ## 1.2.2 - 2025-03-18
293
-
294
- ### Added
295
-
296
- - Improved Select list animation and implementation of `::picker-icon`.
297
- - Context-aware link colors in Alerts.
298
-
299
- ## 1.2.1 - 2025-03-07
300
-
301
- ### Fixed
302
-
303
- - Removed unused border color in Switch component.
304
-
305
- ## 1.2.0 - 2025-02-18
306
-
307
- ### Added
308
-
309
- - New component: `tab-buttons`.
310
-
311
- ## 1.1.4 - 2025-02-18
312
-
313
- ### Fixed
314
-
315
- - Dialog component improvements when used with `.card` class.
316
-
317
- ## 1.1.3 - 2025-02-11
318
-
319
- ### Fixed
320
-
321
- - Field component: Fixed issue where input was pushed down instead of label moving.
322
-
323
- ## 1.1.2 - 2025-02-10
324
-
325
- ### Changed
326
-
327
- - Refactored pseudo-elements to use double colons (`::`).
328
- - General package upgrades.
329
-
330
- ### Fixed
331
-
332
- - Normalize `::before` fix.
333
- - Outline offset clipping.
334
-
335
- ## 1.1.1 - 2025-01-26
336
-
337
- ### Added
338
-
339
- - `box-decoration-clone` for `mark` elements.
340
-
341
- ## 1.1.0 - 2025-01-19
342
-
343
- ### Added
344
-
345
- - New component: `range` input.
346
-
347
- ## 1.0.2 - 2025-01-17
348
-
349
- ### Fixed
350
-
351
- - Select and documentation fixes.
352
-
353
- ## 1.0.1 - 2025-01-16
354
-
355
- ### Changed
356
-
357
- - Adjusted for Select API changes (`<selectedoption>` to `<selectedcontent>`).
358
- - Checkmark pseudo-element changed from `::before` to `::check`.
359
-
360
- ## 1.0.0 - 2025-01-14
361
-
362
- ### Added
363
-
364
- - Initial release with 25+ components.
365
- - Full documentation website.
366
- - Added `[name]` attribute support to accordion.
367
- - 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.