@keenmate/web-daterangepicker 1.9.5 → 1.10.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.9.5",
3
+ "version": "1.10.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",
@@ -199,6 +199,21 @@
199
199
  border-style: dashed !important;
200
200
  }
201
201
 
202
+ /* --------------------------------------
203
+ Invalid range states (showInvalidRange)
204
+ Used when beforeDateSelectCallback returns { action: 'restore', showInvalidRange: true }
205
+ -------------------------------------- */
206
+ .drp-date-picker__day--invalid-range {
207
+ background-color: color-mix(in srgb, var(--drp-message-error-border) 20%, transparent);
208
+ }
209
+
210
+ .drp-date-picker__day--invalid-range-start,
211
+ .drp-date-picker__day--invalid-range-end {
212
+ background-color: var(--drp-message-error-border);
213
+ color: white;
214
+ font-weight: var(--drp-font-weight-semibold);
215
+ }
216
+
202
217
  /* ==============================================================================
203
218
  SPECIAL DATE HIGHLIGHTING (EXAMPLES)
204
219
  ==============================================================================
@@ -0,0 +1,114 @@
1
+ /* ==============================================================================
2
+ MESSAGE AREA
3
+ ==============================================================================
4
+ Displays feedback messages between the calendar months and summary section.
5
+ Used for validation errors, warnings, info messages, and success confirmations.
6
+ ============================================================================== */
7
+
8
+ /* Message container - hidden by default */
9
+ .drp-date-picker__message {
10
+ display: none;
11
+ align-items: center;
12
+ gap: var(--drp-spacing-sm);
13
+ padding: var(--drp-spacing-sm) var(--drp-spacing-md);
14
+ margin: 0 var(--drp-spacing-sm);
15
+ margin-bottom: var(--drp-spacing-sm);
16
+ border-radius: var(--drp-border-radius);
17
+ font-size: var(--drp-font-size-sm);
18
+ line-height: var(--drp-line-height-normal);
19
+ }
20
+
21
+ /* Visible state */
22
+ .drp-date-picker__message--visible {
23
+ display: flex;
24
+ }
25
+
26
+ /* Message text - fills available space */
27
+ .drp-date-picker__message-text {
28
+ flex: 1;
29
+ }
30
+
31
+ /* Close button */
32
+ .drp-date-picker__message-close {
33
+ flex-shrink: 0;
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ width: calc(2 * var(--drp-rem));
38
+ height: calc(2 * var(--drp-rem));
39
+ padding: 0;
40
+ border: none;
41
+ background: transparent;
42
+ font-size: var(--drp-font-size-lg);
43
+ line-height: 1;
44
+ cursor: pointer;
45
+ opacity: 0.6;
46
+ transition: opacity var(--drp-transition-fast) var(--drp-easing-snappy);
47
+ }
48
+
49
+ .drp-date-picker__message-close:hover {
50
+ opacity: 1;
51
+ }
52
+
53
+ /* ==========================================================================
54
+ MESSAGE TYPE VARIANTS
55
+ ========================================================================== */
56
+
57
+ /* Error - red */
58
+ .drp-date-picker__message--error {
59
+ background-color: var(--drp-message-error-bg);
60
+ color: var(--drp-message-error-color);
61
+ border: 1px solid var(--drp-message-error-border);
62
+ }
63
+
64
+ .drp-date-picker__message--error .drp-date-picker__message-close {
65
+ color: var(--drp-message-error-color);
66
+ }
67
+
68
+ /* Warning - orange/amber */
69
+ .drp-date-picker__message--warning {
70
+ background-color: var(--drp-message-warning-bg);
71
+ color: var(--drp-message-warning-color);
72
+ border: 1px solid var(--drp-message-warning-border);
73
+ }
74
+
75
+ .drp-date-picker__message--warning .drp-date-picker__message-close {
76
+ color: var(--drp-message-warning-color);
77
+ }
78
+
79
+ /* Info - blue */
80
+ .drp-date-picker__message--info {
81
+ background-color: var(--drp-message-info-bg);
82
+ color: var(--drp-message-info-color);
83
+ border: 1px solid var(--drp-message-info-border);
84
+ }
85
+
86
+ .drp-date-picker__message--info .drp-date-picker__message-close {
87
+ color: var(--drp-message-info-color);
88
+ }
89
+
90
+ /* Success - green */
91
+ .drp-date-picker__message--success {
92
+ background-color: var(--drp-message-success-bg);
93
+ color: var(--drp-message-success-color);
94
+ border: 1px solid var(--drp-message-success-border);
95
+ }
96
+
97
+ .drp-date-picker__message--success .drp-date-picker__message-close {
98
+ color: var(--drp-message-success-color);
99
+ }
100
+
101
+ /* Custom - no styling, full user control via HTML content */
102
+ .drp-date-picker__message--custom {
103
+ /* No styling - programmer controls everything via HTML content */
104
+ background: transparent;
105
+ border: none;
106
+ padding: 0;
107
+ margin: 0;
108
+ margin-bottom: var(--drp-spacing-sm);
109
+ }
110
+
111
+ .drp-date-picker__message--custom .drp-date-picker__message-close {
112
+ /* Hide close button for custom messages - user controls everything */
113
+ display: none;
114
+ }
@@ -9,7 +9,9 @@
9
9
 
