@backstage/ui 0.11.2 → 0.12.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/CHANGELOG.md +304 -108
  2. package/css/styles.css +25 -19
  3. package/dist/components/Alert/Alert.esm.js +81 -0
  4. package/dist/components/Alert/Alert.esm.js.map +1 -0
  5. package/dist/components/Alert/Alert.module.css.esm.js +8 -0
  6. package/dist/components/Alert/Alert.module.css.esm.js.map +1 -0
  7. package/dist/components/Alert/definition.esm.js +37 -0
  8. package/dist/components/Alert/definition.esm.js.map +1 -0
  9. package/dist/components/Box/Box.esm.js +10 -23
  10. package/dist/components/Box/Box.esm.js.map +1 -1
  11. package/dist/components/Box/definition.esm.js +20 -6
  12. package/dist/components/Box/definition.esm.js.map +1 -1
  13. package/dist/components/Button/Button.esm.js +12 -35
  14. package/dist/components/Button/Button.esm.js.map +1 -1
  15. package/dist/components/Button/Button.module.css.esm.js +3 -3
  16. package/dist/components/Button/definition.esm.js +23 -6
  17. package/dist/components/Button/definition.esm.js.map +1 -1
  18. package/dist/components/ButtonIcon/ButtonIcon.esm.js +9 -40
  19. package/dist/components/ButtonIcon/ButtonIcon.esm.js.map +1 -1
  20. package/dist/components/ButtonIcon/ButtonIcon.module.css.esm.js +3 -3
  21. package/dist/components/ButtonIcon/definition.esm.js +21 -2
  22. package/dist/components/ButtonIcon/definition.esm.js.map +1 -1
  23. package/dist/components/ButtonLink/ButtonLink.esm.js +16 -43
  24. package/dist/components/ButtonLink/ButtonLink.esm.js.map +1 -1
  25. package/dist/components/ButtonLink/ButtonLink.module.css.esm.js +8 -0
  26. package/dist/components/ButtonLink/ButtonLink.module.css.esm.js.map +1 -0
  27. package/dist/components/ButtonLink/definition.esm.js +24 -3
  28. package/dist/components/ButtonLink/definition.esm.js.map +1 -1
  29. package/dist/components/Dialog/Dialog.esm.js +3 -0
  30. package/dist/components/Dialog/Dialog.esm.js.map +1 -1
  31. package/dist/components/HeaderPage/HeaderPage.esm.js +1 -0
  32. package/dist/components/HeaderPage/HeaderPage.esm.js.map +1 -1
  33. package/dist/components/InternalLinkProvider/InternalLinkProvider.esm.js +55 -0
  34. package/dist/components/InternalLinkProvider/InternalLinkProvider.esm.js.map +1 -0
  35. package/dist/components/Link/Link.esm.js +3 -9
  36. package/dist/components/Link/Link.esm.js.map +1 -1
  37. package/dist/components/Link/Link.module.css.esm.js +2 -2
  38. package/dist/components/Link/definition.esm.js +10 -2
  39. package/dist/components/Link/definition.esm.js.map +1 -1
  40. package/dist/components/Menu/Menu.esm.js +13 -16
  41. package/dist/components/Menu/Menu.esm.js.map +1 -1
  42. package/dist/components/Popover/Popover.module.css.esm.js +2 -2
  43. package/dist/components/Switch/Switch.module.css.esm.js +2 -2
  44. package/dist/components/Table/components/Row.esm.js +5 -18
  45. package/dist/components/Table/components/Row.esm.js.map +1 -1
  46. package/dist/components/Table/components/Table.esm.js +4 -4
  47. package/dist/components/Table/components/Table.esm.js.map +1 -1
  48. package/dist/components/TablePagination/TablePagination.esm.js +4 -1
  49. package/dist/components/TablePagination/TablePagination.esm.js.map +1 -1
  50. package/dist/components/Tabs/Tabs.esm.js +120 -54
  51. package/dist/components/Tabs/Tabs.esm.js.map +1 -1
  52. package/dist/components/TagGroup/TagGroup.esm.js +7 -13
  53. package/dist/components/TagGroup/TagGroup.esm.js.map +1 -1
  54. package/dist/components/Text/Text.module.css.esm.js +2 -2
  55. package/dist/components/Text/definition.esm.js +8 -1
  56. package/dist/components/Text/definition.esm.js.map +1 -1
  57. package/dist/components/Tooltip/Tooltip.module.css.esm.js +2 -2
  58. package/dist/hooks/useDefinition/defineComponent.esm.js +6 -0
  59. package/dist/hooks/useDefinition/defineComponent.esm.js.map +1 -0
  60. package/dist/hooks/useDefinition/helpers.esm.js +69 -0
  61. package/dist/hooks/useDefinition/helpers.esm.js.map +1 -0
  62. package/dist/hooks/useDefinition/useDefinition.esm.js +76 -0
  63. package/dist/hooks/useDefinition/useDefinition.esm.js.map +1 -0
  64. package/dist/hooks/useStyles.esm.js +7 -54
  65. package/dist/hooks/useStyles.esm.js.map +1 -1
  66. package/dist/index.d.ts +322 -107
  67. package/dist/index.esm.js +4 -2
  68. package/dist/index.esm.js.map +1 -1
  69. package/dist/utils/utilityClassMap.esm.js.map +1 -1
  70. package/package.json +6 -6
package/CHANGELOG.md CHANGED
@@ -1,16 +1,159 @@
1
1
  # @backstage/ui
2
2
 
