|
1 | 1 | @layer components { |
2 | | - .collapse:not(td):not(tr):not(colgroup) { |
3 | | - @apply visible; |
| 2 | + .collapse { |
| 3 | + @apply !visible grid; |
4 | 4 | } |
5 | 5 |
|
6 | | - .collapse { |
7 | | - @apply relative grid overflow-hidden; |
| 6 | + .collapse > .collapse-content { |
| 7 | + @apply relative col-start-1 row-start-2 grid min-h-0; |
8 | 8 |
|
9 | | - grid-template-rows: auto 0fr; |
| 9 | + grid-template-rows: 0fr; |
10 | 10 | transition: grid-template-rows 0.2s; |
11 | 11 | } |
12 | 12 |
|
| 13 | + .collapse > .collapse-content > * { |
| 14 | + @apply overflow-hidden; |
| 15 | + } |
| 16 | + |
13 | 17 | .collapse-title, |
14 | 18 | .collapse > input[type="checkbox"], |
15 | | - .collapse > input[type="radio"], |
16 | | - .collapse-content { |
| 19 | + .collapse > input[type="radio"] { |
17 | 20 | @apply col-start-1 row-start-1; |
18 | 21 | } |
19 | 22 |
|
|
22 | 25 | @apply cursor-pointer appearance-none opacity-0; |
23 | 26 | } |
24 | 27 |
|
25 | | - .collapse-content { |
26 | | - @apply invisible col-start-1 row-start-2 min-h-0; |
27 | | - |
28 | | - transition: visibility 0.2s; |
29 | | - } |
30 | | - |
31 | | - .collapse[open], |
32 | | - .collapse-open, |
33 | | - .collapse:focus:not(.collapse-close) { |
34 | | - grid-template-rows: auto 1fr; |
35 | | - } |
36 | | - |
37 | | - .collapse:not(.collapse-close):has(> input[type="checkbox"]:checked), |
38 | | - .collapse:not(.collapse-close):has(> input[type="radio"]:checked) { |
39 | | - grid-template-rows: auto 1fr; |
40 | | - } |
41 | | - |
42 | | - .collapse[open] > .collapse-content, |
43 | | - .collapse-open > .collapse-content, |
44 | | - .collapse:focus:not(.collapse-close) > .collapse-content, |
45 | | - .collapse:not(.collapse-close) > input[type="checkbox"]:checked ~ .collapse-content, |
46 | | - .collapse:not(.collapse-close) > input[type="radio"]:checked ~ .collapse-content { |
47 | | - @apply visible min-h-fit; |
| 28 | + .collapse > input[type="checkbox"]:checked ~ .collapse-content, |
| 29 | + .collapse > input[type="radio"]:checked ~ .collapse-content { |
| 30 | + grid-template-rows: 1fr; |
48 | 31 | } |
49 | 32 | } |
0 commit comments