diff --git a/semcore/base-trigger/src/FilterTrigger.jsx b/semcore/base-trigger/src/FilterTrigger.jsx index 545423e5ae..28700dd9d9 100644 --- a/semcore/base-trigger/src/FilterTrigger.jsx +++ b/semcore/base-trigger/src/FilterTrigger.jsx @@ -1,4 +1,4 @@ -import { NeighborLocation, Box, ScreenReaderOnly, Hint } from '@semcore/base-components'; +import { Box, ScreenReaderOnly, Hint } from '@semcore/base-components'; import { createComponent, Component, Root, sstyled } from '@semcore/core'; import addonTextChildren from '@semcore/core/lib/utils/addonTextChildren'; import { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps'; @@ -144,20 +144,18 @@ class RootFilterTrigger extends Component { use:aria-label={undefined} use:aria-labelledby={undefined} > - - {advancedMode - ? ( - - ) - : ( - <> - - - - {!empty && } - - )} - + {advancedMode + ? ( + + ) + : ( + <> + + + + {!empty && } + + )} , ); } @@ -168,11 +166,11 @@ class TriggerButton extends Component { static style = style; render() { - const SFilterTrigger = Root; + const STrigger = Root; const { Children, styles, empty, triggerRef } = this.asProps; return sstyled(styles)( - } - , + , ); } } @@ -200,7 +198,7 @@ class ClearButton extends Component { triggerRef = React.createRef(); render() { - const SFilterTrigger = Root; + const SClear = Root; const { styles, empty, @@ -215,7 +213,7 @@ class ClearButton extends Component { return sstyled(styles)( <> - - + {title ?? ariaLabel ?? getI18nText('clear')} , diff --git a/semcore/base-trigger/src/style/base-trigger.shadow.css b/semcore/base-trigger/src/style/base-trigger.shadow.css index 2046743fc6..f23c8ddc87 100644 --- a/semcore/base-trigger/src/style/base-trigger.shadow.css +++ b/semcore/base-trigger/src/style/base-trigger.shadow.css @@ -8,7 +8,6 @@ SBaseTrigger { white-space: nowrap; user-select: none; box-sizing: border-box; - padding: 0; margin: 0; box-shadow: none; text-decoration: none; @@ -19,12 +18,15 @@ SBaseTrigger { font-family: inherit; cursor: pointer; - background: var(--intergalactic-bg-primary-neutral, oklch(1 0 0)); /* TODO: --intergalactic-control-select-trigger-normal */ + background: var(--intergalactic-control-select-trigger-normal, oklch(1 0 0)); font-weight: var(--intergalactic-regular, 400); border: 1px solid var(--intergalactic-border-primary, oklch(0.137 0.026 175.7 / 0.161)); color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899)); + border-radius: var(--intergalactic-control-rounded, 6px); + padding: 0 var(--intergalactic-spacing-content-inset-inline, 12px); + &::-moz-focus-inner { border: none; padding: 0; @@ -40,13 +42,13 @@ SBaseTrigger { } &:hover { - background-color: var(--intergalactic-bg-primary-neutral-hover, oklch(0.98 0.001 180)); /* TODO: --intergalactic-control-select-trigger-hover */ + background-color: var(--intergalactic-control-select-trigger-hover, oklch(0.98 0.001 180)); } &:active, &[active] { border-color: var(--intergalactic-border-info-active, oklch(0.7 0.131 275.2)); - background-color: var(--intergalactic-bg-primary-neutral, oklch(1 0 0)); /* TODO: --intergalactic-control-select-trigger-active */ + background-color: var(--intergalactic-control-select-trigger-active, oklch(1 0 0)); } } @@ -61,6 +63,7 @@ SInner { display: inline-flex; align-items: center; justify-content: center; + gap: var(--intergalactic-spacing-content-gap-medium, 6px); height: 100%; width: 100%; } @@ -68,11 +71,9 @@ SInner { SText { display: inline; /* disable-tokens-validator */ - padding: 1px 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; - line-height: var(--intergalactic-lh-200, 142%); flex-grow: 1; text-align: left; } @@ -83,57 +84,25 @@ SAddon { justify-content: center; flex-shrink: 0; pointer-events: none; -} -SBaseAddon { - width: 12px; - height: 12px; + &:only-child { + margin-left: calc(-1 * var(--intergalactic-spacing-1x, 4px)); + margin-right: calc(-1 * var(--intergalactic-spacing-1x, 4px)); + } } SBaseTrigger[size='m'] { min-width: var(--intergalactic-form-control-m, 32px); height: var(--intergalactic-form-control-m, 32px); - border-radius: var(--intergalactic-control-rounded, 6px); - padding: 0 var(--intergalactic-spacing-2x, 8px); font-size: var(--intergalactic-fs-200, 14px); - - & SAddon { - &:not(:only-child):first-child { - margin-right: var(--intergalactic-spacing-2x, 8px); - } - - &:not(:only-child):last-child { - margin-left: var(--intergalactic-spacing-2x, 8px); - } - - &:only-child { - margin-left: calc(-1 * var(--intergalactic-spacing-1x, 4px)); - margin-right: calc(-1 * var(--intergalactic-spacing-1x, 4px)); - } - } + line-height: var(--intergalactic-lh-200, 142%); } SBaseTrigger[size='l'] { min-width: var(--intergalactic-form-control-l, 44px); height: var(--intergalactic-form-control-l, 44px); - border-radius: var(--intergalactic-control-rounded, 6px); - padding: 0 var(--intergalactic-spacing-3x, 12px); font-size: var(--intergalactic-fs-300, 16px); - - & SAddon { - &:not(:only-child):first-child { - margin-right: var(--intergalactic-spacing-2x, 8px); - } - - &:not(:only-child):last-child { - margin-left: var(--intergalactic-spacing-2x, 8px); - } - - &:only-child { - margin-left: calc(-1 * var(--intergalactic-spacing-1x, 4px)); - margin-right: calc(-1 * var(--intergalactic-spacing-1x, 4px)); - } - } + line-height: var(--intergalactic-lh-300, 150%); } SBaseTrigger[neighborLocation='right'] { diff --git a/semcore/base-trigger/src/style/button-trigger.shadow.css b/semcore/base-trigger/src/style/button-trigger.shadow.css index 29b3fb18e8..f31559c95a 100644 --- a/semcore/base-trigger/src/style/button-trigger.shadow.css +++ b/semcore/base-trigger/src/style/button-trigger.shadow.css @@ -1,8 +1,11 @@ SButtonAddon { - width: 12px; - height: 12px; + width: var(--intergalactic-spacing-3x, 12px); + height: var(--intergalactic-spacing-3x, 12px); + color: var(--intergalactic-icon-non-interactive, oklch(0.094 0.024 153.9 / 0.503)); + position: relative; + left: var(--intergalactic-spacing-05x, 2px); } SButtonTriggerSpin { - fill: var(--intergalactic-icon-primary-neutral, oklch(0.092 0.024 152.2 / 0.526)); + fill: var(--intergalactic-icon-non-interactive, oklch(0.094 0.024 153.9 / 0.503)); } diff --git a/semcore/base-trigger/src/style/filter-trigger.shadow.css b/semcore/base-trigger/src/style/filter-trigger.shadow.css index 2331090dfd..5b407a2517 100644 --- a/semcore/base-trigger/src/style/filter-trigger.shadow.css +++ b/semcore/base-trigger/src/style/filter-trigger.shadow.css @@ -1,19 +1,46 @@ -SFilterTrigger[selected] { - border-color: var(--intergalactic-border-info-active, oklch(0.7 0.131 275.2)); - background-color: var(--intergalactic-control-secondary-info, oklch(0.527 0.264 262.9 / 0.039)); - color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899)); +STrigger { + border: none; + position: relative; - &:hover { - background-color: var(--intergalactic-control-secondary-info-hover, oklch(0.525 0.265 263 / 0.077)); - } + &[role="combobox"]:not([empty]) { + border-right: none; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + + &::before { + content: ''; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + width: 1px; + background-color: var(--intergalactic-border-primary, oklch(0.137 0.026 175.7 / 0.161)); + transition: height calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-out; /* TODO: Sync with animationin FilterTrigger */ + } + + &[size='m']::before { + height: 18px; + } + &[size='l']::before { + height: 28px; + } - &:active, - &[active] { - background-color: var(--intergalactic-control-secondary-info-active, oklch(0.524 0.266 263.1 / 0.116)); + &:hover::before, + &:active::before { + height: 100%; + } } } +SClear { + border: none; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + SWrapper { + border: 1px solid var(--intergalactic-border-primary, oklch(0.137 0.026 175.7 / 0.161)); + border-radius: var(--intergalactic-control-rounded, 6px); display: inline-flex; &:focus {