3
- ## 0.11.2
3
+ ## 0.12.0-next.1
4
+
5
+ ### Minor Changes
6
+
7
+ - 058ffd9: **BREAKING**: Removed `large` size variant from Button component as it was never implemented.
8
+
9
+ **Migration:**
10
+
11
+ ```diff
12
+ - <Button size="large">Click me</Button>
13
+ + <Button size="medium">Click me</Button>
14
+ ```
15
+
16
+ **Affected components:** Button
17
+
18
+ - 110fec0: **BREAKING**: Removed link and tint color tokens, added new status foreground tokens, and improved Link component styling
19
+
20
+ The following color tokens have been removed:
21
+
22
+ - `--bui-fg-link` (and all related tokens: `-hover`, `-pressed`, `-disabled`)
23
+ - `--bui-fg-tint` (and all related tokens: `-hover`, `-pressed`, `-disabled`)
24
+ - `--bui-bg-tint` (and all related tokens: `-hover`, `-pressed`, `-disabled`)
25
+ - `--bui-border-tint` (and all related tokens)
26
+
27
+ **New Status Tokens:**
28
+
29
+ Added dedicated tokens for status colors that distinguish between usage on status backgrounds vs. standalone usage:
30
+
31
+ - `--bui-fg-danger-on-bg` / `--bui-fg-danger`
32
+ - `--bui-fg-warning-on-bg` / `--bui-fg-warning`
33
+ - `--bui-fg-success-on-bg` / `--bui-fg-success`
34
+ - `--bui-fg-info-on-bg` / `--bui-fg-info`
35
+
36
+ The `-on-bg` variants are designed for text on colored backgrounds, while the base variants are for standalone status indicators with improved visibility and contrast.
37
+
38
+ **Migration:**
39
+
40
+ For link colors, migrate to one of the following alternatives:
41
+
42
+ ```diff
43
+ .custom-link {
44
+ - color: var(--bui-fg-link);
45
+ + color: var(--bui-fg-info); /* For informational links */
46
+ + /* or */
47
+ + color: var(--bui-fg-primary); /* For standard text links */
48
+ }
49
+ ```
50
+
51
+ For tint colors (backgrounds, foregrounds, borders), migrate to appropriate status or neutral colors:
52
+
53
+ ```diff
54
+ .info-section {
55
+ - background: var(--bui-bg-tint);
56
+ + background: var(--bui-bg-info); /* For informational sections */
57
+ + /* or */
58
+ + background: var(--bui-bg-neutral-on-surface-0); /* For neutral emphasis */
59
+ }
60
+ ```
61
+
62
+ If you're using status foreground colors on colored backgrounds, update to the new `-on-bg` tokens:
63
+
64
+ ```diff
65
+ .error-badge {
66
+ - color: var(--bui-fg-danger);
67
+ + color: var(--bui-fg-danger-on-bg);
68
+ background: var(--bui-bg-danger);
69
+ }
70
+ ```
71
+
72
+ **Affected components:** Link
4
73
 
5
74
  ### Patch Changes
6
75
 
7
- - 3e2fe57: Fixed React 17 compatibility by using `useId` from `react-aria` instead of React's built-in hook which is only available in React 18+.
76
+ - 4d1b7f4: Fixed CSS Module syntax to comply with Next.js 16 Turbopack validation by flattening nested dark theme selectors.
77
+
78
+ **Affected components:** Popover, Tooltip
8
79
 
9
- ## 0.11.1
80
+ - 2c219b9: Added `destructive` prop to Button for dangerous actions like delete or remove. Works with all variants (primary, secondary, tertiary).
81
+
82
+ **Affected components:** Button
83
+
84
+ - 5af9e14: Fixed `useDefinition` hook adding literal "undefined" class name when no className prop was passed.
85
+ - 74c5a76: Fixed Switch component disabled state styling to show `not-allowed` cursor and disabled text color.
86
+
87
+ **Affected components:** Switch
88
+
89
+ ## 0.12.0-next.0
90
+
91
+ ### Minor Changes
92
+
93
+ - b1f723b: **BREAKING**: Changed CSS selectors for `ButtonIcon` and `ButtonLink` components. Custom styles targeting `.bui-Button` to style these components must be updated to use `.bui-ButtonIcon` or `.bui-ButtonLink` respectively.
94
+
95
+ ```diff
96
+ -/* This no longer styles ButtonIcon or ButtonLink */
97
+ -.bui-Button[data-variant="primary"] { ... }
98
+ +/* Use component-specific selectors */
99
+ +.bui-ButtonIcon[data-variant="primary"] { ... }
100
+ +.bui-ButtonLink[data-variant="primary"] { ... }
101
+ ```
102
+
103
+ Affected components: ButtonIcon, ButtonLink
104
+
105
+ - caeb9ad: **BREAKING**: The `cell` and `header` properties in `ColumnConfig` now return `ReactElement` instead of `ReactNode`.
106
+
107
+ This fixes an issue where React Aria's Collection component would inject an `id` prop into Fragment wrappers, causing "Invalid prop `id` supplied to `React.Fragment`" errors on render.
108
+
109
+ Migration:
110
+
111
+ ```diff
112
+ const columns: ColumnConfig<MyItem>[] = [
113
+ {
114
+ id: 'name',
115
+ label: 'Name',
116
+ - cell: (item) => item.name,
117
+ + cell: (item) => <CellText title={item.name} />,
118
+ - header: () => 'Name',
119
+ + header: () => <Column>Name</Column>,
120
+ },
121
+ ];
122
+ ```
10
123
 
11
124
  ### Patch Changes
12
125
 
13
- - 7849d81: Fixed React 17 compatibility by using `useId` from `react-aria` instead of React's built-in hook which is only available in React 18+.
126
+ - 350c948: Fixed Box component to forward HTML attributes to the underlying div element.
127
+
128
+ **Affected components:** Box
129
+
130
+ - 7455dae: Use node prefix on native imports
131
+ - 508bd1a: Added new `Alert` component with support for status variants (info, success, warning, danger), icons, loading states, and custom actions.
132
+
133
+ Updated status color tokens for improved contrast and consistency across light and dark themes:
134
+
135
+ - Added new `--bui-bg-info` and `--bui-fg-info` tokens for info status
136
+ - Updated `--bui-bg-danger`, `--bui-fg-danger` tokens
137
+ - Updated `--bui-bg-warning`, `--bui-fg-warning` tokens
138
+ - Updated `--bui-bg-success`, `--bui-fg-success` tokens
139
+
140
+ **Affected components**: Alert
141
+
142
+ - da30862: Fixed client-side navigation for container components by wrapping the container (not individual items) in RouterProvider. Components now conditionally provide routing context only when children have internal links, removing the Router context requirement when not needed. This also removes the need to wrap these components in MemoryRouter during tests when they are not using the `href` prop.
143
+
144
+ Additionally, when multiple tabs match the current URL via prefix matching, the tab with the most specific path (highest segment count) is now selected. For example, with URL `/catalog/users/john`, a tab with path `/catalog/users` is now selected over a tab with path `/catalog`.
145
+
146
+ Affected components: Tabs, Tab, TagGroup, Tag, Menu, MenuItem, MenuAutocomplete
147
+
148
+ - 092c453: Fixed an infinite render loop in Tabs when navigating to a URL that doesn't match any tab `href`.
149
+ - 5320aa8: Fixed components to not require a Router context when rendering without internal links.
150
+
151
+ Affected components: Link, ButtonLink, Row
152
+
153
+ - cb090b4: Bump react-aria-components to v1.14.0
154
+ - c429101: Fixed React 17 compatibility by using `useId` from `react-aria` instead of the built-in React hook which is only available in React 18+.
155
+ - Updated dependencies
156
+ - @backstage/version-bridge@1.0.11
14
157
 
