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
@@ -46,8 +46,8 @@
46
46
  inset: -0.6875rem;
47
47
  width: 2.5rem;
48
48
  height: 2.5rem;
49
- border-radius: var(--m3-util-rounding-full);
50
- color: rgb(var(--m3-scheme-on-surface-variant));
49
+ border-radius: var(--m3-shape-full);
50
+ color: var(--m3c-on-surface-variant);
51
51
  cursor: pointer;
52
52
  }
53
53
 
@@ -56,16 +56,16 @@
56
56
  inset: 0.6875rem;
57
57
  border-radius: 0.125rem;
58
58
  border: solid 0.125rem currentColor;
59
- transition: var(--m3-util-easing-fast);
59
+ transition: var(--m3-easing-fast);
60
60
  }
61
61
 
62
62
  svg {
63
63
  position: absolute;
64
64
  inset: 0;
65
- color: rgb(var(--m3-scheme-on-primary));
65
+ color: var(--m3c-on-primary);
66
66
  opacity: 0;
67
67
  pointer-events: none;
68
- transition: var(--m3-util-easing-fast);
68
+ transition: var(--m3-easing-fast);
69
69
  path {
70
70
  stroke-dasharray: 20.874 20.874;
71
71
  stroke-dashoffset: 20.874;
@@ -74,26 +74,26 @@
74
74
  }
75
75
 
76
76
  :global(input:focus-visible) + .layer-container {
77
- color: rgb(var(--m3-scheme-on-surface));
77
+ color: var(--m3c-on-surface);
78
78
  }
79
79
 
80
80
  :global(input:checked) + .layer-container {
81
- color: rgb(var(--m3-scheme-primary));
81
+ color: var(--m3c-primary);
82
82
  }
83
83
  :global(input:checked) + .layer-container .checkbox-box {
84
- background-color: rgb(var(--m3-scheme-primary));
84
+ background-color: var(--m3c-primary);
85
85
  }
86
86
 
87
87
  :global(input:checked) ~ svg {
88
88
  opacity: 1;
89
89
  path {
90
90
  stroke-dashoffset: 0;
91
- transition: stroke-dashoffset var(--m3-util-easing-slow);
91
+ transition: stroke-dashoffset var(--m3-easing-slow);
92
92
  }
93
93
  }
94
94
 
95
95
  :global(input:disabled) + .layer-container {
96
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
96
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
97
97
  cursor: not-allowed;
98
98
  }
99
99
 
@@ -101,11 +101,11 @@
101
101
  color: transparent;
102
102
  }
103
103
  :global(input:disabled:checked) + .layer-container .checkbox-box {
104
- background-color: rgb(var(--m3-scheme-on-surface) / 0.38);
104
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
105
105
  }
106
106
 
107
107
  :global(input:disabled) ~ svg {
108
- color: rgb(var(--m3-scheme-surface));
108
+ color: var(--m3c-surface);
109
109
  }
110
110
 
