@energie360/ui-library 0.1.0 → 0.1.1
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/base/abstracts/_mixins.scss +11 -5
- package/base/main-base.scss +1 -0
- package/components/icon-text-block/{icon-text-block.vue → u-icon-text-block.vue} +10 -6
- package/components/index.js +14 -0
- package/components/panel/panel.scss +70 -0
- package/components/panel/u-panel.vue +37 -0
- package/components/progress-bar/progress-bar.scss +37 -0
- package/components/progress-bar/u-progress-bar.vue +21 -0
- package/components/table/cell-ctas.scss +12 -0
- package/components/table/cell-icon-group.scss +12 -0
- package/components/table/cell-icon-text.scss +22 -0
- package/components/table/cell-progress-bar.scss +23 -0
- package/components/table/table-cell.mixins.scss +60 -0
- package/components/table/table-cell.scss +24 -0
- package/components/table/table-header.scss +5 -0
- package/components/table/table-heading.scss +8 -0
- package/components/table/table-row.scss +20 -0
- package/components/table/table.scss +12 -0
- package/components/table/table.type.ts +31 -0
- package/components/table/u-cell-ctas.vue +33 -0
- package/components/table/u-cell-icon-group.vue +31 -0
- package/components/table/u-cell-icon-text.vue +23 -0
- package/components/table/u-cell-progress-bar.vue +22 -0
- package/components/table/u-table-cell.vue +47 -0
- package/components/table/u-table-header.vue +9 -0
- package/components/table/u-table-heading.vue +24 -0
- package/components/table/u-table-row.vue +17 -0
- package/components/table/u-table.vue +11 -0
- package/components/tooltip/dom.js +167 -0
- package/components/tooltip/popover.js +200 -0
- package/components/tooltip/tooltip.scss +75 -0
- package/components/tooltip/u-tooltip.vue +92 -0
- package/components/tooltip/viewport.js +21 -0
- package/custom-elements.js +1 -0
- package/dist/base-style.css +1 -1
- package/dist/custom-elements.css +1 -0
- package/dist/{index.js → custom-elements.js} +1482 -1491
- package/dist/custom-elements.js.map +1 -0
- package/elements/button/_button-base.scss +1 -1
- package/elements/button/_button-filled-inverted.scss +3 -3
- package/elements/button/_button-filled.scss +3 -3
- package/elements/button/_button-outlined-inverted.scss +3 -3
- package/elements/button/_button-outlined.scss +3 -3
- package/elements/button/_button-plain.scss +3 -3
- package/elements/button/_button-secondary-outlined.scss +3 -3
- package/elements/button/button.js +2 -2
- package/elements/button/button.scss +1 -1
- package/elements/button/u-button.vue +44 -0
- package/elements/elements.js +35 -0
- package/elements/form-field/form-field-base.scss +142 -0
- package/elements/form-field/form-field-error.scss +20 -0
- package/elements/form-field/form-field-prefix-suffix.scss +80 -0
- package/elements/form-field/form-field-states.scss +59 -0
- package/elements/form-field/index.scss +4 -0
- package/elements/icon/icon.js +2 -2
- package/elements/icon/{icon.vue → u-icon.vue} +11 -15
- package/elements/icon-button/icon-button.js +2 -2
- package/elements/icon-button/{icon-button.vue → u-icon-button.vue} +14 -15
- package/elements/image/image.scss +3 -0
- package/elements/image/u-image.vue +17 -0
- package/elements/index.js +6 -31
- package/elements/loader/loader.js +2 -2
- package/elements/loader/{loader.vue → u-loader.vue} +6 -7
- package/elements/spectro/spectro.scss +13 -0
- package/elements/spectro/u-spectro.vue +11 -0
- package/elements/text-field/text-field.scss +30 -0
- package/elements/text-field/text-field.types.ts +6 -0
- package/elements/text-field/u-text-field.vue +164 -0
- package/elements/types.ts +12 -0
- package/env.d.ts +1 -0
- package/layout/grid/grid.scss +6 -7
- package/package.json +17 -7
- package/tsconfig.app.json +12 -0
- package/tsconfig.json +11 -0
- package/tsconfig.node.json +19 -0
- package/{vite.config.js → vite.config.ts} +1 -1
- package/wizard/index.js +4 -0
- package/wizard/wizard-intro/{wizard-intro.vue → u-wizard-intro.vue} +12 -9
- package/wizard/wizard-layout/{wizard-layout-block.vue → u-wizard-layout-block.vue} +6 -4
- package/dist/index.css +0 -1
- package/dist/index.js.map +0 -1
- package/elements/button/button.vue +0 -42
- package/index.js +0 -1
- /package/components/icon-text-block-group/{icon-text-block-group.vue → u-icon-text-block-group.vue} +0 -0
- /package/wizard/wizard-layout/{wizard-layout-element.vue → u-wizard-layout-element.vue} +0 -0
- /package/wizard/wizard-layout/{wizard-layout.vue → u-wizard-layout.vue} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
interface Props {
|
|
3
|
+
highlight?: boolean
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
defineProps<Props>()
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<template>
|
|
10
|
+
<div role="row" :class="['table-row', { highlight }]">
|
|
11
|
+
<slot></slot>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<style scoped lang="scss">
|
|
16
|
+
@use './table-row.scss';
|
|
17
|
+
</style>
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wrap an element with another element
|
|
3
|
+
*
|
|
4
|
+
* @param {Node} el
|
|
5
|
+
* @param {string} wrapper - Tag name of wrapper element. Can also have a classname (like emmet notation)
|
|
6
|
+
*
|
|
7
|
+
* @returns {Node}
|
|
8
|
+
*/
|
|
9
|
+
export const wrap = (el, wrapper) => {
|
|
10
|
+
const parsedWrapper = wrapper.split('.')
|
|
11
|
+
const wrapperEl = document.createElement(parsedWrapper[0])
|
|
12
|
+
|
|
13
|
+
if (parsedWrapper.length > 1) {
|
|
14
|
+
wrapperEl.className = parsedWrapper.slice(1).join(' ')
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
el.parentNode.insertBefore(wrapperEl, el)
|
|
18
|
+
wrapperEl.appendChild(el)
|
|
19
|
+
|
|
20
|
+
return wrapperEl
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Get element position relative to document.
|
|
25
|
+
*
|
|
26
|
+
* @param {Node} el
|
|
27
|
+
* @returns {{top: number, left: number, width: number, height: number}}
|
|
28
|
+
*/
|
|
29
|
+
export const getElementPosition = (el) => {
|
|
30
|
+
const elRect = el.getBoundingClientRect()
|
|
31
|
+
const scrollTop = window.scrollY
|
|
32
|
+
const scrollLeft = window.scrollX
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
top: elRect.top + scrollTop,
|
|
36
|
+
left: elRect.left + scrollLeft,
|
|
37
|
+
width: elRect.width,
|
|
38
|
+
height: elRect.height,
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Decode HTML encoded string.
|
|
44
|
+
*
|
|
45
|
+
* @param {string} str
|
|
46
|
+
* @returns {string}
|
|
47
|
+
*/
|
|
48
|
+
export const htmlDecode = (str) => {
|
|
49
|
+
const doc = new DOMParser().parseFromString(str, 'text/html')
|
|
50
|
+
return doc.documentElement.textContent
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export const htmlToDocFragment = (str) => {
|
|
54
|
+
const tpl = document.createElement('template')
|
|
55
|
+
tpl.innerHTML = str
|
|
56
|
+
return tpl.content.cloneNode(true)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Reverse order of direct child nodes of given parent.
|
|
61
|
+
*
|
|
62
|
+
* @param {Node} parent
|
|
63
|
+
*/
|
|
64
|
+
export const reverseChildren = (parent) => {
|
|
65
|
+
for (let i = 1; i < parent.childNodes.length; i++) {
|
|
66
|
+
parent.insertBefore(parent.childNodes[i], parent.firstChild)
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Check if element is in a slotted element.
|
|
72
|
+
*
|
|
73
|
+
* @param {Element} el
|
|
74
|
+
* @returns {boolean}
|
|
75
|
+
*/
|
|
76
|
+
const isInSlottedElement = (el) => {
|
|
77
|
+
const parentEl = el.parentElement
|
|
78
|
+
|
|
79
|
+
if (parentEl === document.body || !parentEl) {
|
|
80
|
+
return false
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (parentEl.assignedSlot) {
|
|
84
|
+
return true
|
|
85
|
+
} else {
|
|
86
|
+
return isInSlottedElement(parentEl)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
* @param {Element} el
|
|
93
|
+
* @returns {boolean}
|
|
94
|
+
*/
|
|
95
|
+
const isOffsetParent = (el) => {
|
|
96
|
+
const style = getComputedStyle(el)
|
|
97
|
+
return style.position === 'relative' || style.position === 'absolute'
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Get the expected offsetParent within nested shadow roots.
|
|
102
|
+
*
|
|
103
|
+
* Because elements are nested in web components or slotted in web components we can't get desired offsetParent.
|
|
104
|
+
*
|
|
105
|
+
* @param {Element} el
|
|
106
|
+
* @returns {Element}
|
|
107
|
+
*/
|
|
108
|
+
export const getOffsetParent = (el) => {
|
|
109
|
+
if (el === document.body) {
|
|
110
|
+
// We arrived at the top.
|
|
111
|
+
// 'body' must be the offsetParent then.
|
|
112
|
+
return el
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const offsetParent = el.offsetParent
|
|
116
|
+
|
|
117
|
+
if (offsetParent === document.body || offsetParent === null) {
|
|
118
|
+
// It's possible that we're a slotted element, in which case we'll always have the potentially 'wrong' offsetParent 'body'.
|
|
119
|
+
// Dig deeper...
|
|
120
|
+
if (el.assignedSlot) {
|
|
121
|
+
// A <slot> doesn't have an offsetParent. Let's use the parentNode.
|
|
122
|
+
const parentElement = el.assignedSlot.parentElement
|
|
123
|
+
|
|
124
|
+
// Handle case where the parent node actually is an offsetParent
|
|
125
|
+
if (isOffsetParent(parentElement)) {
|
|
126
|
+
return parentElement
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return getOffsetParent(el.assignedSlot.parentElement)
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (isInSlottedElement(el)) {
|
|
133
|
+
return getOffsetParent(el.parentElement)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (el.getRootNode() instanceof ShadowRoot) {
|
|
137
|
+
// If we're nested in another shadow root we'll also always get 'body' as offsetParent.
|
|
138
|
+
// Check the offsetParent of the current host element.
|
|
139
|
+
return getOffsetParent(el.getRootNode().host)
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return offsetParent
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Get offset positions of parent which is not 'static'.
|
|
148
|
+
*
|
|
149
|
+
* @param {Element} el
|
|
150
|
+
* @returns {Object}
|
|
151
|
+
*/
|
|
152
|
+
export const getOffsetParentPosition = (el) => {
|
|
153
|
+
const offsetParent = getOffsetParent(el)
|
|
154
|
+
const elRect = el.getBoundingClientRect()
|
|
155
|
+
const offsetParentRect = offsetParent.getBoundingClientRect()
|
|
156
|
+
|
|
157
|
+
return {
|
|
158
|
+
top: elRect.top - offsetParentRect.top,
|
|
159
|
+
left: elRect.left - offsetParentRect.left,
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export const moveChildren = (sourceParent, targetParent) => {
|
|
164
|
+
while (sourceParent.childNodes.length > 0) {
|
|
165
|
+
targetParent.appendChild(sourceParent.childNodes[0])
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { getViewportDimensions } from './viewport'
|
|
2
|
+
import { getOffsetParentPosition } from './dom'
|
|
3
|
+
|
|
4
|
+
const defaultOptions = {
|
|
5
|
+
offset: 0,
|
|
6
|
+
viewportPadding: 0,
|
|
7
|
+
placement: 'top-left',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* This simply calculates the desired position of the popover and returns the coordinates.
|
|
12
|
+
* It won't change the DOM.
|
|
13
|
+
*
|
|
14
|
+
* @param {Element} refEl
|
|
15
|
+
* @param {Element} popoverEl
|
|
16
|
+
* @param {Object} options - Options object
|
|
17
|
+
* @param {number} options.offset - offset to refEl in px
|
|
18
|
+
* @param {number} options.viewportPadding - Padding to viewport in px
|
|
19
|
+
* @param {string} options.placement - One of the following keywords: top-right, top-left, top-center, bottom-right, bottom-left, bottom-center
|
|
20
|
+
*/
|
|
21
|
+
export const getPopoverPosition = (refEl, popoverEl, options = {}) => {
|
|
22
|
+
options = Object.assign({}, defaultOptions, options)
|
|
23
|
+
|
|
24
|
+
const refRect = refEl.getBoundingClientRect()
|
|
25
|
+
let popoverRect = popoverEl.getBoundingClientRect()
|
|
26
|
+
|
|
27
|
+
const offsetParent = getOffsetParentPosition(refEl)
|
|
28
|
+
|
|
29
|
+
let top
|
|
30
|
+
let left
|
|
31
|
+
const offsetTop = offsetParent.top
|
|
32
|
+
const offsetLeft = offsetParent.left
|
|
33
|
+
const { vpWidth } = getViewportDimensions()
|
|
34
|
+
const docHeight = document.documentElement.scrollHeight
|
|
35
|
+
const scrollY = window.scrollY
|
|
36
|
+
|
|
37
|
+
if (popoverRect.width === 0 && popoverRect.height === 0) {
|
|
38
|
+
// Popover probably has display:none.
|
|
39
|
+
// Make it visible for a frame to get the correct dimensions.
|
|
40
|
+
popoverEl.style.display = 'block'
|
|
41
|
+
popoverRect = popoverEl.getBoundingClientRect()
|
|
42
|
+
popoverEl.style.display = ''
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
switch (options.placement) {
|
|
46
|
+
case 'top-right':
|
|
47
|
+
top = offsetTop - popoverRect.height - options.offset
|
|
48
|
+
left = offsetLeft + refRect.width - popoverRect.width
|
|
49
|
+
// console.log(left)
|
|
50
|
+
break
|
|
51
|
+
|
|
52
|
+
case 'top-left':
|
|
53
|
+
top = offsetTop - popoverRect.height - options.offset
|
|
54
|
+
left = offsetLeft
|
|
55
|
+
break
|
|
56
|
+
|
|
57
|
+
case 'bottom-right':
|
|
58
|
+
top = offsetTop + refRect.height + options.offset
|
|
59
|
+
left = offsetLeft + refRect.width - popoverRect.width
|
|
60
|
+
break
|
|
61
|
+
|
|
62
|
+
case 'bottom-left':
|
|
63
|
+
top = offsetTop + refRect.height + options.offset
|
|
64
|
+
left = offsetLeft
|
|
65
|
+
break
|
|
66
|
+
|
|
67
|
+
// TODO: add remaining placement options
|
|
68
|
+
case 'bottom-center':
|
|
69
|
+
break
|
|
70
|
+
|
|
71
|
+
case 'top-center':
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Add corrections to position if necessary
|
|
75
|
+
|
|
76
|
+
// Check left or right overflow
|
|
77
|
+
const leftDiff = refRect.left - offsetLeft
|
|
78
|
+
if (left + leftDiff < options.viewportPadding) {
|
|
79
|
+
left = 0 - leftDiff + options.viewportPadding
|
|
80
|
+
} else if (
|
|
81
|
+
left + leftDiff + popoverRect.width >
|
|
82
|
+
vpWidth - options.viewportPadding
|
|
83
|
+
) {
|
|
84
|
+
left = vpWidth - leftDiff - popoverRect.width - options.viewportPadding
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Check top or bottom overflow
|
|
88
|
+
const topDiff = refRect.top - offsetTop
|
|
89
|
+
if (top + topDiff + scrollY < options.viewportPadding) {
|
|
90
|
+
// popover is too high.
|
|
91
|
+
// console.log('too high')
|
|
92
|
+
// Switch position to bottom
|
|
93
|
+
top = offsetTop + refRect.height + options.offset
|
|
94
|
+
} else if (
|
|
95
|
+
top + topDiff + scrollY + popoverRect.height >
|
|
96
|
+
docHeight - options.viewportPadding
|
|
97
|
+
) {
|
|
98
|
+
// popover is too low.
|
|
99
|
+
// console.log('too low')
|
|
100
|
+
// Swith position to top.
|
|
101
|
+
top = offsetTop - popoverRect.height - options.offset
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return {
|
|
105
|
+
top,
|
|
106
|
+
left,
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Calculates the desired position of the popover relative to <body>.
|
|
112
|
+
*
|
|
113
|
+
* @param {Element} refEl
|
|
114
|
+
* @param {Element} popoverEl
|
|
115
|
+
* @param {Object} options - Options object
|
|
116
|
+
* @param {number} options.offset - offset to refEl in px
|
|
117
|
+
* @param {number} options.viewportPadding - Padding to viewport in px
|
|
118
|
+
* @param {string} options.placement - One of the following keywords: top-right, top-left, top-center, bottom-right, bottom-left, bottom-center
|
|
119
|
+
*/
|
|
120
|
+
export const getPopoverPositionBody = (refEl, popoverEl, options = {}) => {
|
|
121
|
+
options = Object.assign({}, defaultOptions, options)
|
|
122
|
+
|
|
123
|
+
const refRect = refEl.getBoundingClientRect()
|
|
124
|
+
let popoverRect = popoverEl.getBoundingClientRect()
|
|
125
|
+
|
|
126
|
+
let top
|
|
127
|
+
let left
|
|
128
|
+
const topCorrection = 0
|
|
129
|
+
let leftCorrection = 0
|
|
130
|
+
const scrollY = window.scrollY
|
|
131
|
+
const scrollX = window.scrollX
|
|
132
|
+
const { vpWidth } = getViewportDimensions()
|
|
133
|
+
// const docHeight = document.documentElement.scrollHeight
|
|
134
|
+
const refTop = refRect.top + scrollY
|
|
135
|
+
const refLeft = refRect.left + scrollX
|
|
136
|
+
|
|
137
|
+
if (popoverRect.width === 0 && popoverRect.height === 0) {
|
|
138
|
+
// Popover probably has display:none.
|
|
139
|
+
// Make it visible for a frame to get the correct dimensions.
|
|
140
|
+
popoverEl.style.display = 'block'
|
|
141
|
+
popoverRect = popoverEl.getBoundingClientRect()
|
|
142
|
+
popoverEl.style.display = ''
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
switch (options.placement) {
|
|
146
|
+
case 'top-right':
|
|
147
|
+
// top = offsetTop - popoverRect.height - options.offset
|
|
148
|
+
// left = offsetLeft + refRect.width - popoverRect.width
|
|
149
|
+
// console.log(left)
|
|
150
|
+
break
|
|
151
|
+
|
|
152
|
+
case 'top-left':
|
|
153
|
+
// top = offsetTop - popoverRect.height - options.offset
|
|
154
|
+
// left = offsetLeft
|
|
155
|
+
break
|
|
156
|
+
|
|
157
|
+
case 'bottom-right':
|
|
158
|
+
// top = offsetTop + refRect.height + options.offset
|
|
159
|
+
// left = offsetLeft + refRect.width - popoverRect.width
|
|
160
|
+
break
|
|
161
|
+
|
|
162
|
+
case 'bottom-left':
|
|
163
|
+
// top = offsetTop + refRect.height + options.offset
|
|
164
|
+
// left = offsetLeft
|
|
165
|
+
break
|
|
166
|
+
|
|
167
|
+
case 'bottom-center':
|
|
168
|
+
top = refTop + refRect.height + options.offset
|
|
169
|
+
left = refLeft + refRect.width / 2 - popoverRect.width / 2
|
|
170
|
+
break
|
|
171
|
+
|
|
172
|
+
case 'top-center':
|
|
173
|
+
top = refTop - options.offset - popoverRect.height
|
|
174
|
+
left = refLeft + refRect.width / 2 - popoverRect.width / 2
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Add corrections to position if necessary
|
|
178
|
+
|
|
179
|
+
// Check left or right overflow
|
|
180
|
+
if (left < options.viewportPadding) {
|
|
181
|
+
// too left
|
|
182
|
+
leftCorrection = Math.abs(left) + options.viewportPadding
|
|
183
|
+
left = options.viewportPadding
|
|
184
|
+
} else if (left + popoverRect.width > vpWidth - options.viewportPadding) {
|
|
185
|
+
// too right
|
|
186
|
+
leftCorrection =
|
|
187
|
+
vpWidth - options.viewportPadding - popoverRect.width - left
|
|
188
|
+
left = vpWidth - options.viewportPadding - popoverRect.width
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// Check top or bottom overflow
|
|
192
|
+
// TODO: Add these corrections
|
|
193
|
+
|
|
194
|
+
return {
|
|
195
|
+
top,
|
|
196
|
+
left,
|
|
197
|
+
leftCorrection,
|
|
198
|
+
topCorrection,
|
|
199
|
+
}
|
|
200
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
@use '../../base/abstracts/' as a;
|
|
2
|
+
|
|
3
|
+
.tooltip {
|
|
4
|
+
pointer-events: none;
|
|
5
|
+
z-index: a.$layer-tooltip;
|
|
6
|
+
position: absolute;
|
|
7
|
+
top: 0;
|
|
8
|
+
left: 0;
|
|
9
|
+
max-width: a.rem(360);
|
|
10
|
+
min-width: a.rem(84);
|
|
11
|
+
opacity: 0;
|
|
12
|
+
transform: translateY(-5px);
|
|
13
|
+
transition:
|
|
14
|
+
opacity a.$trs-default,
|
|
15
|
+
transform a.$trs-default;
|
|
16
|
+
|
|
17
|
+
@include a.bp(lg) {
|
|
18
|
+
max-width: a.rem(280);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.tooltip__content {
|
|
22
|
+
@include a.type(100);
|
|
23
|
+
|
|
24
|
+
// This nesting here is only to make the new sass compiler happy.
|
|
25
|
+
& {
|
|
26
|
+
z-index: 0;
|
|
27
|
+
position: relative;
|
|
28
|
+
padding: var(--e-space-2);
|
|
29
|
+
background-color: var(--e-c-mono-00);
|
|
30
|
+
box-shadow: var(--e-elevation-sm);
|
|
31
|
+
border: 1px solid var(--e-c-mono-100);
|
|
32
|
+
border-radius: var(--e-brd-radius-1);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@include a.bp(lg) {
|
|
36
|
+
@include a.type(50);
|
|
37
|
+
|
|
38
|
+
padding: var(--e-space-3);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.tooltip__pointer {
|
|
43
|
+
position: absolute;
|
|
44
|
+
bottom: -4px;
|
|
45
|
+
left: calc(50% - 6px);
|
|
46
|
+
|
|
47
|
+
&::before {
|
|
48
|
+
content: '';
|
|
49
|
+
display: block;
|
|
50
|
+
width: 10px;
|
|
51
|
+
height: 9.6px;
|
|
52
|
+
transform: rotate(53.13deg) skewX(15.36deg);
|
|
53
|
+
box-shadow: var(--e-elevation-sm);
|
|
54
|
+
background-color: var(--e-c-mono-00);
|
|
55
|
+
border-right: 1px solid var(--e-c-mono-100);
|
|
56
|
+
border-bottom: 1px solid var(--e-c-mono-100);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&::after {
|
|
60
|
+
content: '';
|
|
61
|
+
position: absolute;
|
|
62
|
+
bottom: 5px;
|
|
63
|
+
left: -2px;
|
|
64
|
+
width: 14px;
|
|
65
|
+
height: 7px;
|
|
66
|
+
background: var(--e-c-mono-00);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// States
|
|
71
|
+
&.tooltip--open {
|
|
72
|
+
opacity: 1;
|
|
73
|
+
transform: translateY(0);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { ref } from 'vue'
|
|
3
|
+
import { getPopoverPositionBody } from './popover'
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
title: string
|
|
7
|
+
placement?:
|
|
8
|
+
| 'top-right'
|
|
9
|
+
| 'top-left'
|
|
10
|
+
| 'top-center'
|
|
11
|
+
| 'bottom-right'
|
|
12
|
+
| 'bottom-left'
|
|
13
|
+
| 'bottom-center'
|
|
14
|
+
offset?: number
|
|
15
|
+
viewportPadding?: number
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const {
|
|
19
|
+
placement = 'top-center',
|
|
20
|
+
offset = 12,
|
|
21
|
+
viewportPadding = 20,
|
|
22
|
+
} = defineProps<Props>()
|
|
23
|
+
|
|
24
|
+
const tooltip = ref(null)
|
|
25
|
+
const root = ref(null)
|
|
26
|
+
const pointer = ref(null)
|
|
27
|
+
|
|
28
|
+
const showTooltip = () => {
|
|
29
|
+
const popoverPosition = getPopoverPositionBody(root.value, tooltip.value, {
|
|
30
|
+
offset,
|
|
31
|
+
placement,
|
|
32
|
+
viewportPadding,
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
// Set position
|
|
36
|
+
tooltip.value.style.top = `${popoverPosition.top}px`
|
|
37
|
+
tooltip.value.style.left = `${popoverPosition.left}px`
|
|
38
|
+
|
|
39
|
+
// Fix pointer position if necessary
|
|
40
|
+
if (popoverPosition.leftCorrection) {
|
|
41
|
+
pointer.value.style.transform = `translateX(${popoverPosition.leftCorrection * -1}px)`
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
tooltip.value.ariaHidden = 'false'
|
|
45
|
+
tooltip.value.classList.toggle('tooltip--open', true)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const hideTooltip = () => {
|
|
49
|
+
const onTransitionend = () => {
|
|
50
|
+
tooltip.value.removeEventListener('transitionend', onTransitionend)
|
|
51
|
+
|
|
52
|
+
tooltip.value.style.top = ''
|
|
53
|
+
tooltip.value.style.left = ''
|
|
54
|
+
pointer.value.style.transform = ''
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
tooltip.value.addEventListener('transitionend', onTransitionend)
|
|
58
|
+
|
|
59
|
+
tooltip.value.ariaHidden = 'true'
|
|
60
|
+
tooltip.value.classList.toggle('tooltip--open', false)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// On desktop (or non-touch devices) mouse events will be fired before the pointer events.
|
|
64
|
+
// For mobile and touch devices it's th opposite, pointer events will be fired first.
|
|
65
|
+
// This way we can detect on what device we are and handle the behaviour accordingly.
|
|
66
|
+
const onMouseenter = () => {
|
|
67
|
+
showTooltip()
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const onMouseleave = () => {
|
|
71
|
+
hideTooltip()
|
|
72
|
+
}
|
|
73
|
+
</script>
|
|
74
|
+
|
|
75
|
+
<template>
|
|
76
|
+
<span @mouseenter="onMouseenter" @mouseleave="onMouseleave" ref="root">
|
|
77
|
+
<slot></slot>
|
|
78
|
+
</span>
|
|
79
|
+
|
|
80
|
+
<Teleport to="body">
|
|
81
|
+
<div ref="tooltip" class="tooltip">
|
|
82
|
+
<div class="tooltip__content">
|
|
83
|
+
{{ title }}
|
|
84
|
+
</div>
|
|
85
|
+
<span class="tooltip__pointer" ref="pointer"></span>
|
|
86
|
+
</div>
|
|
87
|
+
</Teleport>
|
|
88
|
+
</template>
|
|
89
|
+
|
|
90
|
+
<style scoped lang="scss">
|
|
91
|
+
@use './tooltip.scss';
|
|
92
|
+
</style>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get element offset relative to document.
|
|
3
|
+
*
|
|
4
|
+
* @param {Element} el
|
|
5
|
+
* @returns {{top: *, left: *, width, height}}
|
|
6
|
+
*/
|
|
7
|
+
export const getElOffset = (el) => {
|
|
8
|
+
const rect = el.getBoundingClientRect()
|
|
9
|
+
|
|
10
|
+
return {
|
|
11
|
+
top: window.scrollY + rect.top,
|
|
12
|
+
left: window.scrollX + rect.left,
|
|
13
|
+
width: rect.width,
|
|
14
|
+
height: rect.height,
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const getViewportDimensions = () => ({
|
|
19
|
+
vpWidth: window.innerWidth,
|
|
20
|
+
vpHeight: window.innerHeight,
|
|
21
|
+
})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './elements/elements'
|
package/dist/base-style.css
CHANGED
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
*
|
|
18
18
|
*
|
|
19
19
|
* © 2020 MyFonts Inc
|
|
20
|
-
*/body{margin:0;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;text-wrap:balance;font-size:unset;font-weight:unset}p,figure,blockquote{margin:0}button{padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font-family:inherit;font-size:inherit;background:none}ul,ol{list-style:none;padding:0;margin:0}dl,dt,dd{margin:0}address{font-style:normal}img,picture{max-width:100%;display:block}fieldset{padding:0;margin:0;border:0}html{box-sizing:border-box;scroll-behavior:smooth;min-height:100vh}*,*:before,*:after{box-sizing:inherit}body{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)}*{outline:none}*:focus-visible{outline-style:solid;outline-offset:4px;outline-color:#b3b3b3cc}[data-whatintent=mouse] *:focus{outline:none}@font-face{font-family:Glober;font-weight:400;font-style:normal;font-display:swap;src:url(/static/ui-assets/fonts/Glober/Glober-Regular/font.woff2) format("woff2"),url(/static/ui-assets/fonts/Glober/Glober-Regular/font.woff) format("woff")}@font-face{font-family:Glober;font-weight:700;font-style:normal;font-display:swap;src:url(/static/ui-assets/fonts/Glober/Glober-Bold/font.woff2) format("woff2"),url(/static/ui-assets/fonts/Glober/Glober-Bold/font.woff) format("woff")}:root{--e-c-primary-01-50: #edf6e9;--e-c-primary-01-50-rgb: 237, 246, 233;--e-c-primary-01-100: #dbedd4;--e-c-primary-01-100-rgb: 219, 237, 212;--e-c-primary-01-200: #9cce89;--e-c-primary-01-200-rgb: 156, 206, 137;--e-c-primary-01-500: #4ba528;--e-c-primary-01-500-rgb: 75, 165, 40;--e-c-primary-01-700: #3c8420;--e-c-primary-01-700-rgb: 60, 132, 32;--e-c-primary-01-900: #316b1a;--e-c-primary-01-900-rgb: 49, 107, 26;--e-c-secondary-01-50: #e5f2eb;--e-c-secondary-01-50-rgb: 229, 242, 235;--e-c-secondary-01-100: #cce5d8;--e-c-secondary-01-100-rgb: 204, 229, 216;--e-c-secondary-01-200: #73b894;--e-c-secondary-01-200-rgb: 115, 184, 148;--e-c-secondary-01-500: #007d3c;--e-c-secondary-01-500-rgb: 0, 125, 60;--e-c-secondary-01-700: #006430;--e-c-secondary-01-700-rgb: 0, 100, 48;--e-c-secondary-01-900: #005127;--e-c-secondary-01-900-rgb: 0, 81, 39;--e-c-secondary-02-50: #ede9ee;--e-c-secondary-02-50-rgb: 237, 233, 238;--e-c-secondary-02-100: #dcd3de;--e-c-secondary-02-100-rgb: 220, 211, 222;--e-c-secondary-02-200: #9f86a4;--e-c-secondary-02-200-rgb: 159, 134, 164;--e-c-secondary-02-500: #50235a;--e-c-secondary-02-500-rgb: 80, 35, 90;--e-c-secondary-02-700: #401c48;--e-c-secondary-02-700-rgb: 64, 28, 72;--e-c-secondary-02-900: #34173b;--e-c-secondary-02-900-rgb: 52, 23, 59;--e-c-secondary-03-50: #f8e7ed;--e-c-secondary-03-50-rgb: 248, 231, 237;--e-c-secondary-03-100: #f1cfdb;--e-c-secondary-03-100-rgb: 241, 207, 219;--e-c-secondary-03-200: #d97b9c;--e-c-secondary-03-200-rgb: 217, 123, 156;--e-c-secondary-03-500: #b90f4b;--e-c-secondary-03-500-rgb: 185, 15, 75;--e-c-secondary-03-700: #940c3c;--e-c-secondary-03-700-rgb: 148, 12, 60;--e-c-secondary-03-900: #780a31;--e-c-secondary-03-900-rgb: 120, 10, 49;--e-c-secondary-04-50: #fffbe5;--e-c-secondary-04-50-rgb: 255, 251, 229;--e-c-secondary-04-100: #fff7cc;--e-c-secondary-04-100-rgb: 255, 247, 204;--e-c-secondary-04-200: #ffe973;--e-c-secondary-04-200-rgb: 255, 233, 115;--e-c-secondary-04-500: #ffd700;--e-c-secondary-04-500-rgb: 255, 215, 0;--e-c-secondary-04-700: #ccac00;--e-c-secondary-04-700-rgb: 204, 172, 0;--e-c-secondary-04-900: #a68c00;--e-c-secondary-04-900-rgb: 166, 140, 0;--e-c-secondary-05-50: #e5f5fc;--e-c-secondary-05-50-rgb: 229, 245, 252;--e-c-secondary-05-100: #cceaf8;--e-c-secondary-05-100-rgb: 204, 234, 248;--e-c-secondary-05-200: #73c5ec;--e-c-secondary-05-200-rgb: 115, 197, 236;--e-c-secondary-05-500: #0096dc;--e-c-secondary-05-500-rgb: 0, 150, 220;--e-c-secondary-05-700: #0078b0;--e-c-secondary-05-700-rgb: 0, 120, 176;--e-c-secondary-05-900: #00618f;--e-c-secondary-05-900-rgb: 0, 97, 143;--e-c-secondary-06-50: #f4e6e5;--e-c-secondary-06-50-rgb: 244, 230, 229;--e-c-secondary-06-100: #e9cdcc;--e-c-secondary-06-100-rgb: 233, 205, 204;--e-c-secondary-06-200: #c27673;--e-c-secondary-06-200-rgb: 194, 118, 115;--e-c-secondary-06-500: #910500;--e-c-secondary-06-500-rgb: 145, 5, 0;--e-c-secondary-06-700: #740400;--e-c-secondary-06-700-rgb: 116, 4, 0;--e-c-secondary-06-900: #5e0300;--e-c-secondary-06-900-rgb: 94, 3, 0;--e-c-mono-50: #f5f5f5;--e-c-mono-50-rgb: 245, 245, 245;--e-c-mono-100: #ececec;--e-c-mono-100-rgb: 236, 236, 236;--e-c-mono-200: #dddddd;--e-c-mono-200-rgb: 221, 221, 221;--e-c-mono-500: #b3b3b3;--e-c-mono-500-rgb: 179, 179, 179;--e-c-mono-700: #6b6b6b;--e-c-mono-700-rgb: 107, 107, 107;--e-c-mono-900: #333333;--e-c-mono-900-rgb: 51, 51, 51;--e-c-mono-00: #ffffff;--e-c-mono-00-rgb: 255, 255, 255;--e-c-signal-01-100: #b6e6cf;--e-c-signal-01-100-rgb: 182, 230, 207;--e-c-signal-01-500: #1aa764;--e-c-signal-01-500-rgb: 26, 167, 100;--e-c-signal-01-700: #0e6f41;--e-c-signal-01-700-rgb: 14, 111, 65;--e-c-signal-01-900: #004926;--e-c-signal-01-900-rgb: 0, 73, 38;--e-c-signal-02-100: #ffe2b6;--e-c-signal-02-100-rgb: 255, 226, 182;--e-c-signal-02-500: #ff9800;--e-c-signal-02-500-rgb: 255, 152, 0;--e-c-signal-02-700: #cc7a00;--e-c-signal-02-700-rgb: 204, 122, 0;--e-c-signal-02-900: #703600;--e-c-signal-02-900-rgb: 112, 54, 0;--e-c-signal-03-100: #ffb5c4;--e-c-signal-03-100-rgb: 255, 181, 196;--e-c-signal-03-500: #ff0c3e;--e-c-signal-03-500-rgb: 255, 12, 62;--e-c-signal-03-700: #b90d31;--e-c-signal-03-700-rgb: 185, 13, 49;--e-c-signal-03-900: #790019;--e-c-signal-03-900-rgb: 121, 0, 25;--e-space-1: 4px;--e-space-2: 8px;--e-space-3: 12px;--e-space-4: 16px;--e-space-5: 20px;--e-space-6: 24px;--e-space-7: 28px;--e-space-8: 32px;--e-space-9: 36px;--e-space-10: 40px;--e-space-11: 44px;--e-space-12: 48px;--e-space-14: 56px;--e-space-16: 64px;--e-space-20: 80px;--e-space-24: 96px;--e-space-28: 112px;--e-space-30: 120px;--e-space-32: 128px;--e-space-36: 144px;--e-space-40: 160px;--e-space-44: 176px;--e-space-48: 192px;--e-space-52: 208px;--e-space-56: 224px;--e-space-60: 240px;--e-space-64: 256px;--e-space-72: 288px;--e-space-80: 320px;--e-space-96: 384px;--e-space-0_5: 2px;--e-space-1_5: 6px;--e-space-2_5: 10px;--e-space-3_5: 14px;--e-type-font-body: Glober;--e-type-font-fallback: "Helvetica Neue", helvetica, arial, sans-serif;--e-type-font-base-size: 16px;--e-type-size-50: 12px;--e-type-size-100: 14px;--e-type-size-200: 16px;--e-type-size-300: 18px;--e-type-size-400: 20px;--e-type-size-500: 22px;--e-type-size-600: 26px;--e-type-size-700: 26px;--e-type-size-800: 32px;--e-type-size-900: 48px;--e-type-size-1000: 56px;--e-type-line-height-50: 1.5 ;--e-type-line-height-100: calc(22 / 14);--e-type-line-height-200: 1.5 ;--e-type-line-height-300: calc(28 / 18);--e-type-line-height-400: 1.3 ;--e-type-line-height-500: calc(30 / 22);--e-type-line-height-600: calc(36 / 26);--e-type-line-height-700: calc(34 / 26);--e-type-line-height-800: 1.1875 ;--e-type-line-height-900: 1.125 ;--e-type-line-height-1000: calc(62 / 56);--e-type-weight-weak: 400;--e-type-weight-strong: 700;--e-type-decoration-enhance: underline;--e-trs-duration-fastest: .1s;--e-trs-duration-faster: .2s;--e-trs-duration-fast: .4s;--e-trs-duration-slow: .6s;--e-trs-duration-slower: .8s;--e-trs-duration-slowest: 1s;--e-trs-easing-default: ease-in-out;--e-brd-radius-1: 4px;--e-brd-radius-2: 8px;--e-brd-radius-3: 12px;--e-brd-radius-4: 16px;--e-brd-radius-5: 20px;--e-brd-radius-6: 24px;--e-mq-breakpoint-xs: 480px;--e-mq-breakpoint-s: 520px;--e-mq-breakpoint-m: 740px;--e-mq-breakpoint-lg: 1020px;--e-mq-breakpoint-xl: 1240px;--e-mq-breakpoint-2xl: 1520px;--e-layout-site-width: 1680px;--e-layout-site-width-lg: 1020px;--e-layout-site-width-m: 740px;--e-layout-site-width-s: 520px;--e-layout-grid-columns: 12;--e-elevation-xs: 0px 1px 2px rgba(0, 0, 0, .05);--e-elevation-sm: 0px 1px 3px rgba(0, 0, 0, .1), 0px 1px 2px -1px rgba(0, 0, 0, .1);--e-elevation-md: 0px 4px 6px -1px rgba(0, 0, 0, .1), 0px 2px 4px -2px rgba(0, 0, 0, .1);--e-elevation-lg: 0px 10px 15px -3px rgba(0, 0, 0, .1), 0px 4px 6px -4px rgba(0, 0, 0, .1);--e-elevation-xl: 0px 20px 25px -5px rgba(0, 0, 0, .1), 0px 8px 10px -6px rgba(0, 0, 0, .1);--e-elevation-2xl: 0px 25px 50px -12px rgba(0, 0, 0, .25)}e-button:not(:defined),e-icon-button:not(:defined),e-icon:not(:defined),e-loader:not(:defined){opacity:0}
|
|
20
|
+
*/body{margin:0;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;text-wrap:balance;font-size:unset;font-weight:unset}p,figure,blockquote{margin:0}button{padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font-family:inherit;font-size:inherit;background:none}ul,ol{list-style:none;padding:0;margin:0}dl,dt,dd{margin:0}address{font-style:normal}img,picture{max-width:100%;display:block}fieldset{padding:0;margin:0;border:0}input,textarea,select{font-family:inherit;font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;margin:0}input,select,textarea{font-size:var(--e-type-size-200);line-height:var(--e-type-line-height-200);letter-spacing:.01875rem}input::-moz-placeholder{color:var(--e-c-mono-700)}input::placeholder{color:var(--e-c-mono-700)}input:disabled::-moz-placeholder{color:var(--e-c-mono-500)}input:disabled::placeholder{color:var(--e-c-mono-500)}[type=search]::-webkit-search-cancel-button{display:none}[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}select:invalid{color:var(--e-c-mono-700)}textarea{resize:vertical}html{box-sizing:border-box;scroll-behavior:smooth;min-height:100vh}*,*:before,*:after{box-sizing:inherit}body{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)}*{outline:none}*:focus-visible{outline-style:solid;outline-offset:4px;outline-color:#b3b3b3cc}[data-whatintent=mouse] *:focus{outline:none}@font-face{font-family:Glober;font-weight:400;font-style:normal;font-display:swap;src:url(/static/ui-assets/fonts/Glober/Glober-Regular/font.woff2) format("woff2"),url(/static/ui-assets/fonts/Glober/Glober-Regular/font.woff) format("woff")}@font-face{font-family:Glober;font-weight:700;font-style:normal;font-display:swap;src:url(/static/ui-assets/fonts/Glober/Glober-Bold/font.woff2) format("woff2"),url(/static/ui-assets/fonts/Glober/Glober-Bold/font.woff) format("woff")}:root{--e-c-primary-01-50: #edf6e9;--e-c-primary-01-50-rgb: 237, 246, 233;--e-c-primary-01-100: #dbedd4;--e-c-primary-01-100-rgb: 219, 237, 212;--e-c-primary-01-200: #9cce89;--e-c-primary-01-200-rgb: 156, 206, 137;--e-c-primary-01-500: #4ba528;--e-c-primary-01-500-rgb: 75, 165, 40;--e-c-primary-01-700: #3c8420;--e-c-primary-01-700-rgb: 60, 132, 32;--e-c-primary-01-900: #316b1a;--e-c-primary-01-900-rgb: 49, 107, 26;--e-c-secondary-01-50: #e5f2eb;--e-c-secondary-01-50-rgb: 229, 242, 235;--e-c-secondary-01-100: #cce5d8;--e-c-secondary-01-100-rgb: 204, 229, 216;--e-c-secondary-01-200: #73b894;--e-c-secondary-01-200-rgb: 115, 184, 148;--e-c-secondary-01-500: #007d3c;--e-c-secondary-01-500-rgb: 0, 125, 60;--e-c-secondary-01-700: #006430;--e-c-secondary-01-700-rgb: 0, 100, 48;--e-c-secondary-01-900: #005127;--e-c-secondary-01-900-rgb: 0, 81, 39;--e-c-secondary-02-50: #ede9ee;--e-c-secondary-02-50-rgb: 237, 233, 238;--e-c-secondary-02-100: #dcd3de;--e-c-secondary-02-100-rgb: 220, 211, 222;--e-c-secondary-02-200: #9f86a4;--e-c-secondary-02-200-rgb: 159, 134, 164;--e-c-secondary-02-500: #50235a;--e-c-secondary-02-500-rgb: 80, 35, 90;--e-c-secondary-02-700: #401c48;--e-c-secondary-02-700-rgb: 64, 28, 72;--e-c-secondary-02-900: #34173b;--e-c-secondary-02-900-rgb: 52, 23, 59;--e-c-secondary-03-50: #f8e7ed;--e-c-secondary-03-50-rgb: 248, 231, 237;--e-c-secondary-03-100: #f1cfdb;--e-c-secondary-03-100-rgb: 241, 207, 219;--e-c-secondary-03-200: #d97b9c;--e-c-secondary-03-200-rgb: 217, 123, 156;--e-c-secondary-03-500: #b90f4b;--e-c-secondary-03-500-rgb: 185, 15, 75;--e-c-secondary-03-700: #940c3c;--e-c-secondary-03-700-rgb: 148, 12, 60;--e-c-secondary-03-900: #780a31;--e-c-secondary-03-900-rgb: 120, 10, 49;--e-c-secondary-04-50: #fffbe5;--e-c-secondary-04-50-rgb: 255, 251, 229;--e-c-secondary-04-100: #fff7cc;--e-c-secondary-04-100-rgb: 255, 247, 204;--e-c-secondary-04-200: #ffe973;--e-c-secondary-04-200-rgb: 255, 233, 115;--e-c-secondary-04-500: #ffd700;--e-c-secondary-04-500-rgb: 255, 215, 0;--e-c-secondary-04-700: #ccac00;--e-c-secondary-04-700-rgb: 204, 172, 0;--e-c-secondary-04-900: #a68c00;--e-c-secondary-04-900-rgb: 166, 140, 0;--e-c-secondary-05-50: #e5f5fc;--e-c-secondary-05-50-rgb: 229, 245, 252;--e-c-secondary-05-100: #cceaf8;--e-c-secondary-05-100-rgb: 204, 234, 248;--e-c-secondary-05-200: #73c5ec;--e-c-secondary-05-200-rgb: 115, 197, 236;--e-c-secondary-05-500: #0096dc;--e-c-secondary-05-500-rgb: 0, 150, 220;--e-c-secondary-05-700: #0078b0;--e-c-secondary-05-700-rgb: 0, 120, 176;--e-c-secondary-05-900: #00618f;--e-c-secondary-05-900-rgb: 0, 97, 143;--e-c-secondary-06-50: #f4e6e5;--e-c-secondary-06-50-rgb: 244, 230, 229;--e-c-secondary-06-100: #e9cdcc;--e-c-secondary-06-100-rgb: 233, 205, 204;--e-c-secondary-06-200: #c27673;--e-c-secondary-06-200-rgb: 194, 118, 115;--e-c-secondary-06-500: #910500;--e-c-secondary-06-500-rgb: 145, 5, 0;--e-c-secondary-06-700: #740400;--e-c-secondary-06-700-rgb: 116, 4, 0;--e-c-secondary-06-900: #5e0300;--e-c-secondary-06-900-rgb: 94, 3, 0;--e-c-mono-50: #f5f5f5;--e-c-mono-50-rgb: 245, 245, 245;--e-c-mono-100: #ececec;--e-c-mono-100-rgb: 236, 236, 236;--e-c-mono-200: #dddddd;--e-c-mono-200-rgb: 221, 221, 221;--e-c-mono-500: #b3b3b3;--e-c-mono-500-rgb: 179, 179, 179;--e-c-mono-700: #6b6b6b;--e-c-mono-700-rgb: 107, 107, 107;--e-c-mono-900: #333333;--e-c-mono-900-rgb: 51, 51, 51;--e-c-mono-00: #ffffff;--e-c-mono-00-rgb: 255, 255, 255;--e-c-signal-01-100: #b6e6cf;--e-c-signal-01-100-rgb: 182, 230, 207;--e-c-signal-01-500: #1aa764;--e-c-signal-01-500-rgb: 26, 167, 100;--e-c-signal-01-700: #0e6f41;--e-c-signal-01-700-rgb: 14, 111, 65;--e-c-signal-01-900: #004926;--e-c-signal-01-900-rgb: 0, 73, 38;--e-c-signal-02-100: #ffe2b6;--e-c-signal-02-100-rgb: 255, 226, 182;--e-c-signal-02-500: #ff9800;--e-c-signal-02-500-rgb: 255, 152, 0;--e-c-signal-02-700: #cc7a00;--e-c-signal-02-700-rgb: 204, 122, 0;--e-c-signal-02-900: #703600;--e-c-signal-02-900-rgb: 112, 54, 0;--e-c-signal-03-100: #ffb5c4;--e-c-signal-03-100-rgb: 255, 181, 196;--e-c-signal-03-500: #ff0c3e;--e-c-signal-03-500-rgb: 255, 12, 62;--e-c-signal-03-700: #b90d31;--e-c-signal-03-700-rgb: 185, 13, 49;--e-c-signal-03-900: #790019;--e-c-signal-03-900-rgb: 121, 0, 25;--e-space-1: 4px;--e-space-2: 8px;--e-space-3: 12px;--e-space-4: 16px;--e-space-5: 20px;--e-space-6: 24px;--e-space-7: 28px;--e-space-8: 32px;--e-space-9: 36px;--e-space-10: 40px;--e-space-11: 44px;--e-space-12: 48px;--e-space-14: 56px;--e-space-16: 64px;--e-space-20: 80px;--e-space-24: 96px;--e-space-28: 112px;--e-space-30: 120px;--e-space-32: 128px;--e-space-36: 144px;--e-space-40: 160px;--e-space-44: 176px;--e-space-48: 192px;--e-space-52: 208px;--e-space-56: 224px;--e-space-60: 240px;--e-space-64: 256px;--e-space-72: 288px;--e-space-80: 320px;--e-space-96: 384px;--e-space-0_5: 2px;--e-space-1_5: 6px;--e-space-2_5: 10px;--e-space-3_5: 14px;--e-type-font-body: Glober;--e-type-font-fallback: "Helvetica Neue", helvetica, arial, sans-serif;--e-type-font-base-size: 16px;--e-type-size-50: 12px;--e-type-size-100: 14px;--e-type-size-200: 16px;--e-type-size-300: 18px;--e-type-size-400: 20px;--e-type-size-500: 22px;--e-type-size-600: 26px;--e-type-size-700: 26px;--e-type-size-800: 32px;--e-type-size-900: 48px;--e-type-size-1000: 56px;--e-type-line-height-50: 1.5 ;--e-type-line-height-100: calc(22 / 14);--e-type-line-height-200: 1.5 ;--e-type-line-height-300: calc(28 / 18);--e-type-line-height-400: 1.3 ;--e-type-line-height-500: calc(30 / 22);--e-type-line-height-600: calc(36 / 26);--e-type-line-height-700: calc(34 / 26);--e-type-line-height-800: 1.1875 ;--e-type-line-height-900: 1.125 ;--e-type-line-height-1000: calc(62 / 56);--e-type-weight-weak: 400;--e-type-weight-strong: 700;--e-type-decoration-enhance: underline;--e-trs-duration-fastest: .1s;--e-trs-duration-faster: .2s;--e-trs-duration-fast: .4s;--e-trs-duration-slow: .6s;--e-trs-duration-slower: .8s;--e-trs-duration-slowest: 1s;--e-trs-easing-default: ease-in-out;--e-brd-radius-1: 4px;--e-brd-radius-2: 8px;--e-brd-radius-3: 12px;--e-brd-radius-4: 16px;--e-brd-radius-5: 20px;--e-brd-radius-6: 24px;--e-mq-breakpoint-xs: 480px;--e-mq-breakpoint-s: 520px;--e-mq-breakpoint-m: 740px;--e-mq-breakpoint-lg: 1020px;--e-mq-breakpoint-xl: 1240px;--e-mq-breakpoint-2xl: 1520px;--e-layout-site-width: 1680px;--e-layout-site-width-lg: 1020px;--e-layout-site-width-m: 740px;--e-layout-site-width-s: 520px;--e-layout-grid-columns: 12;--e-elevation-xs: 0px 1px 2px rgba(0, 0, 0, .05);--e-elevation-sm: 0px 1px 3px rgba(0, 0, 0, .1), 0px 1px 2px -1px rgba(0, 0, 0, .1);--e-elevation-md: 0px 4px 6px -1px rgba(0, 0, 0, .1), 0px 2px 4px -2px rgba(0, 0, 0, .1);--e-elevation-lg: 0px 10px 15px -3px rgba(0, 0, 0, .1), 0px 4px 6px -4px rgba(0, 0, 0, .1);--e-elevation-xl: 0px 20px 25px -5px rgba(0, 0, 0, .1), 0px 8px 10px -6px rgba(0, 0, 0, .1);--e-elevation-2xl: 0px 25px 50px -12px rgba(0, 0, 0, .25)}e-button:not(:defined),e-icon-button:not(:defined),e-icon:not(:defined),e-loader:not(:defined){opacity:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.icon[data-v-3ff10e21]{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-3ff10e21]{width:100%;height:100%}.icon.icon--inline[data-v-3ff10e21]{display:inline-block;vertical-align:baseline}@keyframes horizontal-8027a436{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-8027a436{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-8027a436]{position:relative;display:inline-flex;--dot-color: var(--e-c-mono-900)}.loader>span[data-v-8027a436]{display:block;width:8px;height:8px;border-radius:4px;background-color:var(--dot-color)}.loader.horizontal[data-v-8027a436]{width:64px}.loader.horizontal>span[data-v-8027a436]{transform:translate(0);animation-name:horizontal-8027a436;animation-duration:1s;animation-direction:alternate;animation-timing-function:cubic-bezier(.4,.61,.61,.4);animation-iteration-count:infinite}.loader.vertical[data-v-8027a436]{height:8px;width:8px}.loader.vertical>span[data-v-8027a436]{transform:translateY(0);animation-name:vertical-8027a436;animation-duration:2s;animation-timing-function:cubic-bezier(.47,.52,.165,1.005);animation-iteration-count:infinite}button[data-v-40a767c3]{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-40a767c3]{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-40a767c3],.button e-icon[data-v-40a767c3]{width:24px;height:24px}.button .button__loader[data-v-40a767c3]{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.button.disabled[data-v-40a767c3],.button[data-v-40a767c3]:disabled{pointer-events:none}.button.loading[data-v-40a767c3]{cursor:default}.button .icon[data-v-40a767c3],.button e-icon[data-v-40a767c3]{--icon-transition: fill var(--e-trs-duration-faster) var(--e-trs-easing-default)}.button[data-v-40a767c3]{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-40a767c3],.button e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-00)}.button .loader[data-v-40a767c3],.button e-loader[data-v-40a767c3]{--dot-color: var(--e-c-mono-00)}.button[data-v-40a767c3]:hover{background-color:var(--e-c-secondary-01-900);border-color:var(--e-c-secondary-01-900)}.button[data-v-40a767c3]:active,.button.loading[data-v-40a767c3]{background-color:var(--e-c-secondary-01-700);border-color:var(--e-c-secondary-01-700)}.button.disabled[data-v-40a767c3]:not(.loading),.button[data-v-40a767c3]:disabled:not(.loading){background-color:var(--e-c-mono-500);border-color:var(--e-c-mono-500)}.button.outlined[data-v-40a767c3]{background-color:transparent;color:var(--e-c-primary-01-700);border:2px solid var(--e-c-primary-01-700)}.button.outlined .icon[data-v-40a767c3],.button.outlined e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-primary-01-700)}.button.outlined .loader[data-v-40a767c3],.button.outlined e-loader[data-v-40a767c3]{--dot-color: var(--e-c-primary-01-500)}.button.outlined[data-v-40a767c3]:hover{background-color:var(--e-c-primary-01-50);border-color:var(--e-c-primary-01-200)}.button.outlined[data-v-40a767c3]:active,.button.outlined.loading[data-v-40a767c3]{background-color:transparent;border-color:var(--e-c-primary-01-500)}.button.outlined.disabled[data-v-40a767c3]:not(.loading),.button.outlined[data-v-40a767c3]: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-40a767c3],.button.outlined.disabled:not(.loading) e-icon[data-v-40a767c3],.button.outlined:disabled:not(.loading) .icon[data-v-40a767c3],.button.outlined:disabled:not(.loading) e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-500)}.button.plain[data-v-40a767c3]{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-40a767c3],.button.plain e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-primary-01-700)}.button.plain[data-v-40a767c3]:hover{color:var(--e-c-secondary-01-900)}.button.plain:hover .icon[data-v-40a767c3],.button.plain:hover e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-secondary-01-900)}.button.plain[data-v-40a767c3]:active{color:var(--e-c-secondary-01-700)}.button.plain:active .icon[data-v-40a767c3],.button.plain:active e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-secondary-01-700)}.button.plain.disabled[data-v-40a767c3]:not(.loading),.button.plain[data-v-40a767c3]:disabled:not(.loading){background:none;color:var(--e-c-mono-500)}.button.plain.disabled:not(.loading) .icon[data-v-40a767c3],.button.plain.disabled:not(.loading) e-icon[data-v-40a767c3],.button.plain:disabled:not(.loading) .icon[data-v-40a767c3],.button.plain:disabled:not(.loading) e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-500)}.button.plain.loading .loader[data-v-40a767c3],.button.plain.loading e-loader[data-v-40a767c3]{--dot-color: var(--e-c-secondary-01-700)}.button.plain-small[data-v-40a767c3]{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-40a767c3],.button.plain-small e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-primary-01-700)}.button.plain-small[data-v-40a767c3]:hover{color:var(--e-c-secondary-01-900)}.button.plain-small:hover .icon[data-v-40a767c3],.button.plain-small:hover e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-secondary-01-900)}.button.plain-small[data-v-40a767c3]:active{color:var(--e-c-secondary-01-700)}.button.plain-small:active .icon[data-v-40a767c3],.button.plain-small:active e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-secondary-01-700)}.button.plain-small.disabled[data-v-40a767c3]:not(.loading),.button.plain-small[data-v-40a767c3]:disabled:not(.loading){background:none;color:var(--e-c-mono-500)}.button.plain-small.disabled:not(.loading) .icon[data-v-40a767c3],.button.plain-small.disabled:not(.loading) e-icon[data-v-40a767c3],.button.plain-small:disabled:not(.loading) .icon[data-v-40a767c3],.button.plain-small:disabled:not(.loading) e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-500)}.button.plain-small.loading .loader[data-v-40a767c3],.button.plain-small.loading e-loader[data-v-40a767c3]{--dot-color: var(--e-c-secondary-01-700)}.button.filled-inverted[data-v-40a767c3]{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-40a767c3]{--dot-color: var(--e-c-secondary-01-900)}.button.filled-inverted .icon[data-v-40a767c3],.button.filled-inverted e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-primary-01-700)}.button.filled-inverted[data-v-40a767c3]: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-40a767c3],.button.filled-inverted:hover e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-secondary-01-700)}.button.filled-inverted[data-v-40a767c3]:active,.button.filled-inverted.loading[data-v-40a767c3]{background-color:var(--e-c-primary-01-200);border-color:var(--e-c-primary-01-200)}.button.filled-inverted.disabled[data-v-40a767c3]:not(.loading),.button.filled-inverted[data-v-40a767c3]:disabled:not(.loading){color:var(--e-c-mono-700)}.button.filled-inverted.disabled:not(.loading) .icon[data-v-40a767c3],.button.filled-inverted.disabled:not(.loading) e-icon[data-v-40a767c3],.button.filled-inverted:disabled:not(.loading) .icon[data-v-40a767c3],.button.filled-inverted:disabled:not(.loading) e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-700)}.button.outlined-inverted[data-v-40a767c3]{background-color:transparent;border-color:var(--e-c-mono-00);color:var(--e-c-mono-00)}.button.outlined-inverted .icon[data-v-40a767c3],.button.outlined-inverted e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-00)}.button.outlined-inverted .loader[data-v-40a767c3],.button.outlined-inverted e-loader[data-v-40a767c3]{--dot-color: var(--e-c-mono-00)}.button.outlined-inverted[data-v-40a767c3]: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-40a767c3]:active,.button.outlined-inverted.loading[data-v-40a767c3]{background-color:transparent;border-color:var(--e-c-primary-01-500)}.button.outlined-inverted.disabled[data-v-40a767c3]:not(.loading),.button.outlined-inverted[data-v-40a767c3]: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-40a767c3],.button.outlined-inverted.disabled:not(.loading) e-icon[data-v-40a767c3],.button.outlined-inverted:disabled:not(.loading) .icon[data-v-40a767c3],.button.outlined-inverted:disabled:not(.loading) e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-500)}.button.secondary-outlined[data-v-40a767c3]{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-40a767c3],.button.secondary-outlined e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-secondary-02-500)}.button.secondary-outlined .loader[data-v-40a767c3],.button.secondary-outlined e-loader[data-v-40a767c3]{--dot-color: var(--e-c-secondary-02-500)}.button.secondary-outlined[data-v-40a767c3]:hover{background-color:var(--e-c-secondary-02-50);border-color:var(--e-c-secondary-02-200)}.button.secondary-outlined[data-v-40a767c3]:active,.button.secondary-outlined.loading[data-v-40a767c3]{background-color:transparent;border-color:var(--e-c-secondary-02-200)}.button.secondary-outlined.disabled[data-v-40a767c3]:not(.loading),.button.secondary-outlined[data-v-40a767c3]: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-40a767c3],.button.secondary-outlined.disabled:not(.loading) e-icon[data-v-40a767c3],.button.secondary-outlined:disabled:not(.loading) .icon[data-v-40a767c3],.button.secondary-outlined:disabled:not(.loading) e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-500)}.button.secondary-outlined-small[data-v-40a767c3]{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-40a767c3],.button.secondary-outlined-small e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-secondary-02-500)}.button.secondary-outlined-small .loader[data-v-40a767c3],.button.secondary-outlined-small e-loader[data-v-40a767c3]{--dot-color: var(--e-c-secondary-02-500)}.button.secondary-outlined-small[data-v-40a767c3]:hover{background-color:var(--e-c-secondary-02-50);border-color:var(--e-c-secondary-02-200)}.button.secondary-outlined-small[data-v-40a767c3]:active,.button.secondary-outlined-small.loading[data-v-40a767c3]{background-color:transparent;border-color:var(--e-c-secondary-02-200)}.button.secondary-outlined-small.disabled[data-v-40a767c3]:not(.loading),.button.secondary-outlined-small[data-v-40a767c3]: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-40a767c3],.button.secondary-outlined-small.disabled:not(.loading) e-icon[data-v-40a767c3],.button.secondary-outlined-small:disabled:not(.loading) .icon[data-v-40a767c3],.button.secondary-outlined-small:disabled:not(.loading) e-icon[data-v-40a767c3]{--icon-fill-color: var(--e-c-mono-500)}.button.loading[data-v-40a767c3]{color:transparent}.button.loading .icon[data-v-40a767c3],.button.loading e-icon[data-v-40a767c3]{--icon-fill-color: transparent}[data-v-4d752899]: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-4d752899],[data-v-4d752899]:after,[data-v-4d752899]:before{box-sizing:inherit}[data-v-4d752899]{outline:none}[data-v-4d752899]:focus-visible{outline-style:solid;outline-offset:4px;outline-color:#b3b3b3cc}[data-whatintent=mouse][data-v-4d752899] *:focus{outline:none}body[data-v-4d752899]{margin:0;min-height:100vh}h1[data-v-4d752899],h2[data-v-4d752899],h3[data-v-4d752899],h4[data-v-4d752899],h5[data-v-4d752899],h6[data-v-4d752899]{margin:0;text-wrap:balance;font-size:unset;font-weight:unset}p[data-v-4d752899],figure[data-v-4d752899],blockquote[data-v-4d752899]{margin:0}button[data-v-4d752899]{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-4d752899],ol[data-v-4d752899]{list-style:none;padding:0;margin:0}dl[data-v-4d752899],dt[data-v-4d752899],dd[data-v-4d752899]{margin:0}address[data-v-4d752899]{font-style:normal}img[data-v-4d752899],picture[data-v-4d752899]{max-width:100%;display:block}fieldset[data-v-4d752899]{padding:0;margin:0;border:0}.visually-hidden[data-v-4d752899]{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-4d752899]{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-4d752899],.icon-button e-icon[data-v-4d752899]{width:1.5rem;height:1.5rem}.icon-button .icon[data-v-4d752899],.icon-button e-icon[data-v-4d752899]{position:relative}.icon-button[data-v-4d752899]: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-4d752899]:hover:not(:disabled):before{transform:scale(1.05)}.icon-button[data-v-4d752899]:active:before{transform:scale(1)}.icon-button[data-v-4d752899]:disabled{cursor:default}.icon-button[data-v-4d752899]:before{background-color:var(--e-c-primary-01-700);border-color:var(--e-c-primary-01-700)}.icon-button .icon[data-v-4d752899],.icon-button e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-00)}.icon-button[data-v-4d752899]:hover:before{background-color:var(--e-c-secondary-01-900);border-color:var(--e-c-secondary-01-900)}.icon-button[data-v-4d752899]:active:before{background-color:var(--e-c-secondary-01-700);border-color:var(--e-c-secondary-01-700)}.icon-button[data-v-4d752899]:disabled:before{background-color:var(--e-c-mono-500);border-color:var(--e-c-mono-500)}.icon-button.outlined[data-v-4d752899]:before{background-color:transparent;border-color:var(--e-c-mono-500)}.icon-button.outlined .icon[data-v-4d752899],.icon-button.outlined e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-900)}.icon-button.outlined[data-v-4d752899]:hover:before{border-color:var(--e-c-primary-01-200)}.icon-button.outlined[data-v-4d752899]:active:before{border-color:var(--e-c-primary-01-500)}.icon-button.outlined[data-v-4d752899]:disabled:before{border-color:var(--e-c-mono-500)}.icon-button.outlined:disabled .icon[data-v-4d752899],.icon-button.outlined:disabled e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-500)}.icon-button.plain[data-v-4d752899]:before{background-color:transparent;border-color:transparent}.icon-button.plain .icon[data-v-4d752899],.icon-button.plain e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-primary-01-700)}.icon-button.plain[data-v-4d752899]:hover:before{background-color:var(--e-c-primary-01-50);border-color:var(--e-c-primary-01-50)}.icon-button.plain[data-v-4d752899]: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-4d752899],.icon-button.plain:disabled e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-500)}.icon-button.filled-inverted[data-v-4d752899]:before{background-color:var(--e-c-mono-00);border-color:var(--e-c-mono-00)}.icon-button.filled-inverted .icon[data-v-4d752899],.icon-button.filled-inverted e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-primary-01-700)}.icon-button.filled-inverted[data-v-4d752899]: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-4d752899],.icon-button.filled-inverted:hover e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-secondary-01-700)}.icon-button.filled-inverted[data-v-4d752899]:active:before{background-color:var(--e-c-primary-01-200);border-color:var(--e-c-primary-01-200)}.icon-button.filled-inverted[data-v-4d752899]:disabled:before{background-color:var(--e-c-mono-500);border-color:var(--e-c-mono-500)}.icon-button.filled-inverted:disabled .icon[data-v-4d752899],.icon-button.filled-inverted:disabled e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-700)}.icon-button.outlined-inverted[data-v-4d752899]:before{background-color:transparent;border-color:var(--e-c-mono-00)}.icon-button.outlined-inverted .icon[data-v-4d752899],.icon-button.outlined-inverted e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-00)}.icon-button.outlined-inverted[data-v-4d752899]:hover:before{border-color:var(--e-c-primary-01-200)}.icon-button.outlined-inverted[data-v-4d752899]:active:before{border-color:var(--e-c-primary-01-500)}.icon-button.outlined-inverted[data-v-4d752899]:disabled:before{border-color:var(--e-c-mono-500)}.icon-button.outlined-inverted:disabled .icon[data-v-4d752899],.icon-button.outlined-inverted:disabled e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-500)}.icon-button.plain-inverted[data-v-4d752899]:before{background-color:transparent;border-color:transparent}.icon-button.plain-inverted .icon[data-v-4d752899],.icon-button.plain-inverted e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-00)}.icon-button.plain-inverted[data-v-4d752899]:hover:before{background-color:var(--e-c-secondary-01-700);border-color:var(--e-c-secondary-01-700)}.icon-button.plain-inverted[data-v-4d752899]: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-4d752899],.icon-button.plain-inverted:disabled e-icon[data-v-4d752899]{--icon-fill-color: var(--e-c-mono-500)}
|