15
158
  ## 0.11.0
16
159
 
@@ -25,7 +168,7 @@
25
168
 
26
169
  New features include unified pagination modes, debounced query changes, stale data preservation during reloads, and row selection with toggle/replace behaviors.
27
170
 
28
- **Migration guide:**
171
+ **Migration:**
29
172
 
30
173
  1. Update imports and use the new `useTable` hook:
31
174
 
@@ -55,11 +198,11 @@
55
198
  +<Table columnConfig={columns} {...tableProps} />
56
199
  ```
57
200
 
58
- Affected components: Table, TableRoot, TablePagination
201
+ **Affected components:** Table, TableRoot, TablePagination
59
202
 
60
- - 95246eb: **Breaking** Updating color tokens to match the new neutral style on different surfaces.
203
+ - 95246eb: **BREAKING**: Updating color tokens to match the new neutral style on different surfaces.
61
204
 
62
- ## Migration notes
205
+ **Migration:**
63
206
 
64
207
  There's no direct replacement for the old tint tokens but you can use the new neutral set of color tokens on surface 0 or 1 as a replacement.
65
208
 
@@ -68,49 +211,67 @@
68
211
  - `--bui-bg-tint-pressed` can be replaced by `--bui-bg-neutral-on-surface-0-pressed`
69
212
  - `--bui-bg-tint-disabled` can be replaced by `--bui-bg-neutral-on-surface-0-disabled`
70
213
 
71
- - ea0c6d8: Introduce new `ToggleButton` & `ToggleButtonGroup` components in Backstage UI
214
+ - ea0c6d8: **BREAKING**: Introduce new `ToggleButton` & `ToggleButtonGroup` components in Backstage UI
215
+
216
+ **Affected components:** ToggleButton, ToggleButtonGroup
217
+
72
218
  - 4ea1d15: **BREAKING**: Renamed CSS variable `--bui-bg` to `--bui-bg-surface-0` for consistency.
73
219
 
74
220
  ### Patch Changes
75
221
 
76
222
  - 1880402: Fixes app background color on dark mode.
223
+
224
+ **Affected components:** Box
225
+
77
226
  - d2fdded: Added indeterminate state support to the Checkbox component for handling partial selection scenarios like table header checkboxes.
78
227
 
79
- Affected components: Checkbox
228
+ **Affected components:** Checkbox
80
229
 
81
230
  - 4fb15d2: Added missing `aria-label` attributes to `SearchField` components in `Select`, `MenuAutocomplete`, and `MenuAutocompleteListbox` to fix accessibility warnings.
82
231
 
83
- Affected components: Select, MenuAutocomplete, MenuAutocompleteListbox
232
+ **Affected components:** Select, MenuAutocomplete, MenuAutocompleteListbox
84
233
 
85
234
  - 21c87cc: Fixes disabled state in primary and secondary buttons in Backstage UI.
235
+
236
+ **Affected components:** Button
237
+
86
238
  - 9c76682: build(deps-dev): bump `storybook` from 10.1.9 to 10.1.10
87
239
  - de80336: Fixed disabled tertiary buttons incorrectly showing hover effects on surfaces.
240
+
241
+ **Affected components:** Button
242
+
88
243
  - 133d5c6: Added new Popover component for Backstage UI with automatic overflow handling, and full placement support. Also introduced `--bui-shadow` token for consistent elevation styling across overlay components (Popover, Tooltip, Menu).
244
+
245
+ **Affected components:** Popover
246
+
89
247
  - 973c839: Fixed Table sorting indicator not being visible when a column is actively sorted.
90
248
 
91
- Affected components: Table, Column
249
+ **Affected components:** Table, Column
92
250
 
93
251
  - df40cfc: Fixed Menu component trigger button not toggling correctly. Removed custom click-outside handler that was interfering with React Aria's built-in state management, allowing the menu to properly open and close when clicking the trigger button.
252
+
253
+ **Affected components:** Menu
254
+
94
255
  - b01ab96: Added support for column width configuration in Table component. Columns now accept `width`, `defaultWidth`, `minWidth`, and `maxWidth` props for responsive layout control.
95
256
 
96
- Affected components: Table, Column
257
+ **Affected components:** Table, Column
97
258
 
98
259
  - b4a4911: Fixed SearchField `startCollapsed` prop not working correctly in Backstage UI. The field now properly starts in a collapsed state, expands when clicked and focused, and collapses back when unfocused with no input. Also fixed CSS logic to work correctly in all layout contexts (flex row, flex column, and regular containers).
99
260
 
100
- Affected components: SearchField
261
+ **Affected components:** SearchField
101
262
 
102
263
  - b3253b6: Fixed `Link` component causing hard page refreshes for internal routes. The component now properly uses React Router's navigation instead of full page reloads.
103
264
  - fe7fe69: Added support for custom pagination options in `useTable` hook and `Table` component. You can now configure `pageSizeOptions` to customize the page size dropdown, and hook into pagination events via `onPageSizeChange`, `onNextPage`, and `onPreviousPage` callbacks. When `pageSize` doesn't match any option, the first option is used and a warning is logged.
104
265
 
105
- Affected components: Table, TablePagination
266
+ **Affected components:** Table, TablePagination
106
267
 
107
268
  - cfac8a4: Fixed missing border styles on table selection cells in multi-select mode.
108
269
 
109
- Affected components: Table
270
+ **Affected components:** Table
110
271
 
111
272
  - 2532d2a: Added `className` and `style` props to the `Table` component.
112
273
 
113
- Affected components: Table
274
+ **Affected components:** Table
114
275
 
115
276
  ## 0.11.0-next.1
116
277
 
@@ -125,7 +286,7 @@
125
286
 
126
287
  New features include unified pagination modes, debounced query changes, stale data preservation during reloads, and row selection with toggle/replace behaviors.
127
288
 
128
- **Migration guide:**
289
+ **Migration:**
129
290
 
130
291
  1. Update imports and use the new `useTable` hook:
131
292
 
@@ -155,11 +316,11 @@
155
316
  +<Table columnConfig={columns} {...tableProps} />
156
317
  ```
157
318
 
158
- Affected components: Table, TableRoot, TablePagination
319
+ **Affected components:** Table, TableRoot, TablePagination
159
320
 
