feat(breadcrumbs): add theme and schemas - #601
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The dark Fluent breadcrumb schema currently does not extend the light Fluent base schema, which will drop inherited breadcrumb tokens and lead to incomplete theming output.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds theming support for the new Breadcrumbs component to the Ignite UI theming package by introducing schema tokens (light/dark across supported design languages) and a public breadcrumb-theme() function, then wiring both into the existing schema/theme indexes.
Changes:
- Added light and dark breadcrumb schema maps for Material/Fluent/Bootstrap/Indigo and registered them in the corresponding schema indexes.
- Introduced a new breadcrumb theme function (
breadcrumb-theme) and exported it via the component themes index. - Integrated breadcrumb schemas into the aggregated
$*-*-schemamaps so downstream consumers can resolve tokens viaschema['breadcrumb'].
File summaries
| File | Description |
|---|---|
| packages/theming/sass/themes/schemas/components/light/_index.scss | Registers breadcrumb schema module and adds breadcrumb entry into all light schema aggregates. |
| packages/theming/sass/themes/schemas/components/light/_breadcrumb.scss | New light breadcrumb schema tokens + per-theme variants (material/fluent/bootstrap/indigo). |
| packages/theming/sass/themes/schemas/components/dark/_index.scss | Registers breadcrumb schema module and adds breadcrumb entry into all dark schema aggregates. |
| packages/theming/sass/themes/schemas/components/dark/_breadcrumb.scss | New dark breadcrumb schema tokens + per-theme variants (material/fluent/bootstrap/indigo). |
| packages/theming/sass/themes/components/breadcrumb/_breadcrumb-theme.scss | New breadcrumb-theme() function for producing token maps from schema + overrides. |
| packages/theming/sass/themes/components/_index.scss | Exports the breadcrumb theme entrypoint for public consumption. |
Review details
Suppressed comments (1)
packages/theming/sass/themes/schemas/components/dark/_breadcrumb.scss:184
- $dark-fluent-breadcrumb is documented as requiring $fluent-breadcrumb but the extend() call doesn’t include it, so the dark fluent schema will miss all base breadcrumb tokens (e.g., current/separator tokens) inherited from the light fluent schema.
$dark-fluent-breadcrumb: extend(
$dark-base-breadcrumb,
(
- Files reviewed: 6/6 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The dark fluent breadcrumb schema is not extending the fluent base schema (dropping required tokens), and there are doc-comment formatting typos in the new theme function.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
Suppressed comments (2)
packages/theming/sass/themes/components/breadcrumb/_breadcrumb-theme.scss:35
- Doc comment formatting typo: missing a space before the dash in the default value description (
[null]-). This breaks the consistency of the generated API docs for the theme function.
/// @param {Color} $focus-underline-color [null]- The text underline color of the breadcrumb on focus. Auto-derived from focus-text-color. Only used in the Material theme.
/// @param {Color} $focus-border-color [null] - The focus border color.
/// @param {Color} $focus-hover-text-color [null] - The text color of the breadcrumb when focused and hovered. Auto-derived from hover-text-color.
/// @param {Color} $focus-hover-icon-color [null] - The color of the breadcrumb icon when focused and hovered. Auto-derived from focus-hover-text-color.
/// @param {Color} $focus-hover-underline-color [null]- The text underline color of the breadcrumb on focus and hover. Auto-derived from focus-hover-text-color. Only used in the Material theme.
packages/theming/sass/themes/components/breadcrumb/_breadcrumb-theme.scss:38
- Doc comment formatting typo: missing a space before the dash in the default value description (
[null]-).
/// @param {Color} $focus-pressed-underline-color [null]- The text underline color of the breadcrumb on focus and pressed. Auto-derived from focus-pressed-text-color. Only used in the Material theme.
- Files reviewed: 6/6 changed files
- Comments generated: 1
- Review effort level: Lite
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Adding a new theme and schemas for the new Breadcrumbs component.
Used in this WC PR: IgniteUI/igniteui-webcomponents#2365