UNPKG

@postnord/web-components

Version:
557 lines (555 loc) 15.9 kB
/* Global utility variables */ /* Input styles */ /* Transition variables */ pn-action-menu { --pn-menu-height: unset; display: inline-block; position: relative; } pn-action-menu .pn-action-menu { position: relative; } pn-action-menu .pn-action-menu-container { --pn-action-menu-offset: 0; scroll-behavior: smooth; list-style: none; text-align: left; position: absolute; z-index: 100; top: calc(100% + 0.5em); left: var(--pn-action-menu-offset); right: 0; background-color: #ffffff; box-shadow: 0em 0.075em 0.225em 0em rgba(0, 0, 0, 0.1), 0em 0.4em 0.9em 0em rgba(0, 0, 0, 0.13); border-radius: 0.5em; margin: 0; padding: 0; width: 16em; visibility: hidden; overflow: hidden; } pn-action-menu .pn-action-menu-container[data-open] { visibility: visible; overflow: unset; } pn-action-menu .pn-action-menu-container[data-left] { right: 0; left: unset; } pn-action-menu .pn-action-menu-container[data-upwards] { top: unset; bottom: calc(100% + 0.5em); transform-origin: bottom left; } pn-action-menu .pn-action-menu-container[data-moving] { overflow: hidden; visibility: visible; pointer-events: none; } pn-action-menu .pn-action-menu-container { /** Special rules for the small menu */ } pn-action-menu .pn-action-menu-container[data-small] .pn-action-menu-list { border-radius: 0.5em; visibility: hidden; transition-property: visibility; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-action-menu .pn-action-menu-container[data-small] .pn-action-menu-list { transition-duration: 0s; transition-delay: 0s; } } pn-action-menu .pn-action-menu-container[data-small] .pn-action-menu-list { transition-delay: 0.2s; } pn-action-menu .pn-action-menu-container[data-small] .pn-action-menu-list[data-current] { overflow-x: auto; visibility: visible; transition-delay: 0s; } pn-action-menu .pn-action-menu-container[data-small][data-moving] > .pn-action-menu-list { visibility: visible; } pn-action-menu .pn-action-menu-container[data-small] .pn-action-menu-item { position: unset; } pn-action-menu .pn-action-menu-container[data-small] .pn-action-menu-sub { left: 0; height: 100%; box-shadow: unset; transform: translateX(0); visibility: hidden; } pn-action-menu .pn-action-menu-container[data-small] .pn-action-menu-sub[data-current] { visibility: visible; overflow-x: auto; } pn-action-menu .pn-action-menu-container::-webkit-scrollbar { background-color: #ffffff; width: 0.875em; border-radius: 0.5em; } pn-action-menu .pn-action-menu-container::-webkit-scrollbar-track { background-color: #ffffff; border-radius: 0.5em; } pn-action-menu .pn-action-menu-container::-webkit-scrollbar-thumb { cursor: pointer; background-color: #969087; border-radius: 1em; border: 0.25em solid #ffffff; } pn-action-menu .pn-action-menu-container::-webkit-scrollbar-thumb:hover { background-color: #5e554a; } pn-action-menu .pn-action-menu-container::-webkit-scrollbar-corner, pn-action-menu .pn-action-menu-container::-webkit-scrollbar-button { display: none; } pn-action-menu .pn-action-menu-list { margin: 0; padding: 0; list-style: none; height: var(--pn-menu-height); } pn-action-menu .pn-action-menu-list::-webkit-scrollbar { background-color: #ffffff; width: 0.875em; border-radius: 0.5em; } pn-action-menu .pn-action-menu-list::-webkit-scrollbar-track { background-color: #ffffff; border-radius: 0.5em; } pn-action-menu .pn-action-menu-list::-webkit-scrollbar-thumb { cursor: pointer; background-color: #969087; border-radius: 1em; border: 0.25em solid #ffffff; } pn-action-menu .pn-action-menu-list::-webkit-scrollbar-thumb:hover { background-color: #5e554a; } pn-action-menu .pn-action-menu-list::-webkit-scrollbar-corner, pn-action-menu .pn-action-menu-list::-webkit-scrollbar-button { display: none; } pn-action-menu .pn-action-menu-group { margin: 0; padding: 0; list-style: none; } pn-action-menu .pn-action-menu-group-label { display: block; color: #2d2013; font-weight: 700; font-size: 0.875em; padding: 1em 1em 0.5em; } pn-action-menu .pn-action-menu-group-helpertext { display: block; color: #5e554a; font-weight: 400; margin: 0.25em 0 0; } pn-action-menu .pn-action-menu-sub { z-index: 110; position: absolute; top: 0; width: 100%; min-width: 12em; margin: 0; padding: 0; list-style: none; background: #ffffff; border-radius: 0.5em; box-shadow: 0em 0.075em 0.225em 0em rgba(0, 0, 0, 0.1), 0em 0.4em 0.9em 0em rgba(0, 0, 0, 0.13); transform: translateX(-0.5em); opacity: 0; visibility: hidden; } pn-action-menu .pn-action-menu-sub::-webkit-scrollbar { background-color: #ffffff; width: 0.875em; border-radius: 0.5em; } pn-action-menu .pn-action-menu-sub::-webkit-scrollbar-track { background-color: #ffffff; border-radius: 0.5em; } pn-action-menu .pn-action-menu-sub::-webkit-scrollbar-thumb { cursor: pointer; background-color: #969087; border-radius: 1em; border: 0.25em solid #ffffff; } pn-action-menu .pn-action-menu-sub::-webkit-scrollbar-thumb:hover { background-color: #5e554a; } pn-action-menu .pn-action-menu-sub::-webkit-scrollbar-corner, pn-action-menu .pn-action-menu-sub::-webkit-scrollbar-button { display: none; } pn-action-menu .pn-action-menu-sub { 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-action-menu .pn-action-menu-sub { transition-duration: 0s; transition-delay: 0s; } } pn-action-menu .pn-action-menu-sub { transition-delay: 0s, 0s, 0.2s; } pn-action-menu .pn-action-menu-sub[data-open=true] { transform: translateX(0); opacity: 1; visibility: visible; transition-delay: 0s, 0s, 0s; } pn-action-menu .pn-action-menu-sub[data-open=false] { pointer-events: none; } pn-action-menu .pn-action-menu-sub[data-x=left] { left: -100%; } pn-action-menu .pn-action-menu-sub[data-x=center] { left: 0; } pn-action-menu .pn-action-menu-sub[data-x=right] { left: 100%; } pn-action-menu .pn-action-menu-sub[data-y=top] { top: unset; bottom: 0; } pn-action-menu .pn-action-menu-sub[data-y=bottom] { top: 0; } pn-action-menu .pn-action-menu-item { position: relative; } pn-action-menu .pn-action-menu-item:first-child > .pn-action-menu-item-content > .pn-action-menu-button { border-top-left-radius: 0.5em; border-top-right-radius: 0.5em; } pn-action-menu .pn-action-menu-item:last-child > .pn-action-menu-item-content > .pn-action-menu-button { border-bottom-right-radius: 0.5em; border-bottom-left-radius: 0.5em; } pn-action-menu .pn-action-menu-item-text { display: flex; flex-direction: column; margin-right: auto; } pn-action-menu .pn-action-menu-item-label { color: #005d92; font-weight: 500; text-decoration: none; } pn-action-menu .pn-action-menu-item-suffix { margin-left: auto; font-weight: 400; color: #5e554a; } pn-action-menu .pn-action-menu-item-helpertext { color: #5e554a; font-weight: 400; } pn-action-menu .pn-action-menu-item-content { display: flex; align-items: center; flex-direction: row; flex: 1 1 100%; gap: 0.5em; position: relative; } pn-action-menu .pn-action-menu-item-content[data-close] { border-bottom: 0.0625em solid #d3cecb; } pn-action-menu .pn-action-menu-item-content > pn-icon { padding: 0 0.25em; } pn-action-menu .pn-action-menu-item[data-group], pn-action-menu .pn-action-menu-item[data-sub] { flex-direction: column; } pn-action-menu .pn-action-menu-button { cursor: pointer; position: relative; -webkit-tap-highlight-color: transparent; line-height: 1.5; padding: 0.75em 1em; border: 0; width: 100%; text-align: left; text-decoration-color: transparent; overflow: hidden; display: flex; align-items: center; flex: 1 1 100%; gap: 0.5em; font-size: 1em; min-height: 1.5em; background-color: #ffffff; transition-property: background-color, color, outline-color, text-decoration-color; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-action-menu .pn-action-menu-button { transition-duration: 0s; transition-delay: 0s; } } pn-action-menu .pn-action-menu-button .pn-ripple { animation: ripple 0.4s cubic-bezier(0.7, 0, 0.3, 1); position: absolute; border-radius: 50%; background-color: #0d234b; transform: translate(-50%, -50%) scale(0); opacity: 0.1; pointer-events: none; z-index: 3; } @keyframes ripple { to { transform: translate(-50%, -50%) scale(1); opacity: 0; } } pn-action-menu .pn-action-menu-button { outline: 0.2rem solid transparent; outline-offset: 0.2rem; } pn-action-menu .pn-action-menu-button:focus-visible { outline-color: #005d92; } pn-action-menu .pn-action-menu-button { outline-offset: -0.2rem; } pn-action-menu .pn-action-menu-button > pn-icon .pn-icon-svg > path { transform-origin: center; transform: rotate(0deg); } pn-action-menu .pn-action-menu-button > pn-icon[data-suffix][data-active] .pn-icon-svg > path { transform: rotate(180deg); } pn-action-menu .pn-action-menu-button > pn-icon:last-child { margin-left: auto; } pn-action-menu .pn-action-menu-button:disabled { pointer-events: none; color: #5e554a; background-color: #f3f2f2; } pn-action-menu .pn-action-menu-button:hover { background-color: #effbff; } pn-action-menu .pn-action-menu-button:focus { background-color: #e0f8ff; } pn-action-menu .pn-action-menu-button[href]:hover, pn-action-menu .pn-action-menu-button[href]:focus { text-decoration-color: #005d92; } pn-action-menu .pn-action-menu-button { /* &::before { content: ''; position: absolute; left: 0; top: 0; width: 0.25em; height: 100%; background-color: transparent; @include main.pn-transition('background-color'); } &[aria-expanded='true']::before { background-color: main.$blue700; } */ } pn-action-menu .pn-action-menu-checkbox { background-color: #ffffff; flex: 0 0 1.5em; width: 1.5em; height: 1.5em; border: 0.0625em solid #969087; border-radius: 0.25em; margin-left: auto; outline: 0.2rem solid transparent; outline-offset: 0.2rem; transition-property: background-color, border-color, outline-color; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-action-menu .pn-action-menu-checkbox { transition-duration: 0s; transition-delay: 0s; } } pn-action-menu .pn-action-menu-checkbox svg polyline { stroke: #ffffff; stroke-linecap: round; stroke-dasharray: 23; transition-property: stroke-dashoffset; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-action-menu .pn-action-menu-checkbox svg polyline { transition-duration: 0s; transition-delay: 0s; } } pn-action-menu .pn-action-menu-checkbox svg polyline { transition-delay: 0s; } pn-action-menu .pn-action-menu-checkbox svg polyline.pn-action-menu-checkbox-checkmark-path { stroke-dashoffset: 23; } pn-action-menu .pn-action-menu-radio { display: flex; gap: 0.75em; padding: 0; margin-left: auto; } pn-action-menu .pn-action-menu-radio-outer { background-color: #ffffff; border: 0.0625em solid #969087; border-radius: 50%; height: 1.5em; width: 1.5em; display: flex; justify-content: center; align-items: center; outline: 0.2rem solid transparent; outline-offset: 0.2rem; transition-property: border-color, background-color, outline-color; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-action-menu .pn-action-menu-radio-outer { transition-duration: 0s; transition-delay: 0s; } } pn-action-menu .pn-action-menu-radio-inner { transform: scale(0); height: 0.75em; width: 0.75em; background-color: #005d92; border-radius: 50%; transform-origin: center center; transition-property: background-color, transform; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-action-menu .pn-action-menu-radio-inner { transition-duration: 0s; transition-delay: 0s; } } pn-action-menu .pn-action-menu-input { position: absolute; z-index: 10; cursor: pointer; height: 100%; width: 100%; top: 0; left: 0; margin: 0; opacity: 0; -webkit-tap-highlight-color: transparent; } pn-action-menu .pn-action-menu-input:checked + .pn-action-menu-button { background-color: #effbff; } pn-action-menu .pn-action-menu-input:checked + .pn-action-menu-button .pn-action-menu-checkbox { border-color: #005d92; background-color: #005d92; } pn-action-menu .pn-action-menu-input:checked + .pn-action-menu-button .pn-action-menu-checkbox polyline.pn-action-menu-checkbox-checkmark-path { transition-delay: 0.2s; stroke-dashoffset: 0; } pn-action-menu .pn-action-menu-input:checked + .pn-action-menu-button .pn-action-menu-radio-outer { border-color: #005d92; } pn-action-menu .pn-action-menu-input:checked + .pn-action-menu-button .pn-action-menu-radio-inner { transform: scale(1); background-color: #005d92; } pn-action-menu .pn-action-menu-input:checked:hover { background-color: #e0f8ff; } pn-action-menu .pn-action-menu-input:focus-visible + .pn-action-menu-button { background-color: #e0f8ff; } pn-action-menu .pn-action-menu-input:disabled { pointer-events: none; } pn-action-menu .pn-action-menu-input:disabled + .pn-action-menu-button { pointer-events: none; color: #5e554a; background-color: #f3f2f2; } pn-action-menu .pn-action-menu-input:disabled + .pn-action-menu-button .pn-action-menu-item-label { color: #5e554a; } pn-action-menu .pn-action-menu-input:disabled + .pn-action-menu-button .pn-action-menu-checkbox { background-color: #f3f2f2; } pn-action-menu .pn-action-menu-input:disabled + .pn-action-menu-button .pn-action-menu-radio-outer { border-color: #969087; background-color: #f3f2f2; } pn-action-menu .pn-action-menu-input:disabled + .pn-action-menu-button .pn-icon-svg path { fill: #5e554a; } pn-action-menu .pn-action-menu-input:disabled:checked + .pn-action-menu-button .pn-action-menu-radio-inner { background-color: #969087; } pn-action-menu .pn-action-menu-input:disabled:checked + .pn-action-menu-button .pn-action-menu-checkbox { border-color: #969087; background-color: #969087; } pn-action-menu .pn-action-menu-input:hover + .pn-action-menu-button { background-color: #e0f8ff; } pn-action-menu .pn-action-menu-input:hover + .pn-action-menu-button .pn-action-menu-radio-outer { border-color: #005d92; background-color: #e0f8ff; } pn-action-menu .pn-action-menu-input:focus-visible + .pn-action-menu-button { background-color: #e0f8ff; } pn-action-menu .pn-action-menu-input:focus-visible + .pn-action-menu-button .pn-action-menu-checkbox, pn-action-menu .pn-action-menu-input:focus-visible + .pn-action-menu-button .pn-action-menu-radio .pn-action-menu-radio-outer { outline-color: #005d92; } pn-action-menu .pn-action-menu-p { margin: 0; } pn-action-menu .pn-action-menu > pn-button[data-default-icon] .pn-button[aria-expanded=true] .pn-icon-svg { transform: rotate(180deg); transition-delay: 0s; } pn-action-menu .pn-action-menu > pn-button[data-default-icon] .pn-button .pn-icon-svg { transform: rotate(0deg); transition-delay: 0.2s; transition-property: transform; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-action-menu .pn-action-menu > pn-button[data-default-icon] .pn-button .pn-icon-svg { transition-duration: 0s; transition-delay: 0s; } }