m3-svelte 5.15.4 → 6.0.0

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 (73) hide show
  1. package/package/buttons/Button.svelte +137 -131
  2. package/package/buttons/ConnectedButtons.svelte +1 -1
  3. package/package/buttons/FAB.svelte +30 -21
  4. package/package/buttons/SplitButton.svelte +30 -21
  5. package/package/containers/BottomSheet.svelte +10 -8
  6. package/package/containers/Card.svelte +15 -13
  7. package/package/containers/Dialog.svelte +36 -45
  8. package/package/containers/Dialog.svelte.d.ts +0 -8
  9. package/package/containers/ListItem.svelte +43 -11
  10. package/package/containers/Menu.svelte +6 -4
  11. package/package/containers/MenuItem.svelte +13 -6
  12. package/package/containers/Snackbar.svelte +49 -45
  13. package/package/containers/Snackbar.svelte.d.ts +4 -17
  14. package/package/containers/SnackbarItem.svelte +9 -7
  15. package/package/containers/StandardSideSheet.svelte +11 -2
  16. package/package/forms/Checkbox.svelte +12 -12
  17. package/package/forms/Chip.svelte +31 -19
  18. package/package/forms/CircularProgress.svelte +3 -3
  19. package/package/forms/CircularProgressEstimate.svelte +2 -2
  20. package/package/forms/DateField.svelte +33 -19
  21. package/package/forms/DateFieldOutlined.svelte +42 -28
  22. package/package/forms/DatePickerDocked.svelte +5 -3
  23. package/package/forms/LinearProgress.svelte +5 -5
  24. package/package/forms/LinearProgressEstimate.svelte +4 -4
  25. package/package/forms/LoadingIndicator.svelte +4 -4
  26. package/package/forms/RadioAnim1.svelte +9 -9
  27. package/package/forms/RadioAnim2.svelte +9 -9
  28. package/package/forms/RadioAnim3.svelte +9 -9
  29. package/package/forms/Select.svelte +46 -36
  30. package/package/forms/SelectOutlined.svelte +47 -37
  31. package/package/forms/Slider.svelte +40 -33
  32. package/package/forms/Switch.svelte +30 -29
  33. package/package/forms/TextField.svelte +44 -27
  34. package/package/forms/TextFieldMultiline.svelte +44 -27
  35. package/package/forms/TextFieldOutlined.svelte +44 -30
  36. package/package/forms/TextFieldOutlinedMultiline.svelte +44 -30
  37. package/package/forms/WavyLinearProgress.svelte +2 -7
  38. package/package/forms/WavyLinearProgressEstimate.svelte +2 -7
  39. package/package/forms/_picker/CalendarPicker.svelte +9 -2
  40. package/package/forms/_picker/FocusPicker.svelte +9 -7
  41. package/package/forms/_picker/Header.svelte +12 -5
  42. package/package/forms/_picker/Item.svelte +15 -8
  43. package/package/index.d.ts +4 -8
  44. package/package/index.js +4 -7
  45. package/package/{utils → misc}/Divider.svelte +1 -1
  46. package/package/misc/Icon.svelte +0 -4
  47. package/package/misc/Layer.svelte +1 -1
  48. package/package/{utils → misc}/badge.js +8 -5
  49. package/package/misc/recommended-styles.css +12 -10
  50. package/package/misc/styles.css +183 -250
  51. package/package/misc/tailwind-styles.css +199 -107
  52. package/package/misc/utils.js +2 -4
  53. package/package/nav/NavCMLX.svelte +65 -29
  54. package/package/nav/NavCMLX.svelte.d.ts +1 -1
  55. package/package/nav/NavCMLXItem.svelte +359 -188
  56. package/package/nav/NavCMLXItem.svelte.d.ts +4 -7
  57. package/package/nav/Tabs.svelte +19 -10
  58. package/package/nav/TabsLink.svelte +19 -10
  59. package/package/nav/VariableTabs.svelte +18 -9
  60. package/package/nav/VariableTabsLink.svelte +18 -9
  61. package/package.json +16 -13
  62. package/package/containers/NewSnackbar.svelte +0 -113
  63. package/package/containers/NewSnackbar.svelte.d.ts +0 -7
  64. package/package/forms/CircularProgressIndeterminate.svelte +0 -62
  65. package/package/forms/CircularProgressIndeterminate.svelte.d.ts +0 -5
  66. package/package/forms/LinearProgressIndeterminate.svelte +0 -55
  67. package/package/forms/LinearProgressIndeterminate.svelte.d.ts +0 -5
  68. package/package/forms/SliderTicks.svelte +0 -12
  69. package/package/forms/SliderTicks.svelte.d.ts +0 -18
  70. /package/package/{utils → misc}/ChipChooser.svelte +0 -0
  71. /package/package/{utils → misc}/ChipChooser.svelte.d.ts +0 -0
  72. /package/package/{utils → misc}/Divider.svelte.d.ts +0 -0
  73. /package/package/{utils → misc}/badge.d.ts +0 -0
