declarative-forms 2.0.0-alpha.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.
@@ -0,0 +1,740 @@
1
+ /*!
2
+ * declarative-forms — default theme
3
+ *
4
+ * Import with: @import "declarative-forms/styles.css";
5
+ *
6
+ * This is the v1 `assets/default.css` with every hardcoded value lifted into a
7
+ * `--dl-*` custom property. The selectors and the cascade are unchanged, and
8
+ * each `var()` carries v1's value as its fallback, so an existing consumer
9
+ * stylesheet keeps rendering identically — but you can now retheme by setting
10
+ * tokens instead of overriding rules.
11
+ *
12
+ * Tokens are declared at zero specificity via `:where(:root)`, so setting any
13
+ * of them anywhere wins without `!important`.
14
+ *
15
+ * `<dl-select>` ships its own structural styles from JS; the tokens it reads
16
+ * are listed under "combobox" below.
17
+ */
18
+
19
+ :where(:root) {
20
+ /* typography */
21
+ --dl-font-family: 'Rubik', sans-serif;
22
+ --dl-font-size: 0.9em;
23
+
24
+ /* palette */
25
+ --dl-accent: #1ea6a3;
26
+ --dl-accent-hover: #22bb8b;
27
+ --dl-danger: #fe070b;
28
+ --dl-surface: #fff;
29
+ --dl-surface-muted: #f8f8f8;
30
+ --dl-surface-sunken: #eee;
31
+ --dl-overlay: rgba(0, 0, 0, 0.6);
32
+ --dl-text-color: #545454;
33
+ --dl-label-color: #58565c;
34
+ --dl-line-color: #ddd;
35
+ --dl-focused-line-color: #bbb;
36
+ --dl-border-muted: #e7e6e6;
37
+
38
+ /* metrics */
39
+ --dl-radius: 4px;
40
+ --dl-field-width: 400px;
41
+ --dl-modal-width: 416px;
42
+ --dl-large-modal-width: 800px;
43
+
44
+ /* tooltip marker + bubble */
45
+ --dl-tooltip-background: #e6e6e6;
46
+ --dl-tooltip-color: #88858e;
47
+ --dl-tooltip-bubble-background: #413e48;
48
+ --dl-tooltip-bubble-color: #d1cfd8;
49
+ --dl-tooltip-success-background: #d1e7dd;
50
+ --dl-tooltip-success-color: #12b568;
51
+ --dl-tooltip-warning-background: #ffecb5;
52
+ --dl-tooltip-warning-color: #664d03;
53
+ --dl-tooltip-error-background: #f8d7da;
54
+ --dl-tooltip-error-color: #842029;
55
+
56
+ /* combobox — also read by the styles <dl-select> injects itself */
57
+ --dl-options-background: var(--dl-surface, #fff);
58
+ --dl-options-text-color: var(--dl-text-color, #545454);
59
+ --dl-options-inactive-text-color: var(--dl-text-color, #545454);
60
+ --dl-options-option-hover-color: rgba(224, 240, 227, 0.4);
61
+ }
62
+
63
+ /* ------------------------------------------------------------------ modal */
64
+
65
+ .dl-modal {
66
+ position: fixed;
67
+ top: 0;
68
+ left: 0;
69
+ display: block;
70
+ margin: 0;
71
+ padding: 0;
72
+ width: 100%;
73
+ height: 100%;
74
+ background: var(--dl-overlay, rgba(0, 0, 0, 0.6));
75
+ overflow-y: auto;
76
+ }
77
+
78
+ .dl-modal.noModalDialog {
79
+ position: static;
80
+ width: 100%;
81
+ height: 100%;
82
+ margin: 0;
83
+ padding: 0;
84
+ background-color: var(--dl-surface, #fff);
85
+ }
86
+
87
+ .dl-modal-hidden {
88
+ display: none !important;
89
+ }
90
+
91
+ .dl-modal .modal {
92
+ display: block;
93
+ padding: 30px 10px 10px 10px;
94
+ width: var(--dl-modal-width, 416px);
95
+ margin: 50px auto;
96
+ border-radius: var(--dl-radius, 4px);
97
+ background-color: var(--dl-surface, #fff);
98
+ box-shadow: 0 0 23px -2px rgba(0, 0, 0, 0.06);
99
+ }
100
+
101
+ .dl-modal.noModalDialog .modal {
102
+ box-shadow: none;
103
+ border-radius: 0;
104
+ width: auto;
105
+ padding-top: 0;
106
+ }
107
+
108
+ .dl-modal .largeModal {
109
+ width: var(--dl-large-modal-width, 800px);
110
+ }
111
+
112
+ .dl-modal .largeModal .dl-form label {
113
+ width: auto;
114
+ }
115
+
116
+ .largeModal .dl-form form > .dl-form-field-wrapper > input,
117
+ .largeModal .dl-form form > .dl-form-field-wrapper > textarea,
118
+ .largeModal .dl-form form .render {
119
+ width: var(--dl-large-modal-width, 800px);
120
+ max-width: var(--dl-large-modal-width, 800px);
121
+ min-width: var(--dl-large-modal-width, 800px);
122
+ }
123
+
124
+ .dl-modal .low-bar {
125
+ margin: 40px -10px -10px -10px;
126
+ height: 45px;
127
+ background-color: var(--dl-surface-muted, #f8f8f8);
128
+ border-bottom-left-radius: var(--dl-radius, 4px);
129
+ border-bottom-right-radius: var(--dl-radius, 4px);
130
+ }
131
+
132
+ .dl-modal.dl-full-height .low-bar {
133
+ bottom: 11px;
134
+ width: 100%;
135
+ position: absolute;
136
+ }
137
+
138
+ .dl-modal .up-bar {
139
+ margin: -20px 0 -10px -50px;
140
+ }
141
+
142
+ /* -------------------------------------------------------------------- tabs */
143
+
144
+ .dl-modal .tabWrapper {
145
+ text-align: center;
146
+ }
147
+
148
+ .dl-modal .dl-tab-btn {
149
+ border: 1px solid var(--dl-accent, #1ea6a3);
150
+ border-left: none;
151
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
152
+ font-weight: lighter;
153
+ font-size: var(--dl-font-size, 0.9em);
154
+ padding: 6px 8px 4px 8px;
155
+ display: inline-block;
156
+ color: var(--dl-accent, #1ea6a3);
157
+ cursor: pointer;
158
+ margin-top: 20px;
159
+ margin-bottom: 5px;
160
+ }
161
+
162
+ .dl-modal .dl-tab-btn.active {
163
+ color: var(--dl-surface, #fff);
164
+ background: var(--dl-accent, #1ea6a3);
165
+ cursor: default;
166
+ }
167
+
168
+ .dl-modal .dl-tab-btn:first-child {
169
+ border-left: 1px solid var(--dl-accent, #1ea6a3);
170
+ border-top-left-radius: var(--dl-radius, 4px);
171
+ border-bottom-left-radius: var(--dl-radius, 4px);
172
+ }
173
+
174
+ .dl-modal .dl-tab-btn:last-child {
175
+ border-top-right-radius: var(--dl-radius, 4px);
176
+ border-bottom-right-radius: var(--dl-radius, 4px);
177
+ }
178
+
179
+ /* ----------------------------------------------------------------- buttons */
180
+
181
+ /*
182
+ * v2 renders these as <button> rather than <div> so they are focusable and
183
+ * keyboard-operable. The first three declarations neutralise the UA button
184
+ * styles that <div> did not have, keeping the rendering identical to v1.
185
+ */
186
+ .dl-modal .btn {
187
+ font-size: inherit;
188
+ line-height: normal;
189
+ text-align: center;
190
+ float: right;
191
+ padding: 5px 10px 5px 10px;
192
+ margin-top: 6px;
193
+ margin-right: 10px;
194
+ border: 2px solid var(--dl-accent, #1ea6a3);
195
+ border-radius: var(--dl-radius, 4px);
196
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
197
+ color: var(--dl-accent, #1ea6a3);
198
+ background-color: transparent;
199
+ cursor: pointer;
200
+ }
201
+
202
+ .dl-modal .btn:hover {
203
+ border: 2px solid var(--dl-accent-hover, #22bb8b);
204
+ box-shadow: 0 0 19px -1px rgba(34, 187, 139, 0.1);
205
+ }
206
+
207
+ .dl-modal .btn.disabled {
208
+ opacity: 0.5;
209
+ cursor: default;
210
+ }
211
+
212
+ .dl-modal .btn.disabled:hover {
213
+ border: 2px solid var(--dl-accent, #1ea6a3);
214
+ box-shadow: none;
215
+ }
216
+
217
+ .dl-modal .btn.invisible {
218
+ display: none;
219
+ }
220
+
221
+ .dl-modal .btn.loading-btn {
222
+ cursor: default;
223
+ }
224
+
225
+ .dl-modal .btn.loading-btn::after {
226
+ content: ' ';
227
+ display: inline-block;
228
+ margin-left: 6px;
229
+ margin-bottom: -4px;
230
+ border: 2px solid #d1d0d8;
231
+ border-top: 2px solid var(--dl-accent, #1ea6a3);
232
+ border-radius: 50% !important;
233
+ width: 16px;
234
+ height: 16px;
235
+ padding: 0 !important;
236
+ animation: loading-icon-spin 1s linear infinite;
237
+ }
238
+
239
+ /* Also a <button> in v2; reset the UA chrome so the ✕ glyph is all that shows. */
240
+ .cancelBtn {
241
+ float: right;
242
+ width: 12px;
243
+ height: 16px;
244
+ padding: 0;
245
+ border: none;
246
+ background: transparent;
247
+ position: relative;
248
+ transform: rotate(45deg);
249
+ opacity: 0.3;
250
+ cursor: pointer;
251
+ }
252
+
253
+ .cancelBtn:hover {
254
+ opacity: 0.6;
255
+ }
256
+
257
+ .cancelBtn:before,
258
+ .cancelBtn:after {
259
+ content: '';
260
+ position: absolute;
261
+ z-index: -1;
262
+ background: currentColor;
263
+ }
264
+
265
+ .cancelBtn:before {
266
+ left: 6px;
267
+ width: 2px;
268
+ margin-left: -1px;
269
+ height: 12px;
270
+ }
271
+
272
+ .cancelBtn:after {
273
+ top: 6px;
274
+ height: 2px;
275
+ margin-top: -1px;
276
+ width: 12px;
277
+ }
278
+
279
+ /* -------------------------------------------------------------------- form */
280
+
281
+ .dl-form {
282
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
283
+ }
284
+
285
+ .dl-form label {
286
+ display: block;
287
+ width: 409px;
288
+ margin-bottom: 7px;
289
+ margin-left: 2px;
290
+ margin-top: 25px;
291
+ font-size: var(--dl-font-size, 0.9em);
292
+ color: var(--dl-label-color, #58565c);
293
+ font-weight: 500;
294
+ }
295
+
296
+ .dl-form .withoutLabel {
297
+ position: relative;
298
+ margin-top: 9px;
299
+ }
300
+
301
+ .dl-form form > .dl-form-field-wrapper {
302
+ position: relative;
303
+ }
304
+
305
+ .dl-form form > .dl-form-field-wrapper.notInTab,
306
+ .dl-form form > .dl-form-field-wrapper.inactive,
307
+ .dl-form-hidden-field {
308
+ display: none;
309
+ }
310
+
311
+ .dl-form form > .dl-form-field-wrapper.dl-select-wrapper {
312
+ margin-bottom: -4px;
313
+ }
314
+
315
+ .dl-form form > .dl-form-field-wrapper > input,
316
+ .dl-form form > .dl-form-field-wrapper > textarea {
317
+ outline-width: 0;
318
+ border: 2px solid var(--dl-line-color, #ddd);
319
+ border-radius: var(--dl-radius, 4px);
320
+ width: var(--dl-field-width, 400px);
321
+ max-width: var(--dl-field-width, 400px);
322
+ min-width: var(--dl-field-width, 400px);
323
+ padding: 6px;
324
+ font-size: var(--dl-font-size, 0.9em);
325
+ font-weight: 300;
326
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
327
+ box-sizing: content-box;
328
+ }
329
+
330
+ .dl-form form > .dl-form-field-wrapper > input:focus,
331
+ .dl-form form > .dl-form-field-wrapper > textarea:focus {
332
+ border: 2px solid var(--dl-focused-line-color, #bbb);
333
+ }
334
+
335
+ .dl-form form > .dl-form-field-wrapper > textarea {
336
+ min-height: 200px;
337
+ }
338
+
339
+ .dl-form form > .dl-form-field-wrapper > input.dl-tooltip-inside {
340
+ width: 369px;
341
+ max-width: 369px;
342
+ min-width: 369px;
343
+ padding-right: 37px;
344
+ box-sizing: content-box;
345
+ }
346
+
347
+ .dl-form form > p {
348
+ border: none;
349
+ max-width: 360px;
350
+ min-width: 360px;
351
+ padding: 6px;
352
+ padding-top: 20px;
353
+ line-height: 150%;
354
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
355
+ }
356
+
357
+ /* ---------------------------------------------------------------- checkbox */
358
+
359
+ .dl-form form .check {
360
+ display: flex;
361
+ margin-top: 8px;
362
+ }
363
+
364
+ .dl-form form .check label {
365
+ display: inline;
366
+ font-weight: 100;
367
+ margin-top: 0;
368
+ margin-left: 4px;
369
+ }
370
+
371
+ .dl-form form .check input {
372
+ visibility: hidden;
373
+ margin: 0 12px 0 0;
374
+ }
375
+
376
+ .dl-form form input[type='checkbox']:before {
377
+ visibility: visible;
378
+ content: '';
379
+ display: inline-block;
380
+ top: -3px;
381
+ width: 20px;
382
+ height: 20px;
383
+ border-radius: 5px;
384
+ position: relative;
385
+ border: 1px solid #828282;
386
+ background-color: #f4f4f4;
387
+ background-image: none;
388
+ background-size: 1rem;
389
+ background-position: center center;
390
+ background-repeat: no-repeat;
391
+ transition:
392
+ border 0.25s ease-out,
393
+ background 0.25s ease-out;
394
+ }
395
+
396
+ .dl-form form input[type='checkbox']:checked:before {
397
+ border: 0.0625rem solid var(--dl-accent, #1ea6a3);
398
+ background-color: var(--dl-accent, #1ea6a3);
399
+ background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2096%2096%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M33.8%2081.1c-1.3%200-2.5-.5-3.3-1.4L2.1%2051.3c-1.8-1.8-1.8-4.8%200-6.7%201.8-1.8%204.8-1.8%206.7%200l25.1%2025.1%2053.5-53.5c1.8-1.8%204.8-1.8%206.7%200%201.8%201.8%201.8%204.8%200%206.7l-57%2056.8c-.8.9-2%201.4-3.3%201.4z%22%2F%3E%3C%2Fsvg%3E);
400
+ }
401
+
402
+ /* ------------------------------------------------------------------- cards */
403
+
404
+ .dl-form form .detailed-options {
405
+ display: flex;
406
+ flex-wrap: wrap;
407
+ margin-top: 20px;
408
+ }
409
+
410
+ .dl-form form .detailed-option {
411
+ background: var(--dl-surface-muted, #f8f8f8);
412
+ border: 2px solid #dedddd;
413
+ cursor: pointer;
414
+ margin: 5px;
415
+ padding: 10px;
416
+ border-radius: var(--dl-radius, 4px);
417
+ width: 232px;
418
+ }
419
+
420
+ .dl-form form .detailed-option.active {
421
+ border: 2px solid var(--dl-accent, #1ea6a3);
422
+ }
423
+
424
+ /* -------------------------------------------------------- custom + arrays */
425
+
426
+ .dl-form form .render,
427
+ .dl-form form .array-of {
428
+ width: var(--dl-field-width, 400px);
429
+ max-width: var(--dl-field-width, 400px);
430
+ min-width: var(--dl-field-width, 400px);
431
+ padding: 6px;
432
+ font-size: var(--dl-font-size, 0.9em);
433
+ font-weight: 300;
434
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
435
+ text-align: center;
436
+ }
437
+
438
+ .largeModal .dl-form form .render,
439
+ .dl-form form .array-of {
440
+ width: auto;
441
+ max-width: initial;
442
+ min-width: auto;
443
+ }
444
+
445
+ .dl-form-array-of-entry {
446
+ text-align: left;
447
+ background-color: var(--dl-surface-muted, #f8f8f8);
448
+ padding: 8px;
449
+ border-radius: var(--dl-radius, 4px);
450
+ border: 1px solid var(--dl-border-muted, #e7e6e6);
451
+ margin-top: 4px;
452
+ min-height: 17px;
453
+ }
454
+
455
+ .dl-form-array-of-entry span {
456
+ width: 275px;
457
+ display: inline-block;
458
+ overflow: hidden;
459
+ }
460
+
461
+ .dl-form-array-of-entry button {
462
+ float: right;
463
+ margin-top: -1px;
464
+ border: 1px solid color-mix(in srgb, var(--dl-danger, #fe070b) 35%, transparent);
465
+ color: color-mix(in srgb, var(--dl-danger, #fe070b) 62%, transparent);
466
+ border-radius: var(--dl-radius, 4px);
467
+ background: transparent;
468
+ cursor: pointer;
469
+ }
470
+
471
+ .dl-form-array-of-entry button.edit-array-of-btn {
472
+ border: 1px solid var(--dl-accent, #1ea6a3);
473
+ color: var(--dl-accent, #1ea6a3);
474
+ margin-left: 3px;
475
+ }
476
+
477
+ .dl-form-array-of-add-entry {
478
+ float: right;
479
+ width: 100%;
480
+ border: 1px solid var(--dl-border-muted, #e7e6e6);
481
+ border-radius: var(--dl-radius, 4px);
482
+ color: var(--dl-accent, #1ea6a3);
483
+ background: var(--dl-surface-muted, #f8f8f8);
484
+ cursor: pointer;
485
+ padding: 8px;
486
+ margin-top: 4px;
487
+ outline: none;
488
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
489
+ font-size: 1.05em;
490
+ }
491
+
492
+ .dl-form-array-of-suggestion {
493
+ text-align: left;
494
+ background-color: var(--dl-surface-muted, #f8f8f8);
495
+ padding: 8px 8px 3px 8px;
496
+ border-radius: var(--dl-radius, 4px);
497
+ border: 1px solid var(--dl-border-muted, #e7e6e6);
498
+ margin-top: 4px !important;
499
+ min-height: 17px;
500
+ }
501
+
502
+ .dl-form-array-of-suggestion label {
503
+ text-align: left;
504
+ }
505
+
506
+ .dl-form-array-suggested-container {
507
+ margin-bottom: 15px;
508
+ }
509
+
510
+ /* ------------------------------------------------------------- multiselect */
511
+
512
+ .multiselect-tag {
513
+ display: flex;
514
+ justify-content: space-between;
515
+ align-items: center;
516
+ padding: 0 9px;
517
+ margin: 2px;
518
+ border-radius: 3px;
519
+ background-color: var(--dl-surface-sunken, #eee);
520
+ }
521
+
522
+ .multiselect-tag:last-child {
523
+ margin-bottom: 6px;
524
+ }
525
+
526
+ /* The "muliselect" spelling is a v1 typo kept for compatibility. */
527
+ .dl-muliselect-selected-remove-container {
528
+ margin: 9px 6px -5px 0;
529
+ }
530
+
531
+ .dl-muliselect-selected-remove {
532
+ display: inline-block;
533
+ width: 12px;
534
+ height: 35px;
535
+ position: relative;
536
+ transform: rotate(45deg);
537
+ opacity: 0.3;
538
+ cursor: pointer;
539
+ margin-right: 3px;
540
+ }
541
+
542
+ .dl-muliselect-selected-remove:hover {
543
+ opacity: 0.6;
544
+ }
545
+
546
+ .dl-muliselect-selected-remove:before,
547
+ .dl-muliselect-selected-remove:after {
548
+ content: '';
549
+ position: absolute;
550
+ z-index: -1;
551
+ background: currentColor;
552
+ }
553
+
554
+ .dl-muliselect-selected-remove:before {
555
+ left: 6px;
556
+ width: 2px;
557
+ margin-left: -1px;
558
+ height: 12px;
559
+ }
560
+
561
+ .dl-muliselect-selected-remove:after {
562
+ top: 6px;
563
+ height: 2px;
564
+ margin-top: -1px;
565
+ width: 12px;
566
+ }
567
+
568
+ /* -------------------------------------------------------------------- file */
569
+
570
+ .dl-form form > .dl-form-field-wrapper > div > input[type='file'] {
571
+ outline-width: 0;
572
+ width: var(--dl-field-width, 400px);
573
+ max-width: var(--dl-field-width, 400px);
574
+ min-width: var(--dl-field-width, 400px);
575
+ padding: 6px;
576
+ font-size: var(--dl-font-size, 0.9em);
577
+ font-weight: 300;
578
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
579
+ box-sizing: content-box;
580
+ }
581
+
582
+ .dl-form form > .dl-form-field-wrapper .file-field {
583
+ padding: 5px;
584
+ border: 2px solid var(--dl-line-color, #ddd);
585
+ border-radius: var(--dl-radius, 4px);
586
+ }
587
+
588
+ .dl-form form > .dl-form-field-wrapper .file-field .file-preview {
589
+ height: 50px;
590
+ margin: 5px 5px 16px 5px;
591
+ }
592
+
593
+ .dl-form form > .dl-form-field-wrapper .file-field .file-preview.empty {
594
+ height: 0;
595
+ margin: 0;
596
+ }
597
+
598
+ .dl-form form > .dl-form-field-wrapper .file-field .file-preview.loading {
599
+ display: inline-block;
600
+ margin-left: 6px;
601
+ margin-bottom: -4px;
602
+ border: 2px solid #d1d0d8;
603
+ border-top: 2px solid #8e8e8e;
604
+ border-radius: 50% !important;
605
+ width: 16px;
606
+ height: 16px;
607
+ padding: 0 !important;
608
+ animation: loading-icon-spin 1s linear infinite;
609
+ }
610
+
611
+ .file-selection-container {
612
+ display: flex;
613
+ }
614
+
615
+ .file-selection-delete-btn {
616
+ width: 30px;
617
+ height: 30px;
618
+ padding: 0;
619
+ border: none;
620
+ cursor: pointer;
621
+ background-color: var(--dl-danger, red);
622
+ }
623
+
624
+ /* ---------------------------------------------------------------- tooltips */
625
+
626
+ .dl-form .dl-tooltip {
627
+ padding: 1px 6px;
628
+ background: var(--dl-tooltip-background, #e6e6e6);
629
+ color: var(--dl-tooltip-color, #88858e);
630
+ border-radius: 10px;
631
+ float: right;
632
+ margin-right: 3px;
633
+ }
634
+
635
+ .dl-tooltip-in-input {
636
+ position: absolute;
637
+ right: 5px;
638
+ bottom: 6px;
639
+ }
640
+
641
+ .tooltip-loading {
642
+ border: 2px solid #d1d0d8;
643
+ border-top: 2px solid var(--dl-tooltip-color, #88858e);
644
+ border-radius: 50% !important;
645
+ width: 16px;
646
+ height: 16px;
647
+ padding: 0 !important;
648
+ animation: loading-icon-spin 1s linear infinite;
649
+ }
650
+
651
+ .tooltip-success {
652
+ padding-left: 4px !important;
653
+ padding-right: 4px !important;
654
+ background-color: var(--dl-tooltip-success-background, #d1e7dd) !important;
655
+ color: var(--dl-tooltip-success-color, #12b568) !important;
656
+ }
657
+
658
+ .tooltip-warning {
659
+ padding-left: 8px !important;
660
+ padding-right: 8px !important;
661
+ background-color: var(--dl-tooltip-warning-background, #ffecb5) !important;
662
+ color: var(--dl-tooltip-warning-color, #664d03) !important;
663
+ }
664
+
665
+ .tooltip-error {
666
+ padding-left: 8px !important;
667
+ padding-right: 8px !important;
668
+ background-color: var(--dl-tooltip-error-background, #f8d7da) !important;
669
+ color: var(--dl-tooltip-error-color, #842029) !important;
670
+ }
671
+
672
+ /*
673
+ * The bubble drawn by NativeTooltipProvider. v1 used tippy.js and shipped its
674
+ * stylesheet inline here; this replaces `.tippy-box` and `.tippy-arrow`.
675
+ */
676
+ .dl-tooltip-bubble {
677
+ position: absolute;
678
+ z-index: 1000;
679
+ max-width: min(300px, calc(100vw - 20px));
680
+ padding: 5px 9px;
681
+ border-radius: var(--dl-radius, 4px);
682
+ background: var(--dl-tooltip-bubble-background, #413e48);
683
+ color: var(--dl-tooltip-bubble-color, #d1cfd8);
684
+ font-family: var(--dl-font-family, 'Rubik', sans-serif);
685
+ font-weight: lighter;
686
+ font-size: 14px;
687
+ line-height: 1.4;
688
+ pointer-events: none;
689
+ }
690
+
691
+ /* --------------------------------------------------------------- utilities */
692
+
693
+ .dl-field-two-third input {
694
+ width: 194px !important;
695
+ min-width: 128px !important;
696
+ }
697
+
698
+ .left-side {
699
+ float: left;
700
+ }
701
+
702
+ .right-side {
703
+ margin-left: 173px;
704
+ }
705
+
706
+ .right-side input {
707
+ margin-left: 3px;
708
+ padding-top: 8px !important;
709
+ }
710
+
711
+ @keyframes loading-icon-spin {
712
+ 0% {
713
+ transform: rotate(0deg);
714
+ }
715
+ 100% {
716
+ transform: rotate(360deg);
717
+ }
718
+ }
719
+
720
+ /* -------------------------------------------------------------- dark theme */
721
+
722
+ /*
723
+ * Opt in by adding `dark-theme` to <body>, or copy these declarations under
724
+ * your own `@media (prefers-color-scheme: dark)` block. v1 had a single ad-hoc
725
+ * `body.dark-theme dl-select` rule; this covers the whole surface.
726
+ */
727
+ body.dark-theme {
728
+ --dl-surface: #282727;
729
+ --dl-surface-muted: #322f2f;
730
+ --dl-surface-sunken: #3a3838;
731
+ --dl-text-color: #d1cfd8;
732
+ --dl-label-color: #b9b7c0;
733
+ --dl-line-color: #4a4747;
734
+ --dl-focused-line-color: #6d6a6a;
735
+ --dl-border-muted: #4a4747;
736
+ --dl-tooltip-background: #413e48;
737
+ --dl-tooltip-color: #d1cfd8;
738
+ --dl-select-loading-col1: #282727;
739
+ --dl-select-loading-col2: #505656;
740
+ }