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