@keenmate/web-daterangepicker 1.3.0 → 1.5.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keenmate/web-daterangepicker",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "Lightweight date picker web component with excellent keyboard navigation and range selection",
5
5
  "type": "module",
6
6
  "main": "./dist/web-daterangepicker.umd.js",
@@ -49,7 +49,7 @@
49
49
  .drp-date-picker__badge-cell.badge-number {
50
50
  background-color: var(--drp-badge-number-bg);
51
51
  color: var(--drp-badge-number-color);
52
- font-size: 0.7rem;
52
+ font-size: calc(1.12 * var(--drp-rem)); // 11.2px (was 0.7rem)
53
53
  font-weight: 600;
54
54
  }
55
55
 
@@ -57,7 +57,7 @@
57
57
  .drp-date-picker__badge-cell.badge-count {
58
58
  background-color: var(--drp-badge-count-bg);
59
59
  color: var(--drp-badge-count-color);
60
- font-size: 0.7rem;
60
+ font-size: calc(1.12 * var(--drp-rem)); // 11.2px (was 0.7rem)
61
61
  font-weight: 700;
62
62
  }
63
63
 
@@ -68,7 +68,7 @@
68
68
  .drp-date-picker__badge-cell.badge-text {
69
69
  background-color: var(--drp-badge-text-bg);
70
70
  color: var(--drp-badge-text-color);
71
- font-size: 0.65rem;
71
+ font-size: calc(1.04 * var(--drp-rem)); // 10.4px (was 0.65rem)
72
72
  font-weight: 700;
73
73
  text-transform: uppercase;
74
74
  }
@@ -8,11 +8,23 @@
8
8
  // ==============================================================================
9
9
  // CSS CUSTOM PROPERTIES (CSS VARIABLES)
10
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)
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.
13
17
 
14
18
  :host,
15
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
+ --drp-rem: 10px;
27
+
16
28
  // ===========================================================================
17
29
  // SIZING SCALE SYSTEM (THREE INDEPENDENT MULTIPLIERS)
18
30
  // ===========================================================================
@@ -112,26 +124,38 @@
112
124
  // ===========================================================================
113
125
  // INPUT SIZE VARIANTS (BASE VALUES)
114
126
  // ===========================================================================
115
- // Three size variants for the input element
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: #{$padding-xs};
132
+ --drp-input-size-xs-height: calc(3.1 * var(--drp-rem)); // 31px
133
+ --drp-input-size-xs-icon-size: 0.75em;
116
134
 
117
135
  --drp-input-size-sm-font: #{$drp-font-size-sm};
118
136
  --drp-input-size-sm-padding-v: #{$drp-spacing-xs};
119
137
  --drp-input-size-sm-padding-h: #{$drp-spacing-sm};
120
- --drp-input-size-sm-height: 2rem;
138
+ --drp-input-size-sm-height: calc(3.3 * var(--drp-rem)); // 33px
121
139
  --drp-input-size-sm-icon-size: 0.875em;
122
140
 
123
141
  --drp-input-size-md-font: #{$drp-font-size-base};
124
142
  --drp-input-size-md-padding-v: #{$drp-spacing-sm};
125
143
  --drp-input-size-md-padding-h: #{$padding-base};
126
- --drp-input-size-md-height: 2.5rem;
144
+ --drp-input-size-md-height: calc(3.5 * var(--drp-rem)); // 35px
127
145
  --drp-input-size-md-icon-size: 1em;
128
146
 
129
147
  --drp-input-size-lg-font: #{$drp-font-size-lg};
130
148
  --drp-input-size-lg-padding-v: #{$drp-spacing-md};
131
149
  --drp-input-size-lg-padding-h: #{$drp-spacing-md};
132
- --drp-input-size-lg-height: 3rem;
150
+ --drp-input-size-lg-height: calc(3.8 * var(--drp-rem)); // 38px
133
151
  --drp-input-size-lg-icon-size: 1.125em;
134
152
 
153
+ --drp-input-size-xl-font: #{$font-size-xl};
154
+ --drp-input-size-xl-padding-v: #{$drp-spacing-md};
155
+ --drp-input-size-xl-padding-h: #{$drp-spacing-lg};
156
+ --drp-input-size-xl-height: calc(4.1 * var(--drp-rem)); // 41px
157
+ --drp-input-size-xl-icon-size: 1.25em;
158
+
135
159
  // ===========================================================================
136
160
  // HEADER & NAVIGATION SEMANTIC VARIABLES
137
161
  // ===========================================================================
@@ -258,6 +282,13 @@
258
282
  }
259
283
 
260
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
+
261
292
  &.drp-input--sm {
262
293
  font-size: var(--drp-input-size-sm-font);
263
294
  padding: var(--drp-input-size-sm-padding-v) var(--drp-input-size-sm-padding-h);
@@ -271,6 +302,13 @@
271
302
  padding-right: calc(var(--drp-input-size-lg-padding-h) * 2.5);
272
303
  height: var(--drp-input-size-lg-height);
273
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
+ }
274
312
  }
275
313
 
276
314
  // Input wrapper container (for positioning calendar icon)
@@ -293,6 +331,11 @@
293
331
  }
294
332
 
295
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
+
296
339
  &.drp-date-picker-input--sm::after {
297
340
  right: var(--drp-input-size-sm-padding-h);
298
341
  font-size: var(--drp-input-size-sm-icon-size);
@@ -302,6 +345,11 @@
302
345
  right: var(--drp-input-size-lg-padding-h);
303
346
  font-size: var(--drp-input-size-lg-icon-size);
304
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
+ }
305
353
  }
