@keenmate/web-daterangepicker 1.7.0 → 1.8.1
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/README.md +35 -19
- package/dist/style.css +1 -1
- package/dist/web-daterangepicker.js +1747 -1747
- package/dist/web-daterangepicker.umd.js +9 -9
- package/package.json +6 -7
- package/src/css/_badges.css +67 -0
- package/src/css/_base.css +232 -0
- package/src/css/_calendar-grid.css +240 -0
- package/src/css/_header-navigation.css +356 -0
- package/src/css/_loading.css +36 -0
- package/src/css/_modifiers.css +41 -0
- package/src/css/_summary-actions.css +99 -0
- package/src/css/_tooltips.css +37 -0
- package/src/css/_variables.css +331 -0
- package/src/css/main.css +29 -0
- package/src/scss/_badges.scss +0 -70
- package/src/scss/_base.scss +0 -465
- package/src/scss/_calendar-grid.scss +0 -241
- package/src/scss/_header-navigation.scss +0 -370
- package/src/scss/_loading.scss +0 -39
- package/src/scss/_modifiers.scss +0 -50
- package/src/scss/_summary-actions.scss +0 -100
- package/src/scss/_tooltips.scss +0 -39
- package/src/scss/_variables.scss +0 -342
- package/src/scss/main.scss +0 -30
package/src/scss/_base.scss
DELETED
|
@@ -1,465 +0,0 @@
|
|
|
1
|
-
// ==============================================================================
|
|
2
|
-
// DATE RANGE PICKER - BASE STYLES
|
|
3
|
-
// ==============================================================================
|
|
4
|
-
// Base container styles, FOUC prevention, and root CSS custom properties
|
|
5
|
-
|
|
6
|
-
@use 'variables' as *;
|
|
7
|
-
|
|
8
|
-
// ==============================================================================
|
|
9
|
-
// CSS CUSTOM PROPERTIES (CSS VARIABLES)
|
|
10
|
-
// ==============================================================================
|
|
11
|
-
// Define CSS custom properties with SCSS fallbacks for runtime customization.
|
|
12
|
-
// Using :host for Shadow DOM (web component) and :root for Light DOM (direct class usage).
|
|
13
|
-
//
|
|
14
|
-
// CSS custom properties inherit through the Shadow DOM boundary, so external
|
|
15
|
-
// :root definitions will cascade into the component. The :host/:root selector
|
|
16
|
-
// here sets defaults that can be overridden.
|
|
17
|
-
|
|
18
|
-
:host,
|
|
19
|
-
:root {
|
|
20
|
-
// ===========================================================================
|
|
21
|
-
// BASE REM UNIT
|
|
22
|
-
// ===========================================================================
|
|
23
|
-
// Internal 10px-based unit for clean math. Override to scale the component.
|
|
24
|
-
// Default 10px produces same visual output as standard 16px rem.
|
|
25
|
-
// Set to 1rem in Pure Admin (10px base) to scale with document.
|
|
26
|
-
//
|
|
27
|
-
// IMPORTANT: For web components, set --drp-rem on the <web-daterangepicker>
|
|
28
|
-
// element itself or on :root. Setting on wrapper divs won't work due to
|
|
29
|
-
// shadow DOM encapsulation.
|
|
30
|
-
--drp-rem: 10px;
|
|
31
|
-
|
|
32
|
-
// ===========================================================================
|
|
33
|
-
// SPACING
|
|
34
|
-
// ===========================================================================
|
|
35
|
-
|
|
36
|
-
--drp-spacing-xs: #{$drp-spacing-xs}; // 4px
|
|
37
|
-
--drp-spacing-sm: #{$drp-spacing-sm}; // 8px
|
|
38
|
-
--drp-spacing-md: #{$drp-spacing-md}; // 16px
|
|
39
|
-
--drp-spacing-lg: #{$drp-spacing-lg}; // 24px
|
|
40
|
-
--drp-spacing-xl: #{$drp-spacing-xl}; // 32px
|
|
41
|
-
|
|
42
|
-
// ===========================================================================
|
|
43
|
-
// BASE TYPOGRAPHY (with theme-designer integration)
|
|
44
|
-
// ===========================================================================
|
|
45
|
-
// Priority chain: --drp-* → --base-* → calc default
|
|
46
|
-
|
|
47
|
-
// Font sizes (unitless multipliers from theme-designer, multiplied by --drp-rem)
|
|
48
|
-
// Theme-designer outputs: --base-font-size-sm: 1.4 (unitless)
|
|
49
|
-
// Component computes: calc(1.4 * 10px) = 14px
|
|
50
|
-
--drp-font-size-2xs: calc(var(--base-font-size-2xs, 1) * var(--drp-rem)); // 10px
|
|
51
|
-
--drp-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--drp-rem)); // 12px
|
|
52
|
-
--drp-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--drp-rem)); // 14px
|
|
53
|
-
--drp-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--drp-rem)); // 16px
|
|
54
|
-
--drp-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--drp-rem)); // 18px
|
|
55
|
-
--drp-font-size-xl: calc(var(--base-font-size-xl, 2) * var(--drp-rem)); // 20px
|
|
56
|
-
--drp-font-size-2xl: calc(var(--base-font-size-2xl, 2.4) * var(--drp-rem)); // 24px
|
|
57
|
-
|
|
58
|
-
// Font weights (reference theme-designer base variables)
|
|
59
|
-
--drp-font-weight-normal: var(--base-font-weight-normal, 400);
|
|
60
|
-
--drp-font-weight-medium: var(--base-font-weight-medium, 500);
|
|
61
|
-
--drp-font-weight-semibold: var(--base-font-weight-semibold, 600);
|
|
62
|
-
|
|
63
|
-
// Line heights (reference theme-designer base variables)
|
|
64
|
-
--drp-line-height-tight: var(--base-line-height-tight, 1.25);
|
|
65
|
-
--drp-line-height-normal: var(--base-line-height-normal, 1.5);
|
|
66
|
-
--drp-line-height-relaxed: var(--base-line-height-relaxed, 1.75);
|
|
67
|
-
|
|
68
|
-
// ===========================================================================
|
|
69
|
-
// COLORS (not affected by density)
|
|
70
|
-
// ===========================================================================
|
|
71
|
-
|
|
72
|
-
--drp-dropdown-background: #{$drp-calendar-bg};
|
|
73
|
-
--drp-border-color: #{$drp-border-color};
|
|
74
|
-
--drp-primary-bg: #{$drp-color-neutral-lighter};
|
|
75
|
-
--drp-primary-bg-hover: #{$drp-color-neutral-light};
|
|
76
|
-
--drp-accent-color: #{$drp-color-accent};
|
|
77
|
-
--drp-accent-color-hover: #{$drp-color-accent-dark};
|
|
78
|
-
--drp-text-primary: #{$drp-color-neutral-darkest};
|
|
79
|
-
--drp-text-secondary: #{$drp-color-neutral-dark};
|
|
80
|
-
--drp-text-on-accent: #{$drp-color-white};
|
|
81
|
-
--drp-button-text-color: #{$drp-color-white};
|
|
82
|
-
--drp-tooltip-background: #{$drp-tooltip-bg};
|
|
83
|
-
--drp-tooltip-text-color: #{$drp-tooltip-color};
|
|
84
|
-
|
|
85
|
-
// Loading overlay (for async operations)
|
|
86
|
-
--drp-loading-overlay-background: rgba(255, 255, 255, 0.8);
|
|
87
|
-
--drp-loading-spinner-color: var(--drp-border-color);
|
|
88
|
-
--drp-loading-spinner-accent: var(--drp-accent-color);
|
|
89
|
-
|
|
90
|
-
// ===========================================================================
|
|
91
|
-
// OTHER PROPERTIES (not affected by density)
|
|
92
|
-
// ===========================================================================
|
|
93
|
-
|
|
94
|
-
--drp-border-width-base: #{$drp-border-width-base};
|
|
95
|
-
--drp-border-radius: #{$drp-border-radius};
|
|
96
|
-
--drp-shadow-xl: #{$drp-shadow-xl};
|
|
97
|
-
--drp-transition-fast: #{$drp-transition-fast};
|
|
98
|
-
--drp-easing-snappy: #{$drp-easing-snappy};
|
|
99
|
-
--drp-input-padding-h: #{$drp-input-padding-h};
|
|
100
|
-
--drp-grid-columns: #{$drp-grid-columns};
|
|
101
|
-
--drp-grid-rows: #{$drp-grid-rows};
|
|
102
|
-
|
|
103
|
-
// ===========================================================================
|
|
104
|
-
// INPUT FIELD SEMANTIC VARIABLES
|
|
105
|
-
// ===========================================================================
|
|
106
|
-
// Semantic variables for input customization (loosely coupled)
|
|
107
|
-
|
|
108
|
-
// Input colors
|
|
109
|
-
--drp-input-background: var(--drp-dropdown-background);
|
|
110
|
-
--drp-input-color: var(--drp-text-primary);
|
|
111
|
-
--drp-input-border-color: var(--drp-border-color);
|
|
112
|
-
--drp-input-border-color-hover: var(--drp-accent-color);
|
|
113
|
-
--drp-input-border-color-focus: var(--drp-accent-color);
|
|
114
|
-
--drp-input-placeholder-color: var(--drp-text-secondary);
|
|
115
|
-
--drp-input-background-disabled: var(--drp-primary-bg);
|
|
116
|
-
|
|
117
|
-
// Input focus state
|
|
118
|
-
--drp-input-focus-shadow-color: rgba(59, 130, 246, 0.1);
|
|
119
|
-
--drp-input-focus-shadow-size: 3px;
|
|
120
|
-
|
|
121
|
-
// Input icon
|
|
122
|
-
--drp-input-icon-opacity: #{$drp-input-icon-opacity};
|
|
123
|
-
|
|
124
|
-
// ===========================================================================
|
|
125
|
-
// INPUT SIZE VARIANTS (BASE VALUES)
|
|
126
|
-
// ===========================================================================
|
|
127
|
-
// Five size variants for the input element (xs, sm, md, lg, xl)
|
|
128
|
-
|
|
129
|
-
--drp-input-size-xs-font: #{$font-size-xs};
|
|
130
|
-
--drp-input-size-xs-padding-v: #{$padding-xs};
|
|
131
|
-
--drp-input-size-xs-padding-h: calc(0.8 * var(--drp-rem)); // 8px (aligned with web-multiselect, was 4px)
|
|
132
|
-
--drp-input-size-xs-height: calc(3.1 * var(--drp-rem)); // 31px
|
|
133
|
-
--drp-input-size-xs-icon-size: 0.75em;
|
|
134
|
-
|
|
135
|
-
--drp-input-size-sm-font: calc(1.3 * var(--drp-rem)); // 13px (aligned with web-multiselect)
|
|
136
|
-
--drp-input-size-sm-padding-v: calc(0.5 * var(--drp-rem)); // 5px (aligned with web-multiselect)
|
|
137
|
-
--drp-input-size-sm-padding-h: #{$drp-spacing-sm};
|
|
138
|
-
--drp-input-size-sm-height: calc(3.3 * var(--drp-rem)); // 33px
|
|
139
|
-
--drp-input-size-sm-icon-size: 0.875em;
|
|
140
|
-
|
|
141
|
-
--drp-input-size-md-font: calc(1.4 * var(--drp-rem)); // 14px (aligned with web-multiselect, was 16px)
|
|
142
|
-
--drp-input-size-md-padding-v: #{$drp-spacing-sm};
|
|
143
|
-
--drp-input-size-md-padding-h: #{$padding-base};
|
|
144
|
-
--drp-input-size-md-height: calc(3.5 * var(--drp-rem)); // 35px
|
|
145
|
-
--drp-input-size-md-icon-size: 1em;
|
|
146
|
-
|
|
147
|
-
--drp-input-size-lg-font: calc(1.6 * var(--drp-rem)); // 16px (aligned with web-multiselect, was 18px)
|
|
148
|
-
--drp-input-size-lg-padding-v: calc(1.0 * var(--drp-rem)); // 10px (aligned with web-multiselect, was 16px)
|
|
149
|
-
--drp-input-size-lg-padding-h: calc(1.4 * var(--drp-rem)); // 14px (aligned with web-multiselect, was 16px)
|
|
150
|
-
--drp-input-size-lg-height: calc(3.8 * var(--drp-rem)); // 38px
|
|
151
|
-
--drp-input-size-lg-icon-size: 1.125em;
|
|
152
|
-
|
|
153
|
-
--drp-input-size-xl-font: calc(1.8 * var(--drp-rem)); // 18px (aligned with web-multiselect, was 20px)
|
|
154
|
-
--drp-input-size-xl-padding-v: calc(1.2 * var(--drp-rem)); // 12px (aligned with web-multiselect, was 16px)
|
|
155
|
-
--drp-input-size-xl-padding-h: calc(1.6 * var(--drp-rem)); // 16px (aligned with web-multiselect, was 24px)
|
|
156
|
-
--drp-input-size-xl-height: calc(4.1 * var(--drp-rem)); // 41px
|
|
157
|
-
--drp-input-size-xl-icon-size: 1.25em;
|
|
158
|
-
|
|
159
|
-
// ===========================================================================
|
|
160
|
-
// HEADER & NAVIGATION SEMANTIC VARIABLES
|
|
161
|
-
// ===========================================================================
|
|
162
|
-
|
|
163
|
-
--drp-header-text-color: var(--drp-text-primary);
|
|
164
|
-
--drp-header-bg-hover: var(--drp-primary-bg);
|
|
165
|
-
--drp-header-bg-active: var(--drp-primary-bg-hover);
|
|
166
|
-
|
|
167
|
-
--drp-nav-text-color: var(--drp-text-primary);
|
|
168
|
-
--drp-nav-border-color: var(--drp-border-color);
|
|
169
|
-
--drp-nav-bg-hover: var(--drp-primary-bg);
|
|
170
|
-
--drp-nav-bg-active: var(--drp-primary-bg-hover);
|
|
171
|
-
--drp-nav-border-hover: var(--drp-accent-color);
|
|
172
|
-
|
|
173
|
-
--drp-rolling-bg: var(--drp-primary-bg);
|
|
174
|
-
--drp-rolling-border-color: var(--drp-border-color);
|
|
175
|
-
--drp-rolling-scrollbar-thumb: var(--drp-border-color);
|
|
176
|
-
--drp-rolling-scrollbar-thumb-hover: var(--drp-accent-color);
|
|
177
|
-
--drp-rolling-item-bg-hover: var(--drp-primary-bg);
|
|
178
|
-
--drp-rolling-item-bg-selected: var(--drp-accent-color);
|
|
179
|
-
--drp-rolling-item-color-selected: var(--drp-text-on-accent);
|
|
180
|
-
--drp-rolling-item-bg-selected-hover: var(--drp-accent-color-hover);
|
|
181
|
-
|
|
182
|
-
// ===========================================================================
|
|
183
|
-
// CALENDAR GRID & DAY CELLS SEMANTIC VARIABLES
|
|
184
|
-
// ===========================================================================
|
|
185
|
-
|
|
186
|
-
--drp-weekday-color: var(--drp-text-secondary);
|
|
187
|
-
|
|
188
|
-
--drp-day-text-color: var(--drp-text-primary);
|
|
189
|
-
--drp-day-bg-hover: var(--drp-primary-bg);
|
|
190
|
-
--drp-day-border-hover: var(--drp-accent-color);
|
|
191
|
-
--drp-day-today-border: var(--drp-accent-color);
|
|
192
|
-
--drp-day-selected-bg: var(--drp-accent-color);
|
|
193
|
-
--drp-day-selected-color: var(--drp-text-on-accent);
|
|
194
|
-
--drp-day-selected-bg-hover: var(--drp-accent-color-hover);
|
|
195
|
-
--drp-day-focused-outline: var(--drp-accent-color);
|
|
196
|
-
--drp-day-disabled-color: var(--drp-text-secondary);
|
|
197
|
-
--drp-day-other-month-color: var(--drp-text-secondary);
|
|
198
|
-
--drp-day-range-bg: var(--drp-accent-color);
|
|
199
|
-
--drp-day-range-color: var(--drp-text-on-accent);
|
|
200
|
-
|
|
201
|
-
// ===========================================================================
|
|
202
|
-
// SUMMARY & ACTIONS SEMANTIC VARIABLES
|
|
203
|
-
// ===========================================================================
|
|
204
|
-
|
|
205
|
-
--drp-summary-text-color: var(--drp-text-secondary);
|
|
206
|
-
--drp-summary-border-color: var(--drp-border-color);
|
|
207
|
-
--drp-summary-count-color: var(--drp-accent-color);
|
|
208
|
-
|
|
209
|
-
--drp-button-border-color: var(--drp-border-color);
|
|
210
|
-
--drp-button-bg-hover: var(--drp-primary-bg);
|
|
211
|
-
--drp-button-border-hover: var(--drp-accent-color);
|
|
212
|
-
--drp-button-today-color: var(--drp-accent-color);
|
|
213
|
-
--drp-button-clear-color: var(--drp-text-secondary);
|
|
214
|
-
--drp-button-cancel-color: var(--drp-text-secondary);
|
|
215
|
-
--drp-button-apply-bg: var(--drp-accent-color);
|
|
216
|
-
--drp-button-apply-color: var(--drp-button-text-color);
|
|
217
|
-
--drp-button-apply-border: var(--drp-accent-color);
|
|
218
|
-
--drp-button-apply-bg-hover: var(--drp-accent-color-hover);
|
|
219
|
-
|
|
220
|
-
// ===========================================================================
|
|
221
|
-
// BADGE SYSTEM SEMANTIC VARIABLES
|
|
222
|
-
// ===========================================================================
|
|
223
|
-
|
|
224
|
-
--drp-badge-number-bg: var(--drp-accent-color);
|
|
225
|
-
--drp-badge-number-color: var(--drp-text-on-accent);
|
|
226
|
-
--drp-badge-count-bg: #{$drp-color-error};
|
|
227
|
-
--drp-badge-count-color: #{$drp-color-white};
|
|
228
|
-
--drp-badge-text-bg: var(--drp-text-secondary);
|
|
229
|
-
--drp-badge-text-color: #{$drp-color-white};
|
|
230
|
-
|
|
231
|
-
// ===========================================================================
|
|
232
|
-
// UNIFIED NAV SEMANTIC VARIABLES
|
|
233
|
-
// ===========================================================================
|
|
234
|
-
|
|
235
|
-
--drp-unified-range-text-color: var(--drp-text-primary);
|
|
236
|
-
--drp-unified-range-bg-hover: var(--drp-primary-bg);
|
|
237
|
-
--drp-unified-range-bg-active: var(--drp-primary-bg-hover);
|
|
238
|
-
--drp-unified-month-color: var(--drp-text-secondary);
|
|
239
|
-
--drp-unified-rolling-disabled-color: var(--drp-text-secondary);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
// ==============================================================================
|
|
243
|
-
// DATE PICKER INPUT FIELD
|
|
244
|
-
// ==============================================================================
|
|
245
|
-
|
|
246
|
-
// Input element itself (actual <input> tag)
|
|
247
|
-
.drp-input {
|
|
248
|
-
width: 100%;
|
|
249
|
-
font-family: var(--drp-font-family, var(--base-font-family, inherit));
|
|
250
|
-
font-size: var(--drp-input-size-md-font);
|
|
251
|
-
line-height: var(--drp-line-height-normal);
|
|
252
|
-
color: var(--drp-input-color);
|
|
253
|
-
background-color: var(--drp-input-background);
|
|
254
|
-
border: var(--drp-border-width-base) solid var(--drp-input-border-color);
|
|
255
|
-
border-radius: var(--drp-border-radius);
|
|
256
|
-
padding: var(--drp-input-size-md-padding-v) var(--drp-input-size-md-padding-h);
|
|
257
|
-
padding-right: calc(var(--drp-input-size-md-padding-h) * 2.5); // Extra space for calendar icon
|
|
258
|
-
height: var(--drp-input-size-md-height);
|
|
259
|
-
box-sizing: border-box;
|
|
260
|
-
transition: border-color var(--drp-transition-fast) var(--drp-easing-snappy),
|
|
261
|
-
box-shadow var(--drp-transition-fast) var(--drp-easing-snappy);
|
|
262
|
-
|
|
263
|
-
&::placeholder {
|
|
264
|
-
color: var(--drp-input-placeholder-color);
|
|
265
|
-
opacity: 0.6;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
&:hover:not(:disabled) {
|
|
269
|
-
border-color: var(--drp-input-border-color-hover);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
&:focus {
|
|
273
|
-
outline: none;
|
|
274
|
-
border-color: var(--drp-input-border-color-focus);
|
|
275
|
-
box-shadow: 0 0 0 var(--drp-input-focus-shadow-size) var(--drp-input-focus-shadow-color);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
&:disabled {
|
|
279
|
-
opacity: #{$drp-opacity-disabled};
|
|
280
|
-
cursor: not-allowed;
|
|
281
|
-
background-color: var(--drp-input-background-disabled);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
// Size variants
|
|
285
|
-
&.drp-input--xs {
|
|
286
|
-
font-size: var(--drp-input-size-xs-font);
|
|
287
|
-
padding: var(--drp-input-size-xs-padding-v) var(--drp-input-size-xs-padding-h);
|
|
288
|
-
padding-right: calc(var(--drp-input-size-xs-padding-h) * 2.5);
|
|
289
|
-
height: var(--drp-input-size-xs-height);
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
&.drp-input--sm {
|
|
293
|
-
font-size: var(--drp-input-size-sm-font);
|
|
294
|
-
padding: var(--drp-input-size-sm-padding-v) var(--drp-input-size-sm-padding-h);
|
|
295
|
-
padding-right: calc(var(--drp-input-size-sm-padding-h) * 2.5);
|
|
296
|
-
height: var(--drp-input-size-sm-height);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
&.drp-input--lg {
|
|
300
|
-
font-size: var(--drp-input-size-lg-font);
|
|
301
|
-
padding: var(--drp-input-size-lg-padding-v) var(--drp-input-size-lg-padding-h);
|
|
302
|
-
padding-right: calc(var(--drp-input-size-lg-padding-h) * 2.5);
|
|
303
|
-
height: var(--drp-input-size-lg-height);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
&.drp-input--xl {
|
|
307
|
-
font-size: var(--drp-input-size-xl-font);
|
|
308
|
-
padding: var(--drp-input-size-xl-padding-v) var(--drp-input-size-xl-padding-h);
|
|
309
|
-
padding-right: calc(var(--drp-input-size-xl-padding-h) * 2.5);
|
|
310
|
-
height: var(--drp-input-size-xl-height);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
// Input wrapper container (for positioning calendar icon)
|
|
315
|
-
.drp-date-picker-input {
|
|
316
|
-
position: relative;
|
|
317
|
-
cursor: pointer;
|
|
318
|
-
display: inline-block;
|
|
319
|
-
width: 100%;
|
|
320
|
-
|
|
321
|
-
// Calendar icon
|
|
322
|
-
&::after {
|
|
323
|
-
content: '📅';
|
|
324
|
-
position: absolute;
|
|
325
|
-
right: var(--drp-input-size-md-padding-h);
|
|
326
|
-
top: 50%;
|
|
327
|
-
transform: translateY(-50%);
|
|
328
|
-
pointer-events: none;
|
|
329
|
-
opacity: var(--drp-input-icon-opacity);
|
|
330
|
-
font-size: var(--drp-input-size-md-icon-size);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
// Size variant icon positioning
|
|
334
|
-
&.drp-date-picker-input--xs::after {
|
|
335
|
-
right: var(--drp-input-size-xs-padding-h);
|
|
336
|
-
font-size: var(--drp-input-size-xs-icon-size);
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
&.drp-date-picker-input--sm::after {
|
|
340
|
-
right: var(--drp-input-size-sm-padding-h);
|
|
341
|
-
font-size: var(--drp-input-size-sm-icon-size);
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
&.drp-date-picker-input--lg::after {
|
|
345
|
-
right: var(--drp-input-size-lg-padding-h);
|
|
346
|
-
font-size: var(--drp-input-size-lg-icon-size);
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
&.drp-date-picker-input--xl::after {
|
|
350
|
-
right: var(--drp-input-size-xl-padding-h);
|
|
351
|
-
font-size: var(--drp-input-size-xl-icon-size);
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
// ==============================================================================
|
|
356
|
-
// CALENDAR POPUP CONTAINER
|
|
357
|
-
// ==============================================================================
|
|
358
|
-
|
|
359
|
-
.drp-date-picker {
|
|
360
|
-
position: absolute;
|
|
361
|
-
z-index: $drp-z-index-dropdown;
|
|
362
|
-
font-family: var(--drp-font-family, var(--base-font-family, inherit));
|
|
363
|
-
background: var(--drp-dropdown-background);
|
|
364
|
-
border: var(--drp-border-width-base) solid var(--drp-border-color);
|
|
365
|
-
border-radius: var(--drp-border-radius);
|
|
366
|
-
box-shadow: var(--drp-shadow-xl);
|
|
367
|
-
padding: var(--drp-spacing-md);
|
|
368
|
-
min-width: $drp-month-min-width;
|
|
369
|
-
max-width: $drp-calendar-max-width;
|
|
370
|
-
box-sizing: border-box;
|
|
371
|
-
user-select: none;
|
|
372
|
-
|
|
373
|
-
// Badge row height
|
|
374
|
-
--drp-badge-row-height: #{$drp-badge-max-height};
|
|
375
|
-
|
|
376
|
-
// Hide by default
|
|
377
|
-
&:not(.drp-date-picker--visible) {
|
|
378
|
-
display: none;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
// Inline mode modifier
|
|
382
|
-
&--inline {
|
|
383
|
-
position: relative !important;
|
|
384
|
-
display: block !important;
|
|
385
|
-
z-index: auto;
|
|
386
|
-
min-width: 0;
|
|
387
|
-
max-width: 100%;
|
|
388
|
-
width: fit-content;
|
|
389
|
-
box-sizing: border-box;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
// ==============================================================================
|
|
394
|
-
// MONTHS CONTAINER (MULTI-MONTH LAYOUT)
|
|
395
|
-
// ==============================================================================
|
|
396
|
-
|
|
397
|
-
.drp-date-picker__months {
|
|
398
|
-
display: flex;
|
|
399
|
-
gap: var(--drp-spacing-lg);
|
|
400
|
-
|
|
401
|
-
// Allow wrapping for inline mode on small screens
|
|
402
|
-
.drp-date-picker--inline & {
|
|
403
|
-
flex-wrap: wrap;
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
// Grid layout mode
|
|
407
|
-
&--grid {
|
|
408
|
-
display: grid;
|
|
409
|
-
grid-template-columns: repeat(var(--drp-grid-columns, 3), minmax(0, 1fr));
|
|
410
|
-
grid-template-rows: repeat(var(--drp-grid-rows, 2), auto);
|
|
411
|
-
gap: var(--drp-spacing-lg);
|
|
412
|
-
width: 100%;
|
|
413
|
-
|
|
414
|
-
// Responsive breakpoints
|
|
415
|
-
@media (max-width: 1200px) {
|
|
416
|
-
grid-template-columns: repeat(min(var(--drp-grid-columns, 3), 3), minmax(0, 1fr));
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
@media (max-width: 768px) {
|
|
420
|
-
grid-template-columns: repeat(min(var(--drp-grid-columns, 3), 2), minmax(0, 1fr));
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
@media (max-width: 480px) {
|
|
424
|
-
grid-template-columns: minmax(0, 1fr);
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
// ==============================================================================
|
|
430
|
-
// INDIVIDUAL MONTH CONTAINER
|
|
431
|
-
// ==============================================================================
|
|
432
|
-
|
|
433
|
-
.drp-date-picker__month {
|
|
434
|
-
flex: 1;
|
|
435
|
-
min-width: $drp-month-min-width;
|
|
436
|
-
|
|
437
|
-
// Make month a flex column container so calendar-container can fill vertical space
|
|
438
|
-
display: flex;
|
|
439
|
-
flex-direction: column;
|
|
440
|
-
|
|
441
|
-
// Allow shrinking for inline mode
|
|
442
|
-
.drp-date-picker--inline & {
|
|
443
|
-
min-width: $drp-month-min-width-inline;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
// Grid layout: remove min-width to allow proper grid sizing
|
|
447
|
-
.drp-date-picker__months--grid & {
|
|
448
|
-
min-width: 0;
|
|
449
|
-
width: 100%;
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
// Calendar container for swapping between calendar grid and rolling selector
|
|
454
|
-
.drp-date-picker__calendar-container {
|
|
455
|
-
position: relative; // Establishes containing block for absolute positioning
|
|
456
|
-
|
|
457
|
-
// Fill available vertical space in month container
|
|
458
|
-
flex: 1;
|
|
459
|
-
display: flex;
|
|
460
|
-
flex-direction: column;
|
|
461
|
-
min-height: 0; // Allow flex item to shrink below content size if needed
|
|
462
|
-
|
|
463
|
-
// Calendar grid (weekdays + days) determines minimum size
|
|
464
|
-
// Rolling selector overlays absolutely and fills this expanded space
|
|
465
|
-
}
|