@postnord/web-components
Version:
PostNord Web Components
125 lines (124 loc) • 3.1 kB
CSS
/* Global utility variables */
/* Input styles */
/* Transition variables */
pn-tablist {
width: 100%;
min-width: 0;
position: relative;
border-bottom: 0.0625em solid #d3cecb;
display: block;
}
pn-tablist .pn-tablist,
pn-tablist ol,
pn-tablist ul {
display: flex;
width: 100%;
flex-direction: row;
gap: 1em;
position: relative;
list-style: none;
padding: 0;
margin: 0;
}
pn-tablist .pn-tablist[data-stacked] .pn-tab,
pn-tablist ol[data-stacked] .pn-tab,
pn-tablist ul[data-stacked] .pn-tab {
margin: 0.5em 0.25em 0.75em;
gap: 0.25em;
flex-direction: column;
}
pn-tablist .pn-tablist[data-small] .pn-tab,
pn-tablist ol[data-small] .pn-tab,
pn-tablist ul[data-small] .pn-tab {
margin: 0.25em 0.25em 0.75em;
}
pn-tablist .pn-tablist[data-small] .pn-tab > *:not(pn-icon),
pn-tablist ol[data-small] .pn-tab > *:not(pn-icon),
pn-tablist ul[data-small] .pn-tab > *:not(pn-icon) {
font-size: 0.875em;
}
pn-tablist .pn-tablist[data-large] .pn-tab > *:not(pn-icon),
pn-tablist ol[data-large] .pn-tab > *:not(pn-icon),
pn-tablist ul[data-large] .pn-tab > *:not(pn-icon) {
font-size: 1.25em;
}
pn-tablist .pn-tablist[data-scroll],
pn-tablist ol[data-scroll],
pn-tablist ul[data-scroll] {
overflow-y: hidden;
overflow-x: auto;
scroll-snap-type: x mandatory;
}
pn-tablist .pn-tablist::-webkit-scrollbar,
pn-tablist ol::-webkit-scrollbar,
pn-tablist ul::-webkit-scrollbar {
display: none;
}
pn-tablist .pn-tablist-line {
height: 0.25em;
position: absolute;
bottom: 0;
}
pn-tablist .pn-tablist-line-item {
position: absolute;
width: 100%;
height: inherit;
border-radius: 0.25em 0.25em 0 0;
transform-origin: left center;
opacity: 0;
transition-property: transform, opacity, width;
transition-duration: 0.4s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
pn-tablist .pn-tablist-line-item {
transition-duration: 0s;
transition-delay: 0s;
}
}
pn-tablist .pn-tablist-line-active {
z-index: 1;
background-color: #005d92;
width: var(--pn-active-width);
transform: translateX(var(--pn-active-offset));
opacity: var(--pn-active-opacity);
}
pn-tablist .pn-tablist-line-hovered {
background-color: #00a0d6;
width: var(--pn-hover-width);
transform: translateX(var(--pn-hover-offset));
opacity: var(--pn-hover-opacity);
}
pn-tablist .pn-tablist-scroll {
position: absolute;
top: 50%;
left: 0;
right: 0;
pointer-events: none;
transform: translateY(-50%);
display: flex;
justify-content: space-between;
align-items: center;
z-index: 1;
height: 100%;
}
pn-tablist .pn-tablist-arrow {
pointer-events: all;
transform: scaleY(0);
opacity: 0;
visibility: hidden;
transition-property: transform, opacity, visibility;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
pn-tablist .pn-tablist-arrow {
transition-duration: 0s;
transition-delay: 0s;
}
}
pn-tablist .pn-tablist-arrow[data-show] {
opacity: 1;
visibility: visible;
transform: scaleY(1);
}