306
354
 
307
355
  // ==============================================================================
@@ -10,24 +10,26 @@
10
10
  // ==============================================================================
11
11
  // These are foundational values that can be used across the component
12
12
 
13
- $padding-xs: 0.25rem !default;
14
- $padding-sm: 0.5rem !default;
15
- $padding-base: 0.75rem !default;
16
- $padding-md: 1rem !default;
17
- $padding-lg: 1.5rem !default;
18
-
19
- $border-radius-sm: 0.25rem !default;
20
- $border-radius-base: 0.375rem !default;
21
- $border-radius-md: 0.5rem !default;
13
+ // All values use calc() with --drp-rem (10px base) for clean math
14
+ // Formula: old_rem_value × 16 ÷ 10 = multiplier
15
+ $padding-xs: calc(0.4 * var(--drp-rem)) !default; // 4px (was 0.25rem)
16
+ $padding-sm: calc(0.8 * var(--drp-rem)) !default; // 8px (was 0.5rem)
17
+ $padding-base: calc(1.2 * var(--drp-rem)) !default; // 12px (was 0.75rem)
18
+ $padding-md: calc(1.6 * var(--drp-rem)) !default; // 16px (was 1rem)
19
+ $padding-lg: calc(2.4 * var(--drp-rem)) !default; // 24px (was 1.5rem)
20
+
21
+ $border-radius-sm: calc(0.4 * var(--drp-rem)) !default; // 4px (was 0.25rem)
22
+ $border-radius-base: calc(0.6 * var(--drp-rem)) !default; // 6px (was 0.375rem)
23
+ $border-radius-md: calc(0.8 * var(--drp-rem)) !default; // 8px (was 0.5rem)
22
24
  $border-radius-full: 9999px !default;
23
25
 
24
- $font-size-2xs: 0.625rem !default;
25
- $font-size-xs: 0.75rem !default;
26
- $font-size-sm: 0.875rem !default;
27
- $font-size-base: 1rem !default;
28
- $font-size-lg: 1.125rem !default;
29
- $font-size-xl: 1.25rem !default;
30
- $font-size-2xl: 1.5rem !default;
26
+ $font-size-2xs: calc(1 * var(--drp-rem)) !default; // 10px (was 0.625rem)
27
+ $font-size-xs: calc(1.2 * var(--drp-rem)) !default; // 12px (was 0.75rem)
28
+ $font-size-sm: calc(1.4 * var(--drp-rem)) !default; // 14px (was 0.875rem)
29
+ $font-size-base: calc(1.6 * var(--drp-rem)) !default; // 16px (was 1rem)
30
+ $font-size-lg: calc(1.8 * var(--drp-rem)) !default; // 18px (was 1.125rem)
31
+ $font-size-xl: calc(2 * var(--drp-rem)) !default; // 20px (was 1.25rem)
32
+ $font-size-2xl: calc(2.4 * var(--drp-rem)) !default; // 24px (was 1.5rem)
31
33
 
32
34
  $border-width-base: 1px !default;
33
35
 
@@ -35,11 +37,11 @@ $border-width-base: 1px !default;
35
37
  // SPACING SCALE
36
38
  // ==============================================================================
37
39
 
38
- $drp-spacing-xs: 0.25rem !default;
39
- $drp-spacing-sm: 0.5rem !default;
40
- $drp-spacing-md: 1rem !default;
41
- $drp-spacing-lg: 1.5rem !default;
42
- $drp-spacing-xl: 2rem !default;
40
+ $drp-spacing-xs: calc(0.4 * var(--drp-rem)) !default; // 4px (was 0.25rem)
41
+ $drp-spacing-sm: calc(0.8 * var(--drp-rem)) !default; // 8px (was 0.5rem)
42
+ $drp-spacing-md: calc(1.6 * var(--drp-rem)) !default; // 16px (was 1rem)
43
+ $drp-spacing-lg: calc(2.4 * var(--drp-rem)) !default; // 24px (was 1.5rem)
44
+ $drp-spacing-xl: calc(3.2 * var(--drp-rem)) !default; // 32px (was 2rem)
43
45
 
44
46
  // ==============================================================================
45
47
  // COLOR PALETTE
@@ -164,7 +166,7 @@ $drp-month-year-border-radius: $drp-border-radius !default;
164
166
  // --------------------------------------
165
167
  // Navigation Buttons
166
168
  // --------------------------------------
167
- $drp-nav-size: 2rem !default;
169
+ $drp-nav-size: calc(3.2 * var(--drp-rem)) !default; // 32px (was 2rem)
168
170
  $drp-nav-font-size: $drp-font-size-lg !default;
169
171
  $drp-nav-border-color: $drp-border-color !default;
170
172
  $drp-nav-border-width: $drp-border-width-base !default;
@@ -190,7 +192,7 @@ $drp-rolling-scrollbar-thumb-hover: $drp-color-accent !default;
190
192
  $drp-rolling-item-padding-v: $drp-spacing-xs !default; // Half of sm (0.25rem instead of 0.5rem)
191
193
  $drp-rolling-item-padding-h: $drp-spacing-md !default;
192
194
  $drp-rolling-item-font-size: $drp-font-size-sm !default;
193
- $drp-rolling-item-min-height: 2rem !default;
195
+ $drp-rolling-item-min-height: calc(3.2 * var(--drp-rem)) !default; // 32px (was 2rem)
194
196
  $drp-rolling-item-justify-content: center !default;
195
197
  $drp-rolling-item-bg-hover: $drp-color-neutral-lighter !default;
196
198
  $drp-rolling-item-bg-selected: $drp-color-accent !default;