mirror of
https://github.com/picocss/pico.git
synced 2025-04-22 09:26:14 -04:00
100 lines
2.5 KiB
SCSS
100 lines
2.5 KiB
SCSS
@use "sass:map";
|
|
@use "../settings" as *;
|
|
|
|
@if map.get($modules, "components/tab") {
|
|
/**
|
|
* Tabs
|
|
* styling help from: https://codepen.io/mikestreety/pen/yVNNNm
|
|
*/
|
|
|
|
@if $enable-transitions {
|
|
@keyframes showTab {
|
|
from {
|
|
//transform: translateY(10px);
|
|
scale: 0.75;
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
//transform: translateY(0);
|
|
scale: 1;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
#{$parent-selector} [role="tablist"] {
|
|
display: flex;
|
|
flex-wrap: wrap; // make sure it wraps
|
|
padding-bottom: 0;
|
|
|
|
> button[role="tab"] {
|
|
flex-grow: 1;
|
|
order: 1; // Put the labels first
|
|
padding: calc(var(#{$css-var-prefix}spacing) * 0.625);
|
|
border: 0;
|
|
border-bottom: 1px solid var(#{$css-var-prefix}primary-background);
|
|
border-bottom-right-radius: 0;
|
|
border-bottom-left-radius: 0;
|
|
background: transparent;
|
|
color: var(#{$css-var-prefix}contrast);
|
|
font-weight: bold;
|
|
cursor: pointer;
|
|
|
|
@if $enable-transitions {
|
|
transition: background-color var(#{$css-var-prefix}transition);
|
|
}
|
|
|
|
&[aria-selected="true"] {
|
|
background: var(#{$css-var-prefix}primary-background);
|
|
color: var(#{$css-var-prefix}primary-inverse);
|
|
}
|
|
&:hover {
|
|
background: var(#{$css-var-prefix}primary-hover-background);
|
|
color: var(#{$css-var-prefix}primary-inverse);
|
|
}
|
|
}
|
|
|
|
[role="tabpanel"] {
|
|
flex-grow: 1;
|
|
order: 99; // Put the tabs last
|
|
width: 100%;
|
|
|
|
//calc(var(#{$css-var-prefix}form-element-spacing-vertical) * 2)
|
|
//var(#{$css-var-prefix}form-element-spacing-horizontal);
|
|
padding: var(--pico-spacing) calc(var(--pico-spacing) * 0.75);
|
|
background: var(
|
|
#{$css-var-prefix}accent-section-bg-color
|
|
); //#{$css-var-prefix}card-sectioning-background-color);
|
|
|
|
@if $enable-transitions {
|
|
animation: var(#{$css-var-prefix}tab-animation) var(#{$css-var-prefix}transition);
|
|
}
|
|
|
|
&:not([hidden]) {
|
|
display: block;
|
|
}
|
|
&[hidden] {
|
|
display: none;
|
|
}
|
|
> *:last-of-type {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
}
|
|
@media (max-width: 45em) {
|
|
#{$parent-selector} [role="tablist"] {
|
|
[role="tabpanel"],
|
|
button,
|
|
label {
|
|
order: initial;
|
|
}
|
|
label,
|
|
[role="tabpanel"],
|
|
button {
|
|
width: 100%;
|
|
margin-top: 0.2rem;
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|