mirror of
https://github.com/tabler/tabler.git
synced 2026-10-12 05:06:55 +04:00
136 lines
3.0 KiB
SCSS
136 lines
3.0 KiB
SCSS
@use '../config' as *;
|
|
|
|
.dropdown-menu {
|
|
--dropdown-item-gap: #{$dropdown-item-gap};
|
|
--dropdown-item-icon-size: #{$icon-size};
|
|
--dropdown-item-icon-color: var(--tertiary);
|
|
--dropdown-header-padding-bottom: #{$dropdown-header-padding-bottom};
|
|
--dropdown-menu-columns-gap: #{$dropdown-menu-columns-gap};
|
|
--dropdown-arrow-offset: #{$dropdown-arrow-offset};
|
|
--dropdown-arrow-inset: #{$dropdown-arrow-inset};
|
|
--dropdown-dropend-offset: #{$dropdown-dropend-offset};
|
|
--dropdown-menu-card-min-width: #{$dropdown-menu-card-min-width};
|
|
user-select: none;
|
|
background-clip: border-box;
|
|
|
|
&.card {
|
|
display: none;
|
|
min-width: $dropdown-max-width;
|
|
padding: 0;
|
|
|
|
&.show {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
@include media-print() {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.dropdown-item {
|
|
display: flex;
|
|
gap: var(--dropdown-item-gap, #{$dropdown-item-gap});
|
|
align-items: center;
|
|
min-width: $dropdown-min-width;
|
|
margin: 0;
|
|
line-height: $line-height-base;
|
|
}
|
|
|
|
.dropdown-item-icon {
|
|
width: var(--dropdown-item-icon-size) !important;
|
|
height: var(--dropdown-item-icon-size) !important;
|
|
color: var(--dropdown-item-icon-color);
|
|
text-align: center;
|
|
}
|
|
|
|
.dropdown-item-indicator {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
height: var(--dropdown-item-icon-size);
|
|
line-height: 1;
|
|
vertical-align: bottom;
|
|
}
|
|
|
|
.dropdown-header {
|
|
@include subheader();
|
|
padding-bottom: var(--dropdown-header-padding-bottom);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.dropdown-menu-scrollable {
|
|
height: auto;
|
|
max-height: $dropdown-scrollable-height;
|
|
overflow-x: hidden;
|
|
overscroll-behavior: contain;
|
|
}
|
|
|
|
.dropdown-menu-column {
|
|
min-width: $dropdown-min-width;
|
|
|
|
.dropdown-item {
|
|
min-width: 0;
|
|
}
|
|
}
|
|
|
|
.dropdown-menu-columns {
|
|
display: flex;
|
|
gap: var(--dropdown-menu-columns-gap);
|
|
}
|
|
|
|
.dropdown-menu-arrow {
|
|
&::before {
|
|
position: absolute;
|
|
inset-inline-start: var(--dropdown-arrow-inset);
|
|
top: calc(-1 * var(--dropdown-arrow-offset));
|
|
z-index: -1;
|
|
display: block;
|
|
width: 14px;
|
|
height: 14px;
|
|
clip-path: inset(0 5px 5px 0);
|
|
content: '';
|
|
background: inherit;
|
|
// The menu draws its edge with the 1px ring in --dropdown-box-shadow and has
|
|
// no border, so `inherit` would give the arrow the text color.
|
|
border: 1px solid var(--dropdown-border-color);
|
|
// clip-path + border + rotate renders garbled edges on Firefox; only the
|
|
// top/left border survives the clip anyway, so drop the rest.
|
|
border-width: 1px 0 0 1px;
|
|
|
|
/* rtl:ignore */
|
|
transform: rotate(45deg);
|
|
transform-origin: center;
|
|
}
|
|
|
|
&.dropdown-menu-end {
|
|
&::before {
|
|
inset-inline-start: auto;
|
|
inset-inline-end: var(--dropdown-arrow-inset);
|
|
}
|
|
}
|
|
}
|
|
|
|
.dropend {
|
|
> .dropdown-menu {
|
|
margin-inline-start: calc(-1 * var(--dropdown-dropend-offset));
|
|
margin-top: subtract(calc(-1 * $dropdown-padding-y), 1px);
|
|
}
|
|
|
|
.dropdown-toggle {
|
|
&::after {
|
|
margin-inline-start: auto;
|
|
}
|
|
}
|
|
}
|
|
|
|
.dropdown-menu-card {
|
|
min-width: var(--dropdown-menu-card-min-width);
|
|
padding: 0;
|
|
|
|
> .card {
|
|
margin: 0;
|
|
border: 0;
|
|
box-shadow: none;
|
|
}
|
|
}
|