10
10
  .drp-date-picker__summary {
11
11
  text-align: center;
12
- padding: var(--drp-spacing-md);
12
+ padding: 0;
13
+ margin: 0;
14
+ margin-bottom: var(--drp-spacing-sm);
13
15
  border-top: var(--drp-summary-border);
14
16
  font-size: var(--drp-font-size-sm);
15
17
  color: var(--drp-summary-text-color);
@@ -339,6 +339,31 @@
339
339
  --drp-tooltip-max-width: 200px;
340
340
  --drp-tooltip-arrow-size: 8px;
341
341
 
342
+ /* ==========================================================================
343
+ MESSAGE AREA COLORS
344
+ ==========================================================================
345
+ Four type variants for feedback messages: error, warning, info, success */
346
+
347
+ /* Error - red */
348
+ --drp-message-error-bg: #fef2f2;
349
+ --drp-message-error-color: #991b1b;
350
+ --drp-message-error-border: #fecaca;
351
+
352
+ /* Warning - orange/amber */
353
+ --drp-message-warning-bg: #fffbeb;
354
+ --drp-message-warning-color: #92400e;
355
+ --drp-message-warning-border: #fde68a;
356
+
357
+ /* Info - blue */
358
+ --drp-message-info-bg: #eff6ff;
359
+ --drp-message-info-color: #1e40af;
360
+ --drp-message-info-border: #bfdbfe;
361
+
362
+ /* Success - green */
363
+ --drp-message-success-bg: #f0fdf4;
364
+ --drp-message-success-color: #166534;
365
+ --drp-message-success-border: #bbf7d0;
366
+
342
367
  /* ==========================================================================
343
368
  CALENDAR DIMENSIONS
344
369
  ========================================================================== */
package/src/css/main.css CHANGED
@@ -11,6 +11,7 @@
11
11
  ├── _summary-actions.css - Selection summary and action buttons
12
12
  ├── _tooltips.css - Floating UI tooltips
13
13
  ├── _loading.css - Loading overlay and spinner for async validation
14
+ ├── _message.css - Message area for validation feedback
14
15
  ├── _modifiers.css - Transitions, inline mode
15
16
  └── main.css - This file (imports all partials)
16
17
 
@@ -26,4 +27,5 @@
26
27
  @import './_summary-actions.css';
27
28
  @import './_tooltips.css';
28
29
  @import './_loading.css';
30
+ @import './_message.css';
29
31
  @import './_modifiers.css';