daisyui 2.52.0 → 3.0.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.
package/dist/unstyled.css CHANGED
@@ -1,30 +1,20 @@
1
1
  .alert {
2
- display: flex;
2
+ display: grid;
3
3
  width: 100%;
4
- flex-direction: column;
4
+ grid-auto-flow: row;
5
+ align-content: flex-start;
5
6
  align-items: center;
6
- justify-content: space-between;
7
- gap: 1rem
7
+ justify-items: center;
8
+ gap: 1rem;
9
+ text-align: center
8
10
  }
9
- .alert > :not([hidden]) ~ :not([hidden]) {
10
- --tw-space-y-reverse: 0;
11
- margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
12
- margin-bottom: calc(0.5rem * var(--tw-space-y-reverse))
13
- }
14
- @media (min-width: 768px) {
11
+ @media (min-width: 640px) {
15
12
  .alert {
16
- flex-direction: row
17
- }
18
- .alert > :not([hidden]) ~ :not([hidden]) {
19
- --tw-space-y-reverse: 0;
20
- margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
21
- margin-bottom: calc(0px * var(--tw-space-y-reverse))
13
+ grid-auto-flow: column;
14
+ grid-template-columns: auto minmax(auto,1fr);
15
+ justify-items: start;
16
+ text-align: left
22
17
  }
23
- }
24
- .alert > :where(*) {
25
- display: flex;
26
- align-items: center;
27
- gap: 0.5rem
28
18
  }
29
19
  .artboard {
30
20
  width: 100%
@@ -74,7 +64,7 @@
74
64
  justify-content: space-around;
75
65
  padding-bottom: env(safe-area-inset-bottom)
76
66
  }
77
- .btm-nav>* {
67
+ .btm-nav > * {
78
68
  position: relative;
79
69
  display: flex;
80
70
  height: 100%;
@@ -89,7 +79,8 @@
89
79
  max-width: 100%;
90
80
  overflow-x: auto
91
81
  }
92
- .breadcrumbs > ul,.breadcrumbs > ol {
82
+ .breadcrumbs > ul,
83
+ .breadcrumbs > ol {
93
84
  display: flex;
94
85
  align-items: center;
95
86
  white-space: nowrap;
@@ -104,8 +95,10 @@
104
95
  cursor: pointer;
105
96
  align-items: center
106
97
  }
107
- .breadcrumbs > ul > li > a:hover, .breadcrumbs > ol > li > a:hover {
108
- text-decoration-line: underline
98
+ @media (hover: hover) {
99
+ .breadcrumbs>ul>li>a:hover, .breadcrumbs>ol>li>a:hover {
100
+ text-decoration-line: underline
101
+ }
109
102
  }
110
103
  .btn {
111
104
  display: inline-flex;
@@ -131,20 +124,17 @@
131
124
  }
132
125
 
133
126
  /* disabled */
134
-
135
127
  .btn-disabled,
136
- .btn[disabled] {
128
+ .btn[disabled],
129
+ .btn:disabled {
137
130
  pointer-events: none;
138
131
  }
139
-
140
132
  /* shapes */
141
-
142
133
  .btn-square {
143
134
  height: 3rem;
144
135
  width: 3rem;
145
136
  padding: 0px;
146
137
  }
147
-
148
138
  .btn-circle {
149
139
  height: 3rem;
150
140
  width: 3rem;
@@ -152,49 +142,33 @@
152
142
  padding: 0px;
153
143
  }
154
144
 
155
- /* loading */
156
-
157
- .btn.loading,
158
- .btn.loading:hover {
159
- pointer-events: none;
160
- }
161
-
162
- .btn.loading:before {
163
- margin-right: 0.5rem;
164
- height: 1rem;
165
- width: 1rem;
166
- border-radius: 9999px;
167
- border-width: 2px;
168
- animation: spin 2s linear infinite;
169
- content: "";
170
- border-top-color: transparent;
171
- border-left-color: transparent;
172
- border-bottom-color: currentColor;
173
- border-right-color: currentColor;
174
- }
175
- @media (prefers-reduced-motion: reduce) {
176
- .btn.loading:before {
177
- animation: spin 10s linear infinite;
178
- }
179
- }
180
- @keyframes spin {
181
- from {
182
- transform: rotate(0deg);
183
- }
184
- to {
185
- transform: rotate(360deg);
186
- }
187
- }
188
145
  /* group */
146
+
189
147
  .btn-group {
190
148
  display: inline-flex;
191
149
  }
150
+
192
151
  .btn-group > input[type="radio"].btn {
193
152
  appearance: none;
194
153
  }
154
+
195
155
  .btn-group > input[type="radio"].btn:before {
196
156
  content: attr(data-title);
197
- }.card {
157
+ }
158
+
159
+ /* radio input and checkbox as button */
160
+
161
+ .btn:is(input[type="checkbox"]),
162
+ .btn:is(input[type="radio"]) {
163
+ appearance: none;
164
+ }
165
+
166
+ .btn:is(input[type="checkbox"]):after,
167
+ .btn:is(input[type="radio"]):after {
168
+ --tw-content: attr(aria-label);
169
+ content: var(--tw-content);
170
+ }
171
+ .card {
198
172
  position: relative;
199
173
  display: flex;
200
174
  flex-direction: column
@@ -242,7 +216,7 @@
242
216
  position: relative
243
217
  }
244
218
  .carousel {
245
- display: flex;
219
+ display: inline-flex;
246
220
  overflow-x: scroll;
247
221
  scroll-snap-type: x mandatory;
248
222
  scroll-behavior: smooth;
@@ -302,12 +276,9 @@
302
276
  width: 0.75rem;
303
277
  background-color: inherit;
304
278
  content: "";
305
- -webkit-mask-size: contain;
306
- mask-size: contain;
307
- -webkit-mask-repeat: no-repeat;
308
- mask-repeat: no-repeat;
309
- -webkit-mask-position: center;
310
- mask-position: center;
279
+ mask-size: contain;
280
+ mask-repeat: no-repeat;
281
+ mask-position: center;
311
282
  }
312
283
  .chat-start {
313
284
  place-items: start;
@@ -326,12 +297,10 @@
326
297
  grid-column-start: 2;
327
298
  }
328
299
  .chat-start .chat-bubble:before {
329
- -webkit-mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
330
- mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
300
+ mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
331
301
  }
332
302
  [dir="rtl"] .chat-start .chat-bubble:before {
333
- -webkit-mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
334
- mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
303
+ mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
335
304
  }
336
305
  .chat-end {
337
306
  place-items: end;
@@ -350,46 +319,56 @@
350
319
  grid-column-start: 1;
351
320
  }
352
321
  .chat-end .chat-bubble:before {
353
- -webkit-mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
354
- mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
322
+ mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
355
323
  }
356
324
  [dir="rtl"] .chat-end .chat-bubble:before {
357
- -webkit-mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
358
- mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
325
+ mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
359
326
  }
360
327
  .checkbox {
361
328
  flex-shrink: 0
362
329
  }
363
- .collapse.collapse {
330
+ .collapse:not(td):not(tr):not(colgroup) {
364
331
  visibility: visible;
365
332
  }
366
333
  .collapse {
367
334
  position: relative;
368
335
  display: grid;
369
336
  overflow: hidden;
370
- grid-template-rows: 1fr auto;
337
+ grid-template-rows: auto 0fr;
338
+ transition: grid-template-rows 0.2s;
371
339
  }
372
340
  .collapse-title,
373
341
  .collapse > input[type="checkbox"],
342
+ .collapse > input[type="radio"],
374
343
  .collapse-content {
375
344
  grid-column-start: 1;
376
345
  grid-row-start: 1;
377
346
  }
378
- .collapse > input[type="checkbox"] {
347
+ .collapse > input[type="checkbox"],
348
+ .collapse > input[type="radio"] {
379
349
  appearance: none;
380
350
  opacity: 0;
381
351
  }
382
352
  .collapse-content {
353
+ visibility: hidden;
354
+ grid-column-start: 1;
383
355
  grid-row-start: 2;
384
- overflow: hidden;
385
- max-height: 0px;
356
+ min-height: 0px;
357
+ transition: visibility 0.2s;
386
358
  }
359
+ .collapse[open],
360
+ .collapse-open,
361
+ .collapse:focus:not(.collapse-close),
362
+ .collapse:not(.collapse-close):has(input[type="checkbox"]:checked),
363
+ .collapse:not(.collapse-close):has(input[type="radio"]:checked) {
364
+ grid-template-rows: auto 1fr;
365
+ }
366
+ .collapse[open] .collapse-content,
387
367
  .collapse-open .collapse-content,
388
368
  .collapse:focus:not(.collapse-close) .collapse-content,
389
- .collapse:not(.collapse-close)
390
- input[type="checkbox"]:checked
391
- ~ .collapse-content {
392
- max-height: none;
369
+ .collapse:not(.collapse-close) input[type="checkbox"]:checked ~ .collapse-content,
370
+ .collapse:not(.collapse-close) input[type="radio"]:checked ~ .collapse-content {
371
+ visibility: visible;
393
372
  }
394
373
  :root .countdown {
395
374
  line-height: 1em;
@@ -422,259 +401,143 @@
422
401
  width: 100%;
423
402
  }
424
403
  .drawer {
425
-
404
+ position: relative;
426
405
  display: grid;
427
-
428
- width: 100%;
429
-
430
- overflow: hidden;
431
-
432
- height: 100vh;
433
- height: 100dvh;
406
+ grid-auto-columns: max-content auto;
434
407
  }
435
-
436
- .drawer.drawer-end {
437
- direction: rtl;
438
- }
439
-
440
- .drawer.drawer-end > * {
441
- direction: ltr;
442
- }
443
-
444
- .drawer.drawer-end > .drawer-toggle ~ .drawer-side > .drawer-overlay + * {
445
-
446
- --tw-translate-x: 100%;
447
-
448
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
449
-
450
- justify-self: end;
408
+ .drawer-content {
409
+ grid-column-start: 2;
410
+ grid-row-start: 1;
451
411
  }
452
-
453
- .drawer.drawer-end > .drawer-toggle:checked ~ .drawer-side > .drawer-overlay + * {
454
-
455
- --tw-translate-x: 0px;
456
-
457
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
412
+ .drawer-side {
413
+ pointer-events: none;
414
+ visibility: hidden;
415
+ position: fixed;
416
+ top: 0px;
417
+ left: 0px;
418
+ grid-column-start: 1;
419
+ grid-row-start: 1;
420
+ display: grid;
421
+ width: 100%;
422
+ grid-template-columns: repeat(1, minmax(0, 1fr));
423
+ grid-template-rows: repeat(1, minmax(0, 1fr));
424
+ align-items: flex-start;
425
+ justify-items: start;
426
+ overflow-y: auto;
427
+ overscroll-behavior: contain;
428
+ height: 100vh;
429
+ height: 100dvh;
430
+ scrollbar-width: none;
458
431
  }
459
- :where(.drawer-toggle ~ .drawer-content) {
460
- height: inherit;
432
+ .drawer-side::-webkit-scrollbar {
433
+ display: none;
461
434
  }
462
- .drawer-toggle {
463
-
464
- position: absolute;
465
-
435
+ .drawer-side > *:not(.drawer-overlay) {
436
+ transition: transform 0.4s cubic-bezier(0, 0, 0.58, 1);
437
+ transform: translateX(-100%);
438
+ }
439
+ [dir="rtl"] .drawer-side > *:not(.drawer-overlay) {
440
+ transform: translateX(100%);
441
+ }
442
+ .drawer-toggle {
443
+ position: fixed;
466
444
  height: 0px;
467
-
468
445
  width: 0px;
469
-
470
446
  appearance: none;
471
-
472
447
  opacity: 0;
473
448
  }
474
- .drawer-toggle ~ .drawer-content {
475
-
476
- z-index: 0;
477
-
478
- grid-column-start: 1;
479
-
480
- grid-row-start: 1;
481
-
482
- overflow-y: auto;
483
- }
484
- .drawer-toggle ~ .drawer-side {
485
-
486
- grid-column-start: 1;
487
-
488
- grid-row-start: 1;
489
-
490
- display: grid;
491
-
492
- max-height: 100vh;
493
-
494
- overflow-x: hidden;
495
- }
496
- .drawer-toggle ~ .drawer-side > .drawer-overlay {
497
-
498
- visibility: hidden;
499
-
500
- grid-column-start: 1;
501
-
502
- grid-row-start: 1;
503
-
504
- opacity: 0;
449
+ .drawer-toggle:checked ~ .drawer-side {
450
+ pointer-events: auto;
451
+ visibility: visible;
505
452
  }
506
- .drawer-toggle ~ .drawer-side > .drawer-overlay + * {
507
-
508
- z-index: 10;
509
-
453
+ .drawer-toggle:checked ~ .drawer-side > * {
510
454
  grid-column-start: 1;
511
-
512
455
  grid-row-start: 1;
513
-
514
- --tw-translate-x: -100%;
515
-
516
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
517
456
  }
518
- .drawer-toggle:checked ~ .drawer-side {
519
-
520
- isolation: isolate;
521
-
522
- overflow-y: auto;
523
-
524
- overflow-x: hidden;
525
- }
526
- .drawer-toggle:checked ~ .drawer-side > .drawer-overlay {
527
-
528
- visibility: visible;
529
- }
530
- .drawer-toggle:checked ~ .drawer-side > .drawer-overlay + * {
531
-
532
- --tw-translate-x: 0px;
533
-
534
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
535
- }
536
- [dir="rtl"] .drawer-toggle ~ .drawer-side > .drawer-overlay + * {
537
-
538
- --tw-translate-x: 100%;
539
-
540
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
541
- }
542
- [dir="rtl"] .drawer-toggle:checked ~ .drawer-side > .drawer-overlay + * {
543
-
544
- --tw-translate-x: 0px;
545
-
546
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
547
- }
548
- [dir="rtl"] .drawer.drawer-end > .drawer-toggle ~ .drawer-side > .drawer-overlay + * {
549
- --tw-translate-x: -100%;
550
- }
551
- [dir="rtl"] .drawer.drawer-end > .drawer-toggle:checked ~ .drawer-side > .drawer-overlay + * {
552
- --tw-translate-x: 0px;
553
- }
554
- [dir="rtl"] .drawer.drawer-end > .drawer-toggle:checked ~ .drawer-content {
555
- --tw-translate-x: 0.5rem;
457
+ .drawer-toggle:checked ~ .drawer-side > *:not(.drawer-overlay) {
458
+ transform: translateX(0%);
459
+ }
460
+ .drawer-toggle:checked ~ .drawer-side > .drawer-overlay {
461
+ position: sticky;
462
+ top: 0px;
463
+ place-self: stretch;
556
464
  }
557
- @media (min-width: 1024px) {
558
- .drawer-mobile {
559
- grid-auto-columns: max-content auto;
560
- }
561
- .drawer-mobile > .drawer-toggle ~ .drawer-content {
562
-
563
- height: auto;
564
- }
565
- @media (min-width: 1024px) {
566
-
567
- .drawer-mobile > .drawer-toggle ~ .drawer-content {
568
-
569
- grid-column-start: 2;
570
- }
571
- }
572
- .drawer-mobile > .drawer-toggle ~ .drawer-side {
573
-
574
- overflow-y: auto;
575
- }
576
- @media (min-width: 1024px) {
577
-
578
- .drawer-mobile > .drawer-toggle ~ .drawer-side > .drawer-overlay {
579
-
580
- visibility: visible;
581
- }
582
-
583
- .drawer-mobile > .drawer-toggle ~ .drawer-side > .drawer-overlay + * {
584
-
585
- --tw-translate-x: 0px;
586
-
587
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
588
- }
589
- }
590
- .drawer-mobile.drawer-end {
465
+ .drawer-end {
591
466
  grid-auto-columns: auto max-content;
592
- direction: ltr;
593
- }
594
- .drawer-mobile.drawer-end > .drawer-toggle ~ .drawer-content {
595
-
596
- height: auto;
597
- }
598
- @media (min-width: 1024px) {
599
-
600
- .drawer-mobile.drawer-end > .drawer-toggle ~ .drawer-content {
601
-
602
- grid-column-start: 1;
603
- }
604
- }
605
- .drawer-mobile.drawer-end > .drawer-toggle ~ .drawer-side {
606
-
607
- overflow-y: auto;
608
- }
609
- @media (min-width: 1024px) {
610
-
611
- .drawer-mobile.drawer-end > .drawer-toggle ~ .drawer-side {
612
-
613
- grid-column-start: 2;
614
- }
615
-
616
- .drawer-mobile.drawer-end > .drawer-toggle ~ .drawer-side > .drawer-overlay {
617
-
618
- visibility: visible;
619
- }
620
-
621
- .drawer-mobile.drawer-end > .drawer-toggle ~ .drawer-side > .drawer-overlay + * {
622
-
623
- --tw-translate-x: 0px;
624
-
625
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
626
- }
627
467
  }
468
+ .drawer-end .drawer-toggle ~ .drawer-content {
469
+ grid-column-start: 1;
628
470
  }
471
+ .drawer-end .drawer-toggle ~ .drawer-side {
472
+ justify-items: end;
473
+ }
474
+ .drawer-end .drawer-toggle ~ .drawer-side > *:not(.drawer-overlay) {
475
+ transform: translateX(100%);
476
+ }
477
+ [dir="rtl"] .drawer-end .drawer-toggle ~ .drawer-side > *:not(.drawer-overlay) {
478
+ transform: translateX(-100%);
479
+ }
480
+ .drawer-end .drawer-toggle:checked ~ .drawer-side > *:not(.drawer-overlay) {
481
+ transform: translateX(0%);
482
+ }
629
483
  .dropdown {
630
- position: relative;
631
- display: inline-block
484
+ position: relative;
485
+ display: inline-block
632
486
  }
633
487
  .dropdown > *:focus {
634
- outline: 2px solid transparent;
635
- outline-offset: 2px
488
+ outline: 2px solid transparent;
489
+ outline-offset: 2px
636
490
  }
637
491
  .dropdown .dropdown-content {
638
- visibility: hidden;
639
- position: absolute;
640
- z-index: 50;
641
- opacity: 0
492
+ position: absolute
493
+ }
494
+ .dropdown:is(:not(details)) .dropdown-content {
495
+ visibility: hidden;
496
+ opacity: 0
642
497
  }
643
498
  .dropdown-end .dropdown-content {
644
- right: 0px
499
+ right: 0px
645
500
  }
646
501
  .dropdown-left .dropdown-content {
647
- top: 0px;
648
- right: 100%;
649
- bottom: auto
502
+ top: 0px;
503
+ right: 100%;
504
+ bottom: auto
650
505
  }
651
506
  .dropdown-right .dropdown-content {
652
- left: 100%;
653
- top: 0px;
654
- bottom: auto
507
+ left: 100%;
508
+ top: 0px;
509
+ bottom: auto
655
510
  }
656
511
  .dropdown-bottom .dropdown-content {
657
- bottom: auto;
658
- top: 100%
512
+ bottom: auto;
513
+ top: 100%
659
514
  }
660
515
  .dropdown-top .dropdown-content {
661
- bottom: 100%;
662
- top: auto
516
+ bottom: 100%;
517
+ top: auto
663
518
  }
664
519
  .dropdown-end.dropdown-right .dropdown-content {
665
- bottom: 0px;
666
- top: auto
520
+ bottom: 0px;
521
+ top: auto
667
522
  }
668
523
  .dropdown-end.dropdown-left .dropdown-content {
669
- bottom: 0px;
670
- top: auto
524
+ bottom: 0px;
525
+ top: auto
671
526
  }
672
527
  .dropdown.dropdown-open .dropdown-content,
673
- .dropdown.dropdown-hover:hover .dropdown-content,
674
528
  .dropdown:not(.dropdown-hover):focus .dropdown-content,
675
- .dropdown:not(.dropdown-hover):focus-within .dropdown-content {
676
- visibility: visible;
677
- opacity: 1
529
+ .dropdown:focus-within .dropdown-content {
530
+ visibility: visible;
531
+ opacity: 1
532
+ }
533
+ @media (hover: hover) {
534
+ .dropdown.dropdown-hover:hover .dropdown-content {
535
+ visibility: visible;
536
+ opacity: 1
537
+ }
538
+ }
539
+ .dropdown:is(details) summary::-webkit-details-marker {
540
+ display: none
678
541
  }
679
542
  .file-input {
680
543
  height: 3rem;
@@ -820,7 +683,7 @@
820
683
  display: flex;
821
684
  align-items: center;
822
685
  --tw-bg-opacity: 1;
823
- background-color: hsl(var(--b3, var(--b2)) / var(--tw-bg-opacity));
686
+ background-color: hsl(var(--b3) / var(--tw-bg-opacity));
824
687
  padding-left: 1rem;
825
688
  padding-right: 1rem;
826
689
  }
@@ -851,94 +714,114 @@
851
714
  border-bottom-left-radius: var(--rounded-btn, 0.5rem);
852
715
  border-bottom-right-radius: var(--rounded-btn, 0.5rem);
853
716
  }
717
+ .join {
718
+ display: inline-flex;
719
+ align-items: stretch;
720
+ }
721
+ .join * {
722
+ border-radius: inherit;
723
+ }
724
+ .join :where(.join-item) {
725
+ border-top-right-radius: 0;
726
+ border-bottom-right-radius: 0;
727
+ border-bottom-left-radius: 0;
728
+ border-top-left-radius: 0;
729
+ }
730
+ .join .join-item:not(:first-child):not(:last-child),
731
+ .join *:not(:first-child):not(:last-child) .join-item {
732
+ border-top-right-radius: 0;
733
+ border-bottom-right-radius: 0;
734
+ border-bottom-left-radius: 0;
735
+ border-top-left-radius: 0;
736
+ }
737
+ .join .join-item:first-child:not(:last-child),
738
+ .join *:first-child:not(:last-child) .join-item {
739
+ border-top-right-radius: 0;
740
+ border-bottom-right-radius: 0;
741
+ }
742
+ .join :where(.join-item:first-child:not(:last-child)),
743
+ .join :where(*:first-child:not(:last-child) .join-item) {
744
+ border-bottom-left-radius: inherit;
745
+ border-top-left-radius: inherit;
746
+ }
747
+ .join .join-item:last-child:not(:first-child),
748
+ .join *:last-child:not(:first-child) .join-item {
749
+ border-bottom-left-radius: 0;
750
+ border-top-left-radius: 0;
751
+ }
752
+ .join :where(.join-item:last-child:not(:first-child)),
753
+ .join :where(*:last-child:not(:first-child) .join-item) {
754
+ border-top-right-radius: inherit;
755
+ border-bottom-right-radius: inherit;
756
+ }
854
757
  .kbd {
855
758
  display: inline-flex;
856
759
  align-items: center;
857
760
  justify-content: center
858
761
  }
859
762
  .link {
860
- cursor: pointer;
861
- text-decoration-line: underline
763
+ cursor: pointer;
764
+ text-decoration-line: underline
862
765
  }
863
766
  .link-hover {
864
- text-decoration-line: none
767
+ text-decoration-line: none
865
768
  }
769
+ @media (hover: hover) {
866
770
  .link-hover:hover {
867
771
  text-decoration-line: underline
772
+ }
868
773
  }
869
774
  .mask {
870
- -webkit-mask-size: contain;
871
- mask-size: contain;
872
- -webkit-mask-repeat: no-repeat;
873
- mask-repeat: no-repeat;
874
- -webkit-mask-position: center;
875
- mask-position: center;
775
+ mask-size: contain;
776
+ mask-repeat: no-repeat;
777
+ mask-position: center;
876
778
  }
877
779
  .mask-half-1 {
878
- -webkit-mask-size: 200%;
879
- mask-size: 200%;
880
- -webkit-mask-position: left;
881
- mask-position: left;
780
+ mask-size: 200%;
781
+ mask-position: left;
882
782
  }
883
783
  .mask-half-2 {
884
- -webkit-mask-size: 200%;
885
- mask-size: 200%;
886
- -webkit-mask-position: right;
887
- mask-position: right;
784
+ mask-size: 200%;
785
+ mask-position: right;
888
786
  }
889
787
  .menu {
890
- display: flex;
891
- flex-direction: column;
892
- flex-wrap: wrap
893
- }
894
- .menu.horizontal {
895
- display: inline-flex;
896
- flex-direction: row
897
- }
898
- .menu.horizontal :where(li) {
899
- flex-direction: row
900
- }
901
- :where(.menu li) {
902
- position: relative;
903
- display: flex;
904
- flex-shrink: 0;
905
- flex-direction: column;
906
- flex-wrap: wrap;
907
- align-items: stretch
908
- }
909
- .menu :where(li:not(.menu-title)) > :where(*:not(ul)) {
910
- display: flex
911
- }
912
- .menu :where(li:not(.disabled):not(.menu-title)) > :where(*:not(ul)) {
913
- cursor: pointer;
914
- user-select: none;
915
- align-items: center;
916
- outline: 2px solid transparent;
917
- outline-offset: 2px
788
+ display: flex;
789
+ flex-direction: column;
790
+ flex-wrap: wrap;
791
+ font-size: 0.875rem;
792
+ line-height: 1.25rem
918
793
  }
919
- .menu > :where(li > *:not(ul):focus) {
920
- outline: 2px solid transparent;
921
- outline-offset: 2px
794
+ .menu :where(li ul) {
795
+ position: relative;
796
+ white-space: nowrap
922
797
  }
923
- .menu > :where(li.disabled > *:not(ul):focus) {
924
- cursor: auto
798
+ .menu :where(li:not(.menu-title) > *:not(ul):not(details):not(.menu-title)),
799
+ .menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
800
+ display: grid;
801
+ grid-auto-flow: column;
802
+ align-content: flex-start;
803
+ align-items: center;
804
+ gap: 0.5rem;
805
+ grid-auto-columns: max-content auto max-content;
806
+ user-select: none
925
807
  }
926
- .menu > :where(li) :where(ul) {
927
- display: flex;
928
- flex-direction: column;
929
- align-items: stretch
808
+ .menu li.disabled {
809
+ cursor: not-allowed;
810
+ user-select: none
930
811
  }
931
- .menu > :where(li) > :where(ul) {
932
- position: absolute;
933
- display: none;
934
- top: initial;
935
- left: 100%
812
+ .menu :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
813
+ display: none
936
814
  }
937
- .menu > :where(li:hover) > :where(ul) {
938
- display: flex
815
+ :where(.menu li) {
816
+ position: relative;
817
+ display: flex;
818
+ flex-shrink: 0;
819
+ flex-direction: column;
820
+ flex-wrap: wrap;
821
+ align-items: stretch
939
822
  }
940
- .menu > :where(li:focus) > :where(ul) {
941
- display: flex
823
+ :where(.menu li) .badge {
824
+ justify-self: end
942
825
  }
943
826
  .mockup-code {
944
827
  position: relative;
@@ -961,15 +844,25 @@
961
844
  text-align: right;
962
845
  }
963
846
  .modal {
847
+ /* @apply pointer-events-none invisible fixed inset-0 flex justify-center opacity-0; */
964
848
  pointer-events: none;
965
- visibility: hidden;
966
849
  position: fixed;
967
850
  inset: 0px;
968
- display: flex;
969
- justify-content: center;
851
+ margin: 0px;
852
+ display: grid;
853
+ height: 100%;
854
+ max-height: none;
855
+ width: 100%;
856
+ max-width: none;
857
+ justify-items: center;
858
+ padding: 0px;
970
859
  opacity: 0;
860
+ overscroll-behavior: contain;
971
861
  z-index: 999;
972
862
  }
863
+ .modal-scroll {
864
+ overscroll-behavior: auto;
865
+ }
973
866
  :where(.modal) {
974
867
  align-items: center;
975
868
  }
@@ -978,7 +871,8 @@
978
871
  }
979
872
  .modal-open,
980
873
  .modal:target,
981
- .modal-toggle:checked + .modal {
874
+ .modal-toggle:checked + .modal,
875
+ .modal[open] {
982
876
  pointer-events: auto;
983
877
  visibility: visible;
984
878
  opacity: 1;
@@ -993,6 +887,9 @@
993
887
  appearance: none;
994
888
  opacity: 0;
995
889
  }
890
+ :root:has(:is(.modal-open, .modal:target, .modal-toggle:checked + .modal, .modal[open])) {
891
+ overflow: hidden;
892
+ }
996
893
  .navbar {
997
894
  display: flex;
998
895
  align-items: center;
@@ -1049,9 +946,19 @@
1049
946
  }
1050
947
  .radial-progress:before {
1051
948
  inset: 0px;
1052
- background: radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor calc(var(--value) * 1%), #0000 0);
1053
- -webkit-mask: radial-gradient(farthest-side, #0000 calc(99% - var(--thickness)), #000 calc(100% - var(--thickness)));
1054
- mask: radial-gradient(farthest-side, #0000 calc(99% - var(--thickness)), #000 calc(100% - var(--thickness)));
949
+ background: radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness)
950
+ var(--thickness) no-repeat,
951
+ conic-gradient(currentColor calc(var(--value) * 1%), #0000 0);
952
+ -webkit-mask: radial-gradient(
953
+ farthest-side,
954
+ #0000 calc(99% - var(--thickness)),
955
+ #000 calc(100% - var(--thickness))
956
+ );
957
+ mask: radial-gradient(
958
+ farthest-side,
959
+ #0000 calc(99% - var(--thickness)),
960
+ #000 calc(100% - var(--thickness))
961
+ );
1055
962
  }
1056
963
  .radial-progress:after {
1057
964
  inset: calc(50% - var(--thickness) / 2);
@@ -1077,28 +984,28 @@
1077
984
  border-radius: 0px
1078
985
  }
1079
986
  .select {
1080
- display: inline-flex;
1081
- flex-shrink: 0;
1082
- cursor: pointer;
1083
- user-select: none;
1084
- appearance: none;
1085
- height: 3rem;
1086
- padding-left: 1rem;
1087
- padding-right: 2.5rem;
1088
- font-size: 0.875rem;
1089
- line-height: 1.25rem;
1090
- line-height: 2;
1091
- min-height: 3rem
987
+ display: inline-flex;
988
+ flex-shrink: 0;
989
+ cursor: pointer;
990
+ user-select: none;
991
+ appearance: none;
992
+ height: 3rem;
993
+ padding-left: 1rem;
994
+ padding-right: 2.5rem;
995
+ font-size: 0.875rem;
996
+ line-height: 1.25rem;
997
+ line-height: 2;
998
+ min-height: 3rem
999
+ }
1092
1000
 
1093
1001
  /* disabled */
1094
1002
  /* &-disabled,
1095
1003
  &[disabled] {
1096
1004
  @apply pointer-events-none;
1097
1005
  } */
1098
- }
1099
1006
  /* multiple */
1100
1007
  .select[multiple] {
1101
- height: auto
1008
+ height: auto
1102
1009
  }
1103
1010
  .stack {
1104
1011
  display: inline-grid;
@@ -1234,13 +1141,29 @@
1234
1141
  }
1235
1142
  .table {
1236
1143
  position: relative;
1144
+ width: 100%
1145
+ }
1146
+ .table :where(.table-pin-rows thead tr) {
1147
+ position: sticky;
1148
+ top: 0px;
1149
+ z-index: 1;
1150
+ --tw-bg-opacity: 1;
1151
+ background-color: hsl(var(--b1) / var(--tw-bg-opacity))
1152
+ }
1153
+ .table :where(.table-pin-rows tfoot tr) {
1154
+ position: sticky;
1155
+ bottom: 0px;
1156
+ z-index: 1;
1157
+ --tw-bg-opacity: 1;
1158
+ background-color: hsl(var(--b1) / var(--tw-bg-opacity))
1237
1159
  }
1238
- .table th:first-child {
1239
- /* because safari */
1160
+ .table :where(.table-pin-cols tr th) {
1240
1161
  position: sticky;
1241
1162
  left: 0px;
1242
- z-index: 11;
1243
- }
1163
+ right: 0px;
1164
+ --tw-bg-opacity: 1;
1165
+ background-color: hsl(var(--b1) / var(--tw-bg-opacity))
1166
+ }
1244
1167
  .textarea {
1245
1168
  flex-shrink: 1;
1246
1169
  min-height: 3rem;
@@ -1256,48 +1179,9 @@
1256
1179
  position: fixed;
1257
1180
  display: flex;
1258
1181
  min-width: fit-content;
1259
- flex-direction: column
1182
+ flex-direction: column;
1183
+ white-space: nowrap
1260
1184
  }
1261
1185
  .toggle {
1262
1186
  flex-shrink: 0
1263
1187
  }
1264
- .tooltip {
1265
- position: relative;
1266
- display: inline-block;
1267
- --tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px));
1268
- }
1269
- .tooltip:before {
1270
- position: absolute;
1271
- pointer-events: none;
1272
- z-index: 999;
1273
- content: var(--tw-content);
1274
- --tw-content: attr(data-tip);
1275
- }
1276
- .tooltip:before, .tooltip-top:before {
1277
- transform: translateX(-50%);
1278
- top: auto;
1279
- left: 50%;
1280
- right: auto;
1281
- bottom: var(--tooltip-offset);
1282
- }
1283
- .tooltip-bottom:before {
1284
- transform: translateX(-50%);
1285
- top: var(--tooltip-offset);
1286
- left: 50%;
1287
- right: auto;
1288
- bottom: auto;
1289
- }
1290
- .tooltip-left:before {
1291
- transform: translateY(-50%);
1292
- top: 50%;
1293
- left: auto;
1294
- right: var(--tooltip-offset);
1295
- bottom: auto;
1296
- }
1297
- .tooltip-right:before {
1298
- transform: translateY(-50%);
1299
- top: 50%;
1300
- left: var(--tooltip-offset);
1301
- right: auto;
1302
- bottom: auto;
1303
- }