@use '../config' as *; .nav-segmented { --#{$prefix}nav-bg: var(--#{$prefix}bg-surface-tertiary); --#{$prefix}nav-padding: #{$nav-segmented-padding}; --#{$prefix}nav-height: #{$nav-segmented-height}; --#{$prefix}nav-gap: #{$nav-segmented-gap}; --#{$prefix}nav-active-bg: var(--#{$prefix}bg-surface); --#{$prefix}nav-font-size: inherit; --#{$prefix}nav-radius: #{$nav-segmented-radius}; --#{$prefix}nav-link-disabled-color: var(--#{$prefix}disabled-color); --#{$prefix}nav-link-gap: #{$nav-segmented-link-gap}; --#{$prefix}nav-link-padding-x: #{$nav-segmented-link-padding-x}; --#{$prefix}nav-link-icon-size: #{$nav-segmented-link-icon-size}; --#{$prefix}nav-link-icon-margin: #{$nav-segmented-icon-margin}; display: inline-flex; flex-wrap: wrap; gap: var(--#{$prefix}nav-gap); padding: var(--#{$prefix}nav-padding); list-style: none; background: var(--#{$prefix}nav-bg); @include border-radius(calc(var(--#{$prefix}nav-radius) + var(--#{$prefix}nav-padding))); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04); .nav-link { display: inline-flex; gap: calc(#{$nav-segmented-link-gap} + var(--#{$prefix}nav-link-gap)); align-items: center; margin: 0; font-size: var(--#{$prefix}nav-font-size); min-width: calc(var(--#{$prefix}nav-height) - 2 * var(--#{$prefix}nav-padding)); height: calc(var(--#{$prefix}nav-height) - 2 * var(--#{$prefix}nav-padding)); padding: 0 calc(var(--#{$prefix}nav-link-padding-x) - 2px); border: 1px solid transparent; background: transparent; color: var(--#{$prefix}secondary); text-align: center; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color $transition-time, color $transition-time; @include border-radius(var(--#{$prefix}nav-radius)); flex-grow: 1; justify-content: center; &:hover, &.hover { background: rgba(0, 0, 0, 0.04); color: var(--#{$prefix}body-color); } &.disabled, &:disabled { color: var(--#{$prefix}nav-link-disabled-color); cursor: not-allowed; } } .nav-link-input:checked + .nav-link, .nav-link.active { color: var(--#{$prefix}body-color); background: var(--#{$prefix}nav-active-bg); border-color: var(--#{$prefix}border-color); } .nav-link-input { display: none; } .nav-link-icon { width: var(--#{$prefix}nav-link-icon-size); height: var(--#{$prefix}nav-link-icon-size); margin: 0 var(--#{$prefix}nav-link-icon-margin); color: inherit; } } .nav-segmented-vertical { flex-direction: column; .nav-link { justify-content: start; } } .nav-sm { --#{$prefix}nav-height: #{$nav-segmented-height-sm}; --#{$prefix}nav-font-size: var(--tblr-font-size-h5); --#{$prefix}nav-radius: #{$nav-segmented-radius-sm}; --#{$prefix}nav-link-padding-x: #{$nav-segmented-link-padding-x-sm}; --#{$prefix}nav-link-gap: #{$nav-segmented-link-gap-sm}; --#{$prefix}nav-link-icon-size: #{$nav-segmented-link-icon-size-sm}; } .nav-lg { --#{$prefix}nav-height: #{$nav-segmented-height-lg}; --#{$prefix}nav-font-size: var(--tblr-font-size-h3); --#{$prefix}nav-radius: #{$nav-segmented-radius-lg}; --#{$prefix}nav-link-padding-x: #{$nav-segmented-link-padding-x-lg}; --#{$prefix}nav-link-gap: #{$nav-segmented-link-gap-lg}; --#{$prefix}nav-link-icon-size: #{$nav-segmented-link-icon-size-lg}; }