material-inspired-component-library 1.1.0 → 1.2.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.
Files changed (97) hide show
  1. package/README.md +22 -21
  2. package/components/accordion/README.md +7 -9
  3. package/components/bottomsheet/README.md +7 -9
  4. package/components/bottomsheet/index.scss +3 -0
  5. package/components/button/README.md +7 -9
  6. package/components/button/index.scss +3 -0
  7. package/components/card/README.md +3 -3
  8. package/components/card/index.scss +3 -0
  9. package/components/checkbox/README.md +7 -9
  10. package/components/checkbox/index.scss +2 -0
  11. package/components/dialog/README.md +3 -3
  12. package/components/dialog/index.scss +3 -0
  13. package/components/divider/README.md +3 -3
  14. package/components/iconbutton/README.md +7 -9
  15. package/components/iconbutton/index.scss +3 -0
  16. package/components/list/README.md +58 -30
  17. package/components/list/index.scss +117 -53
  18. package/components/list/index.ts +1 -1
  19. package/components/menu/README.md +8 -10
  20. package/components/menu/index.scss +5 -2
  21. package/components/radio/README.md +3 -3
  22. package/components/radio/index.scss +2 -0
  23. package/components/select/README.md +9 -11
  24. package/components/select/index.scss +3 -1
  25. package/components/sidesheet/README.md +3 -3
  26. package/components/sidesheet/index.scss +2 -0
  27. package/components/slider/README.md +15 -9
  28. package/components/slider/index.scss +142 -51
  29. package/components/slider/index.ts +67 -31
  30. package/components/switch/README.md +3 -3
  31. package/components/switch/index.scss +3 -0
  32. package/components/textfield/README.md +7 -11
  33. package/components/textfield/index.scss +2 -0
  34. package/dist/bottomsheet.css +1 -1
  35. package/dist/bottomsheet.js +1 -0
  36. package/dist/button.css +1 -1
  37. package/dist/button.js +1 -0
  38. package/dist/card.css +1 -1
  39. package/dist/card.js +1 -0
  40. package/dist/checkbox.css +1 -1
  41. package/dist/checkbox.js +1 -0
  42. package/dist/components/bottomsheet/index.d.ts +6 -0
  43. package/dist/components/button/index.d.ts +6 -0
  44. package/dist/components/checkbox/index.d.ts +5 -0
  45. package/dist/components/iconbutton/index.d.ts +6 -0
  46. package/dist/components/list/index.d.ts +5 -0
  47. package/dist/components/menu/index.d.ts +16 -0
  48. package/dist/components/slider/index.d.ts +6 -0
  49. package/dist/components/textfield/index.d.ts +8 -0
  50. package/dist/dialog.css +1 -1
  51. package/dist/dialog.js +1 -0
  52. package/dist/divider.js +1 -0
  53. package/dist/iconbutton.css +1 -1
  54. package/dist/iconbutton.js +1 -0
  55. package/dist/list.css +1 -1
  56. package/dist/list.js +1 -0
  57. package/dist/menu.css +1 -1
  58. package/dist/menu.js +1 -0
  59. package/dist/micl.css +1 -1
  60. package/dist/micl.d.ts +5 -0
  61. package/dist/micl.js +1 -1
  62. package/dist/radio.css +1 -1
  63. package/dist/radio.js +1 -0
  64. package/dist/select.css +1 -1
  65. package/dist/select.js +1 -0
  66. package/dist/sidesheet.css +1 -1
  67. package/dist/sidesheet.js +1 -0
  68. package/dist/slider.css +1 -1
  69. package/dist/slider.js +1 -0
  70. package/dist/switch.css +1 -1
  71. package/dist/switch.js +1 -0
  72. package/dist/textfield.css +1 -1
  73. package/dist/textfield.js +1 -0
  74. package/docs/accordion.html +1 -1
  75. package/docs/bottomsheet.html +2 -2
  76. package/docs/button.html +1 -1
  77. package/docs/card.html +1 -1
  78. package/docs/checkbox.html +1 -1
  79. package/docs/dialog.html +2 -2
  80. package/docs/divider.html +1 -1
  81. package/docs/iconbutton.html +1 -1
  82. package/docs/index.html +2 -2
  83. package/docs/list.html +51 -34
  84. package/docs/menu.html +15 -11
  85. package/docs/micl.css +1 -1
  86. package/docs/micl.js +1 -1
  87. package/docs/radio.html +1 -1
  88. package/docs/select.html +11 -9
  89. package/docs/sidesheet.html +1 -1
  90. package/docs/slider.html +57 -21
  91. package/docs/switch.html +1 -1
  92. package/docs/textfield.html +1 -1
  93. package/{components.ts → micl.ts} +78 -53
  94. package/package.json +4 -2
  95. package/styles/layout.scss +74 -0
  96. package/tsconfig.json +11 -5
  97. package/webpack.config.js +7 -4
@@ -20,6 +20,8 @@
20
20
  // SOFTWARE.
21
21
 
22
22
  @use '../../styles/motion';
23
+ @use '../../styles/shapes';
24
+ @use '../../styles/statelayer';
23
25
  @use '../../styles/typography';
24
26
 
25
27
  @mixin slider-track() {
@@ -52,14 +54,35 @@
52
54
  inline-size: 16px;
53
55
  block-size: var(--md-sys-slider-handle-height);
54
56
  inset: 0;
55
- inset-block-start: calc(-1 * (var(--md-sys-slider-handle-height) - var(--md-sys-slider-track-height)) / 2);
57
+ inset-block-start: calc(-1 * (var(--md-sys-slider-handle-height) - var(--md-sys-slider-track-height) + 8px) / 2);
58
+ padding-block: 4px;
59
+ border: none;
60
+ border-radius: 8px;
56
61
  background-color: inherit;
57
- background-image: linear-gradient(to right,transparent 0px,transparent var(--md-sys-slider-thumb-space), var(--md-sys-color-primary) var(--md-sys-slider-thumb-space),var(--md-sys-color-primary) 10px,transparent 10px, transparent 16px);
62
+ background-image: linear-gradient(
63
+ var(--md-sys-slider-track-direction),
64
+ transparent 0px,
65
+ transparent var(--md-sys-slider-thumb-space),
66
+ var(--md-sys-color-primary) var(--md-sys-slider-thumb-space),
67
+ var(--md-sys-color-primary) 10px,
68
+ transparent 10px,
69
+ transparent 16px
70
+ );
71
+ background-clip: content-box;
58
72
  cursor: pointer;
59
73
  z-index: 2;
60
74
  }
61
75
  @mixin slider-thumb-disabled() {
62
- background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, var(--md-sys-color-surface));
76
+ background-color: inherit;
77
+ background-image: linear-gradient(
78
+ var(--md-sys-slider-track-direction),
79
+ transparent 0px,
80
+ transparent var(--md-sys-slider-thumb-space),
81
+ color-mix(in srgb, var(--md-sys-color-on-surface) 38%, var(--md-sys-color-surface)) var(--md-sys-slider-thumb-space),
82
+ color-mix(in srgb, var(--md-sys-color-on-surface) 38%, var(--md-sys-color-surface)) 10px,
83
+ transparent 10px,
84
+ transparent 16px
85
+ );
63
86
  cursor: default;
64
87
  }
