@energie360/ui-library 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +1 -0
- package/README.md +3 -0
- package/base/_accessibility.scss +5 -0
- package/base/_base.scss +104 -0
- package/base/_body.scss +7 -0
- package/base/_focus-handling.scss +18 -0
- package/base/_html.scss +11 -0
- package/base/_input-resets.scss +49 -0
- package/base/_print.scss +6 -0
- package/base/_resets.scss +53 -0
- package/base/abstracts/_functions.scss +21 -0
- package/base/abstracts/_layers.scss +6 -0
- package/base/abstracts/_mixins.scss +80 -0
- package/base/abstracts/_resets.scss +11 -0
- package/base/abstracts/_variables.scss +42 -0
- package/base/abstracts/index.scss +5 -0
- package/base/base-v2.scss +35 -0
- package/base/custom-element-base.scss +14 -0
- package/base/index.scss +5 -0
- package/base/main.scss +14 -0
- package/dist/index.css +1 -0
- package/dist/index.js +5182 -0
- package/dist/index.js.map +1 -0
- package/dist/style.css +20 -0
- package/dist/style.js +2 -0
- package/dist/style.js.map +1 -0
- package/elements/button/_button-base.scss +49 -0
- package/elements/button/_button-filled-inverted.scss +41 -0
- package/elements/button/_button-filled.scss +32 -0
- package/elements/button/_button-outlined-inverted.scss +38 -0
- package/elements/button/_button-outlined.scss +38 -0
- package/elements/button/_button-plain-small.scss +7 -0
- package/elements/button/_button-plain.scss +49 -0
- package/elements/button/_button-secondary-outlined.scss +38 -0
- package/elements/button/button.js +12 -0
- package/elements/button/button.scss +68 -0
- package/elements/button/button.vue +42 -0
- package/elements/icon/icon.ce.scss +6 -0
- package/elements/icon/icon.js +13 -0
- package/elements/icon/icon.scss +25 -0
- package/elements/icon/icon.vue +80 -0
- package/elements/icon-button/_icon-button-base.scss +59 -0
- package/elements/icon-button/_icon-button-filled-inverted.scss +42 -0
- package/elements/icon-button/_icon-button-filled.scss +32 -0
- package/elements/icon-button/_icon-button-outlined-inverted.scss +34 -0
- package/elements/icon-button/_icon-button-outlined.scss +38 -0
- package/elements/icon-button/_icon-button-plain-inverted.scss +32 -0
- package/elements/icon-button/_icon-button-plain.scss +32 -0
- package/elements/icon-button/icon-button.js +12 -0
- package/elements/icon-button/icon-button.scss +51 -0
- package/elements/icon-button/icon-button.vue +41 -0
- package/elements/index.js +11 -0
- package/elements/loader/loader.ce.scss +5 -0
- package/elements/loader/loader.js +13 -0
- package/elements/loader/loader.scss +106 -0
- package/elements/loader/loader.vue +18 -0
- package/globals.js +4 -0
- package/index.js +1 -0
- package/package.json +30 -0
- package/style.js +2 -0
- package/utils/math/clamp.js +14 -0
- package/utils/math/index.js +1 -0
- package/utils/object/deep-get.js +26 -0
- package/utils/object/index.js +2 -0
- package/utils/translations/index.js +1 -0
- package/utils/translations/translate.js +10 -0
- package/vite.config.js +31 -0
package/.browserslistrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
defaults
|
package/README.md
ADDED
package/base/_base.scss
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
@use './abstracts' as a;
|
|
2
|
+
@use '@energie360/design-tokens/dist/scss' as dt;
|
|
3
|
+
|
|
4
|
+
html {
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
scroll-behavior: smooth;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
html,
|
|
10
|
+
body {
|
|
11
|
+
min-height: 100vh;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
*,
|
|
15
|
+
*::before,
|
|
16
|
+
*::after {
|
|
17
|
+
box-sizing: inherit;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
body {
|
|
21
|
+
font-family: a.$body-font;
|
|
22
|
+
font-size: a.rem(a.$body-font-size);
|
|
23
|
+
font-weight: a.$body-font-weight;
|
|
24
|
+
line-height: a.$body-line-height;
|
|
25
|
+
color: a.$body-font-color;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
input {
|
|
29
|
+
font-family: inherit;
|
|
30
|
+
appearance: none;
|
|
31
|
+
border: 0;
|
|
32
|
+
background: none;
|
|
33
|
+
|
|
34
|
+
// Set this here because of specificity issues (with ::slotted)
|
|
35
|
+
@include a.type(200);
|
|
36
|
+
|
|
37
|
+
::placeholder {
|
|
38
|
+
color: var(--e-c-mono-700);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
[type='search']::-webkit-search-cancel-button {
|
|
43
|
+
display: none;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
[type='date']::-webkit-calendar-picker-indicator {
|
|
47
|
+
opacity: 0;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
select {
|
|
52
|
+
font-family: inherit;
|
|
53
|
+
appearance: none;
|
|
54
|
+
border: 0;
|
|
55
|
+
background: none;
|
|
56
|
+
|
|
57
|
+
// Set this here because of specificity issues (with ::slotted)
|
|
58
|
+
@include a.type(200);
|
|
59
|
+
|
|
60
|
+
&:invalid {
|
|
61
|
+
color: var(--e-c-mono-700);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
textarea {
|
|
66
|
+
font-family: inherit;
|
|
67
|
+
appearance: none;
|
|
68
|
+
border: 0;
|
|
69
|
+
background: none;
|
|
70
|
+
resize: vertical;
|
|
71
|
+
|
|
72
|
+
// Set this here because of specificity issues (with ::slotted)
|
|
73
|
+
@include a.type(200);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
fieldset {
|
|
77
|
+
padding: 0;
|
|
78
|
+
margin: 0;
|
|
79
|
+
border: 0;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Focus Handling
|
|
83
|
+
// There's still room for improvement here.
|
|
84
|
+
// Maybe we'll implement floating focus later on.
|
|
85
|
+
* {
|
|
86
|
+
outline: none;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
*:focus-visible {
|
|
90
|
+
outline-style: solid;
|
|
91
|
+
outline-offset: 4px;
|
|
92
|
+
outline-color: rgba(dt.$c-mono-500, 0.8);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
[data-whatintent='mouse'] *:focus {
|
|
96
|
+
outline: none;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@media print {
|
|
100
|
+
body {
|
|
101
|
+
-webkit-print-color-adjust: exact !important; /* stylelint-disable-line */
|
|
102
|
+
print-color-adjust: exact !important; /* stylelint-disable-line */
|
|
103
|
+
}
|
|
104
|
+
}
|
package/base/_body.scss
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@use '@energie360/design-tokens/dist/scss' as dt;
|
|
2
|
+
|
|
3
|
+
// Focus Handling
|
|
4
|
+
// There's still room for improvement here.
|
|
5
|
+
// Maybe we'll implement floating focus later on.
|
|
6
|
+
* {
|
|
7
|
+
outline: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
*:focus-visible {
|
|
11
|
+
outline-style: solid;
|
|
12
|
+
outline-offset: 4px;
|
|
13
|
+
outline-color: rgba(dt.$c-mono-500, 0.8);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[data-whatintent='mouse'] *:focus {
|
|
17
|
+
outline: none;
|
|
18
|
+
}
|
package/base/_html.scss
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
@use './abstracts' as a;
|
|
2
|
+
|
|
3
|
+
input,
|
|
4
|
+
textarea,
|
|
5
|
+
select {
|
|
6
|
+
font-family: inherit;
|
|
7
|
+
font-size: inherit;
|
|
8
|
+
appearance: none;
|
|
9
|
+
border: 0;
|
|
10
|
+
background: none;
|
|
11
|
+
margin: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
input,
|
|
15
|
+
select,
|
|
16
|
+
textarea {
|
|
17
|
+
@include a.type(
|
|
18
|
+
200
|
|
19
|
+
); // Set this here because of specificity issues (with ::slotted)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
input {
|
|
23
|
+
&::placeholder {
|
|
24
|
+
color: var(--e-c-mono-700);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&:disabled::placeholder {
|
|
28
|
+
color: var(--e-c-mono-500);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[type='search']::-webkit-search-cancel-button {
|
|
33
|
+
display: none;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
[type='date']::-webkit-calendar-picker-indicator {
|
|
37
|
+
opacity: 0;
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
select {
|
|
42
|
+
&:invalid {
|
|
43
|
+
color: var(--e-c-mono-700);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
textarea {
|
|
48
|
+
resize: vertical;
|
|
49
|
+
}
|
package/base/_print.scss
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
@use './abstracts/resets' as r;
|
|
2
|
+
|
|
3
|
+
body {
|
|
4
|
+
margin: 0;
|
|
5
|
+
min-height: 100vh;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
h1,
|
|
9
|
+
h2,
|
|
10
|
+
h3,
|
|
11
|
+
h4,
|
|
12
|
+
h5,
|
|
13
|
+
h6 {
|
|
14
|
+
margin: 0;
|
|
15
|
+
text-wrap: balance;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
p,
|
|
19
|
+
figure,
|
|
20
|
+
blockquote {
|
|
21
|
+
margin: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@include r.button-reset;
|
|
25
|
+
|
|
26
|
+
ul,
|
|
27
|
+
ol {
|
|
28
|
+
list-style: none;
|
|
29
|
+
padding: 0;
|
|
30
|
+
margin: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
dl,
|
|
34
|
+
dt,
|
|
35
|
+
dd {
|
|
36
|
+
margin: 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
address {
|
|
40
|
+
font-style: normal;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
img,
|
|
44
|
+
picture {
|
|
45
|
+
max-width: 100%;
|
|
46
|
+
display: block;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
fieldset {
|
|
50
|
+
padding: 0;
|
|
51
|
+
margin: 0;
|
|
52
|
+
border: 0;
|
|
53
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@use 'variables' as v;
|
|
2
|
+
@use 'sass:math';
|
|
3
|
+
@use 'sass:list';
|
|
4
|
+
@use 'sass:meta';
|
|
5
|
+
|
|
6
|
+
/* prettier-ignore */
|
|
7
|
+
@function rem($size, $base-size: v.$base-font-size) {
|
|
8
|
+
@if meta.function-exists(get-env) {
|
|
9
|
+
@if get-env() == 'development' {
|
|
10
|
+
@return #{math.div($size, $size * 0 + 1)}px;
|
|
11
|
+
}
|
|
12
|
+
} @else {
|
|
13
|
+
$rem-size: math.div(($size * 1px), $base-size);
|
|
14
|
+
|
|
15
|
+
@if list.index('px', math.unit($size)) != null and meta.type_of($size) == 'number' {
|
|
16
|
+
$rem-size: math.div(($size), $base-size);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@return #{$rem-size}rem;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use 'sass:list';
|
|
3
|
+
@use '@energie360/design-tokens/dist/scss' as dt;
|
|
4
|
+
@use './functions' as f;
|
|
5
|
+
|
|
6
|
+
// Accessibility
|
|
7
|
+
@mixin visually-hidden {
|
|
8
|
+
position: absolute;
|
|
9
|
+
display: block;
|
|
10
|
+
width: 1px;
|
|
11
|
+
height: 1px;
|
|
12
|
+
margin: -1px;
|
|
13
|
+
padding: 0;
|
|
14
|
+
border: 0;
|
|
15
|
+
clip: rect(0, 0, 0, 0);
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
white-space: nowrap;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Media query helper mixin
|
|
21
|
+
@mixin bp($query) {
|
|
22
|
+
@media (max-width: #{map.get(dt.$mediaquery-token-map, #{'mq-breakpoint-' + $query})}) {
|
|
23
|
+
@content;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
$letter-spacings: (
|
|
28
|
+
// (weak, strong)
|
|
29
|
+
1000: (0.2px, 0.2px),
|
|
30
|
+
900: (0.2px, 0.2px),
|
|
31
|
+
800: (0.6px, 0.4px),
|
|
32
|
+
700: (0.4px, 0.4px),
|
|
33
|
+
600: (0.4px, 0.4px),
|
|
34
|
+
500: (0.7px, 0.7px),
|
|
35
|
+
400: (0.5px, 0.5px),
|
|
36
|
+
300: (0.3px, 0.3px),
|
|
37
|
+
200: (0.3px, 0.1px),
|
|
38
|
+
100: (0.3px, 0.4px),
|
|
39
|
+
50: (0.4px, 0.4px)
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
// Small helper because font-size and line-height are basically are always the same size.
|
|
43
|
+
@mixin type($size, $weight: null) {
|
|
44
|
+
font-size: var(--e-type-size-#{$size});
|
|
45
|
+
line-height: var(--e-type-line-height-#{$size});
|
|
46
|
+
|
|
47
|
+
@if $weight == strong {
|
|
48
|
+
letter-spacing: f.rem(list.nth(map.get($letter-spacings, $size), 2));
|
|
49
|
+
} @else {
|
|
50
|
+
letter-spacing: f.rem(list.nth(map.get($letter-spacings, $size), 1));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@if $weight {
|
|
54
|
+
font-weight: var(--e-type-weight-#{$weight});
|
|
55
|
+
|
|
56
|
+
@if $weight == strong {
|
|
57
|
+
// TODO: find a better way to set this smoothing properties.
|
|
58
|
+
// Now they would be rendered multiple times on every type(xxx, strong).
|
|
59
|
+
-webkit-font-smoothing: antialiased;
|
|
60
|
+
-moz-osx-font-smoothing: grayscale;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@media print {
|
|
65
|
+
font-size: calc(var(--e-type-size-#{$size}) * 0.75);
|
|
66
|
+
line-height: calc(var(--e-type-line-height-#{$size}) * 0.75);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// This mixin will simply add an animated background.
|
|
71
|
+
@mixin skeleton-background {
|
|
72
|
+
background-color: var(--e-c-mono-200);
|
|
73
|
+
animation-name: skeleton-bg-loader;
|
|
74
|
+
animation-duration: 1500ms;
|
|
75
|
+
animation-iteration-count: infinite;
|
|
76
|
+
animation-timing-function: var(--e-trs-easing-default);
|
|
77
|
+
border-radius: var(--e-brd-radius-1);
|
|
78
|
+
overflow: hidden;
|
|
79
|
+
color: transparent;
|
|
80
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// TODO: Use CSS vars instead of SCSS vars.
|
|
2
|
+
@use '@energie360/design-tokens/dist/scss' as dt;
|
|
3
|
+
@use 'sass:math';
|
|
4
|
+
|
|
5
|
+
// Global variables
|
|
6
|
+
// These are abstractions of design tokens
|
|
7
|
+
|
|
8
|
+
$body-font:
|
|
9
|
+
#{dt.$type-font-body},
|
|
10
|
+
#{dt.$type-font-fallback};
|
|
11
|
+
$body-font-color: dt.$c-mono-900;
|
|
12
|
+
$body-line-height: dt.$type-line-height-300;
|
|
13
|
+
$body-font-size: dt.$type-size-300;
|
|
14
|
+
$body-font-weight: dt.$type-weight-weak;
|
|
15
|
+
|
|
16
|
+
// $base-font-size: dt.$type-font-base-size;
|
|
17
|
+
$base-font-size: 16px;
|
|
18
|
+
|
|
19
|
+
// Layout: Container
|
|
20
|
+
$container-edge-2xl: dt.$space-20;
|
|
21
|
+
$container-edge-lg: dt.$space-10;
|
|
22
|
+
$container-edge-m: dt.$space-10;
|
|
23
|
+
$container-edge-s: dt.$space-5;
|
|
24
|
+
$container-inner-2xl: dt.$layout-site-width - 2 * $container-edge-2xl;
|
|
25
|
+
$container-inner-lg: dt.$layout-site-width-lg - 2 * $container-edge-lg;
|
|
26
|
+
$container-inner-m: dt.$layout-site-width-m - 2 * $container-edge-m;
|
|
27
|
+
$container-inner-s: dt.$layout-site-width-s - 2 * $container-edge-s;
|
|
28
|
+
|
|
29
|
+
// Layout: Grid
|
|
30
|
+
$grid-columns: dt.$layout-grid-columns; // Default columns in grid. Can be overridden in mixin.
|
|
31
|
+
$grid-gutter-2xl: math.div(dt.$space-10, $container-inner-2xl) * 100%;
|
|
32
|
+
$grid-gutter-lg: math.div(dt.$space-6, $container-inner-lg) * 100%;
|
|
33
|
+
$grid-gutter-m: math.div(dt.$space-6, $container-inner-m) * 100%;
|
|
34
|
+
$grid-gutter-s: math.div(dt.$space-5, $container-inner-s) * 100%;
|
|
35
|
+
|
|
36
|
+
// Transition
|
|
37
|
+
$trs-default: var(--e-trs-duration-faster) var(--e-trs-easing-default);
|
|
38
|
+
|
|
39
|
+
// CMS-Section
|
|
40
|
+
$section-default-padding-2xl: dt.$space-28;
|
|
41
|
+
$section-default-padding: dt.$space-20;
|
|
42
|
+
$section-default-padding-mobile: dt.$space-16;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Base styling and resets for all web-components.
|
|
3
|
+
This must be loaded before all other styles.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@use '@energie360/design-tokens/dist/css/design-tokens.css';
|
|
7
|
+
@use 'resets';
|
|
8
|
+
@use 'input-resets';
|
|
9
|
+
@use 'focus-handling';
|
|
10
|
+
@use '@energie360/design-tokens/dist/fonts/fonts.css';
|
|
11
|
+
|
|
12
|
+
html {
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
scroll-behavior: smooth;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
html,
|
|
18
|
+
body {
|
|
19
|
+
min-height: 100vh;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
*,
|
|
23
|
+
*::after,
|
|
24
|
+
*::before {
|
|
25
|
+
box-sizing: inherit;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
body {
|
|
29
|
+
margin: 0;
|
|
30
|
+
font-family: var(--e-type-font-body), var(--e-type-font-fallback);
|
|
31
|
+
font-size: var(--e-type-size-300);
|
|
32
|
+
font-weight: var(--e-type-weight-weak);
|
|
33
|
+
line-height: var(--e-type-line-height-300);
|
|
34
|
+
color: var(--e-c-mono-900);
|
|
35
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
font-family: var(--e-type-font-body), var(--e-type-font-fallback);
|
|
3
|
+
font-size: var(--e-type-size-300);
|
|
4
|
+
font-weight: var(--e-type-weight-weak);
|
|
5
|
+
line-height: var(--e-type-line-height-300);
|
|
6
|
+
color: var(--e-c-mono-900);
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
*,
|
|
11
|
+
*::after,
|
|
12
|
+
*::before {
|
|
13
|
+
box-sizing: inherit;
|
|
14
|
+
}
|
package/base/index.scss
ADDED
package/base/main.scss
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
@use './resets';
|
|
2
|
+
@use './html';
|
|
3
|
+
@use './body';
|
|
4
|
+
@use './focus-handling';
|
|
5
|
+
@import '@energie360/design-tokens/dist/fonts/fonts.css';
|
|
6
|
+
@import '@energie360/design-tokens/dist/css/design-tokens.css';
|
|
7
|
+
|
|
8
|
+
e-button,
|
|
9
|
+
e-icon-button,
|
|
10
|
+
e-loader {
|
|
11
|
+
&:not(:defined) {
|
|
12
|
+
opacity: 0;
|
|
13
|
+
}
|
|
14
|
+
}
|
package/dist/index.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.icon[data-v-fee8d5eb]{display:block;fill:var(--icon-fill-color, currentColor);width:var(--icon-width, 24px);height:var(--icon-height, 24px);transition:var(--icon-transition, none)}.icon.icon--custom-size[data-v-fee8d5eb]{width:100%;height:100%}.icon.icon--inline[data-v-fee8d5eb]{display:inline-block;vertical-align:baseline}@keyframes horizontal-a2f9c45c{0%{transform:translate(0)}20%{transform:translate(0);opacity:1;width:8px}50%{transform:translate(24px);opacity:.7;width:16px}80%{transform:translate(56px);opacity:1;width:8px}to{transform:translate(56px)}}@keyframes vertical-a2f9c45c{0%{transform:translateY(0)}50%{transform:translateY(0);opacity:1;height:8px}55%{transform:translateY(-12px);opacity:.7;height:16px}60%{transform:translateY(0);opacity:1;height:8px}70%{transform:translateY(-4px)}to{transform:translateY(0)}}.loader[data-v-a2f9c45c]{position:relative;display:inline-flex;--dot-color: var(--e-c-mono-900)}.loader>span[data-v-a2f9c45c]{display:block;width:8px;height:8px;border-radius:4px;background-color:var(--dot-color)}.loader.horizontal[data-v-a2f9c45c]{width:64px}.loader.horizontal>span[data-v-a2f9c45c]{transform:translate(0);animation-name:horizontal-a2f9c45c;animation-duration:1s;animation-direction:alternate;animation-timing-function:cubic-bezier(.4,.61,.61,.4);animation-iteration-count:infinite}.loader.vertical[data-v-a2f9c45c]{height:8px;width:8px}.loader.vertical>span[data-v-a2f9c45c]{transform:translateY(0);animation-name:vertical-a2f9c45c;animation-duration:2s;animation-timing-function:cubic-bezier(.47,.52,.165,1.005);animation-iteration-count:infinite}button[data-v-9f038231]{padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font-family:inherit;font-size:inherit;background:none}.button[data-v-9f038231]{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.875rem;grid-gap:var(--e-space-2);border-radius:24px;transition:background-color var(--e-trs-duration-faster) var(--e-trs-easing-default),box-shadow var(--e-trs-duration-faster) var(--e-trs-easing-default),color var(--e-trs-duration-faster) var(--e-trs-easing-default),border var(--e-trs-duration-faster) var(--e-trs-easing-default);border-width:2px;border-style:solid;text-decoration:none;vertical-align:middle;text-align:center;cursor:pointer;font-size:var(--e-type-size-200);line-height:var(--e-type-line-height-200);letter-spacing:.00625rem;font-weight:var(--e-type-weight-strong);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.button .icon[data-v-9f038231],.button e-icon[data-v-9f038231]{width:24px;height:24px}@media print{.button[data-v-9f038231]{font-size:calc(var(--e-type-size-200) * .75);line-height:calc(var(--e-type-line-height-200) * .75)}}.button .button__loader[data-v-9f038231]{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.button.disabled[data-v-9f038231],.button[data-v-9f038231]:disabled{pointer-events:none}.button[loading][data-v-9f038231]{cursor:default}.button .icon[data-v-9f038231],.button e-icon[data-v-9f038231]{--icon-transition: fill var(--e-trs-duration-faster) var(--e-trs-easing-default)}.button[data-v-9f038231]{background-color:var(--e-c-primary-01-700);color:var(--e-c-mono-00);border-color:var(--e-c-primary-01-700)}.button .icon[data-v-9f038231],.button e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-00)}.button .loader[data-v-9f038231],.button e-loader[data-v-9f038231]{--dot-color: var(--e-c-mono-00)}.button[data-v-9f038231]:hover{background-color:var(--e-c-secondary-01-900);border-color:var(--e-c-secondary-01-900)}.button[data-v-9f038231]:active,.button[loading][data-v-9f038231]{background-color:var(--e-c-secondary-01-700);border-color:var(--e-c-secondary-01-700)}.button.disabled[data-v-9f038231]:not([loading]),.button[data-v-9f038231]:disabled:not([loading]){background-color:var(--e-c-mono-500);border-color:var(--e-c-mono-500)}.button.outlined[data-v-9f038231]{background-color:transparent;color:var(--e-c-primary-01-700);border:2px solid var(--e-c-primary-01-700)}.button.outlined .icon[data-v-9f038231],.button.outlined e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-primary-01-700)}.button.outlined .loader[data-v-9f038231],.button.outlined e-loader[data-v-9f038231]{--dot-color: var(--e-c-primary-01-500)}.button.outlined[data-v-9f038231]:hover{background-color:var(--e-c-primary-01-50);border-color:var(--e-c-primary-01-200)}.button.outlined[data-v-9f038231]:active,.button.outlined[loading][data-v-9f038231]{background-color:transparent;border-color:var(--e-c-primary-01-500)}.button.outlined.disabled[data-v-9f038231]:not([loading]),.button.outlined[data-v-9f038231]:disabled:not([loading]){border-color:var(--e-c-mono-500);background-color:transparent;color:var(--e-c-mono-500)}.button.outlined.disabled:not([loading]) .icon[data-v-9f038231],.button.outlined.disabled:not([loading]) e-icon[data-v-9f038231],.button.outlined:disabled:not([loading]) .icon[data-v-9f038231],.button.outlined:disabled:not([loading]) e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-500)}.button.plain[data-v-9f038231]{padding:var(--e-space-2) var(--e-space-3);color:var(--e-c-primary-01-700);background:none;border:0;text-decoration:none;grid-gap:var(--e-space-1)}.button.plain .icon[data-v-9f038231],.button.plain e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-primary-01-700)}.button.plain[data-v-9f038231]:hover{color:var(--e-c-secondary-01-900)}.button.plain:hover .icon[data-v-9f038231],.button.plain:hover e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-secondary-01-900)}.button.plain[data-v-9f038231]:active{color:var(--e-c-secondary-01-700)}.button.plain:active .icon[data-v-9f038231],.button.plain:active e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-secondary-01-700)}.button.plain.disabled[data-v-9f038231]:not([loading]),.button.plain[data-v-9f038231]:disabled:not([loading]){background:none;color:var(--e-c-mono-500)}.button.plain.disabled:not([loading]) .icon[data-v-9f038231],.button.plain.disabled:not([loading]) e-icon[data-v-9f038231],.button.plain:disabled:not([loading]) .icon[data-v-9f038231],.button.plain:disabled:not([loading]) e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-500)}.button.plain[loading] .loader[data-v-9f038231],.button.plain[loading] e-loader[data-v-9f038231]{--dot-color: var(--e-c-secondary-01-700)}.button.plain-small[data-v-9f038231]{padding:var(--e-space-2) var(--e-space-3);color:var(--e-c-primary-01-700);background:none;border:0;text-decoration:none;grid-gap:var(--e-space-1);font-size:var(--e-type-size-100);line-height:var(--e-type-line-height-100);letter-spacing:.025rem;font-weight:var(--e-type-weight-strong);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.button.plain-small .icon[data-v-9f038231],.button.plain-small e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-primary-01-700)}.button.plain-small[data-v-9f038231]:hover{color:var(--e-c-secondary-01-900)}.button.plain-small:hover .icon[data-v-9f038231],.button.plain-small:hover e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-secondary-01-900)}.button.plain-small[data-v-9f038231]:active{color:var(--e-c-secondary-01-700)}.button.plain-small:active .icon[data-v-9f038231],.button.plain-small:active e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-secondary-01-700)}.button.plain-small.disabled[data-v-9f038231]:not([loading]),.button.plain-small[data-v-9f038231]:disabled:not([loading]){background:none;color:var(--e-c-mono-500)}.button.plain-small.disabled:not([loading]) .icon[data-v-9f038231],.button.plain-small.disabled:not([loading]) e-icon[data-v-9f038231],.button.plain-small:disabled:not([loading]) .icon[data-v-9f038231],.button.plain-small:disabled:not([loading]) e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-500)}.button.plain-small[loading] .loader[data-v-9f038231],.button.plain-small[loading] e-loader[data-v-9f038231]{--dot-color: var(--e-c-secondary-01-700)}@media print{.button.plain-small[data-v-9f038231]{font-size:calc(var(--e-type-size-100) * .75);line-height:calc(var(--e-type-line-height-100) * .75)}}.button.filled-inverted[data-v-9f038231]{background-color:var(--e-c-mono-00);border-color:var(--e-c-mono-00);color:var(--e-c-primary-01-700)}.button.filled-inverted e-loader[data-v-9f038231]{--dot-color: var(--e-c-secondary-01-900)}.button.filled-inverted .icon[data-v-9f038231],.button.filled-inverted e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-primary-01-700)}.button.filled-inverted[data-v-9f038231]:hover{background-color:var(--e-c-primary-01-100);border-color:var(--e-c-primary-01-100);color:var(--e-c-secondary-01-700)}.button.filled-inverted:hover .icon[data-v-9f038231],.button.filled-inverted:hover e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-secondary-01-700)}.button.filled-inverted[data-v-9f038231]:active,.button.filled-inverted[loading][data-v-9f038231]{background-color:var(--e-c-primary-01-200);border-color:var(--e-c-primary-01-200)}.button.filled-inverted.disabled[data-v-9f038231]:not([loading]),.button.filled-inverted[data-v-9f038231]:disabled:not([loading]){color:var(--e-c-mono-700)}.button.filled-inverted.disabled:not([loading]) .icon[data-v-9f038231],.button.filled-inverted.disabled:not([loading]) e-icon[data-v-9f038231],.button.filled-inverted:disabled:not([loading]) .icon[data-v-9f038231],.button.filled-inverted:disabled:not([loading]) e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-700)}.button.outlined-inverted[data-v-9f038231]{background-color:transparent;border-color:var(--e-c-mono-00);color:var(--e-c-mono-00)}.button.outlined-inverted .icon[data-v-9f038231],.button.outlined-inverted e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-00)}.button.outlined-inverted .loader[data-v-9f038231],.button.outlined-inverted e-loader[data-v-9f038231]{--dot-color: var(--e-c-mono-00)}.button.outlined-inverted[data-v-9f038231]:hover{background-color:rgba(var(--e-c-primary-01-900-rgb),.7);border-color:var(--e-c-primary-01-200)}.button.outlined-inverted[data-v-9f038231]:active,.button.outlined-inverted[loading][data-v-9f038231]{background-color:transparent;border-color:var(--e-c-primary-01-500)}.button.outlined-inverted.disabled[data-v-9f038231]:not([loading]),.button.outlined-inverted[data-v-9f038231]:disabled:not([loading]){color:var(--e-c-mono-500);border:2px solid var(--e-c-mono-500);background-color:transparent}.button.outlined-inverted.disabled:not([loading]) .icon[data-v-9f038231],.button.outlined-inverted.disabled:not([loading]) e-icon[data-v-9f038231],.button.outlined-inverted:disabled:not([loading]) .icon[data-v-9f038231],.button.outlined-inverted:disabled:not([loading]) e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-500)}.button.secondary-outlined[data-v-9f038231]{background-color:transparent;color:var(--e-c-secondary-02-500);border:2px solid var(--e-c-secondary-02-500)}.button.secondary-outlined .icon[data-v-9f038231],.button.secondary-outlined e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-secondary-02-500)}.button.secondary-outlined .loader[data-v-9f038231],.button.secondary-outlined e-loader[data-v-9f038231]{--dot-color: var(--e-c-secondary-02-500)}.button.secondary-outlined[data-v-9f038231]:hover{background-color:var(--e-c-secondary-02-50);border-color:var(--e-c-secondary-02-200)}.button.secondary-outlined[data-v-9f038231]:active,.button.secondary-outlined[loading][data-v-9f038231]{background-color:transparent;border-color:var(--e-c-secondary-02-200)}.button.secondary-outlined.disabled[data-v-9f038231]:not([loading]),.button.secondary-outlined[data-v-9f038231]:disabled:not([loading]){border-color:var(--e-c-mono-500);background-color:transparent;color:var(--e-c-mono-500)}.button.secondary-outlined.disabled:not([loading]) .icon[data-v-9f038231],.button.secondary-outlined.disabled:not([loading]) e-icon[data-v-9f038231],.button.secondary-outlined:disabled:not([loading]) .icon[data-v-9f038231],.button.secondary-outlined:disabled:not([loading]) e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-500)}.button.secondary-outlined-small[data-v-9f038231]{padding:var(--e-space-2_5) var(--e-space-6);background-color:transparent;color:var(--e-c-secondary-02-500);border:2px solid var(--e-c-secondary-02-500);font-size:var(--e-type-size-100);line-height:var(--e-type-line-height-100);letter-spacing:.025rem;font-weight:var(--e-type-weight-strong);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.button.secondary-outlined-small .icon[data-v-9f038231],.button.secondary-outlined-small e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-secondary-02-500)}.button.secondary-outlined-small .loader[data-v-9f038231],.button.secondary-outlined-small e-loader[data-v-9f038231]{--dot-color: var(--e-c-secondary-02-500)}.button.secondary-outlined-small[data-v-9f038231]:hover{background-color:var(--e-c-secondary-02-50);border-color:var(--e-c-secondary-02-200)}.button.secondary-outlined-small[data-v-9f038231]:active,.button.secondary-outlined-small[loading][data-v-9f038231]{background-color:transparent;border-color:var(--e-c-secondary-02-200)}.button.secondary-outlined-small.disabled[data-v-9f038231]:not([loading]),.button.secondary-outlined-small[data-v-9f038231]:disabled:not([loading]){border-color:var(--e-c-mono-500);background-color:transparent;color:var(--e-c-mono-500)}.button.secondary-outlined-small.disabled:not([loading]) .icon[data-v-9f038231],.button.secondary-outlined-small.disabled:not([loading]) e-icon[data-v-9f038231],.button.secondary-outlined-small:disabled:not([loading]) .icon[data-v-9f038231],.button.secondary-outlined-small:disabled:not([loading]) e-icon[data-v-9f038231]{--icon-fill-color: var(--e-c-mono-500)}@media print{.button.secondary-outlined-small[data-v-9f038231]{font-size:calc(var(--e-type-size-100) * .75);line-height:calc(var(--e-type-line-height-100) * .75)}}.button[loading][data-v-9f038231]{color:transparent}.button[loading] .icon[data-v-9f038231],.button[loading] e-icon[data-v-9f038231]{--icon-fill-color: transparent}[data-v-cc80eb1c]:host{font-family:var(--e-type-font-body),var(--e-type-font-fallback);font-size:var(--e-type-size-300);font-weight:var(--e-type-weight-weak);line-height:var(--e-type-line-height-300);color:var(--e-c-mono-900);box-sizing:border-box}[data-v-cc80eb1c],[data-v-cc80eb1c]:after,[data-v-cc80eb1c]:before{box-sizing:inherit}[data-v-cc80eb1c]{outline:none}[data-v-cc80eb1c]:focus-visible{outline-style:solid;outline-offset:4px;outline-color:#b3b3b3cc}[data-whatintent=mouse][data-v-cc80eb1c] *:focus{outline:none}body[data-v-cc80eb1c]{margin:0;min-height:100vh}h1[data-v-cc80eb1c],h2[data-v-cc80eb1c],h3[data-v-cc80eb1c],h4[data-v-cc80eb1c],h5[data-v-cc80eb1c],h6[data-v-cc80eb1c]{margin:0;text-wrap:balance}p[data-v-cc80eb1c],figure[data-v-cc80eb1c],blockquote[data-v-cc80eb1c]{margin:0}button[data-v-cc80eb1c]{padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font-family:inherit;font-size:inherit;background:none}ul[data-v-cc80eb1c],ol[data-v-cc80eb1c]{list-style:none;padding:0;margin:0}dl[data-v-cc80eb1c],dt[data-v-cc80eb1c],dd[data-v-cc80eb1c]{margin:0}address[data-v-cc80eb1c]{font-style:normal}img[data-v-cc80eb1c],picture[data-v-cc80eb1c]{max-width:100%;display:block}fieldset[data-v-cc80eb1c]{padding:0;margin:0;border:0}.visually-hidden[data-v-cc80eb1c]{position:absolute;display:block;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.icon-button[data-v-cc80eb1c]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:100%;color:transparent;cursor:pointer}.icon-button .icon[data-v-cc80eb1c],.icon-button e-icon[data-v-cc80eb1c]{width:1.5rem;height:1.5rem}.icon-button .icon[data-v-cc80eb1c],.icon-button e-icon[data-v-cc80eb1c]{position:relative}.icon-button[data-v-cc80eb1c]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;border-width:2px;border-style:solid;transition:background-color var(--e-trs-duration-faster) var(--e-trs-easing-default),border-color var(--e-trs-duration-faster) var(--e-trs-easing-default),transform var(--e-trs-duration-faster) var(--e-trs-easing-default)}.icon-button[data-v-cc80eb1c]:hover:not(:disabled):before{transform:scale(1.05)}.icon-button[data-v-cc80eb1c]:active:before{transform:scale(1)}.icon-button[data-v-cc80eb1c]:disabled{cursor:default}.icon-button[data-v-cc80eb1c]:before{background-color:var(--e-c-primary-01-700);border-color:var(--e-c-primary-01-700)}.icon-button .icon[data-v-cc80eb1c],.icon-button e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-00)}.icon-button[data-v-cc80eb1c]:hover:before{background-color:var(--e-c-secondary-01-900);border-color:var(--e-c-secondary-01-900)}.icon-button[data-v-cc80eb1c]:active:before{background-color:var(--e-c-secondary-01-700);border-color:var(--e-c-secondary-01-700)}.icon-button[data-v-cc80eb1c]:disabled:before{background-color:var(--e-c-mono-500);border-color:var(--e-c-mono-500)}.icon-button.outlined[data-v-cc80eb1c]:before{background-color:transparent;border-color:var(--e-c-mono-500)}.icon-button.outlined .icon[data-v-cc80eb1c],.icon-button.outlined e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-900)}.icon-button.outlined[data-v-cc80eb1c]:hover:before{border-color:var(--e-c-primary-01-200)}.icon-button.outlined[data-v-cc80eb1c]:active:before{border-color:var(--e-c-primary-01-500)}.icon-button.outlined[data-v-cc80eb1c]:disabled:before{border-color:var(--e-c-mono-500)}.icon-button.outlined:disabled .icon[data-v-cc80eb1c],.icon-button.outlined:disabled e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-500)}.icon-button.plain[data-v-cc80eb1c]:before{background-color:transparent;border-color:transparent}.icon-button.plain .icon[data-v-cc80eb1c],.icon-button.plain e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-primary-01-700)}.icon-button.plain[data-v-cc80eb1c]:hover:before{background-color:var(--e-c-primary-01-50);border-color:var(--e-c-primary-01-50)}.icon-button.plain[data-v-cc80eb1c]:active:before{background-color:var(--e-c-primary-01-100);border-color:var(--e-c-primary-01-100)}.icon-button.plain:disabled .icon[data-v-cc80eb1c],.icon-button.plain:disabled e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-500)}.icon-button.filled-inverted[data-v-cc80eb1c]:before{background-color:var(--e-c-mono-00);border-color:var(--e-c-mono-00)}.icon-button.filled-inverted .icon[data-v-cc80eb1c],.icon-button.filled-inverted e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-primary-01-700)}.icon-button.filled-inverted[data-v-cc80eb1c]:hover:before{background-color:var(--e-c-primary-01-100);border-color:var(--e-c-primary-01-100)}.icon-button.filled-inverted:hover .icon[data-v-cc80eb1c],.icon-button.filled-inverted:hover e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-secondary-01-700)}.icon-button.filled-inverted[data-v-cc80eb1c]:active:before{background-color:var(--e-c-primary-01-200);border-color:var(--e-c-primary-01-200)}.icon-button.filled-inverted[data-v-cc80eb1c]:disabled:before{background-color:var(--e-c-mono-500);border-color:var(--e-c-mono-500)}.icon-button.filled-inverted:disabled .icon[data-v-cc80eb1c],.icon-button.filled-inverted:disabled e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-700)}.icon-button.outlined-inverted[data-v-cc80eb1c]:before{background-color:transparent;border-color:var(--e-c-mono-00)}.icon-button.outlined-inverted .icon[data-v-cc80eb1c],.icon-button.outlined-inverted e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-00)}.icon-button.outlined-inverted[data-v-cc80eb1c]:hover:before{border-color:var(--e-c-primary-01-200)}.icon-button.outlined-inverted[data-v-cc80eb1c]:active:before{border-color:var(--e-c-primary-01-500)}.icon-button.outlined-inverted[data-v-cc80eb1c]:disabled:before{border-color:var(--e-c-mono-500)}.icon-button.outlined-inverted:disabled .icon[data-v-cc80eb1c],.icon-button.outlined-inverted:disabled e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-500)}.icon-button.plain-inverted[data-v-cc80eb1c]:before{background-color:transparent;border-color:transparent}.icon-button.plain-inverted .icon[data-v-cc80eb1c],.icon-button.plain-inverted e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-00)}.icon-button.plain-inverted[data-v-cc80eb1c]:hover:before{background-color:var(--e-c-secondary-01-700);border-color:var(--e-c-secondary-01-700)}.icon-button.plain-inverted[data-v-cc80eb1c]:active:before{background-color:var(--e-c-secondary-01-900);border-color:var(--e-c-secondary-01-900)}.icon-button.plain-inverted:disabled .icon[data-v-cc80eb1c],.icon-button.plain-inverted:disabled e-icon[data-v-cc80eb1c]{--icon-fill-color: var(--e-c-mono-500)}
|