Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/mighty-goats-sleep.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@solid-design-system/tokens': patch
---

Wrapped `--outline-color-primary`, `--outline-color-error` and `--outline-color-white` in `rgba()` so `outline-*` utilities resolve correctly in multi-theming
5 changes: 5 additions & 0 deletions .changeset/tangy-islands-scream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@solid-design-system/components': patch
---

Fixed focus outline color in `sd-checkbox`, `sd-switch` and `sd-radio` not using the primary color.
2 changes: 1 addition & 1 deletion packages/components/src/components/checkbox/checkbox.ts
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ export default class SdCheckbox extends SolidElement implements SolidFormControl
class=${cx(
'relative flex flex-shrink-0 items-center justify-center border sd-checkbox-border-width rounded-sm h-4 w-4',
'transition-colors ease-in-out duration-medium group-hover:duration-fast',
'peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-primary',
'peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-primary outline-transparent',
{
sm: 'mt-[2px]',
md: 'mt-[3px]',
Expand Down
5 changes: 5 additions & 0 deletions packages/components/src/components/radio/radio.ts
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,11 @@ export default class SdRadio extends SolidElement {
@apply outline-none;
}

[part='control--checked'],
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This can't be applied directly in the parts?

[part='control--unchecked'] {
@apply outline-transparent;
}

/* Checked + focus */
:host(:focus-visible) [part='control--checked'],
:host(:focus-visible) [part='control--unchecked'] {
Expand Down
2 changes: 1 addition & 1 deletion packages/components/src/components/switch/switch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ export default class SdSwitch extends SolidElement implements SolidFormControl {
class=${cx(
`relative flex flex-initial items-center justify-center border rounded-full h-4 w-8 transition-colors ease duration-100
peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2
peer-focus-visible:outline-primary transition-colors ease-in-out duration-medium hover:duration-fast`,
peer-focus-visible:outline-primary outline-transparent transition-colors ease-in-out duration-medium hover:duration-fast`,
this.disabled && this.checked
? 'bg-neutral-500'
: this.disabled
Expand Down
4 changes: 2 additions & 2 deletions packages/tokens/scripts/tailwind/tailwind-generator.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export class TailwindCSSGenerator {
this.css.property('outline-style', 'solid'),
this.css.property('outline-offset', '2px'),
this.css.property('outline-width', '2px'),
this.css.property('outline-color', 'rgba(var(--outline-color-primary))')
this.css.property('outline-color', 'var(--outline-color-primary)')
])
),
this.css.utility(
Expand All @@ -76,7 +76,7 @@ export class TailwindCSSGenerator {
this.css.property('outline-style', 'solid'),
this.css.property('outline-offset', '2px'),
this.css.property('outline-width', '2px'),
this.css.property('outline-color', 'rgba(var(--outline-color-white))')
this.css.property('outline-color', 'var(--outline-color-white)')
])
)
]);
Expand Down
5 changes: 3 additions & 2 deletions packages/tokens/scripts/tailwind/token-engine.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,9 @@ export class TokenProcessingEngine {
baseVars: [
'--sizing-varspacing: var(--tw-varspacing);',
'--spacing-varspacing: var(--tw-varspacing);',
'--outline-color-primary: var(--sd-color-border-primary, var(--sd-color-primary));',
'--outline-color-error: var(--sd-color-border-error, var(--sd-color-error));',
'--outline-color-primary: rgba(var(--sd-color-border-primary, var(--sd-color-primary)));',
'--outline-color-error: rgba(var(--sd-color-border-error, var(--sd-color-error)));',
'--outline-color-white: rgba(var(--sd-color-border-white, var(--sd-color-white)));',
'--drop-shadow-sm: var(--sd-drop-shadow-sm);',
'--drop-shadow: var(--sd-drop-shadow);',
'--shadow-sm: var(--sd-shadow-sm);',
Expand Down
9 changes: 5 additions & 4 deletions packages/tokens/themes/tailwind.css
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,9 @@
--opacity-80: var(--sd-opacity-80);
--opacity-85: var(--sd-opacity-85);
--opacity-90: var(--sd-opacity-90);
--outline-color-error: var(--sd-color-border-error, var(--sd-color-error));
--outline-color-primary: var(--sd-color-border-primary, var(--sd-color-primary));
--outline-color-error: rgba(var(--sd-color-border-error, var(--sd-color-error)));
--outline-color-primary: rgba(var(--sd-color-border-primary, var(--sd-color-primary)));
--outline-color-white: rgba(var(--sd-color-border-white, var(--sd-color-white)));
--radius-default: var(--sd-radius);
--radius-full: var(--sd-radius-full);
--radius-lg: var(--sd-radius-lg);
Expand Down Expand Up @@ -293,12 +294,12 @@
outline-style: solid;
outline-offset: 2px;
outline-width: 2px;
outline-color: rgba(var(--outline-color-primary));
outline-color: var(--outline-color-primary);
}

@utility focus-outline-inverted {
outline-style: solid;
outline-offset: 2px;
outline-width: 2px;
outline-color: rgba(var(--outline-color-white));
outline-color: var(--outline-color-white);
}
Loading