beercss 3.13.1 → 3.13.2

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 (159) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +328 -322
  3. package/custom-element/index.d.ts +18 -18
  4. package/custom-element/index.js +7 -7
  5. package/dist/cdn/arch.svg +3 -3
  6. package/dist/cdn/arrow.svg +3 -3
  7. package/dist/cdn/beer.css +4792 -4789
  8. package/dist/cdn/beer.custom-element.js +38 -38
  9. package/dist/cdn/beer.custom-element.min.js +1 -1
  10. package/dist/cdn/beer.js +635 -635
  11. package/dist/cdn/beer.min.css +1 -1
  12. package/dist/cdn/beer.min.js +1 -1
  13. package/dist/cdn/beer.scoped.css +4793 -4790
  14. package/dist/cdn/beer.scoped.min.css +1 -1
  15. package/dist/cdn/boom.svg +3 -3
  16. package/dist/cdn/bun.svg +3 -3
  17. package/dist/cdn/burst.svg +3 -3
  18. package/dist/cdn/circle.svg +3 -3
  19. package/dist/cdn/clamshell.svg +3 -3
  20. package/dist/cdn/diamond.svg +3 -3
  21. package/dist/cdn/fan.svg +3 -3
  22. package/dist/cdn/flower.svg +3 -3
  23. package/dist/cdn/gem.svg +3 -3
  24. package/dist/cdn/ghost-ish.svg +3 -3
  25. package/dist/cdn/heart.svg +3 -3
  26. package/dist/cdn/leaf-clover4.svg +3 -3
  27. package/dist/cdn/leaf-clover8.svg +3 -3
  28. package/dist/cdn/loading-indicator.svg +18 -18
  29. package/dist/cdn/oval.svg +3 -3
  30. package/dist/cdn/pentagon.svg +3 -3
  31. package/dist/cdn/pill.svg +3 -3
  32. package/dist/cdn/pixel-circle.svg +3 -3
  33. package/dist/cdn/pixel-triangle.svg +3 -3
  34. package/dist/cdn/puffy-diamond.svg +3 -3
  35. package/dist/cdn/puffy.svg +3 -3
  36. package/dist/cdn/semicircle.svg +3 -3
  37. package/dist/cdn/sided-cookie12.svg +3 -3
  38. package/dist/cdn/sided-cookie4.svg +3 -3
  39. package/dist/cdn/sided-cookie6.svg +3 -3
  40. package/dist/cdn/sided-cookie7.svg +3 -3
  41. package/dist/cdn/sided-cookie9.svg +3 -3
  42. package/dist/cdn/slanted.svg +3 -3
  43. package/dist/cdn/soft-boom.svg +3 -3
  44. package/dist/cdn/soft-burst.svg +3 -3
  45. package/dist/cdn/square.svg +3 -3
  46. package/dist/cdn/sunny.svg +3 -3
  47. package/dist/cdn/triangle.svg +3 -3
  48. package/dist/cdn/very-sunny.svg +3 -3
  49. package/dist/cdn/wavy-circle.svg +3 -3
  50. package/dist/cdn/wavy.svg +4 -4
  51. package/index.d.ts +18 -18
  52. package/index.js +6 -6
  53. package/package.json +76 -76
  54. package/scoped/index.d.ts +18 -18
  55. package/scoped/index.js +6 -6
  56. package/src/cdn/beer.css +52 -52
  57. package/src/cdn/beer.ts +120 -120
  58. package/src/cdn/customElement.js +38 -38
  59. package/src/cdn/elements/badges.css +74 -74
  60. package/src/cdn/elements/bars.css +91 -91
  61. package/src/cdn/elements/buttons.css +106 -106
  62. package/src/cdn/elements/cards.css +26 -26
  63. package/src/cdn/elements/chips.css +38 -38
  64. package/src/cdn/elements/dialogs.css +151 -151
  65. package/src/cdn/elements/dialogs.ts +69 -69
  66. package/src/cdn/elements/dividers.css +48 -48
  67. package/src/cdn/elements/expansions.css +10 -10
  68. package/src/cdn/elements/fields.css +439 -439
  69. package/src/cdn/elements/fields.ts +165 -164
  70. package/src/cdn/elements/grids.css +171 -171
  71. package/src/cdn/elements/icons.css +77 -77
  72. package/src/cdn/elements/layouts.css +35 -35
  73. package/src/cdn/elements/lists.css +71 -71
  74. package/src/cdn/elements/mainLayouts.css +57 -57
  75. package/src/cdn/elements/media.css +112 -112
  76. package/src/cdn/elements/menus.css +294 -294
  77. package/src/cdn/elements/menus.ts +40 -40
  78. package/src/cdn/elements/navigations.css +462 -460
  79. package/src/cdn/elements/overlays.css +31 -31
  80. package/src/cdn/elements/pages.css +41 -41
  81. package/src/cdn/elements/pages.ts +6 -6
  82. package/src/cdn/elements/progress.css +207 -207
  83. package/src/cdn/elements/progress.ts +34 -34
  84. package/src/cdn/elements/selections.css +256 -256
  85. package/src/cdn/elements/shapes.css +258 -258
  86. package/src/cdn/elements/sliders.css +357 -357
  87. package/src/cdn/elements/sliders.ts +74 -74
  88. package/src/cdn/elements/snackbars.css +47 -47
  89. package/src/cdn/elements/snackbars.ts +26 -26
  90. package/src/cdn/elements/tables.css +65 -65
  91. package/src/cdn/elements/tabs.css +52 -52
  92. package/src/cdn/elements/tooltips.css +131 -131
  93. package/src/cdn/helpers/alignments.css +29 -29
  94. package/src/cdn/helpers/blurs.css +21 -21
  95. package/src/cdn/helpers/colors.css +930 -930
  96. package/src/cdn/helpers/directions.css +28 -28
  97. package/src/cdn/helpers/elevates.css +16 -16
  98. package/src/cdn/helpers/forms.css +75 -75
  99. package/src/cdn/helpers/margins.css +49 -49
  100. package/src/cdn/helpers/opacities.css +19 -19
  101. package/src/cdn/helpers/paddings.css +45 -45
  102. package/src/cdn/helpers/positions.css +45 -45
  103. package/src/cdn/helpers/reset.css +94 -93
  104. package/src/cdn/helpers/responsive.css +22 -22
  105. package/src/cdn/helpers/ripples.css +33 -33
  106. package/src/cdn/helpers/ripples.ts +30 -30
  107. package/src/cdn/helpers/scrolls.css +8 -8
  108. package/src/cdn/helpers/shadows.css +23 -23
  109. package/src/cdn/helpers/sizes.css +45 -45
  110. package/src/cdn/helpers/spaces.css +19 -19
  111. package/src/cdn/helpers/theme.css +186 -186
  112. package/src/cdn/helpers/theme.ts +83 -83
  113. package/src/cdn/helpers/typography.css +225 -225
  114. package/src/cdn/helpers/waves.css +43 -43
  115. package/src/cdn/helpers/zoom.css +19 -19
  116. package/src/cdn/interfaces.ts +3 -3
  117. package/src/cdn/settings/dark.css +38 -38
  118. package/src/cdn/settings/fonts.css +35 -35
  119. package/src/cdn/settings/globals.css +18 -18
  120. package/src/cdn/settings/light.css +39 -39
  121. package/src/cdn/shapes/arch.svg +3 -3
  122. package/src/cdn/shapes/arrow.svg +3 -3
  123. package/src/cdn/shapes/boom.svg +3 -3
  124. package/src/cdn/shapes/bun.svg +3 -3
  125. package/src/cdn/shapes/burst.svg +3 -3
  126. package/src/cdn/shapes/circle.svg +3 -3
  127. package/src/cdn/shapes/clamshell.svg +3 -3
  128. package/src/cdn/shapes/diamond.svg +3 -3
  129. package/src/cdn/shapes/fan.svg +3 -3
  130. package/src/cdn/shapes/flower.svg +3 -3
  131. package/src/cdn/shapes/gem.svg +3 -3
  132. package/src/cdn/shapes/ghost-ish.svg +3 -3
  133. package/src/cdn/shapes/heart.svg +3 -3
  134. package/src/cdn/shapes/leaf-clover4.svg +3 -3
  135. package/src/cdn/shapes/leaf-clover8.svg +3 -3
  136. package/src/cdn/shapes/loading-indicator.svg +18 -18
  137. package/src/cdn/shapes/oval.svg +3 -3
  138. package/src/cdn/shapes/pentagon.svg +3 -3
  139. package/src/cdn/shapes/pill.svg +3 -3
  140. package/src/cdn/shapes/pixel-circle.svg +3 -3
  141. package/src/cdn/shapes/pixel-triangle.svg +3 -3
  142. package/src/cdn/shapes/puffy-diamond.svg +3 -3
  143. package/src/cdn/shapes/puffy.svg +3 -3
  144. package/src/cdn/shapes/semicircle.svg +3 -3
  145. package/src/cdn/shapes/sided-cookie12.svg +3 -3
  146. package/src/cdn/shapes/sided-cookie4.svg +3 -3
  147. package/src/cdn/shapes/sided-cookie6.svg +3 -3
  148. package/src/cdn/shapes/sided-cookie7.svg +3 -3
  149. package/src/cdn/shapes/sided-cookie9.svg +3 -3
  150. package/src/cdn/shapes/slanted.svg +3 -3
  151. package/src/cdn/shapes/soft-boom.svg +3 -3
  152. package/src/cdn/shapes/soft-burst.svg +3 -3
  153. package/src/cdn/shapes/square.svg +3 -3
  154. package/src/cdn/shapes/sunny.svg +3 -3
  155. package/src/cdn/shapes/triangle.svg +3 -3
  156. package/src/cdn/shapes/very-sunny.svg +3 -3
  157. package/src/cdn/shapes/wavy-circle.svg +3 -3
  158. package/src/cdn/shapes/wavy.svg +4 -4
  159. package/src/cdn/utils.ts +154 -154
