Skip to content

docs(sassdoc): add project-specific parameters and review unused ones - #659

Merged
simeonoff merged 5 commits into
masterfrom
apetrov/project-specific-parameters
Nov 5, 2026
Merged

simeonoff merged 5 commits into
masterfrom
apetrov/project-specific-parameters

Conversation

@adrianptrv

@adrianptrv adrianptrv commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Closing: #617

To clarify the parameters that are used only on one platform, I made some changes to their SassDoc entries in their themes. For the parameters that aren't used on any platform, we need to make some decisions.

Properties used in only one project

Chip: ghost-background, ghost-elevation
Expansion Panel: expanded-margin
Input Group: success-secondary-color, success-shadow-color, warning-secondary-color
Tabs: button-ripple-color, tab-ripple-color
Tree: drop-area-color

All of the above are included in both schemas and their respective component themes, but are only used in the Angular project. I've added an additional note to their SassDoc descriptions in the themes stating that they should only be passed in Angular projects.

I think we should keep all of them as they are.

Properties that are only present in the schemas

Color Picker: swatch-preview-border-radius

Combo: case-icon-color, case-icon-color--active

Input Group: filled-secondary-color

Rating: disabled-value-label

All of the above are only present in the schemas. They aren't included in the themes or used anywhere in either Angular or Web Components.

Regarding the Combo case icons, I noticed that we have a component part called case-icon and CSS selectors using case-icon and case-icon--active in both projects. However, they don't use the case-icon-color or case-icon-color--active variables.

Apart from the Combo parameters, I think we should remove the other parameters from the schemas as well.

Othes

Chip: ghost-text-color is included in both the schemas and the theme, but we don't use it anywhere in the Angular project. Perhaps we should start using it. I see that we used it at some point before introducing scoped styles.

Tile Manager: overlay-background is only present in the schemas. The component doesn't have a theme, and I also checked the Web Components implementation but couldn't find anywhere this parameter is used with the current Tile Manager. Personally, I don't see a use case for including this parameter, so I think we should lean towards removing it.

@simeonoff Could you please share your thoughts on the parameters, especially those that aren't used anywhere?

@adrianptrv
adrianptrv requested a review from simeonoff October 30, 2026 16:35
@adrianptrv adrianptrv added the 🪛 enhancement New feature or request label Oct 30, 2026
@simeonoff simeonoff linked an issue Nov 2, 2026 that may be closed by this pull request
@simeonoff simeonoff changed the title feat(): specify project-specific parameters and review unused ones docs(sassdoc): add project-specific parameters and review unused ones Nov 2, 2026
@simeonoff

Copy link
Copy Markdown
Member

@adrianptrv Properties that are present in the schemas and not present in the themes for their respective components should be added, unless the token in the schema is used in just a single theme and for a specific edge case. Schema tokens and theme tokens should be in sync - that's the general rule. Tokens that are not used, or have been declared with the correct values from the design handoffs should be utilized in the target framework, even if it's just one of the component frameworks that uses them.

About the tile manager, there's a real gap - we need to create a theme and also drop the custom overrides we currently do in the MCP server to cover for that omission.

@adrianptrv

adrianptrv commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor Author

With my last commit i made the following changes:

Color Picker: swatch-preview-border-radius

I checked and found that the swatch-preview border radius is already calculated based on anchor-border-radius:

border-radius: calc(var(--anchor-border-radius) - var(--_anchor-border-size));

I removed the swatch-preview-border-radius parameter from the schemas.


Combo: case-icon-color, case-icon-color--active

I renamed case-icon-color--active to case-icon-color-active, added both case-icon-color and case-icon-color-active to the theme, and updated the WC and Angular projects to use these parameters instead of fixed colors.


Input Group: filled-secondary-color

The filled-secondary-color parameter was only present in the schemas. According to the design UI kits, the label color in the idle and filled states is identical across all themes.

I added the correct colors to the schemas, added the filled-secondary-color parameter to the theme, and updated the WC and Angular projects to use it for the filled-state label color.


Rating: disabled-value-label

I noticed that the schemas include both value-label and disabled-value-label, but neither was included in the theme. I've added both parameters to the theme.

I also updated the WC Rating component styles to load the disabled value label color from disabled-value-label instead of disabled-label-color, which was used previously.

The idle value-label color was already loaded from value-label, so no changes were needed there.


Chip: ghost-text-color

I updated the Angular Chip component to use the ghost-text-color parameter for the ghost chip text instead of focused-text-color, which was used previously.


Tile Manager: overlay-background

It turned out that both the resizing and swapping ghost elements were using the placeholder-background parameter.

I noticed that the SassDoc documentation specifies that placeholder-background is intended for resizing, while overlay-background is intended for swapping. I updated the WC component theme to use overlay-background for the swapping ghost element, while keeping placeholder-background for the resizing ghost element.

I will also create a Tile Manager theme with a separate PR tied to this issue: #643

The changes in WC and Angular are in those two PR's:
IgniteUI/igniteui-webcomponents#2576
IgniteUI/igniteui-angular#17925

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Adding $filled-secondary-color in the middle of the public signature shifts existing positional arguments, silently changing generated tokens and breaking backward compatibility.

1 open issue
What changed in this PR

This PR clarifies platform-specific theming parameters in SassDoc and updates shared theme APIs and schemas, addressing part of #617’s parameter cleanup.

Changes:

  • Mark Angular-only parameters and fill gaps in parameter documentation.
  • Expose input filled-label and combo case-icon colors, with corresponding schema updates.
  • Remove the unused color-picker preview border-radius key.
File Description
packages/​theming/​sass/​themes/​schemas/​components/​light/​_input-group.scss Update filled-label defaults across light variants.
packages/​theming/​sass/​themes/​schemas/​components/​light/​_combo.scss Rename the active case-icon color key.
packages/​theming/​sass/​themes/​schemas/​components/​light/​_color-picker.scss Remove the unused preview border-radius key.
packages/​theming/​sass/​themes/​schemas/​components/​dark/​_input-group.scss Add filled-label overrides for dark variants.
packages/​theming/​sass/​themes/​components/​tree/​_tree-theme.scss Document the drop-area color as Angular-only.
packages/​theming/​sass/​themes/​components/​tabs/​_tabs-theme.scss Document ripple colors as Angular-only.
packages/​theming/​sass/​themes/​components/​rating/​_rating-theme.scss Document existing value-label parameters.
packages/​theming/​sass/​themes/​components/​input/​_input-theme.scss Expose filled-label color and expand parameter documentation.
packages/​theming/​sass/​themes/​components/​expansion-panel/​_expansion-panel-theme.scss Document expanded margin as Angular-only.
packages/​theming/​sass/​themes/​components/​combo/​_combo-theme.scss Expose case-icon colors and update the documentation example.
packages/​theming/​sass/​themes/​components/​chip/​_chip-theme.scss Document ghost styling parameters as Angular-only.

Review effort: Balanced

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The updated Sass example passes the background color as the positional $schema argument, causing map.has-key to fail instead of customizing the empty-list background.

1 open issue
1 resolved since last review

Review effort: Balanced

Update example in combo-theme documentation to specify white background.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@simeonoff
simeonoff added this pull request to the merge queue Nov 5, 2026
Merged via the queue into master with commit acf66c6 Nov 5, 2026
3 of 4 checks passed
@simeonoff
simeonoff deleted the apetrov/project-specific-parameters branch November 5, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🪛 enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Component schemas: mark keys that only some platforms use

3 participants