Adds support for custom checked icons in checkbox and option components #2425
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.
closes #2424
Summary
This PR adds support for custom icons in the checkbox and option components.
Adds support for a custom checked icon in the checkbox component
Adds support for a custom indeterminate icon in the checkbox component
Adds support for a custom selected icon in the option component (used in select)
Motivation
The idea is to expose slots for the checked and indeterminate icons in the checkbox component, as well as for the selected icon in the option component. This allows them to be replaced when desired, while keeping the current icons as defaults.
Context
See discussion: shoelace-style/shoelace#2325
Detailed Description
To implement this, the checkbox and option components were updated to wrap the current icons inside named slots. This preserves the existing behavior but enables consumers to override the icons by providing custom content via the new slots.