160
- - 95246eb: **Breaking** Updating color tokens to match the new neutral style on different surfaces.
321
+ - 95246eb: **BREAKING**: Updating color tokens to match the new neutral style on different surfaces.
161
322
 
162
- ## Migration notes
323
+ **Migration:**
163
324
 
164
325
  There's no direct replacement for the old tint tokens but you can use the new neutral set of color tokens on surface 0 or 1 as a replacement.
165
326
 
@@ -187,15 +348,15 @@
187
348
  - 9c76682: build(deps-dev): bump `storybook` from 10.1.9 to 10.1.10
188
349
  - b4a4911: Fixed SearchField `startCollapsed` prop not working correctly in Backstage UI. The field now properly starts in a collapsed state, expands when clicked and focused, and collapses back when unfocused with no input. Also fixed CSS logic to work correctly in all layout contexts (flex row, flex column, and regular containers).
189
350
 
190
- Affected components: SearchField
351
+ **Affected components:** SearchField
191
352
 
192
353
  ## 0.10.0
193
354
 
194
355
  ### Minor Changes
195
356
 
196
- - 16543fa: **Breaking change** The `Cell` component has been refactored to be a generic wrapper component that accepts `children` for custom cell content. The text-specific functionality (previously part of `Cell`) has been moved to a new `CellText` component.
357
+ - 16543fa: **BREAKING**: The `Cell` component has been refactored to be a generic wrapper component that accepts `children` for custom cell content. The text-specific functionality (previously part of `Cell`) has been moved to a new `CellText` component.
197
358
 
198
- ### Migration Guide
359
+ **Migration:**
199
360
 
200
361
  If you were using `Cell` with text-specific props (`title`, `description`, `leadingIcon`, `href`), you need to update your code to use `CellText` instead:
201
362
 
@@ -231,32 +392,32 @@
231
392
 
232
393
  - 50b7927: Fixed Checkbox indicator showing checkmark color when unchecked.
233
394
 
234
- Affected components: Checkbox
395
+ **Affected components:** Checkbox
235
396
 
236
397
  - 5bacf55: Fixed `ButtonIcon` incorrectly applying `className` to inner elements instead of only the root element.
237
398
 
238
- Affected components: ButtonIcon
399
+ **Affected components:** ButtonIcon
239
400
 
240
401
  - b3ad928: Fixed Table Row component to correctly handle cases where no `href` is provided, preventing unnecessary router provider wrapping and fixing the cursor incorrectly showing as a pointer despite the element not being a link.
241
402
 
242
- Affected components: Row
403
+ **Affected components:** Row
243
404
 
244
405
  - a20d317: Added row selection support with visual state styling for hover, selected, and pressed states. Fixed checkbox rendering to only show for multi-select toggle mode.
245
406
 
246
- Affected components: Table, TableHeader, Row, Column
407
+ **Affected components:** Table, TableHeader, Row, Column
247
408
 
248
409
  - fe7c751: Fixed `useTable` hook to prioritize `providedRowCount` over data length for accurate row count in server-side pagination scenarios.
249
410
  - c145031: Fixed Table column sorting indicator to show up arrow when no sort is active, correctly indicating that clicking will sort ascending.
250
411
 
251
- Affected components: Column
412
+ **Affected components:** Column
252
413
 
253
414
  ## 0.10.0-next.1
254
415
 
255
416
  ### Minor Changes
256
417
 
257
- - 16543fa: **Breaking change** The `Cell` component has been refactored to be a generic wrapper component that accepts `children` for custom cell content. The text-specific functionality (previously part of `Cell`) has been moved to a new `CellText` component.
418
+ - 16543fa: **BREAKING**: The `Cell` component has been refactored to be a generic wrapper component that accepts `children` for custom cell content. The text-specific functionality (previously part of `Cell`) has been moved to a new `CellText` component.
258
419
 
259
- ### Migration Guide
420
+ **Migration:**
260
421
 
261
422
  If you were using `Cell` with text-specific props (`title`, `description`, `leadingIcon`, `href`), you need to update your code to use `CellText` instead:
262
423
 
@@ -292,15 +453,15 @@
292
453
 
293
454
  - 50b7927: Fixed Checkbox indicator showing checkmark color when unchecked.
294
455
 
295
- Affected components: Checkbox
456
+ **Affected components:** Checkbox
296
457
 
297
458
  - 5bacf55: Fixed `ButtonIcon` incorrectly applying `className` to inner elements instead of only the root element.
298
459
 
299
- Affected components: ButtonIcon
460
+ **Affected components:** ButtonIcon
300
461
 
301
462
  - a20d317: Added row selection support with visual state styling for hover, selected, and pressed states. Fixed checkbox rendering to only show for multi-select toggle mode.
302
463
 
303
- Affected components: Table, TableHeader, Row, Column
464
+ **Affected components:** Table, TableHeader, Row, Column
304
465
 
305
466
  ## 0.9.1-next.0
306
467
 
@@ -308,12 +469,12 @@
308
469
 
309
470
  - b3ad928: Fixed Table Row component to correctly handle cases where no `href` is provided, preventing unnecessary router provider wrapping and fixing the cursor incorrectly showing as a pointer despite the element not being a link.
310
471
 
311
- Affected components: Row
472
+ **Affected components:** Row
312
473
 
313
474
  - fe7c751: Fixed `useTable` hook to prioritize `providedRowCount` over data length for accurate row count in server-side pagination scenarios.
314
475
  - c145031: Fixed Table column sorting indicator to show up arrow when no sort is active, correctly indicating that clicking will sort ascending.
315
476
 
316
- Affected components: Column
477
+ **Affected components:** Column
317
478
 
318
479
  ## 0.9.0
319
480
 
@@ -329,7 +490,7 @@
329
490
  - `large` size **changed from 3rem to 2.5rem** (40px)
330
491
  - New `x-large` size added (3rem / 48px)
331
492
 
332
- Migration:
493
+ **Migration:**
333
494
 
334
495
  ```diff
335
496
  # Remove Base UI-specific props
@@ -343,6 +504,8 @@
343
504
 
344
505
  Added `purpose` prop for accessibility control (`'informative'` or `'decoration'`).
345
506
 
507
+ **Affected components:** Avatar
508
+
346
509
  - 5c614ff: **BREAKING**: Migrated Checkbox component from Base UI to React Aria Components.
347
510
 
348
511
  API changes required:
@@ -356,7 +519,7 @@
356
519
  - Data attribute: `data-checked` → `data-selected`
357
520
  - Use without label is no longer supported
358
521
 
359
- Migration examples:
522
+ **Migration:**
360
523
 
361
524
  Before:
362
525
 
@@ -398,12 +561,12 @@
398
561
  </Checkbox>
399
562
  ```
