@typlog/ui 0.12.2 → 0.13.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.
@@ -1,570 +0,0 @@
1
-
2
- .ui-TextField {
3
- display: flex;
4
- align-items: stretch;
5
- font-weight: var(--font-weight-regular);
6
- font-style: normal;
7
- text-align: start;
8
- box-sizing: border-box;
9
- height: var(--text-field-height);
10
- padding: var(--text-field-border-width);
11
- border-radius: var(--text-field-border-radius);
12
- }
13
- @supports selector(:has(*)) {
14
- .ui-TextField:where(:has(input[type=file])) {
15
- align-items: center;
16
- }
17
- }
18
- .ui-TextField::-moz-selection {
19
- background-color: var(--text-field-selection-color);
20
- }
21
- .ui-TextField::selection {
22
- background-color: var(--text-field-selection-color);
23
- }
24
- .ui-TextFieldInput {
25
- text-align: inherit;
26
- border: none;
27
- padding: 0;
28
- width: 100%;
29
- font-size: 1em;
30
- background-color: transparent;
31
- border-radius: calc(var(--text-field-border-radius) - var(--text-field-border-width));
32
- text-indent: var(--text-field-padding);
33
- cursor: auto;
34
- }
35
- .ui-TextFieldInput:focus {
36
- outline: none;
37
- box-shadow: none;
38
- }
39
- .ui-TextFieldInput:where([type=file]) {
40
- font-size: 0.875em;
41
- background-color: transparent;
42
- text-indent: calc(var(--text-field-padding) / 2);
43
- }
44
- .ui-TextFieldInput:where([type=date], [type=datetime-local], [type=time], [type=week], [type=month]) {
45
- text-indent: 0;
46
- padding-left: var(--text-field-padding);
47
- padding-right: var(--text-field-padding);
48
- }
49
- .ui-TextFieldInput::-webkit-inner-spin-button {
50
- -webkit-appearance: none;
51
- appearance: none;
52
- }
53
- .ui-TextFieldInput::-webkit-search-cancel-button {
54
- -webkit-appearance: none;
55
- appearance: none;
56
- }
57
- .ui-TextFieldInput::-moz-selection {
58
- background-color: var(--text-field-selection-color);
59
- }
60
- .ui-TextFieldInput::selection {
61
- background-color: var(--text-field-selection-color);
62
- }
63
- .ui-TextFieldInput::-webkit-calendar-picker-indicator {
64
- box-sizing: content-box;
65
- width: var(--text-field-native-icon-size);
66
- height: var(--text-field-native-icon-size);
67
- padding: var(--space-1);
68
- margin-left: 0;
69
- margin-right: calc(var(--space-1) * -1);
70
- border-radius: calc(var(--text-field-border-radius) - 2px);
71
- }
72
- .ui-TextFieldInput:where(:not([type=time]))::-webkit-calendar-picker-indicator {
73
- margin-left: var(--space-1);
74
- }
75
- .ui-TextFieldInput::-webkit-calendar-picker-indicator:where(:hover) {
76
- background-color: var(--gray-a3);
77
- }
78
- .ui-TextFieldInput::-webkit-calendar-picker-indicator:where(:focus-visible) {
79
- outline: 2px solid var(--text-field-focus-color);
80
- }
81
- .ui-TextFieldInput::-webkit-datetime-edit-ampm-field:where(:focus),
82
- .ui-TextFieldInput::-webkit-datetime-edit-day-field:where(:focus),
83
- .ui-TextFieldInput::-webkit-datetime-edit-hour-field:where(:focus),
84
- .ui-TextFieldInput::-webkit-datetime-edit-millisecond-field:where(:focus),
85
- .ui-TextFieldInput::-webkit-datetime-edit-minute-field:where(:focus),
86
- .ui-TextFieldInput::-webkit-datetime-edit-month-field:where(:focus),
87
- .ui-TextFieldInput::-webkit-datetime-edit-second-field:where(:focus),
88
- .ui-TextFieldInput::-webkit-datetime-edit-week-field:where(:focus),
89
- .ui-TextFieldInput::-webkit-datetime-edit-year-field:where(:focus) {
90
- background-color: var(--text-field-selection-color);
91
- color: inherit;
92
- outline: none;
93
- }
94
- .ui-TextFieldInput:where(:-webkit-autofill) {
95
- /* Reliably removes native autofill colors */
96
- -webkit-background-clip: text;
97
- background-clip: text;
98
- -webkit-text-fill-color: var(--gray-12);
99
- }
100
- .ui-TextFieldInput:where(:autofill) {
101
- /* Reliably removes native autofill colors */
102
- -webkit-background-clip: text;
103
- background-clip: text;
104
- -webkit-text-fill-color: var(--gray-12);
105
- }
106
- .ui-TextFieldSlot {
107
- box-sizing: border-box;
108
- flex-shrink: 0;
109
- display: flex;
110
- align-items: center;
111
- cursor: text;
112
- gap: var(--space-2);
113
- padding-left: var(--text-field-slot-padding);
114
- padding-right: var(--text-field-slot-padding);
115
- }
116
- .ui-TextFieldSlot:where([data-side=left]) {
117
- order: -1;
118
- margin-left: calc(var(--text-field-border-width) * -1);
119
- margin-right: 0;
120
- }
121
- .ui-TextFieldSlot:where([data-side=right]) {
122
- order: 0;
123
- margin-left: 0;
124
- margin-right: calc(var(--text-field-border-width) * -1);
125
- }
126
- .ui-TextFieldInput:where(:has(~ .ui-TextFieldSlot:not([data-side=right]))) {
127
- text-indent: 0;
128
- padding-left: 0;
129
- border-top-left-radius: 0;
130
- border-bottom-left-radius: 0;
131
- }
132
- .ui-TextFieldInput:where(:has(~ .ui-TextFieldSlot[data-side=right],
133
- ~ .ui-TextFieldSlot:not([data-side=right]) ~ .ui-TextFieldSlot:not([data-side=left]))) {
134
- padding-right: 0;
135
- border-top-right-radius: 0;
136
- border-bottom-right-radius: 0;
137
- }
138
- .ui-TextField:where(.r-size-1) {
139
- --text-field-height: var(--space-5);
140
- --text-field-padding: calc(var(--space-1) * 1.5 - var(--text-field-border-width));
141
- --text-field-border-radius: max(var(--radius-2), var(--radius-full));
142
- --text-field-native-icon-size: var(--space-3);
143
- --text-field-slot-padding: var(--space-1);
144
- font-size: var(--font-size-1);
145
- letter-spacing: var(--letter-spacing-1);
146
- }
147
- .ui-TextField:where(.r-size-1) :where(.ui-TextFieldInput) {
148
- /* Reset size 2 padding bottom */
149
- padding-bottom: 0px;
150
- /* Safari credentials autofill icon */
151
- }
152
- .ui-TextField:where(.r-size-1) :where(.ui-TextFieldInput)::-webkit-textfield-decoration-container {
153
- padding-right: 0px;
154
- margin-right: -2px;
155
- }
156
- .ui-TextField:where(.r-size-2) {
157
- --text-field-height: var(--space-6);
158
- --text-field-padding: calc(var(--space-2) - var(--text-field-border-width));
159
- --text-field-border-radius: max(var(--radius-2), var(--radius-full));
160
- --text-field-native-icon-size: var(--space-4);
161
- --text-field-slot-padding: var(--space-2);
162
- font-size: var(--font-size-2);
163
- letter-spacing: var(--letter-spacing-2);
164
- }
165
- .ui-TextField:where(.r-size-2) :where(.ui-TextFieldInput) {
166
- /* Avoid 1px baseline jitter when layout around the text field is subpixel-sized (e.g. vh units). */
167
- /* Works because as of Nov 2023, Chrome computes input text bounding box height as 16.5px on @2x screens. */
168
- padding-bottom: 0.5px;
169
- /* Safari credentials autofill icon */
170
- }
171
- .ui-TextField:where(.r-size-2) :where(.ui-TextFieldInput)::-webkit-textfield-decoration-container {
172
- padding-right: 2px;
173
- margin-right: 0px;
174
- }
175
- .ui-TextField:where(.r-size-3) {
176
- --text-field-height: var(--space-7);
177
- --text-field-padding: calc(var(--space-3) - var(--text-field-border-width));
178
- --text-field-border-radius: max(var(--radius-3), var(--radius-full));
179
- --text-field-native-icon-size: var(--space-4);
180
- --text-field-slot-padding: var(--space-3);
181
- font-size: var(--font-size-3);
182
- letter-spacing: var(--letter-spacing-3);
183
- }
184
- .ui-TextField:where(.r-size-3) :where(.ui-TextFieldInput) {
185
- /* Reset size 2 padding bottom */
186
- padding-bottom: 0px;
187
- /* Safari credentials autofill icon */
188
- }
189
- .ui-TextField:where(.r-size-3) :where(.ui-TextFieldInput)::-webkit-textfield-decoration-container {
190
- padding-right: 5px;
191
- margin-right: 0px;
192
- }
193
- .ui-TextField:where(.r-size-3) :where(.ui-TextFieldSlot) {
194
- gap: var(--space-3);
195
- }
196
- .ui-TextField:where(.r-variant-surface) {
197
- --text-field-selection-color: var(--focus-a5);
198
- --text-field-focus-color: var(--focus-a8);
199
- --text-field-border-width: 1px;
200
- --text-field-border-color: var(--gray-a7);
201
- /* Blend inner shadow with page background */
202
- background-clip: content-box;
203
- background-color: var(--color-surface);
204
- box-sizing: border-box;
205
- border: var(--text-field-border-width) solid var(--text-field-border-color);
206
- color: var(--gray-12);
207
- }
208
- @supports selector(:has(*)) {
209
- .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:focus)) {
210
- --text-field-border-color: var(--text-field-focus-color);
211
- box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
212
- }
213
- }
214
- @supports not selector(:has(*)) {
215
- .ui-TextField:where(.r-variant-surface):where(:focus-within) {
216
- --text-field-border-color: var(--text-field-focus-color);
217
- box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
218
- }
219
- }
220
- .ui-TextField:where(.r-variant-surface) :where(.ui-TextFieldInput)::-moz-placeholder {
221
- color: var(--gray-a10);
222
- }
223
- .ui-TextField:where(.r-variant-surface) :where(.ui-TextFieldInput)::placeholder {
224
- color: var(--gray-a10);
225
- }
226
- .ui-TextField:where(.r-variant-surface) :where(.ui-TextFieldSlot) {
227
- color: var(--gray-a11);
228
- }
229
- .ui-TextField:where(.r-variant-surface) :where(.ui-TextFieldSlot):where([data-accent-color]) {
230
- color: var(--accent-a11);
231
- }
232
- .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:-webkit-autofill):not(:disabled, :read-only:not([type=file])))) {
233
- /* Blend with focus color */
234
- background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
235
- border-color: var(--gray-a5);
236
- }
237
- .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:autofill):not(:disabled, :-moz-read-only:not([type=file])))) {
238
- /* Blend with focus color */
239
- background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
240
- border-color: var(--gray-a5);
241
- }
242
- .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:autofill):not(:disabled, :read-only:not([type=file])))) {
243
- /* Blend with focus color */
244
- background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
245
- border-color: var(--gray-a5);
246
- }
247
- .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:disabled, :-moz-read-only:not([type=file])))) {
248
- /* Blend with grey */
249
- background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
250
- border-color: var(--gray-a6);
251
- }
252
- .ui-TextField:where(.r-variant-surface):where(:has(.ui-TextFieldInput:where(:disabled, :read-only:not([type=file])))) {
253
- /* Blend with grey */
254
- background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
255
- border-color: var(--gray-a6);
256
- }
257
-
258
- /* soft */
259
- .ui-TextField:where(.r-variant-soft) {
260
- --text-field-selection-color: var(--accent-a5);
261
- --text-field-focus-color: var(--accent-8);
262
- --text-field-border-width: 0px;
263
- background-color: var(--accent-a3);
264
- color: var(--accent-12);
265
- /* prettier-ignore */
266
- }
267
- @supports selector(:has(*)) {
268
- .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:focus)) {
269
- outline: 2px solid var(--text-field-focus-color);
270
- outline-offset: -1px;
271
- }
272
- }
273
- @supports not selector(:has(*)) {
274
- .ui-TextField:where(.r-variant-soft):where(:focus-within) {
275
- outline: 2px solid var(--text-field-focus-color);
276
- outline-offset: -1px;
277
- }
278
- }
279
- .ui-TextField:where(.r-variant-soft) :where(.ui-TextFieldInput)::-moz-placeholder {
280
- color: var(--accent-12);
281
- opacity: 0.6;
282
- }
283
- .ui-TextField:where(.r-variant-soft) :where(.ui-TextFieldInput)::placeholder {
284
- color: var(--accent-12);
285
- opacity: 0.6;
286
- }
287
- .ui-TextField:where(.r-variant-soft) :where(.ui-TextFieldSlot) {
288
- color: var(--accent-12);
289
- }
290
- .ui-TextField:where(.r-variant-soft) :where(.ui-TextFieldSlot):where([data-accent-color]) {
291
- color: var(--accent-a11);
292
- }
293
- .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:-webkit-autofill):not(:disabled, :read-only:not([type=file])))) {
294
- /* Use gray autofill color when component color is gray */
295
- box-shadow: inset 0 0 0 1px var(--accent-a5), inset 0 0 0 1px var(--gray-a4);
296
- }
297
- .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:autofill):not(:disabled, :-moz-read-only:not([type=file])))) {
298
- /* Use gray autofill color when component color is gray */
299
- box-shadow: inset 0 0 0 1px var(--accent-a5), inset 0 0 0 1px var(--gray-a4);
300
- }
301
- .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:autofill):not(:disabled, :read-only:not([type=file])))) {
302
- /* Use gray autofill color when component color is gray */
303
- box-shadow: inset 0 0 0 1px var(--accent-a5), inset 0 0 0 1px var(--gray-a4);
304
- }
305
- .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:disabled, :-moz-read-only:not([type=file])))) {
306
- background-color: var(--gray-a3);
307
- }
308
- .ui-TextField:where(.r-variant-soft):where(:has(.ui-TextFieldInput:where(:disabled, :read-only:not([type=file])))) {
309
- background-color: var(--gray-a3);
310
- }
311
-
312
- /* all disabled and read-only text fields */
313
- .ui-TextFieldInput:where(:disabled, :-moz-read-only:not([type=file])) {
314
- cursor: text;
315
- color: var(--gray-a11);
316
- /* Safari */
317
- -webkit-text-fill-color: var(--gray-a11);
318
- }
319
- .ui-TextFieldInput:where(:disabled, :read-only:not([type=file])) {
320
- cursor: text;
321
- color: var(--gray-a11);
322
- /* Safari */
323
- -webkit-text-fill-color: var(--gray-a11);
324
- }
325
- .ui-TextFieldInput:where(:disabled, :read-only)::-moz-placeholder {
326
- opacity: 0.5;
327
- }
328
- .ui-TextFieldInput:where(:disabled, :-moz-read-only)::placeholder {
329
- opacity: 0.5;
330
- }
331
- .ui-TextFieldInput:where(:disabled, :read-only)::placeholder {
332
- opacity: 0.5;
333
- }
334
- .ui-TextFieldInput:where(:disabled, :read-only):where(:-moz-placeholder) {
335
- cursor: var(--cursor-disabled);
336
- }
337
- .ui-TextFieldInput:where(:disabled, :-moz-read-only):where(:placeholder-shown) {
338
- cursor: var(--cursor-disabled);
339
- }
340
- .ui-TextFieldInput:where(:disabled, :read-only):where(:placeholder-shown) {
341
- cursor: var(--cursor-disabled);
342
- }
343
- .ui-TextFieldInput:where(:disabled, :read-only):where(:-moz-placeholder) ~ :where(.ui-TextFieldSlot) {
344
- cursor: var(--cursor-disabled);
345
- }
346
- .ui-TextFieldInput:where(:disabled, :-moz-read-only):where(:placeholder-shown) ~ :where(.ui-TextFieldSlot) {
347
- cursor: var(--cursor-disabled);
348
- }
349
- .ui-TextFieldInput:where(:disabled, :read-only):where(:placeholder-shown) ~ :where(.ui-TextFieldSlot) {
350
- cursor: var(--cursor-disabled);
351
- }
352
- .ui-TextField:where(:has(.ui-TextFieldInput:where(:disabled, :-moz-read-only:not([type=file])))) {
353
- --text-field-selection-color: var(--gray-a5);
354
- --text-field-focus-color: var(--gray-8);
355
- }
356
- .ui-TextField:where(:has(.ui-TextFieldInput:where(:disabled, :read-only:not([type=file])))) {
357
- --text-field-selection-color: var(--gray-a5);
358
- --text-field-focus-color: var(--gray-8);
359
- }
360
-
361
- .ui-TextArea {
362
- display: flex;
363
- flex-direction: column;
364
- box-sizing: border-box;
365
- font-weight: var(--font-weight-regular);
366
- font-style: normal;
367
- text-align: start;
368
- overflow: hidden;
369
- width: 100%;
370
- }
371
- .ui-TextAreaInput {
372
- border-radius: inherit;
373
- resize: none;
374
- display: block;
375
- width: 100%;
376
- flex-grow: 1;
377
- cursor: auto;
378
- border: none;
379
- padding: var(--text-area-padding-y) var(--text-area-padding-x);
380
- font-size: 1em;
381
- background-color: transparent;
382
- }
383
- .ui-TextAreaInput:focus {
384
- outline: none;
385
- box-shadow: none;
386
- }
387
- .ui-TextAreaInput:where(:disabled) {
388
- cursor: not-allowed;
389
- }
390
- .ui-TextAreaInput::-webkit-scrollbar {
391
- width: var(--space-3);
392
- height: var(--space-3);
393
- }
394
- .ui-TextAreaInput::-webkit-scrollbar-track,
395
- .ui-TextAreaInput::-webkit-scrollbar-thumb {
396
- background-clip: content-box;
397
- border: var(--space-1) solid transparent;
398
- border-radius: var(--space-3);
399
- }
400
- .ui-TextAreaInput::-webkit-scrollbar-track {
401
- background-color: var(--gray-a3);
402
- }
403
- .ui-TextAreaInput::-webkit-scrollbar-thumb {
404
- background-color: var(--gray-a8);
405
- }
406
- .ui-TextAreaInput:where(:not(:disabled))::-webkit-scrollbar-thumb:hover {
407
- background-color: var(--gray-a9);
408
- }
409
- .ui-TextArea:where(.r-size-1) {
410
- min-height: var(--space-8);
411
- border-radius: var(--radius-2);
412
- }
413
- .ui-TextArea:where(.r-size-1) .ui-TextAreaInput {
414
- --text-area-padding-y: calc(var(--space-1) - var(--text-area-border-width));
415
- --text-area-padding-x: calc(var(--space-1) * 1.5 - var(--text-area-border-width));
416
- font-size: var(--font-size-1);
417
- line-height: var(--line-height-1);
418
- letter-spacing: var(--letter-spacing-1);
419
- }
420
- .ui-TextArea:where(.r-size-2) {
421
- min-height: var(--space-9);
422
- border-radius: var(--radius-2);
423
- }
424
- .ui-TextArea:where(.r-size-2) .ui-TextAreaInput {
425
- --text-area-padding-y: calc(var(--space-1) * 1.5 - var(--text-area-border-width));
426
- --text-area-padding-x: calc(var(--space-2) - var(--text-area-border-width));
427
- font-size: var(--font-size-2);
428
- line-height: var(--line-height-2);
429
- letter-spacing: var(--letter-spacing-2);
430
- }
431
- .ui-TextArea:where(.r-size-3) {
432
- min-height: 80px;
433
- border-radius: var(--radius-3);
434
- }
435
- .ui-TextArea:where(.r-size-3) .ui-TextAreaInput {
436
- --text-area-padding-y: calc(var(--space-2) - var(--text-area-border-width));
437
- --text-area-padding-x: calc(var(--space-3) - var(--text-area-border-width));
438
- font-size: var(--font-size-3);
439
- line-height: var(--line-height-3);
440
- letter-spacing: var(--letter-spacing-3);
441
- }
442
- .ui-TextArea:where(.r-variant-surface) {
443
- --text-area-border-width: 1px;
444
- --text-area-border-color: var(--gray-a7);
445
- /* Blend inner shadow with page background */
446
- background-clip: content-box;
447
- background-color: var(--color-surface);
448
- border: var(--text-area-border-width) solid var(--text-area-border-color);
449
- color: var(--gray-12);
450
- }
451
- .ui-TextArea:where(.r-variant-surface):where(:focus-within) {
452
- --text-area-border-color: var(--focus-a8);
453
- box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
454
- }
455
- .ui-TextArea:where(.r-variant-surface) .ui-TextAreaInput::-moz-placeholder {
456
- color: var(--gray-a10);
457
- }
458
- .ui-TextArea:where(.r-variant-surface) .ui-TextAreaInput::placeholder {
459
- color: var(--gray-a10);
460
- }
461
- .ui-TextArea:where(.r-variant-surface) :where(.ui-TextAreaInput:-moz-read-only) {
462
- background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
463
- }
464
- .ui-TextArea:where(.r-variant-surface) :where(.ui-TextAreaInput:read-only) {
465
- background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
466
- }
467
- .ui-TextArea:where(.r-variant-soft) {
468
- --text-area-border-width: 0px;
469
- background-color: var(--accent-a3);
470
- color: var(--accent-12);
471
- }
472
- .ui-TextArea:where(.r-variant-soft):where(:focus-within) {
473
- outline: 2px solid var(--accent-8);
474
- outline-offset: -1px;
475
- }
476
- .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput::-moz-selection {
477
- background-color: var(--accent-a5);
478
- }
479
- .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput::selection {
480
- background-color: var(--accent-a5);
481
- }
482
- .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput::-moz-placeholder {
483
- color: var(--accent-12);
484
- opacity: 0.65;
485
- }
486
- .ui-TextArea:where(.r-variant-soft) .ui-TextAreaInput::placeholder {
487
- color: var(--accent-12);
488
- opacity: 0.65;
489
- }
490
- .ui-TextArea:where(.r-variant-soft) :where(.ui-TextAreaInput:-moz-read-only) {
491
- background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
492
- box-shadow: inset 0 0 0 var(--text-area-border-width) var(--gray-a6);
493
- }
494
- .ui-TextArea:where(.r-variant-soft) :where(.ui-TextAreaInput:read-only) {
495
- background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
496
- box-shadow: inset 0 0 0 var(--text-area-border-width) var(--gray-a6);
497
- }
498
-
499
- .ui-ColorField {
500
- display: inline-flex;
501
- align-items: center;
502
- justify-content: center;
503
- width: var(--color-field-size);
504
- height: var(--color-field-size);
505
- border-radius: var(--color-field-radius);
506
- }
507
- .ui-ColorField:where(.r-size-1) {
508
- --color-field-size: var(--space-5);
509
- --color-field-radius: max(var(--radius-2), var(--radius-full));
510
- --color-field-border-width: 1px;
511
- }
512
- .ui-ColorField:where(.r-size-2) {
513
- --color-field-size: var(--space-6);
514
- --color-field-radius: max(var(--radius-2), var(--radius-full));
515
- --color-field-border-width: 2px;
516
- }
517
- .ui-ColorField:where(.r-size-3) {
518
- --color-field-size: var(--space-7);
519
- --color-field-radius: max(var(--radius-3), var(--radius-full));
520
- --color-field-border-width: 3px;
521
- }
522
- .ui-ColorField:where(.r-variant-solid) {
523
- --color-input-size: var(--color-field-size);
524
- --color-input-radius: var(--color-field-radius);
525
- }
526
- .ui-ColorField:where(.r-variant-ring) {
527
- --color-input-size: calc(var(--color-field-size) - var(--color-field-border-width) * 4);
528
- --color-input-radius: calc(var(--color-field-radius) - 2px);
529
- border: var(--color-field-border-width) solid var(--color-field-color);
530
- }
531
- .ui-ColorFieldInput {
532
- -webkit-appearance: none;
533
- -moz-appearance: none;
534
- appearance: none;
535
- border: none;
536
- cursor: pointer;
537
- padding: 0;
538
- width: var(--color-input-size);
539
- height: var(--color-input-size);
540
- border-radius: var(--color-input-radius);
541
- }
542
- .ui-ColorFieldInput::-webkit-color-swatch-wrapper {
543
- padding: 0;
544
- border-radius: var(--color-input-radius);
545
- }
546
- .ui-ColorFieldInput::-webkit-color-swatch {
547
- border: none;
548
- border-radius: var(--color-input-radius);
549
- }
550
- .ui-ColorFieldInput::-moz-color-swatch {
551
- border: none;
552
- border-radius: var(--color-input-radius);
553
- }
554
- @supports selector(:has(*)) {
555
- .ui-ColorField:where(:has(.ui-ColorFieldInput:focus)) {
556
- --text-field-border-color: var(--text-field-focus-color);
557
- box-shadow: 0 0 0 2px var(--accent-4), 0 1px 2px 0 rgb(0 0 0 / 0.05);
558
- }
559
- }
560
- :where(.ui-TextFieldSlot[data-side="left"]) .ui-ColorField {
561
- margin-left: calc(0px - var(--text-field-slot-padding) / 2);
562
- }
563
- :where(.ui-TextFieldSlot[data-side="right"]) .ui-ColorField {
564
- margin-right: calc(0px - var(--text-field-slot-padding) / 2);
565
- }
566
- :where(.ui-TextFieldSlot) .ui-ColorField,
567
- :where(.ui-TextFieldSlot) .ui-ColorFieldInput {
568
- width: calc(var(--color-field-size) - var(--text-field-padding));
569
- height: calc(var(--color-field-size) - var(--text-field-padding));
570
- }