@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
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
// ==============================================================================
|
|
2
|
-
// DATE RANGE PICKER - CALENDAR GRID
|
|
3
|
-
// ==============================================================================
|
|
4
|
-
// Weekday labels, days grid, and individual day cells with all states
|
|
5
|
-
|
|
6
|
-
@use 'variables' as *;
|
|
7
|
-
|
|
8
|
-
// ==============================================================================
|
|
9
|
-
// WEEKDAY LABELS
|
|
10
|
-
// ==============================================================================
|
|
11
|
-
|
|
12
|
-
.drp-date-picker__weekdays {
|
|
13
|
-
display: grid;
|
|
14
|
-
grid-template-columns: repeat(7, 1fr);
|
|
15
|
-
gap: var(--drp-spacing-xs);
|
|
16
|
-
margin-bottom: var(--drp-spacing-sm);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.drp-date-picker__weekday {
|
|
20
|
-
text-align: center;
|
|
21
|
-
font-size: var(--drp-font-size-xs);
|
|
22
|
-
font-weight: var(--drp-font-weight-semibold);
|
|
23
|
-
color: var(--drp-weekday-color);
|
|
24
|
-
padding: var(--drp-spacing-xs);
|
|
25
|
-
text-transform: uppercase;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// ==============================================================================
|
|
29
|
-
// DAYS GRID
|
|
30
|
-
// ==============================================================================
|
|
31
|
-
|
|
32
|
-
.drp-date-picker__days {
|
|
33
|
-
display: flex;
|
|
34
|
-
flex-direction: column;
|
|
35
|
-
gap: var(--drp-spacing-xs);
|
|
36
|
-
margin-bottom: var(--drp-spacing-md);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.drp-date-picker__date-row {
|
|
40
|
-
display: grid;
|
|
41
|
-
grid-template-columns: repeat(7, 1fr);
|
|
42
|
-
gap: var(--drp-spacing-xs);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// ==============================================================================
|
|
46
|
-
// DAY CELLS
|
|
47
|
-
// ==============================================================================
|
|
48
|
-
|
|
49
|
-
.drp-date-picker__day {
|
|
50
|
-
aspect-ratio: 1;
|
|
51
|
-
display: flex;
|
|
52
|
-
align-items: center;
|
|
53
|
-
justify-content: center;
|
|
54
|
-
font-size: var(--drp-font-size-sm);
|
|
55
|
-
color: var(--drp-day-text-color);
|
|
56
|
-
border-radius: var(--drp-border-radius);
|
|
57
|
-
cursor: pointer;
|
|
58
|
-
border: $drp-day-border-width solid $drp-day-border-color;
|
|
59
|
-
position: relative; // For absolute positioning of labels
|
|
60
|
-
|
|
61
|
-
&:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month) {
|
|
62
|
-
background-color: var(--drp-day-bg-hover);
|
|
63
|
-
border-color: var(--drp-day-border-hover);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// --------------------------------------
|
|
67
|
-
// Today
|
|
68
|
-
// --------------------------------------
|
|
69
|
-
&--today {
|
|
70
|
-
border-color: var(--drp-day-today-border);
|
|
71
|
-
font-weight: var(--drp-font-weight-semibold);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// --------------------------------------
|
|
75
|
-
// Selected
|
|
76
|
-
// --------------------------------------
|
|
77
|
-
&--selected {
|
|
78
|
-
background-color: var(--drp-day-selected-bg);
|
|
79
|
-
color: var(--drp-day-selected-color);
|
|
80
|
-
font-weight: var(--drp-font-weight-semibold);
|
|
81
|
-
|
|
82
|
-
&:hover {
|
|
83
|
-
background-color: var(--drp-day-selected-bg-hover);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// --------------------------------------
|
|
88
|
-
// Focused (keyboard navigation)
|
|
89
|
-
// --------------------------------------
|
|
90
|
-
&--focused {
|
|
91
|
-
outline: $drp-day-focused-outline-width solid var(--drp-day-focused-outline);
|
|
92
|
-
outline-offset: $drp-day-focused-outline-offset;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// --------------------------------------
|
|
96
|
-
// Disabled
|
|
97
|
-
// --------------------------------------
|
|
98
|
-
&--disabled {
|
|
99
|
-
color: var(--drp-day-disabled-color);
|
|
100
|
-
opacity: $drp-day-disabled-opacity;
|
|
101
|
-
cursor: not-allowed;
|
|
102
|
-
position: relative;
|
|
103
|
-
|
|
104
|
-
// Diagonal hatched pattern overlay
|
|
105
|
-
&::before {
|
|
106
|
-
content: '';
|
|
107
|
-
position: absolute;
|
|
108
|
-
top: 0;
|
|
109
|
-
left: 0;
|
|
110
|
-
right: 0;
|
|
111
|
-
bottom: 0;
|
|
112
|
-
background-image: repeating-linear-gradient(
|
|
113
|
-
45deg,
|
|
114
|
-
rgba(0, 0, 0, $drp-day-disabled-pattern-opacity) 0px,
|
|
115
|
-
rgba(0, 0, 0, $drp-day-disabled-pattern-opacity) 1px,
|
|
116
|
-
transparent 1px,
|
|
117
|
-
transparent 6px
|
|
118
|
-
);
|
|
119
|
-
border-radius: var(--drp-border-radius);
|
|
120
|
-
pointer-events: none;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
&:hover {
|
|
124
|
-
background-color: transparent;
|
|
125
|
-
border-color: transparent;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// Disabled day that is also in range - show range background behind disabled overlay
|
|
129
|
-
&.drp-date-picker__day--in-range {
|
|
130
|
-
background-color: color-mix(in srgb, var(--drp-day-range-bg) $drp-day-in-range-bg-opacity * 100%, transparent);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// --------------------------------------
|
|
135
|
-
// Other month days (previous/next month)
|
|
136
|
-
// --------------------------------------
|
|
137
|
-
&--other-month {
|
|
138
|
-
color: var(--drp-day-other-month-color);
|
|
139
|
-
opacity: $drp-day-other-month-opacity;
|
|
140
|
-
|
|
141
|
-
// Reset opacity when other-month days are part of range selection
|
|
142
|
-
&.drp-date-picker__day--range-start,
|
|
143
|
-
&.drp-date-picker__day--range-end,
|
|
144
|
-
&.drp-date-picker__day--in-range,
|
|
145
|
-
&.drp-date-picker__day--drag-preview {
|
|
146
|
-
opacity: 1;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// --------------------------------------
|
|
151
|
-
// Range selection states
|
|
152
|
-
// --------------------------------------
|
|
153
|
-
&--range-start,
|
|
154
|
-
&--range-end {
|
|
155
|
-
background-color: var(--drp-day-range-bg);
|
|
156
|
-
color: var(--drp-day-range-color);
|
|
157
|
-
font-weight: var(--drp-font-weight-semibold);
|
|
158
|
-
cursor: grab;
|
|
159
|
-
user-select: none;
|
|
160
|
-
|
|
161
|
-
&:active {
|
|
162
|
-
cursor: grabbing;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
&--in-range {
|
|
167
|
-
background-color: color-mix(in srgb, var(--drp-day-range-bg) $drp-day-in-range-bg-opacity * 100%, transparent);
|
|
168
|
-
|
|
169
|
-
&:hover {
|
|
170
|
-
background-color: color-mix(in srgb, var(--drp-day-range-bg) $drp-day-in-range-hover-bg-opacity * 100%, transparent);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// --------------------------------------
|
|
175
|
-
// Dragging states
|
|
176
|
-
// --------------------------------------
|
|
177
|
-
&--dragging {
|
|
178
|
-
cursor: grabbing !important;
|
|
179
|
-
opacity: $drp-day-dragging-opacity;
|
|
180
|
-
transform: scale($drp-day-dragging-scale);
|
|
181
|
-
transition: transform var(--drp-transition-fast) var(--drp-easing-snappy);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
&--drag-preview {
|
|
185
|
-
background-color: color-mix(in srgb, var(--drp-day-range-bg) $drp-day-drag-preview-bg-opacity * 100%, transparent);
|
|
186
|
-
border: $drp-day-border-width $drp-day-drag-preview-border-style var(--drp-day-range-bg);
|
|
187
|
-
|
|
188
|
-
&.drp-date-picker__day--range-start,
|
|
189
|
-
&.drp-date-picker__day--range-end {
|
|
190
|
-
background-color: color-mix(in srgb, var(--drp-day-range-bg) $drp-day-drag-preview-edge-bg-opacity * 100%, transparent);
|
|
191
|
-
color: var(--drp-day-range-color);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
&--drag-invalid {
|
|
196
|
-
background-color: color-mix(in srgb, $drp-day-drag-invalid-bg $drp-day-drag-invalid-bg-opacity * 100%, transparent) !important;
|
|
197
|
-
border-color: $drp-day-drag-invalid-bg !important;
|
|
198
|
-
border-style: dashed !important;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
// ==============================================================================
|
|
203
|
-
// SPECIAL DATE HIGHLIGHTING (EXAMPLES)
|
|
204
|
-
// ==============================================================================
|
|
205
|
-
// These are example classes showing how to highlight special dates.
|
|
206
|
-
// Applications should define their own classes with appropriate colors.
|
|
207
|
-
// The .holiday and .event classes here use component colors as examples only.
|
|
208
|
-
|
|
209
|
-
.drp-date-picker__day.holiday {
|
|
210
|
-
background-color: color-mix(in srgb, $drp-color-error $drp-holiday-bg-opacity * 100%, transparent);
|
|
211
|
-
|
|
212
|
-
&:hover:not(.drp-date-picker__day--disabled) {
|
|
213
|
-
background-color: color-mix(in srgb, $drp-color-error $drp-holiday-hover-bg-opacity * 100%, transparent);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.drp-date-picker__day.event {
|
|
218
|
-
background-color: color-mix(in srgb, $drp-color-success $drp-event-bg-opacity * 100%, transparent);
|
|
219
|
-
|
|
220
|
-
&:hover:not(.drp-date-picker__day--disabled) {
|
|
221
|
-
background-color: color-mix(in srgb, $drp-color-success $drp-event-hover-bg-opacity * 100%, transparent);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
// ==============================================================================
|
|
226
|
-
// ROLLING SELECTOR - DISABLED ITEMS
|
|
227
|
-
// ==============================================================================
|
|
228
|
-
// Styling for disabled years/months in the rolling selector
|
|
229
|
-
// (e.g., when outside rollingYearRange/rollingMonthRange or minDate/maxDate)
|
|
230
|
-
|
|
231
|
-
.drp-date-picker__rolling-item--disabled {
|
|
232
|
-
color: var(--drp-unified-rolling-disabled-color);
|
|
233
|
-
opacity: 0.4;
|
|
234
|
-
cursor: not-allowed;
|
|
235
|
-
pointer-events: none; // Prevent clicking
|
|
236
|
-
text-decoration: line-through;
|
|
237
|
-
|
|
238
|
-
&:hover {
|
|
239
|
-
background-color: transparent;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
@@ -1,370 +0,0 @@
|
|
|
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
|
-
// Static header (used in unified navigation mode)
|
|
20
|
-
&--static {
|
|
21
|
-
justify-content: center;
|
|
22
|
-
|
|
23
|
-
.drp-date-picker__month-year {
|
|
24
|
-
cursor: default;
|
|
25
|
-
|
|
26
|
-
&:hover {
|
|
27
|
-
background-color: transparent;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// ==============================================================================
|
|
34
|
-
// MONTH/YEAR DISPLAY (CLICKABLE TO OPEN ROLLING SELECTOR)
|
|
35
|
-
// ==============================================================================
|
|
36
|
-
|
|
37
|
-
.drp-date-picker__month-year {
|
|
38
|
-
flex: 1;
|
|
39
|
-
text-align: center;
|
|
40
|
-
font-weight: var(--drp-font-weight-semibold);
|
|
41
|
-
font-size: var(--drp-font-size-base);
|
|
42
|
-
color: var(--drp-header-text-color);
|
|
43
|
-
padding: var(--drp-spacing-sm) var(--drp-spacing-md);
|
|
44
|
-
border-radius: var(--drp-border-radius);
|
|
45
|
-
cursor: pointer;
|
|
46
|
-
|
|
47
|
-
&:hover {
|
|
48
|
-
background-color: var(--drp-header-bg-hover);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
&:active {
|
|
52
|
-
background-color: var(--drp-header-bg-active);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// ==============================================================================
|
|
57
|
-
// NAVIGATION BUTTONS (PREVIOUS/NEXT MONTH)
|
|
58
|
-
// ==============================================================================
|
|
59
|
-
|
|
60
|
-
.drp-date-picker__nav {
|
|
61
|
-
width: $drp-nav-size;
|
|
62
|
-
height: $drp-nav-size;
|
|
63
|
-
display: flex;
|
|
64
|
-
align-items: center;
|
|
65
|
-
justify-content: center;
|
|
66
|
-
border: var(--drp-border-width-base) solid var(--drp-nav-border-color);
|
|
67
|
-
border-radius: var(--drp-border-radius);
|
|
68
|
-
background: transparent;
|
|
69
|
-
cursor: pointer;
|
|
70
|
-
font-size: var(--drp-font-size-lg);
|
|
71
|
-
color: var(--drp-nav-text-color);
|
|
72
|
-
|
|
73
|
-
&:hover {
|
|
74
|
-
background-color: var(--drp-nav-bg-hover);
|
|
75
|
-
border-color: var(--drp-nav-border-hover);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
&:active {
|
|
79
|
-
background-color: var(--drp-nav-bg-active);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Disabled state
|
|
83
|
-
&--disabled,
|
|
84
|
-
&[disabled] {
|
|
85
|
-
opacity: $drp-nav-opacity-disabled;
|
|
86
|
-
cursor: not-allowed;
|
|
87
|
-
pointer-events: none;
|
|
88
|
-
|
|
89
|
-
&:hover {
|
|
90
|
-
background-color: transparent;
|
|
91
|
-
border-color: var(--drp-nav-border-color);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
&--prev::before {
|
|
96
|
-
content: '‹';
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
&--next::before {
|
|
100
|
-
content: '›';
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// ==============================================================================
|
|
105
|
-
// ROLLING SELECTOR VIEW (MONTH/YEAR SELECTION)
|
|
106
|
-
// ==============================================================================
|
|
107
|
-
|
|
108
|
-
.drp-date-picker__rolling-selector {
|
|
109
|
-
// Absolutely positioned to overlay calendar grid
|
|
110
|
-
position: absolute;
|
|
111
|
-
inset: 0; // Fill entire container from all edges
|
|
112
|
-
display: none;
|
|
113
|
-
z-index: 10; // Above calendar grid
|
|
114
|
-
|
|
115
|
-
&.drp-date-picker__rolling-selector--visible {
|
|
116
|
-
display: flex;
|
|
117
|
-
|
|
118
|
-
// Hide calendar grid when rolling selector is visible
|
|
119
|
-
~ .drp-date-picker__weekdays,
|
|
120
|
-
~ .drp-date-picker__days {
|
|
121
|
-
visibility: hidden; // Keeps elements in layout flow (maintains container height)
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
gap: var(--drp-spacing-xs);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.drp-date-picker__rolling-list {
|
|
129
|
-
flex: 1;
|
|
130
|
-
min-width: 0; // Allow flex child to shrink below content size (enables ellipsis on items)
|
|
131
|
-
height: 100%; // Fill parent height
|
|
132
|
-
overflow-y: auto;
|
|
133
|
-
border: var(--drp-border-width-base) solid var(--drp-rolling-border-color);
|
|
134
|
-
border-radius: var(--drp-border-radius);
|
|
135
|
-
|
|
136
|
-
// Flex layout to control child item sizing
|
|
137
|
-
display: flex;
|
|
138
|
-
flex-direction: column;
|
|
139
|
-
|
|
140
|
-
// Smooth scrolling
|
|
141
|
-
scroll-behavior: smooth;
|
|
142
|
-
|
|
143
|
-
// Custom scrollbar
|
|
144
|
-
&::-webkit-scrollbar {
|
|
145
|
-
width: $drp-rolling-scrollbar-width;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
&::-webkit-scrollbar-track {
|
|
149
|
-
background: var(--drp-rolling-bg);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
&::-webkit-scrollbar-thumb {
|
|
153
|
-
background: var(--drp-rolling-scrollbar-thumb);
|
|
154
|
-
border-radius: 3px;
|
|
155
|
-
|
|
156
|
-
&:hover {
|
|
157
|
-
background: var(--drp-rolling-scrollbar-thumb-hover);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
.drp-date-picker__rolling-item {
|
|
163
|
-
padding: #{$drp-rolling-item-padding-v} #{$drp-rolling-item-padding-h};
|
|
164
|
-
cursor: pointer;
|
|
165
|
-
font-size: #{$drp-rolling-item-font-size};
|
|
166
|
-
min-height: $drp-rolling-item-min-height;
|
|
167
|
-
flex-shrink: 0;
|
|
168
|
-
|
|
169
|
-
// Flexbox for vertical and horizontal centering
|
|
170
|
-
display: flex;
|
|
171
|
-
align-items: center;
|
|
172
|
-
justify-content: var(--drp-rolling-item-justify-content, #{$drp-rolling-item-justify-content});
|
|
173
|
-
|
|
174
|
-
&:hover {
|
|
175
|
-
background-color: var(--drp-rolling-item-bg-hover);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
&--selected {
|
|
179
|
-
background-color: var(--drp-rolling-item-bg-selected);
|
|
180
|
-
color: var(--drp-rolling-item-color-selected);
|
|
181
|
-
font-weight: $drp-rolling-item-font-weight-selected;
|
|
182
|
-
|
|
183
|
-
&:hover {
|
|
184
|
-
background-color: var(--drp-rolling-item-bg-selected-hover);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// Text wrapper for ellipsis support
|
|
190
|
-
.drp-date-picker__rolling-item-text {
|
|
191
|
-
// Text overflow handling for long month names
|
|
192
|
-
overflow: hidden;
|
|
193
|
-
text-overflow: ellipsis;
|
|
194
|
-
white-space: nowrap;
|
|
195
|
-
width: 100%;
|
|
196
|
-
min-width: 0; // Allow flex child to shrink below content size
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
// ==============================================================================
|
|
200
|
-
// UNIFIED NAVIGATION (MULTI-MONTH CALENDARS)
|
|
201
|
-
// ==============================================================================
|
|
202
|
-
|
|
203
|
-
// Unified header - appears above all months
|
|
204
|
-
.drp-date-picker__unified-header {
|
|
205
|
-
display: flex;
|
|
206
|
-
align-items: center;
|
|
207
|
-
justify-content: space-between;
|
|
208
|
-
margin-bottom: var(--drp-spacing-lg);
|
|
209
|
-
gap: var(--drp-spacing-sm);
|
|
210
|
-
padding: 0 var(--drp-spacing-sm);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// Date range display in unified header (e.g., "Jan 2025 - Jun 2025")
|
|
214
|
-
.drp-date-picker__unified-range {
|
|
215
|
-
flex: 1;
|
|
216
|
-
text-align: center;
|
|
217
|
-
font-weight: var(--drp-font-weight-semibold);
|
|
218
|
-
font-size: var(--drp-font-size-lg);
|
|
219
|
-
color: var(--drp-unified-range-text-color);
|
|
220
|
-
padding: var(--drp-spacing-sm) var(--drp-spacing-md);
|
|
221
|
-
border-radius: var(--drp-border-radius);
|
|
222
|
-
cursor: pointer;
|
|
223
|
-
|
|
224
|
-
&:hover {
|
|
225
|
-
background-color: var(--drp-unified-range-bg-hover);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
&:active {
|
|
229
|
-
background-color: var(--drp-unified-range-bg-active);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// Non-interactive state (when unifiedHeaderInteractive is false)
|
|
233
|
-
&--static {
|
|
234
|
-
cursor: default !important;
|
|
235
|
-
|
|
236
|
-
&:hover {
|
|
237
|
-
background-color: transparent;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
&:active {
|
|
241
|
-
background-color: transparent;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// Unified rolling selector - overlay for all months
|
|
247
|
-
.drp-date-picker__unified-rolling-selector {
|
|
248
|
-
position: absolute;
|
|
249
|
-
// Position below unified header
|
|
250
|
-
top: calc(var(--drp-spacing-lg) + var(--drp-spacing-lg) * 2);
|
|
251
|
-
// Center horizontally
|
|
252
|
-
left: 50%;
|
|
253
|
-
transform: translateX(-50%);
|
|
254
|
-
|
|
255
|
-
// Size constraints (responsive but limited)
|
|
256
|
-
width: min(90%, 450px); // 90% of calendar width or 450px, whichever is smaller
|
|
257
|
-
height: 350px;
|
|
258
|
-
max-height: 350px;
|
|
259
|
-
|
|
260
|
-
display: none;
|
|
261
|
-
z-index: 100; // Above everything
|
|
262
|
-
background: var(--drp-dropdown-background); // White background to cover calendar below
|
|
263
|
-
gap: var(--drp-spacing-xs); // Match normal rolling selector gap
|
|
264
|
-
|
|
265
|
-
&--visible {
|
|
266
|
-
display: flex;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
// Apply rolling list styles to child lists
|
|
270
|
-
.drp-date-picker__rolling-list {
|
|
271
|
-
flex: 1;
|
|
272
|
-
min-width: 0;
|
|
273
|
-
height: 100%;
|
|
274
|
-
overflow-y: auto;
|
|
275
|
-
border: var(--drp-border-width-base) solid var(--drp-rolling-border-color);
|
|
276
|
-
border-radius: var(--drp-border-radius);
|
|
277
|
-
display: flex;
|
|
278
|
-
flex-direction: column;
|
|
279
|
-
scroll-behavior: smooth;
|
|
280
|
-
|
|
281
|
-
// Custom scrollbar
|
|
282
|
-
&::-webkit-scrollbar {
|
|
283
|
-
width: $drp-rolling-scrollbar-width;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
&::-webkit-scrollbar-track {
|
|
287
|
-
background: var(--drp-rolling-bg);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
&::-webkit-scrollbar-thumb {
|
|
291
|
-
background: var(--drp-rolling-scrollbar-thumb);
|
|
292
|
-
border-radius: 3px;
|
|
293
|
-
|
|
294
|
-
&:hover {
|
|
295
|
-
background: var(--drp-rolling-scrollbar-thumb-hover);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
// Apply rolling item styles to child items
|
|
301
|
-
.drp-date-picker__rolling-item {
|
|
302
|
-
padding: #{$drp-rolling-item-padding-v} #{$drp-rolling-item-padding-h};
|
|
303
|
-
cursor: pointer;
|
|
304
|
-
font-size: #{$drp-rolling-item-font-size};
|
|
305
|
-
min-height: $drp-rolling-item-min-height;
|
|
306
|
-
flex-shrink: 0;
|
|
307
|
-
display: flex;
|
|
308
|
-
align-items: center;
|
|
309
|
-
justify-content: var(--drp-rolling-item-justify-content, #{$drp-rolling-item-justify-content});
|
|
310
|
-
|
|
311
|
-
&:hover {
|
|
312
|
-
background-color: var(--drp-rolling-item-bg-hover);
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
&--selected {
|
|
316
|
-
background-color: var(--drp-rolling-item-bg-selected);
|
|
317
|
-
color: var(--drp-rolling-item-color-selected);
|
|
318
|
-
font-weight: $drp-rolling-item-font-weight-selected;
|
|
319
|
-
|
|
320
|
-
&:hover {
|
|
321
|
-
background-color: var(--drp-rolling-item-bg-selected-hover);
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
&--disabled {
|
|
326
|
-
color: var(--drp-unified-rolling-disabled-color);
|
|
327
|
-
opacity: 0.4;
|
|
328
|
-
cursor: not-allowed;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
// Text wrapper for ellipsis support
|
|
333
|
-
.drp-date-picker__rolling-item-text {
|
|
334
|
-
overflow: hidden;
|
|
335
|
-
text-overflow: ellipsis;
|
|
336
|
-
white-space: nowrap;
|
|
337
|
-
width: 100%;
|
|
338
|
-
min-width: 0;
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
// When unified navigation is enabled, hide individual month headers nav buttons
|
|
343
|
-
// but keep the month/year text visible (it becomes static display, not clickable)
|
|
344
|
-
.drp-date-picker--unified-nav {
|
|
345
|
-
.drp-date-picker__month {
|
|
346
|
-
.drp-date-picker__header {
|
|
347
|
-
// Hide nav buttons in individual month headers
|
|
348
|
-
.drp-date-picker__nav {
|
|
349
|
-
display: none;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
// Make month/year display static (not clickable)
|
|
353
|
-
.drp-date-picker__month-year {
|
|
354
|
-
cursor: default;
|
|
355
|
-
font-size: var(--drp-font-size-base);
|
|
356
|
-
font-weight: var(--drp-font-weight-normal);
|
|
357
|
-
color: var(--drp-unified-month-color);
|
|
358
|
-
|
|
359
|
-
&:hover {
|
|
360
|
-
background-color: transparent;
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
// Hide individual month rolling selectors
|
|
366
|
-
.drp-date-picker__rolling-selector {
|
|
367
|
-
display: none !important;
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
}
|
package/src/scss/_loading.scss
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
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: var(--drp-loading-overlay-background);
|
|
16
|
-
display: flex;
|
|
17
|
-
align-items: center;
|
|
18
|
-
justify-content: center;
|
|
19
|
-
z-index: $drp-z-index-dropdown;
|
|
20
|
-
border-radius: var(--drp-border-radius);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.drp-date-picker__loading-spinner {
|
|
24
|
-
width: 40px;
|
|
25
|
-
height: 40px;
|
|
26
|
-
border: 4px solid var(--drp-loading-spinner-color);
|
|
27
|
-
border-top-color: var(--drp-loading-spinner-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
|
-
}
|
package/src/scss/_modifiers.scss
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// ==============================================================================
|
|
2
|
-
// DATE RANGE PICKER - MODIFIERS
|
|
3
|
-
// ==============================================================================
|
|
4
|
-
|
|
5
|
-
@use 'variables' as *;
|
|
6
|
-
|
|
7
|
-
// ==============================================================================
|
|
8
|
-
// TRANSITIONS (OPT-IN FOR PERFORMANCE)
|
|
9
|
-
// ==============================================================================
|
|
10
|
-
// By default, no transitions for maximum performance
|
|
11
|
-
// Add enable-transitions attribute to enable smooth animations
|
|
12
|
-
|
|
13
|
-
.drp-date-picker.drp-transitions-enabled {
|
|
14
|
-
// Badges - scale animation on hover
|
|
15
|
-
.drp-date-picker__badge-cell {
|
|
16
|
-
transition: transform var(--drp-transition-fast) var(--drp-easing-snappy);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Nav buttons - background and border changes
|
|
20
|
-
.drp-date-picker__nav {
|
|
21
|
-
transition: background-color var(--drp-transition-fast) var(--drp-easing-snappy),
|
|
22
|
-
border-color var(--drp-transition-fast) var(--drp-easing-snappy);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// Action buttons - background and border changes
|
|
26
|
-
.drp-date-picker__action-btn {
|
|
27
|
-
transition: background-color var(--drp-transition-fast) var(--drp-easing-snappy),
|
|
28
|
-
border-color var(--drp-transition-fast) var(--drp-easing-snappy);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Month/year selector - background change
|
|
32
|
-
.drp-date-picker__month-year {
|
|
33
|
-
transition: background-color var(--drp-transition-fast) var(--drp-easing-snappy);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// Rolling selector items - background change
|
|
37
|
-
.drp-date-picker__rolling-item {
|
|
38
|
-
transition: background-color var(--drp-transition-fast) var(--drp-easing-snappy);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// ==============================================================================
|
|
43
|
-
// INLINE MODE MODIFIER
|
|
44
|
-
// ==============================================================================
|
|
45
|
-
|
|
46
|
-
.drp-date-picker--inline {
|
|
47
|
-
position: static;
|
|
48
|
-
display: block;
|
|
49
|
-
box-shadow: none;
|
|
50
|
-
}
|