@@ -14,7 +14,7 @@
14
14
  size = "xs",
15
15
  leadingIcon,
16
16
  trailingIcon,
17
- stops: _stops = false,
17
+ stops = false,
18
18
  endStops = true,
19
19
  vertical = false,
20
20
  format = (n: number) => {
@@ -36,8 +36,6 @@
36
36
  vertical?: boolean;
37
37
  format?: (n: number) => string;
38
38
  } & Omit<HTMLInputAttributes, "size"> = $props();
39
- // @ts-expect-error deprecated backwards compatibility with ticks
40
- let stops = $derived(extra.ticks ? true : _stops);
41
39
  let offsetWidth = $state(600);
42
40
  let offsetHeight = $state(600);
43
41
  let inlineSize = $derived(vertical ? offsetHeight : offsetWidth);
@@ -111,15 +109,17 @@
111
109
  {/if}
112
110
  <div class="handle"></div>
113
111
  {#if showValue}
114
- <div class="value m3-font-label-large">{format(value)}</div>
112
+ <div class="value">{format(value)}</div>
115
113
  {/if}
116
114
  </div>
117
115
 
118
116
  <style>
119
- :root {
120
- --m3-slider-track-out-shape: 0.5rem;
121
- --m3-slider-track-in-shape: 0.125rem;
122
- --m3-slider-handle-shape: var(--m3-util-rounding-full);
117
+ @layer tokens {
118
+ :root {
119
+ --m3-slider-track-out-shape: 0.5rem;
120
+ --m3-slider-track-in-shape: 0.125rem;
121
+ --m3-slider-handle-shape: var(--m3-shape-full);
122
+ }
123
123
  }
124
124
 
125
125
  .m3-container {
@@ -142,35 +142,35 @@
142
142
  .m3-container.xs {
143
143
  --track-height: 1rem;
144
144
  --handle-height: 2.75rem;
145
- --track-radius: var(--m3-util-rounding-small);
145
+ --track-radius: var(--m3-shape-small);
146
146
  --icon-size: 0;
147
147
  }
148
148
 
149
149
  .m3-container.s {
150
150
  --track-height: 1.5rem;
151
151
  --handle-height: 2.75rem;
152
- --track-radius: var(--m3-util-rounding-small);
152
+ --track-radius: var(--m3-shape-small);
153
153
  --icon-size: 0;
154
154
  }
155
155
 
156
156
  .m3-container.m {
157
157
  --track-height: 2.5rem;
158
158
  --handle-height: 3.25rem;
159
- --track-radius: var(--m3-util-rounding-medium);
159
+ --track-radius: var(--m3-shape-medium);
160
160
  --icon-size: 1.5rem;
161
161
  }
162
162
 
163
163
  .m3-container.l {
164
164
  --track-height: 3.5rem;
165
165
  --handle-height: 4.25rem;
166
- --track-radius: var(--m3-util-rounding-large);
166
+ --track-radius: var(--m3-shape-large);
167
167
  --icon-size: 1.5rem;
168
168
  }
169
169
 
170
170
  .m3-container.xl {
171
171
  --track-height: 6rem;
172
172
  --handle-height: 6.75rem;
173
- --track-radius: var(--m3-util-rounding-extra-large);
173
+ --track-radius: var(--m3-shape-extra-large);
174
174
  --icon-size: 2rem;
175
175
  }
176
176
 
@@ -183,7 +183,7 @@
183
183
  margin-inline-start: 0.25rem;
184
184
  translate: 0 -50%;
185
185
  pointer-events: none;
186
- color: rgb(var(--m3-scheme-secondary-container));
186
+ color: var(--m3c-secondary-container);
187
187
 
188
188
  &:is(.vertical :global(.leading)) {
189
189
  translate: -50% 0;
@@ -192,7 +192,7 @@
192
192
 
193
193
  .m3-container :global(.leading.pop) {
194
194
  inset-inline-start: var(--handle-right);
195
- color: rgb(var(--m3-scheme-primary));
195
+ color: var(--m3c-primary);
196
196
  }
197
197
 
198
198
  .m3-container :global(.trailing) {
@@ -204,7 +204,7 @@
204
204
  margin-inline-end: 0.25rem;
205
205
  translate: 0 -50%;
206
206
  pointer-events: none;
207
- color: rgb(var(--m3-scheme-primary));
207
+ color: var(--m3c-primary);
208
208
 
209
209
  &:is(.vertical :global(.trailing)) {
210
210
  translate: -50% 0;
@@ -213,7 +213,7 @@
213
213
 
214
214
  .m3-container :global(.trailing.pop) {
215
215
  inset-inline-end: calc(100% - var(--handle-left));
216
- color: rgb(var(--m3-scheme-secondary-container));
216
+ color: var(--m3c-secondary-container);
217
217
  }
218
218
 
219
219
  input {
@@ -244,7 +244,7 @@
244
244
  pointer-events: none;
245
245
  }
246
246
  .track-1 {
247
- background-color: rgb(var(--m3-scheme-primary));
247
+ background-color: var(--m3c-primary);
248
248
  clip-path: inset(
249
249
  0 calc(100% - var(--handle-left)) 0 0 round var(--track-radius)
250
250
  var(--m3-slider-track-in-shape) var(--m3-slider-track-in-shape) var(--track-radius)
@@ -266,14 +266,14 @@
266
266
  background-color: selecteditem;
267
267
  }
268
268
  &:is(input:disabled ~ .track-1) {
269
- background-color: rgb(var(--m3-scheme-on-surface) / 0.38);
269
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
270
270
  @media screen and (forced-colors: active) {
271
271
  background-color: canvastext;
272
272
  }
273
273
  }
274
274
  }
275
275
  .track-2 {
276
- background-color: rgb(var(--m3-scheme-secondary-container));
276
+ background-color: var(--m3c-secondary-container);
277
277
  clip-path: inset(
278
278
  0 0 0 var(--handle-right) round var(--m3-slider-track-in-shape) var(--track-radius)
279
279
  var(--track-radius) var(--m3-slider-track-in-shape)
@@ -295,7 +295,7 @@
295
295
  background-color: canvastext;
296
296
  }
297
297
  &:is(input:disabled ~ .track-2) {
298
- background-color: rgb(var(--m3-scheme-on-surface) / 0.12);
298
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.12);
299
299
  @media screen and (forced-colors: active) {
300
300
  background-color: graytext;
301
301
  }
@@ -305,7 +305,7 @@
305
305
  position: absolute;
306
306
  width: 4px;
307
307
  height: 4px;
308
- border-radius: var(--m3-util-rounding-full);
308
+ border-radius: var(--m3-shape-full);
309
309
  inset-block-start: 50%;
310
310
  inset-inline-start: calc(50% + (100% - 0.5rem - 0.25rem) * var(--x));
311
311
  translate: -50% -50%;
@@ -316,15 +316,15 @@
316
316
  translate: -50% 50%;
317
317
  }
318
318
  &:is(.track-1 > .stop) {
319
- background-color: rgb(var(--m3-scheme-on-primary));
319
+ background-color: var(--m3c-on-primary);
320
320
  &:is(input:disabled ~ .track-1 > .stop) {
321
- background-color: rgb(var(--m3-scheme-inverse-on-surface));
321
+ background-color: var(--m3c-inverse-on-surface);
322
322
  }
323
323
  }
324
324
  &:is(.track-2 > .stop) {
325
- background-color: rgb(var(--m3-scheme-primary));
325
+ background-color: var(--m3c-primary);
326
326
  &:is(input:disabled ~ .track-2 > .stop) {
327
- background-color: rgb(var(--m3-scheme-on-surface) / 0.38);
327
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
328
328
  }
329
329
  }
330
330
  pointer-events: none;
@@ -343,16 +343,16 @@
343
343
  translate: 0 50%;
344
344
  }
345
345
  border-radius: 1.25rem;
346
- background-color: rgb(var(--m3-scheme-primary));
346
+ background-color: var(--m3c-primary);
347
347
 
348
348
  pointer-events: none;
349
- transition: inline-size var(--m3-util-easing);
349
+ transition: inline-size var(--m3-easing);
350
350
 
351
351
  @media screen and (forced-colors: active) {
352
352
  background-color: selecteditem;
353
353
  }
354
354
  &:is(input:disabled ~ .handle) {
355
- background-color: rgb(var(--m3-scheme-on-surface) / 0.38);
355
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
356
356
  @media screen and (forced-colors: active) {
357
357
  background-color: graytext;
358
358
  }
@@ -360,13 +360,20 @@
360
360
  }
361
361
 
362
362
  .value {
363
+
364
+ font-family: var(--m3-font);
365
+ font-size: 0.875rem;
366
+ line-height: 1.429;
367
+ letter-spacing: 0.006rem;
368
+ font-weight: 500;
369
+
363
370
  display: flex;
364
371
  align-items: center;
365
372
  justify-content: center;
366
373
  position: absolute;
367
374
 
368
- background-color: rgb(var(--m3-scheme-inverse-surface));
369
- color: rgb(var(--m3-scheme-inverse-on-surface));
375
+ background-color: var(--m3c-inverse-surface);
376
+ color: var(--m3c-inverse-on-surface);
370
377
  width: 3rem;
371
378
  padding: 0.75rem 1rem;
372
379
  border-radius: var(--m3-slider-handle-shape);
@@ -380,7 +387,7 @@
380
387
 
381
388
  opacity: 0;
382
389
  pointer-events: none;
383
- transition: opacity var(--m3-util-easing);
390
+ transition: opacity var(--m3-easing);
384
391
  z-index: 1;
385
392
  @media screen and (forced-colors: active) {
386
393
  border: 2px solid selecteditem;
@@ -395,7 +402,7 @@
395
402
 
396
403
  input:focus-visible ~ .handle {
397
404
  outline: solid;
398
- outline-color: rgb(var(--m3-scheme-on-secondary-container));
405
+ outline-color: var(--m3c-on-secondary-container);
399
406
  outline-width: 4px;
400
407
  outline-offset: 5px;
401
408
  z-index: 2;
@@ -68,9 +68,11 @@
68
68
  </div>
69
69
 
70
70
  <style>
71
- :root {
72
- --m3-switch-track-shape: var(--m3-util-rounding-full);
73
- --m3-switch-handle-shape: var(--m3-util-rounding-full);
71
+ @layer tokens {
72
+ :root {
73
+ --m3-switch-track-shape: var(--m3-shape-full);
74
+ --m3-switch-handle-shape: var(--m3-shape-full);
75
+ }
74
76
  }
75
77
  .m3-container {
76
78
  display: inline-flex;
@@ -85,10 +87,10 @@
85
87
  margin: 0;
86
88
  border-radius: var(--m3-switch-track-shape);
87
89
 
88
- background-color: rgb(var(--m3-scheme-surface-container-highest));
89
- border: solid 0.125rem rgb(var(--m3-scheme-outline));
90
+ background-color: var(--m3c-surface-container-highest);
91
+ border: solid 0.125rem var(--m3c-outline);
90
92
  cursor: pointer;
91
- transition: var(--m3-util-easing);
93
+ transition: var(--m3-easing);
92
94
  }
93
95
  .handle {
94
96
  position: absolute;
@@ -96,11 +98,10 @@
96
98
  height: 1rem;
97
99
  border-radius: var(--m3-switch-handle-shape);
98
100
 
99
- background-color: rgb(var(--m3-scheme-outline));
100
- /* Fallback for those without on on primary */
101
- color: rgb(var(--m3-scheme-on-on-primary, var(--m3-scheme-on-primary-container)));
101
+ background-color: var(--m3c-outline);
102
+ color: var(--m3c-on-on-primary);
102
103
  cursor: pointer;
103
- transition: var(--m3-util-easing-fast-spatial);
104
+ transition: var(--m3-easing-fast-spatial);
104
105
 
105
106
  left: 0.5rem;
106
107
  top: 50%;
@@ -114,13 +115,13 @@
114
115
  height: 1rem;
115
116
  opacity: 0;
116
117
  transition:
117
- opacity var(--m3-util-easing-fast-spatial),
118
- scale var(--m3-util-easing-fast-spatial);
118
+ opacity var(--m3-easing-fast-spatial),
119
+ scale var(--m3-easing-fast-spatial);
119
120
  }
120
121
  input:not(:checked) + :global(.handle:has(:nth-child(2))) {
121
122
  scale: 1.5;
122
123
  > :global(svg) {
123
- color: rgb(var(--m3-scheme-surface-container-highest));
124
+ color: var(--m3c-surface-container-highest);
124
125
  scale: 0.667;
125
126
  opacity: 1;
126
127
  }
@@ -135,10 +136,10 @@
135
136
  position: absolute;
136
137
  width: 3rem;
137
138
  height: 3rem;
138
- border-radius: var(--m3-util-rounding-full);
139
+ border-radius: var(--m3-shape-full);
139
140
 
140
141
  cursor: pointer;
141
- transition: var(--m3-util-easing-fast);
142
+ transition: var(--m3-easing-fast);
142
143
 
143
144
  left: 1rem;
144
145
  top: 50%;
@@ -150,26 +151,26 @@
150
151
 
151
152
  .m3-container:hover > input:not(:checked):not(:disabled) + .handle,
152
153
  .m3-container:active > input:not(:checked):not(:disabled) + .handle {
153
- background-color: rgb(var(--m3-scheme-on-surface-variant));
154
+ background-color: var(--m3c-on-surface-variant);
154
155
  }
155
156
  .m3-container:hover > input:enabled:checked + .handle,
156
157
  .m3-container > input:enabled:checked:is(:global(:active, :focus-visible)) + .handle {
157
- background-color: rgb(var(--m3-scheme-primary-container));
158
- color: rgb(var(--m3-scheme-on-primary-container));
158
+ background-color: var(--m3c-primary-container);
159
+ color: var(--m3c-on-primary-container);
159
160
  }
160
161
  .m3-container:hover > input ~ .hover {
161
- background-color: rgb(var(--m3-scheme-on-surface) / 0.08);
162
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.08);
162
163
  }
163
164
  .m3-container:hover > input:checked ~ .hover {
164
- background-color: rgb(var(--m3-scheme-primary) / 0.08);
165
+ background-color: oklab(from var(--m3c-primary) l a b / 0.08);
165
166
  }
166
167
 
167
168
  input:checked {
168
- background-color: rgb(var(--m3-scheme-primary));
169
- border-color: rgb(var(--m3-scheme-primary));
169
+ background-color: var(--m3c-primary);
170
+ border-color: var(--m3c-primary);
170
171
  }
171
172
  input:checked + .handle {
172
- background-color: rgb(var(--m3-scheme-on-primary));
173
+ background-color: var(--m3c-on-primary);
173
174
  scale: 1.5;
174
175
  left: 1.75rem;
175
176
  }
@@ -188,23 +189,23 @@
188
189
  }
189
190
 
190
191
  input:disabled {
191
- background-color: rgb(var(--m3-scheme-surface-container-highest) / 0.12);
192
- border-color: rgb(var(--m3-scheme-outline) / 0.12);
192
+ background-color: oklab(from var(--m3c-surface-container-highest) l a b / 0.12);
193
+ border-color: oklab(from var(--m3c-outline) l a b / 0.12);
193
194
  cursor: auto;
194
195
  }
195
196
  input:disabled:checked {
196
- background-color: rgb(var(--m3-scheme-on-surface) / 0.12);
197
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.12);
197
198
  border-color: transparent;
198
199
  }
199
200
  input:disabled + .handle {
200
- background-color: rgb(var(--m3-scheme-on-surface) / 0.38);
201
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
201
202
  cursor: auto;
202
203
  }
203
204
  input:disabled:checked + .handle {
204
- background-color: rgb(var(--m3-scheme-surface));
205
+ background-color: var(--m3c-surface);
205
206
  }
206
207
  input:disabled:checked + .handle > :global(svg) {
207
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
208
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
208
209
  }
209
210
  input:disabled ~ .hover {
210
211
  display: none;
@@ -35,7 +35,7 @@
35
35
  class:error
36
36
  >
37
37
  <input
38
- class="focus-none m3-font-body-large"
38
+ class="focus-none"
39
39
  placeholder=" "
40
40
  bind:value
41
41
  onkeydown={(e) => e.key == "Enter" && enter?.()}
@@ -43,10 +43,8 @@
43
43
  {disabled}
44
44
  {required}
45
45
  {...extra}
46
- defaultValue={extra.defaultValue}
47
46
  />
48
- <!-- TODO/deprecated: once https://github.com/sveltejs/svelte/pull/16481 is finished, remove the defaultvalue thing -->
49
- <label class="m3-font-body-large" for={id}>{label}</label>
47
+ <label for={id}>{label}</label>
50
48
  <div class="layer"></div>
51
49
  {#if leadingIcon}
52
50
  <Icon icon={leadingIcon} class="leading" />
@@ -61,19 +59,27 @@
61
59
  </div>
62
60
 
63
61
  <style>
64
- :root {
65
- /* "textfield" is deprecated */
66
- --m3-field-filled-shape: var(--m3-textfield-filled-shape, var(--m3-util-rounding-extra-small));
62
+ @layer tokens {
63
+ :root {
64
+ --m3-field-filled-shape: var(--m3-shape-extra-small);
65
+ }
67
66
  }
68
67
 
69
68
  .m3-container {
70
69
  display: inline-flex;
71
70
  position: relative;
72
71
  align-items: center;
73
- height: calc(3.5rem + var(--m3-util-density-term));
72
+ height: calc(3.5rem + (var(--m3v-density) * 0.25rem));
74
73
  min-width: 15rem;
75
74
  }
76
75
  input {
76
+
77
+ font-family: var(--m3-font);
78
+ font-size: 1rem;
79
+ line-height: 1.5;
80
+ letter-spacing: 0;
81
+ font-weight: 400;
82
+
77
83
  position: absolute;
78
84
  inset: 0;
79
85
  width: 100%;
@@ -82,30 +88,41 @@
82
88
  outline: none;
83
89
  padding: 1.5rem 1rem 0.5rem 1rem;
84
90
  border-radius: var(--m3-field-filled-shape) var(--m3-field-filled-shape) 0 0;
85
- background-color: rgb(var(--m3-scheme-surface-container-highest));
86
- color: rgb(var(--m3-scheme-on-surface));
91
+ background-color: var(--m3c-surface-container-highest);
92
+ color: var(--m3c-on-surface);
87
93
  }
88
94
  label {
95
+
96
+ font-family: var(--m3-font);
97
+ font-size: 1rem;
98
+ line-height: 1.5;
99
+ letter-spacing: 0;
100
+ font-weight: 400;
101
+
89
102
  position: absolute;
90
103
  inset-inline-start: 1rem;
91
104
  top: 50%;
92
105
  translate: 0 -50%;
93
- color: rgb(var(--error, var(--m3-scheme-on-surface-variant)));
106
+ color: var(--error, var(--m3c-on-surface-variant));
94
107
  &:is(input:hover ~ label) {
95
- color: rgb(var(--error, var(--m3-scheme-on-surface)));
108
+ color: var(--error, var(--m3c-on-surface));
96
109
  }
97
110
  &:is(input:focus ~ label) {
98
- color: rgb(var(--error, var(--m3-scheme-primary)));
111
+ color: var(--error, var(--m3c-primary));
99
112
  }
100
113
  &:is(input:disabled ~ label) {
101
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
114
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
102
115
  }
103
116
  &:is(input:focus ~ label, input:not(:placeholder-shown) ~ label) {
117
+
118
+ font-family: var(--m3-font);
119
+ font-size: 0.75rem;
120
+ line-height: 1.333;
121
+ letter-spacing: 0.025rem;
122
+ font-weight: 400;
123
+
104
124
  top: 0.5rem;
105
125
  translate: 0 0;
106
- font-size: var(--m3-font-body-small-size);
107
- line-height: var(--m3-font-body-small-height);
108
- letter-spacing: var(--m3-font-body-small-tracking);
109
126
  }
110
127
  pointer-events: none;
111
128
  transition:
@@ -123,7 +140,7 @@
123
140
  pointer-events: none;
124
141
  transition: all 100ms;
125
142
  &:is(input:enabled:hover ~ .layer) {
126
- background-color: rgb(var(--m3-scheme-on-surface) / 0.08);
143
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.08);
127
144
  }
128
145
  }
129
146
  .layer::after {
@@ -134,13 +151,13 @@
134
151
  bottom: 0;
135
152
 
136
153
  height: 1px;
137
- background-color: rgb(var(--error, var(--m3-scheme-on-surface-variant)));
154
+ background-color: var(--error, var(--m3c-on-surface-variant));
138
155
  transition: all 100ms;
139
156
  }
140
157
  .m3-container :global(svg) {
141
158
  width: 1.5rem;
142
159
  height: 1.5rem;
143
- color: rgb(var(--m3-scheme-on-surface-variant));
160
+ color: var(--m3c-on-surface-variant);
144
161
  pointer-events: none;
145
162
  }
146
163
  .m3-container > :global(.leading) {
@@ -166,7 +183,7 @@
166
183
 
167
184
  input:focus ~ .layer::after {
168
185
  height: 0.125rem;
169
- background-color: rgb(var(--error, var(--m3-scheme-primary)));
186
+ background-color: var(--error, var(--m3c-primary));
170
187
  }
171
188
 
172
189
  .leading-icon > input {
@@ -179,21 +196,21 @@
179
196
  padding-inline-end: 3.25rem;
180
197
  }
181
198
  .error {
182
- --error: var(--m3-scheme-error);
199
+ --error: var(--m3c-error);
183
200
  }
184
201
  .error > input:hover ~ label,
185
202
  .error > input:hover ~ .layer {
186
- --error: var(--m3-scheme-on-error-container);
203
+ --error: var(--m3c-on-error-container);
187
204
  }
188
205
  input:disabled {
189
- background-color: rgb(var(--m3-scheme-on-surface) / 0.04);
190
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
206
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.04);
207
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
191
208
  }
192
209
  input:disabled ~ .layer::after {
193
- background-color: rgb(var(--m3-scheme-on-surface) / 0.38);
210
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
194
211
  }
195
212
  input:disabled ~ :global(svg) {
196
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
213
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
197
214
  }
198
215
 
199
216
  .m3-container {