m3-svelte 5.15.5 → 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.
- package/package/buttons/Button.svelte +137 -131
- package/package/buttons/ConnectedButtons.svelte +1 -1
- package/package/buttons/FAB.svelte +27 -20
- package/package/buttons/SplitButton.svelte +26 -19
- package/package/containers/BottomSheet.svelte +7 -7
- package/package/containers/Card.svelte +12 -12
- package/package/containers/Dialog.svelte +33 -44
- package/package/containers/Dialog.svelte.d.ts +0 -8
- package/package/containers/ListItem.svelte +43 -11
- package/package/containers/Menu.svelte +3 -3
- package/package/containers/MenuItem.svelte +13 -6
- package/package/containers/Snackbar.svelte +49 -45
- package/package/containers/Snackbar.svelte.d.ts +4 -17
- package/package/containers/SnackbarItem.svelte +6 -6
- package/package/containers/StandardSideSheet.svelte +11 -2
- package/package/forms/Checkbox.svelte +12 -12
- package/package/forms/Chip.svelte +28 -18
- package/package/forms/CircularProgress.svelte +3 -3
- package/package/forms/CircularProgressEstimate.svelte +2 -2
- package/package/forms/DateField.svelte +30 -18
- package/package/forms/DateFieldOutlined.svelte +39 -27
- package/package/forms/DatePickerDocked.svelte +2 -2
- package/package/forms/LinearProgress.svelte +5 -5
- package/package/forms/LinearProgressEstimate.svelte +4 -4
- package/package/forms/LoadingIndicator.svelte +4 -4
- package/package/forms/RadioAnim1.svelte +9 -9
- package/package/forms/RadioAnim2.svelte +9 -9
- package/package/forms/RadioAnim3.svelte +9 -9
- package/package/forms/Select.svelte +43 -35
- package/package/forms/SelectOutlined.svelte +44 -36
- package/package/forms/Slider.svelte +35 -30
- package/package/forms/Switch.svelte +27 -28
- package/package/forms/TextField.svelte +41 -29
- package/package/forms/TextFieldMultiline.svelte +41 -29
- package/package/forms/TextFieldOutlined.svelte +41 -29
- package/package/forms/TextFieldOutlinedMultiline.svelte +41 -29
- package/package/forms/WavyLinearProgress.svelte +2 -7
- package/package/forms/WavyLinearProgressEstimate.svelte +2 -7
- package/package/forms/_picker/CalendarPicker.svelte +9 -2
- package/package/forms/_picker/FocusPicker.svelte +9 -7
- package/package/forms/_picker/Header.svelte +12 -5
- package/package/forms/_picker/Item.svelte +15 -8
- package/package/index.d.ts +4 -8
- package/package/index.js +4 -7
- package/package/{utils → misc}/Divider.svelte +1 -1
- package/package/misc/Icon.svelte +0 -4
- package/package/misc/Layer.svelte +1 -1
- package/package/{utils → misc}/badge.js +8 -5
- package/package/misc/recommended-styles.css +9 -9
- package/package/misc/styles.css +160 -227
- package/package/misc/tailwind-styles.css +199 -107
- package/package/misc/utils.js +2 -4
- package/package/nav/NavCMLX.svelte +65 -29
- package/package/nav/NavCMLX.svelte.d.ts +1 -1
- package/package/nav/NavCMLXItem.svelte +359 -188
- package/package/nav/NavCMLXItem.svelte.d.ts +4 -7
- package/package/nav/Tabs.svelte +19 -10
- package/package/nav/TabsLink.svelte +19 -10
- package/package/nav/VariableTabs.svelte +18 -9
- package/package/nav/VariableTabsLink.svelte +18 -9
- package/package.json +16 -13
- package/package/containers/NewSnackbar.svelte +0 -113
- package/package/containers/NewSnackbar.svelte.d.ts +0 -7
- package/package/forms/CircularProgressIndeterminate.svelte +0 -62
- package/package/forms/CircularProgressIndeterminate.svelte.d.ts +0 -5
- package/package/forms/LinearProgressIndeterminate.svelte +0 -57
- package/package/forms/LinearProgressIndeterminate.svelte.d.ts +0 -5
- package/package/forms/SliderTicks.svelte +0 -12
- package/package/forms/SliderTicks.svelte.d.ts +0 -18
- /package/package/{utils → misc}/ChipChooser.svelte +0 -0
- /package/package/{utils → misc}/ChipChooser.svelte.d.ts +0 -0
- /package/package/{utils → misc}/Divider.svelte.d.ts +0 -0
- /package/package/{utils → misc}/badge.d.ts +0 -0
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
<style>
|
|
71
71
|
@layer tokens {
|
|
72
72
|
:root {
|
|
73
|
-
--m3-switch-track-shape: var(--m3-
|
|
74
|
-
--m3-switch-handle-shape: var(--m3-
|
|
73
|
+
--m3-switch-track-shape: var(--m3-shape-full);
|
|
74
|
+
--m3-switch-handle-shape: var(--m3-shape-full);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
.m3-container {
|
|
@@ -87,10 +87,10 @@
|
|
|
87
87
|
margin: 0;
|
|
88
88
|
border-radius: var(--m3-switch-track-shape);
|
|
89
89
|
|
|
90
|
-
background-color:
|
|
91
|
-
border: solid 0.125rem
|
|
90
|
+
background-color: var(--m3c-surface-container-highest);
|
|
91
|
+
border: solid 0.125rem var(--m3c-outline);
|
|
92
92
|
cursor: pointer;
|
|
93
|
-
transition: var(--m3-
|
|
93
|
+
transition: var(--m3-easing);
|
|
94
94
|
}
|
|
95
95
|
.handle {
|
|
96
96
|
position: absolute;
|
|
@@ -98,11 +98,10 @@
|
|
|
98
98
|
height: 1rem;
|
|
99
99
|
border-radius: var(--m3-switch-handle-shape);
|
|
100
100
|
|
|
101
|
-
background-color:
|
|
102
|
-
|
|
103
|
-
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);
|
|
104
103
|
cursor: pointer;
|
|
105
|
-
transition: var(--m3-
|
|
104
|
+
transition: var(--m3-easing-fast-spatial);
|
|
106
105
|
|
|
107
106
|
left: 0.5rem;
|
|
108
107
|
top: 50%;
|
|
@@ -116,13 +115,13 @@
|
|
|
116
115
|
height: 1rem;
|
|
117
116
|
opacity: 0;
|
|
118
117
|
transition:
|
|
119
|
-
opacity var(--m3-
|
|
120
|
-
scale var(--m3-
|
|
118
|
+
opacity var(--m3-easing-fast-spatial),
|
|
119
|
+
scale var(--m3-easing-fast-spatial);
|
|
121
120
|
}
|
|
122
121
|
input:not(:checked) + :global(.handle:has(:nth-child(2))) {
|
|
123
122
|
scale: 1.5;
|
|
124
123
|
> :global(svg) {
|
|
125
|
-
color:
|
|
124
|
+
color: var(--m3c-surface-container-highest);
|
|
126
125
|
scale: 0.667;
|
|
127
126
|
opacity: 1;
|
|
128
127
|
}
|
|
@@ -137,10 +136,10 @@
|
|
|
137
136
|
position: absolute;
|
|
138
137
|
width: 3rem;
|
|
139
138
|
height: 3rem;
|
|
140
|
-
border-radius: var(--m3-
|
|
139
|
+
border-radius: var(--m3-shape-full);
|
|
141
140
|
|
|
142
141
|
cursor: pointer;
|
|
143
|
-
transition: var(--m3-
|
|
142
|
+
transition: var(--m3-easing-fast);
|
|
144
143
|
|
|
145
144
|
left: 1rem;
|
|
146
145
|
top: 50%;
|
|
@@ -152,26 +151,26 @@
|
|
|
152
151
|
|
|
153
152
|
.m3-container:hover > input:not(:checked):not(:disabled) + .handle,
|
|
154
153
|
.m3-container:active > input:not(:checked):not(:disabled) + .handle {
|
|
155
|
-
background-color:
|
|
154
|
+
background-color: var(--m3c-on-surface-variant);
|
|
156
155
|
}
|
|
157
156
|
.m3-container:hover > input:enabled:checked + .handle,
|
|
158
157
|
.m3-container > input:enabled:checked:is(:global(:active, :focus-visible)) + .handle {
|
|
159
|
-
background-color:
|
|
160
|
-
color:
|
|
158
|
+
background-color: var(--m3c-primary-container);
|
|
159
|
+
color: var(--m3c-on-primary-container);
|
|
161
160
|
}
|
|
162
161
|
.m3-container:hover > input ~ .hover {
|
|
163
|
-
background-color:
|
|
162
|
+
background-color: oklab(from var(--m3c-on-surface) l a b / 0.08);
|
|
164
163
|
}
|
|
165
164
|
.m3-container:hover > input:checked ~ .hover {
|
|
166
|
-
background-color:
|
|
165
|
+
background-color: oklab(from var(--m3c-primary) l a b / 0.08);
|
|
167
166
|
}
|
|
168
167
|
|
|
169
168
|
input:checked {
|
|
170
|
-
background-color:
|
|
171
|
-
border-color:
|
|
169
|
+
background-color: var(--m3c-primary);
|
|
170
|
+
border-color: var(--m3c-primary);
|
|
172
171
|
}
|
|
173
172
|
input:checked + .handle {
|
|
174
|
-
background-color:
|
|
173
|
+
background-color: var(--m3c-on-primary);
|
|
175
174
|
scale: 1.5;
|
|
176
175
|
left: 1.75rem;
|
|
177
176
|
}
|
|
@@ -190,23 +189,23 @@
|
|
|
190
189
|
}
|
|
191
190
|
|
|
192
191
|
input:disabled {
|
|
193
|
-
background-color:
|
|
194
|
-
border-color:
|
|
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);
|
|
195
194
|
cursor: auto;
|
|
196
195
|
}
|
|
197
196
|
input:disabled:checked {
|
|
198
|
-
background-color:
|
|
197
|
+
background-color: oklab(from var(--m3c-on-surface) l a b / 0.12);
|
|
199
198
|
border-color: transparent;
|
|
200
199
|
}
|
|
201
200
|
input:disabled + .handle {
|
|
202
|
-
background-color:
|
|
201
|
+
background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
203
202
|
cursor: auto;
|
|
204
203
|
}
|
|
205
204
|
input:disabled:checked + .handle {
|
|
206
|
-
background-color:
|
|
205
|
+
background-color: var(--m3c-surface);
|
|
207
206
|
}
|
|
208
207
|
input:disabled:checked + .handle > :global(svg) {
|
|
209
|
-
color:
|
|
208
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
210
209
|
}
|
|
211
210
|
input:disabled ~ .hover {
|
|
212
211
|
display: none;
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
class:error
|
|
36
36
|
>
|
|
37
37
|
<input
|
|
38
|
-
class="focus-none
|
|
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
|
-
|
|
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" />
|
|
@@ -63,11 +61,7 @@
|
|
|
63
61
|
<style>
|
|
64
62
|
@layer tokens {
|
|
65
63
|
:root {
|
|
66
|
-
|
|
67
|
-
--m3-field-filled-shape: var(
|
|
68
|
-
--m3-textfield-filled-shape,
|
|
69
|
-
var(--m3-util-rounding-extra-small)
|
|
70
|
-
);
|
|
64
|
+
--m3-field-filled-shape: var(--m3-shape-extra-small);
|
|
71
65
|
}
|
|
72
66
|
}
|
|
73
67
|
|
|
@@ -75,10 +69,17 @@
|
|
|
75
69
|
display: inline-flex;
|
|
76
70
|
position: relative;
|
|
77
71
|
align-items: center;
|
|
78
|
-
height: calc(3.5rem + var(--
|
|
72
|
+
height: calc(3.5rem + (var(--m3v-density) * 0.25rem));
|
|
79
73
|
min-width: 15rem;
|
|
80
74
|
}
|
|
81
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
|
+
|
|
82
83
|
position: absolute;
|
|
83
84
|
inset: 0;
|
|
84
85
|
width: 100%;
|
|
@@ -87,30 +88,41 @@
|
|
|
87
88
|
outline: none;
|
|
88
89
|
padding: 1.5rem 1rem 0.5rem 1rem;
|
|
89
90
|
border-radius: var(--m3-field-filled-shape) var(--m3-field-filled-shape) 0 0;
|
|
90
|
-
background-color:
|
|
91
|
-
color:
|
|
91
|
+
background-color: var(--m3c-surface-container-highest);
|
|
92
|
+
color: var(--m3c-on-surface);
|
|
92
93
|
}
|
|
93
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
|
+
|
|
94
102
|
position: absolute;
|
|
95
103
|
inset-inline-start: 1rem;
|
|
96
104
|
top: 50%;
|
|
97
105
|
translate: 0 -50%;
|
|
98
|
-
color:
|
|
106
|
+
color: var(--error, var(--m3c-on-surface-variant));
|
|
99
107
|
&:is(input:hover ~ label) {
|
|
100
|
-
color:
|
|
108
|
+
color: var(--error, var(--m3c-on-surface));
|
|
101
109
|
}
|
|
102
110
|
&:is(input:focus ~ label) {
|
|
103
|
-
color:
|
|
111
|
+
color: var(--error, var(--m3c-primary));
|
|
104
112
|
}
|
|
105
113
|
&:is(input:disabled ~ label) {
|
|
106
|
-
color:
|
|
114
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
107
115
|
}
|
|
108
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
|
+
|
|
109
124
|
top: 0.5rem;
|
|
110
125
|
translate: 0 0;
|
|
111
|
-
font-size: var(--m3-font-body-small-size);
|
|
112
|
-
line-height: var(--m3-font-body-small-height);
|
|
113
|
-
letter-spacing: var(--m3-font-body-small-tracking);
|
|
114
126
|
}
|
|
115
127
|
pointer-events: none;
|
|
116
128
|
transition:
|
|
@@ -128,7 +140,7 @@
|
|
|
128
140
|
pointer-events: none;
|
|
129
141
|
transition: all 100ms;
|
|
130
142
|
&:is(input:enabled:hover ~ .layer) {
|
|
131
|
-
background-color:
|
|
143
|
+
background-color: oklab(from var(--m3c-on-surface) l a b / 0.08);
|
|
132
144
|
}
|
|
133
145
|
}
|
|
134
146
|
.layer::after {
|
|
@@ -139,13 +151,13 @@
|
|
|
139
151
|
bottom: 0;
|
|
140
152
|
|
|
141
153
|
height: 1px;
|
|
142
|
-
background-color:
|
|
154
|
+
background-color: var(--error, var(--m3c-on-surface-variant));
|
|
143
155
|
transition: all 100ms;
|
|
144
156
|
}
|
|
145
157
|
.m3-container :global(svg) {
|
|
146
158
|
width: 1.5rem;
|
|
147
159
|
height: 1.5rem;
|
|
148
|
-
color:
|
|
160
|
+
color: var(--m3c-on-surface-variant);
|
|
149
161
|
pointer-events: none;
|
|
150
162
|
}
|
|
151
163
|
.m3-container > :global(.leading) {
|
|
@@ -171,7 +183,7 @@
|
|
|
171
183
|
|
|
172
184
|
input:focus ~ .layer::after {
|
|
173
185
|
height: 0.125rem;
|
|
174
|
-
background-color:
|
|
186
|
+
background-color: var(--error, var(--m3c-primary));
|
|
175
187
|
}
|
|
176
188
|
|
|
177
189
|
.leading-icon > input {
|
|
@@ -184,21 +196,21 @@
|
|
|
184
196
|
padding-inline-end: 3.25rem;
|
|
185
197
|
}
|
|
186
198
|
.error {
|
|
187
|
-
--error: var(--
|
|
199
|
+
--error: var(--m3c-error);
|
|
188
200
|
}
|
|
189
201
|
.error > input:hover ~ label,
|
|
190
202
|
.error > input:hover ~ .layer {
|
|
191
|
-
--error: var(--
|
|
203
|
+
--error: var(--m3c-on-error-container);
|
|
192
204
|
}
|
|
193
205
|
input:disabled {
|
|
194
|
-
background-color:
|
|
195
|
-
color:
|
|
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);
|
|
196
208
|
}
|
|
197
209
|
input:disabled ~ .layer::after {
|
|
198
|
-
background-color:
|
|
210
|
+
background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
199
211
|
}
|
|
200
212
|
input:disabled ~ :global(svg) {
|
|
201
|
-
color:
|
|
213
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
202
214
|
}
|
|
203
215
|
|
|
204
216
|
.m3-container {
|
|
@@ -38,17 +38,15 @@
|
|
|
38
38
|
|
|
39
39
|
<div class="m3-container" class:leading-icon={leadingIcon} class:error use:resize>
|
|
40
40
|
<textarea
|
|
41
|
-
class="focus-none
|
|
41
|
+
class="focus-none"
|
|
42
42
|
placeholder=" "
|
|
43
43
|
bind:value
|
|
44
44
|
{id}
|
|
45
45
|
{disabled}
|
|
46
46
|
{required}
|
|
47
47
|
{...extra}
|
|
48
|
-
defaultValue={extra.defaultValue}
|
|
49
48
|
></textarea>
|
|
50
|
-
|
|
51
|
-
<label class="m3-font-body-large" for={id}>{label}</label>
|
|
49
|
+
<label for={id}>{label}</label>
|
|
52
50
|
<div class="layer"></div>
|
|
53
51
|
{#if leadingIcon}
|
|
54
52
|
<Icon icon={leadingIcon} />
|
|
@@ -58,21 +56,24 @@
|
|
|
58
56
|
<style>
|
|
59
57
|
@layer tokens {
|
|
60
58
|
:root {
|
|
61
|
-
|
|
62
|
-
--m3-field-filled-shape: var(
|
|
63
|
-
--m3-textfield-filled-shape,
|
|
64
|
-
var(--m3-util-rounding-extra-small)
|
|
65
|
-
);
|
|
59
|
+
--m3-field-filled-shape: var(--m3-shape-extra-small);
|
|
66
60
|
}
|
|
67
61
|
}
|
|
68
62
|
.m3-container {
|
|
69
63
|
display: inline-flex;
|
|
70
64
|
position: relative;
|
|
71
65
|
align-items: center;
|
|
72
|
-
min-height: calc(5rem + var(--
|
|
66
|
+
min-height: calc(5rem + (var(--m3v-density) * 0.25rem));
|
|
73
67
|
min-width: 15rem;
|
|
74
68
|
}
|
|
75
69
|
textarea {
|
|
70
|
+
|
|
71
|
+
font-family: var(--m3-font);
|
|
72
|
+
font-size: 1rem;
|
|
73
|
+
line-height: 1.5;
|
|
74
|
+
letter-spacing: 0;
|
|
75
|
+
font-weight: 400;
|
|
76
|
+
|
|
76
77
|
position: absolute;
|
|
77
78
|
inset: 0;
|
|
78
79
|
width: 100%;
|
|
@@ -81,31 +82,42 @@
|
|
|
81
82
|
outline: none;
|
|
82
83
|
padding: 1.5rem 1rem 0.5rem 1rem;
|
|
83
84
|
border-radius: var(--m3-field-filled-shape) var(--m3-field-filled-shape) 0 0;
|
|
84
|
-
background-color:
|
|
85
|
-
color:
|
|
85
|
+
background-color: var(--m3c-surface-container-highest);
|
|
86
|
+
color: var(--m3c-on-surface);
|
|
86
87
|
resize: none;
|
|
87
88
|
}
|
|
88
89
|
label {
|
|
90
|
+
|
|
91
|
+
font-family: var(--m3-font);
|
|
92
|
+
font-size: 1rem;
|
|
93
|
+
line-height: 1.5;
|
|
94
|
+
letter-spacing: 0;
|
|
95
|
+
font-weight: 400;
|
|
96
|
+
|
|
89
97
|
position: absolute;
|
|
90
98
|
inset-inline-start: 1rem;
|
|
91
99
|
top: 50%;
|
|
92
100
|
translate: 0 -50%;
|
|
93
|
-
color:
|
|
101
|
+
color: var(--error, var(--m3c-on-surface-variant));
|
|
94
102
|
&:is(textarea:hover ~ label) {
|
|
95
|
-
color:
|
|
103
|
+
color: var(--error, var(--m3c-on-surface));
|
|
96
104
|
}
|
|
97
105
|
&:is(textarea:focus ~ label) {
|
|
98
|
-
color:
|
|
106
|
+
color: var(--error, var(--m3c-primary));
|
|
99
107
|
}
|
|
100
108
|
&:is(textarea:disabled ~ label) {
|
|
101
|
-
color:
|
|
109
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
102
110
|
}
|
|
103
111
|
&:is(textarea:focus ~ label, textarea:not(:placeholder-shown) ~ label) {
|
|
112
|
+
|
|
113
|
+
font-family: var(--m3-font);
|
|
114
|
+
font-size: 0.75rem;
|
|
115
|
+
line-height: 1.333;
|
|
116
|
+
letter-spacing: 0.025rem;
|
|
117
|
+
font-weight: 400;
|
|
118
|
+
|
|
104
119
|
top: 0.5rem;
|
|
105
120
|
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
121
|
}
|
|
110
122
|
pointer-events: none;
|
|
111
123
|
transition:
|
|
@@ -123,7 +135,7 @@
|
|
|
123
135
|
pointer-events: none;
|
|
124
136
|
transition: all 100ms;
|
|
125
137
|
&:is(textarea:enabled:hover ~ .layer) {
|
|
126
|
-
background-color:
|
|
138
|
+
background-color: oklab(from var(--m3c-on-surface) l a b / 0.08);
|
|
127
139
|
}
|
|
128
140
|
}
|
|
129
141
|
.layer::after {
|
|
@@ -134,7 +146,7 @@
|
|
|
134
146
|
bottom: 0;
|
|
135
147
|
|
|
136
148
|
height: 1px;
|
|
137
|
-
background-color:
|
|
149
|
+
background-color: var(--error, var(--m3c-on-surface-variant));
|
|
138
150
|
transition: all 100ms;
|
|
139
151
|
}
|
|
140
152
|
.m3-container > :global(svg) {
|
|
@@ -142,13 +154,13 @@
|
|
|
142
154
|
width: 1.5rem;
|
|
143
155
|
height: 1.5rem;
|
|
144
156
|
margin-inline-start: 0.75rem;
|
|
145
|
-
color:
|
|
157
|
+
color: var(--m3c-on-surface-variant);
|
|
146
158
|
pointer-events: none;
|
|
147
159
|
}
|
|
148
160
|
|
|
149
161
|
textarea:focus ~ .layer::after {
|
|
150
162
|
height: 0.125rem;
|
|
151
|
-
background-color:
|
|
163
|
+
background-color: var(--error, var(--m3c-primary));
|
|
152
164
|
}
|
|
153
165
|
|
|
154
166
|
.leading-icon > textarea {
|
|
@@ -158,21 +170,21 @@
|
|
|
158
170
|
inset-inline-start: 3.25rem;
|
|
159
171
|
}
|
|
160
172
|
.error {
|
|
161
|
-
--error: var(--
|
|
173
|
+
--error: var(--m3c-error);
|
|
162
174
|
}
|
|
163
175
|
.error > textarea:hover ~ label,
|
|
164
176
|
.error > textarea:hover ~ .layer {
|
|
165
|
-
--error: var(--
|
|
177
|
+
--error: var(--m3c-on-error-container);
|
|
166
178
|
}
|
|
167
179
|
textarea:disabled {
|
|
168
|
-
background-color:
|
|
169
|
-
color:
|
|
180
|
+
background-color: oklab(from var(--m3c-on-surface) l a b / 0.04);
|
|
181
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
170
182
|
}
|
|
171
183
|
textarea:disabled ~ .layer::after {
|
|
172
|
-
background-color:
|
|
184
|
+
background-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
173
185
|
}
|
|
174
186
|
textarea:disabled ~ :global(svg) {
|
|
175
|
-
color:
|
|
187
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
176
188
|
}
|
|
177
189
|
|
|
178
190
|
.m3-container {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
class:error
|
|
36
36
|
>
|
|
37
37
|
<input
|
|
38
|
-
class="focus-none
|
|
38
|
+
class="focus-none"
|
|
39
39
|
placeholder=" "
|
|
40
40
|
bind:value
|
|
41
41
|
onkeydown={(e) => e.key == "Enter" && enter?.()}
|
|
@@ -43,11 +43,9 @@
|
|
|
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
47
|
<div class="layer"></div>
|
|
50
|
-
<label
|
|
48
|
+
<label for={id}>{label}</label>
|
|
51
49
|
{#if leadingIcon}
|
|
52
50
|
<Icon icon={leadingIcon} class="leading" />
|
|
53
51
|
{/if}
|
|
@@ -63,25 +61,28 @@
|
|
|
63
61
|
<style>
|
|
64
62
|
/*
|
|
65
63
|
want to customize the label's background?
|
|
66
|
-
do this: <TextFieldOutlined --
|
|
64
|
+
do this: <TextFieldOutlined --m3v-background="var(--m3c-surface-container)" />
|
|
67
65
|
*/
|
|
68
66
|
@layer tokens {
|
|
69
67
|
:root {
|
|
70
|
-
|
|
71
|
-
--m3-field-outlined-shape: var(
|
|
72
|
-
--m3-textfield-outlined-shape,
|
|
73
|
-
var(--m3-util-rounding-extra-small)
|
|
74
|
-
);
|
|
68
|
+
--m3-field-outlined-shape: var(--m3-shape-extra-small);
|
|
75
69
|
}
|
|
76
70
|
}
|
|
77
71
|
.m3-container {
|
|
78
72
|
display: inline-flex;
|
|
79
73
|
position: relative;
|
|
80
74
|
align-items: center;
|
|
81
|
-
height: calc(3.5rem + var(--
|
|
75
|
+
height: calc(3.5rem + (var(--m3v-density) * 0.25rem));
|
|
82
76
|
min-width: 15rem;
|
|
83
77
|
}
|
|
84
78
|
input {
|
|
79
|
+
|
|
80
|
+
font-family: var(--m3-font);
|
|
81
|
+
font-size: 1rem;
|
|
82
|
+
line-height: 1.5;
|
|
83
|
+
letter-spacing: 0;
|
|
84
|
+
font-weight: 400;
|
|
85
|
+
|
|
85
86
|
position: absolute;
|
|
86
87
|
inset: 0;
|
|
87
88
|
width: 100%;
|
|
@@ -91,30 +92,41 @@
|
|
|
91
92
|
padding: 1rem;
|
|
92
93
|
border-radius: var(--m3-field-outlined-shape);
|
|
93
94
|
background-color: transparent;
|
|
94
|
-
color:
|
|
95
|
+
color: var(--m3c-on-surface);
|
|
95
96
|
}
|
|
96
97
|
label {
|
|
98
|
+
|
|
99
|
+
font-family: var(--m3-font);
|
|
100
|
+
font-size: 1rem;
|
|
101
|
+
line-height: 1.5;
|
|
102
|
+
letter-spacing: 0;
|
|
103
|
+
font-weight: 400;
|
|
104
|
+
|
|
97
105
|
position: absolute;
|
|
98
106
|
inset-inline-start: 0.75rem;
|
|
99
107
|
top: 50%;
|
|
100
108
|
translate: 0 -50%;
|
|
101
|
-
color:
|
|
102
|
-
background-color: var(--
|
|
109
|
+
color: var(--error, var(--m3c-on-surface-variant));
|
|
110
|
+
background-color: var(--m3v-background);
|
|
103
111
|
padding: 0 0.25rem;
|
|
104
112
|
&:is(input:hover ~ label) {
|
|
105
|
-
color:
|
|
113
|
+
color: var(--error, var(--m3c-on-surface));
|
|
106
114
|
}
|
|
107
115
|
&:is(input:enabled:focus ~ label) {
|
|
108
|
-
color:
|
|
116
|
+
color: var(--error, var(--m3c-primary));
|
|
109
117
|
}
|
|
110
118
|
&:is(input:disabled ~ label) {
|
|
111
|
-
color:
|
|
119
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
112
120
|
}
|
|
113
121
|
&:is(input:focus ~ label, input:not(:placeholder-shown) ~ label) {
|
|
122
|
+
|
|
123
|
+
font-family: var(--m3-font);
|
|
124
|
+
font-size: 0.75rem;
|
|
125
|
+
line-height: 1.333;
|
|
126
|
+
letter-spacing: 0.025rem;
|
|
127
|
+
font-weight: 400;
|
|
128
|
+
|
|
114
129
|
top: 0;
|
|
115
|
-
font-size: var(--m3-font-body-small-size);
|
|
116
|
-
line-height: var(--m3-font-body-small-height);
|
|
117
|
-
letter-spacing: var(--m3-font-body-small-tracking);
|
|
118
130
|
}
|
|
119
131
|
pointer-events: none;
|
|
120
132
|
transition:
|
|
@@ -127,22 +139,22 @@
|
|
|
127
139
|
.layer {
|
|
128
140
|
position: absolute;
|
|
129
141
|
inset: 0;
|
|
130
|
-
border: 1px solid
|
|
142
|
+
border: 1px solid var(--error, var(--m3c-outline));
|
|
131
143
|
border-radius: var(--m3-field-outlined-shape);
|
|
132
144
|
pointer-events: none;
|
|
133
145
|
transition: all 100ms;
|
|
134
146
|
&:is(input:enabled:hover ~ .layer) {
|
|
135
|
-
border-color:
|
|
147
|
+
border-color: var(--error, var(--m3c-on-surface));
|
|
136
148
|
}
|
|
137
149
|
&:is(input:enabled:focus ~ .layer) {
|
|
138
|
-
border-color:
|
|
150
|
+
border-color: var(--error, var(--m3c-primary));
|
|
139
151
|
border-width: 0.125rem;
|
|
140
152
|
}
|
|
141
153
|
}
|
|
142
154
|
.m3-container :global(svg) {
|
|
143
155
|
width: 1.5rem;
|
|
144
156
|
height: 1.5rem;
|
|
145
|
-
color:
|
|
157
|
+
color: var(--m3c-on-surface-variant);
|
|
146
158
|
pointer-events: none;
|
|
147
159
|
}
|
|
148
160
|
.m3-container > :global(.leading) {
|
|
@@ -177,21 +189,21 @@
|
|
|
177
189
|
}
|
|
178
190
|
|
|
179
191
|
.error {
|
|
180
|
-
--error: var(--
|
|
192
|
+
--error: var(--m3c-error);
|
|
181
193
|
}
|
|
182
194
|
.error > input:hover ~ label,
|
|
183
195
|
.error > input:hover ~ .layer {
|
|
184
|
-
--error: var(--
|
|
196
|
+
--error: var(--m3c-on-error-container);
|
|
185
197
|
}
|
|
186
198
|
|
|
187
199
|
input:disabled {
|
|
188
|
-
color:
|
|
200
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
189
201
|
}
|
|
190
202
|
input:disabled ~ .layer {
|
|
191
|
-
border-color:
|
|
203
|
+
border-color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
192
204
|
}
|
|
193
205
|
input:disabled ~ :global(svg) {
|
|
194
|
-
color:
|
|
206
|
+
color: oklab(from var(--m3c-on-surface) l a b / 0.38);
|
|
195
207
|
}
|
|
196
208
|
|
|
197
209
|
.m3-container {
|