fix(deps): update dependency @backstage/ui to ^0.13.0#83
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
fix(deps): update dependency @backstage/ui to ^0.13.0#83renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^0.12.0→^0.13.0Release Notes
backstage/backstage (@backstage/ui)
v0.13.0Compare Source
Minor Changes
768f09d: BREAKING: Simplified the neutral background prop API for container components. The explicitneutral-1,neutral-2,neutral-3, andneutral-autovalues have been removed fromProviderBg. They are replaced by a single'neutral'value that always auto-increments from the parent context, making it impossible to skip or pin to an explicit neutral level.Migration:
Replace any explicit
bg="neutral-1",bg="neutral-2",bg="neutral-3", orbg="neutral-auto"props withbg="neutral". To achieve a specific neutral level in stories or tests, use nested containers — each additionalbg="neutral"wrapper increments by one level.Affected components: Box, Flex, Grid, Card, Accordion, Popover, Tooltip, Dialog, Menu
b42fcdc: BREAKING: Removed--bui-bg-popoverCSS token. Popover, Tooltip, Menu, and Dialog now use--bui-bg-appfor their outer shell andBox bg="neutral-1"for content areas, providing better theme consistency and eliminating a redundant token.Migration:
Replace any usage of
--bui-bg-popoverwith--bui-bg-neutral-1(for content surfaces) or--bui-bg-app(for outer shells):Affected components: Popover, Tooltip, Menu, Dialog
bd3a76e: BREAKING: Data attributes rendered by components are now always lowercase. This affects CSS selectors targeting camelCase data attributes.Migration:
Update any custom CSS selectors that target camelCase data attributes to use lowercase instead:
Affected components: SearchField
95702ab: BREAKING: Removed deprecated typesComponentDefinition,ClassNamesMap,DataAttributeValues, andDataAttributesMapfrom the public API. These were internal styling infrastructure types that have been replaced by thedefineComponentsystem.Migration:
Remove any direct usage of these types. Component definitions now use
defineComponent()and their shapes are not part of the public API contract.- import type { ComponentDefinition, ClassNamesMap } from '@​backstage/ui';If you were reading
definition.dataAttributes, usedefinition.propDefsinstead — props withdataAttribute: trueinpropDefsare the equivalent.42f8c9b: BREAKING: Centralized client-side routing inBUIProvider. Components like Link, ButtonLink, Tabs, Menu, TagGroup, and Table now require aBUIProviderrendered inside a React Router context for client-side navigation to work.Migration:
This change requires updating
@backstage/plugin-appand@backstage/core-app-apialongside@backstage/ui. If you only upgrade@backstage/ui, BUI components will fall back to full-page navigation.If you cannot upgrade all packages together, or if you have a custom app shell, add a
BUIProviderinside your Router:Affected components: Link, ButtonLink, Tabs, Menu, TagGroup, Table
17d6398: BREAKING: Renamed internal CSS classes to match theHeadercomponent name.Migration:: If you are targeting these classes directly in your styles, update the following:
bui-HeaderPage→bui-Headerbui-HeaderPageContent→bui-HeaderContentbui-HeaderPageBreadcrumbs→bui-HeaderBreadcrumbsbui-HeaderPageTabsWrapper→bui-HeaderTabsWrapperbui-HeaderPageControls→bui-HeaderControlsAffected components:: Header
9d5f3ba: Removed redundantselectedandindeterminateprops from theCheckboxcomponent. Use theisSelectedandisIndeterminateprops instead, which are the standard React Aria props and already handle both the checkbox behaviour and the corresponding CSS data attributes.Migration:
Replace any usage of the
selectedandindeterminateprops onCheckboxwith theisSelectedandisIndeterminateprops. Note that the checked state and related CSS data attributes (such asdata-selectedanddata-indeterminate) are now driven by React Aria, so any custom logic that previously inspected or set these via the old props should instead rely on the React Aria-managed state and attributes exposed through the new props.Affected components: Checkbox
Patch Changes
04d9d8d: AddedListandListRowcomponents. These provide a standalone, accessible list of interactive rows built on top of React Aria'sGridListandGridListItemprimitives. Rows support icons, descriptions, actions, menus, and single or multiple selection modes.Affected components: List, ListRow
a1f4bee: Made Accordion abgprovider so nested components like Button auto-increment their background level. UpdateduseDefinitionto resolvebgpropDefdefaults for provider components.db92751: Added interactive support to theCardcomponent. PassonPressto make the entire card surface pressable, orhrefto make it navigate to a URL. A transparent overlay handles the interaction while nested buttons and links remain independently clickable.12d8afe: Added analytics capabilities to the component library. Components with navigation behavior (Link, ButtonLink, Tab, MenuItem, Tag, Row) now fire analytics events on click when aBUIProvideris present.New exports:
BUIProvider,useAnalytics,getNodeText, and associated types (AnalyticsTracker,UseAnalyticsFn,BUIProviderProps,AnalyticsEventAttributes).Components with analytics support now accept a
noTrackprop to suppress event firing.Affected components: Link, ButtonLink, Tab, MenuItem, Tag, Row
b838cc9: Added aloadingprop anddata-loadingdata attribute toTableRoot, allowing consumers to distinguish between stale data and initial loading states. Bothstaleandloadingsetaria-busyon the table.Affected components: TableRoot
690786f: Improved theTablecomponent loading state to show a skeleton UI with visible headers instead of plain "Loading..." text. The table now renders its full structure during loading, with animated skeleton rows in place of data. The loading state includes proper accessibility support witharia-busyon the table and screen reader announcements.Affected components: Table
58224d3: Fixed neutral-1 hover & pressed state in light mode.95702ab: Migrated all components fromuseStylestouseDefinitionhook. ExportedOwnPropstypes for each component, enabling better type composition for consumers.Affected components: Avatar, Checkbox, Container, Dialog, FieldError, FieldLabel, Flex, FullPage, Grid, HeaderPage, Link, Menu, PasswordField, PluginHeader, Popover, RadioGroup, SearchField, Select, Skeleton, Switch, Table, TablePagination, Tabs, TagGroup, Text, TextField, ToggleButton, ToggleButtonGroup, Tooltip, VisuallyHidden
430d5ed: Fixed interactive cards so that CardBody can scroll when the card has a constrained height. Previously, the overlay element blocked scroll events.Affected components: Card
4c2c350: Removed thetransitiononContainerpadding to prevent an unwanted animation when the viewport is resized.Affected components: Container
e0b7eb0: Fixed --bui-fg-success token in light mode to be more accessible.ad7c883: Deprecated theHeaderPagecomponent name in favor ofHeader. The oldHeaderPage,HeaderPageProps,HeaderPageOwnProps,HeaderPageBreadcrumb, andHeaderPageDefinitionexports are still available as deprecated aliases.0ebde15: Added documentation for the table cell wrapper requirement to TSDoc comments forCell,CellText,CellProfile,ColumnConfig, andRowRenderFn.d9d2dd6: AddedSearchAutocompleteandSearchAutocompleteItemcomponents for building accessible search-with-results patterns. Built on React Aria's Autocomplete with keyboard navigation and screen reader support. Designed for async/external search results with a configurable popover width.Affected components: SearchAutocomplete, SearchAutocompleteItem
a6b84e1: Made Checkboxchildrenoptional and added a dev warning when neither a visible label,aria-label, noraria-labelledbyis provided. The label wrapper div is no longer rendered when there are no children, removing the unnecessary gap.Affected components: Checkbox
b99f6d5: FixedDialogcontent overflowing when noheightprop is set. The dialog now grows with its content and scrolls when content exceeds the viewport height.Affected components: Dialog
2f581de: Fixed focus ring styles to use React Aria's[data-focus-visible]data attribute instead of the native CSS:focus-visiblepseudo-class. This ensures keyboard focus rings render reliably when focus is managed programmatically by React Aria (e.g. inside a GridList, Menu, or Select).Affected components: Accordion, Button, ButtonIcon, ButtonLink, Card, List, Menu, Select, ToggleButtonGroup
17d6398: Fixed incorrect bottom spacing caused byContainerusingpadding-bottomfor its default bottom spacing. Changed tomargin-bottomand prevented it from applying whenContaineris used as theHeaderroot element.Affected components: Container, Header
2e5c651: FixedPluginHeaderto avoid triggeringResizeObserver loop completed with undelivered notificationswarnings when used in layouts that react to the header height, such as pages that useFullPage.Affected components: PluginHeader
d4fa5b4: Fixed tabmatchStrategymatching to ignore query parameters and hash fragments in tabhrefvalues. Previously, tabs with query params in theirhref(e.g.,/page?group=foo) would never show as active since matching compared the fullhrefstring againstlocation.pathnamewhich never includes query params.Affected components: Tabs, PluginHeader
bc42b60: Fixed Table component to use current--bui-bg-neutral-1tokens instead of the removed--bui-bg-tinttokens, restoring row hover, selected, pressed, and disabled background colors.9314ff5: Fixed a bug in theuseTablehook where the loading skeleton was never shown forcompletemode when usinggetData. The initial data state was an empty array instead ofundefined, causing theTablecomponent to skip the loading state.f42f4cc: Fixed Table column headers overflowing and wrapping when there is not enough space. Headers now truncate with ellipsis instead.Affected components: Table
1f9682b: Fixed Table row hover, selected, pressed, and disabled background states to use the correct neutral token level based on the container background.Affected components: Table
fbd5c5a: Fixed Table rows showing a pointer cursor when not interactive. Rows now only showcursor: pointerwhen they have anhref, are selectable, or are pressable.Affected components: Table
612c217: FixedTablerows with externalhrefvalues to open in a new tab by automatically applyingtarget="_blank"andrel="noopener noreferrer".Affected components: Table
545129a: Updated Table selection checkboxes to usearia-labelinstead of empty fragment children, improving accessibility and removing the unnecessary label gap in the selection cells.Affected components: Table
36987db: Fixed handling of thestyleprop onButton,ButtonIcon, andButtonLinkso that it is now correctly forwarded to the underlying element instead of being silently dropped.Affected components: Button, ButtonIcon, ButtonLink
95702ab: Fixed Link variant default from'body'to'body-medium'to match actual CSS selectors. The previous default did not correspond to a valid variant value.Affected components: Link
9027b10: Fixed scroll overflow in Menu and Select popover content when constrained by viewport height.Affected components: Menu, Select
7960d54: Added support for native HTML div attributes on theFlex,Grid, andGrid.Itemcomponents.Affected components: Flex, Grid, Grid.Item
0559408: Addedvirtualizedprop toTablecomponent for virtualized rendering of large datasets. Acceptstruefor default row height,{ rowHeight: number }for fixed height, or{ estimatedRowHeight: number }for variable height rows.8909359: Fixed focus-visible outline styles for Menu and Select components.Affected components: Menu, Select
12d8afe: Fixed MenuItemonActionprop ordering so user-providedonActionhandlers are chained rather than silently overwritten.aa29b50: Pages created withPageBlueprintnow render the plugin header by default in the new frontend system.bb66b86: TheSelecttrigger now automatically adapts its background colour based on the parent background context.Affected components: Select
4105a78: Merged the internalPluginHeaderToolbarcomponent intoPluginHeader, removing the separate component and its associated types (PluginHeaderToolbarOwnProps,PluginHeaderToolbarProps) and definition (PluginHeaderToolbarDefinition). This is an internal refactor with no changes to the public API ofPluginHeader.Affected components: PluginHeader
9599697: Updated dependencyglobalsto^17.0.0.0f462f8: Improved type safety inuseDefinitionby centralizing prop resolution and strengthening theBgPropsConstraintto require thatbgprovider components declarechildrenas a required prop in their OwnProps type.8909359: Added proper cursor styles for RadioGroup items.Affected components: RadioGroup
fcaac3b: FixedCardinteractive cards not firing theonPresshandler when clicking the card surface.Affected components: Card
b303857: FixedisRequiredprop not being passed to the underlying React Aria field components in TextField, SearchField, and PasswordField. Previously,isRequiredwas consumed locally for the secondary label text but never forwarded, which meant the input elements lackedaria-required="true"and React Aria's built-in required validation was not activated.Affected components: TextField, SearchField, PasswordField
934ac03:SearchFieldandTextFieldnow automatically adapt their background color based on the parent bg context, stepping up one neutral level (e.g. neutral-1 → neutral-2) when placed on a neutral background.TextFieldalso gains a focus ring using the--bui-ringtoken.Affected components: SearchField, TextField
cd3cb0f: ImproveduseBreakpointperformance by sharing a single set ofmatchMedialisteners across all component instances instead of creating independent listeners per hook call.36987db: ExtendedAlertProps,ContainerProps,DialogBodyProps, andFieldLabelPropswith native div element props to allow passing attributes likearia-*anddata-*.Affected components: Alert, Container, DialogBody, FieldLabel
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.