blob: 1f49d6b020e8833c7df54e58a8ecb24f56fd1b29 [file] [edit]
@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);
}
}
}