400
563
 
401
- - 134151f: Fixing styles on SearchField in Backstage UI after migration to CSS modules. `SearchField` has now its own set of class names. We previously used class names from `TextField` but this approach was creating some confusion so going forward in your theme you'll be able to theme `TextField` and `SearchField` separately.
564
+ - 134151f: **BREAKING**: Fixing styles on SearchField in Backstage UI after migration to CSS modules. `SearchField` has now its own set of class names. We previously used class names from `TextField` but this approach was creating some confusion so going forward in your theme you'll be able to theme `TextField` and `SearchField` separately.
402
565
  - a67670d: **BREAKING**: Removed central `componentDefinitions` object and related type utilities (`ComponentDefinitionName`, `ComponentClassNames`).
403
566
 
404
567
  Component definitions are primarily intended for documenting the CSS class API for theming purposes, not for programmatic use in JavaScript/TypeScript.
405
568
 
406
- **Migration Guide:**
569
+ **Migration:**
407
570
 
408
571
  If you were using component definitions or class names to build custom components, we recommend migrating to either:
409
572
 
@@ -412,21 +575,15 @@
412
575
 
413
576
  - b78fc45: **BREAKING**: Changed className prop behavior to augment default styles instead of being ignored or overriding them.
414
577
 
415
- Affected components:
416
-
417
- - Menu, MenuListBox, MenuAutocomplete, MenuAutocompleteListbox, MenuItem, MenuListBoxItem, MenuSection, MenuSeparator
418
- - Switch
419
- - Skeleton
420
- - FieldLabel
421
- - Header, HeaderToolbar
422
- - HeaderPage
423
- - Tabs, TabList, Tab, TabPanel
424
-
425
578
  If you were passing custom className values to any of these components that relied on the previous behavior, you may need to adjust your styles to account for the default classes now being applied alongside your custom classes.
426
579
 
580
+ **Affected components:** Menu, MenuListBox, MenuAutocomplete, MenuAutocompleteListbox, MenuItem, MenuListBoxItem, MenuSection, MenuSeparator, Switch, Skeleton, FieldLabel, Header, HeaderToolbar, HeaderPage, Tabs, TabList, Tab, TabPanel
581
+
427
582
  - 83c100e: **BREAKING**: Removed `Collapsible` component. Migrate to `Accordion` or use React Aria `Disclosure`.
428
583
 
429
- ## Migration Path 1: Accordion (Opinionated Styled Component)
584
+ **Migration:**
585
+
586
+ **Path 1: Accordion (Opinionated Styled Component)**
430
587
 
431
588
  Accordion provides preset styling with a similar component structure.
432
589
 
@@ -447,7 +604,7 @@
447
604
 
448
605
  CSS classes: `.bui-CollapsibleRoot` → `.bui-Accordion`, `.bui-CollapsibleTrigger` → `.bui-AccordionTrigger` (now on heading element), `.bui-CollapsiblePanel` → `.bui-AccordionPanel`
449
606
 
450
- ## Migration Path 2: React Aria Disclosure (Full Customization)
607
+ **Path 2: React Aria Disclosure (Full Customization)**
451
608
 
452
609
  For custom styling without preset styles:
453
610
 
@@ -464,30 +621,73 @@
464
621
 
465
622
  Added searchable and multiple selection support to Select component. The component now accepts `searchable`, `selectionMode`, and `searchPlaceholder` props to enable filtering and multi-selection modes.
466
623
 
467
- Migration: If you're using `SelectProps` type directly, update from `SelectProps` to `SelectProps<'single' | 'multiple'>`. Component usage remains backward compatible.
624
+ **Migration:**
625
+
626
+ If you're using `SelectProps` type directly, update from `SelectProps` to `SelectProps<'single' | 'multiple'>`. Component usage remains backward compatible.
627
+
628
+ **Affected components:** Select
468
629
 
469
630
  ### Patch Changes
470
631
 
471
632
  - d01de00: Fix broken external links in Backstage UI Header component.
633
+
634
+ **Affected components:** Header
635
+
472
636
  - 35a3614: Fixed CSS issues in Select component including popover width constraints, focus outline behavior, and overflow handling.
637
+
638
+ **Affected components:** Select
639
+
473
640
  - 01476f0: Improved visual consistency of PasswordField, SearchField, and MenuAutocomplete components.
641
+
642
+ **Affected components:** PasswordField, SearchField, MenuAutocomplete
643
+
474
644
  - 26c6a78: Fix default text color in Backstage UI
645
+
646
+ **Affected components:** Text
647
+
475
648
  - deaa427: Fixed Text component to prevent `truncate` prop from being spread to the underlying DOM element.
649
+
650
+ **Affected components:** Text
651
+
476
652
  - 1059f95: Improved the Link component structure in Backstage UI.
653
+
654
+ **Affected components:** Link
655
+
477
656
  - 836b0c7: Fixed dialog backdrop appearance in dark mode.
657
+
658
+ **Affected components:** Dialog
659
+
478
660
  - 6874094: Migrated CellProfile component from Base UI Avatar to Backstage UI Avatar component.
661
+
662
+ **Affected components:** Avatar
663
+
479
664
  - 719d772: Avatar components in x-small and small sizes now display only one initial instead of two, improving readability at smaller dimensions.
665
+
666
+ **Affected components:** Avatar
667
+
480
668
  - 6d35a6b: Removed `@base-ui-components/react` dependency as all components now use React Aria Components.
481
669
  - dac851f: Fix the default font size in Backstage UI.
482
670
  - 3c0ea67: Fix CSS layer ordering in Backstage UI to make sure component styles are loaded after tokens and base declarations.
483
671
  - 3b18d80: Fixed RadioGroup radio button ellipse distortion by preventing flex shrink and grow.
672
+
673
+ **Affected components:** RadioGroup
674
+
484
675
  - 4eb455c: Fix font smoothing as default in Backstage UI.
485
676
  - ff9f0c3: Enable tree-shaking of imports other than `*.css`.
486
677
  - 7839e7b: Added `loading` prop to Button and ButtonIcon components for displaying spinner during async operations.
