material-inspired-component-library 3.1.0 → 4.0.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/README.md +12 -5
- package/components/README.md +1 -1
- package/components/accordion/README.md +29 -5
- package/components/alert/README.md +76 -0
- package/components/alert/index.scss +1 -0
- package/components/appbar/README.md +9 -4
- package/components/appbar/index.scss +1 -1
- package/components/badge/README.md +8 -3
- package/components/badge/index.scss +1 -0
- package/components/bottomsheet/README.md +8 -3
- package/components/button/README.md +8 -3
- package/components/button/index.scss +7 -0
- package/components/card/README.md +10 -4
- package/components/card/index.scss +1 -1
- package/components/checkbox/README.md +8 -3
- package/components/checkbox/index.scss +2 -0
- package/components/dialog/README.md +8 -3
- package/components/dialog/index.scss +1 -0
- package/components/divider/README.md +8 -3
- package/components/divider/index.scss +2 -2
- package/components/iconbutton/README.md +8 -3
- package/components/iconbutton/index.scss +3 -1
- package/components/list/README.md +26 -19
- package/components/list/index.scss +95 -68
- package/components/menu/README.md +9 -3
- package/components/menu/index.scss +6 -18
- package/components/navigationrail/README.md +8 -3
- package/components/navigationrail/index.scss +1 -0
- package/components/radio/README.md +8 -3
- package/components/radio/index.scss +2 -0
- package/components/select/README.md +10 -5
- package/components/select/index.scss +2 -3
- package/components/sidesheet/README.md +21 -22
- package/components/sidesheet/index.scss +15 -16
- package/components/slider/README.md +8 -3
- package/components/slider/index.scss +1 -0
- package/components/stepper/README.md +190 -0
- package/components/stepper/index.scss +93 -14
- package/components/stepper/index.ts +138 -120
- package/components/switch/README.md +8 -3
- package/components/switch/index.scss +2 -0
- package/components/textfield/README.md +8 -3
- package/components/textfield/index.ts +8 -40
- package/dist/alert.css +1 -1
- package/dist/badge.css +1 -1
- package/dist/button.css +1 -1
- package/dist/card.css +1 -1
- package/dist/checkbox.css +1 -1
- package/dist/components/textfield/index.d.ts +0 -1
- package/dist/dialog.css +1 -1
- package/dist/divider.css +1 -1
- package/dist/foundations/form/index.d.ts +5 -0
- package/dist/iconbutton.css +1 -1
- package/dist/list.css +1 -1
- package/dist/menu.css +1 -1
- package/dist/micl.css +1 -1
- package/dist/micl.js +1 -1
- package/dist/navigationrail.css +1 -1
- package/dist/radio.css +1 -1
- package/dist/select.css +1 -1
- package/dist/sidesheet.css +1 -1
- package/dist/slider.css +1 -1
- package/dist/stepper.css +1 -1
- package/dist/switch.css +1 -1
- package/docs/accordion.html +31 -17
- package/docs/alert.html +3 -8
- package/docs/bottomsheet.html +2 -2
- package/docs/button.html +2 -2
- package/docs/card.html +7 -7
- package/docs/checkbox.html +2 -2
- package/docs/dialog.html +2 -2
- package/docs/divider.html +8 -8
- package/docs/iconbutton.html +2 -2
- package/docs/index.html +53 -39
- package/docs/list.html +54 -46
- package/docs/menu.html +4 -3
- package/docs/micl.css +1 -1
- package/docs/micl.js +1 -1
- package/docs/radio.html +2 -2
- package/docs/select.html +2 -2
- package/docs/sidesheet.html +5 -4
- package/docs/slider.html +2 -2
- package/docs/stepper.html +318 -0
- package/docs/switch.html +8 -4
- package/docs/textfield.html +2 -2
- package/foundations/form/index.ts +174 -0
- package/{layout → foundations/layout}/README.md +5 -0
- package/{layout → foundations/layout}/index.scss +1 -1
- package/micl.ts +1 -3
- package/package.json +4 -4
- package/styles.scss +1 -1
- package/webpack.config.js +1 -1
|
@@ -19,129 +19,149 @@
|
|
|
19
19
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
20
|
// SOFTWARE.
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
classList: { contains(token: string): boolean };
|
|
24
|
-
addEventListener(type: 'click', listener: (this: HTMLButtonElement, ev: MouseEvent) => any): void;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
type StepperStep = HTMLElement & {
|
|
28
|
-
dataset : { miclstep?: string };
|
|
29
|
-
nextElementSibling : Element | null;
|
|
30
|
-
previousElementSibling: Element | null;
|
|
31
|
-
};
|
|
22
|
+
import form from '../../foundations/form';
|
|
32
23
|
|
|
33
24
|
export const stepperSelector = '.micl-stepper';
|
|
34
25
|
|
|
26
|
+
const ACTIONS_SELECTOR = '.micl-stepper__action-back,.micl-stepper__action-next';
|
|
27
|
+
const BUTTON_SELECTOR = '.micl-stepper__header button[role=tab][aria-controls]';
|
|
28
|
+
const STEP_CLASS = 'micl-stepper__step';
|
|
29
|
+
const STEP_SELECTOR = '.' + STEP_CLASS;
|
|
30
|
+
|
|
35
31
|
export default (() =>
|
|
36
32
|
{
|
|
37
|
-
const
|
|
33
|
+
const getSelectedStep = (stepper: HTMLElement): HTMLElement | null =>
|
|
38
34
|
{
|
|
39
|
-
let step = stepper.querySelector(
|
|
35
|
+
let step = stepper.querySelector(`${STEP_SELECTOR}[aria-current=step]`);
|
|
40
36
|
if (step) {
|
|
41
|
-
return step;
|
|
37
|
+
return step as HTMLElement;
|
|
42
38
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
return setSelectedStep(stepper, stepper.querySelector(STEP_SELECTOR));
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const getStepNumber = (stepper: HTMLElement, step: HTMLElement): number =>
|
|
43
|
+
{
|
|
44
|
+
const allSteps = Array.from(stepper.querySelectorAll(STEP_SELECTOR));
|
|
45
|
+
const index = allSteps.indexOf(step);
|
|
46
|
+
|
|
47
|
+
return index + 1;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const setSelectedStep = (stepper: HTMLElement, step: HTMLElement | null): HTMLElement | null =>
|
|
51
|
+
{
|
|
52
|
+
if (!step) {
|
|
53
|
+
return null;
|
|
46
54
|
}
|
|
55
|
+
let index = 0;
|
|
56
|
+
stepper.querySelectorAll(STEP_SELECTOR).forEach((e, i) =>
|
|
57
|
+
{
|
|
58
|
+
e.setAttribute('aria-current', e === step ? 'step' : 'false');
|
|
59
|
+
if (e === step) {
|
|
60
|
+
index = i;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
const button = stepper.querySelectorAll(BUTTON_SELECTOR).item(index);
|
|
64
|
+
stepper.querySelectorAll(BUTTON_SELECTOR).forEach((e, i) =>
|
|
65
|
+
{
|
|
66
|
+
e.setAttribute('aria-selected', e === button ? 'true' : 'false');
|
|
67
|
+
});
|
|
68
|
+
refresh(stepper, step);
|
|
69
|
+
|
|
47
70
|
return step;
|
|
48
71
|
};
|
|
49
72
|
|
|
50
|
-
const
|
|
73
|
+
const endTransitionSelected = (event: Event): void =>
|
|
51
74
|
{
|
|
52
75
|
const target = event.currentTarget as Element;
|
|
53
76
|
if ((event as TransitionEvent).propertyName !== 'transform' || !target) {
|
|
54
77
|
return;
|
|
55
78
|
}
|
|
56
79
|
target.classList.remove(
|
|
57
|
-
'micl-stepper__step--
|
|
58
|
-
'micl-stepper__step--
|
|
80
|
+
'micl-stepper__step--fromselected',
|
|
81
|
+
'micl-stepper__step--toselected'
|
|
59
82
|
);
|
|
60
|
-
target.removeEventListener('transitionend',
|
|
83
|
+
target.removeEventListener('transitionend', endTransitionSelected);
|
|
61
84
|
};
|
|
62
85
|
|
|
63
|
-
const goToSibling = (
|
|
86
|
+
const goToSibling = (stepper: HTMLElement, selectedStep: HTMLElement, sibling: HTMLElement): void =>
|
|
64
87
|
{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
88
|
+
selectedStep.addEventListener('transitionend', endTransitionSelected);
|
|
89
|
+
selectedStep.classList.add('micl-stepper__step--fromselected');
|
|
90
|
+
selectedStep.offsetHeight;
|
|
68
91
|
|
|
69
|
-
sibling.addEventListener('transitionend',
|
|
70
|
-
sibling.classList.add('micl-stepper__step--
|
|
92
|
+
sibling.addEventListener('transitionend', endTransitionSelected);
|
|
93
|
+
sibling.classList.add('micl-stepper__step--toselected');
|
|
71
94
|
sibling.offsetHeight;
|
|
72
95
|
|
|
73
|
-
sibling
|
|
74
|
-
currentStep.classList.remove('micl-stepper__step--current');
|
|
75
|
-
currentStep.offsetHeight;
|
|
96
|
+
setSelectedStep(stepper, sibling);
|
|
76
97
|
};
|
|
77
98
|
|
|
78
|
-
const
|
|
99
|
+
const isBackAction = (action: HTMLElement): boolean =>
|
|
100
|
+
action.classList.contains('micl-stepper__action-back');
|
|
101
|
+
|
|
102
|
+
const showHideActions = (stepper: HTMLElement, step: HTMLElement): void =>
|
|
79
103
|
{
|
|
80
|
-
|
|
104
|
+
Array.from(stepper.querySelectorAll<HTMLElement>(ACTIONS_SELECTOR)).forEach(action =>
|
|
81
105
|
{
|
|
82
|
-
const siblingKey
|
|
83
|
-
const
|
|
106
|
+
const siblingKey = isBackAction(action) ? 'previousElementSibling' : 'nextElementSibling';
|
|
107
|
+
const hasSibling = (step[siblingKey] as Element)?.classList.contains(STEP_CLASS);
|
|
84
108
|
|
|
85
|
-
action.classList.toggle('micl-hidden', !
|
|
109
|
+
action.classList.toggle('micl-hidden', !hasSibling);
|
|
86
110
|
});
|
|
87
111
|
};
|
|
88
112
|
|
|
89
|
-
const showHideElements = (stepper: HTMLElement, step:
|
|
113
|
+
const showHideElements = (stepper: HTMLElement, step: HTMLElement): void =>
|
|
90
114
|
{
|
|
91
|
-
const
|
|
115
|
+
const selectedStep = getStepNumber(stepper, step);
|
|
92
116
|
|
|
93
|
-
|
|
117
|
+
stepper.querySelectorAll<HTMLElement>('[data-step]').forEach(element =>
|
|
94
118
|
{
|
|
95
|
-
const shouldHide = element.dataset.step
|
|
119
|
+
const shouldHide = element.dataset.step != `${selectedStep}`;
|
|
96
120
|
element.classList.toggle('micl-hidden', shouldHide);
|
|
97
121
|
});
|
|
98
122
|
};
|
|
99
123
|
|
|
100
|
-
const
|
|
124
|
+
const updateProgress = (stepper: HTMLElement, step: HTMLElement): void =>
|
|
101
125
|
{
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
126
|
+
const index = getStepNumber(stepper, step);
|
|
127
|
+
const totalSteps = stepper.querySelectorAll(STEP_SELECTOR).length;
|
|
128
|
+
const linear = !stepper.classList.contains('micl-stepper--nonlinear');
|
|
129
|
+
const setText = (selector: string, content: string): void => {
|
|
130
|
+
stepper.querySelectorAll(selector).forEach(e => { e.textContent = content; });
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
setText('.micl-stepper__progress-current', `${index}`);
|
|
134
|
+
setText('.micl-stepper__progress-total', `${totalSteps}`);
|
|
108
135
|
|
|
109
|
-
|
|
136
|
+
stepper.querySelectorAll('.micl-stepper__progress-dots').forEach(dots =>
|
|
110
137
|
{
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
138
|
+
const fragment = document.createDocumentFragment();
|
|
139
|
+
|
|
140
|
+
dots.innerHTML = '';
|
|
141
|
+
for (let i = 1; i <= totalSteps; i++) {
|
|
142
|
+
let dot = document.createElement('span');
|
|
143
|
+
dot.classList.add('micl-stepper__progress-dot');
|
|
144
|
+
if ((linear && (i <= index)) || (!linear && (i === index))) {
|
|
145
|
+
dot.classList.add('micl-stepper__progress--done');
|
|
146
|
+
}
|
|
147
|
+
fragment.appendChild(dot);
|
|
114
148
|
}
|
|
115
|
-
|
|
116
|
-
`input[type="checkbox"][name="${name}"]:checked`
|
|
117
|
-
).length;
|
|
118
|
-
|
|
119
|
-
return checkedCount > 0;
|
|
149
|
+
dots.appendChild(fragment);
|
|
120
150
|
});
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const checkStepValidity = (stepper: HTMLElement): HTMLElement | null =>
|
|
124
|
-
{
|
|
125
|
-
const currentStep = getCurrentStep(stepper);
|
|
126
|
-
if (!currentStep) {
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
129
|
-
let isValid = true;
|
|
130
|
-
|
|
131
|
-
currentStep.querySelectorAll<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(
|
|
132
|
-
'input,select,textarea'
|
|
133
|
-
).forEach(element =>
|
|
151
|
+
stepper.querySelectorAll(BUTTON_SELECTOR).forEach((button, i) =>
|
|
134
152
|
{
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
153
|
+
button.classList.toggle(
|
|
154
|
+
'micl-stepper__progress--done',
|
|
155
|
+
linear ? i + 1 <= index : i + 1 === index
|
|
156
|
+
);
|
|
138
157
|
});
|
|
158
|
+
};
|
|
139
159
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
160
|
+
const refresh = (stepper: HTMLElement, step: HTMLElement): void =>
|
|
161
|
+
{
|
|
162
|
+
showHideActions(stepper, step);
|
|
163
|
+
showHideElements(stepper, step);
|
|
164
|
+
updateProgress(stepper, step);
|
|
145
165
|
};
|
|
146
166
|
|
|
147
167
|
return {
|
|
@@ -152,57 +172,58 @@ export default (() =>
|
|
|
152
172
|
}
|
|
153
173
|
stepper.dataset.miclinitialized = '1';
|
|
154
174
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
step.dataset.miclstep = `${index + 1}`;
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
const step = getCurrentStep(stepper);
|
|
161
|
-
const backActions = Array.from(stepper.querySelectorAll<StepperAction>(
|
|
162
|
-
'button.micl-stepper--goback'
|
|
163
|
-
));
|
|
164
|
-
const nextActions = Array.from(stepper.querySelectorAll<StepperAction>(
|
|
165
|
-
'button.micl-stepper--gonext'
|
|
166
|
-
));
|
|
175
|
+
const step = getSelectedStep(stepper);
|
|
176
|
+
const header = stepper.querySelector('.micl-stepper__header');
|
|
167
177
|
|
|
168
178
|
if (step) {
|
|
169
|
-
|
|
170
|
-
showHideActions(nextActions, step, false);
|
|
171
|
-
showHideElements(stepper, step);
|
|
172
|
-
}
|
|
179
|
+
refresh(stepper, step);
|
|
173
180
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
181
|
+
header?.querySelectorAll<HTMLButtonElement>(
|
|
182
|
+
'button[role=tab][aria-controls]'
|
|
183
|
+
).forEach(button =>
|
|
177
184
|
{
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
185
|
+
button.addEventListener('click', () =>
|
|
186
|
+
{
|
|
187
|
+
if (
|
|
188
|
+
('ariaControlsElements' in Element.prototype)
|
|
189
|
+
&& button.ariaControlsElements
|
|
190
|
+
) {
|
|
191
|
+
setSelectedStep(stepper, button.ariaControlsElements[0] as HTMLElement);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
const id = button.getAttribute('aria-controls');
|
|
195
|
+
if (id) {
|
|
196
|
+
setSelectedStep(stepper, document.getElementById(id));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
}
|
|
183
202
|
|
|
184
|
-
|
|
185
|
-
goToSibling(currentStep, sibling);
|
|
186
|
-
showHideActions(backActions, sibling, true);
|
|
187
|
-
showHideElements(stepper, sibling);
|
|
188
|
-
}
|
|
189
|
-
}, true);
|
|
190
|
-
});
|
|
191
|
-
nextActions.forEach(action =>
|
|
203
|
+
Array.from(stepper.querySelectorAll<HTMLElement>(ACTIONS_SELECTOR)).forEach(action =>
|
|
192
204
|
{
|
|
193
|
-
action.addEventListener('click', (event: Event)
|
|
205
|
+
action.addEventListener('click', function(event: Event)
|
|
194
206
|
{
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
207
|
+
const back = isBackAction(this);
|
|
208
|
+
const selectedStep = getSelectedStep(stepper);
|
|
209
|
+
|
|
210
|
+
if (
|
|
211
|
+
!selectedStep
|
|
212
|
+
|| (!back
|
|
213
|
+
&& selectedStep instanceof HTMLFieldSetElement
|
|
214
|
+
&& !form.validateFieldSet(selectedStep, true))
|
|
215
|
+
) {
|
|
216
|
+
if (!back) {
|
|
217
|
+
event.stopImmediatePropagation();
|
|
218
|
+
}
|
|
198
219
|
return;
|
|
199
220
|
}
|
|
200
|
-
const sibling =
|
|
221
|
+
const sibling = selectedStep[
|
|
222
|
+
back ? 'previousElementSibling' : 'nextElementSibling'
|
|
223
|
+
] as HTMLElement;
|
|
201
224
|
|
|
202
|
-
if (sibling?.classList.contains(
|
|
203
|
-
goToSibling(
|
|
204
|
-
showHideActions(nextActions, sibling, false);
|
|
205
|
-
showHideElements(stepper, sibling);
|
|
225
|
+
if (sibling?.classList.contains(STEP_CLASS)) {
|
|
226
|
+
goToSibling(stepper, selectedStep, sibling);
|
|
206
227
|
}
|
|
207
228
|
}, true);
|
|
208
229
|
});
|
|
@@ -213,11 +234,8 @@ export default (() =>
|
|
|
213
234
|
if (!event.submitter?.classList.contains('micl-form--dosubmit')) {
|
|
214
235
|
event.preventDefault();
|
|
215
236
|
}
|
|
216
|
-
|
|
217
|
-
const isValid = stepper.checkValidity() && checkGroupValidity(stepper);
|
|
218
|
-
if (!isValid) {
|
|
237
|
+
if (!form.validateForm(stepper, true)) {
|
|
219
238
|
event.stopImmediatePropagation();
|
|
220
|
-
return;
|
|
221
239
|
}
|
|
222
240
|
}, true);
|
|
223
241
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Switch
|
|
2
|
-
This component implements the
|
|
2
|
+
This component implements the [Material Design 3 Expressive Switch](https://m3.material.io/components/switch/overview) design. Switches toggle the state of a single setting on or off.
|
|
3
3
|
|
|
4
4
|
## Basic Usage
|
|
5
5
|
|
|
@@ -18,11 +18,16 @@ Import the switch styles into your project:
|
|
|
18
18
|
@use "material-inspired-component-library/dist/switch";
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
Or import all MICL styles:
|
|
22
|
+
```CSS
|
|
23
|
+
@use "material-inspired-component-library/styles";
|
|
24
|
+
```
|
|
25
|
+
|
|
21
26
|
### JavaScript
|
|
22
27
|
No custom JavaScript is required for the core functionality of this component.
|
|
23
28
|
|
|
24
|
-
### Demo
|
|
25
|
-
A live example of the [Switch component](https://henkpb.github.io/micl/switch.html) is available
|
|
29
|
+
### Live Demo
|
|
30
|
+
A live example of the [Switch component](https://henkpb.github.io/micl/switch.html) is available to interact with.
|
|
26
31
|
|
|
27
32
|
## Variants
|
|
28
33
|
By default, the component displays an icon on the switch handle in both the selected and unselected state. To remove the icon in the unselected state, assign an empty string to the following CSS variable:
|
|
@@ -48,6 +48,7 @@ input[type=checkbox].micl-switch {
|
|
|
48
48
|
margin: 0;
|
|
49
49
|
border-radius: calc(var(--md-sys-switch-target-height) / 2);
|
|
50
50
|
outline: none;
|
|
51
|
+
-webkit-tap-highlight-color: transparent;
|
|
51
52
|
|
|
52
53
|
&::before {
|
|
53
54
|
content: "";
|
|
@@ -172,6 +173,7 @@ input[type=checkbox].micl-switch {
|
|
|
172
173
|
|
|
173
174
|
input[type=checkbox].micl-switch:not(:disabled) + label,
|
|
174
175
|
label:has(+ input[type=checkbox].micl-switch:not(:disabled)) {
|
|
176
|
+
-webkit-tap-highlight-color: transparent;
|
|
175
177
|
cursor: pointer;
|
|
176
178
|
}
|
|
177
179
|
input[type=checkbox].micl-switch + label,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Text field
|
|
2
|
-
This component implements the
|
|
2
|
+
This component implements the [Material Design 3 Expressive Text field](https://m3.material.io/components/text-fields/overview) design.
|
|
3
3
|
|
|
4
4
|
## Basic Usage
|
|
5
5
|
|
|
@@ -20,6 +20,11 @@ Import the text field styles into your project:
|
|
|
20
20
|
@use "material-inspired-component-library/dist/textfield";
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
+
Or import all MICL styles:
|
|
24
|
+
```CSS
|
|
25
|
+
@use "material-inspired-component-library/styles";
|
|
26
|
+
```
|
|
27
|
+
|
|
23
28
|
### JavaScript
|
|
24
29
|
This component requires JavaScript for interactive features like the **character counter**:
|
|
25
30
|
|
|
@@ -29,8 +34,8 @@ import micl from "material-inspired-component-library/dist/micl";
|
|
|
29
34
|
|
|
30
35
|
This will initialize any Text field component, including those that will be added to the DOM later on.
|
|
31
36
|
|
|
32
|
-
### Demo
|
|
33
|
-
A live example of the [Text field component](https://henkpb.github.io/micl/textfield.html) is available
|
|
37
|
+
### Live Demo
|
|
38
|
+
A live example of the [Text field component](https://henkpb.github.io/micl/textfield.html) is available to interact with.
|
|
34
39
|
|
|
35
40
|
## Variants
|
|
36
41
|
The following example shows a text field with every available feature. You can include any combination of these elements. The order of elements inside the `<div>` does not change the layout.
|
|
@@ -25,14 +25,9 @@ export const selectSelector = '.micl-textfield-filled > select,.micl-textfield-o
|
|
|
25
25
|
|
|
26
26
|
export default (() =>
|
|
27
27
|
{
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
{
|
|
32
|
-
return eventTarget instanceof HTMLInputElement ||
|
|
33
|
-
eventTarget instanceof HTMLSelectElement ||
|
|
34
|
-
eventTarget instanceof HTMLTextAreaElement;
|
|
35
|
-
};
|
|
28
|
+
const isTextFieldElement = (target: EventTarget | null): target is
|
|
29
|
+
HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement =>
|
|
30
|
+
(target as Element).matches(`${textfieldSelector},${selectSelector},${textareaSelector}`);
|
|
36
31
|
|
|
37
32
|
const setCounter = (input: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement): void =>
|
|
38
33
|
{
|
|
@@ -49,26 +44,6 @@ export default (() =>
|
|
|
49
44
|
}
|
|
50
45
|
};
|
|
51
46
|
|
|
52
|
-
const handleInvalid = (
|
|
53
|
-
input: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement,
|
|
54
|
-
isValid?: boolean
|
|
55
|
-
): void => {
|
|
56
|
-
if (input.required) {
|
|
57
|
-
input.parentElement?.classList.toggle('micl-textfield--error', !isValid);
|
|
58
|
-
|
|
59
|
-
const supporting = input.parentElement?.querySelector(
|
|
60
|
-
'.micl-textfield__supporting-text'
|
|
61
|
-
) as HTMLElement;
|
|
62
|
-
|
|
63
|
-
if (supporting) {
|
|
64
|
-
if (!isValid && !('micltext' in supporting.dataset)) {
|
|
65
|
-
supporting.dataset.micltext = supporting.textContent;
|
|
66
|
-
}
|
|
67
|
-
supporting.textContent = input.validationMessage || supporting.dataset.micltext || '';
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
47
|
return {
|
|
73
48
|
initialize: (input: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement): void =>
|
|
74
49
|
{
|
|
@@ -84,13 +59,13 @@ export default (() =>
|
|
|
84
59
|
if (input instanceof HTMLSelectElement) {
|
|
85
60
|
input.addEventListener('mousedown', () =>
|
|
86
61
|
{
|
|
87
|
-
const rect
|
|
88
|
-
const
|
|
89
|
-
const
|
|
62
|
+
const rect = input.getBoundingClientRect();
|
|
63
|
+
const spaceAbove = rect.top;
|
|
64
|
+
const spaceBelow = window.innerHeight - rect.bottom;
|
|
90
65
|
|
|
91
66
|
!input.matches(':open') && input.style.setProperty(
|
|
92
67
|
'--md-sys-select-picker-origin',
|
|
93
|
-
|
|
68
|
+
spaceAbove > spaceBelow ? 'left bottom' : 'left top'
|
|
94
69
|
);
|
|
95
70
|
});
|
|
96
71
|
}
|
|
@@ -101,8 +76,7 @@ export default (() =>
|
|
|
101
76
|
input: (event: Event): void =>
|
|
102
77
|
{
|
|
103
78
|
if (
|
|
104
|
-
!
|
|
105
|
-
|| !event.target.matches(`${textfieldSelector},${selectSelector},${textareaSelector}`)
|
|
79
|
+
!isTextFieldElement(event.target)
|
|
106
80
|
|| !event.target.dataset.miclinitialized
|
|
107
81
|
|| event.target.disabled
|
|
108
82
|
) {
|
|
@@ -116,13 +90,7 @@ export default (() =>
|
|
|
116
90
|
delete event.target.dataset.miclvalue;
|
|
117
91
|
}
|
|
118
92
|
|
|
119
|
-
handleInvalid(event.target, true);
|
|
120
93
|
setCounter(event.target);
|
|
121
|
-
},
|
|
122
|
-
|
|
123
|
-
invalid: (event: Event): void =>
|
|
124
|
-
{
|
|
125
|
-
isRequiredType(event.target) && handleInvalid(event.target);
|
|
126
94
|
}
|
|
127
95
|
};
|
|
128
96
|
})();
|
package/dist/alert.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--md-sys-shape-corner-none: 0px;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-large-increased: 20px;--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-extra-large-increased: 32px;--md-sys-shape-corner-extra-extra-large: 48px;--md-sys-shape-corner-full: 50%}:root{--md-ref-typeface-plain: Roboto, system-ui, sans-serif;--md-ref-typeface-brand: Roboto, system-ui, sans-serif;--md-ref-typeface-weight-regular: 400;--md-ref-typeface-weight-medium: 500;--md-ref-typeface-weight-bold: 700;--md-sys-typescale-display-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-large-size: 3.5625rem;--md-sys-typescale-display-large-line-height: 4rem;--md-sys-typescale-display-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-large-tracking: -0.015625rem;--md-sys-typescale-display-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-medium-size: 2.8125rem;--md-sys-typescale-display-medium-line-height: 3.25rem;--md-sys-typescale-display-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-medium-tracking: 0;--md-sys-typescale-display-small-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-small-size: 2.25rem;--md-sys-typescale-display-small-line-height: 2.75rem;--md-sys-typescale-display-small-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-small-tracking: 0;--md-sys-typescale-headline-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-headline-large-size: 2rem;--md-sys-typescale-headline-large-line-height: 2.5rem;--md-sys-typescale-headline-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-headline-large-tracking: 0;--md-sys-typescale-headline-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-headline-medium-size: 1.75rem;--md-sys-typescale-headline-medium-line-height: 2.25rem;--md-sys-typescale-headline-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-headline-medium-tracking: 0;--md-sys-typescale-headline-small-font: var(--md-ref-typeface-brand);--md-sys-typescale-headline-small-size: 1.5rem;--md-sys-typescale-headline-small-line-height: 2rem;--md-sys-typescale-headline-small-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-headline-small-tracking: 0;--md-sys-typescale-title-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-title-large-size: 1.375rem;--md-sys-typescale-title-large-line-height: 1.75rem;--md-sys-typescale-title-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-title-large-tracking: 0;--md-sys-typescale-title-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-title-medium-size: 1rem;--md-sys-typescale-title-medium-line-height: 1.5rem;--md-sys-typescale-title-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-title-medium-tracking: 0,009375rem;--md-sys-typescale-title-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-title-small-size: 0.875rem;--md-sys-typescale-title-small-line-height: 1.25rem;--md-sys-typescale-title-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-title-small-tracking: 0.00625rem;--md-sys-typescale-body-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-large-size: 1rem;--md-sys-typescale-body-large-line-height: 1.5rem;--md-sys-typescale-body-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-large-tracking: 0.03125rem;--md-sys-typescale-body-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-medium-size: 0.875rem;--md-sys-typescale-body-medium-line-height: 1.25rem;--md-sys-typescale-body-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-medium-tracking: 0.015625rem;--md-sys-typescale-body-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-small-size: 0.75rem;--md-sys-typescale-body-small-line-height: 1rem;--md-sys-typescale-body-small-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-small-tracking: 0.025rem;--md-sys-typescale-label-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-label-large-size: 0.875rem;--md-sys-typescale-label-large-line-height: 1.25rem;--md-sys-typescale-label-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-label-large-tracking: 0.00625rem;--md-sys-typescale-label-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-label-medium-size: 0.75rem;--md-sys-typescale-label-medium-line-height: 1rem;--md-sys-typescale-label-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-label-medium-tracking: 0.03125rem;--md-sys-typescale-label-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-label-small-size: 0.6875rem;--md-sys-typescale-label-small-line-height: 1rem;--md-sys-typescale-label-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-label-small-tracking: 0.03125rem;--md-sys-typescale-emphasized-display-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-large-size: 3.5625rem;--md-sys-typescale-emphasized-display-large-line-height: 4rem;--md-sys-typescale-emphasized-display-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-display-large-tracking: -0.015625rem;--md-sys-typescale-emphasized-display-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-medium-size: 2.8125rem;--md-sys-typescale-emphasized-display-medium-line-height: 3.25rem;--md-sys-typescale-emphasized-display-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-display-medium-tracking: 0;--md-sys-typescale-emphasized-display-small-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-small-size: 2.25rem;--md-sys-typescale-emphasized-display-small-line-height: 2.75rem;--md-sys-typescale-emphasized-display-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-display-small-tracking: 0;--md-sys-typescale-emphasized-headline-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-large-size: 2rem;--md-sys-typescale-emphasized-headline-large-line-height: 2.5rem;--md-sys-typescale-emphasized-headline-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-headline-large-tracking: 0;--md-sys-typescale-emphasized-headline-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-medium-size: 1.75rem;--md-sys-typescale-emphasized-headline-medium-line-height: 2.25rem;--md-sys-typescale-emphasized-headline-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-headline-medium-tracking: 0;--md-sys-typescale-emphasized-headline-small-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-small-size: 1.5rem;--md-sys-typescale-emphasized-headline-small-line-height: 2rem;--md-sys-typescale-emphasized-headline-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-headline-small-tracking: 0;--md-sys-typescale-emphasized-title-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-title-large-size: 1.375rem;--md-sys-typescale-emphasized-title-large-line-height: 1.75rem;--md-sys-typescale-emphasized-title-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-title-large-tracking: 0;--md-sys-typescale-emphasized-title-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-title-medium-size: 1rem;--md-sys-typescale-emphasized-title-medium-line-height: 1.5rem;--md-sys-typescale-emphasized-title-medium-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-title-medium-tracking: 0,009375rem;--md-sys-typescale-emphasized-title-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-title-small-size: 0.875rem;--md-sys-typescale-emphasized-title-small-line-height: 1.25rem;--md-sys-typescale-emphasized-title-small-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-title-small-tracking: 0.00625rem;--md-sys-typescale-emphasized-body-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-large-size: 1rem;--md-sys-typescale-emphasized-body-large-line-height: 1.5rem;--md-sys-typescale-emphasized-body-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-body-large-tracking: 0.03125rem;--md-sys-typescale-emphasized-body-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-medium-size: 0.875rem;--md-sys-typescale-emphasized-body-medium-line-height: 1.25rem;--md-sys-typescale-emphasized-body-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-body-medium-tracking: 0.015625rem;--md-sys-typescale-emphasized-body-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-small-size: 0.75rem;--md-sys-typescale-emphasized-body-small-line-height: 1rem;--md-sys-typescale-emphasized-body-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-body-small-tracking: 0.025rem;--md-sys-typescale-emphasized-label-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-large-size: 0.875rem;--md-sys-typescale-emphasized-label-large-line-height: 1.25rem;--md-sys-typescale-emphasized-label-large-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-label-large-tracking: 0.00625rem;--md-sys-typescale-emphasized-label-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-medium-size: 0.75rem;--md-sys-typescale-emphasized-label-medium-line-height: 1rem;--md-sys-typescale-emphasized-label-medium-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-label-medium-tracking: 0.03125rem;--md-sys-typescale-emphasized-label-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-small-size: 0.6875rem;--md-sys-typescale-emphasized-label-small-line-height: 1rem;--md-sys-typescale-emphasized-label-small-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-label-small-tracking: 0.03125rem}.md-sys-typescale-display-large{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-large-size);line-height:var(--md-sys-typescale-display-large-line-height);font-weight:var(--md-sys-typescale-display-large-weight);letter-spacing:var(--md-sys-typescale-display-large-tracking)}.md-sys-typescale-display-medium{font-family:var(--md-sys-typescale-display-medium-font);font-size:var(--md-sys-typescale-display-medium-size);line-height:var(--md-sys-typescale-display-medium-line-height);font-weight:var(--md-sys-typescale-display-medium-weight);letter-spacing:var(--md-sys-typescale-display-medium-tracking)}.md-sys-typescale-display-small{font-family:var(--md-sys-typescale-display-small-font);font-size:var(--md-sys-typescale-display-small-size);line-height:var(--md-sys-typescale-display-small-line-height);font-weight:var(--md-sys-typescale-display-small-weight);letter-spacing:var(--md-sys-typescale-display-small-tracking)}.md-sys-typescale-headline-large{font-family:var(--md-sys-typescale-headline-large-font);font-size:var(--md-sys-typescale-headline-large-size);line-height:var(--md-sys-typescale-headline-large-line-height);font-weight:var(--md-sys-typescale-headline-large-weight);letter-spacing:var(--md-sys-typescale-headline-large-tracking)}.md-sys-typescale-headline-medium{font-family:var(--md-sys-typescale-headline-medium-font);font-size:var(--md-sys-typescale-headline-medium-size);line-height:var(--md-sys-typescale-headline-medium-line-height);font-weight:var(--md-sys-typescale-headline-medium-weight);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}.md-sys-typescale-headline-small{font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);line-height:var(--md-sys-typescale-headline-small-line-height);font-weight:var(--md-sys-typescale-headline-small-weight);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}.md-sys-typescale-title-large{font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);font-weight:var(--md-sys-typescale-title-large-weight);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.md-sys-typescale-title-medium{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}.md-sys-typescale-title-small{font-family:var(--md-sys-typescale-title-small-font);font-size:var(--md-sys-typescale-title-small-size);line-height:var(--md-sys-typescale-title-small-line-height);font-weight:var(--md-sys-typescale-title-small-weight);letter-spacing:var(--md-sys-typescale-title-small-tracking)}.md-sys-typescale-body-large{font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);font-weight:var(--md-sys-typescale-body-large-weight);letter-spacing:var(--md-sys-typescale-body-large-tracking)}.md-sys-typescale-body-medium{font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);font-weight:var(--md-sys-typescale-body-medium-weight);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.md-sys-typescale-body-small{font-family:var(--md-sys-typescale-body-small-font);font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);font-weight:var(--md-sys-typescale-body-small-weight);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.md-sys-typescale-label-large{font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);line-height:var(--md-sys-typescale-label-large-line-height);font-weight:var(--md-sys-typescale-label-large-weight);letter-spacing:var(--md-sys-typescale-label-large-tracking)}.md-sys-typescale-label-medium{font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);line-height:var(--md-sys-typescale-label-medium-line-height);font-weight:var(--md-sys-typescale-label-medium-weight);letter-spacing:var(--md-sys-typescale-label-medium-tracking)}.md-sys-typescale-label-small{font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);line-height:var(--md-sys-typescale-label-small-line-height);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking)}.md-sys-typescale-emphasized-display-large{font-family:var(--md-sys-typescale-emphasized-display-large-font);font-size:var(--md-sys-typescale-emphasized-display-large-size);line-height:var(--md-sys-typescale-emphasized-display-large-line-height);font-weight:var(--md-sys-typescale-emphasized-display-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-display-large-tracking)}.md-sys-typescale-emphasized-display-medium{font-family:var(--md-sys-typescale-emphasized-display-medium-font);font-size:var(--md-sys-typescale-emphasized-display-medium-size);line-height:var(--md-sys-typescale-emphasized-display-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-display-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-display-medium-tracking)}.md-sys-typescale-emphasized-display-small{font-family:var(--md-sys-typescale-emphasized-display-small-font);font-size:var(--md-sys-typescale-emphasized-display-small-size);line-height:var(--md-sys-typescale-emphasized-display-small-line-height);font-weight:var(--md-sys-typescale-emphasized-display-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-display-small-tracking)}.md-sys-typescale-emphasized-headline-large{font-family:var(--md-sys-typescale-emphasized-headline-large-font);font-size:var(--md-sys-typescale-emphasized-headline-large-size);line-height:var(--md-sys-typescale-emphasized-headline-large-line-height);font-weight:var(--md-sys-typescale-emphasized-headline-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-headline-large-tracking)}.md-sys-typescale-emphasized-headline-medium{font-family:var(--md-sys-typescale-emphasized-headline-medium-font);font-size:var(--md-sys-typescale-emphasized-headline-medium-size);line-height:var(--md-sys-typescale-emphasized-headline-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-headline-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-headline-medium-tracking)}.md-sys-typescale-emphasized-headline-small{font-family:var(--md-sys-typescale-emphasized-headline-small-font);font-size:var(--md-sys-typescale-emphasized-headline-small-size);line-height:var(--md-sys-typescale-emphasized-headline-small-line-height);font-weight:var(--md-sys-typescale-emphasized-headline-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-headline-small-tracking)}.md-sys-typescale-emphasized-title-large{font-family:var(--md-sys-typescale-emphasized-title-large-font);font-size:var(--md-sys-typescale-emphasized-title-large-size);line-height:var(--md-sys-typescale-emphasized-title-large-line-height);font-weight:var(--md-sys-typescale-emphasized-title-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-title-large-tracking)}.md-sys-typescale-emphasized-title-medium{font-family:var(--md-sys-typescale-emphasized-title-medium-font);font-size:var(--md-sys-typescale-emphasized-title-medium-size);line-height:var(--md-sys-typescale-emphasized-title-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-title-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-title-medium-tracking)}.md-sys-typescale-emphasized-title-small{font-family:var(--md-sys-typescale-emphasized-title-small-font);font-size:var(--md-sys-typescale-emphasized-title-small-size);line-height:var(--md-sys-typescale-emphasized-title-small-line-height);font-weight:var(--md-sys-typescale-emphasized-title-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-title-small-tracking)}.md-sys-typescale-emphasized-body-large{font-family:var(--md-sys-typescale-emphasized-body-large-font);font-size:var(--md-sys-typescale-emphasized-body-large-size);line-height:var(--md-sys-typescale-emphasized-body-large-line-height);font-weight:var(--md-sys-typescale-emphasized-body-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-body-large-tracking)}.md-sys-typescale-emphasized-body-medium{font-family:var(--md-sys-typescale-emphasized-body-medium-font);font-size:var(--md-sys-typescale-emphasized-body-medium-size);line-height:var(--md-sys-typescale-emphasized-body-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-body-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-body-medium-tracking)}.md-sys-typescale-emphasized-body-small{font-family:var(--md-sys-typescale-emphasized-body-small-font);font-size:var(--md-sys-typescale-emphasized-body-small-size);line-height:var(--md-sys-typescale-emphasized-body-small-line-height);font-weight:var(--md-sys-typescale-emphasized-body-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-body-small-tracking)}.md-sys-typescale-emphasized-label-large{font-family:var(--md-sys-typescale-emphasized-label-large-font);font-size:var(--md-sys-typescale-emphasized-label-large-size);line-height:var(--md-sys-typescale-emphasized-label-large-line-height);font-weight:var(--md-sys-typescale-emphasized-label-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-label-large-tracking)}.md-sys-typescale-emphasized-label-medium{font-family:var(--md-sys-typescale-emphasized-label-medium-font);font-size:var(--md-sys-typescale-emphasized-label-medium-size);line-height:var(--md-sys-typescale-emphasized-label-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-label-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-label-medium-tracking)}.md-sys-typescale-emphasized-label-small{font-family:var(--md-sys-typescale-emphasized-label-small-font);font-size:var(--md-sys-typescale-emphasized-label-small-size);line-height:var(--md-sys-typescale-emphasized-label-small-line-height);font-weight:var(--md-sys-typescale-emphasized-label-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-label-small-tracking)}:root{--md-sys-alert-padding: 16px;--md-sys-alert-space: 16px}.micl-alert-filled,.micl-alert-tonal,.micl-alert-outlined{--md-sys-alert-background-color: inherit;--md-sys-alert-color: inherit;box-sizing:border-box;display:flex;inline-size:100%;padding:var(--md-sys-alert-padding, 16px);column-gap:var(--md-sys-alert-space, 8px);border:none;outline:none;border-radius:var(--md-sys-shape-corner-small, 8px);background-color:var(--md-sys-alert-background-color);color:var(--md-sys-alert-color)}.micl-alert-filled .micl-alert__icon,.micl-alert-tonal .micl-alert__icon,.micl-alert-outlined .micl-alert__icon{block-size:var(--md-sys-layout-icon-size, 24px);inline-size:var(--md-sys-layout-icon-size, 24px);font-size:var(--md-sys-layout-icon-size, 24px)}.micl-alert-filled .micl-alert__text,.micl-alert-tonal .micl-alert__text,.micl-alert-outlined .micl-alert__text{display:flex;flex-direction:column;row-gap:8px}.micl-alert-filled .micl-alert__text h1,.micl-alert-filled .micl-alert__text h2,.micl-alert-filled .micl-alert__text h3,.micl-alert-filled .micl-alert__text h4,.micl-alert-filled .micl-alert__text h5,.micl-alert-filled .micl-alert__text h6,.micl-alert-filled .micl-alert__text .micl-heading,.micl-alert-tonal .micl-alert__text h1,.micl-alert-tonal .micl-alert__text h2,.micl-alert-tonal .micl-alert__text h3,.micl-alert-tonal .micl-alert__text h4,.micl-alert-tonal .micl-alert__text h5,.micl-alert-tonal .micl-alert__text h6,.micl-alert-tonal .micl-alert__text .micl-heading,.micl-alert-outlined .micl-alert__text h1,.micl-alert-outlined .micl-alert__text h2,.micl-alert-outlined .micl-alert__text h3,.micl-alert-outlined .micl-alert__text h4,.micl-alert-outlined .micl-alert__text h5,.micl-alert-outlined .micl-alert__text h6,.micl-alert-outlined .micl-alert__text .micl-heading{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-title-medium-tracking);margin:0}.micl-alert-filled .micl-alert__text .micl-alert__supporting-text,.micl-alert-tonal .micl-alert__text .micl-alert__supporting-text,.micl-alert-outlined .micl-alert__text .micl-alert__supporting-text{font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);font-weight:var(--md-sys-typescale-body-medium-weight);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:0}.micl-alert-filled{--md-sys-alert-background-color: var(--md-sys-color-error);--md-sys-alert-color: var(--md-sys-color-on-error)}.micl-alert-filled.micl-alert--primary{--md-sys-alert-background-color: var(--md-sys-color-primary);--md-sys-alert-color: var(--md-sys-color-on-primary)}.micl-alert-filled.micl-alert--secondary{--md-sys-alert-background-color: var(--md-sys-color-secondary);--md-sys-alert-color: var(--md-sys-color-on-secondary)}.micl-alert-filled.micl-alert--tertiary{--md-sys-alert-background-color: var(--md-sys-color-tertiary);--md-sys-alert-color: var(--md-sys-color-on-tertiary)}.micl-alert-tonal{--md-sys-alert-background-color: var(--md-sys-color-error-container);--md-sys-alert-color: var(--md-sys-color-on-error-container)}.micl-alert-tonal.micl-alert--primary{--md-sys-alert-background-color: var(--md-sys-color-primary-container);--md-sys-alert-color: var(--md-sys-color-on-primary-container)}.micl-alert-tonal.micl-alert--secondary{--md-sys-alert-background-color: var(--md-sys-color-secondary-container);--md-sys-alert-color: var(--md-sys-color-on-secondary-container)}.micl-alert-tonal.micl-alert--tertiary{--md-sys-alert-background-color: var(--md-sys-color-tertiary-container);--md-sys-alert-color: var(--md-sys-color-on-tertiary-container)}.micl-alert-outlined{--md-sys-alert-color: var(--md-sys-color-error);border:1px solid var(--md-sys-alert-color)}.micl-alert-outlined.micl-alert--primary{--md-sys-alert-color: var(--md-sys-color-primary)}.micl-alert-outlined.micl-alert--secondary{--md-sys-alert-color: var(--md-sys-color-secondary)}.micl-alert-outlined.micl-alert--tertiary{--md-sys-alert-color: var(--md-sys-color-tertiary)}
|
|
1
|
+
:root{--md-sys-shape-corner-none: 0px;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-large-increased: 20px;--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-extra-large-increased: 32px;--md-sys-shape-corner-extra-extra-large: 48px;--md-sys-shape-corner-full: 50%}:root{--md-sys-layout-pane-spacer: 24px;--md-sys-layout-padding-xxs: 4px;--md-sys-layout-padding-xs: 8px;--md-sys-layout-padding-s: 12px;--md-sys-layout-padding-m: 16px;--md-sys-layout-padding-l: 20px;--md-sys-layout-padding-xl: 24px;--md-sys-layout-padding-xxl: 28px;--md-sys-layout-icon-size: 24px}@media(max-width: 599px){:root{--md-sys-layout-window-margin: 16px}}@media(min-width: 600px)and (max-width: 839px){:root{--md-sys-layout-window-margin: 24px}}@media(min-width: 840px)and (max-width: 1199px){:root{--md-sys-layout-window-margin: 24px}}@media(min-width: 1200px)and (max-width: 1599px){:root{--md-sys-layout-window-margin: 24px}}@media(min-width: 1600px){:root{--md-sys-layout-window-margin: 24px}}.micl-window{padding:0 var(--md-sys-layout-window-margin) var(--md-sys-layout-window-margin);margin:0;background-color:var(--md-sys-color-surface)}.micl-window .micl-body .micl-appbar{margin-inline:calc(-1*var(--md-sys-layout-window-margin))}.micl-window:not(.micl-window--spatial):has(nav.micl-navigationrail) .micl-body .micl-appbar{margin-inline-start:0}.micl-window.micl-window--spatial{--md-sys-layout-spatial-radius: calc(var(--md-sys-shape-corner-medium) + var(--md-sys-layout-window-margin));display:flex;padding-block:calc(2*var(--md-sys-layout-window-margin));gap:var(--md-sys-layout-window-margin)}.micl-window.micl-window--spatial .micl-navigationrail{display:flex;align-self:flex-start;block-size:inherit;min-block-size:inherit;margin:0;padding-block-end:var(--md-sys-navigationrail-top-space, 0px);border-radius:var(--md-sys-layout-spatial-radius)}.micl-window.micl-window--spatial .micl-body{background:rgba(0,0,0,0)}.micl-window.micl-window--spatial .micl-pane{padding:0 var(--md-sys-layout-window-margin) var(--md-sys-layout-window-margin);border-radius:var(--md-sys-layout-spatial-radius);background-color:var(--md-sys-color-surface)}.micl-body{display:flex;flex-direction:row;gap:var(--md-sys-card-margin, 0px) var(--md-sys-layout-pane-spacer);background-color:inherit}.micl-body.micl-body--split:has(>.micl-pane:nth-child(2)) .micl-pane{flex-basis:50%}.micl-body.micl-body--evenly .micl-pane{flex:1 1 0}.micl-pane{display:flex;flex-direction:column;flex:1 1 auto;min-inline-size:0;background-color:inherit}.micl-pane.micl-pane--fixed{flex:0 0 auto}.micl-pane:has(>.micl-card-elevated,>.micl-card-filled,>.micl-card-outlined),.micl-pane>*:has(>.micl-card-elevated,>.micl-card-filled,>.micl-card-outlined){gap:var(--md-sys-card-margin, 0px)}.micl-pane>.micl-pane__columns{display:flex}.micl-pane>.micl-pane__columns:has(>.micl-pane__column>.micl-card-elevated,>.micl-pane__column>.micl-card-filled,>.micl-pane__column>.micl-card-outlined){gap:var(--md-sys-card-margin, 0px)}.micl-pane>.micl-pane__columns>.micl-pane__column{display:flex;flex-direction:column;flex:1 1 auto;min-inline-size:0;background-color:inherit}.micl-pane>.micl-pane__columns>.micl-pane__column:has(>.micl-card-elevated,>.micl-card-filled,>.micl-card-outlined){row-gap:var(--md-sys-card-margin, 0px)}.micl-pane>.micl-pane__columns>.micl-pane__column.micl-pane__column--fixed{flex:0 0 auto}.micl-pane>.micl-pane__columns.micl-pane__columns--evenly>.micl-pane__column{flex:1 1 0}@media(max-width: 599px){.micl-body.micl-body--stacked-to-medium,.micl-body.micl-body--stacked-to-expanded,.micl-body.micl-body--stacked-to-large,.micl-body.micl-body--stacked-to-extralarge{flex-direction:column}.micl-pane.micl-pane--hidden-to-medium,.micl-pane.micl-pane--hidden-to-expanded,.micl-pane.micl-pane--hidden-to-large,.micl-pane.micl-pane--hidden-to-extralarge{display:none}.micl-pane__columns.micl-pane__columns--stacked-to-medium,.micl-pane__columns.micl-pane__columns--stacked-to-expanded,.micl-pane__columns.micl-pane__columns--stacked-to-large,.micl-pane__columns.micl-pane__columns--stacked-to-extralarge{flex-direction:column}}@media(min-width: 600px)and (max-width: 839px){.micl-body.micl-body--stacked-to-expanded,.micl-body.micl-body--stacked-to-large,.micl-body.micl-body--stacked-to-extralarge{flex-direction:column}.micl-pane.micl-pane--hidden-to-expanded,.micl-pane.micl-pane--hidden-to-large,.micl-pane.micl-pane--hidden-to-extralarge{display:none}.micl-pane__columns.micl-pane__columns--stacked-to-expanded,.micl-pane__columns.micl-pane__columns--stacked-to-large,.micl-pane__columns.micl-pane__columns--stacked-to-extralarge{flex-direction:column}}@media(min-width: 840px)and (max-width: 1199px){.micl-body.micl-body--stacked-to-large,.micl-body.micl-body--stacked-to-extralarge{flex-direction:column}.micl-pane.micl-pane--hidden-to-large,.micl-pane.micl-pane--hidden-to-extralarge{display:none}.micl-pane__columns.micl-pane__columns--stacked-to-large,.micl-pane__columns.micl-pane__columns--stacked-to-extralarge{flex-direction:column}}@media(min-width: 1200px)and (max-width: 1599px){.micl-body.micl-body--stacked-to-extralarge{flex-direction:column}.micl-pane.micl-pane--hidden-to-extralarge{display:none}.micl-pane__columns.micl-pane__columns--stacked-to-extralarge{flex-direction:column}}.micl-hidden{display:none !important}.micl-flex--vcenter{display:flex;flex-direction:row;align-items:center}.micl-grid-iconfield{box-sizing:border-box;display:grid;grid-template-columns:48px 1fr;row-gap:var(--md-sys-layout-padding-xl, 24px);background-color:inherit}.micl-grid-iconfield__icon{grid-column:1;margin-block-start:.6rem}.micl-grid-iconfield__field{grid-column:2}.micl-link{display:flex;align-items:center;justify-content:center;text-decoration:none}:root{--md-ref-typeface-plain: Roboto, system-ui, sans-serif;--md-ref-typeface-brand: Roboto, system-ui, sans-serif;--md-ref-typeface-weight-regular: 400;--md-ref-typeface-weight-medium: 500;--md-ref-typeface-weight-bold: 700;--md-sys-typescale-display-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-large-size: 3.5625rem;--md-sys-typescale-display-large-line-height: 4rem;--md-sys-typescale-display-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-large-tracking: -0.015625rem;--md-sys-typescale-display-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-medium-size: 2.8125rem;--md-sys-typescale-display-medium-line-height: 3.25rem;--md-sys-typescale-display-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-medium-tracking: 0;--md-sys-typescale-display-small-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-small-size: 2.25rem;--md-sys-typescale-display-small-line-height: 2.75rem;--md-sys-typescale-display-small-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-small-tracking: 0;--md-sys-typescale-headline-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-headline-large-size: 2rem;--md-sys-typescale-headline-large-line-height: 2.5rem;--md-sys-typescale-headline-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-headline-large-tracking: 0;--md-sys-typescale-headline-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-headline-medium-size: 1.75rem;--md-sys-typescale-headline-medium-line-height: 2.25rem;--md-sys-typescale-headline-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-headline-medium-tracking: 0;--md-sys-typescale-headline-small-font: var(--md-ref-typeface-brand);--md-sys-typescale-headline-small-size: 1.5rem;--md-sys-typescale-headline-small-line-height: 2rem;--md-sys-typescale-headline-small-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-headline-small-tracking: 0;--md-sys-typescale-title-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-title-large-size: 1.375rem;--md-sys-typescale-title-large-line-height: 1.75rem;--md-sys-typescale-title-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-title-large-tracking: 0;--md-sys-typescale-title-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-title-medium-size: 1rem;--md-sys-typescale-title-medium-line-height: 1.5rem;--md-sys-typescale-title-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-title-medium-tracking: 0,009375rem;--md-sys-typescale-title-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-title-small-size: 0.875rem;--md-sys-typescale-title-small-line-height: 1.25rem;--md-sys-typescale-title-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-title-small-tracking: 0.00625rem;--md-sys-typescale-body-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-large-size: 1rem;--md-sys-typescale-body-large-line-height: 1.5rem;--md-sys-typescale-body-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-large-tracking: 0.03125rem;--md-sys-typescale-body-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-medium-size: 0.875rem;--md-sys-typescale-body-medium-line-height: 1.25rem;--md-sys-typescale-body-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-medium-tracking: 0.015625rem;--md-sys-typescale-body-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-small-size: 0.75rem;--md-sys-typescale-body-small-line-height: 1rem;--md-sys-typescale-body-small-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-small-tracking: 0.025rem;--md-sys-typescale-label-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-label-large-size: 0.875rem;--md-sys-typescale-label-large-line-height: 1.25rem;--md-sys-typescale-label-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-label-large-tracking: 0.00625rem;--md-sys-typescale-label-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-label-medium-size: 0.75rem;--md-sys-typescale-label-medium-line-height: 1rem;--md-sys-typescale-label-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-label-medium-tracking: 0.03125rem;--md-sys-typescale-label-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-label-small-size: 0.6875rem;--md-sys-typescale-label-small-line-height: 1rem;--md-sys-typescale-label-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-label-small-tracking: 0.03125rem;--md-sys-typescale-emphasized-display-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-large-size: 3.5625rem;--md-sys-typescale-emphasized-display-large-line-height: 4rem;--md-sys-typescale-emphasized-display-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-display-large-tracking: -0.015625rem;--md-sys-typescale-emphasized-display-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-medium-size: 2.8125rem;--md-sys-typescale-emphasized-display-medium-line-height: 3.25rem;--md-sys-typescale-emphasized-display-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-display-medium-tracking: 0;--md-sys-typescale-emphasized-display-small-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-small-size: 2.25rem;--md-sys-typescale-emphasized-display-small-line-height: 2.75rem;--md-sys-typescale-emphasized-display-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-display-small-tracking: 0;--md-sys-typescale-emphasized-headline-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-large-size: 2rem;--md-sys-typescale-emphasized-headline-large-line-height: 2.5rem;--md-sys-typescale-emphasized-headline-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-headline-large-tracking: 0;--md-sys-typescale-emphasized-headline-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-medium-size: 1.75rem;--md-sys-typescale-emphasized-headline-medium-line-height: 2.25rem;--md-sys-typescale-emphasized-headline-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-headline-medium-tracking: 0;--md-sys-typescale-emphasized-headline-small-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-small-size: 1.5rem;--md-sys-typescale-emphasized-headline-small-line-height: 2rem;--md-sys-typescale-emphasized-headline-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-headline-small-tracking: 0;--md-sys-typescale-emphasized-title-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-title-large-size: 1.375rem;--md-sys-typescale-emphasized-title-large-line-height: 1.75rem;--md-sys-typescale-emphasized-title-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-title-large-tracking: 0;--md-sys-typescale-emphasized-title-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-title-medium-size: 1rem;--md-sys-typescale-emphasized-title-medium-line-height: 1.5rem;--md-sys-typescale-emphasized-title-medium-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-title-medium-tracking: 0,009375rem;--md-sys-typescale-emphasized-title-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-title-small-size: 0.875rem;--md-sys-typescale-emphasized-title-small-line-height: 1.25rem;--md-sys-typescale-emphasized-title-small-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-title-small-tracking: 0.00625rem;--md-sys-typescale-emphasized-body-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-large-size: 1rem;--md-sys-typescale-emphasized-body-large-line-height: 1.5rem;--md-sys-typescale-emphasized-body-large-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-body-large-tracking: 0.03125rem;--md-sys-typescale-emphasized-body-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-medium-size: 0.875rem;--md-sys-typescale-emphasized-body-medium-line-height: 1.25rem;--md-sys-typescale-emphasized-body-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-body-medium-tracking: 0.015625rem;--md-sys-typescale-emphasized-body-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-small-size: 0.75rem;--md-sys-typescale-emphasized-body-small-line-height: 1rem;--md-sys-typescale-emphasized-body-small-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-emphasized-body-small-tracking: 0.025rem;--md-sys-typescale-emphasized-label-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-large-size: 0.875rem;--md-sys-typescale-emphasized-label-large-line-height: 1.25rem;--md-sys-typescale-emphasized-label-large-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-label-large-tracking: 0.00625rem;--md-sys-typescale-emphasized-label-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-medium-size: 0.75rem;--md-sys-typescale-emphasized-label-medium-line-height: 1rem;--md-sys-typescale-emphasized-label-medium-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-label-medium-tracking: 0.03125rem;--md-sys-typescale-emphasized-label-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-small-size: 0.6875rem;--md-sys-typescale-emphasized-label-small-line-height: 1rem;--md-sys-typescale-emphasized-label-small-weight: var(--md-ref-typeface-weight-bold);--md-sys-typescale-emphasized-label-small-tracking: 0.03125rem}.md-sys-typescale-display-large{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-large-size);line-height:var(--md-sys-typescale-display-large-line-height);font-weight:var(--md-sys-typescale-display-large-weight);letter-spacing:var(--md-sys-typescale-display-large-tracking)}.md-sys-typescale-display-medium{font-family:var(--md-sys-typescale-display-medium-font);font-size:var(--md-sys-typescale-display-medium-size);line-height:var(--md-sys-typescale-display-medium-line-height);font-weight:var(--md-sys-typescale-display-medium-weight);letter-spacing:var(--md-sys-typescale-display-medium-tracking)}.md-sys-typescale-display-small{font-family:var(--md-sys-typescale-display-small-font);font-size:var(--md-sys-typescale-display-small-size);line-height:var(--md-sys-typescale-display-small-line-height);font-weight:var(--md-sys-typescale-display-small-weight);letter-spacing:var(--md-sys-typescale-display-small-tracking)}.md-sys-typescale-headline-large{font-family:var(--md-sys-typescale-headline-large-font);font-size:var(--md-sys-typescale-headline-large-size);line-height:var(--md-sys-typescale-headline-large-line-height);font-weight:var(--md-sys-typescale-headline-large-weight);letter-spacing:var(--md-sys-typescale-headline-large-tracking)}.md-sys-typescale-headline-medium{font-family:var(--md-sys-typescale-headline-medium-font);font-size:var(--md-sys-typescale-headline-medium-size);line-height:var(--md-sys-typescale-headline-medium-line-height);font-weight:var(--md-sys-typescale-headline-medium-weight);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}.md-sys-typescale-headline-small{font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);line-height:var(--md-sys-typescale-headline-small-line-height);font-weight:var(--md-sys-typescale-headline-small-weight);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}.md-sys-typescale-title-large{font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);font-weight:var(--md-sys-typescale-title-large-weight);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.md-sys-typescale-title-medium{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}.md-sys-typescale-title-small{font-family:var(--md-sys-typescale-title-small-font);font-size:var(--md-sys-typescale-title-small-size);line-height:var(--md-sys-typescale-title-small-line-height);font-weight:var(--md-sys-typescale-title-small-weight);letter-spacing:var(--md-sys-typescale-title-small-tracking)}.md-sys-typescale-body-large{font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);font-weight:var(--md-sys-typescale-body-large-weight);letter-spacing:var(--md-sys-typescale-body-large-tracking)}.md-sys-typescale-body-medium{font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);font-weight:var(--md-sys-typescale-body-medium-weight);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.md-sys-typescale-body-small{font-family:var(--md-sys-typescale-body-small-font);font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);font-weight:var(--md-sys-typescale-body-small-weight);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.md-sys-typescale-label-large{font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);line-height:var(--md-sys-typescale-label-large-line-height);font-weight:var(--md-sys-typescale-label-large-weight);letter-spacing:var(--md-sys-typescale-label-large-tracking)}.md-sys-typescale-label-medium{font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);line-height:var(--md-sys-typescale-label-medium-line-height);font-weight:var(--md-sys-typescale-label-medium-weight);letter-spacing:var(--md-sys-typescale-label-medium-tracking)}.md-sys-typescale-label-small{font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);line-height:var(--md-sys-typescale-label-small-line-height);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking)}.md-sys-typescale-emphasized-display-large{font-family:var(--md-sys-typescale-emphasized-display-large-font);font-size:var(--md-sys-typescale-emphasized-display-large-size);line-height:var(--md-sys-typescale-emphasized-display-large-line-height);font-weight:var(--md-sys-typescale-emphasized-display-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-display-large-tracking)}.md-sys-typescale-emphasized-display-medium{font-family:var(--md-sys-typescale-emphasized-display-medium-font);font-size:var(--md-sys-typescale-emphasized-display-medium-size);line-height:var(--md-sys-typescale-emphasized-display-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-display-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-display-medium-tracking)}.md-sys-typescale-emphasized-display-small{font-family:var(--md-sys-typescale-emphasized-display-small-font);font-size:var(--md-sys-typescale-emphasized-display-small-size);line-height:var(--md-sys-typescale-emphasized-display-small-line-height);font-weight:var(--md-sys-typescale-emphasized-display-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-display-small-tracking)}.md-sys-typescale-emphasized-headline-large{font-family:var(--md-sys-typescale-emphasized-headline-large-font);font-size:var(--md-sys-typescale-emphasized-headline-large-size);line-height:var(--md-sys-typescale-emphasized-headline-large-line-height);font-weight:var(--md-sys-typescale-emphasized-headline-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-headline-large-tracking)}.md-sys-typescale-emphasized-headline-medium{font-family:var(--md-sys-typescale-emphasized-headline-medium-font);font-size:var(--md-sys-typescale-emphasized-headline-medium-size);line-height:var(--md-sys-typescale-emphasized-headline-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-headline-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-headline-medium-tracking)}.md-sys-typescale-emphasized-headline-small{font-family:var(--md-sys-typescale-emphasized-headline-small-font);font-size:var(--md-sys-typescale-emphasized-headline-small-size);line-height:var(--md-sys-typescale-emphasized-headline-small-line-height);font-weight:var(--md-sys-typescale-emphasized-headline-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-headline-small-tracking)}.md-sys-typescale-emphasized-title-large{font-family:var(--md-sys-typescale-emphasized-title-large-font);font-size:var(--md-sys-typescale-emphasized-title-large-size);line-height:var(--md-sys-typescale-emphasized-title-large-line-height);font-weight:var(--md-sys-typescale-emphasized-title-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-title-large-tracking)}.md-sys-typescale-emphasized-title-medium{font-family:var(--md-sys-typescale-emphasized-title-medium-font);font-size:var(--md-sys-typescale-emphasized-title-medium-size);line-height:var(--md-sys-typescale-emphasized-title-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-title-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-title-medium-tracking)}.md-sys-typescale-emphasized-title-small{font-family:var(--md-sys-typescale-emphasized-title-small-font);font-size:var(--md-sys-typescale-emphasized-title-small-size);line-height:var(--md-sys-typescale-emphasized-title-small-line-height);font-weight:var(--md-sys-typescale-emphasized-title-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-title-small-tracking)}.md-sys-typescale-emphasized-body-large{font-family:var(--md-sys-typescale-emphasized-body-large-font);font-size:var(--md-sys-typescale-emphasized-body-large-size);line-height:var(--md-sys-typescale-emphasized-body-large-line-height);font-weight:var(--md-sys-typescale-emphasized-body-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-body-large-tracking)}.md-sys-typescale-emphasized-body-medium{font-family:var(--md-sys-typescale-emphasized-body-medium-font);font-size:var(--md-sys-typescale-emphasized-body-medium-size);line-height:var(--md-sys-typescale-emphasized-body-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-body-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-body-medium-tracking)}.md-sys-typescale-emphasized-body-small{font-family:var(--md-sys-typescale-emphasized-body-small-font);font-size:var(--md-sys-typescale-emphasized-body-small-size);line-height:var(--md-sys-typescale-emphasized-body-small-line-height);font-weight:var(--md-sys-typescale-emphasized-body-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-body-small-tracking)}.md-sys-typescale-emphasized-label-large{font-family:var(--md-sys-typescale-emphasized-label-large-font);font-size:var(--md-sys-typescale-emphasized-label-large-size);line-height:var(--md-sys-typescale-emphasized-label-large-line-height);font-weight:var(--md-sys-typescale-emphasized-label-large-weight);letter-spacing:var(--md-sys-typescale-emphasized-label-large-tracking)}.md-sys-typescale-emphasized-label-medium{font-family:var(--md-sys-typescale-emphasized-label-medium-font);font-size:var(--md-sys-typescale-emphasized-label-medium-size);line-height:var(--md-sys-typescale-emphasized-label-medium-line-height);font-weight:var(--md-sys-typescale-emphasized-label-medium-weight);letter-spacing:var(--md-sys-typescale-emphasized-label-medium-tracking)}.md-sys-typescale-emphasized-label-small{font-family:var(--md-sys-typescale-emphasized-label-small-font);font-size:var(--md-sys-typescale-emphasized-label-small-size);line-height:var(--md-sys-typescale-emphasized-label-small-line-height);font-weight:var(--md-sys-typescale-emphasized-label-small-weight);letter-spacing:var(--md-sys-typescale-emphasized-label-small-tracking)}:root{--md-sys-alert-padding: 16px;--md-sys-alert-space: 16px}.micl-alert-filled,.micl-alert-tonal,.micl-alert-outlined{--md-sys-alert-background-color: inherit;--md-sys-alert-color: inherit;box-sizing:border-box;display:flex;inline-size:100%;padding:var(--md-sys-alert-padding, 16px);column-gap:var(--md-sys-alert-space, 8px);border:none;outline:none;border-radius:var(--md-sys-shape-corner-small, 8px);background-color:var(--md-sys-alert-background-color);color:var(--md-sys-alert-color)}.micl-alert-filled .micl-alert__icon,.micl-alert-tonal .micl-alert__icon,.micl-alert-outlined .micl-alert__icon{block-size:var(--md-sys-layout-icon-size, 24px);inline-size:var(--md-sys-layout-icon-size, 24px);font-size:var(--md-sys-layout-icon-size, 24px)}.micl-alert-filled .micl-alert__text,.micl-alert-tonal .micl-alert__text,.micl-alert-outlined .micl-alert__text{display:flex;flex-direction:column;row-gap:8px}.micl-alert-filled .micl-alert__text h1,.micl-alert-filled .micl-alert__text h2,.micl-alert-filled .micl-alert__text h3,.micl-alert-filled .micl-alert__text h4,.micl-alert-filled .micl-alert__text h5,.micl-alert-filled .micl-alert__text h6,.micl-alert-filled .micl-alert__text .micl-heading,.micl-alert-tonal .micl-alert__text h1,.micl-alert-tonal .micl-alert__text h2,.micl-alert-tonal .micl-alert__text h3,.micl-alert-tonal .micl-alert__text h4,.micl-alert-tonal .micl-alert__text h5,.micl-alert-tonal .micl-alert__text h6,.micl-alert-tonal .micl-alert__text .micl-heading,.micl-alert-outlined .micl-alert__text h1,.micl-alert-outlined .micl-alert__text h2,.micl-alert-outlined .micl-alert__text h3,.micl-alert-outlined .micl-alert__text h4,.micl-alert-outlined .micl-alert__text h5,.micl-alert-outlined .micl-alert__text h6,.micl-alert-outlined .micl-alert__text .micl-heading{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-title-medium-tracking);margin:0}.micl-alert-filled .micl-alert__text .micl-alert__supporting-text,.micl-alert-tonal .micl-alert__text .micl-alert__supporting-text,.micl-alert-outlined .micl-alert__text .micl-alert__supporting-text{font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);font-weight:var(--md-sys-typescale-body-medium-weight);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:0}.micl-alert-filled{--md-sys-alert-background-color: var(--md-sys-color-error);--md-sys-alert-color: var(--md-sys-color-on-error)}.micl-alert-filled.micl-alert--primary{--md-sys-alert-background-color: var(--md-sys-color-primary);--md-sys-alert-color: var(--md-sys-color-on-primary)}.micl-alert-filled.micl-alert--secondary{--md-sys-alert-background-color: var(--md-sys-color-secondary);--md-sys-alert-color: var(--md-sys-color-on-secondary)}.micl-alert-filled.micl-alert--tertiary{--md-sys-alert-background-color: var(--md-sys-color-tertiary);--md-sys-alert-color: var(--md-sys-color-on-tertiary)}.micl-alert-tonal{--md-sys-alert-background-color: var(--md-sys-color-error-container);--md-sys-alert-color: var(--md-sys-color-on-error-container)}.micl-alert-tonal.micl-alert--primary{--md-sys-alert-background-color: var(--md-sys-color-primary-container);--md-sys-alert-color: var(--md-sys-color-on-primary-container)}.micl-alert-tonal.micl-alert--secondary{--md-sys-alert-background-color: var(--md-sys-color-secondary-container);--md-sys-alert-color: var(--md-sys-color-on-secondary-container)}.micl-alert-tonal.micl-alert--tertiary{--md-sys-alert-background-color: var(--md-sys-color-tertiary-container);--md-sys-alert-color: var(--md-sys-color-on-tertiary-container)}.micl-alert-outlined{--md-sys-alert-color: var(--md-sys-color-error);border:1px solid var(--md-sys-alert-color)}.micl-alert-outlined.micl-alert--primary{--md-sys-alert-color: var(--md-sys-color-primary)}.micl-alert-outlined.micl-alert--secondary{--md-sys-alert-color: var(--md-sys-color-secondary)}.micl-alert-outlined.micl-alert--tertiary{--md-sys-alert-color: var(--md-sys-color-tertiary)}
|