diff --git a/.changeset/five-ends-design.md b/.changeset/five-ends-design.md new file mode 100644 index 0000000000..47363ed07d --- /dev/null +++ b/.changeset/five-ends-design.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-mui-to-bui': patch +--- + +Updated CSS token references to use renamed `--bui-bg-app` and `--bui-border-2` tokens. diff --git a/.changeset/icy-houses-cough.md b/.changeset/icy-houses-cough.md new file mode 100644 index 0000000000..bd686403bf --- /dev/null +++ b/.changeset/icy-houses-cough.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-app-visualizer': patch +--- + +Updated CSS token references to use renamed `--bui-border-2` token. diff --git a/.changeset/module-federation-cli-updates.md b/.changeset/module-federation-cli-updates.md new file mode 100644 index 0000000000..da874358d5 --- /dev/null +++ b/.changeset/module-federation-cli-updates.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Removed the `EXPERIMENTAL_MODULE_FEDERATION` environment variable flag, making module federation host support always available during `package start`. The host shared dependencies are now managed through `@backstage/module-federation-common` and injected as a versioned runtime script at build time. diff --git a/.changeset/module-federation-loader-updates.md b/.changeset/module-federation-loader-updates.md new file mode 100644 index 0000000000..21192c0d1d --- /dev/null +++ b/.changeset/module-federation-loader-updates.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-dynamic-feature-loader': patch +--- + +Updated module federation integration to use `@module-federation/enhanced/runtime` `createInstance` API and the new `loadModuleFederationHostShared` from `@backstage/module-federation-common` for loading shared dependencies. Also added support for passing a pre-created `ModuleFederation` instance via the `moduleFederation.instance` option. diff --git a/.changeset/module-federation-sdk-bump.md b/.changeset/module-federation-sdk-bump.md new file mode 100644 index 0000000000..0a092af5fb --- /dev/null +++ b/.changeset/module-federation-sdk-bump.md @@ -0,0 +1,7 @@ +--- +'@backstage/backend-dynamic-feature-service': patch +'@backstage/frontend-dynamic-feature-loader': patch +'@backstage/cli': patch +--- + +Updated `@module-federation/enhanced`, `@module-federation/runtime`, and `@module-federation/sdk` dependencies from `^0.9.0` to `^0.21.6`. diff --git a/.changeset/plain-deer-sneeze.md b/.changeset/plain-deer-sneeze.md new file mode 100644 index 0000000000..f492746f0a --- /dev/null +++ b/.changeset/plain-deer-sneeze.md @@ -0,0 +1,23 @@ +--- +'@backstage/ui': minor +--- + +**BREAKING:** Renamed, added, and removed CSS tokens. + +- Renamed `--bui-bg-neutral-0` to `--bui-bg-app`. +- Renamed `--bui-border` to `--bui-border-2`. +- Added `--bui-border-1` for subtle, low-contrast borders. +- Added `--bui-bg-popover` for the background color of popovers, tooltips, menus, and dialogs. +- Removed `--bui-border-hover`, `--bui-border-pressed`, and `--bui-border-disabled`. + +**Migration:** + +```diff +- var(--bui-bg-neutral-0) ++ var(--bui-bg-app) + +- var(--bui-border) ++ var(--bui-border-2) +``` + +Remove any references to `--bui-border-hover`, `--bui-border-pressed`, and `--bui-border-disabled` as these tokens no longer exist. diff --git a/.changeset/small-ravens-add.md b/.changeset/small-ravens-add.md index bec57e94fe..6527ec1309 100644 --- a/.changeset/small-ravens-add.md +++ b/.changeset/small-ravens-add.md @@ -1,10 +1,5 @@ --- -'@backstage/backend-dynamic-feature-service': patch -'@backstage/frontend-dynamic-feature-loader': patch -'@backstage/module-federation-common': patch -'@backstage/cli': patch +'@backstage/module-federation-common': minor --- -Enable Module Federation support in the frontend application (Module Federation host) through API only, without using the ModuleFederationPlugin at build time, nor producing specific generated bundled assets. -Module federation remotes still use ModuleFederationPlugin at build time to provide module-federation enabled remote modules, like plugin bundles or dynamic frontend plugins. -Default shared dependencies are provided for both the frontend application (Module Federation host), and Module Federation remotes, maintaining consistency between both sides. +Added new `@backstage/module-federation-common` package that provides shared types, default configurations, and runtime utilities for module federation. It includes `loadModuleFederationHostShared` for loading shared dependencies in parallel at runtime, `defaultHostSharedDependencies` and `defaultRemoteSharedDependencies` for consistent dependency configuration, and types such as `HostSharedDependencies`, `RemoteSharedDependencies`, and `RuntimeSharedDependenciesGlobal`. diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index dff52c85d6..6a0177cafe 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -132,11 +132,10 @@ export default definePreview({ }; }, [selectedTheme, selectedThemeName]); - document.body.style.backgroundColor = 'var(--bui-bg-neutral-0)'; + document.body.style.backgroundColor = 'var(--bui-bg-app)'; const docsStoryElements = document.getElementsByClassName('docs-story'); Array.from(docsStoryElements).forEach(element => { - (element as HTMLElement).style.backgroundColor = - 'var(--bui-bg-neutral-0)'; + (element as HTMLElement).style.backgroundColor = 'var(--bui-bg-app)'; }); return ( diff --git a/.storybook/storybook.css b/.storybook/storybook.css index 617af88ba2..e0f0b68678 100644 --- a/.storybook/storybook.css +++ b/.storybook/storybook.css @@ -5,10 +5,10 @@ --sb-panel-left: 0; --sb-panel-right: 0; --sb-sidebar-border: none; - --sb-sidebar-border-right: 1px solid var(--bui-border); + --sb-sidebar-border-right: 1px solid var(--bui-border-2); --sb-sidebar-bg: #000; --sb-options-border: none; - --sb-options-border-left: 1px solid var(--bui-border); + --sb-options-border-left: 1px solid var(--bui-border-2); --sb-content-padding-inline: 250px; } @@ -31,8 +31,8 @@ } [data-theme-name='spotify'][data-theme-mode='light'] { - --sb-sidebar-border: 1px solid var(--bui-border); - --sb-sidebar-border-right: 1px solid var(--bui-border); - --sb-options-border: 1px solid var(--bui-border); - --sb-options-border-left: 1px solid var(--bui-border); + --sb-sidebar-border: 1px solid var(--bui-border-2); + --sb-sidebar-border-right: 1px solid var(--bui-border-2); + --sb-options-border: 1px solid var(--bui-border-2); + --sb-options-border-left: 1px solid var(--bui-border-2); } diff --git a/.storybook/themes/spotify.css b/.storybook/themes/spotify.css index c52062fe96..b72683f53e 100644 --- a/.storybook/themes/spotify.css +++ b/.storybook/themes/spotify.css @@ -174,7 +174,7 @@ } .bui-TableHeader .bui-TableRow { - border-bottom: 1px solid var(--bui-border); + border-bottom: 1px solid var(--bui-border-2); } .bui-TableHead { @@ -226,10 +226,7 @@ --bui-fg-solid: var(--bui-black); --bui-fg-solid-disabled: #62ab7c; - --bui-border: #d9d9d9; - --bui-border-hover: rgba(0, 0, 0, 0.3); - --bui-border-pressed: rgba(0, 0, 0, 0.5); - --bui-border-disabled: rgba(0, 0, 0, 0.1); + --bui-border-2: #d9d9d9; --bui-border-danger: #f87a7a; --bui-border-warning: #e36d05; --bui-border-success: #53db83; @@ -237,16 +234,16 @@ --bui-ring: rgba(0, 0, 0, 0.2); .bui-HeaderToolbarWrapper { - border: 1px solid var(--bui-border); + border: 1px solid var(--bui-border-2); } .bui-HeaderTabsWrapper { - border: 1px solid var(--bui-border); + border: 1px solid var(--bui-border-2); } } [data-theme-mode='dark'][data-theme-name='spotify'] { - --bui-bg-neutral-0: var(--bui-black); + --bui-bg-app: var(--bui-black); --bui-bg-solid: #1ed760; --bui-bg-solid-hover: #3be477; @@ -266,10 +263,7 @@ --bui-fg-warning: #e36d05; --bui-fg-success: #1db954; - --bui-border: #373737; - --bui-border-hover: rgba(255, 255, 255, 0.4); - --bui-border-pressed: rgba(255, 255, 255, 0.5); - --bui-border-disabled: rgba(255, 255, 255, 0.2); + --bui-border-2: #373737; --bui-border-danger: #f87a7a; --bui-border-warning: #e36d05; --bui-border-success: #53db83; diff --git a/docs-ui/src/app/tokens/page.mdx b/docs-ui/src/app/tokens/page.mdx index 46d67ded95..f359c10525 100644 --- a/docs-ui/src/app/tokens/page.mdx +++ b/docs-ui/src/app/tokens/page.mdx @@ -137,7 +137,7 @@ the value, you add an object with the value and the breakpoint prefix. ## Neutral background colors These colors form a layered neutral scale for your application backgrounds. -`--bui-bg-neutral-0` is the base background color of your app. Each subsequent level +`--bui-bg-app` is the base background color of your app. Each subsequent level (1 through 4) represents an elevated layer on top of the previous one, with hover, pressed, and disabled variants for interactive states. @@ -151,7 +151,7 @@ pressed, and disabled variants for interactive states.