678
+
679
+ **Affected components:** Button, ButtonIcon
680
+
487
681
  - a00fb88: Fixed Table Row component to properly support opening links in new tabs via right-click or Cmd+Click when using the `href` prop.
682
+
683
+ **Affected components:** Table
684
+
488
685
  - e16ece5: Set the color-scheme property depending on theme
489
686
  - 1ef3ca4: Added new VisuallyHidden component for hiding content visually while keeping it accessible to screen readers.
490
- - 00bfb83: Fix default font wight and font family in Backstage UI.
687
+
688
+ **Affected components:** VisuallyHidden
689
+
690
+ - 00bfb83: Fix default font weight and font family in Backstage UI.
491
691
 
492
692
  ## 0.9.0-next.3
493
693
 
@@ -495,7 +695,9 @@
495
695
 
496
696
  - 83c100e: **BREAKING**: Removed `Collapsible` component. Migrate to `Accordion` or use React Aria `Disclosure`.
497
697
 
498
- ## Migration Path 1: Accordion (Opinionated Styled Component)
698
+ **Migration:**
699
+
700
+ **Path 1: Accordion (Opinionated Styled Component)**
499
701
 
500
702
  Accordion provides preset styling with a similar component structure.
501
703
 
@@ -516,7 +718,7 @@
516
718
 
517
719
  CSS classes: `.bui-CollapsibleRoot` → `.bui-Accordion`, `.bui-CollapsibleTrigger` → `.bui-AccordionTrigger` (now on heading element), `.bui-CollapsiblePanel` → `.bui-AccordionPanel`
518
720
 
519
- ## Migration Path 2: React Aria Disclosure (Full Customization)
721
+ **Path 2: React Aria Disclosure (Full Customization)**
520
722
 
521
723
  For custom styling without preset styles:
522
724
 
@@ -533,7 +735,9 @@
533
735
 
534
736
  Added searchable and multiple selection support to Select component. The component now accepts `searchable`, `selectionMode`, and `searchPlaceholder` props to enable filtering and multi-selection modes.
535
737
 
536
- Migration: If you're using `SelectProps` type directly, update from `SelectProps` to `SelectProps<'single' | 'multiple'>`. Component usage remains backward compatible.
738
+ **Migration:**
739
+
740
+ If you're using `SelectProps` type directly, update from `SelectProps` to `SelectProps<'single' | 'multiple'>`. Component usage remains backward compatible.
537
741
 
538
742
  ### Patch Changes
539
743
 
@@ -558,7 +762,7 @@
558
762
  - `large` size **changed from 3rem to 2.5rem** (40px)
559
763
  - New `x-large` size added (3rem / 48px)
560
764
 
561
- Migration:
765
+ **Migration:**
562
766
 
