48 Commits

Author SHA1 Message Date
Charles de Dreuille 78f6fd3b5b Small fixes
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-05-29 16:07:56 +02:00
Charles de Dreuille ad1936ee31 Update spotify.css
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-05-26 15:46:51 +02:00
Charles de Dreuille d38977c7b4 feat(ui): introduce semantic color token families and deprecate legacy tokens
Redesigns the BUI color token system in `@backstage/ui`:

- Adds a gray scale (`--bui-gray-1` through `--bui-gray-11`)
- Adds new foreground tokens with explicit hex values (primary, secondary, disabled, positive, negative, warning, announcement)
- Introduces five new semantic color families — Accent, Announcement, Warning, Negative, Positive — each with bg-base, bg-subdued, border, fg-on-base, and fg-on-subdued variants, for both light and dark themes
- Moves all legacy tokens (`--bui-bg-solid-*`, `--bui-bg-neutral-*`, `--bui-bg-danger/warning/success/info`, `--bui-fg-solid`, `--bui-fg-danger/success/info`, `--bui-border-*`, `--bui-shadow`) into a clearly marked `/* Deprecated tokens */` section in both light and dark themes
- Updates the Spotify theme overrides to use the new accent tokens and mark legacy overrides as deprecated
- Rewrites the `Colors` Storybook story to display all token families as a live, theme-aware reference grid
- Adds a new `@backstage/no-deprecated-bui-tokens` ESLint rule to `@backstage/eslint-plugin` that warns when any deprecated BUI token is referenced in JS/TS string literals; the rule is included in the `recommended` config so it applies to all plugin authors automatically

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-05-26 15:08:53 +02:00
Charles de Dreuille 93d1d40e64 fix(ui): refine plugin header spacing
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-29 19:07:59 +01:00
Charles de Dreuille 38bb056aa6 fix(ui): adjust plugin header spacing
Align PluginHeader spacing across tabbed and non-tabbed variants so the component owns the surrounding page spacing more consistently.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-29 19:07:59 +01:00
Charles de Dreuille ec93dd281a fix(ui): always render headerTop, adjust content padding, add story
- Always render headerTop wrapper for consistent spacing
- Reduce default content padding-top from space-6 to space-3
- Add PluginHeaderAndHeader story and update Spotify theme

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-26 21:15:42 +01:00
Charles de Dreuille 8a0a5c9553 feat(ui): improve Header layout with tag-aware padding and renamed sections
- Add data-has-tags attribute to reduce header padding-top when tags are present
- Rename beforeSticky/afterSticky classes to headerTop/headerBottom
- Always render headerBottom for consistent bottom margin
- Inline JSX sections into a single return statement

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-26 20:36:24 +01:00
Charles de Dreuille 5351d8ac63 Add sticky Header support
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-04-26 09:04:51 +01:00
Charles de Dreuille 3bd5a0c7b8 Improve Toast setup
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-30 13:13:23 +01:00
Charles de Dreuille e21dd5edc4 fix(storybook): register appThemeApiRef in Storybook API providers
Add AppThemeSelector as an implementation for appThemeApiRef in the
shared Storybook API registry. Without this, any story that renders
a ToastContainer fails with NotImplementedError for core.apptheme.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
Made-with: Cursor
2026-03-30 11:49:34 +01:00
Charles de Dreuille dc009ed8a9 Improve BUI manifest
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-30 11:02:31 +01:00
Charles de Dreuille db7681b091 Bring back Box
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-23 14:02:15 +00:00
Charles de Dreuille bcf8042a2f Improve styles for Header
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-21 17:52:36 +00:00
Charles de Dreuille 49ffe8ae6b First pass improving the PluginHeader
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-21 10:14:44 +00:00
Patrik Oldsberg ed3483e560 Merge remote-tracking branch 'origin/master' into bui-toast
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor

