daisyui 4.0.0-alpha.3 → 4.0.0-alpha.5

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/styled.css CHANGED
@@ -109,66 +109,52 @@
109
109
  flex-wrap: wrap;
110
110
  align-items: center;
111
111
  justify-content: center;
112
- border-radius: var(--rounded-btn, 0.5rem);
113
112
  border-color: transparent;
114
113
  text-align: center;
115
114
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
116
115
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
117
116
  transition-duration: 200ms;
118
117
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
118
+ border-radius: var(--rounded-btn, 0.5rem);
119
119
  height: 3rem;
120
120
  min-height: 3rem;
121
121
  padding-left: 1rem;
122
122
  padding-right: 1rem;
123
123
  font-size: 0.875rem;
124
- line-height: 1em;
124
+ line-height: 1em
125
125
  }
126
126
 
127
127
  /* disabled */
128
128
  .btn-disabled,
129
129
  .btn[disabled],
130
130
  .btn:disabled {
131
- pointer-events: none;
131
+ pointer-events: none
132
132
  }
133
133
  /* shapes */
134
134
  .btn-square {
135
135
  height: 3rem;
136
136
  width: 3rem;
137
- padding: 0px;
137
+ padding: 0px
138
138
  }
139
139
  .btn-circle {
140
140
  height: 3rem;
141
141
  width: 3rem;
142
142
  border-radius: 9999px;
143
- padding: 0px;
144
- }
145
-
146
- /* group */
147
-
148
- .btn-group {
149
- display: inline-flex;
143
+ padding: 0px
150
144
  }
151
145
 
152
- .btn-group > input[type="radio"].btn {
153
- appearance: none;
154
- }
155
-
156
- .btn-group > input[type="radio"].btn:before {
157
- content: attr(data-title);
158
- }
159
-
160
146
  /* radio input and checkbox as button */
161
147
 
162
148
  :where(.btn:is(input[type="checkbox"])),
163
149
  :where(.btn:is(input[type="radio"])) {
164
150
  width: auto;
165
- appearance: none;
151
+ appearance: none
166
152
  }
167
153
 
168
154
  .btn:is(input[type="checkbox"]):after,
169
155
  .btn:is(input[type="radio"]):after {
170
156
  --tw-content: attr(aria-label);
171
- content: var(--tw-content);
157
+ content: var(--tw-content)
172
158
  }
173
159
  .card {
174
160
  position: relative;
@@ -652,76 +638,8 @@
652
638
  padding-right: 1rem;
653
639
  font-size: 0.875rem;
654
640
  line-height: 1.25rem;
655
- line-height: 2;
656
- }
657
- .input-group {
658
- display: flex;
659
- width: 100%;
660
- align-items: stretch;
661
- }
662
- .input-group > .input {
663
- isolation: isolate;
664
- }
665
- .input-group > *,
666
- .input-group > .input,
667
- .input-group > .textarea,
668
- .input-group > .select {
669
- border-radius: 0px;
670
- }
671
- .input-group-md {
672
- font-size: 0.875rem;
673
- line-height: 1.25rem;
674
- line-height: 2;
675
- }
676
- .input-group-lg {
677
- font-size: 1.125rem;
678
- line-height: 1.75rem;
679
- line-height: 2;
680
- }
681
- .input-group-sm {
682
- font-size: 0.875rem;
683
- line-height: 2rem;
684
- }
685
- .input-group-xs {
686
- font-size: 0.75rem;
687
- line-height: 1rem;
688
- line-height: 1.625;
689
- }
690
- .input-group :where(span) {
691
- display: flex;
692
- align-items: center;
693
- --tw-bg-opacity: 1;
694
- background-color: oklch(var(--b3) / var(--tw-bg-opacity));
695
- padding-left: 1rem;
696
- padding-right: 1rem;
697
- }
698
- .input-group > :first-child {
699
- border-top-left-radius: var(--rounded-btn, 0.5rem);
700
- border-top-right-radius: 0;
701
- border-bottom-left-radius: var(--rounded-btn, 0.5rem);
702
- border-bottom-right-radius: 0;
703
- }
704
- .input-group > :last-child {
705
- border-top-left-radius: 0;
706
- border-top-right-radius: var(--rounded-btn, 0.5rem);
707
- border-bottom-left-radius: 0;
708
- border-bottom-right-radius: var(--rounded-btn, 0.5rem);
709
- }
710
- .input-group-vertical {
711
- flex-direction: column;
641
+ line-height: 2
712
642
  }
713
- .input-group-vertical :first-child {
714
- border-top-left-radius: var(--rounded-btn, 0.5rem);
715
- border-top-right-radius: var(--rounded-btn, 0.5rem);
716
- border-bottom-left-radius: 0;
717
- border-bottom-right-radius: 0;
718
- }
719
- .input-group-vertical :last-child {
720
- border-top-left-radius: 0;
721
- border-top-right-radius: 0;
722
- border-bottom-left-radius: var(--rounded-btn, 0.5rem);
723
- border-bottom-right-radius: var(--rounded-btn, 0.5rem);
724
- }
725
643
  .join {
726
644
  display: inline-flex;
727
645
  align-items: stretch;
@@ -764,8 +682,17 @@
764
682
  border-start-end-radius: inherit;
765
683
  border-end-end-radius: inherit;
766
684
  }