563
767
  ```diff
564
768
  # Remove Base UI-specific props
@@ -572,7 +776,7 @@
572
776
 
573
777
  Added `purpose` prop for accessibility control (`'informative'` or `'decoration'`).
574
778
 
575
- - 134151f: Fixing styles on SearchField in Backstage UI after migration to CSS modules. `SearchField` has now its own set of class names. We previously used class names from `TextField` but this approach was creating some confusion so going forward in your theme you'll be able to theme `TextField` and `SearchField` separately.
779
+ - 134151f: **BREAKING**: Fixing styles on SearchField in Backstage UI after migration to CSS modules. `SearchField` has now its own set of class names. We previously used class names from `TextField` but this approach was creating some confusion so going forward in your theme you'll be able to theme `TextField` and `SearchField` separately.
576
780
 
577
781
  ### Patch Changes
578
782
 
@@ -601,7 +805,7 @@
601
805
  - Data attribute: `data-checked` → `data-selected`
602
806
  - Use without label is no longer supported
603
807
 
604
- Migration examples:
808
+ **Migration:**
605
809
 
606
810
  Before:
607
811
 
@@ -645,18 +849,10 @@
645
849
 
646
850
  - b78fc45: **BREAKING**: Changed className prop behavior to augment default styles instead of being ignored or overriding them.
647
851
 
648
- Affected components:
649
-
650
- - Menu, MenuListBox, MenuAutocomplete, MenuAutocompleteListbox, MenuItem, MenuListBoxItem, MenuSection, MenuSeparator
651
- - Switch
652
- - Skeleton
653
- - FieldLabel
654
- - Header, HeaderToolbar
655
- - HeaderPage
656
- - Tabs, TabList, Tab, TabPanel
657
-
658
852
  If you were passing custom className values to any of these components that relied on the previous behavior, you may need to adjust your styles to account for the default classes now being applied alongside your custom classes.
659
853
 
854
+ **Affected components:** Menu, MenuListBox, MenuAutocomplete, MenuAutocompleteListbox, MenuItem, MenuListBoxItem, MenuSection, MenuSeparator, Switch, Skeleton, FieldLabel, Header, HeaderToolbar, HeaderPage, Tabs, TabList, Tab, TabPanel
855
+
660
856
  ### Patch Changes
661
857
 
662
858
  - ff9f0c3: Enable tree-shaking of imports other than `*.css`.
@@ -670,7 +866,7 @@
670
866
  - dac851f: Fix the default font size in Backstage UI.
671
867
  - 3c0ea67: Fix CSS layer ordering in Backstage UI to make sure component styles are loaded after tokens and base declarations.
672
868
  - 4eb455c: Fix font smoothing as default in Backstage UI.
673
- - 00bfb83: Fix default font wight and font family in Backstage UI.
869
+ - 00bfb83: Fix default font weight and font family in Backstage UI.
674
870
 
675
871
  ## 0.8.0
676
872
 
@@ -743,10 +939,10 @@
743
939
 
744
940
  ### Minor Changes
745
941
 
746
- - 0615e54: We are moving our DataTable component to React Aria. We removed our DataTable to only use Table as a single and opinionated option for tables. This new structure is made possible by using React Aria under the hood.
747
- - b245c9d: Backstage UI - HeaderPage - We are updating the breadcrumb to be more visible and accessible.
748
- - 800f593: **Breaking change** We are updating the Menu component to use React Aria under the hood. The structure and all props are changing to follow React Aria's guidance.
749
- - b0e47f3: **Breaking** We are upgrading our `Text` component to support all font sizes making the `Heading` component redundant. The new `Text` component introduces 4 sizes for title and 4 sizes for body text. All of these work in multiple colors and font weights. We improved the `as` prop to include all possible values. The `Link` component has also been updated to match the new `Text` component.
942
+ - 0615e54: **BREAKING**: We are moving our DataTable component to React Aria. We removed our DataTable to only use Table as a single and opinionated option for tables. This new structure is made possible by using React Aria under the hood.
943
+ - b245c9d: **BREAKING**: Backstage UI - HeaderPage - We are updating the breadcrumb to be more visible and accessible.
944
+ - 800f593: **BREAKING**: We are updating the Menu component to use React Aria under the hood. The structure and all props are changing to follow React Aria's guidance.
945
+ - b0e47f3: **BREAKING**: We are upgrading our `Text` component to support all font sizes making the `Heading` component redundant. The new `Text` component introduces 4 sizes for title and 4 sizes for body text. All of these work in multiple colors and font weights. We improved the `as` prop to include all possible values. The `Link` component has also been updated to match the new `Text` component.
750
946
 
751
947
  ### Patch Changes
752
948
 
@@ -755,7 +951,7 @@
755
951
  - f761306: Add new TagGroup component to Backstage UI.
756
952
  - 75fead9: Fixes a couple of small bugs in BUI including setting H1 and H2 correctly on the Header and HeaderPage.
757
953
  - e7ff178: Update styling of Tooltip element
758
- - 230b410: **Breaking change** Move breadcrumb to fit in the `HeaderPage` instead of the `Header` in Backstage UI.
954
+ - 230b410: **BREAKING**: Move breadcrumb to fit in the `HeaderPage` instead of the `Header` in Backstage UI.
759
955
  - 2f9a084: We are motion away from `motion` to use `gsap` instead to make Backstage UI backward compatible with React 17.
760
956
  - d4e603e: Updated Menu component in Backstage UI to use useId() from React Aria instead of React to support React 17.
761
957
  - 8bdc491: Remove stylesheet import from Select component.
@@ -766,11 +962,11 @@
766
962
 
767
963
  ### Minor Changes
768
964
 
769
- - 0615e54: We are moving our DataTable component to React Aria. We removed our DataTable to only use Table as a single and opinionated option for tables. This new structure is made possible by using React Aria under the hood.
965
+ - 0615e54: **BREAKING**: We are moving our DataTable component to React Aria. We removed our DataTable to only use Table as a single and opinionated option for tables. This new structure is made possible by using React Aria under the hood.
770
966
 
771
967
  ### Patch Changes
772
968
 
773
- - 230b410: **Breaking change** Move breadcrumb to fit in the `HeaderPage` instead of the `Header` in Backstage UI.
969
+ - 230b410: **BREAKING**: Move breadcrumb to fit in the `HeaderPage` instead of the `Header` in Backstage UI.
774
970
  - 8bdc491: Remove stylesheet import from Select component.
775
971
  - 404b426: Add `startCollapsed` prop on the `SearchField` component in BUI.
776
972
 
@@ -792,7 +988,7 @@
792
988
 
793
989
  ### Minor Changes
794
990
 
795
- - b0e47f3: **Breaking** We are upgrading our `Text` component to support all font sizes making the `Heading` component redundant. The new `Text` component introduces 4 sizes for title and 4 sizes for body text. All of these work in multiple colors and font weights. We improved the `as` prop to include all possible values. The `Link` component has also been updated to match the new `Text` component.
991
+ - b0e47f3: **BREAKING**: We are upgrading our `Text` component to support all font sizes making the `Heading` component redundant. The new `Text` component introduces 4 sizes for title and 4 sizes for body text. All of these work in multiple colors and font weights. We improved the `as` prop to include all possible values. The `Link` component has also been updated to match the new `Text` component.
796
992
 
797
993
  ### Patch Changes
798
994
 
@@ -803,13 +999,13 @@
803
999
 
804
1000
  ### Minor Changes
805
1001
 
806
- - e92bb9b: Canon has been renamed to Backstage UI. This means that `@backstage/canon` has been deprecated and replaced by `@backstage/ui`.
1002
+ - e92bb9b: **BREAKING**: Canon has been renamed to Backstage UI. This means that `@backstage/canon` has been deprecated and replaced by `@backstage/ui`.
807
1003
 
808
1004
  ## 0.6.0-next.1
809
1005
 
810
1006
  ### Minor Changes
811
1007
 
812
- - 2e30459: We are moving our Tooltip component to use React Aria under the hood. In doing so, the structure of the component and its prop are changing to follow the new underlying structure.
1008
+ - 2e30459: **BREAKING**: We are moving our Tooltip component to use React Aria under the hood. In doing so, the structure of the component and its prop are changing to follow the new underlying structure.
813
1009
 
814
1010
  ### Patch Changes
815
1011
 
@@ -824,7 +1020,7 @@
824
1020
 
825
1021
  ### Minor Changes
826
1022
 
827
- - 4c6d891: **BREAKING CHANGES**
1023
+ - 4c6d891: **BREAKING**:
828
1024
 
829
1025
  We’re updating our Button component to provide better support for button links.
830
1026
 
@@ -847,12 +1043,12 @@
847
1043
 
848
1044
  ### Minor Changes
849
1045
 
850
- - 621fac9: We are updating the default size of the Button component in Canon to be small instead of medium.
851
- - a842554: We set the default size for IconButton in Canon to be small instead of medium.
852
- - 35fd51d: Move TextField component to use react Aria under the hood. Introducing a new FieldLabel component to help build custom fields.
853
- - 78204a2: **Breaking** We are adding a new as prop on the Heading and Text component to make it easier to change the component tag. We are removing the render prop in favour of the as prop.
854
- - c49e335: TextField in Canon now has multiple label sizes as well as the capacity to hide label and description but still make them available for screen readers.
855
- - 24b45ef: Fixes spacing props on layout components and aligned on naming for the Grid component. You should now call the Grid root component using <Grid.Root /> instead of just <Grid />.
1046
+ - 621fac9: **BREAKING**: We are updating the default size of the Button component in Canon to be small instead of medium.
1047
+ - a842554: **BREAKING**: We set the default size for IconButton in Canon to be small instead of medium.
1048
+ - 35fd51d: **BREAKING**: Move TextField component to use react Aria under the hood. Introducing a new FieldLabel component to help build custom fields.
1049
+ - 78204a2: **BREAKING**: We are adding a new as prop on the Heading and Text component to make it easier to change the component tag. We are removing the render prop in favour of the as prop.
1050
+ - c49e335: **BREAKING**: TextField in Canon now has multiple label sizes as well as the capacity to hide label and description but still make them available for screen readers.
1051
+ - 24b45ef: **BREAKING**: Fixes spacing props on layout components and aligned on naming for the Grid component. You should now call the Grid root component using `<Grid.Root />` instead of just `<Grid />`.
856
1052
 
857
1053
  ### Patch Changes
858
1054
 
@@ -882,7 +1078,7 @@
882
1078
 
883
1079
  ### Minor Changes
884
1080
 
885
- - 24b45ef: Fixes spacing props on layout components and aligned on naming for the Grid component. You should now call the Grid root component using <Grid.Root /> instead of just <Grid />.
1081
+ - 24b45ef: Fixes spacing props on layout components and aligned on naming for the Grid component. You should now call the Grid root component using `<Grid.Root />` instead of just `<Grid />`.
886
1082
 
887
1083
  ### Patch Changes
888
1084
 
@@ -892,9 +1088,9 @@
892
1088
 
893
1089
  ### Minor Changes
894
1090
 
895
- - ea36f74: **Breaking Change** Icons on Button and IconButton now need to be imported and placed like this: <Button iconStart={<ChevronDownIcon />} />
896
- - ccb1fc6: We are modifying the way we treat custom render using 'useRender()' under the hood from BaseUI.
897
- - 04a65c6: The icon prop in TextField now accept a ReactNode instead of an icon name. We also updated the icon sizes for each input sizes.
1091
+ - ea36f74: **BREAKING**: Icons on Button and IconButton now need to be imported and placed like this: `<Button iconStart={<ChevronDownIcon />} />`
1092
+ - ccb1fc6: **BREAKING**: We are modifying the way we treat custom render using 'useRender()' under the hood from BaseUI.
1093
+ - 04a65c6: **BREAKING**: The icon prop in TextField now accept a ReactNode instead of an icon name. We also updated the icon sizes for each input sizes.
898
1094
 
899
1095
  ### Patch Changes
900
1096
 
@@ -928,7 +1124,7 @@
928
1124
 
929
1125
  ### Minor Changes
930
1126
 
931
- - ea36f74: **Breaking Change** Icons on Button and IconButton now need to be imported and placed like this: <Button iconStart={<ChevronDownIcon />} />
1127
+ - ea36f74: **BREAKING**: Icons on Button and IconButton now need to be imported and placed like this: `<Button iconStart={<ChevronDownIcon />} />`
932
1128
 
933
1129
  ### Patch Changes
934
1130
 
@@ -946,9 +1142,9 @@
946
1142
 
947
1143
  ### Minor Changes
948
1144
 
949
- - df4e292: Improve class name structure using data attributes instead of class names.
950
- - f038613: Updated TextField and Select component to work with React Hook Form.
951
- - 1b0cf40: Add new Select component for Canon
1145
+ - df4e292: **BREAKING**: Improve class name structure using data attributes instead of class names.
1146
+ - f038613: **BREAKING**: Updated TextField and Select component to work with React Hook Form.
1147
+ - 1b0cf40: **BREAKING**: Add new Select component for Canon
952
1148
  - 5074d61: **BREAKING**: Added a new TextField component to replace the Field and Input component. After feedback, it became clear that we needed to build a more opinionated version to avoid any problem in the future.
953
1149
 
954
1150
  ### Patch Changes
@@ -960,7 +1156,7 @@
960
1156
  - 35b36ec: Add new Collapsible component for Canon.
961
1157
  - a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
962
1158
 
963
- <https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html>
1159
+ https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
964
1160
 
965
1161
  - 513477f: Add global CSS reset for anchor tags.
966
1162
  - 24f0e08: Improved Container styles, changing our max-width to 120rem and improving padding on smaller screens.
@@ -987,7 +1183,7 @@
987
1183
 
988
1184
  - a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
989
1185
 
990
- <https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html>
1186
+ https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
991
1187
 
992
1188
  - 24f0e08: Improved Container styles, changing our max-width to 120rem and improving padding on smaller screens.
993
1189
  - 7ae28ba: Move styles to the root of the TextField component.
@@ -1012,14 +1208,14 @@
1012
1208
 
1013
1209
  ### Minor Changes
1014
1210
 
1015
- - 5a5db29: Fix CSS imports and move CSS outputs out of the dist folder.
1016
- - 4557beb: Added a new Tooltip component to Canon.
1017
- - 1e4dfdb: We added a new IconButton component with fixed sizes showcasing a single icon.
1018
- - e8d12f9: Added about 40 new icons to Canon.
1019
- - 8689010: We are renaming CanonProvider to IconProvider to improve clarity on how to override icons.
1020
- - bf319b7: Added a new Menu component to Canon.
1021
- - cb7e99d: Updating styles for Text and Link components as well as global surface tokens.
1022
- - bd8520d: Added a new ScrollArea component for Canon.
1211
+ - 5a5db29: **BREAKING**: Fix CSS imports and move CSS outputs out of the dist folder.
1212
+ - 4557beb: **BREAKING**: Added a new Tooltip component to Canon.
1213
+ - 1e4dfdb: **BREAKING**: We added a new IconButton component with fixed sizes showcasing a single icon.
1214
+ - e8d12f9: **BREAKING**: Added about 40 new icons to Canon.
1215
+ - 8689010: **BREAKING**: We are renaming CanonProvider to IconProvider to improve clarity on how to override icons.
1216
+ - bf319b7: **BREAKING**: Added a new Menu component to Canon.
1217
+ - cb7e99d: **BREAKING**: Updating styles for Text and Link components as well as global surface tokens.
1218
+ - bd8520d: **BREAKING**: Added a new ScrollArea component for Canon.
1023
1219
 
1024
1220
  ### Patch Changes
1025
1221
 
@@ -1048,9 +1244,9 @@
1048
1244
  ### Minor Changes
1049
1245
 
1050
1246
  - 72c9800: **BREAKING**: Merged the Stack and Inline component into a single component called Flex.
1051
- - 65f4acc: This is the first alpha release for Canon. As part of this release we are introducing 5 layout components and 7 components. All theming is done through CSS variables.
1247
+ - 65f4acc: **BREAKING**: This is the first alpha release for Canon. As part of this release we are introducing 5 layout components and 7 components. All theming is done through CSS variables.
1052
1248
  - 1e4ccce: **BREAKING**: Fixing css structure and making sure that props are applying the correct styles for all responsive values.
1053
- - 8309bdb: Updated core CSS tokens and fixing the Button component accordingly.
1249
+ - 8309bdb: **BREAKING**: Updated core CSS tokens and fixing the Button component accordingly.
1054
1250
 
1055
1251
  ### Patch Changes
1056
1252