@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
109 lines (108 loc) • 2.35 kB
CSS
/*
* Utilities
*/
.dnb-forms-submit-indicator {
--padding-left: 0.5em;
--font-animation: font-size var(--font-animation-duration, 400ms)
var(--easing-default);
--opacity-animation: opacity var(--opacity-animation-duration, 0ms)
var(--easing-default) var(--opacity-animation-delay, 0ms);
}
.dnb-forms-submit-indicator:has(.dnb-forms-submit-indicator__label) {
--font-animation-duration: 400ms;
--opacity-animation-duration: 400ms;
--opacity-animation-delay: 250ms;
}
.dnb-forms-submit-indicator {
display: inline;
}
.dnb-forms-submit-indicator__label {
padding: 0.5em 0;
}
.dnb-forms-submit-indicator__content {
align-items: center;
font-size: 0;
opacity: 0;
line-height: 1em;
will-change: font-size opacity;
transition: var(--font-animation), var(--opacity-animation);
}
.dnb-forms-submit-indicator__content b {
padding-left: 0.125em;
color: var(--dots-color, currentColor);
}
.dnb-forms-submit-indicator__content b:nth-of-type(1) {
padding-left: var(--padding-left);
animation-delay: 50ms;
}
.dnb-forms-submit-indicator__content b:nth-of-type(2) {
animation-delay: 200ms;
}
.dnb-forms-submit-indicator__content b:nth-of-type(3) {
animation-delay: 400ms;
}
.dnb-forms-submit-indicator__content b {
opacity: 0.2;
animation-name: submit-indicator-dot;
animation-iteration-count: infinite;
animation-duration: 1.3s;
animation-delay: 200ms;
}
html[data-visual-test] .dnb-forms-submit-indicator__content b {
animation: none;
}
.dnb-forms-submit-indicator__content b {
font-weight: var(--font-weight-bold);
}
.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content {
font-size: 1em;
opacity: 1;
}
.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content {
display: flex;
--padding-left: 0.25em;
}
.dnb-button .dnb-forms-submit-indicator__content {
cursor: inherit;
}
@keyframes submit-indicator-dot {
0% {
opacity: 0.2;
}
15% {
opacity: 1;
}
50% {
opacity: 1;
}
60% {
opacity: 0.3;
}
100% {
opacity: 0.2;
}
}
@keyframes submit-indicator-success {
0% {
opacity: 0.2;
font-size: 1em;
}
20% {
opacity: 1;
font-size: 1em;
}
80% {
opacity: 1;
}
85% {
opacity: 0.3;
font-size: 1em;
}
90% {
opacity: 0;
}
100% {
opacity: 0;
font-size: 0;
}
}