@keenmate/web-daterangepicker 1.0.0-rc01 → 1.0.0-rc08

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.
@@ -0,0 +1,164 @@
1
+ // ==============================================================================
2
+ // DATE RANGE PICKER - HEADER & NAVIGATION
3
+ // ==============================================================================
4
+ // Month/year header, navigation buttons, and rolling selector
5
+
6
+ @use 'variables' as *;
7
+
8
+ // ==============================================================================
9
+ // CALENDAR HEADER
10
+ // ==============================================================================
11
+
12
+ .drp-date-picker__header {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ margin-bottom: var(--drp-spacing-md);
17
+ gap: var(--drp-spacing-sm);
18
+ }
19
+
20
+ // ==============================================================================
21
+ // MONTH/YEAR DISPLAY (CLICKABLE TO OPEN ROLLING SELECTOR)
22
+ // ==============================================================================
23
+
24
+ .drp-date-picker__month-year {
25
+ flex: 1;
26
+ text-align: center;
27
+ font-weight: var(--drp-font-weight-semibold);
28
+ font-size: var(--drp-font-size-base);
29
+ color: var(--drp-text-primary);
30
+ padding: var(--drp-spacing-sm) var(--drp-spacing-md);
31
+ border-radius: var(--drp-border-radius);
32
+ cursor: pointer;
33
+ transition: background-color var(--drp-transition-fast) var(--drp-easing-snappy);
34
+
35
+ &:hover {
36
+ background-color: var(--drp-primary-bg);
37
+ }
38
+
39
+ &:active {
40
+ background-color: var(--drp-primary-bg-hover);
41
+ }
42
+ }
43
+
44
+ // ==============================================================================
45
+ // NAVIGATION BUTTONS (PREVIOUS/NEXT MONTH)
46
+ // ==============================================================================
47
+
48
+ .drp-date-picker__nav {
49
+ width: $drp-nav-size;
50
+ height: $drp-nav-size;
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ border: var(--drp-border-width-base) solid var(--drp-border-color);
55
+ border-radius: var(--drp-border-radius);
56
+ background: transparent;
57
+ cursor: pointer;
58
+ transition: all var(--drp-transition-fast) var(--drp-easing-snappy);
59
+ font-size: var(--drp-font-size-lg);
60
+ color: var(--drp-text-primary);
61
+
62
+ &:hover {
63
+ background-color: var(--drp-primary-bg);
64
+ border-color: var(--drp-accent-color);
65
+ }
66
+
67
+ &:active {
68
+ background-color: var(--drp-primary-bg-hover);
69
+ }
70
+
71
+ // Disabled state
72
+ &--disabled,
73
+ &[disabled] {
74
+ opacity: $drp-nav-opacity-disabled;
75
+ cursor: not-allowed;
76
+ pointer-events: none;
77
+
78
+ &:hover {
79
+ background-color: transparent;
80
+ border-color: var(--drp-border-color);
81
+ }
82
+ }
83
+
84
+ &--prev::before {
85
+ content: '‹';
86
+ }
87
+
88
+ &--next::before {
89
+ content: '›';
90
+ }
91
+ }
92
+
93
+ // ==============================================================================
94
+ // ROLLING SELECTOR VIEW (MONTH/YEAR SELECTION)
95
+ // ==============================================================================
96
+
97
+ .drp-date-picker__rolling-selector {
98
+ display: none;
99
+
100
+ &.drp-date-picker__rolling-selector--visible {
101
+ display: flex;
102
+
103
+ // Hide calendar days when rolling selector is visible
104
+ ~ .drp-date-picker__weekdays,
105
+ ~ .drp-date-picker__days {
106
+ display: none;
107
+ }
108
+ }
109
+
110
+ gap: var(--drp-spacing-xs);
111
+ margin-bottom: var(--drp-spacing-md);
112
+ // Height is set dynamically via JavaScript to match calendar content
113
+ }
114
+
115
+ .drp-date-picker__rolling-list {
116
+ flex: 1;
117
+ height: 100%; // Fill parent height (set dynamically on parent)
118
+ overflow-y: auto;
119
+ border: var(--drp-border-width-base) solid var(--drp-border-color);
120
+ border-radius: var(--drp-border-radius);
121
+
122
+ // Smooth scrolling
123
+ scroll-behavior: smooth;
124
+
125
+ // Custom scrollbar
126
+ &::-webkit-scrollbar {
127
+ width: $drp-rolling-scrollbar-width;
128
+ }
129
+
130
+ &::-webkit-scrollbar-track {
131
+ background: var(--drp-primary-bg);
132
+ }
133
+
134
+ &::-webkit-scrollbar-thumb {
135
+ background: var(--drp-border-color);
136
+ border-radius: 3px;
137
+
138
+ &:hover {
139
+ background: var(--drp-accent-color);
140
+ }
141
+ }
142
+ }
143
+
144
+ .drp-date-picker__rolling-item {
145
+ padding: var(--drp-spacing-sm) var(--drp-spacing-md);
146
+ text-align: center;
147
+ cursor: pointer;
148
+ font-size: var(--drp-font-size-sm);
149
+ transition: background-color var(--drp-transition-fast) var(--drp-easing-snappy);
150
+
151
+ &:hover {
152
+ background-color: var(--drp-primary-bg);
153
+ }
154
+
155
+ &--selected {
156
+ background-color: var(--drp-accent-color);
157
+ color: var(--drp-accent-text-color);
158
+ font-weight: var(--drp-font-weight-semibold);
159
+
160
+ &:hover {
161
+ background-color: var(--drp-accent-color-hover);
162
+ }
163
+ }
164
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Loading Overlay & Spinner Styles
3
+ *
4
+ * Used during async validation (e.g., when validateRangeCallback is processing).
5
+ */
6
+
7
+ @use 'variables' as *;
8
+
9
+ .drp-date-picker__loading-overlay {
10
+ position: absolute;
11
+ top: 0;
12
+ left: 0;
13
+ right: 0;
14
+ bottom: 0;
15
+ background-color: rgba(255, 255, 255, 0.8);
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ z-index: $drp-z-index-dropdown;
20
+ border-radius: $drp-border-radius;
21
+ }
22
+
23
+ .drp-date-picker__loading-spinner {
24
+ width: 40px;
25
+ height: 40px;
26
+ border: 4px solid $drp-color-neutral-light;
27
+ border-top-color: $drp-color-accent;
28
+ border-radius: 50%;
29
+ animation: drp-spin 0.8s linear infinite;
30
+ }
31
+
32
+ @keyframes drp-spin {
33
+ 0% {
34
+ transform: rotate(0deg);
35
+ }
36
+ 100% {
37
+ transform: rotate(360deg);
38
+ }
39
+ }
@@ -0,0 +1,367 @@
1
+ // ==============================================================================
2
+ // DATE RANGE PICKER - MODIFIERS
3
+ // ==============================================================================
4
+ // Size variants, font scaling, spacing scaling, and responsive modifiers
5
+
6
+ @use 'variables' as *;
7
+
8
+ // ==============================================================================
9
+ // FONT SIZE CLASSES
10
+ // ==============================================================================
11
+ // Control text sizing only, independent of spacing
12
+ // Example: <div class="drp-font-lg"><date-range-picker ...></div>
13
+
14
+ .drp-font-xs {
15
+ --drp-font-size-2xs: #{$font-size-2xs * $drp-size-xs-multiplier};
16
+ --drp-font-size-xs: #{$font-size-xs * $drp-size-xs-multiplier};
17
+ --drp-font-size-sm: #{$font-size-sm * $drp-size-xs-multiplier};
18
+ --drp-font-size-base: #{$font-size-base * $drp-size-xs-multiplier};
19
+ --drp-font-size-lg: #{$font-size-lg * $drp-size-xs-multiplier};
20
+ --drp-font-size-xl: #{$font-size-xl * $drp-size-xs-multiplier};
21
+ --drp-font-size-2xl: #{$font-size-2xl * $drp-size-xs-multiplier};
22
+ }
23
+
24
+ .drp-font-sm {
25
+ --drp-font-size-2xs: #{$font-size-2xs * $drp-size-sm-multiplier};
26
+ --drp-font-size-xs: #{$font-size-xs * $drp-size-sm-multiplier};
27
+ --drp-font-size-sm: #{$font-size-sm * $drp-size-sm-multiplier};
28
+ --drp-font-size-base: #{$font-size-base * $drp-size-sm-multiplier};
29
+ --drp-font-size-lg: #{$font-size-lg * $drp-size-sm-multiplier};
30
+ --drp-font-size-xl: #{$font-size-xl * $drp-size-sm-multiplier};
31
+ --drp-font-size-2xl: #{$font-size-2xl * $drp-size-sm-multiplier};
32
+ }
33
+
34
+ .drp-font-md {
35
+ // Uses default :host values
36
+ }
37
+
38
+ .drp-font-lg {
39
+ --drp-font-size-2xs: #{$font-size-2xs * $drp-size-lg-multiplier};
40
+ --drp-font-size-xs: #{$font-size-xs * $drp-size-lg-multiplier};
41
+ --drp-font-size-sm: #{$font-size-sm * $drp-size-lg-multiplier};
42
+ --drp-font-size-base: #{$font-size-base * $drp-size-lg-multiplier};
43
+ --drp-font-size-lg: #{$font-size-lg * $drp-size-lg-multiplier};
44
+ --drp-font-size-xl: #{$font-size-xl * $drp-size-lg-multiplier};
45
+ --drp-font-size-2xl: #{$font-size-2xl * $drp-size-lg-multiplier};
46
+ }
47
+
48
+ .drp-font-xl {
49
+ --drp-font-size-2xs: #{$font-size-2xs * $drp-size-xl-multiplier};
50
+ --drp-font-size-xs: #{$font-size-xs * $drp-size-xl-multiplier};
51
+ --drp-font-size-sm: #{$font-size-sm * $drp-size-xl-multiplier};
52
+ --drp-font-size-base: #{$font-size-base * $drp-size-xl-multiplier};
53
+ --drp-font-size-lg: #{$font-size-lg * $drp-size-xl-multiplier};
54
+ --drp-font-size-xl: #{$font-size-xl * $drp-size-xl-multiplier};
55
+ --drp-font-size-2xl: #{$font-size-2xl * $drp-size-xl-multiplier};
56
+ }
57
+
58
+ // ==============================================================================
59
+ // SPACING/DENSITY CLASSES
60
+ // ==============================================================================
61
+ // Control gaps, padding, and calendar width only
62
+ // Example: <div class="drp-spacing-sm"><date-range-picker ...></div>
63
+
64
+ .drp-spacing-xs {
65
+ --drp-spacing-xs: #{$drp-spacing-xs * $drp-size-xs-multiplier};
66
+ --drp-spacing-sm: #{$drp-spacing-sm * $drp-size-xs-multiplier};
67
+ --drp-spacing-md: #{$drp-spacing-md * $drp-size-xs-multiplier};
68
+ --drp-spacing-lg: #{$drp-spacing-lg * $drp-size-xs-multiplier};
69
+ --drp-spacing-xl: #{$drp-spacing-xl * $drp-size-xs-multiplier};
70
+
71
+ .drp-date-picker__month {
72
+ min-width: #{$drp-month-min-width * $drp-size-xs-multiplier};
73
+ }
74
+ }
75
+
76
+ .drp-spacing-sm {
77
+ --drp-spacing-xs: #{$drp-spacing-xs * $drp-size-sm-multiplier};
78
+ --drp-spacing-sm: #{$drp-spacing-sm * $drp-size-sm-multiplier};
79
+ --drp-spacing-md: #{$drp-spacing-md * $drp-size-sm-multiplier};
80
+ --drp-spacing-lg: #{$drp-spacing-lg * $drp-size-sm-multiplier};
81
+ --drp-spacing-xl: #{$drp-spacing-xl * $drp-size-sm-multiplier};
82
+
83
+ .drp-date-picker__month {
84
+ min-width: #{$drp-month-min-width * $drp-size-sm-multiplier};
85
+ }
86
+ }
87
+
88
+ .drp-spacing-md {
89
+ // Uses default :host values
90
+ }
91
+
92
+ .drp-spacing-lg {
93
+ --drp-spacing-xs: #{$drp-spacing-xs * $drp-size-lg-multiplier};
94
+ --drp-spacing-sm: #{$drp-spacing-sm * $drp-size-lg-multiplier};
95
+ --drp-spacing-md: #{$drp-spacing-md * $drp-size-lg-multiplier};
96
+ --drp-spacing-lg: #{$drp-spacing-lg * $drp-size-lg-multiplier};
97
+ --drp-spacing-xl: #{$drp-spacing-xl * $drp-size-lg-multiplier};
98
+
99
+ .drp-date-picker__month {
100
+ min-width: #{$drp-month-min-width * $drp-size-lg-multiplier};
101
+ }
102
+ }
103
+
104
+ .drp-spacing-xl {
105
+ --drp-spacing-xs: #{$drp-spacing-xs * $drp-size-xl-multiplier};
106
+ --drp-spacing-sm: #{$drp-spacing-sm * $drp-size-xl-multiplier};
107
+ --drp-spacing-md: #{$drp-spacing-md * $drp-size-xl-multiplier};
108
+ --drp-spacing-lg: #{$drp-spacing-lg * $drp-size-xl-multiplier};
109
+ --drp-spacing-xl: #{$drp-spacing-xl * $drp-size-xl-multiplier};
110
+
111
+ .drp-date-picker__month {
112
+ min-width: #{$drp-month-min-width * $drp-size-xl-multiplier};
113
+ }
114
+ }
115
+
116
+ // ==============================================================================
117
+ // RESPONSIVE SCALING
118
+ // ==============================================================================
119
+ // Scales font and spacing independently at breakpoints
120
+ // Example: <div class="drp-font-lg drp-spacing-xl drp-responsive">
121
+
122
+ .drp-responsive {
123
+ // Font XL: xl → lg @ 1200px → md @ 768px
124
+ &.drp-font-xl {
125
+ @media (max-width: 1200px) {
126
+ --drp-font-size-2xs: #{$font-size-2xs * $drp-size-lg-multiplier};
127
+ --drp-font-size-xs: #{$font-size-xs * $drp-size-lg-multiplier};
128
+ --drp-font-size-sm: #{$font-size-sm * $drp-size-lg-multiplier};
129
+ --drp-font-size-base: #{$font-size-base * $drp-size-lg-multiplier};
130
+ --drp-font-size-lg: #{$font-size-lg * $drp-size-lg-multiplier};
131
+ --drp-font-size-xl: #{$font-size-xl * $drp-size-lg-multiplier};
132
+ --drp-font-size-2xl: #{$font-size-2xl * $drp-size-lg-multiplier};
133
+ }
134
+ @media (max-width: 768px) {
135
+ --drp-font-size-2xs: #{$font-size-2xs};
136
+ --drp-font-size-xs: #{$font-size-xs};
137
+ --drp-font-size-sm: #{$font-size-sm};
138
+ --drp-font-size-base: #{$font-size-base};
139
+ --drp-font-size-lg: #{$font-size-lg};
140
+ --drp-font-size-xl: #{$font-size-xl};
141
+ --drp-font-size-2xl: #{$font-size-2xl};
142
+ }
143
+ }
144
+
145
+ // Font LG: lg → md @ 1200px → sm @ 768px
146
+ &.drp-font-lg {
147
+ @media (max-width: 1200px) {
148
+ --drp-font-size-2xs: #{$font-size-2xs};
149
+ --drp-font-size-xs: #{$font-size-xs};
150
+ --drp-font-size-sm: #{$font-size-sm};
151
+ --drp-font-size-base: #{$font-size-base};
152
+ --drp-font-size-lg: #{$font-size-lg};
153
+ --drp-font-size-xl: #{$font-size-xl};
154
+ --drp-font-size-2xl: #{$font-size-2xl};
155
+ }
156
+ @media (max-width: 768px) {
157
+ --drp-font-size-2xs: #{$font-size-2xs * $drp-size-sm-multiplier};
158
+ --drp-font-size-xs: #{$font-size-xs * $drp-size-sm-multiplier};
159
+ --drp-font-size-sm: #{$font-size-sm * $drp-size-sm-multiplier};
160
+ --drp-font-size-base: #{$font-size-base * $drp-size-sm-multiplier};
161
+ --drp-font-size-lg: #{$font-size-lg * $drp-size-sm-multiplier};
162
+ --drp-font-size-xl: #{$font-size-xl * $drp-size-sm-multiplier};
163
+ --drp-font-size-2xl: #{$font-size-2xl * $drp-size-sm-multiplier};
164
+ }
165
+ }
166
+
167
+ // Font MD: md → sm @ 768px
168
+ &.drp-font-md {
169
+ @media (max-width: 768px) {
170
+ --drp-font-size-2xs: #{$font-size-2xs * $drp-size-sm-multiplier};
171
+ --drp-font-size-xs: #{$font-size-xs * $drp-size-sm-multiplier};
172
+ --drp-font-size-sm: #{$font-size-sm * $drp-size-sm-multiplier};
173
+ --drp-font-size-base: #{$font-size-base * $drp-size-sm-multiplier};
174
+ --drp-font-size-lg: #{$font-size-lg * $drp-size-sm-multiplier};
175
+ --drp-font-size-xl: #{$font-size-xl * $drp-size-sm-multiplier};
176
+ --drp-font-size-2xl: #{$font-size-2xl * $drp-size-sm-multiplier};
177
+ }
178
+ }
179
+
180
+ // Font SM: sm → xs @ 768px
181
+ &.drp-font-sm {
182
+ @media (max-width: 768px) {
183
+ --drp-font-size-2xs: #{$font-size-2xs * $drp-size-xs-multiplier};
184
+ --drp-font-size-xs: #{$font-size-xs * $drp-size-xs-multiplier};
185
+ --drp-font-size-sm: #{$font-size-sm * $drp-size-xs-multiplier};
186
+ --drp-font-size-base: #{$font-size-base * $drp-size-xs-multiplier};
187
+ --drp-font-size-lg: #{$font-size-lg * $drp-size-xs-multiplier};
188
+ --drp-font-size-xl: #{$font-size-xl * $drp-size-xs-multiplier};
189
+ --drp-font-size-2xl: #{$font-size-2xl * $drp-size-xs-multiplier};
190
+ }
191
+ }
192
+
193
+ // Spacing XL: xl → lg @ 1200px → md @ 768px
194
+ &.drp-spacing-xl {
195
+ @media (max-width: 1200px) {
196
+ --drp-spacing-xs: #{$drp-spacing-xs * $drp-size-lg-multiplier};
197
+ --drp-spacing-sm: #{$drp-spacing-sm * $drp-size-lg-multiplier};
198
+ --drp-spacing-md: #{$drp-spacing-md * $drp-size-lg-multiplier};
199
+ --drp-spacing-lg: #{$drp-spacing-lg * $drp-size-lg-multiplier};
200
+ --drp-spacing-xl: #{$drp-spacing-xl * $drp-size-lg-multiplier};
201
+ .drp-date-picker__month {
202
+ min-width: #{$drp-month-min-width * $drp-size-lg-multiplier};
203
+ }
204
+ }
205
+ @media (max-width: 768px) {
206
+ --drp-spacing-xs: #{$drp-spacing-xs};
207
+ --drp-spacing-sm: #{$drp-spacing-sm};
208
+ --drp-spacing-md: #{$drp-spacing-md};
209
+ --drp-spacing-lg: #{$drp-spacing-lg};
210
+ --drp-spacing-xl: #{$drp-spacing-xl};
211
+ .drp-date-picker__month {
212
+ min-width: #{$drp-month-min-width};
213
+ }
214
+ }
215
+ }
216
+
217
+ // Spacing LG: lg → md @ 1200px → sm @ 768px
218
+ &.drp-spacing-lg {
219
+ @media (max-width: 1200px) {
220
+ --drp-spacing-xs: #{$drp-spacing-xs};
221
+ --drp-spacing-sm: #{$drp-spacing-sm};
222
+ --drp-spacing-md: #{$drp-spacing-md};
223
+ --drp-spacing-lg: #{$drp-spacing-lg};
224
+ --drp-spacing-xl: #{$drp-spacing-xl};
225
+ .drp-date-picker__month {
226
+ min-width: #{$drp-month-min-width};
227
+ }
228
+ }
229
+ @media (max-width: 768px) {
230
+ --drp-spacing-xs: #{$drp-spacing-xs * $drp-size-sm-multiplier};
231
+ --drp-spacing-sm: #{$drp-spacing-sm * $drp-size-sm-multiplier};
232
+ --drp-spacing-md: #{$drp-spacing-md * $drp-size-sm-multiplier};
233
+ --drp-spacing-lg: #{$drp-spacing-lg * $drp-size-sm-multiplier};
234
+ --drp-spacing-xl: #{$drp-spacing-xl * $drp-size-sm-multiplier};
235
+ .drp-date-picker__month {
236
+ min-width: #{$drp-month-min-width * $drp-size-sm-multiplier};
237
+ }
238
+ }
239
+ }
240
+
241
+ // Spacing MD: md → sm @ 768px
242
+ &.drp-spacing-md {
243
+ @media (max-width: 768px) {
244
+ --drp-spacing-xs: #{$drp-spacing-xs * $drp-size-sm-multiplier};
245
+ --drp-spacing-sm: #{$drp-spacing-sm * $drp-size-sm-multiplier};
246
+ --drp-spacing-md: #{$drp-spacing-md * $drp-size-sm-multiplier};
247
+ --drp-spacing-lg: #{$drp-spacing-lg * $drp-size-sm-multiplier};
248
+ --drp-spacing-xl: #{$drp-spacing-xl * $drp-size-sm-multiplier};
249
+ .drp-date-picker__month {
250
+ min-width: #{$drp-month-min-width * $drp-size-sm-multiplier};
251
+ }
252
+ }
253
+ }
254
+
255
+ // Spacing SM: sm → xs @ 768px
256
+ &.drp-spacing-sm {
257
+ @media (max-width: 768px) {
258
+ --drp-spacing-xs: #{$drp-spacing-xs * $drp-size-xs-multiplier};
259
+ --drp-spacing-sm: #{$drp-spacing-sm * $drp-size-xs-multiplier};
260
+ --drp-spacing-md: #{$drp-spacing-md * $drp-size-xs-multiplier};
261
+ --drp-spacing-lg: #{$drp-spacing-lg * $drp-size-xs-multiplier};
262
+ --drp-spacing-xl: #{$drp-spacing-xl * $drp-size-xs-multiplier};
263
+ .drp-date-picker__month {
264
+ min-width: #{$drp-month-min-width * $drp-size-xs-multiplier};
265
+ }
266
+ }
267
+ }
268
+ }
269
+
270
+ // ==============================================================================
271
+ // SIZE VARIANT MODIFIERS (LEGACY - FOR BACKWARD COMPATIBILITY)
272
+ // ==============================================================================
273
+ // These provide complete size presets with both font and spacing adjustments
274
+
275
+ .drp-date-picker--xs {
276
+ padding: var(--drp-spacing-sm);
277
+ min-width: 240px;
278
+
279
+ .drp-date-picker__month-year {
280
+ font-size: var(--drp-font-size-xs);
281
+ padding: var(--drp-spacing-xs) var(--drp-spacing-sm);
282
+ }
283
+
284
+ .drp-date-picker__nav {
285
+ width: 1.5rem;
286
+ height: 1.5rem;
287
+ font-size: var(--drp-font-size-sm);
288
+ }
289
+
290
+ .drp-date-picker__weekday {
291
+ font-size: var(--drp-font-size-2xs);
292
+ }
293
+
294
+ .drp-date-picker__day {
295
+ font-size: var(--drp-font-size-xs);
296
+ }
297
+ }
298
+
299
+ .drp-date-picker--sm {
300
+ padding: var(--drp-spacing-sm);
301
+ min-width: 260px;
302
+
303
+ .drp-date-picker__month-year {
304
+ font-size: var(--drp-font-size-sm);
305
+ padding: var(--drp-spacing-xs) var(--drp-spacing-sm);
306
+ }
307
+
308
+ .drp-date-picker__nav {
309
+ width: 1.75rem;
310
+ height: 1.75rem;
311
+ font-size: var(--drp-font-size-base);
312
+ }
313
+
314
+ .drp-date-picker__day {
315
+ font-size: var(--drp-font-size-xs);
316
+ }
317
+ }
318
+
319
+ .drp-date-picker--lg {
320
+ padding: var(--drp-spacing-lg);
321
+ min-width: 320px;
322
+
323
+ .drp-date-picker__month-year {
324
+ font-size: var(--drp-font-size-lg);
325
+ padding: var(--drp-spacing-md) var(--drp-spacing-lg);
326
+ }
327
+
328
+ .drp-date-picker__nav {
329
+ width: 2.5rem;
330
+ height: 2.5rem;
331
+ font-size: var(--drp-font-size-xl);
332
+ }
333
+
334
+ .drp-date-picker__day {
335
+ font-size: var(--drp-font-size-base);
336
+ }
337
+ }
338
+
339
+ .drp-date-picker--xl {
340
+ padding: var(--drp-spacing-xl);
341
+ min-width: 360px;
342
+
343
+ .drp-date-picker__month-year {
344
+ font-size: var(--drp-font-size-xl);
345
+ padding: var(--drp-spacing-lg) var(--drp-spacing-xl);
346
+ }
347
+
348
+ .drp-date-picker__nav {
349
+ width: 3rem;
350
+ height: 3rem;
351
+ font-size: var(--drp-font-size-2xl);
352
+ }
353
+
354
+ .drp-date-picker__day {
355
+ font-size: var(--drp-font-size-lg);
356
+ }
357
+ }
358
+
359
+ // ==============================================================================
360
+ // INLINE MODE MODIFIER
361
+ // ==============================================================================
362
+
363
+ .drp-date-picker--inline {
364
+ position: static;
365
+ display: block;
366
+ box-shadow: none;
367
+ }
@@ -0,0 +1,87 @@
1
+ // ==============================================================================
2
+ // DATE RANGE PICKER - SUMMARY & ACTIONS
3
+ // ==============================================================================
4
+ // Selection summary (days/nights count) and action buttons (Today, Clear, Apply)
5
+
6
+ @use 'variables' as *;
7
+
8
+ // ==============================================================================
9
+ // SELECTION SUMMARY (DAYS/NIGHTS COUNT)
10
+ // ==============================================================================
11
+
12
+ .drp-date-picker__summary {
13
+ text-align: center;
14
+ padding: var(--drp-spacing-md);
15
+ border-top: var(--drp-border-width-base) solid var(--drp-border-color);
16
+ font-size: var(--drp-font-size-sm);
17
+ color: var(--drp-text-secondary);
18
+
19
+ &--visible {
20
+ display: block;
21
+ }
22
+
23
+ &--hidden {
24
+ display: none;
25
+ }
26
+ }
27
+
28
+ .drp-date-picker__summary-count {
29
+ font-weight: var(--drp-font-weight-semibold);
30
+ color: var(--drp-accent-color);
31
+ font-size: var(--drp-font-size-base);
32
+ }
33
+
34
+ // ==============================================================================
35
+ // ACTION BUTTONS
36
+ // ==============================================================================
37
+
38
+ .drp-date-picker__actions {
39
+ display: flex;
40
+ gap: var(--drp-spacing-sm);
41
+ justify-content: space-between;
42
+ padding-top: var(--drp-spacing-sm);
43
+ border-top: var(--drp-border-width-base) solid var(--drp-border-color);
44
+ }
45
+
46
+ .drp-date-picker__button {
47
+ flex: 1;
48
+ padding: var(--drp-spacing-sm) var(--drp-spacing-md);
49
+ border: var(--drp-border-width-base) solid var(--drp-border-color);
50
+ border-radius: var(--drp-border-radius);
51
+ background: transparent;
52
+ cursor: pointer;
53
+ font-size: var(--drp-font-size-sm);
54
+ font-weight: var(--drp-font-weight-medium);
55
+ transition: all var(--drp-transition-fast) var(--drp-easing-snappy);
56
+
57
+ &:hover {
58
+ background-color: var(--drp-primary-bg);
59
+ border-color: var(--drp-accent-color);
60
+ }
61
+
62
+ // Today Button
63
+ &--today {
64
+ color: var(--drp-accent-color);
65
+ }
66
+
67
+ // Clear Button
68
+ &--clear {
69
+ color: var(--drp-text-secondary);
70
+ }
71
+
72
+ // Apply Button (primary action)
73
+ &--apply {
74
+ background-color: var(--drp-accent-color);
75
+ color: var(--drp-button-text-color);
76
+ border-color: var(--drp-accent-color);
77
+
78
+ &:hover {
79
+ background-color: var(--drp-accent-color-hover);
80
+ }
81
+ }
82
+
83
+ // Cancel Button
84
+ &--cancel {
85
+ color: var(--drp-text-secondary);
86
+ }
87
+ }
@@ -0,0 +1,39 @@
1
+ // ==============================================================================
2
+ // DATE RANGE PICKER - TOOLTIPS
3
+ // ==============================================================================
4
+ // Floating UI tooltips for badge hover information
5
+
6
+ @use 'variables' as *;
7
+
8
+ // ==============================================================================
9
+ // FLOATING UI TOOLTIPS
10
+ // ==============================================================================
11
+
12
+ .drp-date-picker__tooltip {
13
+ position: absolute;
14
+ z-index: $drp-z-index-tooltip;
15
+ background-color: var(--drp-text-primary);
16
+ color: $drp-tooltip-color;
17
+ padding: var(--drp-spacing-xs) var(--drp-spacing-sm);
18
+ border-radius: var(--drp-border-radius);
19
+ font-size: var(--drp-font-size-xs);
20
+ line-height: $drp-tooltip-line-height;
21
+ max-width: $drp-tooltip-max-width;
22
+ word-wrap: break-word;
23
+ pointer-events: none;
24
+ opacity: 0;
25
+ transition: opacity var(--drp-transition-fast) var(--drp-easing-snappy);
26
+
27
+ &--visible {
28
+ opacity: 1;
29
+ }
30
+
31
+ // Tooltip arrow
32
+ &-arrow {
33
+ position: absolute;
34
+ background-color: var(--drp-text-primary);
35
+ width: $drp-tooltip-arrow-size;
36
+ height: $drp-tooltip-arrow-size;
37
+ transform: rotate(45deg);
38
+ }
39
+ }