|
6 | 6 | margin: auto; |
7 | 7 | padding: var(--space-4); |
8 | 8 | border-radius: var(--radius-lg); |
9 | | - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); |
10 | | - background-color: var(--neutral-50); |
11 | | - transition: padding 0.3s ease, box-shadow 0.3s ease; |
| 9 | + box-shadow: var(--variant-shadow, 0 4px 12px rgba(0, 0, 0, 0.1)); |
| 10 | + background-color: var(--variant-bg, var(--neutral-50)); |
| 11 | + transition: padding 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease; |
| 12 | +} |
| 13 | + |
| 14 | +.kroma-accordion-container[data-variant="default"], |
| 15 | +.kroma-accordion-container:not([data-variant]) { |
| 16 | + --variant-bg: var(--neutral-100); |
| 17 | + --variant-light-bg: var(--neutral-50); |
| 18 | + --variant-dark-bg: var(--neutral-300); |
| 19 | + --variant-text: var(--neutral-900); |
| 20 | + --variant-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); |
| 21 | + --variant-border: var(--neutral-200); |
| 22 | + --variant-hover-bg: var(--neutral-200); |
| 23 | + --variant-hover: var(--neutral-700); |
12 | 24 | } |
13 | 25 |
|
14 | 26 | .kroma-accordion-container[data-responsive="auto"] { |
|
20 | 32 |
|
21 | 33 | /* Accordion Item */ |
22 | 34 | .kroma-accordion-item { |
23 | | - border-bottom: 1px solid var(--neutral-200); |
24 | | -} |
25 | | -.kroma-accordion-item:last-child { |
26 | 35 | border-bottom: none; |
27 | 36 | } |
28 | 37 |
|
|
35 | 44 | padding: clamp(var(--space-3), 1.5vw, var(--space-5)); |
36 | 45 | font-size: clamp(1rem, 1vw + 0.5rem, 1.25rem); |
37 | 46 | font-weight: 600; |
38 | | - color: var(--neutral-700); |
| 47 | + color: var(--variant-text, var(--neutral-700)); |
39 | 48 | cursor: pointer; |
40 | | - background-color: var(--neutral-50); |
41 | | - border: 1px solid transparent; |
| 49 | + background-color: var(--variant-bg, var(--neutral-50)); |
| 50 | + border: 1px solid var(--variant-border, transparent); |
42 | 51 | border-radius: var(--radius-lg); |
43 | | - transition: background-color 0.3s ease, box-shadow 0.3s ease; |
| 52 | + transition: background-color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; |
44 | 53 | } |
45 | 54 | .kroma-accordion-header:hover, |
46 | 55 | .kroma-accordion-header:focus { |
47 | | - background-color: var(--neutral-100); |
48 | | - box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); |
| 56 | + background-color: var(--variant-hover-bg, var(--neutral-100)); |
| 57 | + box-shadow: 0 0 8px var(--variant-shadow, rgba(0, 0, 0, 0.1)); |
49 | 58 | outline: none; |
50 | 59 | } |
51 | 60 | .kroma-accordion-header:focus-visible { |
52 | | - border: 1px solid var(--focus-color); |
| 61 | + border-color: var(--focus-color); |
53 | 62 | } |
54 | 63 |
|
55 | 64 | /* Accordion Content */ |
56 | 65 | .kroma-accordion-content { |
57 | 66 | height: 0; |
58 | 67 | overflow: hidden; |
59 | | - transition: height 0.4s ease, padding 0.3s ease; |
| 68 | + transition: height 0.4s ease, padding 0.3s ease, background-color 0.3s ease; |
60 | 69 | padding: 0 var(--space-3); |
61 | | - background-color: var(--neutral-50); |
| 70 | + background-color: var(--variant-light-bg, var(--neutral-50)); |
62 | 71 | } |
63 | 72 | .kroma-accordion-content[data-expanded="true"] { |
64 | 73 | height: auto; |
65 | 74 | padding: var(--space-3) var(--space-4); |
| 75 | + margin-top: var(--space-3); |
66 | 76 | } |
67 | 77 |
|
68 | 78 | /* Sub-Item */ |
69 | 79 | .kroma-accordion-sub-item { |
70 | | - border-top: 1px solid var(--neutral-200); |
71 | 80 | padding-left: var(--space-4); |
72 | | - transition: padding 0.3s ease; |
| 81 | + transition: padding 0.3s ease, border-color 0.3s ease; |
73 | 82 | } |
74 | 83 | .kroma-accordion-sub-header { |
75 | 84 | padding: clamp(var(--space-2), 1vw, var(--space-4)); |
76 | 85 | font-size: 0.9rem; |
77 | 86 | font-weight: 500; |
78 | | - color: var(--neutral-500); |
| 87 | + color: var(--variant-text, var(--neutral-500)); |
79 | 88 | cursor: pointer; |
80 | | - background: var(--neutral-50); |
| 89 | + background: var(--variant-light-bg, var(--neutral-50)); |
81 | 90 | border: none; |
82 | 91 | text-align: left; |
83 | 92 | width: 100%; |
84 | 93 | border-radius: var(--radius-lg); |
85 | | - transition: background-color 0.3s ease; |
| 94 | + transition: background-color 0.3s ease, color 0.3s ease; |
86 | 95 | } |
87 | 96 | .kroma-accordion-sub-header:hover { |
88 | | - background-color: var(--neutral-100); |
| 97 | + background-color: var(--variant-hover-bg, var(--neutral-100)); |
89 | 98 | } |
90 | 99 |
|
91 | 100 | /* Variants */ |
|
0 commit comments