65
88
  @mixin slider-progress() {
@@ -102,6 +125,7 @@ input[type=range].micl-slider-xl {
102
125
 
103
126
  appearance: none;
104
127
  position: relative;
128
+ block-size: var(--md-sys-slider-track-height);
105
129
  margin: 0;
106
130
  outline: none;
107
131
  color: var(--md-sys-color-surface-container-low);
@@ -124,8 +148,9 @@ input[type=range].micl-slider-xl {
124
148
  text-wrap-mode: nowrap;
125
149
  }
126
150
  &::after {
127
- --md-sys-slider-tip-space: 4px;
128
151
  @include typography.label-medium;
152
+ --md-sys-slider-tip-space: 4px;
153
+
129
154
  content: var(--md-sys-slider-tip);
130
155
  box-sizing: border-box;
131
156
  position: absolute;
@@ -179,59 +204,80 @@ input[type=range].micl-slider-xl {
179
204
  }
180
205
  &.micl-slider--vertical {
181
206
  --md-sys-slider-track-direction: to top;
207
+
182
208
  writing-mode: sideways-lr;
209
+
183
210
  &::after {
184
211
  --md-sys-slider-tip-space: 8px;
212
+
185
213
  transform: rotate(90deg);
186
214
  }
187
215
  }
188
- &:not(:disabled):focus-visible {
189
- &::after {
216
+ &:not(:disabled) {
217
+ &:active::after,
218
+ &:focus::after,
219
+ &:focus-visible::after {
190
220
  opacity: 1;
221
+ transition: opacity var(--md-sys-motion-duration-medium2) motion.$md-sys-motion-easing-emphasized-accelerate;
191
222
  }
192
- &::-webkit-slider-thumb {
193
- outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
194
- }
195
- &::-moz-range-thumb {
196
- outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
197
- }
198
- }
199
- &:not(:disabled):active {
200
- &::-webkit-slider-thumb {
201
- background-image: linear-gradient(to right,transparent 0px, transparent calc(var(--md-sys-slider-thumb-space) + 1px), var(--md-sys-color-primary) calc(var(--md-sys-slider-thumb-space) + 1px), var(--md-sys-color-primary) calc(var(--md-sys-slider-thumb-space) + 3px), transparent calc(var(--md-sys-slider-thumb-space) + 3px), transparent calc(2 * var(--md-sys-slider-thumb-space) + 4px));
202
- outline: none;
203
- cursor: grabbing;
204
- }
205
- &::-moz-range-thumb {
206
- background-image: linear-gradient(to right,transparent 0px, transparent calc(var(--md-sys-slider-thumb-space) + 1px), var(--md-sys-color-primary) calc(var(--md-sys-slider-thumb-space) + 1px), var(--md-sys-color-primary) calc(var(--md-sys-slider-thumb-space) + 3px), transparent calc(var(--md-sys-slider-thumb-space) + 3px), transparent calc(2 * var(--md-sys-slider-thumb-space) + 4px));
207
- outline: none;
208
- cursor: grabbing;
223
+ &:focus-visible {
224
+ &::-webkit-slider-thumb {
225
+ outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
226
+ }
227
+ &::-moz-range-thumb {
228
+ outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
229
+ }
209
230
  }
210
- &::after {
211
- opacity: 1;
231
+ &:active {
232
+ &::-webkit-slider-thumb {
233
+ background-image: linear-gradient(
234
+ var(--md-sys-slider-track-direction),
235
+ transparent 0px,
236
+ transparent calc(var(--md-sys-slider-thumb-space) + 1px),
237
+ var(--md-sys-color-primary) calc(var(--md-sys-slider-thumb-space) + 1px),
238
+ var(--md-sys-color-primary) calc(var(--md-sys-slider-thumb-space) + 3px),
239
+ transparent calc(var(--md-sys-slider-thumb-space) + 3px),
240
+ transparent calc(2 * var(--md-sys-slider-thumb-space) + 4px)
241
+ );
242
+ outline: none;
243
+ cursor: grabbing;
244
+ }
245
+ &::-moz-range-thumb {
246
+ background-image: linear-gradient(
247
+ var(--md-sys-slider-track-direction),
248
+ transparent 0px,
249
+ transparent calc(var(--md-sys-slider-thumb-space) + 1px),
250
+ var(--md-sys-color-primary) calc(var(--md-sys-slider-thumb-space) + 1px),
251
+ var(--md-sys-color-primary) calc(var(--md-sys-slider-thumb-space) + 3px),
252
+ transparent calc(var(--md-sys-slider-thumb-space) + 3px),
253
+ transparent calc(2 * var(--md-sys-slider-thumb-space) + 4px)
254
+ );
255
+ outline: none;
256
+ cursor: grabbing;
257
+ }
212
258
  }
213
259
  }
214
260
  }
215
261
 
216
- .micl-slider__container:has(.micl-slider-m,.micl-slider-l,.micl-slider-xl) {
262
+ .micl-slider__container {
217
263
  display: grid;
218
264
  grid-template-areas: "slidericon";
219
265
  flex-shrink: 0;
220
266
  align-items: center;
221
267
  justify-items: flex-start;
268
+ background-color: inherit;
222
269
 
223
- .micl-slider__icon {
224
- grid-area: slidericon;
225
- inset: 0;
226
- margin: 6px;
227
- font-size: 24px;
228
- color: var(--md-sys-color-on-primary);
229
- z-index: 1;
230
-
270
+ &:has(> .micl-slider-m,> .micl-slider-l,> .micl-slider-xl) {
271
+ .micl-slider__icon {
272
+ grid-area: slidericon;
273
+ inset: 0;
274
+ margin: 6px;
275
+ font-size: 24px;
276
+ color: var(--md-sys-color-on-primary);
277
+ z-index: 1;
278
+ }
231
279
  }
232
- input[type=range].micl-slider-m,
233
- input[type=range].micl-slider-l,
234
- input[type=range].micl-slider-xl {
280
+ &> input[type=range] {
235
281
  grid-area: slidericon;
236
282
  }
237
283
  .micl-slider__icon:has(+ input[type=range].micl-slider-xl),
@@ -241,21 +287,66 @@ input[type=range].micl-slider-xl {
241
287
  }
242
288
  }
243
289
 
244
- [dir=rtl] input[type=range].micl-slider-xs.micl-slider--vertical,
245
- [dir=rtl] input[type=range].micl-slider-s.micl-slider--vertical,
246
- [dir=rtl] input[type=range].micl-slider-m.micl-slider--vertical,
247
- [dir=rtl] input[type=range].micl-slider-l.micl-slider--vertical,
248
- [dir=rtl] input[type=range].micl-slider-xl.micl-slider--vertical {
249
- writing-mode: sideways-rl;
250
- &::after {
251
- transform: rotate(-90deg);
290
+ @supports (-moz-appearance:none) {
291
+ .micl-slider__container {
292
+ &:has(> input[type=range]) {
293
+ position: relative;
294
+
295
+ &::after {
296
+ @include typography.label-medium;
297
+ --md-sys-slider-tip-space: 4px;
298
+
299
+ content: var(--md-sys-slider-tip);
300
+ box-sizing: border-box;
301
+ position: absolute;
302
+ inline-size: fit-content;
303
+ min-inline-size: 48px;
304
+ block-size: 40px;
305
+ inset: 0;
306
+ inset-block-start: calc(-1 * ((var(--md-sys-slider-handle-height) - var(--md-sys-slider-track-height)) / 2) - 40px - var(--md-sys-slider-tip-space));
307
+ inset-inline-start: calc(-16px + (100% - 16px) * (var(--md-sys-slider-value) - var(--md-sys-slider-min)) / (var(--md-sys-slider-max) - var(--md-sys-slider-min)));
308
+ padding-block: 12px;
309
+ padding-inline: 16px;
310
+ border-radius: 20px;
311
+ background-color: var(--md-sys-color-inverse-surface);
312
+ color: var(--md-sys-color-inverse-on-surface);
313
+ text-align: center;
314
+ opacity: 0;
315
+ z-index: 3;
316
+ transition: opacity var(--md-sys-motion-duration-long2) motion.$md-sys-motion-easing-emphasized-decelerate;
317
+ }
318
+ }
319
+ &:has(> input[type=range]:not(:disabled):active)::after,
320
+ &:has(> input[type=range]:not(:disabled):focus)::after,
321
+ &:has(> input[type=range]:not(:disabled):focus-visible)::after {
322
+ opacity: 1;
323
+ }
324
+ &:has(> input[type=range].micl-slider--vertical) {
325
+ --md-sys-slider-track-direction: to top;
326
+ writing-mode: sideways-lr;
327
+
328
+ &::after {
329
+ --md-sys-slider-tip-space: 8px;
330
+ transform: rotate(90deg);
331
+ }
332
+ }
252
333
  }
253
334
  }
254
335
 
255
- [dir=rtl] input[type=range].micl-slider-xs:not(.micl-slider--vertical),
256
- [dir=rtl] input[type=range].micl-slider-s:not(.micl-slider--vertical),
257
- [dir=rtl] input[type=range].micl-slider-m:not(.micl-slider--vertical),
258
- [dir=rtl] input[type=range].micl-slider-l:not(.micl-slider--vertical),
259
- [dir=rtl] input[type=range].micl-slider-xl:not(.micl-slider--vertical) {
260
- --md-sys-slider-track-direction: to left;
336
+ [dir=rtl] {
337
+ input[type=range].micl-slider--vertical,
338
+ .micl-slider__container:has(> input[type=range].micl-slider--vertical) {
339
+ writing-mode: sideways-rl;
340
+
341
+ &::after {
342
+ transform: rotate(-90deg);
343
+ }
344
+ }
345
+ input[type=range].micl-slider-xs:not(.micl-slider--vertical),
346
+ input[type=range].micl-slider-s:not(.micl-slider--vertical),
347
+ input[type=range].micl-slider-m:not(.micl-slider--vertical),
348
+ input[type=range].micl-slider-l:not(.micl-slider--vertical),
349
+ input[type=range].micl-slider-xl:not(.micl-slider--vertical) {
350
+ --md-sys-slider-track-direction: to left;
351
+ }
261
352
  }
@@ -20,19 +20,17 @@
20
20
  // SOFTWARE.
21
21
 
22
22
  export const sliderSelector = 'input[type=range].micl-slider-xs,input[type=range].micl-slider-s,input[type=range].micl-slider-m,input[type=range].micl-slider-l,input[type=range].micl-slider-xl';
23
+
23
24
  export default (() =>
24
25
  {
25
26
  const
26
27
  tick = String.fromCharCode(8226),
27
28
  blank = String.fromCharCode(8201),
28
- getTickValues = (element: HTMLInputElement): number[] =>
29
+ getTickValues = (element: HTMLInputElement, max: number, min: number): number[] =>
29
30
  {
30
- const
31
- values: number[] = [],
32
- max = parseFloat(element.max),
33
- min = parseFloat(element.min);
31
+ const values: number[] = [];
34
32
 
35
- if (!!element.list && !isNaN(max) && !isNaN(min) && (max > min)) {
33
+ if (!!element.list && (max > min)) {
36
34
  element.list.querySelectorAll<HTMLOptionElement>('option[value]').forEach(option =>
37
35
  {
38
36
  let value = parseFloat(option.value);
@@ -42,28 +40,71 @@ export default (() =>
42
40
  });
43
41
  }
44
42
  return values;
43
+ },
44
+ getWrapper = (element: HTMLInputElement): null | HTMLElement =>
45
+ {
46
+ return element.parentElement?.classList.contains('micl-slider__container') ?
47
+ element.parentElement : null;
48
+ },
49
+ setMax = (element: HTMLInputElement): void =>
50
+ {
51
+ let max = element.max || '100';
52
+ getWrapper(element)?.style.setProperty('--md-sys-slider-max', max);
53
+ element.style.setProperty('--md-sys-slider-max', max);
54
+ },
55
+ setMin = (element: HTMLInputElement): void =>
56
+ {
57
+ let min = element.min || '0';
58
+ getWrapper(element)?.style.setProperty('--md-sys-slider-min', min);
59
+ element.style.setProperty('--md-sys-slider-min', min);
60
+ },
61
+ setTickString = (element: HTMLInputElement, tickString: string): void =>
62
+ {
63
+ // getWrapper(element)?.dataset.miclsliderticks = tickString;
64
+ element.dataset.miclsliderticks = tickString;
65
+ },
66
+ setValue = (element: HTMLInputElement): void =>
67
+ {
68
+ let tip = JSON.stringify(element.value + ''),
69
+ wrapper = getWrapper(element);
70
+ if (wrapper) {
71
+ wrapper.style.setProperty('--md-sys-slider-value', element.value);
72
+ wrapper.style.setProperty('--md-sys-slider-tip', tip);
73
+ }
74
+ element.style.setProperty('--md-sys-slider-value', element.value);
75
+ element.style.setProperty('--md-sys-slider-tip', tip);
76
+ },
77
+ setVars = (element: HTMLInputElement): void =>
78
+ {
79
+ let wrapper = getWrapper(element);
80
+ if (wrapper) {
81
+ const computedStyles = window.getComputedStyle(element);
82
+ ['--md-sys-slider-handle-height', '--md-sys-slider-track-height'].forEach(name => {
83
+ wrapper.style.setProperty(name, computedStyles.getPropertyValue(name));
84
+ });
85
+ }
45
86
  };
46
87
 
47
88
  return {
48
- initialize: (element: HTMLInputElement) =>
89
+ initialize: (element: HTMLInputElement): void =>
49
90
  {
50
- element.style.setProperty('--md-sys-slider-max', element.max || '100');
51
- element.style.setProperty('--md-sys-slider-min', element.min || '0');
52
- element.style.setProperty('--md-sys-slider-value', element.value);
53
- element.style.setProperty('--md-sys-slider-tip', JSON.stringify(element.value + ''));
54
-
55
- const rect = element.getBoundingClientRect(),
56
- e = document.elementFromPoint(Math.max(rect.x - 1, 0), Math.max(rect.y - 1, 0));
57
- if (e) {
58
- element.style.color = window.getComputedStyle(e).getPropertyValue('background-color');
91
+ if (!element.matches(sliderSelector)) {
92
+ return;
59
93
  }
60
94
 
95
+ setMax(element);
96
+ setMin(element);
97
+ setValue(element);
98
+ setVars(element);
99
+
61
100
  const
62
- max = parseFloat(element.max),
63
- min = parseFloat(element.min),
64
- percentages = getTickValues(element).sort((a, b) => a - b).map(value => {
101
+ max = parseFloat(element.max),
102
+ min = parseFloat(element.min),
103
+ rect = element.getBoundingClientRect(),
104
+ percentages = getTickValues(element, max, min).sort((a, b) => a - b).map(value => {
65
105
  return Math.round(100 * (value - min) / (max - min));
66
106
  });
107
+
67
108
  if (percentages.length > 0) {
68
109
  const
69
110
  canvas = document.createElement('canvas'),
@@ -87,28 +128,23 @@ export default (() =>
87
128
  tickString += tick;
88
129
  currentWidth += tickWidth;
89
130
  });
90
- element.dataset.miclsliderticks = tickString;
131
+ setTickString(element, tickString);
91
132
  }
92
133
  canvas.remove();
93
134
  }
94
135
  else {
95
- element.dataset.miclsliderticks = tick;
136
+ setTickString(element, tick);
96
137
  }
97
138
  },
98
- input: (event: Event) =>
139
+ input: (event: Event): void =>
99
140
  {
100
141
  if (
101
- !(event.target as Element).matches(
102
- '.micl-slider-xs,.micl-slider-s,.micl-slider-m,.micl-slider-l,.micl-slider-xl'
103
- )
104
- || !(event.target instanceof HTMLInputElement)
105
- || (event.target as HTMLInputElement).disabled
142
+ (event.target as Element).matches(sliderSelector)
143
+ && event.target instanceof HTMLInputElement
144
+ && !event.target.disabled
106
145
  ) {
107
- return;
146
+ setValue(event.target);
108
147
  }
109
-
110
- event.target.style.setProperty('--md-sys-slider-value', event.target.value);
111
- event.target.style.setProperty('--md-sys-slider-tip', JSON.stringify(event.target.value + ''));
112
148
  }
113
149
  };
114
150
  })();
@@ -15,11 +15,11 @@ To add a basic switch, use the `<input type="checkbox">` element with the `micl-
15
15
  Import the switch styles into your project:
16
16
 
17
17
  ```CSS
18
- @use "material-inspired-component-library/components/switch";
18
+ @use "material-inspired-component-library/dist/switch";
19
19
  ```
20
20
 
21
- ### TypeScript
22
- No custom TypeScript is required for the core functionality of this component.
21
+ ### JavaScript
22
+ No custom JavaScript is required for the core functionality of this component.
23
23
 
24
24
  ### Demo
25
25
  A live example of the [Switch component](https://henkpb.github.io/micl/switch.html) is available for you to interact with.
@@ -20,6 +20,9 @@
20
20
  // SOFTWARE.
21
21
 
22
22
  @use '../../styles/motion';
23
+ @use '../../styles/shapes';
24
+ @use '../../styles/statelayer';
25
+ @use '../../styles/typography';
23
26
 
24
27
  input[type=checkbox].micl-switch {
25
28
  --md-sys-switch-target-height: 32px;
@@ -17,22 +17,18 @@ A basic text field can be either `filled` or `outlined`. To create one, use the
17
17
  Import the text field styles into your project:
18
18
 
19
19
  ```CSS
20
- @use "material-inspired-component-library/components/textfield";
20
+ @use "material-inspired-component-library/dist/textfield";
21
21
  ```
22
22
 
23
- ### TypeScript
24
- This component requires a TypeScript module for interactive features like the **character counter**. You can import the specific module and handle initialization manually, or use the main MICL library for automatic initialization.
23
+ ### JavaScript
24
+ This component requires JavaScript for interactive features like the **character counter**:
25
25
 
26
- To manually initialize the component and attach an event listener for the `input` event:
27
-
28
- ```TypeScript
29
- import miclTextField from 'material-inspired-component-library/components/textfield';
30
-
31
- miclTextField.initialize(document.querySelector('.micl-textfield-filled'));
32
-
33
- document.querySelector('.micl-textfield-outlined').addEventListener('input', miclTextField.input);
26
+ ```JavaScript
27
+ import micl from "material-inspired-component-library/dist/micl";
34
28
  ```
35
29
 
30
+ This will initialize any Text field component, including those that will be added to the DOM later on.
31
+
36
32
  ### Demo
37
33
  A live example of the [Text field component](https://henkpb.github.io/micl/textfield.html) is available for you to interact with.
38
34
 
@@ -20,6 +20,8 @@
20
20
  // SOFTWARE.
21
21
 
22
22
  @use '../../styles/motion';
23
+ @use '../../styles/shapes';
24
+ @use '../../styles/statelayer';
23
25
  @use '../../styles/typography';
24
26
 
25
27
  .micl-textfield-filled,
@@ -1 +1 @@
1
- :root{--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: 100ms;--md-sys-motion-duration-short3: 150ms;--md-sys-motion-duration-short4: 200ms;--md-sys-motion-duration-medium1: 250ms;--md-sys-motion-duration-medium2: 300ms;--md-sys-motion-duration-medium3: 350ms;--md-sys-motion-duration-medium4: 400ms;--md-sys-motion-duration-long1: 450ms;--md-sys-motion-duration-long2: 500ms;--md-sys-motion-duration-long3: 550ms;--md-sys-motion-duration-long4: 600ms;--md-sys-motion-duration-extra-long1: 700ms;--md-sys-motion-duration-extra-long2: 800ms;--md-sys-motion-duration-extra-long3: 900ms;--md-sys-motion-duration-extra-long4: 1000ms}dialog.micl-bottomsheet{--md-sys-bottomsheet-height: max-content;--md-sys-bottomsheet-margin: 56px;--md-sys-bottomsheet-padding: 24px;--md-sys-bottomsheet-handle-width: 32px;--md-sys-bottomsheet-handle-height: 4px;box-sizing:border-box;position:fixed;top:auto;bottom:0;height:0;max-height:50vh;width:100%;min-width:100%;margin:72px 0 0 0;padding:0;border:none;border-radius:var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-extra-large) 0 0;background-color:var(--md-sys-color-surface-container-low);box-shadow:var(--md-sys-elevation-level1);opacity:0;overflow-y:hidden;interpolate-size:allow-keywords}dialog.micl-bottomsheet:not(.micl-bottomsheet--resizing){transition:display var(--md-sys-motion-duration-medium1) allow-discrete,overlay var(--md-sys-motion-duration-medium1) allow-discrete,height var(--md-sys-motion-duration-medium1) linear(0, 0.00003 0.08%, 0.00014 0.17%, 0.00029 0.25%, 0.00054 0.34%, 0.00083 0.42%, 0.00121 0.51%, 0.00162 0.59%, 0.00215 0.68%, 0.00267 0.76%, 0.00334 0.85%, 0.00398 0.93%, 0.00478 1.02%, 0.00554 1.1%, 0.00646, 0.00745, 0.00851 1.37%, 0.00951 1.45%, 0.01069, 0.01194, 0.01325, 0.01463, 0.01607, 0.01757, 0.01914, 0.02076, 0.02245, 0.02419 2.35%, 0.0262 2.45%, 0.02807, 0.03, 0.03198 2.72%, 0.03425 2.82%, 0.03636 2.91%, 0.03876 3.01%, 0.04098 3.1%, 0.0435 3.2%, 0.04583 3.29%, 0.04848 3.39%, 0.05369, 0.05913 3.77%, 0.06508, 0.07127, 0.07769, 0.08432 4.57%, 0.09152 4.78%, 0.09859 4.98%, 0.10622, 0.11406, 0.12211 5.611%, 0.13076, 0.13961 6.051%, 0.14658, 0.15367, 0.16087 6.561%, 0.16862, 0.17647, 0.18444, 0.19252 7.281%, 0.20115, 0.20989, 0.21874, 0.22769 8.041%, 0.23721 8.241%, 0.25702 8.651%, 0.2777 9.071%, 0.29569 9.431%, 0.31491 9.811%, 0.33537 10.211%, 0.35705 10.631%, 0.37681 11.011%, 0.3993 11.441%, 0.4818 13.011%, 0.51583 13.661%, 0.55063 14.331%, 0.58146 14.931%, 0.59926 15.282%, 0.61591 15.612%, 0.6319, 0.64775 16.252%, 0.66295 16.562%, 0.6775, 0.69189, 0.70612 17.462%, 0.72204 17.802%, 0.73726, 0.75226 18.462%, 0.76658, 0.78067 19.102%, 0.7941 19.412%, 0.80773 19.732%, 0.8207, 0.83343, 0.84592, 0.85818, 0.87018, 0.88193 21.592%, 0.89307, 0.90396, 0.91462, 0.92503 22.792%, 0.93486 23.082%, 0.94479 23.382%, 0.95416 23.672%, 0.9636 23.972%, 0.97249 24.262%, 0.98144 24.562%, 0.98986, 0.99805 25.143%, 1.00219, 1.00627 25.443%, 1.01003 25.583%, 1.01399, 1.01789, 1.02172 26.033%, 1.02525 26.173%, 1.02897, 1.03262, 1.03622, 1.03975, 1.04322, 1.04663, 1.04999, 1.05328, 1.05651, 1.05968, 1.06279, 1.06584, 1.06883, 1.07176, 1.07463, 1.07745, 1.0802, 1.0829, 1.08554, 1.08813, 1.09065, 1.09312 29.473%, 1.09569 29.633%, 1.09804, 1.10034, 1.10258 30.083%, 1.10491 30.243%, 1.10704 30.393%, 1.10925 30.553%, 1.11127 30.703%, 1.11336 30.863%, 1.11526 31.013%, 1.11724, 1.11915, 1.12101 31.493%, 1.12269 31.643%, 1.12443, 1.12612, 1.12775 32.123%, 1.12893, 1.13008, 1.1312 32.483%, 1.13238 32.613%, 1.13343, 1.13446, 1.13545 32.973%, 1.1365 33.103%, 1.13743 33.223%, 1.1384 33.353%, 1.13927 33.473%, 1.14018 33.603%, 1.14099 33.723%, 1.14183, 1.14264, 1.14342 34.113%, 1.14411 34.233%, 1.14482, 1.1455, 1.14615, 1.14677, 1.14736, 1.14791, 1.14844, 1.14893, 1.14939, 1.14983, 1.15023, 1.15061, 1.15095, 1.15127 36.054%, 1.15158 36.194%, 1.15184 36.324%, 1.15209 36.464%, 1.15229 36.594%, 1.15248 36.734%, 1.15263 36.864%, 1.15276, 1.15286, 1.15293 37.284%, 1.15296 37.414%, 1.15298, 1.15296, 1.15292, 1.15285, 1.15275, 1.15263 38.254%, 1.15246 38.404%, 1.15228 38.544%, 1.15206 38.694%, 1.15183 38.834%, 1.15155, 1.15125, 1.15092, 1.15056, 1.15017, 1.14976, 1.14932, 1.14886 40.034%, 1.14834 40.194%, 1.14783 40.344%, 1.14725 40.504%, 1.14669 40.654%, 1.14607 40.814%, 1.14513 41.044%, 1.14409, 1.143 41.524%, 1.14181, 1.14057, 1.13927 42.274%, 1.13787, 1.13642, 1.13492 43.054%, 1.13331, 1.13166 43.594%, 1.12989, 1.12808 44.154%, 1.12615 44.444%, 1.12412, 1.12203 45.045%, 1.1202, 1.11833 45.565%, 1.11636, 1.11437 46.105%, 1.11228 46.385%, 1.11008 46.675%, 1.10531 47.295%, 1.10085 47.865%, 1.09578 48.505%, 1.09057 49.155%, 1.07579 50.995%, 1.07124 51.565%, 1.06713 52.085%, 1.06251 52.675%, 1.05826 53.225%, 1.05423 53.755%, 1.05041 54.265%, 1.0482, 1.04601, 1.04385 55.166%, 1.04178, 1.03974 55.746%, 1.0378, 1.03588, 1.03399, 1.03213 56.866%, 1.03036 57.136%, 1.02855 57.416%, 1.02683, 1.02514, 1.02348, 1.02185, 1.02024 58.766%, 1.01844, 1.01667, 1.01494, 1.01325, 1.0116 60.316%, 1.01004 60.616%, 1.00847 60.926%, 1.00699 61.226%, 1.0055 61.536%, 1.00409, 1.00273, 1.0014, 1.00011 62.736%, 0.99882 63.046%, 0.9976 63.346%, 0.99639 63.656%, 0.99525 63.956%, 0.99412 64.266%, 0.99306 64.566%, 0.992, 0.99098, 0.99001, 0.98907, 0.98817, 0.98731, 0.98648, 0.98569 67.047%, 0.98492, 0.98418, 0.98349, 0.98283, 0.98221 68.647%, 0.98173 68.907%, 0.98126 69.177%, 0.98083 69.437%, 0.98041, 0.98001, 0.97963, 0.97929 70.517%, 0.97895 70.797%, 0.97865 71.067%, 0.97836, 0.97809, 0.97785, 0.97763 72.187%, 0.97743 72.477%, 0.97725 72.757%, 0.9771, 0.97696, 0.97685 73.627%, 0.97676, 0.97668, 0.97663, 0.97661 74.827%, 0.9766, 0.97661, 0.97664 75.758%, 0.9767 76.078%, 0.97687 76.718%, 0.97713 77.378%, 0.97748 78.058%, 0.97779 78.578%, 0.97815 79.108%, 0.97855 79.648%, 0.97901 80.208%, 0.97953 80.788%, 0.9801 81.388%, 0.98072 82.008%, 0.98141 82.668%, 0.98262 83.758%, 0.98406 84.988%, 0.98549 86.169%, 0.98928 89.259%, 0.99036 90.159%, 0.99134 90.989%, 0.99235 91.869%, 0.99328 92.699%, 0.99415 93.509%, 0.99496 94.289%, 0.9957 95.03%, 0.99639 95.76%, 0.99705 96.48%, 0.99767, 0.99825 97.9%, 0.9988, 0.99931, 0.9998),opacity var(--md-sys-motion-duration-medium1) cubic-bezier(0.3, 0, 0.8, 0.15)}dialog.micl-bottomsheet.micl-bottomsheet--resizing .micl-bottomsheet__headline{cursor:grabbing}dialog.micl-bottomsheet .micl-bottomsheet__headline{box-sizing:border-box;display:flex;align-items:center;width:100%;height:var(--md-sys-target-size);justify-content:center;cursor:grab}dialog.micl-bottomsheet .micl-bottomsheet__headline .micl-bottomsheet__draghandle{box-sizing:content-box;width:var(--md-sys-bottomsheet-handle-width);height:var(--md-sys-bottomsheet-handle-height);padding:16px calc((var(--md-sys-target-size) - var(--md-sys-bottomsheet-handle-width))/2);border:none;border-radius:var(--md-sys-shape-corner-small);background-color:var(--md-sys-color-on-surface-variant);background-clip:content-box;cursor:pointer}dialog.micl-bottomsheet .micl-bottomsheet__headline .micl-bottomsheet__draghandle:focus-visible{outline:var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);outline-offset:var(--md-sys-state-focus-indicator-outer-offset)}dialog.micl-bottomsheet .micl-bottomsheet__content{padding:0 var(--md-sys-bottomsheet-padding) var(--md-sys-bottomsheet-padding) var(--md-sys-bottomsheet-padding)}dialog.micl-bottomsheet::backdrop{background-color:rgba(0,0,0,0);transition:display var(--md-sys-motion-duration-long2) linear allow-discrete,overlay var(--md-sys-motion-duration-long2) linear allow-discrete,background-color var(--md-sys-motion-duration-long2) linear}dialog.micl-bottomsheet:popover-open,dialog.micl-bottomsheet[open]{height:var(--md-sys-bottomsheet-height);opacity:1}dialog.micl-bottomsheet:popover-open:not(.micl-bottomsheet--resizing),dialog.micl-bottomsheet[open]:not(.micl-bottomsheet--resizing){transition:display var(--md-sys-motion-duration-long2) linear allow-discrete,overlay var(--md-sys-motion-duration-long2) linear allow-discrete,height var(--md-sys-motion-duration-long2) linear(0, 0.00003 0.08%, 0.00014 0.17%, 0.00029 0.25%, 0.00054 0.34%, 0.00083 0.42%, 0.00121 0.51%, 0.00162 0.59%, 0.00215 0.68%, 0.00267 0.76%, 0.00334 0.85%, 0.00398 0.93%, 0.00478 1.02%, 0.00554 1.1%, 0.00646, 0.00745, 0.00851 1.37%, 0.00951 1.45%, 0.01069, 0.01194, 0.01325, 0.01463, 0.01607, 0.01757, 0.01914, 0.02076, 0.02245, 0.02419 2.35%, 0.0262 2.45%, 0.02807, 0.03, 0.03198 2.72%, 0.03425 2.82%, 0.03636 2.91%, 0.03876 3.01%, 0.04098 3.1%, 0.0435 3.2%, 0.04583 3.29%, 0.04848 3.39%, 0.05369, 0.05913 3.77%, 0.06508, 0.07127, 0.07769, 0.08432 4.57%, 0.09152 4.78%, 0.09859 4.98%, 0.10622, 0.11406, 0.12211 5.611%, 0.13076, 0.13961 6.051%, 0.14658, 0.15367, 0.16087 6.561%, 0.16862, 0.17647, 0.18444, 0.19252 7.281%, 0.20115, 0.20989, 0.21874, 0.22769 8.041%, 0.23721 8.241%, 0.25702 8.651%, 0.2777 9.071%, 0.29569 9.431%, 0.31491 9.811%, 0.33537 10.211%, 0.35705 10.631%, 0.37681 11.011%, 0.3993 11.441%, 0.4818 13.011%, 0.51583 13.661%, 0.55063 14.331%, 0.58146 14.931%, 0.59926 15.282%, 0.61591 15.612%, 0.6319, 0.64775 16.252%, 0.66295 16.562%, 0.6775, 0.69189, 0.70612 17.462%, 0.72204 17.802%, 0.73726, 0.75226 18.462%, 0.76658, 0.78067 19.102%, 0.7941 19.412%, 0.80773 19.732%, 0.8207, 0.83343, 0.84592, 0.85818, 0.87018, 0.88193 21.592%, 0.89307, 0.90396, 0.91462, 0.92503 22.792%, 0.93486 23.082%, 0.94479 23.382%, 0.95416 23.672%, 0.9636 23.972%, 0.97249 24.262%, 0.98144 24.562%, 0.98986, 0.99805 25.143%, 1.00219, 1.00627 25.443%, 1.01003 25.583%, 1.01399, 1.01789, 1.02172 26.033%, 1.02525 26.173%, 1.02897, 1.03262, 1.03622, 1.03975, 1.04322, 1.04663, 1.04999, 1.05328, 1.05651, 1.05968, 1.06279, 1.06584, 1.06883, 1.07176, 1.07463, 1.07745, 1.0802, 1.0829, 1.08554, 1.08813, 1.09065, 1.09312 29.473%, 1.09569 29.633%, 1.09804, 1.10034, 1.10258 30.083%, 1.10491 30.243%, 1.10704 30.393%, 1.10925 30.553%, 1.11127 30.703%, 1.11336 30.863%, 1.11526 31.013%, 1.11724, 1.11915, 1.12101 31.493%, 1.12269 31.643%, 1.12443, 1.12612, 1.12775 32.123%, 1.12893, 1.13008, 1.1312 32.483%, 1.13238 32.613%, 1.13343, 1.13446, 1.13545 32.973%, 1.1365 33.103%, 1.13743 33.223%, 1.1384 33.353%, 1.13927 33.473%, 1.14018 33.603%, 1.14099 33.723%, 1.14183, 1.14264, 1.14342 34.113%, 1.14411 34.233%, 1.14482, 1.1455, 1.14615, 1.14677, 1.14736, 1.14791, 1.14844, 1.14893, 1.14939, 1.14983, 1.15023, 1.15061, 1.15095, 1.15127 36.054%, 1.15158 36.194%, 1.15184 36.324%, 1.15209 36.464%, 1.15229 36.594%, 1.15248 36.734%, 1.15263 36.864%, 1.15276, 1.15286, 1.15293 37.284%, 1.15296 37.414%, 1.15298, 1.15296, 1.15292, 1.15285, 1.15275, 1.15263 38.254%, 1.15246 38.404%, 1.15228 38.544%, 1.15206 38.694%, 1.15183 38.834%, 1.15155, 1.15125, 1.15092, 1.15056, 1.15017, 1.14976, 1.14932, 1.14886 40.034%, 1.14834 40.194%, 1.14783 40.344%, 1.14725 40.504%, 1.14669 40.654%, 1.14607 40.814%, 1.14513 41.044%, 1.14409, 1.143 41.524%, 1.14181, 1.14057, 1.13927 42.274%, 1.13787, 1.13642, 1.13492 43.054%, 1.13331, 1.13166 43.594%, 1.12989, 1.12808 44.154%, 1.12615 44.444%, 1.12412, 1.12203 45.045%, 1.1202, 1.11833 45.565%, 1.11636, 1.11437 46.105%, 1.11228 46.385%, 1.11008 46.675%, 1.10531 47.295%, 1.10085 47.865%, 1.09578 48.505%, 1.09057 49.155%, 1.07579 50.995%, 1.07124 51.565%, 1.06713 52.085%, 1.06251 52.675%, 1.05826 53.225%, 1.05423 53.755%, 1.05041 54.265%, 1.0482, 1.04601, 1.04385 55.166%, 1.04178, 1.03974 55.746%, 1.0378, 1.03588, 1.03399, 1.03213 56.866%, 1.03036 57.136%, 1.02855 57.416%, 1.02683, 1.02514, 1.02348, 1.02185, 1.02024 58.766%, 1.01844, 1.01667, 1.01494, 1.01325, 1.0116 60.316%, 1.01004 60.616%, 1.00847 60.926%, 1.00699 61.226%, 1.0055 61.536%, 1.00409, 1.00273, 1.0014, 1.00011 62.736%, 0.99882 63.046%, 0.9976 63.346%, 0.99639 63.656%, 0.99525 63.956%, 0.99412 64.266%, 0.99306 64.566%, 0.992, 0.99098, 0.99001, 0.98907, 0.98817, 0.98731, 0.98648, 0.98569 67.047%, 0.98492, 0.98418, 0.98349, 0.98283, 0.98221 68.647%, 0.98173 68.907%, 0.98126 69.177%, 0.98083 69.437%, 0.98041, 0.98001, 0.97963, 0.97929 70.517%, 0.97895 70.797%, 0.97865 71.067%, 0.97836, 0.97809, 0.97785, 0.97763 72.187%, 0.97743 72.477%, 0.97725 72.757%, 0.9771, 0.97696, 0.97685 73.627%, 0.97676, 0.97668, 0.97663, 0.97661 74.827%, 0.9766, 0.97661, 0.97664 75.758%, 0.9767 76.078%, 0.97687 76.718%, 0.97713 77.378%, 0.97748 78.058%, 0.97779 78.578%, 0.97815 79.108%, 0.97855 79.648%, 0.97901 80.208%, 0.97953 80.788%, 0.9801 81.388%, 0.98072 82.008%, 0.98141 82.668%, 0.98262 83.758%, 0.98406 84.988%, 0.98549 86.169%, 0.98928 89.259%, 0.99036 90.159%, 0.99134 90.989%, 0.99235 91.869%, 0.99328 92.699%, 0.99415 93.509%, 0.99496 94.289%, 0.9957 95.03%, 0.99639 95.76%, 0.99705 96.48%, 0.99767, 0.99825 97.9%, 0.9988, 0.99931, 0.9998),opacity var(--md-sys-motion-duration-long2) cubic-bezier(0.05, 0.7, 0.1, 1)}@starting-style{dialog.micl-bottomsheet:popover-open,dialog.micl-bottomsheet[open]{height:0;opacity:0}}@starting-style{dialog.micl-bottomsheet:popover-open::backdrop,dialog.micl-bottomsheet[open]::backdrop{background-color:rgba(0,0,0,0)}}dialog.micl-bottomsheet[open]::backdrop{background-color:rgba(0,0,0,.2)}@media(min-width: 641px){dialog.micl-bottomsheet{width:min(100vw - 2*var(--md-sys-bottomsheet-margin),640px);max-width:640px;min-width:min(100vw - 2*var(--md-sys-bottomsheet-margin),640px);inset-inline-start:calc((100vw - min(100vw - 2*var(--md-sys-bottomsheet-margin),640px))/2 - var(--md-sys-bottomsheet-margin));margin:var(--md-sys-bottomsheet-margin);margin-bottom:0}}
1
+ :root{--md-sys-elevation-level0: rgba(0, 0, 0, 0.2) 0px 0px 0px 0px, rgba(0, 0, 0, 0.14) 0px 0px 0px 0px, rgba(0, 0, 0, 0.12) 0px 0px 0px 0px;--md-sys-elevation-level1: rgba(0, 0, 0, 0.2) 0px 2px 1px -1px, rgba(0, 0, 0, 0.14) 0px 1px 1px 0px, rgba(0, 0, 0, 0.12) 0px 1px 3px 0px;--md-sys-elevation-level2: rgba(0, 0, 0, 0.2) 0px 3px 3px -2px, rgba(0, 0, 0, 0.14) 0px 3px 4px 0px, rgba(0, 0, 0, 0.12) 0px 1px 8px 0px;--md-sys-elevation-level3: rgba(0, 0, 0, 0.2) 0px 3px 5px -1px, rgba(0, 0, 0, 0.14) 0px 6px 10px 0px, rgba(0, 0, 0, 0.12) 0px 1px 18px 0px;--md-sys-elevation-level4: rgba(0, 0, 0, 0.2) 0px 5px 5px -3px, rgba(0, 0, 0, 0.14) 0px 8px 10px 1px, rgba(0, 0, 0, 0.12) 0px 3px 14px 2px;--md-sys-elevation-level5: rgba(0, 0, 0, 0.2) 0px 7px 8px -4px, rgba(0, 0, 0, 0.14) 0px 12px 17px 2px, rgba(0, 0, 0, 0.12) 0px 5px 22px 4px}:root{--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: 100ms;--md-sys-motion-duration-short3: 150ms;--md-sys-motion-duration-short4: 200ms;--md-sys-motion-duration-medium1: 250ms;--md-sys-motion-duration-medium2: 300ms;--md-sys-motion-duration-medium3: 350ms;--md-sys-motion-duration-medium4: 400ms;--md-sys-motion-duration-long1: 450ms;--md-sys-motion-duration-long2: 500ms;--md-sys-motion-duration-long3: 550ms;--md-sys-motion-duration-long4: 600ms;--md-sys-motion-duration-extra-long1: 700ms;--md-sys-motion-duration-extra-long2: 800ms;--md-sys-motion-duration-extra-long3: 900ms;--md-sys-motion-duration-extra-long4: 1000ms}:root{--md-sys-target-size: 48px;--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-state-layer-size: 40px;--md-sys-state-hover-state-layer-opacity: 8%;--md-sys-state-focus-state-layer-opacity: 10%;--md-sys-state-pressed-state-layer-opacity: 10%;--md-sys-state-dragged-state-layer-opacity: 16%;--md-sys-state-focus-indicator-outer-offset: 2px;--md-sys-state-focus-indicator-thickness: 3px}dialog.micl-bottomsheet{--md-sys-bottomsheet-height: max-content;--md-sys-bottomsheet-margin: 56px;--md-sys-bottomsheet-padding: 24px;--md-sys-bottomsheet-handle-width: 32px;--md-sys-bottomsheet-handle-height: 4px;box-sizing:border-box;position:fixed;top:auto;bottom:0;height:0;max-height:50vh;width:100%;min-width:100%;margin:72px 0 0 0;padding:0;border:none;border-radius:var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-extra-large) 0 0;background-color:var(--md-sys-color-surface-container-low);box-shadow:var(--md-sys-elevation-level1);opacity:0;overflow-y:hidden;interpolate-size:allow-keywords}dialog.micl-bottomsheet:not(.micl-bottomsheet--resizing){transition:display var(--md-sys-motion-duration-medium1) allow-discrete,overlay var(--md-sys-motion-duration-medium1) allow-discrete,height var(--md-sys-motion-duration-medium1) linear(0, 0.00003 0.08%, 0.00014 0.17%, 0.00029 0.25%, 0.00054 0.34%, 0.00083 0.42%, 0.00121 0.51%, 0.00162 0.59%, 0.00215 0.68%, 0.00267 0.76%, 0.00334 0.85%, 0.00398 0.93%, 0.00478 1.02%, 0.00554 1.1%, 0.00646, 0.00745, 0.00851 1.37%, 0.00951 1.45%, 0.01069, 0.01194, 0.01325, 0.01463, 0.01607, 0.01757, 0.01914, 0.02076, 0.02245, 0.02419 2.35%, 0.0262 2.45%, 0.02807, 0.03, 0.03198 2.72%, 0.03425 2.82%, 0.03636 2.91%, 0.03876 3.01%, 0.04098 3.1%, 0.0435 3.2%, 0.04583 3.29%, 0.04848 3.39%, 0.05369, 0.05913 3.77%, 0.06508, 0.07127, 0.07769, 0.08432 4.57%, 0.09152 4.78%, 0.09859 4.98%, 0.10622, 0.11406, 0.12211 5.611%, 0.13076, 0.13961 6.051%, 0.14658, 0.15367, 0.16087 6.561%, 0.16862, 0.17647, 0.18444, 0.19252 7.281%, 0.20115, 0.20989, 0.21874, 0.22769 8.041%, 0.23721 8.241%, 0.25702 8.651%, 0.2777 9.071%, 0.29569 9.431%, 0.31491 9.811%, 0.33537 10.211%, 0.35705 10.631%, 0.37681 11.011%, 0.3993 11.441%, 0.4818 13.011%, 0.51583 13.661%, 0.55063 14.331%, 0.58146 14.931%, 0.59926 15.282%, 0.61591 15.612%, 0.6319, 0.64775 16.252%, 0.66295 16.562%, 0.6775, 0.69189, 0.70612 17.462%, 0.72204 17.802%, 0.73726, 0.75226 18.462%, 0.76658, 0.78067 19.102%, 0.7941 19.412%, 0.80773 19.732%, 0.8207, 0.83343, 0.84592, 0.85818, 0.87018, 0.88193 21.592%, 0.89307, 0.90396, 0.91462, 0.92503 22.792%, 0.93486 23.082%, 0.94479 23.382%, 0.95416 23.672%, 0.9636 23.972%, 0.97249 24.262%, 0.98144 24.562%, 0.98986, 0.99805 25.143%, 1.00219, 1.00627 25.443%, 1.01003 25.583%, 1.01399, 1.01789, 1.02172 26.033%, 1.02525 26.173%, 1.02897, 1.03262, 1.03622, 1.03975, 1.04322, 1.04663, 1.04999, 1.05328, 1.05651, 1.05968, 1.06279, 1.06584, 1.06883, 1.07176, 1.07463, 1.07745, 1.0802, 1.0829, 1.08554, 1.08813, 1.09065, 1.09312 29.473%, 1.09569 29.633%, 1.09804, 1.10034, 1.10258 30.083%, 1.10491 30.243%, 1.10704 30.393%, 1.10925 30.553%, 1.11127 30.703%, 1.11336 30.863%, 1.11526 31.013%, 1.11724, 1.11915, 1.12101 31.493%, 1.12269 31.643%, 1.12443, 1.12612, 1.12775 32.123%, 1.12893, 1.13008, 1.1312 32.483%, 1.13238 32.613%, 1.13343, 1.13446, 1.13545 32.973%, 1.1365 33.103%, 1.13743 33.223%, 1.1384 33.353%, 1.13927 33.473%, 1.14018 33.603%, 1.14099 33.723%, 1.14183, 1.14264, 1.14342 34.113%, 1.14411 34.233%, 1.14482, 1.1455, 1.14615, 1.14677, 1.14736, 1.14791, 1.14844, 1.14893, 1.14939, 1.14983, 1.15023, 1.15061, 1.15095, 1.15127 36.054%, 1.15158 36.194%, 1.15184 36.324%, 1.15209 36.464%, 1.15229 36.594%, 1.15248 36.734%, 1.15263 36.864%, 1.15276, 1.15286, 1.15293 37.284%, 1.15296 37.414%, 1.15298, 1.15296, 1.15292, 1.15285, 1.15275, 1.15263 38.254%, 1.15246 38.404%, 1.15228 38.544%, 1.15206 38.694%, 1.15183 38.834%, 1.15155, 1.15125, 1.15092, 1.15056, 1.15017, 1.14976, 1.14932, 1.14886 40.034%, 1.14834 40.194%, 1.14783 40.344%, 1.14725 40.504%, 1.14669 40.654%, 1.14607 40.814%, 1.14513 41.044%, 1.14409, 1.143 41.524%, 1.14181, 1.14057, 1.13927 42.274%, 1.13787, 1.13642, 1.13492 43.054%, 1.13331, 1.13166 43.594%, 1.12989, 1.12808 44.154%, 1.12615 44.444%, 1.12412, 1.12203 45.045%, 1.1202, 1.11833 45.565%, 1.11636, 1.11437 46.105%, 1.11228 46.385%, 1.11008 46.675%, 1.10531 47.295%, 1.10085 47.865%, 1.09578 48.505%, 1.09057 49.155%, 1.07579 50.995%, 1.07124 51.565%, 1.06713 52.085%, 1.06251 52.675%, 1.05826 53.225%, 1.05423 53.755%, 1.05041 54.265%, 1.0482, 1.04601, 1.04385 55.166%, 1.04178, 1.03974 55.746%, 1.0378, 1.03588, 1.03399, 1.03213 56.866%, 1.03036 57.136%, 1.02855 57.416%, 1.02683, 1.02514, 1.02348, 1.02185, 1.02024 58.766%, 1.01844, 1.01667, 1.01494, 1.01325, 1.0116 60.316%, 1.01004 60.616%, 1.00847 60.926%, 1.00699 61.226%, 1.0055 61.536%, 1.00409, 1.00273, 1.0014, 1.00011 62.736%, 0.99882 63.046%, 0.9976 63.346%, 0.99639 63.656%, 0.99525 63.956%, 0.99412 64.266%, 0.99306 64.566%, 0.992, 0.99098, 0.99001, 0.98907, 0.98817, 0.98731, 0.98648, 0.98569 67.047%, 0.98492, 0.98418, 0.98349, 0.98283, 0.98221 68.647%, 0.98173 68.907%, 0.98126 69.177%, 0.98083 69.437%, 0.98041, 0.98001, 0.97963, 0.97929 70.517%, 0.97895 70.797%, 0.97865 71.067%, 0.97836, 0.97809, 0.97785, 0.97763 72.187%, 0.97743 72.477%, 0.97725 72.757%, 0.9771, 0.97696, 0.97685 73.627%, 0.97676, 0.97668, 0.97663, 0.97661 74.827%, 0.9766, 0.97661, 0.97664 75.758%, 0.9767 76.078%, 0.97687 76.718%, 0.97713 77.378%, 0.97748 78.058%, 0.97779 78.578%, 0.97815 79.108%, 0.97855 79.648%, 0.97901 80.208%, 0.97953 80.788%, 0.9801 81.388%, 0.98072 82.008%, 0.98141 82.668%, 0.98262 83.758%, 0.98406 84.988%, 0.98549 86.169%, 0.98928 89.259%, 0.99036 90.159%, 0.99134 90.989%, 0.99235 91.869%, 0.99328 92.699%, 0.99415 93.509%, 0.99496 94.289%, 0.9957 95.03%, 0.99639 95.76%, 0.99705 96.48%, 0.99767, 0.99825 97.9%, 0.9988, 0.99931, 0.9998),opacity var(--md-sys-motion-duration-medium1) cubic-bezier(0.3, 0, 0.8, 0.15)}dialog.micl-bottomsheet.micl-bottomsheet--resizing .micl-bottomsheet__headline{cursor:grabbing}dialog.micl-bottomsheet .micl-bottomsheet__headline{box-sizing:border-box;display:flex;align-items:center;width:100%;height:var(--md-sys-target-size);justify-content:center;cursor:grab}dialog.micl-bottomsheet .micl-bottomsheet__headline .micl-bottomsheet__draghandle{box-sizing:content-box;width:var(--md-sys-bottomsheet-handle-width);height:var(--md-sys-bottomsheet-handle-height);padding:16px calc((var(--md-sys-target-size) - var(--md-sys-bottomsheet-handle-width))/2);border:none;border-radius:var(--md-sys-shape-corner-small);background-color:var(--md-sys-color-on-surface-variant);background-clip:content-box;cursor:pointer}dialog.micl-bottomsheet .micl-bottomsheet__headline .micl-bottomsheet__draghandle:focus-visible{outline:var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);outline-offset:var(--md-sys-state-focus-indicator-outer-offset)}dialog.micl-bottomsheet .micl-bottomsheet__content{padding:0 var(--md-sys-bottomsheet-padding) var(--md-sys-bottomsheet-padding) var(--md-sys-bottomsheet-padding)}dialog.micl-bottomsheet::backdrop{background-color:rgba(0,0,0,0);transition:display var(--md-sys-motion-duration-long2) linear allow-discrete,overlay var(--md-sys-motion-duration-long2) linear allow-discrete,background-color var(--md-sys-motion-duration-long2) linear}dialog.micl-bottomsheet:popover-open,dialog.micl-bottomsheet[open]{height:var(--md-sys-bottomsheet-height);opacity:1}dialog.micl-bottomsheet:popover-open:not(.micl-bottomsheet--resizing),dialog.micl-bottomsheet[open]:not(.micl-bottomsheet--resizing){transition:display var(--md-sys-motion-duration-long2) linear allow-discrete,overlay var(--md-sys-motion-duration-long2) linear allow-discrete,height var(--md-sys-motion-duration-long2) linear(0, 0.00003 0.08%, 0.00014 0.17%, 0.00029 0.25%, 0.00054 0.34%, 0.00083 0.42%, 0.00121 0.51%, 0.00162 0.59%, 0.00215 0.68%, 0.00267 0.76%, 0.00334 0.85%, 0.00398 0.93%, 0.00478 1.02%, 0.00554 1.1%, 0.00646, 0.00745, 0.00851 1.37%, 0.00951 1.45%, 0.01069, 0.01194, 0.01325, 0.01463, 0.01607, 0.01757, 0.01914, 0.02076, 0.02245, 0.02419 2.35%, 0.0262 2.45%, 0.02807, 0.03, 0.03198 2.72%, 0.03425 2.82%, 0.03636 2.91%, 0.03876 3.01%, 0.04098 3.1%, 0.0435 3.2%, 0.04583 3.29%, 0.04848 3.39%, 0.05369, 0.05913 3.77%, 0.06508, 0.07127, 0.07769, 0.08432 4.57%, 0.09152 4.78%, 0.09859 4.98%, 0.10622, 0.11406, 0.12211 5.611%, 0.13076, 0.13961 6.051%, 0.14658, 0.15367, 0.16087 6.561%, 0.16862, 0.17647, 0.18444, 0.19252 7.281%, 0.20115, 0.20989, 0.21874, 0.22769 8.041%, 0.23721 8.241%, 0.25702 8.651%, 0.2777 9.071%, 0.29569 9.431%, 0.31491 9.811%, 0.33537 10.211%, 0.35705 10.631%, 0.37681 11.011%, 0.3993 11.441%, 0.4818 13.011%, 0.51583 13.661%, 0.55063 14.331%, 0.58146 14.931%, 0.59926 15.282%, 0.61591 15.612%, 0.6319, 0.64775 16.252%, 0.66295 16.562%, 0.6775, 0.69189, 0.70612 17.462%, 0.72204 17.802%, 0.73726, 0.75226 18.462%, 0.76658, 0.78067 19.102%, 0.7941 19.412%, 0.80773 19.732%, 0.8207, 0.83343, 0.84592, 0.85818, 0.87018, 0.88193 21.592%, 0.89307, 0.90396, 0.91462, 0.92503 22.792%, 0.93486 23.082%, 0.94479 23.382%, 0.95416 23.672%, 0.9636 23.972%, 0.97249 24.262%, 0.98144 24.562%, 0.98986, 0.99805 25.143%, 1.00219, 1.00627 25.443%, 1.01003 25.583%, 1.01399, 1.01789, 1.02172 26.033%, 1.02525 26.173%, 1.02897, 1.03262, 1.03622, 1.03975, 1.04322, 1.04663, 1.04999, 1.05328, 1.05651, 1.05968, 1.06279, 1.06584, 1.06883, 1.07176, 1.07463, 1.07745, 1.0802, 1.0829, 1.08554, 1.08813, 1.09065, 1.09312 29.473%, 1.09569 29.633%, 1.09804, 1.10034, 1.10258 30.083%, 1.10491 30.243%, 1.10704 30.393%, 1.10925 30.553%, 1.11127 30.703%, 1.11336 30.863%, 1.11526 31.013%, 1.11724, 1.11915, 1.12101 31.493%, 1.12269 31.643%, 1.12443, 1.12612, 1.12775 32.123%, 1.12893, 1.13008, 1.1312 32.483%, 1.13238 32.613%, 1.13343, 1.13446, 1.13545 32.973%, 1.1365 33.103%, 1.13743 33.223%, 1.1384 33.353%, 1.13927 33.473%, 1.14018 33.603%, 1.14099 33.723%, 1.14183, 1.14264, 1.14342 34.113%, 1.14411 34.233%, 1.14482, 1.1455, 1.14615, 1.14677, 1.14736, 1.14791, 1.14844, 1.14893, 1.14939, 1.14983, 1.15023, 1.15061, 1.15095, 1.15127 36.054%, 1.15158 36.194%, 1.15184 36.324%, 1.15209 36.464%, 1.15229 36.594%, 1.15248 36.734%, 1.15263 36.864%, 1.15276, 1.15286, 1.15293 37.284%, 1.15296 37.414%, 1.15298, 1.15296, 1.15292, 1.15285, 1.15275, 1.15263 38.254%, 1.15246 38.404%, 1.15228 38.544%, 1.15206 38.694%, 1.15183 38.834%, 1.15155, 1.15125, 1.15092, 1.15056, 1.15017, 1.14976, 1.14932, 1.14886 40.034%, 1.14834 40.194%, 1.14783 40.344%, 1.14725 40.504%, 1.14669 40.654%, 1.14607 40.814%, 1.14513 41.044%, 1.14409, 1.143 41.524%, 1.14181, 1.14057, 1.13927 42.274%, 1.13787, 1.13642, 1.13492 43.054%, 1.13331, 1.13166 43.594%, 1.12989, 1.12808 44.154%, 1.12615 44.444%, 1.12412, 1.12203 45.045%, 1.1202, 1.11833 45.565%, 1.11636, 1.11437 46.105%, 1.11228 46.385%, 1.11008 46.675%, 1.10531 47.295%, 1.10085 47.865%, 1.09578 48.505%, 1.09057 49.155%, 1.07579 50.995%, 1.07124 51.565%, 1.06713 52.085%, 1.06251 52.675%, 1.05826 53.225%, 1.05423 53.755%, 1.05041 54.265%, 1.0482, 1.04601, 1.04385 55.166%, 1.04178, 1.03974 55.746%, 1.0378, 1.03588, 1.03399, 1.03213 56.866%, 1.03036 57.136%, 1.02855 57.416%, 1.02683, 1.02514, 1.02348, 1.02185, 1.02024 58.766%, 1.01844, 1.01667, 1.01494, 1.01325, 1.0116 60.316%, 1.01004 60.616%, 1.00847 60.926%, 1.00699 61.226%, 1.0055 61.536%, 1.00409, 1.00273, 1.0014, 1.00011 62.736%, 0.99882 63.046%, 0.9976 63.346%, 0.99639 63.656%, 0.99525 63.956%, 0.99412 64.266%, 0.99306 64.566%, 0.992, 0.99098, 0.99001, 0.98907, 0.98817, 0.98731, 0.98648, 0.98569 67.047%, 0.98492, 0.98418, 0.98349, 0.98283, 0.98221 68.647%, 0.98173 68.907%, 0.98126 69.177%, 0.98083 69.437%, 0.98041, 0.98001, 0.97963, 0.97929 70.517%, 0.97895 70.797%, 0.97865 71.067%, 0.97836, 0.97809, 0.97785, 0.97763 72.187%, 0.97743 72.477%, 0.97725 72.757%, 0.9771, 0.97696, 0.97685 73.627%, 0.97676, 0.97668, 0.97663, 0.97661 74.827%, 0.9766, 0.97661, 0.97664 75.758%, 0.9767 76.078%, 0.97687 76.718%, 0.97713 77.378%, 0.97748 78.058%, 0.97779 78.578%, 0.97815 79.108%, 0.97855 79.648%, 0.97901 80.208%, 0.97953 80.788%, 0.9801 81.388%, 0.98072 82.008%, 0.98141 82.668%, 0.98262 83.758%, 0.98406 84.988%, 0.98549 86.169%, 0.98928 89.259%, 0.99036 90.159%, 0.99134 90.989%, 0.99235 91.869%, 0.99328 92.699%, 0.99415 93.509%, 0.99496 94.289%, 0.9957 95.03%, 0.99639 95.76%, 0.99705 96.48%, 0.99767, 0.99825 97.9%, 0.9988, 0.99931, 0.9998),opacity var(--md-sys-motion-duration-long2) cubic-bezier(0.05, 0.7, 0.1, 1)}@starting-style{dialog.micl-bottomsheet:popover-open,dialog.micl-bottomsheet[open]{height:0;opacity:0}}@starting-style{dialog.micl-bottomsheet:popover-open::backdrop,dialog.micl-bottomsheet[open]::backdrop{background-color:rgba(0,0,0,0)}}dialog.micl-bottomsheet[open]::backdrop{background-color:rgba(0,0,0,.2)}@media(min-width: 641px){dialog.micl-bottomsheet{width:min(100vw - 2*var(--md-sys-bottomsheet-margin),640px);max-width:640px;min-width:min(100vw - 2*var(--md-sys-bottomsheet-margin),640px);inset-inline-start:calc((100vw - min(100vw - 2*var(--md-sys-bottomsheet-margin),640px))/2 - var(--md-sys-bottomsheet-margin));margin:var(--md-sys-bottomsheet-margin);margin-bottom:0}}
@@ -0,0 +1 @@
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.micl=o():e.micl=o()}(self,()=>(()=>{"use strict";var e={};return(e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(e),e})());