# Conflicts:
#	packages/frontend-defaults/src/createPublicSignInApp.test.tsx
#	yarn.lock
2026-03-17 12:05:59 +01:00
Charles de Dreuille 9ee2931cc8 Improve styles
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-15 08:32:41 +00:00
Charles de Dreuille 8ab2d7c3a2 Update spotify.css
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-03 08:41:06 +00:00
Charles de Dreuille 4105a78f98 Style improvements on PluginHeader
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-03-02 19:07:03 +00:00
Charles de Dreuille 53268fa772 Add BgReset
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-25 16:55:08 +00:00
Charles de Dreuille e1c87b33ca Improve modes
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-25 10:15:28 +00:00
Charles de Dreuille b5fae74055 Update preview.tsx
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-24 19:07:59 +00:00
Charles de Dreuille 798fea1218 feat(ui): add Guidelines section with Cards + Table page layout story
- Add `packages/ui/src/guidelines/CardsWithTable.stories.tsx` as the
  first guideline story, showing three data-driven metric cards in a
  3-column grid above a paginated table of catalog services.
- Update Storybook `storySort` order so the new `Guidelines` group
  appears at the top of the `Backstage UI` section.
- Wrap story content in a `Box bg="neutral-1"` when the Spotify theme
  is active, preserving `layout: centered` centering and always
  applying `borderRadius`.
- Import `Box` from the UI package into the Storybook preview.
- Remove `transition` from `Container` CSS to avoid animation on resize.
- Set `padding-inline: 0` on `.bui-Container` inside the Spotify theme
  so containers render flush within the themed wrapper.

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 18:57:56 +00:00
Charles de Dreuille 7e743f4ad9 Remove BUI docs
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-17 14:26:04 +01:00
Charles de Dreuille 0bf7ff679a Cleanups
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-13 13:28:09 +00:00
Charles de Dreuille 4137a43a1b Rename and remove CSS design tokens
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-13 13:16:16 +00:00
Charles de Dreuille 734da6c3d3 Update preview.tsx
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-12 21:53:44 +00:00
Charles de Dreuille a8ac56ed04 Add new FullPage component
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-12 21:38:44 +00:00
Charles de Dreuille ce90e89d35 Migrate new tokens
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-06 14:45:45 +00:00
Charles de Dreuille 599f6687a2 Migrate all components to new tokens
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-02-06 13:48:08 +00:00
Charles de Dreuille d07be1b41f Remove link + tint tokens
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-30 17:57:33 +00:00
Charles de Dreuille 2048ff4946 fix(storybook): clean up configuration after v10.3 upgrade
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 11:15:17 +00:00
Charles de Dreuille 21c87cc1d6 Fix disabled state on Button
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-12 18:52:52 +00:00
Fredrik Adelöw 5d71ad009e Merge pull request #32180 from backstage/storybook-mcp
Add Storybook MCP
2026-01-07 18:13:47 +01:00
Charles de Dreuille f322010f67 Fix background in Spotify theme
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-23 15:00:38 +01:00
Charles de Dreuille 90a72b8d3e Rename --bui-bg into --bui-bg-surface-0
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-22 16:15:56 +01:00
Charles de Dreuille 147364b4a8 Add Storybook manifest
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-19 10:30:38 +00:00
Charles de Dreuille 2b361f5198 Add Storybook MCP
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-19 10:30:37 +00:00
Charles de Dreuille 83cf474072 Update preview.tsx
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-17 20:46:04 +00:00
Charles de Dreuille 523f320133 Move stories to CSF Next
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-17 19:38:44 +00:00
Charles de Dreuille 2c4f1569c1 Upgrade Storybook to version 10
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-16 09:26:00 +00:00
Charles de Dreuille 794adf81d7 Update preview.tsx
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-09-15 21:52:57 +01:00
Charles de Dreuille 15de5ccd86 Add modes + a11y
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-09-15 21:26:08 +01:00
Charles de Dreuille ba64e73717 Restrict Chromatic to only build BUI
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-09-15 20:38:20 +01:00
Charles de Dreuille ce0ac2c77b Update main.ts
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-09-14 22:25:06 +01:00
Charles de Dreuille ffac5071fe Upgrade Storybook to version 9
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-09-14 14:37:55 +01:00
Charles de Dreuille ac5369d6c1 Improve styles
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-08-18 13:23:42 +02:00
Charles de Dreuille c82dd4afe1 Cleanup
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-08-13 22:57:39 +02:00
Charles de Dreuille 854351e088 Move Storybook to the root
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-08-13 22:18:04 +02:00