767
- :where(.join *) {
768
- border-radius: inherit;
685
+
686
+ @supports not selector(:has(*)) {
687
+ :where(.join *) {
688
+ border-radius: inherit;
689
+ }
690
+ }
691
+
692
+ @supports selector(:has(*)) {
693
+ :where(.join *:has(.join-item)) {
694
+ border-radius: inherit;
695
+ }
769
696
  }
770
697
  .kbd {
771
698
  display: inline-flex;
@@ -1149,24 +1076,54 @@
1149
1076
  opacity: 1
1150
1077
  }
1151
1078
  .tabs {
1152
- display: flex;
1153
- flex-wrap: wrap;
1154
- align-items: flex-end
1079
+ display: grid;
1080
+ align-items: flex-end;
1081
+ }
1082
+ .tabs:has(.tab-content[class^="rounded-"]) .tab-lifted:first-child:not(.tab-active),
1083
+ .tabs:has(.tab-content[class*=" rounded-"]) .tab-lifted:first-child:not(.tab-active) {
1084
+ border-bottom-color: transparent;
1155
1085
  }
1156
1086
  .tab {
1157
1087
  position: relative;
1088
+ grid-row-start: 1;
1158
1089
  display: inline-flex;
1090
+ height: 2rem;
1159
1091
  cursor: pointer;
1160
1092
  user-select: none;
1093
+ appearance: none;
1161
1094
  flex-wrap: wrap;
1162
1095
  align-items: center;
1163
1096
  justify-content: center;
1164
1097
  text-align: center;
1165
- height: 2rem;
1166
1098
  font-size: 0.875rem;
1167
1099
  line-height: 1.25rem;
1168
1100
  line-height: 2;
1169
- --tab-padding: 1rem
1101
+ --tab-padding: 1rem;
1102
+ }
1103
+ .tab:is(input[type="radio"]):after {
1104
+ --tw-content: attr(aria-label);
1105
+ content: var(--tw-content);
1106
+ }
1107
+ .tab:not(input):empty {
1108
+ cursor: default;
1109
+ grid-column-start: span 9999;
1110
+ }
1111
+ .tab-content {
1112
+ grid-column: 1 / -1;
1113
+ grid-column-end: span 9999;
1114
+ grid-row-start: 2;
1115
+ margin-top: calc(var(--tab-border) * -1);
1116
+ display: none;
1117
+ border-color: transparent;
1118
+ border-width: var(--tab-border, 0);
1119
+ }
1120
+ :checked + .tab-content:nth-child(2),
1121
+ .tab-active + .tab-content:nth-child(2) {
1122
+ border-start-start-radius: 0px;
1123
+ }
1124
+ input.tab:checked + .tab-content,
1125
+ .tab-active + .tab-content {
1126
+ display: block;
1170
1127
  }
1171
1128
  .table {
1172
1129
  position: relative;
@@ -1208,6 +1165,60 @@
1208
1165
  line-height: 1.25rem;
1209
1166
  line-height: 2
1210
1167
  }
1168
+ .timeline {
1169
+ position: relative;
1170
+ display: flex;
1171
+ }
1172
+ :where(.timeline li) {
1173
+ position: relative;
1174
+ display: grid;
1175
+ align-items: center;
1176
+ grid-template-rows: 1fr auto 1fr;
1177
+ grid-template-columns: 1fr auto 1fr;
1178
+ }
1179
+ :where(.timeline:not(:has(.timeline-start)) li) {
1180
+ grid-template-rows: min-content auto 1fr;
1181
+ }
1182
+ :where(.timeline:not(:has(.timeline-end)) li) {
1183
+ grid-template-rows: 1fr auto min-content;
1184
+ }
1185
+ :where(.timeline:not(:has(.timeline-start)):not(:has(.timeline-end)) li) {
1186
+ grid-template-rows: min-content auto min-content;
1187
+ }
1188
+ .timeline hr {
1189
+ width: 100%;
1190
+ border-width: 0px;
1191
+ }
1192
+ :where(.timeline hr):first-child {
1193
+ grid-column-start: 1;
1194
+ grid-row-start: 2;
1195
+ }
1196
+ :where(.timeline hr):last-child {
1197
+ grid-column-start: 3;
1198
+ grid-row-start: 2;
1199
+ }
1200
+ .timeline-start {
1201
+ grid-column-start: 1;
1202
+ grid-column-end: 4;
1203
+ grid-row-start: 1;
1204
+ grid-row-end: 2;
1205
+ margin: 0.25rem;
1206
+ align-self: flex-end;
1207
+ justify-self: center;
1208
+ }
1209
+ .timeline-middle {
1210
+ grid-column-start: 2;
1211
+ grid-row-start: 2;
1212
+ }
1213
+ .timeline-end {
1214
+ grid-column-start: 1;
1215
+ grid-column-end: 4;
1216
+ grid-row-start: 3;
1217
+ grid-row-end: 4;
1218
+ margin: 0.25rem;
1219
+ align-self: flex-start;
1220
+ justify-self: center;
1221
+ }
1211
1222
  .toast {
1212
1223
  position: fixed;
1213
1224
  display: flex;
@@ -1219,13 +1230,13 @@
1219
1230
  flex-shrink: 0
1220
1231
  }
1221
1232
  .alert {
1222
- border-radius: var(--rounded-box, 1rem);
1223
1233
  border-width: 1px;
1224
1234
  --tw-border-opacity: 1;
1225
1235
  border-color: oklch(var(--b2) / var(--tw-border-opacity));
1226
1236
  padding: 1rem;
1227
1237
  --tw-text-opacity: 1;
1228
1238
  color: oklch(var(--bc) / var(--tw-text-opacity));
1239
+ border-radius: var(--rounded-box, 1rem);
1229
1240
  --alert-bg: oklch(var(--b2));
1230
1241
  --alert-bg-mix: oklch(var(--b1));
1231
1242
  background-color: var(--alert-bg)
@@ -1273,14 +1284,14 @@
1273
1284
  border-color: oklch(var(--b1) / var(--tw-border-opacity))
1274
1285
  }
1275
1286
  .badge {
1276
- border-radius: var(--rounded-badge, 1.9rem);
1277
1287
  border-width: 1px;
1278
1288
  --tw-border-opacity: 1;
1279
1289
  border-color: oklch(var(--b2) / var(--tw-border-opacity));
1280
1290
  --tw-bg-opacity: 1;
1281
1291
  background-color: oklch(var(--b1) / var(--tw-bg-opacity));
1282
1292
  --tw-text-opacity: 1;
1283
- color: oklch(var(--bc) / var(--tw-text-opacity))
1293
+ color: oklch(var(--bc) / var(--tw-text-opacity));
1294
+ border-radius: var(--rounded-badge, 1.9rem)
1284
1295
  }
1285
1296
  .badge-neutral {
1286
1297
  --tw-border-opacity: 1;
@@ -1957,22 +1968,9 @@
1957
1968
  --tw-text-opacity: 0.2;
1958
1969
  }
1959
1970
  }
