m3-svelte 5.15.5 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/buttons/Button.svelte +107 -131
- package/package/buttons/ConnectedButtons.svelte +1 -1
- package/package/buttons/FAB.svelte +21 -20
- package/package/buttons/SplitButton.svelte +20 -19
- package/package/containers/BottomSheet.svelte +7 -7
- package/package/containers/Card.svelte +12 -12
- package/package/containers/Dialog.svelte +21 -44
- package/package/containers/Dialog.svelte.d.ts +0 -8
- package/package/containers/ListItem.svelte +19 -11
- package/package/containers/Menu.svelte +3 -3
- package/package/containers/MenuItem.svelte +7 -6
- package/package/containers/Snackbar.svelte +37 -45
- package/package/containers/Snackbar.svelte.d.ts +4 -17
- package/package/containers/SnackbarItem.svelte +6 -6
- package/package/containers/StandardSideSheet.svelte +5 -2
- package/package/forms/Checkbox.svelte +12 -12
- package/package/forms/Chip.svelte +22 -18
- package/package/forms/CircularProgress.svelte +3 -3
- package/package/forms/CircularProgressEstimate.svelte +2 -2
- package/package/forms/DateField.svelte +18 -18
- package/package/forms/DateFieldOutlined.svelte +27 -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 +31 -35
- package/package/forms/SelectOutlined.svelte +32 -36
- package/package/forms/Slider.svelte +29 -30
- package/package/forms/Switch.svelte +27 -28
- package/package/forms/TextField.svelte +23 -29
- package/package/forms/TextFieldMultiline.svelte +23 -29
- package/package/forms/TextFieldOutlined.svelte +23 -29
- package/package/forms/TextFieldOutlinedMultiline.svelte +23 -29
- package/package/forms/WavyLinearProgress.svelte +2 -7
- package/package/forms/WavyLinearProgressEstimate.svelte +2 -7
- package/package/forms/_picker/CalendarPicker.svelte +3 -2
- package/package/forms/_picker/FocusPicker.svelte +3 -7
- package/package/forms/_picker/Header.svelte +6 -5
- package/package/forms/_picker/Item.svelte +9 -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 +106 -104
- package/package/misc/utils.js +2 -4
- package/package/nav/NavCMLX.svelte +35 -29
- package/package/nav/NavCMLX.svelte.d.ts +1 -1
- package/package/nav/NavCMLXItem.svelte +119 -208
- package/package/nav/NavCMLXItem.svelte.d.ts +4 -7
- package/package/nav/Tabs.svelte +13 -10
- package/package/nav/TabsLink.svelte +13 -10
- package/package/nav/VariableTabs.svelte +12 -9
- package/package/nav/VariableTabsLink.svelte +12 -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: --translucent(var(--m3c-on-surface), 0.08);
|
|
164
163
|
}
|
|
165
164
|
.m3-container:hover > input:checked ~ .hover {
|
|
166
|
-
background-color:
|
|
165
|
+
background-color: --translucent(var(--m3c-primary), 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: --translucent(var(--m3c-surface-container-highest), 0.12);
|
|
193
|
+
border-color: --translucent(var(--m3c-outline), 0.12);
|
|
195
194
|
cursor: auto;
|
|
196
195
|
}
|
|
197
196
|
input:disabled:checked {
|
|
198
|
-
background-color:
|
|
197
|
+
background-color: --translucent(var(--m3c-on-surface), 0.12);
|
|
199
198
|
border-color: transparent;
|
|
200
199
|
}
|
|
201
200
|
input:disabled + .handle {
|
|
202
|
-
background-color:
|
|
201
|
+
background-color: --translucent(var(--m3c-on-surface), 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: --translucent(var(--m3c-on-surface), 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,11 @@
|
|
|
75
69
|
display: inline-flex;
|
|
76
70
|
position: relative;
|
|
77
71
|
align-items: center;
|
|
78
|
-
height:
|
|
72
|
+
height: --m3-density(3.5rem);
|
|
79
73
|
min-width: 15rem;
|
|
80
74
|
}
|
|
81
75
|
input {
|
|
76
|
+
@apply --m3-body-large;
|
|
82
77
|
position: absolute;
|
|
83
78
|
inset: 0;
|
|
84
79
|
width: 100%;
|
|
@@ -87,30 +82,29 @@
|
|
|
87
82
|
outline: none;
|
|
88
83
|
padding: 1.5rem 1rem 0.5rem 1rem;
|
|
89
84
|
border-radius: var(--m3-field-filled-shape) var(--m3-field-filled-shape) 0 0;
|
|
90
|
-
background-color:
|
|
91
|
-
color:
|
|
85
|
+
background-color: var(--m3c-surface-container-highest);
|
|
86
|
+
color: var(--m3c-on-surface);
|
|
92
87
|
}
|
|
93
88
|
label {
|
|
89
|
+
@apply --m3-body-large;
|
|
94
90
|
position: absolute;
|
|
95
91
|
inset-inline-start: 1rem;
|
|
96
92
|
top: 50%;
|
|
97
93
|
translate: 0 -50%;
|
|
98
|
-
color:
|
|
94
|
+
color: var(--error, var(--m3c-on-surface-variant));
|
|
99
95
|
&:is(input:hover ~ label) {
|
|
100
|
-
color:
|
|
96
|
+
color: var(--error, var(--m3c-on-surface));
|
|
101
97
|
}
|
|
102
98
|
&:is(input:focus ~ label) {
|
|
103
|
-
color:
|
|
99
|
+
color: var(--error, var(--m3c-primary));
|
|
104
100
|
}
|
|
105
101
|
&:is(input:disabled ~ label) {
|
|
106
|
-
color:
|
|
102
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
107
103
|
}
|
|
108
104
|
&:is(input:focus ~ label, input:not(:placeholder-shown) ~ label) {
|
|
105
|
+
@apply --m3-body-small;
|
|
109
106
|
top: 0.5rem;
|
|
110
107
|
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
108
|
}
|
|
115
109
|
pointer-events: none;
|
|
116
110
|
transition:
|
|
@@ -128,7 +122,7 @@
|
|
|
128
122
|
pointer-events: none;
|
|
129
123
|
transition: all 100ms;
|
|
130
124
|
&:is(input:enabled:hover ~ .layer) {
|
|
131
|
-
background-color:
|
|
125
|
+
background-color: --translucent(var(--m3c-on-surface), 0.08);
|
|
132
126
|
}
|
|
133
127
|
}
|
|
134
128
|
.layer::after {
|
|
@@ -139,13 +133,13 @@
|
|
|
139
133
|
bottom: 0;
|
|
140
134
|
|
|
141
135
|
height: 1px;
|
|
142
|
-
background-color:
|
|
136
|
+
background-color: var(--error, var(--m3c-on-surface-variant));
|
|
143
137
|
transition: all 100ms;
|
|
144
138
|
}
|
|
145
139
|
.m3-container :global(svg) {
|
|
146
140
|
width: 1.5rem;
|
|
147
141
|
height: 1.5rem;
|
|
148
|
-
color:
|
|
142
|
+
color: var(--m3c-on-surface-variant);
|
|
149
143
|
pointer-events: none;
|
|
150
144
|
}
|
|
151
145
|
.m3-container > :global(.leading) {
|
|
@@ -171,7 +165,7 @@
|
|
|
171
165
|
|
|
172
166
|
input:focus ~ .layer::after {
|
|
173
167
|
height: 0.125rem;
|
|
174
|
-
background-color:
|
|
168
|
+
background-color: var(--error, var(--m3c-primary));
|
|
175
169
|
}
|
|
176
170
|
|
|
177
171
|
.leading-icon > input {
|
|
@@ -184,21 +178,21 @@
|
|
|
184
178
|
padding-inline-end: 3.25rem;
|
|
185
179
|
}
|
|
186
180
|
.error {
|
|
187
|
-
--error: var(--
|
|
181
|
+
--error: var(--m3c-error);
|
|
188
182
|
}
|
|
189
183
|
.error > input:hover ~ label,
|
|
190
184
|
.error > input:hover ~ .layer {
|
|
191
|
-
--error: var(--
|
|
185
|
+
--error: var(--m3c-on-error-container);
|
|
192
186
|
}
|
|
193
187
|
input:disabled {
|
|
194
|
-
background-color:
|
|
195
|
-
color:
|
|
188
|
+
background-color: --translucent(var(--m3c-on-surface), 0.04);
|
|
189
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
196
190
|
}
|
|
197
191
|
input:disabled ~ .layer::after {
|
|
198
|
-
background-color:
|
|
192
|
+
background-color: --translucent(var(--m3c-on-surface), 0.38);
|
|
199
193
|
}
|
|
200
194
|
input:disabled ~ :global(svg) {
|
|
201
|
-
color:
|
|
195
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
202
196
|
}
|
|
203
197
|
|
|
204
198
|
.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,18 @@
|
|
|
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:
|
|
66
|
+
min-height: --m3-density(5rem);
|
|
73
67
|
min-width: 15rem;
|
|
74
68
|
}
|
|
75
69
|
textarea {
|
|
70
|
+
@apply --m3-body-large;
|
|
76
71
|
position: absolute;
|
|
77
72
|
inset: 0;
|
|
78
73
|
width: 100%;
|
|
@@ -81,31 +76,30 @@
|
|
|
81
76
|
outline: none;
|
|
82
77
|
padding: 1.5rem 1rem 0.5rem 1rem;
|
|
83
78
|
border-radius: var(--m3-field-filled-shape) var(--m3-field-filled-shape) 0 0;
|
|
84
|
-
background-color:
|
|
85
|
-
color:
|
|
79
|
+
background-color: var(--m3c-surface-container-highest);
|
|
80
|
+
color: var(--m3c-on-surface);
|
|
86
81
|
resize: none;
|
|
87
82
|
}
|
|
88
83
|
label {
|
|
84
|
+
@apply --m3-body-large;
|
|
89
85
|
position: absolute;
|
|
90
86
|
inset-inline-start: 1rem;
|
|
91
87
|
top: 50%;
|
|
92
88
|
translate: 0 -50%;
|
|
93
|
-
color:
|
|
89
|
+
color: var(--error, var(--m3c-on-surface-variant));
|
|
94
90
|
&:is(textarea:hover ~ label) {
|
|
95
|
-
color:
|
|
91
|
+
color: var(--error, var(--m3c-on-surface));
|
|
96
92
|
}
|
|
97
93
|
&:is(textarea:focus ~ label) {
|
|
98
|
-
color:
|
|
94
|
+
color: var(--error, var(--m3c-primary));
|
|
99
95
|
}
|
|
100
96
|
&:is(textarea:disabled ~ label) {
|
|
101
|
-
color:
|
|
97
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
102
98
|
}
|
|
103
99
|
&:is(textarea:focus ~ label, textarea:not(:placeholder-shown) ~ label) {
|
|
100
|
+
@apply --m3-body-small;
|
|
104
101
|
top: 0.5rem;
|
|
105
102
|
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
103
|
}
|
|
110
104
|
pointer-events: none;
|
|
111
105
|
transition:
|
|
@@ -123,7 +117,7 @@
|
|
|
123
117
|
pointer-events: none;
|
|
124
118
|
transition: all 100ms;
|
|
125
119
|
&:is(textarea:enabled:hover ~ .layer) {
|
|
126
|
-
background-color:
|
|
120
|
+
background-color: --translucent(var(--m3c-on-surface), 0.08);
|
|
127
121
|
}
|
|
128
122
|
}
|
|
129
123
|
.layer::after {
|
|
@@ -134,7 +128,7 @@
|
|
|
134
128
|
bottom: 0;
|
|
135
129
|
|
|
136
130
|
height: 1px;
|
|
137
|
-
background-color:
|
|
131
|
+
background-color: var(--error, var(--m3c-on-surface-variant));
|
|
138
132
|
transition: all 100ms;
|
|
139
133
|
}
|
|
140
134
|
.m3-container > :global(svg) {
|
|
@@ -142,13 +136,13 @@
|
|
|
142
136
|
width: 1.5rem;
|
|
143
137
|
height: 1.5rem;
|
|
144
138
|
margin-inline-start: 0.75rem;
|
|
145
|
-
color:
|
|
139
|
+
color: var(--m3c-on-surface-variant);
|
|
146
140
|
pointer-events: none;
|
|
147
141
|
}
|
|
148
142
|
|
|
149
143
|
textarea:focus ~ .layer::after {
|
|
150
144
|
height: 0.125rem;
|
|
151
|
-
background-color:
|
|
145
|
+
background-color: var(--error, var(--m3c-primary));
|
|
152
146
|
}
|
|
153
147
|
|
|
154
148
|
.leading-icon > textarea {
|
|
@@ -158,21 +152,21 @@
|
|
|
158
152
|
inset-inline-start: 3.25rem;
|
|
159
153
|
}
|
|
160
154
|
.error {
|
|
161
|
-
--error: var(--
|
|
155
|
+
--error: var(--m3c-error);
|
|
162
156
|
}
|
|
163
157
|
.error > textarea:hover ~ label,
|
|
164
158
|
.error > textarea:hover ~ .layer {
|
|
165
|
-
--error: var(--
|
|
159
|
+
--error: var(--m3c-on-error-container);
|
|
166
160
|
}
|
|
167
161
|
textarea:disabled {
|
|
168
|
-
background-color:
|
|
169
|
-
color:
|
|
162
|
+
background-color: --translucent(var(--m3c-on-surface), 0.04);
|
|
163
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
170
164
|
}
|
|
171
165
|
textarea:disabled ~ .layer::after {
|
|
172
|
-
background-color:
|
|
166
|
+
background-color: --translucent(var(--m3c-on-surface), 0.38);
|
|
173
167
|
}
|
|
174
168
|
textarea:disabled ~ :global(svg) {
|
|
175
|
-
color:
|
|
169
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
176
170
|
}
|
|
177
171
|
|
|
178
172
|
.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,22 @@
|
|
|
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:
|
|
75
|
+
height: --m3-density(3.5rem);
|
|
82
76
|
min-width: 15rem;
|
|
83
77
|
}
|
|
84
78
|
input {
|
|
79
|
+
@apply --m3-body-large;
|
|
85
80
|
position: absolute;
|
|
86
81
|
inset: 0;
|
|
87
82
|
width: 100%;
|
|
@@ -91,30 +86,29 @@
|
|
|
91
86
|
padding: 1rem;
|
|
92
87
|
border-radius: var(--m3-field-outlined-shape);
|
|
93
88
|
background-color: transparent;
|
|
94
|
-
color:
|
|
89
|
+
color: var(--m3c-on-surface);
|
|
95
90
|
}
|
|
96
91
|
label {
|
|
92
|
+
@apply --m3-body-large;
|
|
97
93
|
position: absolute;
|
|
98
94
|
inset-inline-start: 0.75rem;
|
|
99
95
|
top: 50%;
|
|
100
96
|
translate: 0 -50%;
|
|
101
|
-
color:
|
|
102
|
-
background-color: var(--
|
|
97
|
+
color: var(--error, var(--m3c-on-surface-variant));
|
|
98
|
+
background-color: var(--m3v-background);
|
|
103
99
|
padding: 0 0.25rem;
|
|
104
100
|
&:is(input:hover ~ label) {
|
|
105
|
-
color:
|
|
101
|
+
color: var(--error, var(--m3c-on-surface));
|
|
106
102
|
}
|
|
107
103
|
&:is(input:enabled:focus ~ label) {
|
|
108
|
-
color:
|
|
104
|
+
color: var(--error, var(--m3c-primary));
|
|
109
105
|
}
|
|
110
106
|
&:is(input:disabled ~ label) {
|
|
111
|
-
color:
|
|
107
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
112
108
|
}
|
|
113
109
|
&:is(input:focus ~ label, input:not(:placeholder-shown) ~ label) {
|
|
110
|
+
@apply --m3-body-small;
|
|
114
111
|
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
112
|
}
|
|
119
113
|
pointer-events: none;
|
|
120
114
|
transition:
|
|
@@ -127,22 +121,22 @@
|
|
|
127
121
|
.layer {
|
|
128
122
|
position: absolute;
|
|
129
123
|
inset: 0;
|
|
130
|
-
border: 1px solid
|
|
124
|
+
border: 1px solid var(--error, var(--m3c-outline));
|
|
131
125
|
border-radius: var(--m3-field-outlined-shape);
|
|
132
126
|
pointer-events: none;
|
|
133
127
|
transition: all 100ms;
|
|
134
128
|
&:is(input:enabled:hover ~ .layer) {
|
|
135
|
-
border-color:
|
|
129
|
+
border-color: var(--error, var(--m3c-on-surface));
|
|
136
130
|
}
|
|
137
131
|
&:is(input:enabled:focus ~ .layer) {
|
|
138
|
-
border-color:
|
|
132
|
+
border-color: var(--error, var(--m3c-primary));
|
|
139
133
|
border-width: 0.125rem;
|
|
140
134
|
}
|
|
141
135
|
}
|
|
142
136
|
.m3-container :global(svg) {
|
|
143
137
|
width: 1.5rem;
|
|
144
138
|
height: 1.5rem;
|
|
145
|
-
color:
|
|
139
|
+
color: var(--m3c-on-surface-variant);
|
|
146
140
|
pointer-events: none;
|
|
147
141
|
}
|
|
148
142
|
.m3-container > :global(.leading) {
|
|
@@ -177,21 +171,21 @@
|
|
|
177
171
|
}
|
|
178
172
|
|
|
179
173
|
.error {
|
|
180
|
-
--error: var(--
|
|
174
|
+
--error: var(--m3c-error);
|
|
181
175
|
}
|
|
182
176
|
.error > input:hover ~ label,
|
|
183
177
|
.error > input:hover ~ .layer {
|
|
184
|
-
--error: var(--
|
|
178
|
+
--error: var(--m3c-on-error-container);
|
|
185
179
|
}
|
|
186
180
|
|
|
187
181
|
input:disabled {
|
|
188
|
-
color:
|
|
182
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
189
183
|
}
|
|
190
184
|
input:disabled ~ .layer {
|
|
191
|
-
border-color:
|
|
185
|
+
border-color: --translucent(var(--m3c-on-surface), 0.38);
|
|
192
186
|
}
|
|
193
187
|
input:disabled ~ :global(svg) {
|
|
194
|
-
color:
|
|
188
|
+
color: --translucent(var(--m3c-on-surface), 0.38);
|
|
195
189
|
}
|
|
196
190
|
|
|
197
191
|
.m3-container {
|