| @use "functions" as *; |
| @use "mixins/border-radius" as *; |
| @use "mixins/transition" as *; |
| @use "mixins/tokens" as *; |
| |
| $breadcrumb-tokens: () !default; |
| |
| // scss-docs-start breadcrumb-tokens |
| // stylelint-disable-next-line scss/dollar-variable-default |
| $breadcrumb-tokens: defaults( |
| ( |
| --breadcrumb-margin-bottom: 1rem, |
| --breadcrumb-font-size: inherit, |
| --breadcrumb-bg: transparent, |
| --breadcrumb-border-radius: var(--border-radius), |
| --breadcrumb-divider-color: var(--fg-4), |
| --breadcrumb-link-padding-x: .75rem, |
| --breadcrumb-link-padding-y: .25rem, |
| --breadcrumb-link-color: var(--fg-3), |
| --breadcrumb-link-hover-color: var(--fg-2), |
| --breadcrumb-link-hover-bg: var(--bg-1), |
| --breadcrumb-link-active-color: var(--fg-1), |
| --breadcrumb-link-border-radius: var(--border-radius-lg), |
| ), |
| $breadcrumb-tokens |
| ); |
| // scss-docs-end breadcrumb-tokens |
| |
| @layer components { |
| .breadcrumb { |
| @include tokens($breadcrumb-tokens); |
| |
| display: flex; |
| flex-wrap: wrap; |
| align-items: center; |
| padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0); |
| font-size: var(--breadcrumb-font-size); |
| list-style: none; |
| background-color: var(--breadcrumb-bg); |
| @include border-radius(var(--breadcrumb-border-radius)); |
| } |
| |
| .breadcrumb-item { |
| display: flex; |
| } |
| |
| .breadcrumb-divider { |
| margin-inline: calc(var(--breadcrumb-link-padding-x) / 4); |
| color: var(--breadcrumb-divider-color); |
| } |
| |
| .breadcrumb-link { |
| position: relative; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| min-height: 2.25rem; |
| padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x); |
| color: var(--breadcrumb-link-color); |
| text-decoration: none; |
| @include border-radius(var(--breadcrumb-link-border-radius)); |
| @include transition(.1s text-decoration-color ease-in-out); |
| |
| &:hover { |
| z-index: 2; |
| color: var(--breadcrumb-link-hover-color); |
| background-color: var(--breadcrumb-link-hover-bg); |
| } |
| |
| &.active { |
| color: var(--breadcrumb-link-active-color); |
| } |
| } |
| } |