@keenmate/web-daterangepicker 1.0.0-rc03 → 1.0.0

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.
@@ -55,8 +55,8 @@
55
55
  color: var(--drp-text-primary);
56
56
  border-radius: var(--drp-border-radius);
57
57
  cursor: pointer;
58
- transition: all var(--drp-transition-fast) var(--drp-easing-snappy);
59
- border: $drp-day-border-width solid $drp-day-border-color;
58
+ // Scale border width with cell-scale
59
+ border: calc(#{$drp-day-border-width} * var(--drp-cell-scale)) solid $drp-day-border-color;
60
60
  position: relative; // For absolute positioning of labels
61
61
 
62
62
  &:hover:not(.drp-date-picker__day--disabled):not(.drp-date-picker__day--other-month) {
@@ -89,8 +89,9 @@
89
89
  // Focused (keyboard navigation)
90
90
  // --------------------------------------
91
91
  &--focused {
92
- outline: $drp-day-focused-outline-width solid var(--drp-accent-color);
93
- outline-offset: $drp-day-focused-outline-offset;
92
+ // Scale outline with cell-scale
93
+ outline: calc(#{$drp-day-focused-outline-width} * var(--drp-cell-scale)) solid var(--drp-accent-color);
94
+ outline-offset: calc(#{$drp-day-focused-outline-offset} * var(--drp-cell-scale));
94
95
  }
95
96
 
96
97
  // --------------------------------------
@@ -179,7 +180,8 @@
179
180
 
180
181
  &--drag-preview {
181
182
  background-color: color-mix(in srgb, var(--drp-accent-color) $drp-day-drag-preview-bg-opacity * 100%, transparent);
182
- border: $drp-day-border-width $drp-day-drag-preview-border-style var(--drp-accent-color);
183
+ // Scale border width with cell-scale
184
+ border: calc(#{$drp-day-border-width} * var(--drp-cell-scale)) $drp-day-drag-preview-border-style var(--drp-accent-color);
183
185
 
184
186
  &.drp-date-picker__day--range-start,
185
187
  &.drp-date-picker__day--range-end {
@@ -217,3 +219,21 @@
217
219
  background-color: color-mix(in srgb, $drp-color-success $drp-event-hover-bg-opacity * 100%, transparent);
218
220
  }
219
221
  }
222
+
223
+ // ==============================================================================
224
+ // ROLLING SELECTOR - DISABLED ITEMS
225
+ // ==============================================================================
226
+ // Styling for disabled years/months in the rolling selector
227
+ // (e.g., when outside rollingYearRange/rollingMonthRange or minDate/maxDate)
228
+
229
+ .drp-date-picker__rolling-item--disabled {
230
+ color: var(--drp-text-secondary);
231
+ opacity: 0.4;
232
+ cursor: not-allowed;
233
+ pointer-events: none; // Prevent clicking
234
+ text-decoration: line-through;
235
+
236
+ &:hover {
237
+ background-color: transparent;
238
+ }
239
+ }
@@ -30,7 +30,6 @@
30
30
  padding: var(--drp-spacing-sm) var(--drp-spacing-md);
31
31
  border-radius: var(--drp-border-radius);
32
32
  cursor: pointer;
33
- transition: background-color var(--drp-transition-fast) var(--drp-easing-snappy);
34
33
 
35
34
  &:hover {
36
35
  background-color: var(--drp-primary-bg);
@@ -46,8 +45,9 @@
46
45
  // ==============================================================================
47
46
 
48
47
  .drp-date-picker__nav {
49
- width: $drp-nav-size;
50
- height: $drp-nav-size;
48
+ // Scale nav button size with cell-scale
49
+ width: calc(#{$drp-nav-size} * var(--drp-cell-scale));
50
+ height: calc(#{$drp-nav-size} * var(--drp-cell-scale));
51
51
  display: flex;
52
52
  align-items: center;
53
53
  justify-content: center;
@@ -55,7 +55,6 @@
55
55
  border-radius: var(--drp-border-radius);
56
56
  background: transparent;
57
57
  cursor: pointer;
58
- transition: all var(--drp-transition-fast) var(--drp-easing-snappy);
59
58
  font-size: var(--drp-font-size-lg);
60
59
  color: var(--drp-text-primary);
61
60
 
@@ -95,30 +94,37 @@
95
94
  // ==============================================================================
96
95
 
97
96
  .drp-date-picker__rolling-selector {
97
+ // Absolutely positioned to overlay calendar grid
98
+ position: absolute;
99
+ inset: 0; // Fill entire container from all edges
98
100
  display: none;
101
+ z-index: 10; // Above calendar grid
99
102
 
100
103
  &.drp-date-picker__rolling-selector--visible {
101
104
  display: flex;
102
105
 
103
- // Hide calendar days when rolling selector is visible
106
+ // Hide calendar grid when rolling selector is visible
104
107
  ~ .drp-date-picker__weekdays,
105
108
  ~ .drp-date-picker__days {
106
- display: none;
109
+ visibility: hidden; // Keeps elements in layout flow (maintains container height)
107
110
  }
108
111
  }
109
112
 
110
- gap: var(--drp-spacing-md);
111
- margin-bottom: var(--drp-spacing-md);
112
- // Height is set dynamically via JavaScript to match calendar content
113
+ gap: var(--drp-spacing-xs);
113
114
  }
114
115
 
115
116
  .drp-date-picker__rolling-list {
116
117
  flex: 1;
117
- height: 100%; // Fill parent height (set dynamically on parent)
118
+ min-width: 0; // Allow flex child to shrink below content size (enables ellipsis on items)
119
+ height: 100%; // Fill parent height
118
120
  overflow-y: auto;
119
121
  border: var(--drp-border-width-base) solid var(--drp-border-color);
120
122
  border-radius: var(--drp-border-radius);
121
123
 
124
+ // Flex layout to control child item sizing
125
+ display: flex;
126
+ flex-direction: column;
127
+
122
128
  // Smooth scrolling
123
129
  scroll-behavior: smooth;
124
130
 
@@ -142,23 +148,40 @@
142
148
  }
143
149
 
144
150
  .drp-date-picker__rolling-item {
145
- padding: var(--drp-spacing-sm) var(--drp-spacing-md);
146
- text-align: center;
151
+ padding: #{$drp-rolling-item-padding-v} #{$drp-rolling-item-padding-h};
147
152
  cursor: pointer;
148
- font-size: var(--drp-font-size-sm);
149
- transition: background-color var(--drp-transition-fast) var(--drp-easing-snappy);
153
+ font-size: #{$drp-rolling-item-font-size};
154
+ // Scale item height with cell-scale for consistent sizing
155
+ min-height: calc(#{$drp-rolling-item-min-height} * var(--drp-cell-scale));
156
+ // Prevent flex item from growing beyond min-height
157
+ flex-shrink: 0;
158
+
159
+ // Flexbox for vertical and horizontal centering
160
+ display: flex;
161
+ align-items: center;
162
+ justify-content: var(--drp-rolling-item-justify-content, #{$drp-rolling-item-justify-content});
150
163
 
151
164
  &:hover {
152
- background-color: var(--drp-primary-bg);
165
+ background-color: $drp-rolling-item-bg-hover;
153
166
  }
154
167
 
155
168
  &--selected {
156
- background-color: var(--drp-accent-color);
157
- color: var(--drp-accent-text-color);
158
- font-weight: var(--drp-font-weight-semibold);
169
+ background-color: $drp-rolling-item-bg-selected;
170
+ color: $drp-rolling-item-color-selected;
171
+ font-weight: $drp-rolling-item-font-weight-selected;
159
172
 
160
173
  &:hover {
161
174
  background-color: var(--drp-accent-color-hover);
162
175
  }
163
176
  }
164
177
  }
178
+
179
+ // Text wrapper for ellipsis support
180
+ .drp-date-picker__rolling-item-text {
181
+ // Text overflow handling for long month names
182
+ overflow: hidden;
183
+ text-overflow: ellipsis;
184
+ white-space: nowrap;
185
+ width: 100%;
186
+ min-width: 0; // Allow flex child to shrink below content size
187
+ }