@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
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
/* ==============================================================================
|
|
2
|
+
CSS CUSTOM PROPERTIES (:host level)
|
|
3
|
+
==============================================================================
|
|
4
|
+
This file defines all CSS custom properties at the :host level, making them:
|
|
5
|
+
- Inspectable in browser DevTools
|
|
6
|
+
- Overridable from outside Shadow DOM
|
|
7
|
+
- Self-documenting in compiled CSS
|
|
8
|
+
|
|
9
|
+
Usage from outside Shadow DOM:
|
|
10
|
+
web-daterangepicker {
|
|
11
|
+
--drp-accent-color: #10b981;
|
|
12
|
+
--drp-border-radius: 0.5rem;
|
|
13
|
+
}
|
|
14
|
+
============================================================================== */
|
|
15
|
+
|
|
16
|
+
:host,
|
|
17
|
+
:root {
|
|
18
|
+
/* ==========================================================================
|
|
19
|
+
BASE REM UNIT
|
|
20
|
+
==========================================================================
|
|
21
|
+
Internal 10px-based unit for clean math. Override to scale the component.
|
|
22
|
+
Default 10px produces same visual output as standard 16px rem.
|
|
23
|
+
Set to 1rem in Pure Admin (10px base) to scale with document.
|
|
24
|
+
|
|
25
|
+
IMPORTANT: For web components, set --drp-rem on the <web-daterangepicker>
|
|
26
|
+
element itself or on :root. Setting on wrapper divs won't work due to
|
|
27
|
+
shadow DOM encapsulation. */
|
|
28
|
+
--drp-rem: 10px;
|
|
29
|
+
|
|
30
|
+
/* ==========================================================================
|
|
31
|
+
FONT FAMILY (set at :host so all shadow DOM content inherits)
|
|
32
|
+
========================================================================== */
|
|
33
|
+
font-family: var(--drp-font-family, var(--base-font-family, inherit));
|
|
34
|
+
|
|
35
|
+
/* ==========================================================================
|
|
36
|
+
SPACING SCALE
|
|
37
|
+
========================================================================== */
|
|
38
|
+
--drp-spacing-xs: calc(0.4 * var(--drp-rem)); /* 4px */
|
|
39
|
+
--drp-spacing-sm: calc(0.8 * var(--drp-rem)); /* 8px */
|
|
40
|
+
--drp-spacing-md: calc(1.6 * var(--drp-rem)); /* 16px */
|
|
41
|
+
--drp-spacing-lg: calc(2.4 * var(--drp-rem)); /* 24px */
|
|
42
|
+
--drp-spacing-xl: calc(3.2 * var(--drp-rem)); /* 32px */
|
|
43
|
+
|
|
44
|
+
/* ==========================================================================
|
|
45
|
+
TYPOGRAPHY SCALE (with theme-designer integration)
|
|
46
|
+
==========================================================================
|
|
47
|
+
Priority chain: --drp-* → --base-* → calc default
|
|
48
|
+
Theme-designer outputs unitless multipliers (e.g., --base-font-size-sm: 1.4)
|
|
49
|
+
Component computes: calc(1.4 * 10px) = 14px */
|
|
50
|
+
|
|
51
|
+
/* Font Sizes (unitless multipliers × --drp-rem) */
|
|
52
|
+
--drp-font-size-2xs: calc(var(--base-font-size-2xs, 1) * var(--drp-rem)); /* 10px */
|
|
53
|
+
--drp-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--drp-rem)); /* 12px */
|
|
54
|
+
--drp-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--drp-rem)); /* 14px */
|
|
55
|
+
--drp-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--drp-rem)); /* 16px */
|
|
56
|
+
--drp-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--drp-rem)); /* 18px */
|
|
57
|
+
--drp-font-size-xl: calc(var(--base-font-size-xl, 2) * var(--drp-rem)); /* 20px */
|
|
58
|
+
--drp-font-size-2xl: calc(var(--base-font-size-2xl, 2.4) * var(--drp-rem)); /* 24px */
|
|
59
|
+
|
|
60
|
+
/* Font Weights (reference theme-designer base variables) */
|
|
61
|
+
--drp-font-weight-normal: var(--base-font-weight-normal, 400);
|
|
62
|
+
--drp-font-weight-medium: var(--base-font-weight-medium, 500);
|
|
63
|
+
--drp-font-weight-semibold: var(--base-font-weight-semibold, 600);
|
|
64
|
+
|
|
65
|
+
/* Line Heights (reference theme-designer base variables) */
|
|
66
|
+
--drp-line-height-tight: var(--base-line-height-tight, 1.25);
|
|
67
|
+
--drp-line-height-normal: var(--base-line-height-normal, 1.5);
|
|
68
|
+
--drp-line-height-relaxed: var(--base-line-height-relaxed, 1.75);
|
|
69
|
+
|
|
70
|
+
/* ==========================================================================
|
|
71
|
+
COLORS & THEME
|
|
72
|
+
==========================================================================
|
|
73
|
+
Color variables follow this priority chain:
|
|
74
|
+
1. External override: --drp-accent-color: #custom
|
|
75
|
+
2. Base theme value: var(--base-accent-color)
|
|
76
|
+
3. Hardcoded default fallback */
|
|
77
|
+
|
|
78
|
+
/* Core Colors */
|
|
79
|
+
--drp-dropdown-background: var(--base-dropdown-background, #ffffff);
|
|
80
|
+
--drp-border-color: var(--base-border-color, #e5e7eb);
|
|
81
|
+
--drp-primary-bg: var(--base-primary-bg, #f3f4f6);
|
|
82
|
+
--drp-primary-bg-hover: var(--base-primary-bg-hover, #e5e7eb);
|
|
83
|
+
|
|
84
|
+
/* Accent Colors */
|
|
85
|
+
--drp-accent-color: var(--base-accent-color, #3b82f6);
|
|
86
|
+
--drp-accent-color-hover: var(--base-accent-color-hover, #2563eb);
|
|
87
|
+
|
|
88
|
+
/* Text Colors */
|
|
89
|
+
--drp-text-primary: var(--base-text-color-1, #111827);
|
|
90
|
+
--drp-text-secondary: var(--base-text-color-3, #6b7280);
|
|
91
|
+
--drp-text-on-accent: var(--base-text-on-accent, #ffffff);
|
|
92
|
+
--drp-button-text-color: var(--drp-text-on-accent);
|
|
93
|
+
|
|
94
|
+
/* Tooltip Colors */
|
|
95
|
+
--drp-tooltip-background: var(--base-tooltip-background, #111827);
|
|
96
|
+
--drp-tooltip-text-color: var(--base-tooltip-text-color, #ffffff);
|
|
97
|
+
|
|
98
|
+
/* Loading Overlay */
|
|
99
|
+
--drp-loading-overlay-background: rgba(255, 255, 255, 0.8);
|
|
100
|
+
--drp-loading-spinner-color: var(--drp-border-color);
|
|
101
|
+
--drp-loading-spinner-accent: var(--drp-accent-color);
|
|
102
|
+
|
|
103
|
+
/* ==========================================================================
|
|
104
|
+
BORDER & SHADOW
|
|
105
|
+
========================================================================== */
|
|
106
|
+
--drp-border-width-base: 1px;
|
|
107
|
+
|
|
108
|
+
/* Border Radius (unitless multipliers from theme-designer, multiplied by --drp-rem) */
|
|
109
|
+
--drp-border-radius-sm: calc(var(--base-border-radius-sm, 0.4) * var(--drp-rem)); /* 4px */
|
|
110
|
+
--drp-border-radius-md: calc(var(--base-border-radius-md, 0.6) * var(--drp-rem)); /* 6px (base) */
|
|
111
|
+
--drp-border-radius-lg: calc(var(--base-border-radius-lg, 0.8) * var(--drp-rem)); /* 8px */
|
|
112
|
+
--drp-border-radius: var(--drp-border-radius-md);
|
|
113
|
+
|
|
114
|
+
--drp-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
115
|
+
|
|
116
|
+
/* ==========================================================================
|
|
117
|
+
TRANSITIONS & ANIMATIONS
|
|
118
|
+
========================================================================== */
|
|
119
|
+
--drp-transition-fast: 150ms;
|
|
120
|
+
--drp-easing-snappy: cubic-bezier(0.4, 0.0, 0.2, 1);
|
|
121
|
+
|
|
122
|
+
/* ==========================================================================
|
|
123
|
+
Z-INDEX LAYERS
|
|
124
|
+
========================================================================== */
|
|
125
|
+
--drp-z-index-dropdown: 9500;
|
|
126
|
+
--drp-z-index-tooltip: 9999;
|
|
127
|
+
|
|
128
|
+
/* ==========================================================================
|
|
129
|
+
LAYOUT & DIMENSIONS
|
|
130
|
+
========================================================================== */
|
|
131
|
+
--drp-input-padding-h: calc(1.2 * var(--drp-rem)); /* 12px */
|
|
132
|
+
--drp-grid-columns: 3;
|
|
133
|
+
--drp-grid-rows: 2;
|
|
134
|
+
|
|
135
|
+
/* ==========================================================================
|
|
136
|
+
OPACITY VALUES
|
|
137
|
+
========================================================================== */
|
|
138
|
+
--drp-opacity-disabled: 0.6;
|
|
139
|
+
--drp-opacity-other-month: 0.5;
|
|
140
|
+
--drp-opacity-hover: 0.8;
|
|
141
|
+
--drp-opacity-dragging: 0.7;
|
|
142
|
+
|
|
143
|
+
/* ==========================================================================
|
|
144
|
+
INPUT FIELD SEMANTIC VARIABLES
|
|
145
|
+
========================================================================== */
|
|
146
|
+
--drp-input-background: var(--base-input-background, var(--drp-dropdown-background));
|
|
147
|
+
--drp-input-color: var(--base-input-color, var(--drp-text-primary));
|
|
148
|
+
--drp-input-border-color: var(--base-input-border-color, var(--drp-border-color));
|
|
149
|
+
--drp-input-border-color-hover: var(--base-input-border-color-hover, var(--drp-accent-color));
|
|
150
|
+
--drp-input-border-color-focus: var(--base-input-border-color-focus, var(--drp-accent-color));
|
|
151
|
+
--drp-input-placeholder-color: var(--base-input-placeholder-color, var(--drp-text-secondary));
|
|
152
|
+
--drp-input-background-disabled: var(--base-input-background-disabled, var(--drp-primary-bg));
|
|
153
|
+
|
|
154
|
+
/* Input Focus State */
|
|
155
|
+
--drp-input-focus-shadow-color: rgba(59, 130, 246, 0.1);
|
|
156
|
+
--drp-input-focus-shadow-size: 3px;
|
|
157
|
+
--drp-input-icon-opacity: 0.6;
|
|
158
|
+
|
|
159
|
+
/* ==========================================================================
|
|
160
|
+
INPUT SIZE VARIANTS (BASE VALUES)
|
|
161
|
+
==========================================================================
|
|
162
|
+
Five size variants for the input element (xs, sm, md, lg, xl) */
|
|
163
|
+
|
|
164
|
+
--drp-input-size-xs-font: var(--drp-font-size-xs);
|
|
165
|
+
--drp-input-size-xs-padding-v: var(--drp-spacing-xs);
|
|
166
|
+
--drp-input-size-xs-padding-h: calc(0.8 * var(--drp-rem)); /* 8px */
|
|
167
|
+
--drp-input-size-xs-height: calc(var(--base-input-size-xs-height, 3.1) * var(--drp-rem)); /* 31px */
|
|
168
|
+
--drp-input-size-xs-icon-size: 0.75em;
|
|
169
|
+
|
|
170
|
+
--drp-input-size-sm-font: calc(1.3 * var(--drp-rem)); /* 13px */
|
|
171
|
+
--drp-input-size-sm-padding-v: calc(0.5 * var(--drp-rem)); /* 5px */
|
|
172
|
+
--drp-input-size-sm-padding-h: var(--drp-spacing-sm);
|
|
173
|
+
--drp-input-size-sm-height: calc(var(--base-input-size-sm-height, 3.3) * var(--drp-rem)); /* 33px */
|
|
174
|
+
--drp-input-size-sm-icon-size: 0.875em;
|
|
175
|
+
|
|
176
|
+
--drp-input-size-md-font: calc(1.4 * var(--drp-rem)); /* 14px */
|
|
177
|
+
--drp-input-size-md-padding-v: var(--drp-spacing-sm);
|
|
178
|
+
--drp-input-size-md-padding-h: calc(1.2 * var(--drp-rem)); /* 12px */
|
|
179
|
+
--drp-input-size-md-height: calc(var(--base-input-size-md-height, 3.5) * var(--drp-rem)); /* 35px */
|
|
180
|
+
--drp-input-size-md-icon-size: 1em;
|
|
181
|
+
|
|
182
|
+
--drp-input-size-lg-font: calc(1.6 * var(--drp-rem)); /* 16px */
|
|
183
|
+
--drp-input-size-lg-padding-v: calc(1.0 * var(--drp-rem)); /* 10px */
|
|
184
|
+
--drp-input-size-lg-padding-h: calc(1.4 * var(--drp-rem)); /* 14px */
|
|
185
|
+
--drp-input-size-lg-height: calc(var(--base-input-size-lg-height, 3.8) * var(--drp-rem)); /* 38px */
|
|
186
|
+
--drp-input-size-lg-icon-size: 1.125em;
|
|
187
|
+
|
|
188
|
+
--drp-input-size-xl-font: calc(1.8 * var(--drp-rem)); /* 18px */
|
|
189
|
+
--drp-input-size-xl-padding-v: calc(1.2 * var(--drp-rem)); /* 12px */
|
|
190
|
+
--drp-input-size-xl-padding-h: calc(1.6 * var(--drp-rem)); /* 16px */
|
|
191
|
+
--drp-input-size-xl-height: calc(var(--base-input-size-xl-height, 4.1) * var(--drp-rem)); /* 41px */
|
|
192
|
+
--drp-input-size-xl-icon-size: 1.25em;
|
|
193
|
+
|
|
194
|
+
/* ==========================================================================
|
|
195
|
+
HEADER & NAVIGATION SEMANTIC VARIABLES
|
|
196
|
+
========================================================================== */
|
|
197
|
+
--drp-header-text-color: var(--drp-text-primary);
|
|
198
|
+
--drp-header-bg-hover: var(--drp-primary-bg);
|
|
199
|
+
--drp-header-bg-active: var(--drp-primary-bg-hover);
|
|
200
|
+
|
|
201
|
+
--drp-nav-text-color: var(--drp-text-primary);
|
|
202
|
+
--drp-nav-border-color: var(--drp-border-color);
|
|
203
|
+
--drp-nav-bg-hover: var(--drp-primary-bg);
|
|
204
|
+
--drp-nav-bg-active: var(--drp-primary-bg-hover);
|
|
205
|
+
--drp-nav-border-hover: var(--drp-accent-color);
|
|
206
|
+
|
|
207
|
+
/* Navigation Button Dimensions */
|
|
208
|
+
--drp-nav-size: calc(3.2 * var(--drp-rem)); /* 32px */
|
|
209
|
+
|
|
210
|
+
/* Rolling Selector */
|
|
211
|
+
--drp-rolling-bg: var(--drp-primary-bg);
|
|
212
|
+
--drp-rolling-border-color: var(--drp-border-color);
|
|
213
|
+
--drp-rolling-scrollbar-width: 6px;
|
|
214
|
+
--drp-rolling-scrollbar-thumb: var(--drp-border-color);
|
|
215
|
+
--drp-rolling-scrollbar-thumb-hover: var(--drp-accent-color);
|
|
216
|
+
--drp-rolling-item-bg-hover: var(--drp-primary-bg);
|
|
217
|
+
--drp-rolling-item-bg-selected: var(--drp-accent-color);
|
|
218
|
+
--drp-rolling-item-color-selected: var(--drp-text-on-accent);
|
|
219
|
+
--drp-rolling-item-bg-selected-hover: var(--drp-accent-color-hover);
|
|
220
|
+
--drp-rolling-item-justify-content: center;
|
|
221
|
+
--drp-rolling-item-min-height: calc(3.2 * var(--drp-rem)); /* 32px */
|
|
222
|
+
--drp-rolling-item-padding-v: var(--drp-spacing-xs);
|
|
223
|
+
--drp-rolling-item-padding-h: var(--drp-spacing-md);
|
|
224
|
+
--drp-rolling-item-font-size: var(--drp-font-size-sm);
|
|
225
|
+
--drp-rolling-item-font-weight-selected: var(--drp-font-weight-semibold);
|
|
226
|
+
|
|
227
|
+
/* ==========================================================================
|
|
228
|
+
CALENDAR GRID & DAY CELLS SEMANTIC VARIABLES
|
|
229
|
+
========================================================================== */
|
|
230
|
+
--drp-weekday-color: var(--drp-text-secondary);
|
|
231
|
+
|
|
232
|
+
--drp-day-text-color: var(--drp-text-primary);
|
|
233
|
+
--drp-day-bg-hover: var(--drp-primary-bg);
|
|
234
|
+
--drp-day-border-hover: var(--drp-accent-color);
|
|
235
|
+
--drp-day-today-border: var(--drp-accent-color);
|
|
236
|
+
--drp-day-selected-bg: var(--drp-accent-color);
|
|
237
|
+
--drp-day-selected-color: var(--drp-text-on-accent);
|
|
238
|
+
--drp-day-selected-bg-hover: var(--drp-accent-color-hover);
|
|
239
|
+
--drp-day-focused-outline: var(--drp-accent-color);
|
|
240
|
+
--drp-day-disabled-color: var(--drp-text-secondary);
|
|
241
|
+
--drp-day-other-month-color: var(--drp-text-secondary);
|
|
242
|
+
--drp-day-range-bg: var(--drp-accent-color);
|
|
243
|
+
--drp-day-range-color: var(--drp-text-on-accent);
|
|
244
|
+
|
|
245
|
+
/* Day Cell Dimensions & Borders */
|
|
246
|
+
--drp-day-border-width: 2px;
|
|
247
|
+
--drp-day-border-color: transparent;
|
|
248
|
+
--drp-day-focused-outline-width: 2px;
|
|
249
|
+
--drp-day-focused-outline-offset: 2px;
|
|
250
|
+
|
|
251
|
+
/* Day Range Opacity Values */
|
|
252
|
+
--drp-day-in-range-bg-opacity: 0.15;
|
|
253
|
+
--drp-day-in-range-hover-bg-opacity: 0.25;
|
|
254
|
+
--drp-day-drag-preview-bg-opacity: 0.30;
|
|
255
|
+
--drp-day-drag-preview-edge-bg-opacity: 0.60;
|
|
256
|
+
|
|
257
|
+
/* Day Disabled Pattern */
|
|
258
|
+
--drp-day-disabled-pattern-opacity: 0.1;
|
|
259
|
+
|
|
260
|
+
/* Day Dragging */
|
|
261
|
+
--drp-day-dragging-scale: 1.1;
|
|
262
|
+
--drp-day-drag-preview-border-style: dashed;
|
|
263
|
+
--drp-day-drag-invalid-bg: #ef4444;
|
|
264
|
+
--drp-day-drag-invalid-bg-opacity: 0.20;
|
|
265
|
+
|
|
266
|
+
/* Special Date Colors (examples) */
|
|
267
|
+
--drp-holiday-color: #ef4444;
|
|
268
|
+
--drp-holiday-bg-opacity: 0.10;
|
|
269
|
+
--drp-holiday-hover-bg-opacity: 0.20;
|
|
270
|
+
--drp-event-color: #10b981;
|
|
271
|
+
--drp-event-bg-opacity: 0.10;
|
|
272
|
+
--drp-event-hover-bg-opacity: 0.20;
|
|
273
|
+
|
|
274
|
+
/* ==========================================================================
|
|
275
|
+
SUMMARY & ACTIONS SEMANTIC VARIABLES
|
|
276
|
+
========================================================================== */
|
|
277
|
+
--drp-summary-text-color: var(--drp-text-secondary);
|
|
278
|
+
--drp-summary-border-color: var(--drp-border-color);
|
|
279
|
+
--drp-summary-count-color: var(--drp-accent-color);
|
|
280
|
+
|
|
281
|
+
--drp-button-border-color: var(--drp-border-color);
|
|
282
|
+
--drp-button-bg-hover: var(--drp-primary-bg);
|
|
283
|
+
--drp-button-border-hover: var(--drp-accent-color);
|
|
284
|
+
--drp-button-today-color: var(--drp-accent-color);
|
|
285
|
+
--drp-button-clear-color: var(--drp-text-secondary);
|
|
286
|
+
--drp-button-cancel-color: var(--drp-text-secondary);
|
|
287
|
+
--drp-button-apply-bg: var(--drp-accent-color);
|
|
288
|
+
--drp-button-apply-color: var(--drp-button-text-color);
|
|
289
|
+
--drp-button-apply-border: var(--drp-accent-color);
|
|
290
|
+
--drp-button-apply-bg-hover: var(--drp-accent-color-hover);
|
|
291
|
+
|
|
292
|
+
/* ==========================================================================
|
|
293
|
+
BADGE SYSTEM SEMANTIC VARIABLES
|
|
294
|
+
========================================================================== */
|
|
295
|
+
--drp-badge-font-size: var(--drp-font-size-2xs);
|
|
296
|
+
--drp-badge-padding-v: 1px;
|
|
297
|
+
--drp-badge-padding-h: 2px;
|
|
298
|
+
--drp-badge-border-radius: 2px;
|
|
299
|
+
--drp-badge-max-height: var(--drp-font-size-base);
|
|
300
|
+
--drp-badge-row-height: var(--drp-badge-max-height);
|
|
301
|
+
|
|
302
|
+
--drp-badge-number-bg: var(--drp-accent-color);
|
|
303
|
+
--drp-badge-number-color: var(--drp-text-on-accent);
|
|
304
|
+
--drp-badge-count-bg: #ef4444;
|
|
305
|
+
--drp-badge-count-color: #ffffff;
|
|
306
|
+
--drp-badge-text-bg: var(--drp-text-secondary);
|
|
307
|
+
--drp-badge-text-color: #ffffff;
|
|
308
|
+
|
|
309
|
+
/* ==========================================================================
|
|
310
|
+
UNIFIED NAV SEMANTIC VARIABLES (Multi-Month)
|
|
311
|
+
========================================================================== */
|
|
312
|
+
--drp-unified-range-text-color: var(--drp-text-primary);
|
|
313
|
+
--drp-unified-range-bg-hover: var(--drp-primary-bg);
|
|
314
|
+
--drp-unified-range-bg-active: var(--drp-primary-bg-hover);
|
|
315
|
+
--drp-unified-month-color: var(--drp-text-secondary);
|
|
316
|
+
--drp-unified-rolling-disabled-color: var(--drp-text-secondary);
|
|
317
|
+
|
|
318
|
+
/* ==========================================================================
|
|
319
|
+
TOOLTIP DIMENSIONS
|
|
320
|
+
========================================================================== */
|
|
321
|
+
--drp-tooltip-line-height: 1.4;
|
|
322
|
+
--drp-tooltip-max-width: 200px;
|
|
323
|
+
--drp-tooltip-arrow-size: 8px;
|
|
324
|
+
|
|
325
|
+
/* ==========================================================================
|
|
326
|
+
CALENDAR DIMENSIONS
|
|
327
|
+
========================================================================== */
|
|
328
|
+
--drp-month-min-width: 280px;
|
|
329
|
+
--drp-month-min-width-inline: 250px;
|
|
330
|
+
--drp-calendar-max-width: calc(100vw - 2rem);
|
|
331
|
+
}
|
package/src/css/main.css
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* ==============================================================================
|
|
2
|
+
DATE RANGE PICKER COMPONENT - MAIN ENTRY POINT
|
|
3
|
+
==============================================================================
|
|
4
|
+
|
|
5
|
+
File structure:
|
|
6
|
+
├── _variables.css - CSS custom properties at :host level
|
|
7
|
+
├── _base.css - Base container, input field, calendar popup
|
|
8
|
+
├── _header-navigation.css - Header, month/year display, nav buttons, rolling selector
|
|
9
|
+
├── _calendar-grid.css - Weekdays, day cells, all day states
|
|
10
|
+
├── _badges.css - Badge system for events/markers
|
|
11
|
+
├── _summary-actions.css - Selection summary and action buttons
|
|
12
|
+
├── _tooltips.css - Floating UI tooltips
|
|
13
|
+
├── _loading.css - Loading overlay and spinner for async validation
|
|
14
|
+
├── _modifiers.css - Transitions, inline mode
|
|
15
|
+
└── main.css - This file (imports all partials)
|
|
16
|
+
|
|
17
|
+
Import order matters - variables must be first, modifiers should be last
|
|
18
|
+
|
|
19
|
+
============================================================================== */
|
|
20
|
+
|
|
21
|
+
@import './_variables.css';
|
|
22
|
+
@import './_base.css';
|
|
23
|
+
@import './_header-navigation.css';
|
|
24
|
+
@import './_calendar-grid.css';
|
|
25
|
+
@import './_badges.css';
|
|
26
|
+
@import './_summary-actions.css';
|
|
27
|
+
@import './_tooltips.css';
|
|
28
|
+
@import './_loading.css';
|
|
29
|
+
@import './_modifiers.css';
|
package/src/scss/_badges.scss
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
// ==============================================================================
|
|
2
|
-
// DATE RANGE PICKER - BADGES
|
|
3
|
-
// ==============================================================================
|
|
4
|
-
// Badge system for displaying event markers, counts, and labels on calendar days
|
|
5
|
-
|
|
6
|
-
@use 'variables' as *;
|
|
7
|
-
|
|
8
|
-
// ==============================================================================
|
|
9
|
-
// BADGE ROWS (GRID-BASED SYSTEM)
|
|
10
|
-
// ==============================================================================
|
|
11
|
-
|
|
12
|
-
.drp-date-picker__badge-row {
|
|
13
|
-
display: grid;
|
|
14
|
-
grid-template-columns: repeat(7, 1fr);
|
|
15
|
-
gap: var(--drp-spacing-xs);
|
|
16
|
-
max-height: var(--drp-badge-row-height);
|
|
17
|
-
min-height: var(--drp-badge-row-height);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.drp-date-picker__badge-cell {
|
|
21
|
-
display: flex;
|
|
22
|
-
align-items: center;
|
|
23
|
-
justify-content: center;
|
|
24
|
-
font-size: var(--drp-font-size-2xs);
|
|
25
|
-
padding: $drp-badge-padding-v $drp-badge-padding-h;
|
|
26
|
-
border-radius: $drp-badge-border-radius;
|
|
27
|
-
cursor: pointer;
|
|
28
|
-
height: 100%;
|
|
29
|
-
max-height: var(--drp-badge-row-height);
|
|
30
|
-
|
|
31
|
-
&:empty {
|
|
32
|
-
visibility: hidden;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
&:hover:not(:empty) {
|
|
36
|
-
transform: scale(1.05);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// ==============================================================================
|
|
41
|
-
// BADGE TYPE STYLES
|
|
42
|
-
// ==============================================================================
|
|
43
|
-
|
|
44
|
-
// Number Badge (e.g., day number, count)
|
|
45
|
-
.drp-date-picker__badge-cell.badge-number {
|
|
46
|
-
background-color: var(--drp-badge-number-bg);
|
|
47
|
-
color: var(--drp-badge-number-color);
|
|
48
|
-
font-size: calc(1.12 * var(--drp-rem)); // 11.2px (was 0.7rem)
|
|
49
|
-
font-weight: 600;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// Count Badge (e.g., number of events)
|
|
53
|
-
.drp-date-picker__badge-cell.badge-count {
|
|
54
|
-
background-color: var(--drp-badge-count-bg);
|
|
55
|
-
color: var(--drp-badge-count-color);
|
|
56
|
-
font-size: calc(1.12 * var(--drp-rem)); // 11.2px (was 0.7rem)
|
|
57
|
-
font-weight: 700;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Text Badge (generic)
|
|
61
|
-
// Note: Background colors for specific badge types (holiday, event, birthday, etc.)
|
|
62
|
-
// should be defined by the application, not the component library.
|
|
63
|
-
// See index.html examples for how to customize badge colors for your use case.
|
|
64
|
-
.drp-date-picker__badge-cell.badge-text {
|
|
65
|
-
background-color: var(--drp-badge-text-bg);
|
|
66
|
-
color: var(--drp-badge-text-color);
|
|
67
|
-
font-size: calc(1.04 * var(--drp-rem)); // 10.4px (was 0.65rem)
|
|
68
|
-
font-weight: 700;
|
|
69
|
-
text-transform: uppercase;
|
|
70
|
-
}
|