1960
- /* group */
1961
- .btn-group > input[type="radio"]:checked.btn,
1962
- .btn-group > .btn-active {
1963
- --tw-border-opacity: 1;
1964
- border-color: oklch(var(--p) / var(--tw-border-opacity));
1965
- --tw-bg-opacity: 1;
1966
- background-color: oklch(var(--p) / var(--tw-bg-opacity));
1967
- --tw-text-opacity: 1;
1968
- color: oklch(var(--pc) / var(--tw-text-opacity));
1969
- }
1970
- .btn-group > input[type="radio"]:checked.btn:focus-visible, .btn-group > .btn-active:focus-visible {
1971
- outline-style: solid;
1972
- outline-width: 2px;
1973
- outline-color: oklch(var(--p) / 1);
1974
- }
1971
+
1975
1972
  /* radio input and checkbox as button */
1973
+
1976
1974
  .btn:is(input[type="checkbox"]:checked),
1977
1975
  .btn:is(input[type="radio"]:checked) {
1978
1976
  --tw-border-opacity: 1;
@@ -1982,6 +1980,7 @@
1982
1980
  --tw-text-opacity: 1;
1983
1981
  color: oklch(var(--pc) / var(--tw-text-opacity));
1984
1982
  }
1983
+
1985
1984
  @media (hover: hover) {
1986
1985
  .btn:is(input[type="checkbox"]:checked):hover, .btn:is(input[type="radio"]:checked):hover {
1987
1986
  --tw-border-opacity: 1;
@@ -1990,9 +1989,11 @@
1990
1989
  background-color: oklch(var(--pf) / var(--tw-bg-opacity));
1991
1990
  }
1992
1991
  }
1992
+
1993
1993
  .btn:is(input[type="checkbox"]:checked):focus-visible, .btn:is(input[type="radio"]:checked):focus-visible {
1994
1994
  outline-color: oklch(var(--p) / 1);
1995
1995
  }
