diff --git a/.changeset/frank-wolves-brush.md b/.changeset/frank-wolves-brush.md new file mode 100644 index 0000000000..08b78a3219 --- /dev/null +++ b/.changeset/frank-wolves-brush.md @@ -0,0 +1,10 @@ +--- +'@solid-design-system/styles': patch +--- + +Fixes and improvements for multi-theming: +- `sd-container`: fixed the triangle variable for multi-theming +- `sd-copyright`: fixed shadow styling +- `sd-footnotes`: fixed text colors +- Add `css properties` section to docs table +- Add `deprecated` attribute to indicate deprecated css variables diff --git a/.changeset/green-queens-love.md b/.changeset/green-queens-love.md new file mode 100644 index 0000000000..b8ec926e36 --- /dev/null +++ b/.changeset/green-queens-love.md @@ -0,0 +1,9 @@ +--- +'@solid-design-system/docs': patch +--- + +Fixes and improvements for multi-theming: +- Added themed logos to the following templates: `sd-header`, `sd-badge`, `sd-breadcrumb`, `sd-header-navigation` +- Fixed accessibility tests for `sd-headline` when used with `sd-mark` +- Fixed gradient styling in `sd-expandable` for multi-theming +- Fixed icon colors in `sd-map-marker` \ No newline at end of file diff --git a/.changeset/hot-spoons-refuse.md b/.changeset/hot-spoons-refuse.md new file mode 100644 index 0000000000..7df845c247 --- /dev/null +++ b/.changeset/hot-spoons-refuse.md @@ -0,0 +1,173 @@ +--- +'@solid-design-system/tokens': minor +--- + +Updated design tokens to align with design specifications and improve multi-theming robustness: +- sd-accordion: + - `--sd-accordion-border-width` + - `--sd-accordion-color-icon-fill` +- sd-audio + - `--sd-audio__slide-bar--inverted-color-background` + - `--sd-audio__track-bar--inverted-color-background` +- sd-badge + - `--sd-badge--blue-color-background` +- sd-brandshape + - `--sd-brandshape--neutral-100-color-background` + - `--sd-brandshape--white-color-background` +- sd-breadcrumb + - `--sd-breadcrumb__separator--current-color` +- sd-button + - `--sd-button--primary--hover-color-text` + - `--sd-button--primary--inverted--active-color-background` + - `--sd-button--secondary--active-color-text` + - `--sd-button--secondary--inverted-color-text` + - `--sd-button--secondary--inverted--hover-color-background` + - `--sd-button--secondary--inverted--active-color-text` + - `--sd-button--secondary--size-sm-padding-block` + - `--sd-button--secondary--size-md-padding-block` + - `--sd-button--secondary--size-lg-padding-block` + - `--sd-button--secondary-padding-inline` + - `--sd-button--tertiary--active-color-text` + - `--sd-button--tertiary--inverted-color-text` + - `--sd-button--tertiary--inverted--active-color-text` + - `--sd-button--size-lg-height` + - `--sd-button--size-lg-icon-height` + - `--sd-button--size-md--icon-only-padding-inline` + - `--sd-button--size-md-height` + - `--sd-button-border-width` + - `--sd-button-padding-inline` + + **Renamed** + - `--sd-button--size-lg-border-radius` → `--sd-button-border-radius` + - `--sd-button--size-md-border-radius` → `--sd-button-border-radius` + - `--sd-button--size-sm-border-radius` → `--sd-button-border-radius` + + **Fixed** + - `--sd-button--secondary--inverted--color-border` → `--sd-button--secondary--inverted-color-border` +- sd-chip: + + **Renamed** + - `--sd-chip-font-size` → `--sd-marker-font-size` + - `--sd-chip-border-width` → `--sd-marker-border-width` + - `--sd-chip-font-weight` → `--sd-marker-font-weight` +- sd-combobox + - `--sd-form-control-border-radius` + - `--sd-form-control-color-border` + - `--sd-form-control--filled__floating-label-color-text` + - `--sd-form-control__listbox-border-bottom-left-radius` + - `--sd-form-control__listbox-border-bottom-right-radius` + - `--sd-form-control__listbox-border-top-left-radius` + - `--sd-form-control__listbox-border-top-right-radius` + - `--sd-combobox__tag-border-width` +- sd-datepicker + - `--sd-form-control-color-text` + - `--sd-form-control-border-radius` + - `--sd-form-control-color-border` + - `--sd-form-control--filled__floating-label-color-text` + - `--sd-form-control--invalid-color-background` + - `--sd-form-control__listbox-border-bottom-left-radius` + - `--sd-form-control__listbox-border-bottom-right-radius` + - `--sd-form-control__listbox-border-top-left-radius` + - `--sd-form-control__listbox-border-top-right-radius` + - `--sd-datepicker__date-item--default-color-text` + - `--sd-datepicker__date-item--hover--default-color-background` + - `--sd-datepicker__date-item--hover--default-color-text` + - `--sd-datepicker__date-item--default-color-border` + - `--sd-datepicker__date-item--selected-color-text` + - `--sd-datepicker__date-item--hover--prev-next-color-background` + - `--sd-datepicker__date-item--hover--prev-next-color-text` + - `--sd-datepicker__date-item--selected-color-background` + - `--sd-datepicker__date-item--selected--hover-color-background` + - `--sd-datepicker__date-item--range-color-background` + - `--sd-datepicker__date-item--current-color-text` + - `--sd-datepicker__date-item--current-font-weight` +- sd-dropdown: + - `--sd-dropdown-color-background` +- sd-flag + - `--sd-marker-font-weight` + - `--sd-marker-font-size` + + **Renamed** + - `--sd-flag-border-width` → `--sd-marker-border-width` +- sd-header + - `--sd-header-padding-bottom` + - `--sd-header__underline-color-background` + - `--sd-header__underline-height` + - `--sd-header__shadow-height` +- sd-headline + - `--sd-headline--3xl-onwards-color-text` +- sd-input + - `--sd-form-control-border-radius` + + **Fixed** + - `--sd-form-control-color-icon` → `--sd-form-control-color-icon-fill` +- sd-link + - `--interactive--default-color-text` +- sd-map-marker + - `--sd-map-marker-cluster--hovered-color-text` + - `--sd-map-marker--cluster--default-color-background` + - `--sd-map-marker--cluster--hover-color-background` + - `--sd-map-marker--cluster-color-text` + - `--sd-map-marker--main-color-background` + - `--sd-map-marker--pin--default-color-background` + - `--sd-map-marker--pin--hover-color-background` + - `--sd-map-marker--pin-color-text` +- sd-menu-item + + **Renamed** + - `--sd-menu-color-icon` → `--sd-menu-item-color-icon-fill` + - `--sd-menu-color-text` → `--sd-menu-item-color-text` + - `--sd-menu--disabled-color-icon` → `--sd-menu-item--disabled-color-icon-fill` + - `--sd-menu--disabled-color-text` → `--sd-menu-item--disabled-color-text` +- sd-notification + - `--sd-notification__duration-indicator-color-background` +- sd-option + - `--sd-form-control-color-border` +- sd-pagination + - `--sd-pagination--default-border` + - `--sd-pagination--inverted-border` +- sd-radio-button + - `--sd-radio-button--hover-color-background` + - `--sd-choice-control-font-weight` +- sd-select + - `--sd-form-control-border-radius` + - `--sd-form-control__listbox-border-bottom-left-radius` + - `--sd-form-control__listbox-border-bottom-right-radius` + - `--sd-form-control__listbox-border-top-left-radius` + - `--sd-form-control__listbox-border-top-right-radius` +- sd-skeleton + - `--sd-skeleton-color` +- sd-step + - `--sd-step-color-text` +- sd-tag + - `--sd-choice-control-font-weight` + - `--sd-tag--disabled-color-text` + + **Renamed** + - `--sd-tag-font-weight` → `--sd-choice-control-font-weight` +- sd-tab + - `--sd-tab--hover-color-background` + - `--sd-choice-control-font-weight` + - `--sd-tab--active-color-text` + - `--sd-tab-color-text` +- sd-teaser-media + - `--sd-teaser-media--white--hover-color-background` + - `--sd-teaser-media--white-color-background` +- sd-teaser + - `--sd-teaser-border-radius` +- sd-textarea + - `--sd-form-control-border-radius` + - `--sd-form-control--filled__floating-label-color-text` + + +Removed variables +- `--sd-tag--disabled-color-border` +- `--sd-navigation-item--current-color-text` +- `--sd-option--disabled-color-border` +- `--sd-audio__timestamp-color-text` + +**Important**: To avoid breaking changes, all variables marked as `renamed` or `deleted` **are still available** under their previous names. Only variables marked as `fixed` have been completely removed. However, this should not be considered a breaking change, as these variables were not functioning correctly. + +If you are using any of the `renamed`, `deleted` or `fixed`css variables manually overriding these in custom themes might lead to problems in future versions of Solid. Use the actual used value instead. Example: Instead of --sd-chip-border-width use --sd-marker-border-width--sd-marker-border-width for your overrides. + +If you need assistance, please reach out to the support channel. diff --git a/.changeset/lemon-pillows-yawn.md b/.changeset/lemon-pillows-yawn.md new file mode 100644 index 0000000000..bf95068031 --- /dev/null +++ b/.changeset/lemon-pillows-yawn.md @@ -0,0 +1,22 @@ +--- +'@solid-design-system/components': patch +--- + +Small fixes and improvements: +- Improved the `bold` font weight for the kid theme +- Fixed inverted thumb color in `sd-audio` +- Corrected `sd-button` size definitions +- Fixed invalid state colors in `sd-checkbox` +- Fixed listbox shadow in `sd-combobox` and `sd-select` +- Removed white border from the selected day in `sd-datepicker` +- Removed overlay opacity from `sd-dialog` +- Fixed outline color in `sd-drawer` +- Fixed gradient colors for `sd-expandable` in multi-theming +- Fixed gradient variants for `sd-flipcard` and `sd-teaser-media` in multi-theming +- Fixed current text color in `sd-navigation-item` +- Fixed text size for `sd-option` in `sm` size +- Corrected `sd-radio-button` heights when used inside `sd-radio-group` +- Fixed error message text color in `sd-radio` and `sd-switch` +- Fixed `sd-step` tail color on hover +- Fixed gradient variant opacities in `sd-teaser-media` +- - Add `deprecated`attribute to indicate deprecated css variables diff --git a/packages/components/src/components/accordion-group/accordion-group.ts b/packages/components/src/components/accordion-group/accordion-group.ts index 121facdd1a..678e6fc093 100644 --- a/packages/components/src/components/accordion-group/accordion-group.ts +++ b/packages/components/src/components/accordion-group/accordion-group.ts @@ -15,6 +15,8 @@ import SolidElement from '../../internal/solid-element'; * @slot - The default slot where `` elements are placed. * * @csspart base - The component's base wrapper. + * + * @cssproperty --sd-accordion-border-width - The accordion border width. */ @customElement('sd-accordion-group') export default class SdAccordionGroup extends SolidElement { diff --git a/packages/components/src/components/accordion/accordion.ts b/packages/components/src/components/accordion/accordion.ts index 7fe7ac7d73..1c16573473 100644 --- a/packages/components/src/components/accordion/accordion.ts +++ b/packages/components/src/components/accordion/accordion.ts @@ -41,11 +41,11 @@ import SolidElement from '../../internal/solid-element'; * @animation accordion.hide - The animation to use when hiding accordion. You can use `height: auto` with this animation. * * @cssproperty --sd-accordion-border-width - The accordion border width. - * @cssproperty --sd-accordion-color-background - The accordion background color. * @cssproperty --sd-accordion-color-text - The accordion color text. * @cssproperty --sd-accordion-padding-block - The accordion vertical padding value. - * @cssproperty --sd-accordion__chevron-color-text - The accordion chevron color. * @cssproperty --sd-accordion__indicator-color - The accordion indicator color. + * @cssproperty --sd-accordion-color-icon-fill - The accordion icon color. + * @cssproperty --sd-accordion__chevron-color-text - This variable is deprecated please use --sd-accordion-color-icon-fill. */ @customElement('sd-accordion') export default class SdAccordion extends SolidElement { @@ -193,7 +193,7 @@ export default class SdAccordion extends SolidElement { part="header" id="header" class=${cx( - 'flex text-base gap-4 font-bold items-center cursor-pointer select-none px-4 sd-accordion-padding-block focus-visible:focus-outline focus-visible:z-10 sd-accordion-color-text relative group transition-colors ease-in-out duration-fast hover:bg-neutral-200' + 'flex text-base gap-4 font-bold items-center cursor-pointer select-none px-4 sd-accordion-padding-block focus-visible:focus-outline focus-visible:z-10 relative group transition-colors ease-in-out duration-fast hover:bg-neutral-200' )} aria-expanded=${this.open ? 'true' : 'false'} aria-controls="content" @@ -208,7 +208,9 @@ export default class SdAccordion extends SolidElement { 'w-1 sd-accordion__indicator-color absolute left-0 transition-height duration-fast ease-in-out h-[calc(100%-16px)] group-hover:h-full' )} > - ${this.summary} + ${this.summary}
@@ -405,15 +436,15 @@ export default class SdButton extends SolidElement implements SolidFormControl { { primary: !this.inverted ? 'sd-button--primary--hover-color-background group-active:bg-primary-800' - : 'sd-button--primary--inverted--hover-color-background group-active:bg-primary-200', + : 'sd-button--primary--inverted--hover-color-background group-active:sd-button--primary--inverted--active-color-background', secondary: !this.inverted ? 'sd-button--secondary--hover-color-background group-active:sd-button--secondary--active-color-background' - : 'bg-primary-500 group-active:sd-button--secondary--inverted--active-color-background', + : 'sd-button--secondary--inverted--hover-color-background group-active:sd-button--secondary--inverted--active-color-background group-active:sd-button--secondary--inverted--active-color-text', tertiary: !this.inverted ? 'sd-button--tertiary--hover-color-background group-active:sd-button--tertiary--active-color-background' - : 'bg-primary-500 group-active:sd-button--tertiary--inverted--active-color-background', + : 'sd-button--tertiary--inverted--hover-color-background group-active:sd-button--tertiary--inverted--active-color-background group-active:sd-button--tertiary--inverted--active-color-text', cta: !this.inverted - ? 'bg-accent-550 group-active:bg-accent-700' + ? 'bg-accent-500 group-active:bg-accent-700' : 'sd-button--cta--inverted--hover-color-background group-active:sd-button--cta--inverted--active-color-background' }[this.variant] )}>
@@ -422,15 +453,15 @@ export default class SdButton extends SolidElement implements SolidFormControl { { primary: !this.inverted ? 'sd-button--primary--hover-color-background group-active:bg-primary-800' - : 'sd-button--primary--inverted--hover-color-background group-active:bg-primary-200', + : 'sd-button--primary--inverted--hover-color-background group-active:sd-button--primary--inverted--active-color-background', secondary: !this.inverted ? 'sd-button--secondary--hover-color-background group-active:sd-button--secondary--active-color-background' - : 'bg-primary-500 group-active:sd-button--secondary--inverted--active-color-background', + : 'sd-button--secondary--inverted--hover-color-background group-active:sd-button--secondary--inverted--active-color-background group-active:sd-button--secondary--inverted--active-color-text', tertiary: !this.inverted ? 'sd-button--tertiary--hover-color-background group-active:sd-button--tertiary--active-color-background' - : 'bg-primary-500 group-active:sd-button--tertiary--inverted--active-color-background', + : 'sd-button--tertiary--inverted--hover-color-background group-active:sd-button--tertiary--inverted--active-color-background group-active:sd-button--tertiary--inverted--active-color-text', cta: !this.inverted - ? 'bg-accent-550 group-active:bg-accent-700' + ? 'bg-accent-500 group-active:bg-accent-700' : 'sd-button--cta--inverted--hover-color-background group-active:sd-button--cta--inverted--active-color-background' }[this.variant] )}> @@ -450,6 +481,11 @@ export default class SdButton extends SolidElement implements SolidFormControl { )}> @@ -336,14 +332,7 @@ export default class SdCheckbox extends SolidElement implements SolidFormControl class=${cx('flex items-center gap-2', this.showInvalidStyle && 'mt-2')} > ${this.showInvalidStyle - ? html` - ` + ? html` ` : ''} ${this.formControlController.renderInvalidMessage(this.size)} @@ -368,6 +357,10 @@ export default class SdCheckbox extends SolidElement implements SolidFormControl :host([required]) #label::after { content: ' *'; } + + [part='invalid-icon'] { + color: rgb(var(--sd-color-icon-fill-error)); + } ` ]; } diff --git a/packages/components/src/components/combobox/combobox.ts b/packages/components/src/components/combobox/combobox.ts index 72dd113392..6254c83d62 100644 --- a/packages/components/src/components/combobox/combobox.ts +++ b/packages/components/src/components/combobox/combobox.ts @@ -76,6 +76,14 @@ import type SdPopup from '../popup/popup'; * @cssproperty --tag-max-width - Set the maximum width of the tags and to show an ellipsis. Defaults to "15ch" * @cssproperty --sd-form-control--invalid-color-background - The background color for form controls in invalid state. * @cssproperty --sd-form-control-color-text - The text color for form controls. + * @cssproperty --sd-form-control-border-radius - The border radius for form controls. + * @cssproperty --sd-form-control-color-border - The border color for default and readonly form controls. + * @cssproperty --sd-form-control--filled__floating-label-color-text - The text color for the floating label when the input is filled. + * @cssproperty --sd-form-control__listbox-border-bottom-left-radius - The border radius for the bottom left corner of the listbox. + * @cssproperty --sd-form-control__listbox-border-bottom-right-radius - The border radius for the bottom right corner of the listbox. + * @cssproperty --sd-form-control__listbox-border-top-left-radius - The border radius for the top left corner of the listbox. + * @cssproperty --sd-form-control__listbox-border-top-right-radius - The border radius for the top right corner of the listbox. + * @cssproperty --sd-combobox__tag-border-width - The border width for the tags for multiple options combobox. */ @customElement('sd-combobox') @@ -1196,7 +1204,7 @@ export default class SdCombobox extends SolidElement implements SolidFormControl // Conditional Styles const cursorStyles = this.disabled || this.visuallyDisabled ? 'cursor-not-allowed' : 'cursor-pointer'; - const iconColor = this.disabled || this.visuallyDisabled ? 'text-neutral-500' : 'text-primary'; + const iconColor = this.disabled || this.visuallyDisabled ? 'text-neutral-500' : 'sd-icon-fill-primary'; const iconMarginLeft = { sm: 'ml-1', md: 'ml-2', lg: 'ml-2' }[this.size]; const iconMarginRight = { sm: 'mr-1', md: 'mr-2', lg: 'mr-2' }[this.size]; const iconSize = { @@ -1281,7 +1289,7 @@ export default class SdCombobox extends SolidElement implements SolidFormControl
@@ -1486,7 +1492,7 @@ export default class SdCombobox extends SolidElement implements SolidFormControl ` : html`