|
1 | | -/* Container and Font Setup */ |
2 | | -.datetime-picker-container { |
| 1 | +/* Base Container Styling */ |
| 2 | +.kroma-datetime-picker-container { |
3 | 3 | position: relative; |
4 | 4 | display: inline-block; |
5 | 5 | width: 100%; |
6 | 6 | max-width: 400px; |
7 | 7 | font-family: var(--font-sans); |
8 | 8 | } |
9 | 9 |
|
10 | | -/* Input Styling */ |
11 | | -.datetime-input { |
| 10 | +/* Input Field Styling */ |
| 11 | +.kroma-datetime-input { |
12 | 12 | width: 100%; |
13 | 13 | padding: clamp(8px, var(--space-2), 12px); |
14 | 14 | border-radius: var(--radius-md); |
15 | 15 | font-size: 1rem; |
16 | 16 | outline: none; |
17 | | - border: 1px solid var(--variant-border); |
18 | | - background-color: var(--variant-bg); |
19 | | - color: var(--variant-text); |
| 17 | + border: 1px solid var(--variant-border, var(--neutral-300)); |
| 18 | + background-color: var(--variant-bg, var(--neutral-50)); |
| 19 | + color: var(--variant-text, var(--neutral-900)); |
20 | 20 | transition: border-color var(--transition-colors), box-shadow var(--transition-all); |
21 | 21 | } |
22 | 22 |
|
23 | | -.datetime-input::placeholder { |
24 | | - color: var(--variant-text); |
25 | | - opacity: 0.7; |
| 23 | +.kroma-datetime-input::placeholder { |
| 24 | + color: var(--variant-text-light, rgba(255, 255, 255, 0.7)); |
26 | 25 | } |
27 | 26 |
|
28 | | -.datetime-input:focus { |
29 | | - box-shadow: 0px 0px 0px 3px var(--variant-hover-bg); |
| 27 | +.kroma-datetime-input:focus { |
| 28 | + box-shadow: 0 0 0 3px var(--variant-hover-bg, var(--neutral-200)); |
30 | 29 | } |
31 | 30 |
|
32 | | -/* Date Picker Popup */ |
33 | | -.datetime-picker { |
| 31 | +/* Picker Popup Styling */ |
| 32 | +.kroma-datetime-picker { |
34 | 33 | display: none; |
35 | 34 | position: absolute; |
36 | 35 | top: calc(100% + var(--space-1)); |
37 | 36 | left: 0; |
38 | 37 | width: 100%; |
39 | | - background-color: var(--variant-bg); |
40 | | - border: 1px solid var(--variant-border); |
| 38 | + background-color: var(--variant-bg, var(--neutral-50)); |
| 39 | + border: 1px solid var(--variant-border, var(--neutral-300)); |
41 | 40 | border-radius: var(--radius-md); |
42 | | - box-shadow: var(--variant-shadow); |
| 41 | + box-shadow: var(--variant-shadow, var(--shadow-lg)); |
43 | 42 | z-index: var(--z-30); |
44 | 43 | padding: var(--space-3); |
| 44 | + opacity: 0; |
| 45 | + transform: scale(0.95); |
45 | 46 | transition: transform 0.3s ease, opacity 0.3s ease; |
46 | 47 | } |
47 | 48 |
|
48 | | -.datetime-picker.active { |
| 49 | +.kroma-datetime-picker.kroma-active { |
49 | 50 | display: block; |
50 | 51 | transform: scale(1); |
51 | 52 | opacity: 1; |
52 | 53 | } |
53 | 54 |
|
54 | 55 | /* Calendar Header */ |
55 | | -.calendar-header { |
| 56 | +.kroma-calendar-header { |
56 | 57 | display: flex; |
57 | 58 | justify-content: space-between; |
58 | 59 | align-items: center; |
59 | 60 | margin-bottom: var(--space-2); |
60 | | - position: relative; |
61 | | - z-index: var(--z-40); |
62 | 61 | } |
63 | 62 |
|
64 | | -.calendar-header button { |
| 63 | +.kroma-calendar-header button { |
65 | 64 | background: none; |
66 | 65 | border: none; |
67 | 66 | font-size: clamp(1.25rem, 1.5vw, 1.5rem); |
68 | 67 | cursor: pointer; |
69 | 68 | padding: var(--space-1); |
70 | | - color: var(--variant-text); |
| 69 | + color: var(--variant-text, var(--neutral-900)); |
71 | 70 | transition: color var(--transition-colors); |
72 | 71 | } |
73 | 72 |
|
| 73 | +.kroma-calendar-header button:hover { |
| 74 | + color: var(--variant-hover-bg, var(--neutral-700)); |
| 75 | +} |
| 76 | + |
74 | 77 | /* Calendar Grid */ |
75 | | -.calendar-grid { |
| 78 | +.kroma-calendar-grid { |
76 | 79 | display: grid; |
77 | 80 | grid-template-columns: repeat(7, 1fr); |
78 | 81 | gap: var(--space-1); |
79 | 82 | } |
80 | 83 |
|
81 | | -.calendar-day { |
| 84 | +.kroma-calendar-day { |
82 | 85 | padding: var(--space-1); |
83 | 86 | text-align: center; |
84 | 87 | cursor: pointer; |
85 | 88 | border-radius: var(--radius-sm); |
86 | 89 | transition: background-color var(--transition-colors), color var(--transition-colors); |
87 | 90 | } |
88 | 91 |
|
89 | | -/* Hover Effect for Calendar Day */ |
90 | | -.calendar-day:hover { |
91 | | - background-color: var(--variant-hover-bg); |
| 92 | +/* Day Hover Effect */ |
| 93 | +.kroma-calendar-day:hover { |
| 94 | + background-color: var(--variant-hover-bg, var(--neutral-200)); |
92 | 95 | color: #fff; |
93 | 96 | } |
94 | 97 |
|
95 | | -/* Current and Selected Day Styles */ |
96 | | -.calendar-day.current-day { |
97 | | - background-color: var(--variant-light-bg); |
98 | | - color: var(--variant-text); |
| 98 | +/* Special Day Styles */ |
| 99 | +.kroma-calendar-day.current-day { |
| 100 | + background-color: var(--variant-light-bg, var(--neutral-300)); |
| 101 | + color: var(--variant-text, var(--neutral-900)); |
99 | 102 | } |
100 | 103 |
|
101 | | -.calendar-day.selected-day { |
102 | | - background-color: var(--variant-bg); |
103 | | - color: var(--variant-text); |
| 104 | +.kroma-calendar-day.selected-day { |
| 105 | + background-color: var(--variant-bg, var(--neutral-700)); |
| 106 | + color: var(--variant-text, var(--neutral-50)); |
104 | 107 | } |
105 | 108 |
|
106 | 109 | /* Quick Select Buttons */ |
107 | | -.quick-select { |
| 110 | +.kroma-quick-select { |
108 | 111 | display: flex; |
109 | 112 | flex-wrap: wrap; |
110 | 113 | gap: var(--space-1); |
111 | 114 | margin-top: var(--space-2); |
112 | 115 | justify-content: space-between; |
113 | 116 | } |
114 | 117 |
|
115 | | -.quick-select button { |
| 118 | +.kroma-quick-select button { |
116 | 119 | flex: 1 1 30%; |
117 | 120 | padding: var(--space-1) var(--space-2); |
118 | 121 | border-radius: var(--radius-md); |
119 | | - background-color: var(--variant-light-bg); |
| 122 | + background-color: var(--variant-light-bg, var(--neutral-300)); |
120 | 123 | cursor: pointer; |
121 | 124 | font-size: 0.875rem; |
122 | 125 | transition: background-color var(--transition-colors), color var(--transition-colors); |
123 | 126 | } |
124 | 127 |
|
125 | | -.quick-select button:hover { |
126 | | - background-color: var(--variant-hover-bg); |
| 128 | +.kroma-quick-select button:hover { |
| 129 | + background-color: var(--variant-hover-bg, var(--neutral-400)); |
127 | 130 | color: #fff; |
128 | 131 | } |
129 | 132 |
|
| 133 | +/* Time Selector */ |
| 134 | +.kroma-time-selector { |
| 135 | + margin-top: var(--space-2); |
| 136 | + display: flex; |
| 137 | + gap: var(--space-2); |
| 138 | + justify-content: center; |
| 139 | +} |
| 140 | + |
| 141 | +.kroma-time-selector input { |
| 142 | + width: clamp(36px, 3vw, 48px); |
| 143 | + padding: var(--space-1); |
| 144 | + border-radius: var(--radius-md); |
| 145 | + font-size: 0.875rem; |
| 146 | + text-align: center; |
| 147 | + outline: none; |
| 148 | + border: 1px solid var(--variant-border, var(--neutral-300)); |
| 149 | + background-color: var(--variant-light-bg, var(--neutral-100)); |
| 150 | + color: var(--variant-text, var(--neutral-900)); |
| 151 | + transition: border-color var(--transition-colors); |
| 152 | +} |
| 153 | + |
| 154 | +.kroma-time-selector input:focus { |
| 155 | + border-color: var(--variant-hover-bg, var(--neutral-400)); |
| 156 | +} |
| 157 | + |
130 | 158 | /* Confirm Button */ |
131 | | -.confirm-button { |
| 159 | +.kroma-confirm-button { |
132 | 160 | width: 100%; |
133 | 161 | padding: var(--space-2); |
134 | 162 | font-size: 0.875rem; |
|
137 | 165 | border: none; |
138 | 166 | border-radius: var(--radius-md); |
139 | 167 | margin-top: var(--space-2); |
140 | | - background-color: var(--variant-bg); |
| 168 | + background-color: var(--variant-bg, var(--neutral-700)); |
141 | 169 | color: #fff; |
142 | 170 | transition: background-color var(--transition-colors); |
143 | 171 | } |
144 | 172 |
|
145 | | -/* Time Selector */ |
146 | | -.time-selector { |
147 | | - margin-top: var(--space-2); |
148 | | - display: flex; |
149 | | - gap: var(--space-2); |
150 | | - justify-content: center; |
| 173 | +.kroma-confirm-button:hover { |
| 174 | + background-color: var(--variant-hover-bg, var(--neutral-800)); |
151 | 175 | } |
152 | 176 |
|
153 | | -.time-selector input { |
154 | | - width: clamp(36px, 3vw, 48px); |
155 | | - padding: var(--space-1); |
156 | | - border-radius: var(--radius-md); |
157 | | - font-size: 0.875rem; |
158 | | - text-align: center; |
159 | | - outline: none; |
160 | | - border: 1px solid var(--variant-border); |
161 | | - background-color: var(--variant-light-bg); |
162 | | - color: var(--variant-text); |
163 | | - transition: border-color var(--transition-colors); |
| 177 | +/* Responsive Adjustments */ |
| 178 | +@media (max-width: 768px) { |
| 179 | + .kroma-datetime-picker { |
| 180 | + width: 100%; |
| 181 | + left: 0; |
| 182 | + padding: var(--space-2); |
| 183 | + } |
| 184 | + |
| 185 | + .kroma-calendar-grid { |
| 186 | + grid-template-columns: repeat(7, minmax(20px, 1fr)); |
| 187 | + } |
| 188 | + |
| 189 | + .kroma-quick-select button { |
| 190 | + flex: 1 1 45%; |
| 191 | + } |
164 | 192 | } |
0 commit comments