1996
+
1996
1997
  @keyframes button-pop {
1997
1998
  0% {
1998
1999
  transform: scale(var(--btn-focus-scale, 0.98));
@@ -2056,10 +2057,10 @@
2056
2057
  }
2057
2058
  .card.image-full:before {
2058
2059
  z-index: 10;
2059
- border-radius: var(--rounded-box, 1rem);
2060
2060
  --tw-bg-opacity: 1;
2061
2061
  background-color: oklch(var(--n) / var(--tw-bg-opacity));
2062
2062
  opacity: 0.75;
2063
+ border-radius: var(--rounded-box, 1rem);
2063
2064
  }
2064
2065
  .card.image-full > .card-body {
2065
2066
  z-index: 20;
@@ -2153,10 +2154,10 @@
2153
2154
  width: 1.5rem;
2154
2155
  cursor: pointer;
2155
2156
  appearance: none;
2156
- border-radius: var(--rounded-btn, 0.5rem);
2157
2157
  border-width: 1px;
2158
2158
  border-color: oklch(var(--bc) / var(--tw-border-opacity));
2159
2159
  --tw-border-opacity: 0.2;
2160
+ border-radius: var(--rounded-btn, 0.5rem);
2160
2161
  }
2161
2162
  .checkbox:focus-visible {
2162
2163
  outline-style: solid;
@@ -2555,7 +2556,7 @@ details.collapse summary {
2555
2556
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
2556
2557
  }
2557
2558
  .drawer-toggle:checked ~ .drawer-side > .drawer-overlay {
2558
- background-color: oklch(0 0% 0%/0.4);
2559
+ background-color: oklch(0 0 0/0.4);
2559
2560
  }
2560
2561
  .drawer-toggle:focus-visible ~ .drawer-content label.drawer-button {
2561
2562
  outline-style: solid;
@@ -2600,7 +2601,6 @@ details.collapse summary {
2600
2601
  }
2601
2602
  .file-input {
2602
2603
  overflow: hidden;
2603
- border-radius: var(--rounded-btn, 0.5rem);
2604
2604
  border-width: 1px;
2605
2605
  border-color: oklch(var(--bc) / var(--tw-border-opacity));
2606
2606
  --tw-border-opacity: 0;
@@ -2608,6 +2608,7 @@ details.collapse summary {
2608
2608
  background-color: oklch(var(--b1) / var(--tw-bg-opacity));
2609
2609
  font-size: 1rem;
2610
2610
  line-height: 1.5rem;
2611
+ border-radius: var(--rounded-btn, 0.5rem);
2611
2612
  }
2612
2613
  .file-input::file-selector-button {
2613
2614
  border-style: solid;
@@ -2823,7 +2824,6 @@ details.collapse summary {
2823
2824
  padding: 1rem
2824
2825
  }
2825
2826
  .input {
2826
- border-radius: var(--rounded-btn, 0.5rem);
2827
2827
  border-width: 1px;
2828
2828
  border-color: oklch(var(--bc) / var(--tw-border-opacity));
2829
2829
  --tw-border-opacity: 0;
@@ -2831,6 +2831,7 @@ details.collapse summary {
2831
2831
  background-color: oklch(var(--b1) / var(--tw-bg-opacity));
2832
2832
  font-size: 1rem;
2833
2833
  line-height: 1.5rem;
2834
+ border-radius: var(--rounded-btn, 0.5rem);
2834
2835
  /* &::-webkit-calendar-picker-indicator {
2835
2836
  display: none;
2836
2837
  } */
@@ -2946,7 +2947,6 @@ details.collapse summary {
2946
2947
  isolation: isolate
2947
2948
  }
2948
2949
  .kbd {
2949
- border-radius: var(--rounded-btn, 0.5rem);
2950
2950
  border-width: 1px;
2951
2951
  border-color: oklch(var(--bc) / var(--tw-border-opacity));
2952
2952
  --tw-border-opacity: 0.2;
@@ -2954,6 +2954,7 @@ details.collapse summary {
2954
2954
  background-color: oklch(var(--b2) / var(--tw-bg-opacity));
2955
2955
  padding-left: 0.5rem;
2956
2956
  padding-right: 0.5rem;
2957
+ border-radius: var(--rounded-btn, 0.5rem);
2957
2958
  border-bottom-width: 2px;
2958
2959
  min-height: 2.2em;
2959
2960
  min-width: 2.2em
@@ -3167,7 +3168,6 @@ details.collapse summary {
3167
3168
  }
3168
3169
  .menu :where(li:not(.menu-title) > *:not(ul):not(details):not(.menu-title)),
3169
3170
  .menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
3170
- border-radius: var(--rounded-btn, 0.5rem);
3171
3171
  padding-left: 1rem;
3172
3172
  padding-right: 1rem;
3173
3173
  padding-top: 0.5rem;
@@ -3177,6 +3177,7 @@ details.collapse summary {
3177
3177
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
3178
3178
  transition-duration: 200ms;
3179
3179
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
3180
+ border-radius: var(--rounded-btn, 0.5rem);
3180
3181
  text-wrap: balance;
3181
3182
  }
3182
3183
  :where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):not(summary):not(.active).focus,
@@ -3259,13 +3260,13 @@ details.collapse summary {
3259
3260
  }
3260
3261
  .mockup-code {
3261
3262
  min-width: 18rem;
3262
- border-radius: var(--rounded-box, 1rem);
3263
3263
  --tw-bg-opacity: 1;
3264
3264
  background-color: oklch(var(--n) / var(--tw-bg-opacity));
3265
3265
  padding-top: 1.25rem;
3266
3266
  padding-bottom: 1.25rem;
3267
3267
  --tw-text-opacity: 1;
3268
3268
  color: oklch(var(--nc) / var(--tw-text-opacity));
3269
+ border-radius: var(--rounded-box, 1rem);
3269
3270
  direction: ltr;
3270
3271
  }
3271
3272
  .mockup-code:before {
@@ -3296,8 +3297,8 @@ details.collapse summary {
3296
3297
  .mockup-window {
3297
3298
  display: flex;
3298
3299
  flex-direction: column;
3299
- border-radius: var(--rounded-box, 1rem);
3300
3300
  padding-top: 1.25rem;
3301
+ border-radius: var(--rounded-box, 1rem);
3301
3302
  }
3302
3303
  .mockup-window:before {
3303
3304
  content: "";
@@ -3467,10 +3468,6 @@ details.collapse summary {
3467
3468
  --tw-scale-x: .9;
3468
3469
  --tw-scale-y: .9;
3469
3470
  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));
3470
- border-bottom-right-radius: var(--rounded-box, 1rem);
3471
- border-bottom-left-radius: var(--rounded-box, 1rem);
3472
- border-top-left-radius: var(--rounded-box, 1rem);
3473
- border-top-right-radius: var(--rounded-box, 1rem);
3474
3471
  --tw-bg-opacity: 1;
3475
3472
  background-color: oklch(var(--b1) / var(--tw-bg-opacity));
3476
3473
  padding: 1.5rem;
@@ -3478,6 +3475,10 @@ details.collapse summary {
3478
3475
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
3479
3476
  transition-duration: 200ms;
3480
3477
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
3478
+ border-top-left-radius: var(--rounded-box, 1rem);
3479
+ border-top-right-radius: var(--rounded-box, 1rem);
3480
+ border-bottom-left-radius: var(--rounded-box, 1rem);
3481
+ border-bottom-right-radius: var(--rounded-box, 1rem);
3481
3482
  box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
3482
3483
  overflow-y: auto;
3483
3484
  overscroll-behavior: contain;
@@ -3512,48 +3513,48 @@ details.collapse summary {
3512
3513
  }
3513
3514
  .progress {
3514
3515
  height: 0.5rem;
3515
- border-radius: var(--rounded-box, 1rem);
3516
3516
  background-color: oklch(var(--bc) / 0.2);
3517
+ border-radius: var(--rounded-box, 1rem);
3517
3518
  }
3518
3519
  .progress::-moz-progress-bar {
3519
- border-radius: var(--rounded-box, 1rem);
3520
3520
  --tw-bg-opacity: 1;
3521
3521
  background-color: oklch(var(--bc) / var(--tw-bg-opacity));
3522
+ border-radius: var(--rounded-box, 1rem);
3522
3523
  }
3523
3524
  .progress-primary::-moz-progress-bar {
3524
- border-radius: var(--rounded-box, 1rem);
3525
3525
  --tw-bg-opacity: 1;
3526
3526
  background-color: oklch(var(--p) / var(--tw-bg-opacity));
3527
+ border-radius: var(--rounded-box, 1rem);
3527
3528
  }
3528
3529
  .progress-secondary::-moz-progress-bar {
3529
- border-radius: var(--rounded-box, 1rem);
3530
3530
  --tw-bg-opacity: 1;
3531
3531
  background-color: oklch(var(--s) / var(--tw-bg-opacity));
3532
+ border-radius: var(--rounded-box, 1rem);
3532
3533
  }
3533
3534
  .progress-accent::-moz-progress-bar {
3534
- border-radius: var(--rounded-box, 1rem);
3535
3535
  --tw-bg-opacity: 1;
3536
3536
  background-color: oklch(var(--a) / var(--tw-bg-opacity));
3537
+ border-radius: var(--rounded-box, 1rem);
3537
3538
  }
3538
3539
  .progress-info::-moz-progress-bar {
3539
- border-radius: var(--rounded-box, 1rem);
3540
3540
  --tw-bg-opacity: 1;
3541
3541
  background-color: oklch(var(--in) / var(--tw-bg-opacity));
3542
+ border-radius: var(--rounded-box, 1rem);
3542
3543
  }
3543
3544
  .progress-success::-moz-progress-bar {
3544
- border-radius: var(--rounded-box, 1rem);
3545
3545
  --tw-bg-opacity: 1;
3546
3546
  background-color: oklch(var(--su) / var(--tw-bg-opacity));
3547
+ border-radius: var(--rounded-box, 1rem);
3547
3548
  }
3548
3549
  .progress-warning::-moz-progress-bar {
3549
- border-radius: var(--rounded-box, 1rem);
3550
3550
  --tw-bg-opacity: 1;
3551
3551
  background-color: oklch(var(--wa) / var(--tw-bg-opacity));
3552
+ border-radius: var(--rounded-box, 1rem);
3552
3553
  }
3553
3554
  .progress-error::-moz-progress-bar {
3554
- border-radius: var(--rounded-box, 1rem);
3555
3555
  --tw-bg-opacity: 1;
3556
3556
  background-color: oklch(var(--er) / var(--tw-bg-opacity));
3557
+ border-radius: var(--rounded-box, 1rem);
3557
3558
  }
3558
3559
  .progress:indeterminate {
3559
3560
  --progress-color: oklch(var(--bc));
@@ -3580,13 +3581,13 @@ details.collapse summary {
3580
3581
  --progress-color: oklch(var(--er));
3581
3582
  }
3582
3583
  .progress::-webkit-progress-bar {
3583
- border-radius: var(--rounded-box, 1rem);
3584
3584
  background-color: transparent;
3585
+ border-radius: var(--rounded-box, 1rem);
3585
3586
  }
3586
3587
  .progress::-webkit-progress-value {
3587
- border-radius: var(--rounded-box, 1rem);
3588
3588
  --tw-bg-opacity: 1;
3589
3589
  background-color: oklch(var(--bc) / var(--tw-bg-opacity));
3590
+ border-radius: var(--rounded-box, 1rem);
3590
3591
  }
3591
3592
  .progress-primary::-webkit-progress-value {
3592
3593
  --tw-bg-opacity: 1;
@@ -3877,8 +3878,8 @@ details.collapse summary {
3877
3878
  -webkit-appearance: none;
3878
3879
  --range-shdw: var(--bc);
3879
3880
  overflow: hidden;
3880
- border-radius: var(--rounded-box, 1rem);
3881
3881
  background-color: transparent;
3882
+ border-radius: var(--rounded-box, 1rem);
3882
3883
  }
3883
3884
  .range:focus-visible::-webkit-slider-thumb {
3884
3885
  --focus-shadow: 0 0 0 6px oklch(var(--b1)) inset, 0 0 0 2rem oklch(var(--range-shdw)) inset;
@@ -3889,23 +3890,23 @@ details.collapse summary {
3889
3890
  .range::-webkit-slider-runnable-track {
3890
3891
  height: 0.5rem;
3891
3892
  width: 100%;
3892
- border-radius: var(--rounded-box, 1rem);
3893
3893
  background-color: oklch(var(--bc) / 0.1);
3894
+ border-radius: var(--rounded-box, 1rem);
3894
3895
  }
3895
3896
  .range::-moz-range-track {
3896
3897
  height: 0.5rem;
3897
3898
  width: 100%;
3898
- border-radius: var(--rounded-box, 1rem);
3899
3899
  background-color: oklch(var(--bc) / 0.1);
3900
+ border-radius: var(--rounded-box, 1rem);
3900
3901
  }
3901
3902
  .range::-webkit-slider-thumb {
3902
3903
  position: relative;
3903
3904
  height: 1.5rem;
3904
3905
  width: 1.5rem;
3905
- border-radius: var(--rounded-box, 1rem);
3906
3906
  border-style: none;
3907
3907
  --tw-bg-opacity: 1;
3908
3908
  background-color: oklch(var(--b1) / var(--tw-bg-opacity));
3909
+ border-radius: var(--rounded-box, 1rem);
3909
3910
  appearance: none;
3910
3911
  -webkit-appearance: none;
3911
3912
  top: 50%;
@@ -3922,10 +3923,10 @@ details.collapse summary {
3922
3923
  position: relative;
3923
3924
  height: 1.5rem;
3924
3925
  width: 1.5rem;
3925
- border-radius: var(--rounded-box, 1rem);
3926
3926
  border-style: none;
3927
3927
  --tw-bg-opacity: 1;
3928
3928
  background-color: oklch(var(--b1) / var(--tw-bg-opacity));
3929
+ border-radius: var(--rounded-box, 1rem);
3929
3930
  top: 50%;
3930
3931
  color: oklch(var(--range-shdw));
3931
3932
  --filler-size: 100rem;
@@ -4001,13 +4002,13 @@ details.collapse summary {
4001
4002
  }
4002
4003
  }
4003
4004
  .select {
4004
- border-radius: var(--rounded-btn, 0.5rem);
4005
4005
  border-width: 1px;
4006
4006
  border-color: oklch(var(--bc) / var(--tw-border-opacity));
4007
4007
  --tw-border-opacity: 0;
4008
4008
  --tw-bg-opacity: 1;
4009
4009
  background-color: oklch(var(--b1) / var(--tw-bg-opacity));
4010
4010
  padding-right: 2.5rem;
4011
+ border-radius: var(--rounded-btn, 0.5rem);
4011
4012
  }
4012
4013
  .select-bordered {
4013
4014
  --tw-border-opacity: 0.2;
@@ -4114,6 +4115,37 @@ details.collapse summary {
4114
4115
  calc(0% + 12px) calc(1px + 50%),
4115
4116
  calc(0% + 16px) calc(1px + 50%);
4116
4117
  }
4118
+ .skeleton {
4119
+ --tw-bg-opacity: 1;
4120
+ background-color: oklch(var(--b3) / var(--tw-bg-opacity));
4121
+ border-radius: var(--rounded-box, 1rem);
4122
+ will-change: background-position;
4123
+ animation: skeleton 2.5s ease-in-out infinite;
4124
+ background-image: linear-gradient(
4125
+ 105deg,
4126
+ transparent 0%,
4127
+ transparent 40%,
4128
+ oklch(var(--b1)) 50%,
4129
+ transparent 60%,
4130
+ transparent 100%
4131
+ );
4132
+ background-size: 200% auto;
4133
+ background-repeat: no-repeat;
4134
+ background-position-x: -50%;
4135
+ }
4136
+ @media (prefers-reduced-motion) {
4137
+ .skeleton {
4138
+ animation-duration: 15s;
4139
+ }
4140
+ }
4141
+ @keyframes skeleton {
4142
+ from {
4143
+ background-position: 150%;
4144
+ }
4145
+ to {
4146
+ background-position: -50%;
4147
+ }
4148
+ }
4117
4149
  .stack {
4118
4150
  place-items: center;
4119
4151
  align-items: flex-end
@@ -4129,11 +4161,11 @@ details.collapse summary {
4129
4161
  opacity: 1
4130
4162
  }
4131
4163
  .stats {
4132
- border-radius: var(--rounded-box, 1rem);
4133
4164
  --tw-bg-opacity: 1;
4134
4165
  background-color: oklch(var(--b1) / var(--tw-bg-opacity));
4135
4166
  --tw-text-opacity: 1;
4136
4167
  color: oklch(var(--bc) / var(--tw-text-opacity));
4168
+ border-radius: var(--rounded-box, 1rem);
4137
4169
  }
4138
4170
  :where(.stats) > :not([hidden]) ~ :not([hidden]) {
4139
4171
  --tw-divide-x-reverse: 0;
@@ -4381,7 +4413,8 @@ details.collapse summary {
4381
4413
  padding-inline-start: var(--tab-padding, 1rem);
4382
4414
  padding-inline-end: var(--tab-padding, 1rem);
4383
4415
  }
4384
- .tab.tab-active:not(.tab-disabled):not([disabled]) {
4416
+ .tab.tab-active:not(.tab-disabled):not([disabled]),
4417
+ .tab:is(input:checked) {
4385
4418
  border-color: oklch(var(--bc) / var(--tw-border-opacity));
4386
4419
  --tw-border-opacity: 1;
4387
4420
  --tw-text-opacity: 1;
@@ -4392,11 +4425,11 @@ details.collapse summary {
4392
4425
  }
4393
4426
  .tab:focus-visible {
4394
4427
  outline: 2px solid currentColor;
4395
- outline-offset: -3px;
4428
+ outline-offset: -5px;
4396
4429
  }
4397
4430
  .tab:focus-visible.tab-lifted {
4398
- border-end-end-radius: var(--tab-radius, 0.5rem);
4399
- border-end-start-radius: var(--tab-radius, 0.5rem);
4431
+ border-end-end-radius: 0;
4432
+ border-end-start-radius: 0;
4400
4433
  }
4401
4434
  /* disabled */
4402
4435
  .tab-disabled,
@@ -4429,7 +4462,8 @@ details.collapse summary {
4429
4462
  padding-inline-end: var(--tab-padding, 1rem);
4430
4463
  padding-top: var(--tab-border, 1px);
4431
4464
  }
4432
- .tab-lifted.tab-active:not(.tab-disabled):not([disabled]) {
4465
+ .tab-lifted.tab-active:not(.tab-disabled):not([disabled]),
4466
+ .tab-lifted:is(input:checked) {
4433
4467
  background-color: var(--tab-bg);
4434
4468
  border-width: var(--tab-border, 1px) var(--tab-border, 1px) 0 var(--tab-border, 1px);
4435
4469
  border-inline-start-color: var(--tab-border-color);
@@ -4440,75 +4474,76 @@ details.collapse summary {
4440
4474
  padding-bottom: var(--tab-border, 1px);
4441
4475
  padding-top: 0;
4442
4476
  }
4443
- .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):before,
4444
- .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):after {
4477
+ .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):before, .tab-lifted:is(input:checked):before {
4445
4478
  z-index: 1;
4446
4479
  content: "";
4447
4480
  display: block;
4448
4481
  position: absolute;
4449
- width: var(--tab-radius, 0.5rem);
4482
+ width: calc(100% + var(--tab-radius, 0.5rem) * 2);
4450
4483
  height: var(--tab-radius, 0.5rem);
4451
4484
  bottom: 0;
4485
+ background-size: var(--tab-radius, 0.5rem);
4486
+ background-position:
4487
+ top left,
4488
+ top right;
4489
+ background-repeat: no-repeat;
4452
4490
  --tab-grad: calc(68% - var(--tab-border, 1px));
4453
- --tab-corner-bg: radial-gradient(
4454
- circle at var(--circle-pos),
4491
+ --radius-start: radial-gradient(
4492
+ circle at top left,
4455
4493
  transparent var(--tab-grad),
4456
4494
  var(--tab-border-color) calc(var(--tab-grad) + 0.3px),
4457
4495
  var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),
4458
4496
  var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.3px)
4459
4497
  );
4498
+ --radius-end: radial-gradient(
4499
+ circle at top right,
4500
+ transparent var(--tab-grad),
4501
+ var(--tab-border-color) calc(var(--tab-grad) + 0.3px),
4502
+ var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),
4503
+ var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.3px)
4504
+ );
4505
+ background-image: var(--radius-start), var(--radius-end);
4460
4506
  }
4461
- .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):before {
4462
- inset-inline-start: calc(var(--tab-radius, 0.5rem) * -1);
4463
- --circle-pos: top left;
4464
- background-image: var(--tab-corner-bg);
4465
- }
4466
- [dir="rtl"] .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):before {
4467
- --circle-pos: top right;
4468
- }
4469
- .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):after {
4470
- inset-inline-end: calc(var(--tab-radius, 0.5rem) * -1);
4471
- --circle-pos: top right;
4472
- background-image: var(--tab-corner-bg);
4473
- }
4474
- [dir="rtl"] .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):after {
4475
- --circle-pos: top left;
4476
- }
4477
- .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):first-child:before {
4478
- background: none;
4507
+ .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):first-child:before, .tab-lifted:is(input:checked):first-child:before {
4508
+ background-image: var(--radius-end);
4509
+ background-position: top right;
4479
4510
  }
4480
- .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):last-child:after {
4481
- background: none;
4511
+ .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):last-child:before, .tab-lifted:is(input:checked):last-child:before {
4512
+ background-image: var(--radius-start);
4513
+ background-position: top left;
4482
4514
  }
4483
4515
  .tab-lifted.tab-active:not(.tab-disabled):not([disabled])
4484
- + .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):before {
4485
- background: none;
4516
+ + .tab-lifted.tab-active:not(.tab-disabled):not([disabled]):before, .tab-lifted:is(input:checked) + .tab-lifted:is(input:checked):before {
4517
+ background-image: var(--radius-end);
4518
+ background-position: top right;
4486
4519
  }
4487
4520
  .tabs-boxed {
4488
- border-radius: var(--rounded-btn, 0.5rem);
4489
4521
  --tw-bg-opacity: 1;
4490
4522
  background-color: oklch(var(--b2) / var(--tw-bg-opacity));
4491
4523
  padding: 0.25rem;
4524
+ border-radius: var(--rounded-btn, 0.5rem);
4492
4525
  }
4493
4526
  .tabs-boxed .tab {
4494
4527
  border-radius: var(--rounded-btn, 0.5rem);
4495
4528
  }
4496
- .tabs-boxed .tab-active:not(.tab-disabled):not([disabled]) {
4529
+ .tabs-boxed .tab-active:not(.tab-disabled):not([disabled]),
4530
+ .tabs-boxed :is(input:checked) {
4497
4531
  --tw-bg-opacity: 1;
4498
4532
  background-color: oklch(var(--p) / var(--tw-bg-opacity));
4499
4533
  --tw-text-opacity: 1;
4500
4534
  color: oklch(var(--pc) / var(--tw-text-opacity));
4501
4535
  }
4502
- @media(hover:hover) {.tabs-boxed .tab-active:not(.tab-disabled):not([disabled]):hover {
4536
+ @media(hover:hover) {.tabs-boxed .tab-active:not(.tab-disabled):not([disabled]):hover,
4537
+ .tabs-boxed :is(input:checked):hover {
4503
4538
  --tw-text-opacity: 1;
4504
4539
  color: oklch(var(--pc) / var(--tw-text-opacity));
4505
4540
  }
4506
4541
  }
4507
4542
  .table {
4508
- border-radius: var(--rounded-box, 1rem);
4509
4543
  text-align: left;
4510
4544
  font-size: 0.875rem;
4511
- line-height: 1.25rem
4545
+ line-height: 1.25rem;
4546
+ border-radius: var(--rounded-box, 1rem)
4512
4547
  }
4513
4548
  :is([dir="rtl"] .table) {
4514
4549
  text-align: right
@@ -4560,12 +4595,12 @@ details.collapse summary {
4560
4595
  color: oklch(var(--bc) / 0.6)
4561
4596
  }
4562
4597
  .textarea {
4563
- border-radius: var(--rounded-btn, 0.5rem);
4564
4598
  border-width: 1px;
4565
4599
  border-color: oklch(var(--bc) / var(--tw-border-opacity));
4566
4600
  --tw-border-opacity: 0;
4567
4601
  --tw-bg-opacity: 1;
4568
- background-color: oklch(var(--b1) / var(--tw-bg-opacity))
4602
+ background-color: oklch(var(--b1) / var(--tw-bg-opacity));
4603
+ border-radius: var(--rounded-btn, 0.5rem)
4569
4604
  }
4570
4605
  .textarea-bordered {
4571
4606
  --tw-border-opacity: 0.2
@@ -4650,6 +4685,52 @@ details.collapse summary {
4650
4685
  color: oklch(var(--bc) / var(--tw-placeholder-opacity));
4651
4686
  --tw-placeholder-opacity: 0.2
4652
4687
  }
4688
+ .timeline hr {
4689
+ height: 0.25rem
4690
+ }
4691
+ :where(.timeline hr) {
4692
+ --tw-bg-opacity: 1;
4693
+ background-color: oklch(var(--b3) / var(--tw-bg-opacity))
4694
+ }
4695
+ :where(.timeline:has(.timeline-middle) hr):first-child {
4696
+ border-start-end-radius: var(--rounded-badge, 1.9rem);
4697
+ border-end-end-radius: var(--rounded-badge, 1.9rem);
4698
+ border-start-start-radius: 0px;
4699
+ border-end-start-radius: 0px
4700
+ }
4701
+ :where(.timeline:has(.timeline-middle) hr):last-child {
4702
+ border-start-start-radius: var(--rounded-badge, 1.9rem);
4703
+ border-end-start-radius: var(--rounded-badge, 1.9rem);
4704
+ border-start-end-radius: 0px;
4705
+ border-end-end-radius: 0px
4706
+ }
4707
+ :where(.timeline:not(:has(.timeline-middle)) :first-child hr:last-child) {
4708
+ border-start-start-radius: var(--rounded-badge, 1.9rem);
4709
+ border-end-start-radius: var(--rounded-badge, 1.9rem);
4710
+ border-start-end-radius: 0px;
4711
+ border-end-end-radius: 0px
4712
+ }
4713
+ :where(.timeline:not(:has(.timeline-middle)) :last-child hr:first-child) {
4714
+ border-start-end-radius: var(--rounded-badge, 1.9rem);
4715
+ border-end-end-radius: var(--rounded-badge, 1.9rem);
4716
+ border-start-start-radius: 0px;
4717
+ border-end-start-radius: 0px
4718
+ }
4719
+ .timeline-box {
4720
+ border-width: 1px;
4721
+ --tw-border-opacity: 1;
4722
+ border-color: oklch(var(--b3) / var(--tw-border-opacity));
4723
+ --tw-bg-opacity: 1;
4724
+ background-color: oklch(var(--b1) / var(--tw-bg-opacity));
4725
+ padding-left: 1rem;
4726
+ padding-right: 1rem;
4727
+ padding-top: 0.5rem;
4728
+ padding-bottom: 0.5rem;
4729
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4730
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
4731
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
4732
+ border-radius: var(--rounded-box, 1rem)
4733
+ }
4653
4734
  .toast {
4654
4735
  gap: 0.5rem;
4655
4736
  padding: 1rem;
@@ -4677,12 +4758,12 @@ details.collapse summary {
4677
4758
  width: 3rem;
4678
4759
  cursor: pointer;
4679
4760
  appearance: none;
4680
- border-radius: var(--rounded-badge, 1.9rem);
4681
4761
  border-width: 1px;
4682
4762
  border-color: oklch(var(--bc) / var(--tw-border-opacity));
4683
4763
  --tw-border-opacity: 0.2;
4684
4764
  background-color: oklch(var(--bc) / var(--tw-bg-opacity));
4685
4765
  --tw-bg-opacity: 0.5;
4766
+ border-radius: var(--rounded-badge, 1.9rem);
4686
4767
  transition:
4687
4768
  background,
4688
4769
  box-shadow var(--animation-input, 0.2s) ease-out;