111
111
  .m3-container {
@@ -39,7 +39,7 @@
39
39
  {#if icon}
40
40
  <Icon {icon} class="leading" />
41
41
  {/if}
42
- <span class="m3-font-label-large">{@render children()}</span>
42
+ <span>{@render children()}</span>
43
43
  {#if trailingIcon}
44
44
  <Icon icon={trailingIcon} class="trailing" />
45
45
  {/if}
@@ -60,8 +60,10 @@
60
60
  {/if}
61
61
 
62
62
  <style>
63
- :root {
64
- --m3-chip-shape: var(--m3-util-rounding-small);
63
+ @layer tokens {
64
+ :root {
65
+ --m3-chip-shape: var(--m3-shape-small);
66
+ }
65
67
  }
66
68
  .m3-container {
67
69
  display: flex;
@@ -71,12 +73,12 @@
71
73
  gap: 0.5rem;
72
74
  align-items: center;
73
75
 
74
- background-color: rgb(var(--m3-scheme-surface));
75
- color: rgb(var(--m3-scheme-on-surface-variant));
76
- border: solid 1px rgb(var(--m3-scheme-outline));
76
+ background-color: var(--m3c-surface);
77
+ color: var(--m3c-on-surface-variant);
78
+ border: solid 1px var(--m3c-outline);
77
79
  position: relative;
78
80
  cursor: pointer;
79
- transition: var(--m3-util-easing-fast);
81
+ transition: var(--m3-easing-fast);
80
82
  }
81
83
 
82
84
  .m3-container > :global(:is(.ripple-container, .tint)) {
@@ -87,7 +89,7 @@
87
89
  height: 1.125rem;
88
90
  }
89
91
  .m3-container:enabled:not(.input):not(.selected) > :global(.leading) {
90
- color: rgb(var(--m3-scheme-primary));
92
+ color: var(--m3c-primary);
91
93
  }
92
94
  .m3-container > :global(.leading) {
93
95
  margin-left: -0.5rem;
@@ -102,21 +104,31 @@
102
104
  margin-right: -0.25rem;
103
105
  }
104
106
 
107
+ span {
108
+
109
+ font-family: var(--m3-font);
110
+ font-size: 0.875rem;
111
+ line-height: 1.429;
112
+ letter-spacing: 0.006rem;
113
+ font-weight: 500;
114
+
115
+ }
116
+
105
117
  .assist {
106
- color: rgb(var(--m3-scheme-on-surface));
118
+ color: var(--m3c-on-surface);
107
119
  }
108
120
  .input {
109
121
  padding: 0 0.75rem;
110
122
  }
111
123
  .elevated {
112
124
  border-color: transparent;
113
- background-color: rgb(var(--m3-scheme-surface-container-low));
114
- box-shadow: var(--m3-util-elevation-1);
125
+ background-color: var(--m3c-surface-container-low);
126
+ box-shadow: var(--m3-elevation-1);
115
127
  }
116
128
  .selected {
117
129
  border-color: transparent;
118
- background-color: rgb(var(--m3-scheme-secondary-container));
119
- color: rgb(var(--m3-scheme-on-secondary-container));
130
+ background-color: var(--m3c-secondary-container);
131
+ color: var(--m3c-on-secondary-container);
120
132
  }
121
133
 
122
134
  .layer {
@@ -125,19 +137,19 @@
125
137
  }
126
138
  @media (hover: hover) {
127
139
  .selected:hover:enabled {
128
- box-shadow: var(--m3-util-elevation-1);
140
+ box-shadow: var(--m3-elevation-1);
129
141
  }
130
142
  .elevated:hover:enabled {
131
- box-shadow: var(--m3-util-elevation-2);
143
+ box-shadow: var(--m3-elevation-2);
132
144
  }
133
145
  }
134
146
 
135
147
  .m3-container:disabled {
136
148
  cursor: auto;
137
149
  box-shadow: none;
138
- border-color: rgb(var(--m3-scheme-on-surface) / 0.12);
139
- background-color: rgb(var(--m3-scheme-surface));
140
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
150
+ border-color: oklab(from var(--m3c-on-surface) l a b / 0.12);
151
+ background-color: var(--m3c-surface);
152
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
141
153
  }
142
154
  .selected:disabled,
143
155
  .elevated:disabled {
@@ -145,7 +157,7 @@
145
157
  }
146
158
  .selected:disabled,
147
159
  .elevated:disabled {
148
- background-color: rgb(var(--m3-scheme-on-surface) / 0.12);
160
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.12);
149
161
  }
150
162
 
151
163
  .m3-container {
@@ -25,7 +25,7 @@
25
25
  cx={size / 2}
26
26
  cy={size / 2}
27
27
  {r}
28
- stroke="rgb(var(--m3-scheme-secondary-container))"
28
+ stroke="var(--m3c-secondary-container)"
29
29
  stroke-width={thickness}
30
30
  fill="none"
31
31
  />
@@ -33,7 +33,7 @@
33
33
  cx={size / 2}
34
34
  cy={size / 2}
35
35
  {r}
36
- stroke="rgb(var(--m3-scheme-primary))"
36
+ stroke="var(--m3c-primary)"
37
37
  stroke-width={thickness}
38
38
  stroke-dasharray="{circumference} {circumference}"
39
39
  stroke-dashoffset={(percent / -100) * circumference + circumference}
@@ -47,6 +47,6 @@
47
47
  rotate: -90deg;
48
48
  }
49
49
  circle {
50
- transition: var(--m3-util-easing-fast);
50
+ transition: var(--m3-easing-fast);
51
51
  }
52
52
  </style>
@@ -32,7 +32,7 @@
32
32
  cx={size / 2}
33
33
  cy={size / 2}
34
34
  {r}
35
- stroke="rgb(var(--m3-scheme-secondary-container))"
35
+ stroke="var(--m3c-secondary-container)"
36
36
  stroke-width={thickness}
37
37
  fill="none"
38
38
  />
@@ -40,7 +40,7 @@
40
40
  cx={size / 2}
41
41
  cy={size / 2}
42
42
  {r}
43
- stroke="rgb(var(--m3-scheme-primary))"
43
+ stroke="var(--m3c-primary)"
44
44
  stroke-width={thickness}
45
45
  stroke-dasharray="{circumference} {circumference}"
46
46
  stroke-linecap="round"
@@ -68,16 +68,14 @@ opacity: ${Math.min(t * 3, 1)};`,
68
68
  >
69
69
  <input
70
70
  type="date"
71
- class="focus-none m3-font-body-large"
71
+ class="focus-none"
72
72
  {disabled}
73
73
  {required}
74
74
  {id}
75
75
  bind:value
76
76
  {...extra}
77
- defaultValue={extra.defaultValue}
78
77
  />
79
- <!-- TODO/deprecated: once https://github.com/sveltejs/svelte/pull/16481 is finished, remove the defaultvalue thing -->
80
- <label class="m3-font-body-small" for={id}>{label}</label>
78
+ <label for={id}>{label}</label>
81
79
  <button type="button" {disabled} title={datePickerTitle} onclick={() => (picker = !picker)}>
82
80
  <Layer />
83
81
  <Icon icon={iconCalendar} size={24} />
@@ -111,19 +109,28 @@ opacity: ${Math.min(t * 3, 1)};`,
111
109
  margin-block-end: 1rem;
112
110
  }
113
111
 
114
- :root {
115
- --m3-datefield-shape: var(--m3-util-rounding-extra-small);
112
+ @layer tokens {
113
+ :root {
114
+ --m3-field-shape: var(--m3-shape-extra-small);
115
+ }
116
116
  }
117
117
  .m3-container {
118
118
  position: relative;
119
- height: calc(3.5rem + var(--m3-util-density-term));
119
+ height: calc(3.5rem + (var(--m3v-density) * 0.25rem));
120
120
  min-width: 15rem;
121
- background-color: rgb(var(--m3-scheme-surface-container-highest));
122
- border-radius: var(--m3-datefield-shape) var(--m3-datefield-shape) 0 0;
123
- border-bottom: solid 1px rgb(var(--error, var(--m3-scheme-on-surface-variant)));
121
+ background-color: var(--m3c-surface-container-highest);
122
+ border-radius: var(--m3-field-shape) var(--m3-field-shape) 0 0;
123
+ border-bottom: solid 1px var(--error, var(--m3c-on-surface-variant));
124
124
  anchor-name: var(--anchor-name);
125
125
  }
126
126
  input {
127
+
128
+ font-family: var(--m3-font);
129
+ font-size: 1rem;
130
+ line-height: 1.5;
131
+ letter-spacing: 0;
132
+ font-weight: 400;
133
+
127
134
  position: absolute;
128
135
  inset: 0;
129
136
  width: 100%;
@@ -142,13 +149,20 @@ opacity: ${Math.min(t * 3, 1)};`,
142
149
  }
143
150
 
144
151
  background-color: transparent;
145
- color: rgb(var(--m3-scheme-on-surface));
152
+ color: var(--m3c-on-surface);
146
153
  }
147
154
  label {
155
+
156
+ font-family: var(--m3-font);
157
+ font-size: 0.75rem;
158
+ line-height: 1.333;
159
+ letter-spacing: 0.025rem;
160
+ font-weight: 400;
161
+
148
162
  position: absolute;
149
163
  inset-inline-start: 1rem;
150
164
  top: 0.5rem;
151
- color: rgb(var(--error, var(--m3-scheme-on-surface-variant)));
165
+ color: var(--error, var(--m3c-on-surface-variant));
152
166
  pointer-events: none;
153
167
  }
154
168
 
@@ -164,27 +178,27 @@ opacity: ${Math.min(t * 3, 1)};`,
164
178
  justify-content: center;
165
179
  border: none;
166
180
  background-color: transparent;
167
- color: rgb(var(--m3-scheme-on-surface-variant));
168
- border-top-right-radius: var(--m3-datefield-shape);
181
+ color: var(--m3c-on-surface-variant);
182
+ border-top-right-radius: var(--m3-field-shape);
169
183
 
170
184
  cursor: pointer;
171
185
  }
172
186
 
173
187
  .m3-container.disabled {
174
- background-color: rgb(var(--m3-scheme-on-surface) / 0.04);
175
- border-bottom-color: rgb(var(--m3-scheme-on-surface) / 0.38);
188
+ background-color: oklab(from var(--m3c-on-surface) l a b / 0.04);
189
+ border-bottom-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
176
190
  }
177
191
  input:disabled,
178
192
  input:disabled + label {
179
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
193
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
180
194
  }
181
195
  button:disabled {
182
- color: rgb(var(--m3-scheme-on-surface-variant) / 0.38);
196
+ color: oklab(from var(--m3c-on-surface-variant) l a b / 0.38);
183
197
  cursor: auto;
184
198
  }
185
199
 
186
200
  .error {
187
- --error: var(--m3-scheme-error);
201
+ --error: var(--m3c-error);
188
202
  }
189
203
 
190
204
  .picker {
@@ -68,17 +68,15 @@ opacity: ${Math.min(t * 3, 1)};`,
68
68
  >
69
69
  <input
70
70
  type="date"
71
- class="focus-none m3-font-body-large"
71
+ class="focus-none"
72
72
  {disabled}
73
73
  {required}
74
74
  {id}
75
75
  bind:value
76
76
  {...extra}
77
- defaultValue={extra.defaultValue}
78
77
  />
79
- <!-- TODO/deprecated: once https://github.com/sveltejs/svelte/pull/16481 is finished, remove the defaultvalue thing -->
80
78
  <div class="layer"></div>
81
- <label class="m3-font-body-small" for={id}>{label}</label>
79
+ <label for={id}>{label}</label>
82
80
  <button type="button" {disabled} title={datePickerTitle} onclick={() => (picker = !picker)}>
83
81
  <Layer />
84
82
  <Icon icon={iconCalendar} size={24} />
@@ -114,19 +112,28 @@ opacity: ${Math.min(t * 3, 1)};`,
114
112
 
115
113
  /*
116
114
  want to customize the label's background?
117
- do this: <DateFieldOutlined --m3-util-background="rgb(var(--m3-scheme-surface-container))" />
115
+ do this: <DateFieldOutlined --m3v-background="var(--m3c-surface-container)" />
118
116
  */
119
- :root {
120
- --m3-datefield-outlined-shape: var(--m3-util-rounding-extra-small);
117
+ @layer tokens {
118
+ :root {
119
+ --m3-field-outlined-shape: var(--m3-shape-extra-small);
120
+ }
121
121
  }
122
122
  .m3-container {
123
123
  display: inline-flex;
124
124
  position: relative;
125
- height: calc(3.5rem + var(--m3-util-density-term));
125
+ height: calc(3.5rem + (var(--m3v-density) * 0.25rem));
126
126
  min-width: 15rem;
127
127
  anchor-name: var(--anchor-name);
128
128
  }
129
129
  input {
130
+
131
+ font-family: var(--m3-font);
132
+ font-size: 1rem;
133
+ line-height: 1.5;
134
+ letter-spacing: 0;
135
+ font-weight: 400;
136
+
130
137
  position: absolute;
131
138
  inset: 0;
132
139
  width: 100%;
@@ -144,26 +151,33 @@ opacity: ${Math.min(t * 3, 1)};`,
144
151
  text-align: right; /* work around chromium bug 41489719 */
145
152
  }
146
153
 
147
- border-radius: var(--m3-datefield-outlined-shape);
154
+ border-radius: var(--m3-field-outlined-shape);
148
155
  background-color: transparent;
149
- color: rgb(var(--m3-scheme-on-surface));
156
+ color: var(--m3c-on-surface);
150
157
  }
151
158
  label {
159
+
160
+ font-family: var(--m3-font);
161
+ font-size: 0.75rem;
162
+ line-height: 1.333;
163
+ letter-spacing: 0.025rem;
164
+ font-weight: 400;
165
+
152
166
  position: absolute;
153
167
  inset-inline-start: 0.75rem;
154
168
  top: 0;
155
169
  translate: 0 -50%;
156
- color: rgb(var(--error, var(--m3-scheme-on-surface-variant)));
157
- background-color: var(--m3-util-background, rgb(var(--m3-scheme-surface)));
170
+ color: var(--error, var(--m3c-on-surface-variant));
171
+ background-color: var(--m3v-background);
158
172
  padding: 0 0.25rem;
159
173
  &:is(input:hover ~ label) {
160
- color: rgb(var(--error, var(--m3-scheme-on-surface)));
174
+ color: var(--error, var(--m3c-on-surface));
161
175
  }
162
176
  &:is(input:focus ~ label) {
163
- color: rgb(var(--error, var(--m3-scheme-primary)));
177
+ color: var(--error, var(--m3c-primary));
164
178
  }
165
179
  &:is(input:disabled ~ label) {
166
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
180
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
167
181
  }
168
182
  pointer-events: none;
169
183
  transition: color 100ms;
@@ -171,19 +185,19 @@ opacity: ${Math.min(t * 3, 1)};`,
171
185
  .layer {
172
186
  position: absolute;
173
187
  inset: 0;
174
- border: 1px solid rgb(var(--error, var(--m3-scheme-outline)));
175
- border-radius: var(--m3-datefield-outlined-shape);
188
+ border: 1px solid var(--error, var(--m3c-outline));
189
+ border-radius: var(--m3-field-outlined-shape);
176
190
  pointer-events: none;
177
191
  transition: all 100ms;
178
192
  &:is(input:hover ~ .layer) {
179
- border-color: rgb(var(--error, var(--m3-scheme-on-surface)));
193
+ border-color: var(--error, var(--m3c-on-surface));
180
194
  }
181
195
  &:is(input:focus ~ .layer) {
182
- border-color: rgb(var(--error, var(--m3-scheme-primary)));
196
+ border-color: var(--error, var(--m3c-primary));
183
197
  border-width: 0.125rem;
184
198
  }
185
199
  &:is(input:disabled ~ .layer) {
186
- border-color: rgb(var(--m3-scheme-on-surface) / 0.38);
200
+ border-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
187
201
  }
188
202
  }
189
203
 
@@ -199,38 +213,38 @@ opacity: ${Math.min(t * 3, 1)};`,
199
213
  justify-content: center;
200
214
  border: none;
201
215
  background-color: transparent;
202
- color: rgb(var(--m3-scheme-on-surface-variant));
203
- border-top-right-radius: var(--m3-datefield-outlined-shape);
216
+ color: var(--m3c-on-surface-variant);
217
+ border-top-right-radius: var(--m3-field-outlined-shape);
204
218
 
205
219
  cursor: pointer;
206
220
  }
207
221
 
208
222
  @media (hover: hover) {
209
223
  button:hover {
210
- background-color: rgb(var(--m3-scheme-on-surface-variant) / 0.08);
224
+ background-color: oklab(from var(--m3c-on-surface-variant) l a b / 0.08);
211
225
  }
212
226
  }
213
227
  button:focus-visible,
214
228
  button:active {
215
- background-color: rgb(var(--m3-scheme-on-surface-variant) / 0.12);
229
+ background-color: oklab(from var(--m3c-on-surface-variant) l a b / 0.12);
216
230
  }
217
231
 
218
232
  .error {
219
- --error: var(--m3-scheme-error);
233
+ --error: var(--m3c-error);
220
234
  }
221
235
  .error > input:hover ~ label,
222
236
  .error > input:hover ~ .layer {
223
- --error: var(--m3-scheme-on-error-container);
237
+ --error: var(--m3c-on-error-container);
224
238
  }
225
239
 
226
240
  .m3-container.disabled {
227
241
  opacity: 0.38;
228
242
  }
229
243
  input:disabled {
230
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
244
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
231
245
  }
232
246
  button:disabled {
233
- color: rgb(var(--m3-scheme-on-surface-variant) / 0.38);
247
+ color: oklab(from var(--m3c-on-surface-variant) l a b / 0.38);
234
248
  cursor: auto;
235
249
  }
236
250
 
@@ -81,8 +81,10 @@
81
81
  </div>
82
82
 
83
83
  <style>
84
- :root {
85
- --m3-date-picker-shape: var(--m3-util-rounding-large);
84
+ @layer tokens {
85
+ :root {
86
+ --m3-date-picker-shape: var(--m3-shape-large);
87
+ }
86
88
  }
87
89
 
88
90
  .m3-container {
@@ -90,7 +92,7 @@
90
92
  position: relative;
91
93
  overflow: hidden;
92
94
  flex-direction: column;
93
- background-color: rgb(var(--m3-scheme-surface-container-high));
95
+ background-color: var(--m3c-surface-container-high);
94
96
  width: 20.5rem;
95
97
  height: 26.75rem;
96
98
  border-radius: var(--m3-date-picker-shape);
@@ -13,14 +13,14 @@
13
13
  gap: 0.25rem;
14
14
  }
15
15
  .percent {
16
- background-color: rgb(var(--m3-scheme-primary));
17
- border-radius: var(--m3-util-rounding-full);
16
+ background-color: var(--m3c-primary);
17
+ border-radius: var(--m3-shape-full);
18
18
  flex-shrink: 0;
19
- transition: var(--m3-util-easing-fast);
19
+ transition: var(--m3-easing-fast);
20
20
  }
21
21
  .track {
22
- background-color: rgb(var(--m3-scheme-secondary-container));
23
- border-radius: var(--m3-util-rounding-full);
22
+ background-color: var(--m3c-secondary-container);
23
+ border-radius: var(--m3-shape-full);
24
24
  flex-grow: 1;
25
25
  }
26
26
  </style>
@@ -83,8 +83,8 @@
83
83
  gap: 0.25rem;
84
84
  }
85
85
  .percent {
86
- background-color: rgb(var(--m3-scheme-primary));
87
- border-radius: var(--m3-util-rounding-full);
86
+ background-color: var(--m3c-primary);
87
+ border-radius: var(--m3-shape-full);
88
88
  flex-shrink: 0;
89
89
  animation: grow
90
90
  linear(
@@ -129,8 +129,8 @@
129
129
  }
130
130
  }
131
131
  .track {
132
- background-color: rgb(var(--m3-scheme-secondary-container));
133
- border-radius: var(--m3-util-rounding-full);
132
+ background-color: var(--m3c-secondary-container);
133
+ border-radius: var(--m3-shape-full);
134
134
  flex-grow: 1;
135
135
  }
136
136
  </style>
@@ -38,11 +38,11 @@
38
38
 
39
39
  <style>
40
40
  svg {
41
- color: rgb(var(--m3-scheme-primary));
41
+ color: var(--m3c-primary);
42
42
  &.container {
43
- background-color: rgb(var(--m3-scheme-primary-container));
44
- color: rgb(var(--m3-scheme-on-primary-container));
45
- border-radius: var(--m3-util-rounding-full);
43
+ background-color: var(--m3c-primary-container);
44
+ color: var(--m3c-on-primary-container);
45
+ border-radius: var(--m3-shape-full);
46
46
  }
47
47
  &.center {
48
48
  margin: auto;
@@ -40,8 +40,8 @@
40
40
  inset: -0.625rem;
41
41
  width: 2.5rem;
42
42
  height: 2.5rem;
43
- border-radius: var(--m3-util-rounding-full);
44
- color: rgb(var(--m3-scheme-on-surface-variant));
43
+ border-radius: var(--m3-shape-full);
44
+ color: var(--m3c-on-surface-variant);
45
45
  cursor: pointer;
46
46
  }
47
47
 
@@ -50,9 +50,9 @@
50
50
  inset: 0.625rem;
51
51
  width: 1.25rem;
52
52
  height: 1.25rem;
53
- border-radius: var(--m3-util-rounding-full);
53
+ border-radius: var(--m3-shape-full);
54
54
  border: solid 0.125rem currentColor;
55
- transition: border var(--m3-util-easing-fast);
55
+ transition: border var(--m3-easing-fast);
56
56
  }
57
57
 
58
58
  .radio-dot {
@@ -61,17 +61,17 @@
61
61
  width: 0.625rem;
62
62
  height: 0.625rem;
63
63
  scale: 0;
64
- border-radius: var(--m3-util-rounding-full);
64
+ border-radius: var(--m3-shape-full);
65
65
  background-color: currentColor;
66
- transition: scale var(--m3-util-easing-fast-spatial);
66
+ transition: scale var(--m3-easing-fast-spatial);
67
67
  }
68
68
 
69
69
  :global(input:focus-visible) + .layer-container {
70
- color: rgb(var(--m3-scheme-on-surface));
70
+ color: var(--m3c-on-surface);
71
71
  }
72
72
 
73
73
  :global(input:checked) + .layer-container {
74
- color: rgb(var(--m3-scheme-primary));
74
+ color: var(--m3c-primary);
75
75
  }
76
76
 
77
77
  :global(input:checked) + .layer-container .radio-dot {
@@ -79,7 +79,7 @@
79
79
  }
80
80
 
81
81
  :global(input:disabled) + .layer-container {
82
- color: rgb(var(--m3-scheme-on-surface) / 0.38);
82
+ color: oklab(from var(--m3c-on-surface) l a b / 0.38);
83
83
  cursor: not-allowed;
84
84
  }
85
85