@@ -1,439 +1,439 @@
1
- .field {
2
- --_input: 3rem;
3
- --_start: 1.2rem;
4
- --_middle: calc(var(--_input) / 2);
5
- border-radius: 0.25rem 0.25rem 0 0;
6
- min-block-size: var(--_input);
7
- display: flex;
8
- flex-direction: column;
9
- }
10
-
11
- .field.fill {
12
- --_background: var(--surface-variant);
13
- background-color: unset !important;
14
- color: unset !important;
15
- }
16
-
17
- .field.fill > :is(input, select, textarea) {
18
- background-color: var(--_background);
19
- z-index: 0;
20
- }
21
-
22
- .field.small {
23
- --_input: 2.5rem;
24
- --_start: 1rem;
25
- }
26
-
27
- .field.large {
28
- --_input: 3.5rem;
29
- --_start: 1.4rem;
30
- }
31
-
32
- .field.extra {
33
- --_input: 4rem;
34
- --_start: 1.6rem;
35
- }
36
-
37
- .field.border {
38
- border-radius: 0.25rem;
39
- }
40
-
41
- .field.round.small {
42
- border-radius: 1.25rem;
43
- }
44
-
45
- .field.round {
46
- border-radius: 1.5rem;
47
- }
48
-
49
- .field.round.large {
50
- border-radius: 1.75rem;
51
- }
52
-
53
- .field.round.extra {
54
- border-radius: 2rem;
55
- }
56
-
57
- /* icon */
58
- .field > :is(i, img, svg, progress.circle, a) {
59
- position: absolute;
60
- inset: calc((var(--_input) / 2) - 0.75rem) auto auto auto;
61
- cursor: pointer;
62
- z-index: 10;
63
- inline-size: 1.5rem;
64
- block-size: 1.5rem;
65
- margin: auto 0;
66
- pointer-events: none;
67
- }
68
-
69
- .field > :is(a, .front) {
70
- pointer-events: all !important;
71
- }
72
-
73
- .field > a > :is(i, img, svg, progress.circle, a) {
74
- inline-size: 1.5rem;
75
- block-size: 1.5rem;
76
- }
77
-
78
- .field > :is(i, img, svg, progress.circle, a),
79
- [dir=rtl] .field > :is(i, img, svg, progress.circle, a):first-child {
80
- inset: calc(var(--_middle) - 0.75rem) 1rem auto auto;
81
- }
82
-
83
- .field > :is(i, img, svg, progress.circle, a):first-child,
84
- [dir=rtl] .field > :is(i, img, svg, progress.circle, a) {
85
- inset: calc(var(--_middle) - 0.75rem) auto auto 1rem;
86
- }
87
-
88
- .field.invalid > i {
89
- color: var(--error);
90
- }
91
-
92
- .field > progress.circle {
93
- border-width: 0.1875rem;
94
- }
95
-
96
- /* input, textarea and select */
97
- .field > :is(input, textarea, select) {
98
- all: unset;
99
- position: relative;
100
- display: flex;
101
- align-items: center;
102
- box-sizing: border-box;
103
- border-radius: inherit;
104
- border: 0.0625rem solid transparent;
105
- padding: 0 0.9375rem;
106
- font-family: inherit;
107
- font-size: 1rem;
108
- inline-size: 100%;
109
- min-block-size: var(--_input);
110
- outline: none;
111
- z-index: 1;
112
- background: none;
113
- resize: none;
114
- text-align: start;
115
- cursor: text;
116
- }
117
-
118
- input::-webkit-date-and-time-value {
119
- text-align: start;
120
- }
121
-
122
- :is(input, select, textarea):is(:-webkit-autofill, :autofill) {
123
- -webkit-background-clip: text;
124
- -webkit-text-fill-color: var(--on-surface);
125
- }
126
-
127
- .field > :is(input, textarea, select):focus {
128
- border: 0.125rem solid transparent;
129
- padding: 0 0.875rem;
130
- }
131
-
132
- .field > textarea:not([rows]) {
133
- field-sizing: content;
134
- max-block-size: 12rem;
135
- }
136
-
137
- input[type=file],
138
- input[type=color],
139
- :not(.field) > input[type^=date],
140
- :not(.field) > input[type^=time],
141
- input::-webkit-calendar-picker-indicator {
142
- opacity: 0;
143
- position: absolute;
144
- inset: 0;
145
- inline-size: 100%;
146
- block-size: 100%;
147
- margin: 0;
148
- padding: 0;
149
- border: 0;
150
- outline: 0;
151
- z-index: 2 !important;
152
- }
153
-
154
- input::-webkit-search-decoration,
155
- input::-webkit-search-cancel-button,
156
- input::-webkit-search-results-button,
157
- input::-webkit-search-results-decoration,
158
- input::-webkit-inner-spin-button,
159
- input::-webkit-outer-spin-button {
160
- display: none;
161
- }
162
-
163
- input[type=number] {
164
- appearance: textfield;
165
- }
166
-
167
- .field.border > :is(input, textarea, select) {
168
- border-color: var(--outline);
169
- }
170
-
171
- .field.border > :is(input, textarea, select):focus {
172
- border-color: var(--primary);
173
- }
174
-
175
- .field.round > :is(input, textarea, select) {
176
- padding-inline: 1.4376rem;
177
- }
178
-
179
- .field.round > :is(input, textarea, select):focus {
180
- padding-inline: 1.375rem;
181
- }
182
-
183
- .field.prefix > :is(input, textarea, select) {
184
- padding-inline-start: 2.9375rem;
185
- }
186
-
187
- .field.prefix > .slider {
188
- margin-inline-start: 3.5rem;
189
- }
190
-
191
- .field.prefix > :is(input, textarea, select):focus {
192
- padding-inline-start: 2.875rem;
193
- }
194
-
195
- .field.suffix > :is(input, textarea, select) {
196
- padding-inline-end: 2.9375rem;
197
- }
198
-
199
- .field.suffix > .slider {
200
- margin-inline-end: 3.5rem;
201
- }
202
-
203
- .field.suffix > :is(input, textarea, select):focus {
204
- padding-inline-end: 2.875rem;
205
- }
206
-
207
- .field:not(.border, .round) > :is(input, textarea, select) {
208
- border-block-end-color: var(--outline);
209
- }
210
-
211
- .field:not(.border, .round) > :is(input, textarea, select):focus {
212
- border-block-end-color: var(--primary);
213
- }
214
-
215
- .field.round:not(.border, .fill) > :is(input, textarea, select),
216
- .field.round:not(.border) > :is(input, textarea, select):focus {
217
- box-shadow: var(--elevate1);
218
- }
219
-
220
- .field.round:not(.border, .fill) > :is(input, textarea, select):focus {
221
- box-shadow: var(--elevate2);
222
- }
223
-
224
- .field.invalid:not(.border, .round) > :is(input, textarea, select),
225
- .field.invalid:not(.border, .round) > :is(input, textarea, select):focus {
226
- border-block-end-color: var(--error);
227
- }
228
-
229
- .field.invalid.border > :is(input, textarea, select),
230
- .field.invalid.border > :is(input, textarea, select):focus {
231
- border-color: var(--error);
232
- }
233
-
234
- .field:has(> :disabled) {
235
- opacity: 0.5;
236
- cursor: not-allowed;
237
- }
238
-
239
- .field > :disabled {
240
- cursor: not-allowed;
241
- }
242
-
243
- .field > select {
244
- user-select: none;
245
- }
246
-
247
- @-moz-document url-prefix() {
248
- .field > select:focus {
249
- background-color: var(--surface);
250
- }
251
-
252
- .field.fill > select:focus {
253
- background-color: var(--surface-variant);
254
- }
255
-
256
- .field > select:focus + label {
257
- z-index: 1;
258
- }
259
- }
260
-
261
- .field > select > option {
262
- background-color: var(--surface);
263
- }
264
-
265
- .field > :is(input, select) {
266
- padding-block-start: 1rem;
267
- }
268
-
269
- .field:not(.label) > :is(input, select),
270
- .field.border:not(.fill) > :is(input, select) {
271
- padding-block-start: 0;
272
- }
273
-
274
- .field > textarea {
275
- padding-block-start: calc(var(--_start)) !important;
276
- }
277
-
278
- .field > textarea:focus {
279
- padding-block-start: calc(var(--_start) - 0.01rem) !important;
280
- }
281
-
282
- .field:not(.label) > textarea,
283
- .field.border:not(.fill) > textarea {
284
- padding-block-start: calc(var(--_start) - 0.5rem) !important;
285
- }
286
-
287
- .field:not(.label) > textarea:focus,
288
- .field.border:not(.fill) > textarea:focus {
289
- padding-block-start: calc(var(--_start) - 0.51rem) !important;
290
- }
291
-
292
- /* label */
293
- .field.label > label {
294
- --_start: 1rem;
295
- position: absolute;
296
- inset: -0.5rem 1rem 0 var(--_start);
297
- display: flex;
298
- block-size: calc(var(--_input) + 1rem);
299
- line-height: calc(var(--_input) + 1rem);
300
- font-size: 1rem;
301
- transition: all 0.2s;
302
- gap: 0.25rem;
303
- white-space: nowrap;
304
- pointer-events: none;
305
- }
306
-
307
- [dir=rtl] .field.label > label {
308
- inset: -0.5rem var(--_start) 0 1rem;
309
- }
310
-
311
- .field.label.round > label {
312
- inset: -0.5rem 1.75rem 0 var(--_start);
313
- }
314
-
315
- [dir=rtl] .field.label.round > label {
316
- inset: -0.5rem 1.75rem 0 var(--_start);
317
- }
318
-
319
- .field.label.border.prefix:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
320
- --_start: 1rem;
321
- }
322
-
323
- .field.label.round > label,
324
- .field.label.border.prefix.round:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
325
- --_start: 1.5rem;
326
- }
327
-
328
- .field.label.prefix > label {
329
- --_start: 3rem;
330
- }
331
-
332
- .field.label > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
333
- block-size: 2.5rem;
334
- line-height: 2.5rem;
335
- font-size: 0.75rem;
336
- }
337
-
338
- .field.label.border:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
339
- block-size: 1rem;
340
- line-height: 1rem;
341
- }
342
-
343
- .field.label.border:not(.fill) > label::after {
344
- content: "";
345
- display: block;
346
- margin: 0.5rem 0 0 0;
347
- border-block-start: 0.0625rem solid var(--outline);
348
- block-size: 1rem;
349
- transition: none;
350
- flex: auto;
351
- }
352
-
353
- .field.label.border:not(.fill) > :focus + label::after {
354
- border-block-start: 0.125rem solid var(--primary);
355
- }
356
-
357
- .field.label.border:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
358
- .field.label.border:not(.fill) > select {
359
- clip-path: polygon(-2% -2%, 0.75rem -2%, 0.75rem 0.5rem, calc(100% - 1rem) 0.5rem, calc(100% - 1rem) -2%, 102% -2%, 102% 102%, -2% 102%);
360
- }
361
-
362
- [dir=rtl] .field.label.border:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
363
- [dir=rtl] .field.label.border:not(.fill) > select {
364
- clip-path: polygon(-2% -2%, 1rem -2%, 1rem 0.5rem, calc(100% - 0.75rem) 0.5rem, calc(100% - 0.75rem) -2%, 102% -2%, 102% 102%, -2% 102%);
365
- }
366
-
367
- .field.label.border.round:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
368
- .field.label.border.round:not(.fill) > select {
369
- clip-path: polygon(-2% -2%, 1.25rem -2%, 1.25rem 0.5rem, calc(100% - 1.75rem) 0.5rem, calc(100% - 1.75rem) -2%, 102% -2%, 102% 102%, -2% 102%);
370
- }
371
-
372
- [dir=rtl] .field.label.border.round:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
373
- [dir=rtl] .field.label.border.round:not(.fill) > select {
374
- clip-path: polygon(-2% -2%, 1.75rem -2%, 1.75rem 0.5rem, calc(100% - 1.25rem) 0.5rem, calc(100% - 1.25rem) -2%, 102% -2%, 102% 102%, -2% 102%);
375
- }
376
-
377
- .field.label > :focus + label {
378
- color: var(--primary);
379
- }
380
-
381
- .field.label.invalid > label,
382
- .field.label.invalid > label::after {
383
- color: var(--error) !important;
384
- border-color: var(--error) !important;
385
- }
386
-
387
- .field.label > label > a {
388
- block-size: inherit;
389
- line-height: inherit;
390
- inline-size: 1rem;
391
- }
392
-
393
- .field.label > label > a > :is(i, img, svg) {
394
- block-size: 1rem;
395
- line-height: 1rem;
396
- inline-size: 1rem;
397
- font-size: 1rem;
398
- }
399
-
400
- /* helper */
401
- .field > output {
402
- display: inline-block;
403
- font-size: 0.75rem;
404
- background: none !important;
405
- padding: 0.25rem 1rem;
406
- line-height: 1.25rem;
407
- align-self: start;
408
- }
409
-
410
- .field > output.invalid {
411
- color: var(--error) !important;
412
- }
413
-
414
- .field.round > output {
415
- padding: 0.25rem 1.5rem;
416
- }
417
-
418
- .field.invalid > output:not(.invalid) {
419
- display: none;
420
- }
421
-
422
- table td > .field {
423
- margin: 0;
424
- }
425
-
426
- fieldset {
427
- border-radius: 0.25rem;
428
- padding: 1rem;
429
- border: 0.0625rem solid var(--outline-variant);
430
- }
431
-
432
- fieldset > legend {
433
- margin: 0 -0.25rem;
434
- padding: 0 0.25rem;
435
- }
436
-
437
- fieldset > legend + * {
438
- margin-block-start: 0 !important;
439
- }
1
+ .field {
2
+ --_input: 3rem;
3
+ --_start: 1.2rem;
4
+ --_middle: calc(var(--_input) / 2);
5
+ border-radius: 0.25rem 0.25rem 0 0;
6
+ min-block-size: var(--_input);
7
+ display: flex;
8
+ flex-direction: column;
9
+ }
10
+
11
+ .field.fill {
12
+ --_background: var(--surface-variant);
13
+ background-color: unset !important;
14
+ color: unset !important;
15
+ }
16
+
17
+ .field.fill > :is(input, select, textarea) {
18
+ background-color: var(--_background);
19
+ z-index: 0;
20
+ }
21
+
22
+ .field.small {
23
+ --_input: 2.5rem;
24
+ --_start: 1rem;
25
+ }
26
+
27
+ .field.large {
28
+ --_input: 3.5rem;
29
+ --_start: 1.4rem;
30
+ }
31
+
32
+ .field.extra {
33
+ --_input: 4rem;
34
+ --_start: 1.6rem;
35
+ }
36
+
37
+ .field.border {
38
+ border-radius: 0.25rem;
39
+ }
40
+
41
+ .field.round.small {
42
+ border-radius: 1.25rem;
43
+ }
44
+
45
+ .field.round {
46
+ border-radius: 1.5rem;
47
+ }
48
+
49
+ .field.round.large {
50
+ border-radius: 1.75rem;
51
+ }
52
+
53
+ .field.round.extra {
54
+ border-radius: 2rem;
55
+ }
56
+
57
+ /* icon */
58
+ .field > :is(i, img, svg, progress.circle, a) {
59
+ position: absolute;
60
+ inset: calc((var(--_input) / 2) - 0.75rem) auto auto auto;
61
+ cursor: pointer;
62
+ z-index: 10;
63
+ inline-size: 1.5rem;
64
+ block-size: 1.5rem;
65
+ margin: auto 0;
66
+ pointer-events: none;
67
+ }
68
+
69
+ .field > :is(a, .front) {
70
+ pointer-events: all !important;
71
+ }
72
+
73
+ .field > a > :is(i, img, svg, progress.circle, a) {
74
+ inline-size: 1.5rem;
75
+ block-size: 1.5rem;
76
+ }
77
+
78
+ .field > :is(i, img, svg, progress.circle, a),
79
+ [dir=rtl] .field > :is(i, img, svg, progress.circle, a):first-child {
80
+ inset: calc(var(--_middle) - 0.75rem) 1rem auto auto;
81
+ }
82
+
83
+ .field > :is(i, img, svg, progress.circle, a):first-child,
84
+ [dir=rtl] .field > :is(i, img, svg, progress.circle, a) {
85
+ inset: calc(var(--_middle) - 0.75rem) auto auto 1rem;
86
+ }
87
+
88
+ .field.invalid > i {
89
+ color: var(--error);
90
+ }
91
+
92
+ .field > progress.circle {
93
+ border-width: 0.1875rem;
94
+ }
95
+
96
+ /* input, textarea and select */
97
+ .field > :is(input, textarea, select) {
98
+ all: unset;
99
+ position: relative;
100
+ display: flex;
101
+ align-items: center;
102
+ box-sizing: border-box;
103
+ border-radius: inherit;
104
+ border: 0.0625rem solid transparent;
105
+ padding: 0 0.9375rem;
106
+ font-family: inherit;
107
+ font-size: 1rem;
108
+ inline-size: 100%;
109
+ min-block-size: var(--_input);
110
+ outline: none;
111
+ z-index: 1;
112
+ background: none;
113
+ resize: none;
114
+ text-align: start;
115
+ cursor: text;
116
+ }
117
+
118
+ input::-webkit-date-and-time-value {
119
+ text-align: start;
120
+ }
121
+
122
+ :is(input, select, textarea):is(:-webkit-autofill, :autofill) {
123
+ -webkit-background-clip: text;
124
+ -webkit-text-fill-color: var(--on-surface);
125
+ }
126
+
127
+ .field > :is(input, textarea, select):focus {
128
+ border: 0.125rem solid transparent;
129
+ padding: 0 0.875rem;
130
+ }
131
+
132
+ .field > textarea:not([rows]) {
133
+ field-sizing: content;
134
+ max-block-size: 12rem;
135
+ }
136
+
137
+ input[type=file],
138
+ input[type=color],
139
+ :not(.field) > input[type^=date],
140
+ :not(.field) > input[type^=time],
141
+ input::-webkit-calendar-picker-indicator {
142
+ opacity: 0;
143
+ position: absolute;
144
+ inset: 0;
145
+ inline-size: 100%;
146
+ block-size: 100%;
147
+ margin: 0;
148
+ padding: 0;
149
+ border: 0;
150
+ outline: 0;
151
+ z-index: 2 !important;
152
+ }
153
+
154
+ input::-webkit-search-decoration,
155
+ input::-webkit-search-cancel-button,
156
+ input::-webkit-search-results-button,
157
+ input::-webkit-search-results-decoration,
158
+ input::-webkit-inner-spin-button,
159
+ input::-webkit-outer-spin-button {
160
+ display: none;
161
+ }
162
+
163
+ input[type=number] {
164
+ appearance: textfield;
165
+ }
166
+
167
+ .field.border > :is(input, textarea, select) {
168
+ border-color: var(--outline);
169
+ }
170
+
171
+ .field.border > :is(input, textarea, select):focus {
172
+ border-color: var(--primary);
173
+ }
174
+
175
+ .field.round > :is(input, textarea, select) {
176
+ padding-inline: 1.4376rem;
177
+ }
178
+
179
+ .field.round > :is(input, textarea, select):focus {
180
+ padding-inline: 1.375rem;
181
+ }
182
+
183
+ .field.prefix > :is(input, textarea, select) {
184
+ padding-inline-start: 2.9375rem;
185
+ }
186
+
187
+ .field.prefix > .slider {
188
+ margin-inline-start: 3.5rem;
189
+ }
190
+
191
+ .field.prefix > :is(input, textarea, select):focus {
192
+ padding-inline-start: 2.875rem;
193
+ }
194
+
195
+ .field.suffix > :is(input, textarea, select) {
196
+ padding-inline-end: 2.9375rem;
197
+ }
198
+
199
+ .field.suffix > .slider {
200
+ margin-inline-end: 3.5rem;
201
+ }
202
+
203
+ .field.suffix > :is(input, textarea, select):focus {
204
+ padding-inline-end: 2.875rem;
205
+ }
206
+
207
+ .field:not(.border, .round) > :is(input, textarea, select) {
208
+ border-block-end-color: var(--outline);
209
+ }
210
+
211
+ .field:not(.border, .round) > :is(input, textarea, select):focus {
212
+ border-block-end-color: var(--primary);
213
+ }
214
+
215
+ .field.round:not(.border, .fill) > :is(input, textarea, select),
216
+ .field.round:not(.border) > :is(input, textarea, select):focus {
217
+ box-shadow: var(--elevate1);
218
+ }
219
+
220
+ .field.round:not(.border, .fill) > :is(input, textarea, select):focus {
221
+ box-shadow: var(--elevate2);
222
+ }
223
+
224
+ .field.invalid:not(.border, .round) > :is(input, textarea, select),
225
+ .field.invalid:not(.border, .round) > :is(input, textarea, select):focus {
226
+ border-block-end-color: var(--error);
227
+ }
228
+
229
+ .field.invalid.border > :is(input, textarea, select),
230
+ .field.invalid.border > :is(input, textarea, select):focus {
231
+ border-color: var(--error);
232
+ }
233
+
234
+ .field:has(> :disabled) {
235
+ opacity: 0.5;
236
+ cursor: not-allowed;
237
+ }
238
+
239
+ .field > :disabled {
240
+ cursor: not-allowed;
241
+ }
242
+
243
+ .field > select {
244
+ user-select: none;
245
+ }
246
+
247
+ @-moz-document url-prefix() {
248
+ .field > select:focus {
249
+ background-color: var(--surface);
250
+ }
251
+
252
+ .field.fill > select:focus {
253
+ background-color: var(--surface-variant);
254
+ }
255
+
256
+ .field > select:focus + label {
257
+ z-index: 1;
258
+ }
259
+ }
260
+
261
+ .field > select > option {
262
+ background-color: var(--surface);
263
+ }
264
+
265
+ .field > :is(input, select) {
266
+ padding-block-start: 1rem;
267
+ }
268
+
269
+ .field:not(.label) > :is(input, select),
270
+ .field.border:not(.fill) > :is(input, select) {
271
+ padding-block-start: 0;
272
+ }
273
+
274
+ .field > textarea {
275
+ padding-block-start: calc(var(--_start)) !important;
276
+ }
277
+
278
+ .field > textarea:focus {
279
+ padding-block-start: calc(var(--_start) - 0.01rem) !important;
280
+ }
281
+
282
+ .field:not(.label) > textarea,
283
+ .field.border:not(.fill) > textarea {
284
+ padding-block-start: calc(var(--_start) - 0.5rem) !important;
285
+ }
286
+
287
+ .field:not(.label) > textarea:focus,
288
+ .field.border:not(.fill) > textarea:focus {
289
+ padding-block-start: calc(var(--_start) - 0.51rem) !important;
290
+ }
291
+
292
+ /* label */
293
+ .field.label > label {
294
+ --_start: 1rem;
295
+ position: absolute;
296
+ inset: -0.5rem 1rem 0 var(--_start);
297
+ display: flex;
298
+ block-size: calc(var(--_input) + 1rem);
299
+ line-height: calc(var(--_input) + 1rem);
300
+ font-size: 1rem;
301
+ transition: all 0.2s;
302
+ gap: 0.25rem;
303
+ white-space: nowrap;
304
+ pointer-events: none;
305
+ }
306
+
307
+ [dir=rtl] .field.label > label {
308
+ inset: -0.5rem var(--_start) 0 1rem;
309
+ }
310
+
311
+ .field.label.round > label {
312
+ inset: -0.5rem 1.75rem 0 var(--_start);
313
+ }
314
+
315
+ [dir=rtl] .field.label.round > label {
316
+ inset: -0.5rem 1.75rem 0 var(--_start);
317
+ }
318
+
319
+ .field.label.border.prefix:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
320
+ --_start: 1rem;
321
+ }
322
+
323
+ .field.label.round > label,
324
+ .field.label.border.prefix.round:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
325
+ --_start: 1.5rem;
326
+ }
327
+
328
+ .field.label.prefix > label {
329
+ --_start: 3rem;
330
+ }
331
+
332
+ .field.label > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
333
+ block-size: 2.5rem;
334
+ line-height: 2.5rem;
335
+ font-size: 0.75rem;
336
+ }
337
+
338
+ .field.label.border:not(.fill) > :is(label.active, :focus + label, [placeholder]:not(:placeholder-shown) + label, select + label) {
339
+ block-size: 1rem;
340
+ line-height: 1rem;
341
+ }
342
+
343
+ .field.label.border:not(.fill) > label::after {
344
+ content: "";
345
+ display: block;
346
+ margin: 0.5rem 0 0 0;
347
+ border-block-start: 0.0625rem solid var(--outline);
348
+ block-size: 1rem;
349
+ transition: none;
350
+ flex: auto;
351
+ }
352
+
353
+ .field.label.border:not(.fill) > :focus + label::after {
354
+ border-block-start: 0.125rem solid var(--primary);
355
+ }
356
+
357
+ .field.label.border:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
358
+ .field.label.border:not(.fill) > select {
359
+ clip-path: polygon(-2% -2%, 0.75rem -2%, 0.75rem 0.5rem, calc(100% - 1rem) 0.5rem, calc(100% - 1rem) -2%, 102% -2%, 102% 102%, -2% 102%);
360
+ }
361
+
362
+ [dir=rtl] .field.label.border:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
363
+ [dir=rtl] .field.label.border:not(.fill) > select {
364
+ clip-path: polygon(-2% -2%, 1rem -2%, 1rem 0.5rem, calc(100% - 0.75rem) 0.5rem, calc(100% - 0.75rem) -2%, 102% -2%, 102% 102%, -2% 102%);
365
+ }
366
+
367
+ .field.label.border.round:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
368
+ .field.label.border.round:not(.fill) > select {
369
+ clip-path: polygon(-2% -2%, 1.25rem -2%, 1.25rem 0.5rem, calc(100% - 1.75rem) 0.5rem, calc(100% - 1.75rem) -2%, 102% -2%, 102% 102%, -2% 102%);
370
+ }
371
+
372
+ [dir=rtl] .field.label.border.round:not(.fill) > :is(input, textarea):is(:focus, [placeholder]:not(:placeholder-shown), .active),
373
+ [dir=rtl] .field.label.border.round:not(.fill) > select {
374
+ clip-path: polygon(-2% -2%, 1.75rem -2%, 1.75rem 0.5rem, calc(100% - 1.25rem) 0.5rem, calc(100% - 1.25rem) -2%, 102% -2%, 102% 102%, -2% 102%);
375
+ }
376
+
377
+ .field.label > :focus + label {
378
+ color: var(--primary);
379
+ }
380
+
381
+ .field.label.invalid > label,
382
+ .field.label.invalid > label::after {
383
+ color: var(--error) !important;
384
+ border-color: var(--error) !important;
385
+ }
386
+
387
+ .field.label > label > a {
388
+ block-size: inherit;
389
+ line-height: inherit;
390
+ inline-size: 1rem;
391
+ }
392
+
393
+ .field.label > label > a > :is(i, img, svg) {
394
+ block-size: 1rem;
395
+ line-height: 1rem;
396
+ inline-size: 1rem;
397
+ font-size: 1rem;
398
+ }
399
+
400
+ /* helper */
401
+ .field > output {
402
+ display: inline-block;
403
+ font-size: 0.75rem;
404
+ background: none !important;
405
+ padding: 0.25rem 1rem;
406
+ line-height: 1.25rem;
407
+ align-self: start;
408
+ }
409
+
410
+ .field > output.invalid {
411
+ color: var(--error) !important;
412
+ }
413
+
414
+ .field.round > output {
415
+ padding: 0.25rem 1.5rem;
416
+ }
417
+
418
+ .field.invalid > output:not(.invalid) {
419
+ display: none;
420
+ }
421
+
422
+ table td > .field {
423
+ margin: 0;
424
+ }
425
+
426
+ fieldset {
427
+ border-radius: 0.25rem;
428
+ padding: 1rem;
429
+ border: 0.0625rem solid var(--outline-variant);
430
+ }
431
+
432
+ fieldset > legend {
433
+ margin: 0 -0.25rem;
434
+ padding: 0 0.25rem;
435
+ }
436
+
437
+ fieldset > legend + * {
438
+ margin-block-start: 0 !important;
439
+ }