@nuralyui/datepicker 0.0.5 → 0.0.7

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.
@@ -1,88 +1,87 @@
1
+ import { css } from 'lit';
2
+ import { styleVariables } from './datepicker.style.variables.js';
1
3
  /**
2
- * @license
3
- * Copyright 2023 Google Laabidi Aymen
4
- * SPDX-License-Identifier: MIT
4
+ * Datepicker component styles for the Hybrid UI Library
5
+ *
6
+ * This file contains all the styling for the nr-datepicker component, including:
7
+ * - Base datepicker styles with CSS custom properties for theming
8
+ * - Multiple datepicker states (default, disabled, focused)
9
+ * - Size variations (small, medium, large)
10
+ * - Calendar styling and positioning
11
+ * - Date selection states and range highlighting
12
+ * - Focus, disabled, and validation states
13
+ * - Dark theme support
14
+ *
15
+ * The styling system uses CSS custom properties with fallbacks to allow
16
+ * for both global and local customization of datepicker appearance.
5
17
  */
6
- import { css } from 'lit';
7
- import { datepickerVariables } from './datepicker.style.variables.js';
8
18
  export const styles = css `
9
- ${datepickerVariables}
19
+ ${styleVariables}
10
20
 
11
21
  :host {
12
22
  width: fit-content;
13
23
  display: block;
14
- font-family: var(--hybrid-datepicker-font-family, var(--hybrid-datepicker-local-font-family));
24
+ font-family: var(--nuraly-datepicker-font-family, var(--nuraly-datepicker-local-font-family));
15
25
  }
16
26
 
17
27
  /* Host attribute selectors for configuration */
18
28
  :host([disabled]) {
19
- opacity: var(--hybrid-datepicker-disabled-opacity, var(--hybrid-datepicker-local-disabled-opacity));
29
+ opacity: var(--nuraly-datepicker-disabled-opacity, var(--nuraly-datepicker-local-disabled-opacity));
20
30
  pointer-events: none;
21
31
  }
22
32
 
23
33
  :host([range]) {
24
- --hybrid-datepicker-local-calendar-width: 600px;
25
- }
26
-
27
- /* Theme-specific styles */
28
- :host([theme='dark']) {
29
- --hybrid-datepicker-local-background-color: #1f1f1f;
30
- --hybrid-datepicker-local-border-color: #424242;
31
- --hybrid-datepicker-local-text-color: #ffffff;
32
- --hybrid-datepicker-local-hover-color: #333333;
33
- --hybrid-datepicker-local-input-background: #1f1f1f;
34
- --hybrid-datepicker-local-input-border-color: #424242;
35
- --hybrid-datepicker-local-input-text-color: #ffffff;
34
+ --nuraly-datepicker-local-calendar-width: 600px;
36
35
  }
37
36
 
38
37
  /* Container styles */
39
38
  .datepicker-container {
40
39
  position: relative;
41
40
  display: block;
42
- width: var(--hybrid-datepicker-width, var(--hybrid-datepicker-local-width));
43
- font-family: var(--hybrid-datepicker-font-family, var(--hybrid-datepicker-local-font-family));
41
+ width: var(--nuraly-datepicker-width, var(--nuraly-datepicker-local-width));
42
+ font-family: var(--nuraly-datepicker-font-family, var(--nuraly-datepicker-local-font-family));
44
43
  /* Allow calendar to overflow container without causing scroll */
45
44
  overflow: visible;
46
45
  }
47
46
 
48
47
  .datepicker-disabled {
49
- opacity: var(--hybrid-datepicker-disabled-opacity, var(--hybrid-datepicker-local-disabled-opacity));
48
+ opacity: var(--nuraly-datepicker-disabled-opacity, var(--nuraly-datepicker-local-disabled-opacity));
50
49
  pointer-events: none;
51
50
  }
52
51
 
53
52
  /* Size variants */
54
53
  .datepicker-size-small {
55
- --hybrid-datepicker-local-day-size: var(--hybrid-datepicker-local-small-day-size);
56
- --hybrid-datepicker-local-font-size: var(--hybrid-datepicker-local-small-font-size);
54
+ --nuraly-datepicker-local-day-size: var(--nuraly-datepicker-local-small-day-size);
55
+ --nuraly-datepicker-local-font-size: var(--nuraly-datepicker-local-small-font-size);
57
56
  }
58
57
 
59
58
  .datepicker-size-medium {
60
- --hybrid-datepicker-local-day-size: var(--hybrid-datepicker-local-medium-day-size);
61
- --hybrid-datepicker-local-font-size: var(--hybrid-datepicker-local-medium-font-size);
59
+ --nuraly-datepicker-local-day-size: var(--nuraly-datepicker-local-medium-day-size);
60
+ --nuraly-datepicker-local-font-size: var(--nuraly-datepicker-local-medium-font-size);
62
61
  }
63
62
 
64
63
  .datepicker-size-large {
65
- --hybrid-datepicker-local-day-size: var(--hybrid-datepicker-local-large-day-size);
66
- --hybrid-datepicker-local-font-size: var(--hybrid-datepicker-local-large-font-size);
64
+ --nuraly-datepicker-local-day-size: var(--nuraly-datepicker-local-large-day-size);
65
+ --nuraly-datepicker-local-font-size: var(--nuraly-datepicker-local-large-font-size);
67
66
  }
68
67
 
69
68
  /* Calendar container */
70
69
  .calendar-container {
71
70
  position: fixed;
72
- z-index: var(--hybrid-datepicker-calendar-z-index, var(--hybrid-datepicker-local-calendar-z-index));
71
+ z-index: var(--nuraly-datepicker-calendar-z-index, var(--nuraly-datepicker-local-calendar-z-index));
73
72
  user-select: none;
74
- padding: var(--hybrid-datepicker-calendar-padding, var(--hybrid-datepicker-local-calendar-padding));
75
- width: var(--hybrid-datepicker-calendar-width, var(--hybrid-datepicker-local-calendar-width));
76
- height: var(--hybrid-datepicker-calendar-height, var(--hybrid-datepicker-local-calendar-height));
77
- background-color: var(--hybrid-datepicker-background-color, var(--hybrid-datepicker-local-background-color));
78
- border: var(--hybrid-datepicker-border-width, var(--hybrid-datepicker-local-border-width)) solid var(--hybrid-datepicker-border-color, var(--hybrid-datepicker-local-border-color));
79
- border-radius: var(--hybrid-datepicker-border-radius, var(--hybrid-datepicker-local-border-radius));
80
- box-shadow: var(--hybrid-datepicker-box-shadow, var(--hybrid-datepicker-local-box-shadow));
81
- animation: calendar-slide-in var(--hybrid-datepicker-calendar-animation-duration, var(--hybrid-datepicker-local-calendar-animation-duration)) var(--hybrid-datepicker-transition-timing, var(--hybrid-datepicker-local-transition-timing));
73
+ padding: var(--nuraly-datepicker-calendar-padding, var(--nuraly-datepicker-local-calendar-padding));
74
+ width: var(--nuraly-datepicker-calendar-width, var(--nuraly-datepicker-local-calendar-width));
75
+ height: var(--nuraly-datepicker-calendar-height, var(--nuraly-datepicker-local-calendar-height));
76
+ background-color: var(--nuraly-datepicker-background-color, var(--nuraly-datepicker-local-background-color));
77
+ border: var(--nuraly-datepicker-border-width, var(--nuraly-datepicker-local-border-width)) solid var(--nuraly-datepicker-border-color, var(--nuraly-datepicker-local-border-color));
78
+ border-radius: var(--nuraly-datepicker-border-radius, var(--nuraly-datepicker-local-border-radius));
79
+ box-shadow: var(--nuraly-datepicker-box-shadow, var(--nuraly-datepicker-local-box-shadow));
80
+ animation: calendar-slide-in var(--nuraly-datepicker-calendar-animation-duration, var(--nuraly-datepicker-local-calendar-animation-duration)) var(--nuraly-datepicker-transition-timing, var(--nuraly-datepicker-local-transition-timing));
82
81
  }
83
82
 
84
83
  .calendar-range {
85
- width: calc(var(--hybrid-datepicker-calendar-width, var(--hybrid-datepicker-local-calendar-width)) * 2);
84
+ width: calc(var(--nuraly-datepicker-calendar-width, var(--nuraly-datepicker-local-calendar-width)) * 2);
86
85
  }
87
86
 
88
87
  /* Calendar header */
@@ -90,10 +89,10 @@ export const styles = css `
90
89
  display: flex;
91
90
  align-items: center;
92
91
  justify-content: space-between;
93
- padding: var(--hybrid-datepicker-header-padding, var(--hybrid-datepicker-local-header-padding));
94
- height: var(--hybrid-datepicker-header-height, var(--hybrid-datepicker-local-header-height));
95
- border-bottom: var(--hybrid-datepicker-border-width, var(--hybrid-datepicker-local-border-width)) solid var(--hybrid-datepicker-border-color, var(--hybrid-datepicker-local-border-color));
96
- background: var(--hybrid-datepicker-header-background, var(--hybrid-datepicker-local-header-background));
92
+ padding: var(--nuraly-datepicker-header-padding, var(--nuraly-datepicker-local-header-padding));
93
+ height: var(--nuraly-datepicker-header-height, var(--nuraly-datepicker-local-header-height));
94
+ border-bottom: var(--nuraly-datepicker-border-width, var(--nuraly-datepicker-local-border-width)) solid var(--nuraly-datepicker-border-color, var(--nuraly-datepicker-local-border-color));
95
+ background: var(--nuraly-datepicker-header-background, var(--nuraly-datepicker-local-header-background));
97
96
  }
98
97
 
99
98
  .year-month-header {
@@ -107,7 +106,7 @@ export const styles = css `
107
106
  .current-year-container {
108
107
  display: inline-flex;
109
108
  align-items: center;
110
- gap: calc(var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap)) / 2);
109
+ gap: calc(var(--nuraly-datepicker-gap, var(--nuraly-datepicker-local-gap)) / 2);
111
110
  }
112
111
 
113
112
  .year-icons-toggler {
@@ -118,31 +117,31 @@ export const styles = css `
118
117
 
119
118
  /* Calendar content */
120
119
  .calendar-content {
121
- padding: var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap));
122
- padding-bottom: calc(var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap)) / 2);
120
+ padding: var(--nuraly-datepicker-gap, var(--nuraly-datepicker-local-gap));
121
+ padding-bottom: calc(var(--nuraly-datepicker-gap, var(--nuraly-datepicker-local-gap)) / 2);
123
122
  }
124
123
 
125
124
  /* Button customizations */
126
- hy-button {
127
- --hybrid-button-border-color: transparent;
128
- --hybrid-button-background-color: transparent;
129
- --hybrid-button-text-color: var(--hybrid-datepicker-text-color, var(--hybrid-datepicker-local-text-color));
130
- --hybrid-button-hover-background-color: var(--hybrid-datepicker-hover-color, var(--hybrid-datepicker-local-hover-color));
131
- --hybrid-button-transition-duration: var(--hybrid-datepicker-transition-duration, var(--hybrid-datepicker-local-transition-duration));
125
+ nr-button {
126
+ --nuraly-button-border-color: transparent;
127
+ --nuraly-button-background-color: transparent;
128
+ --nuraly-button-text-color: var(--nuraly-datepicker-text-color, var(--nuraly-datepicker-local-text-color));
129
+ --nuraly-button-hover-background-color: var(--nuraly-datepicker-hover-color, var(--nuraly-datepicker-local-hover-color));
130
+ --nuraly-button-transition-duration: var(--nuraly-datepicker-transition-duration, var(--nuraly-datepicker-local-transition-duration));
132
131
  }
133
132
 
134
133
  .toggle-year-view,
135
134
  .toggle-month-view {
136
- --hybrid-button-font-weight: var(--hybrid-datepicker-header-font-weight, var(--hybrid-datepicker-local-header-font-weight));
137
- --hybrid-button-font-size: var(--hybrid-datepicker-header-font-size, var(--hybrid-datepicker-local-header-font-size));
138
- --hybrid-button-padding: 4px 20px 4px 8px;
139
- --hybrid-button-border-radius: 6px;
140
- --hybrid-button-border: 1px solid var(--hybrid-datepicker-border-color, var(--hybrid-datepicker-local-border-color));
141
- --hybrid-button-background-color: #ffffff;
142
- --hybrid-button-hover-border-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));
143
- --hybrid-button-hover-background-color: #ffffff;
144
- --hybrid-button-active-background-color: var(--hybrid-datepicker-hover-background, var(--hybrid-datepicker-local-hover-background));
145
- --hybrid-button-transition: all 0.2s;
135
+ --nuraly-button-font-weight: var(--nuraly-datepicker-header-font-weight, var(--nuraly-datepicker-local-header-font-weight));
136
+ --nuraly-button-font-size: var(--nuraly-datepicker-header-font-size, var(--nuraly-datepicker-local-header-font-size));
137
+ --nuraly-button-padding: 4px 20px 4px 8px;
138
+ --nuraly-button-border-radius: 6px;
139
+ --nuraly-button-border: 1px solid var(--nuraly-datepicker-border-color, var(--nuraly-datepicker-local-border-color));
140
+ --nuraly-button-background-color: #ffffff;
141
+ --nuraly-button-hover-border-color: var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));
142
+ --nuraly-button-hover-background-color: #ffffff;
143
+ --nuraly-button-active-background-color: var(--nuraly-datepicker-hover-background, var(--nuraly-datepicker-local-hover-background));
144
+ --nuraly-button-transition: all 0.2s;
146
145
  position: relative;
147
146
  min-width: 80px;
148
147
  }
@@ -164,46 +163,46 @@ export const styles = css `
164
163
 
165
164
  .toggle-month-view:hover::after,
166
165
  .toggle-year-view:hover::after {
167
- border-top-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));
166
+ border-top-color: var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));
168
167
  }
169
168
 
170
169
  .next-year,
171
170
  .previous-year {
172
- --hybrid-button-width: 16px;
173
- --hybrid-button-height: 12px;
174
- --hybrid-button-padding: 0;
175
- --hybrid-button-min-width: auto;
176
- --hybrid-button-border-radius: 2px;
177
- --hybrid-button-text-color: rgba(0, 0, 0, 0.45);
178
- --hybrid-button-hover-text-color: rgba(0, 0, 0, 0.85);
179
- --hybrid-button-hover-background-color: rgba(0, 0, 0, 0.06);
171
+ --nuraly-button-width: 16px;
172
+ --nuraly-button-height: 12px;
173
+ --nuraly-button-padding: 0;
174
+ --nuraly-button-min-width: auto;
175
+ --nuraly-button-border-radius: 2px;
176
+ --nuraly-button-text-color: rgba(0, 0, 0, 0.45);
177
+ --nuraly-button-hover-text-color: rgba(0, 0, 0, 0.85);
178
+ --nuraly-button-hover-background-color: rgba(0, 0, 0, 0.06);
180
179
  }
181
180
 
182
181
  .header-prev-button,
183
182
  .header-next-button {
184
- --hybrid-button-width: 24px;
185
- --hybrid-button-height: 24px;
186
- --hybrid-button-padding: 0;
187
- --hybrid-button-min-width: auto;
188
- --hybrid-button-border-radius: 2px;
189
- --hybrid-button-text-color: rgba(0, 0, 0, 0.45);
190
- --hybrid-button-hover-text-color: rgba(0, 0, 0, 0.85);
191
- --hybrid-button-hover-background-color: rgba(0, 0, 0, 0.06);
192
- --hybrid-button-transition: all 0.2s;
183
+ --nuraly-button-width: 24px;
184
+ --nuraly-button-height: 24px;
185
+ --nuraly-button-padding: 0;
186
+ --nuraly-button-min-width: auto;
187
+ --nuraly-button-border-radius: 2px;
188
+ --nuraly-button-text-color: rgba(0, 0, 0, 0.45);
189
+ --nuraly-button-hover-text-color: rgba(0, 0, 0, 0.85);
190
+ --nuraly-button-hover-background-color: rgba(0, 0, 0, 0.06);
191
+ --nuraly-button-transition: all 0.2s;
193
192
  }
194
193
 
195
194
  .header-prev-button:hover,
196
195
  .header-next-button:hover {
197
- --hybrid-button-background-color: rgba(0, 0, 0, 0.06);
196
+ --nuraly-button-background-color: rgba(0, 0, 0, 0.06);
198
197
  }
199
198
 
200
199
  /* Placement variants */
201
200
  .placement-top {
202
- animation: calendar-slide-down var(--hybrid-datepicker-calendar-animation-duration, var(--hybrid-datepicker-local-calendar-animation-duration)) var(--hybrid-datepicker-transition-timing, var(--hybrid-datepicker-local-transition-timing));
201
+ animation: calendar-slide-down var(--nuraly-datepicker-calendar-animation-duration, var(--nuraly-datepicker-local-calendar-animation-duration)) var(--nuraly-datepicker-transition-timing, var(--nuraly-datepicker-local-transition-timing));
203
202
  }
204
203
 
205
204
  .placement-bottom {
206
- animation: calendar-slide-up var(--hybrid-datepicker-calendar-animation-duration, var(--hybrid-datepicker-local-calendar-animation-duration)) var(--hybrid-datepicker-transition-timing, var(--hybrid-datepicker-local-transition-timing));
205
+ animation: calendar-slide-up var(--nuraly-datepicker-calendar-animation-duration, var(--nuraly-datepicker-local-calendar-animation-duration)) var(--nuraly-datepicker-transition-timing, var(--nuraly-datepicker-local-transition-timing));
207
206
  }
208
207
 
209
208
  /* Animations */
@@ -247,7 +246,7 @@ export const styles = css `
247
246
 
248
247
  /* Accessibility improvements */
249
248
  .calendar-container:focus-within {
250
- outline: var(--hybrid-datepicker-focus-border-width, var(--hybrid-datepicker-local-focus-border-width)) solid var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));
249
+ outline: var(--nuraly-datepicker-focus-border-width, var(--nuraly-datepicker-local-focus-border-width)) solid var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));
251
250
  outline-offset: 2px;
252
251
  }
253
252
 
@@ -267,7 +266,7 @@ export const styles = css `
267
266
  display: grid;
268
267
  grid-template-columns: repeat(7, 1fr);
269
268
  gap: 1px;
270
- margin-bottom: var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap));
269
+ margin-bottom: var(--nuraly-datepicker-gap, var(--nuraly-datepicker-local-gap));
271
270
  }
272
271
 
273
272
  .weekday-header {
@@ -277,7 +276,7 @@ export const styles = css `
277
276
  padding: 8px 4px;
278
277
  font-size: 12px;
279
278
  font-weight: 500;
280
- color: var(--hybrid-datepicker-weekday-color, var(--hybrid-datepicker-local-weekday-color));
279
+ color: var(--nuraly-datepicker-weekday-color, var(--nuraly-datepicker-local-weekday-color));
281
280
  text-align: center;
282
281
  }
283
282
 
@@ -289,52 +288,52 @@ export const styles = css `
289
288
 
290
289
  /* Day cell base styles */
291
290
  .day-cell {
292
- width: var(--hybrid-datepicker-day-size, var(--hybrid-datepicker-local-day-size));
293
- height: var(--hybrid-datepicker-day-size, var(--hybrid-datepicker-local-day-size));
291
+ width: var(--nuraly-datepicker-day-size, var(--nuraly-datepicker-local-day-size));
292
+ height: var(--nuraly-datepicker-day-size, var(--nuraly-datepicker-local-day-size));
294
293
  display: flex;
295
294
  align-items: center;
296
295
  justify-content: center;
297
296
  border-radius: 6px;
298
297
  cursor: pointer;
299
- transition: all var(--hybrid-datepicker-transition-duration, var(--hybrid-datepicker-local-transition-duration)) var(--hybrid-datepicker-transition-timing, var(--hybrid-datepicker-local-transition-timing));
300
- font-size: var(--hybrid-datepicker-day-font-size, var(--hybrid-datepicker-local-day-font-size));
298
+ transition: all var(--nuraly-datepicker-transition-duration, var(--nuraly-datepicker-local-transition-duration)) var(--nuraly-datepicker-transition-timing, var(--nuraly-datepicker-local-transition-timing));
299
+ font-size: var(--nuraly-datepicker-day-font-size, var(--nuraly-datepicker-local-day-font-size));
301
300
  font-weight: 400;
302
- color: var(--hybrid-datepicker-text-color, var(--hybrid-datepicker-local-text-color));
301
+ color: var(--nuraly-datepicker-text-color, var(--nuraly-datepicker-local-text-color));
303
302
  margin: 1px;
304
303
  position: relative;
305
304
  }
306
305
 
307
306
  .day-cell:hover:not(.disabled):not(.selected) {
308
- background-color: var(--hybrid-datepicker-hover-color, var(--hybrid-datepicker-local-hover-color));
307
+ background-color: var(--nuraly-datepicker-hover-color, var(--nuraly-datepicker-local-hover-color));
309
308
  scale: 1.05;
310
309
  }
311
310
 
312
311
  .day-cell.selected {
313
- background-color: var(--hybrid-datepicker-selected-color, var(--hybrid-datepicker-local-selected-color)) !important;
314
- color: var(--hybrid-datepicker-selected-text-color, var(--hybrid-datepicker-local-selected-text-color)) !important;
312
+ background-color: var(--nuraly-datepicker-selected-color, var(--nuraly-datepicker-local-selected-color)) !important;
313
+ color: var(--nuraly-datepicker-selected-text-color, var(--nuraly-datepicker-local-selected-text-color)) !important;
315
314
  font-weight: 600;
316
315
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
317
316
  }
318
317
 
319
318
  .day-cell.today {
320
- border: 2px solid var(--hybrid-datepicker-today-color, var(--hybrid-datepicker-local-today-color));
319
+ border: 2px solid var(--nuraly-datepicker-today-color, var(--nuraly-datepicker-local-today-color));
321
320
  font-weight: 600;
322
321
  }
323
322
 
324
323
  .day-cell.today.selected {
325
- border-color: var(--hybrid-datepicker-selected-text-color, var(--hybrid-datepicker-local-selected-text-color));
324
+ border-color: var(--nuraly-datepicker-selected-text-color, var(--nuraly-datepicker-local-selected-text-color));
326
325
  }
327
326
 
328
327
  .day-cell.disabled {
329
- background-color: var(--hybrid-datepicker-disabled-color, var(--hybrid-datepicker-local-disabled-color));
330
- color: var(--hybrid-datepicker-disabled-text-color, var(--hybrid-datepicker-local-disabled-text-color));
328
+ background-color: var(--nuraly-datepicker-disabled-color, var(--nuraly-datepicker-local-disabled-color));
329
+ color: var(--nuraly-datepicker-disabled-text-color, var(--nuraly-datepicker-local-disabled-text-color));
331
330
  cursor: not-allowed;
332
331
  pointer-events: none;
333
332
  opacity: 0.4;
334
333
  }
335
334
 
336
335
  .day-cell.in-range {
337
- background-color: var(--hybrid-datepicker-range-color, var(--hybrid-datepicker-local-range-color));
336
+ background-color: var(--nuraly-datepicker-range-color, var(--nuraly-datepicker-local-range-color));
338
337
  border-radius: 0;
339
338
  }
340
339
 
@@ -352,15 +351,15 @@ export const styles = css `
352
351
 
353
352
  /* Error states */
354
353
  :host([state="error"]) .datepicker-container {
355
- --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-error-color, var(--hybrid-datepicker-local-error-color));
354
+ --nuraly-datepicker-local-input-border-color: var(--nuraly-datepicker-error-color, var(--nuraly-datepicker-local-error-color));
356
355
  }
357
356
 
358
357
  :host([state="warning"]) .datepicker-container {
359
- --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-warning-color, var(--hybrid-datepicker-local-warning-color));
358
+ --nuraly-datepicker-local-input-border-color: var(--nuraly-datepicker-warning-color, var(--nuraly-datepicker-local-warning-color));
360
359
  }
361
360
 
362
361
  :host([state="success"]) .datepicker-container {
363
- --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-success-color, var(--hybrid-datepicker-local-success-color));
362
+ --nuraly-datepicker-local-input-border-color: var(--nuraly-datepicker-success-color, var(--nuraly-datepicker-local-success-color));
364
363
  }
365
364
 
366
365
  /* Month/Year Dropdown Styles */
@@ -372,8 +371,8 @@ export const styles = css `
372
371
  right: 0;
373
372
  width: 120px;
374
373
  z-index: 1001;
375
- background: var(--hybrid-datepicker-background-color, var(--hybrid-datepicker-local-background-color));
376
- border: var(--hybrid-datepicker-border-width, var(--hybrid-datepicker-local-border-width)) solid var(--hybrid-datepicker-border-color, var(--hybrid-datepicker-local-border-color));
374
+ background: var(--nuraly-datepicker-background-color, var(--nuraly-datepicker-local-background-color));
375
+ border: var(--nuraly-datepicker-border-width, var(--nuraly-datepicker-local-border-width)) solid var(--nuraly-datepicker-border-color, var(--nuraly-datepicker-local-border-color));
377
376
  border-radius: 6px;
378
377
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
379
378
  max-height: 200px;
@@ -392,24 +391,24 @@ export const styles = css `
392
391
  .dropdown-item {
393
392
  padding: 8px 12px;
394
393
  cursor: pointer;
395
- color: var(--hybrid-datepicker-text-color, var(--hybrid-datepicker-local-text-color));
396
- font-size: var(--hybrid-datepicker-font-size, var(--hybrid-datepicker-local-font-size));
394
+ color: var(--nuraly-datepicker-text-color, var(--nuraly-datepicker-local-text-color));
395
+ font-size: var(--nuraly-datepicker-font-size, var(--nuraly-datepicker-local-font-size));
397
396
  transition: all 0.2s;
398
397
  border-radius: 0;
399
398
  }
400
399
 
401
400
  .dropdown-item:hover {
402
- background-color: var(--hybrid-datepicker-hover-background, var(--hybrid-datepicker-local-hover-background));
401
+ background-color: var(--nuraly-datepicker-hover-background, var(--nuraly-datepicker-local-hover-background));
403
402
  }
404
403
 
405
404
  .dropdown-item.selected {
406
- background-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));
405
+ background-color: var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));
407
406
  color: #ffffff;
408
407
  font-weight: 600;
409
408
  }
410
409
 
411
410
  .dropdown-item.selected:hover {
412
- background-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));
411
+ background-color: var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));
413
412
  opacity: 0.9;
414
413
  }
415
414
 
@@ -440,15 +439,15 @@ export const styles = css `
440
439
 
441
440
  /* Select component styling - Override the default 300px width */
442
441
  .month-select {
443
- --hybrid-select-width: 110px !important;
444
- --hybrid-select-local-width: 110px !important;
442
+ --nuraly-select-width: 110px !important;
443
+ --nuraly-select-local-width: 110px !important;
445
444
  width: 110px !important;
446
445
  max-width: 110px !important;
447
446
  }
448
447
 
449
448
  .year-select {
450
- --hybrid-select-width: 80px !important;
451
- --hybrid-select-local-width: 80px !important;
449
+ --nuraly-select-width: 80px !important;
450
+ --nuraly-select-local-width: 80px !important;
452
451
  width: 80px !important;
453
452
  max-width: 80px !important;
454
453
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.style.js","sourceRoot":"","sources":["../../../src/components/datepicker/datepicker.style.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8btB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2023 Google Laabidi Aymen\n * SPDX-License-Identifier: MIT\n */\n\nimport { css } from 'lit';\nimport { datepickerVariables } from './datepicker.style.variables.js';\n\nexport const styles = css`\n ${datepickerVariables}\n\n :host {\n width: fit-content;\n display: block;\n font-family: var(--hybrid-datepicker-font-family, var(--hybrid-datepicker-local-font-family));\n }\n\n /* Host attribute selectors for configuration */\n :host([disabled]) {\n opacity: var(--hybrid-datepicker-disabled-opacity, var(--hybrid-datepicker-local-disabled-opacity));\n pointer-events: none;\n }\n\n :host([range]) {\n --hybrid-datepicker-local-calendar-width: 600px;\n }\n\n /* Theme-specific styles */\n :host([theme='dark']) {\n --hybrid-datepicker-local-background-color: #1f1f1f;\n --hybrid-datepicker-local-border-color: #424242;\n --hybrid-datepicker-local-text-color: #ffffff;\n --hybrid-datepicker-local-hover-color: #333333;\n --hybrid-datepicker-local-input-background: #1f1f1f;\n --hybrid-datepicker-local-input-border-color: #424242;\n --hybrid-datepicker-local-input-text-color: #ffffff;\n }\n\n /* Container styles */\n .datepicker-container {\n position: relative;\n display: block;\n width: var(--hybrid-datepicker-width, var(--hybrid-datepicker-local-width));\n font-family: var(--hybrid-datepicker-font-family, var(--hybrid-datepicker-local-font-family));\n /* Allow calendar to overflow container without causing scroll */\n overflow: visible;\n }\n\n .datepicker-disabled {\n opacity: var(--hybrid-datepicker-disabled-opacity, var(--hybrid-datepicker-local-disabled-opacity));\n pointer-events: none;\n }\n\n /* Size variants */\n .datepicker-size-small {\n --hybrid-datepicker-local-day-size: var(--hybrid-datepicker-local-small-day-size);\n --hybrid-datepicker-local-font-size: var(--hybrid-datepicker-local-small-font-size);\n }\n\n .datepicker-size-medium {\n --hybrid-datepicker-local-day-size: var(--hybrid-datepicker-local-medium-day-size);\n --hybrid-datepicker-local-font-size: var(--hybrid-datepicker-local-medium-font-size);\n }\n\n .datepicker-size-large {\n --hybrid-datepicker-local-day-size: var(--hybrid-datepicker-local-large-day-size);\n --hybrid-datepicker-local-font-size: var(--hybrid-datepicker-local-large-font-size);\n }\n\n /* Calendar container */\n .calendar-container {\n position: fixed;\n z-index: var(--hybrid-datepicker-calendar-z-index, var(--hybrid-datepicker-local-calendar-z-index));\n user-select: none;\n padding: var(--hybrid-datepicker-calendar-padding, var(--hybrid-datepicker-local-calendar-padding));\n width: var(--hybrid-datepicker-calendar-width, var(--hybrid-datepicker-local-calendar-width));\n height: var(--hybrid-datepicker-calendar-height, var(--hybrid-datepicker-local-calendar-height));\n background-color: var(--hybrid-datepicker-background-color, var(--hybrid-datepicker-local-background-color));\n border: var(--hybrid-datepicker-border-width, var(--hybrid-datepicker-local-border-width)) solid var(--hybrid-datepicker-border-color, var(--hybrid-datepicker-local-border-color));\n border-radius: var(--hybrid-datepicker-border-radius, var(--hybrid-datepicker-local-border-radius));\n box-shadow: var(--hybrid-datepicker-box-shadow, var(--hybrid-datepicker-local-box-shadow));\n animation: calendar-slide-in var(--hybrid-datepicker-calendar-animation-duration, var(--hybrid-datepicker-local-calendar-animation-duration)) var(--hybrid-datepicker-transition-timing, var(--hybrid-datepicker-local-transition-timing));\n }\n\n .calendar-range {\n width: calc(var(--hybrid-datepicker-calendar-width, var(--hybrid-datepicker-local-calendar-width)) * 2);\n }\n\n /* Calendar header */\n .calendar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--hybrid-datepicker-header-padding, var(--hybrid-datepicker-local-header-padding));\n height: var(--hybrid-datepicker-header-height, var(--hybrid-datepicker-local-header-height));\n border-bottom: var(--hybrid-datepicker-border-width, var(--hybrid-datepicker-local-border-width)) solid var(--hybrid-datepicker-border-color, var(--hybrid-datepicker-local-border-color));\n background: var(--hybrid-datepicker-header-background, var(--hybrid-datepicker-local-header-background));\n }\n\n .year-month-header {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n justify-content: center;\n }\n\n .current-year-container {\n display: inline-flex;\n align-items: center;\n gap: calc(var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap)) / 2);\n }\n\n .year-icons-toggler {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n /* Calendar content */\n .calendar-content {\n padding: var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap));\n padding-bottom: calc(var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap)) / 2);\n }\n\n /* Button customizations */\n hy-button {\n --hybrid-button-border-color: transparent;\n --hybrid-button-background-color: transparent;\n --hybrid-button-text-color: var(--hybrid-datepicker-text-color, var(--hybrid-datepicker-local-text-color));\n --hybrid-button-hover-background-color: var(--hybrid-datepicker-hover-color, var(--hybrid-datepicker-local-hover-color));\n --hybrid-button-transition-duration: var(--hybrid-datepicker-transition-duration, var(--hybrid-datepicker-local-transition-duration));\n }\n\n .toggle-year-view,\n .toggle-month-view {\n --hybrid-button-font-weight: var(--hybrid-datepicker-header-font-weight, var(--hybrid-datepicker-local-header-font-weight));\n --hybrid-button-font-size: var(--hybrid-datepicker-header-font-size, var(--hybrid-datepicker-local-header-font-size));\n --hybrid-button-padding: 4px 20px 4px 8px;\n --hybrid-button-border-radius: 6px;\n --hybrid-button-border: 1px solid var(--hybrid-datepicker-border-color, var(--hybrid-datepicker-local-border-color));\n --hybrid-button-background-color: #ffffff;\n --hybrid-button-hover-border-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));\n --hybrid-button-hover-background-color: #ffffff;\n --hybrid-button-active-background-color: var(--hybrid-datepicker-hover-background, var(--hybrid-datepicker-local-hover-background));\n --hybrid-button-transition: all 0.2s;\n position: relative;\n min-width: 80px;\n }\n\n .toggle-month-view::after,\n .toggle-year-view::after {\n content: '';\n position: absolute;\n right: 6px;\n top: 50%;\n transform: translateY(-50%);\n width: 0;\n height: 0;\n border-left: 3px solid transparent;\n border-right: 3px solid transparent;\n border-top: 3px solid rgba(0, 0, 0, 0.45);\n transition: all 0.2s;\n }\n\n .toggle-month-view:hover::after,\n .toggle-year-view:hover::after {\n border-top-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));\n }\n\n .next-year,\n .previous-year {\n --hybrid-button-width: 16px;\n --hybrid-button-height: 12px;\n --hybrid-button-padding: 0;\n --hybrid-button-min-width: auto;\n --hybrid-button-border-radius: 2px;\n --hybrid-button-text-color: rgba(0, 0, 0, 0.45);\n --hybrid-button-hover-text-color: rgba(0, 0, 0, 0.85);\n --hybrid-button-hover-background-color: rgba(0, 0, 0, 0.06);\n }\n\n .header-prev-button,\n .header-next-button {\n --hybrid-button-width: 24px;\n --hybrid-button-height: 24px;\n --hybrid-button-padding: 0;\n --hybrid-button-min-width: auto;\n --hybrid-button-border-radius: 2px;\n --hybrid-button-text-color: rgba(0, 0, 0, 0.45);\n --hybrid-button-hover-text-color: rgba(0, 0, 0, 0.85);\n --hybrid-button-hover-background-color: rgba(0, 0, 0, 0.06);\n --hybrid-button-transition: all 0.2s;\n }\n\n .header-prev-button:hover,\n .header-next-button:hover {\n --hybrid-button-background-color: rgba(0, 0, 0, 0.06);\n }\n\n /* Placement variants */\n .placement-top {\n animation: calendar-slide-down var(--hybrid-datepicker-calendar-animation-duration, var(--hybrid-datepicker-local-calendar-animation-duration)) var(--hybrid-datepicker-transition-timing, var(--hybrid-datepicker-local-transition-timing));\n }\n\n .placement-bottom {\n animation: calendar-slide-up var(--hybrid-datepicker-calendar-animation-duration, var(--hybrid-datepicker-local-calendar-animation-duration)) var(--hybrid-datepicker-transition-timing, var(--hybrid-datepicker-local-transition-timing));\n }\n\n /* Animations */\n @keyframes calendar-slide-in {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes calendar-slide-up {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes calendar-slide-down {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n /* Legacy compatibility styles */\n .calendar-container-range {\n width: 600px;\n }\n\n /* Accessibility improvements */\n .calendar-container:focus-within {\n outline: var(--hybrid-datepicker-focus-border-width, var(--hybrid-datepicker-local-focus-border-width)) solid var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));\n outline-offset: 2px;\n }\n\n /* Focus management */\n [tabindex=\"-1\"]:focus {\n outline: none;\n }\n\n /* Days grid layout */\n .days-grid {\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n .weekdays-header {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 1px;\n margin-bottom: var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap));\n }\n\n .weekday-header {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 8px 4px;\n font-size: 12px;\n font-weight: 500;\n color: var(--hybrid-datepicker-weekday-color, var(--hybrid-datepicker-local-weekday-color));\n text-align: center;\n }\n\n .days-body {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 1px;\n }\n\n /* Day cell base styles */\n .day-cell {\n width: var(--hybrid-datepicker-day-size, var(--hybrid-datepicker-local-day-size));\n height: var(--hybrid-datepicker-day-size, var(--hybrid-datepicker-local-day-size));\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n cursor: pointer;\n transition: all var(--hybrid-datepicker-transition-duration, var(--hybrid-datepicker-local-transition-duration)) var(--hybrid-datepicker-transition-timing, var(--hybrid-datepicker-local-transition-timing));\n font-size: var(--hybrid-datepicker-day-font-size, var(--hybrid-datepicker-local-day-font-size));\n font-weight: 400;\n color: var(--hybrid-datepicker-text-color, var(--hybrid-datepicker-local-text-color));\n margin: 1px;\n position: relative;\n }\n\n .day-cell:hover:not(.disabled):not(.selected) {\n background-color: var(--hybrid-datepicker-hover-color, var(--hybrid-datepicker-local-hover-color));\n scale: 1.05;\n }\n\n .day-cell.selected {\n background-color: var(--hybrid-datepicker-selected-color, var(--hybrid-datepicker-local-selected-color)) !important;\n color: var(--hybrid-datepicker-selected-text-color, var(--hybrid-datepicker-local-selected-text-color)) !important;\n font-weight: 600;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n }\n\n .day-cell.today {\n border: 2px solid var(--hybrid-datepicker-today-color, var(--hybrid-datepicker-local-today-color));\n font-weight: 600;\n }\n\n .day-cell.today.selected {\n border-color: var(--hybrid-datepicker-selected-text-color, var(--hybrid-datepicker-local-selected-text-color));\n }\n\n .day-cell.disabled {\n background-color: var(--hybrid-datepicker-disabled-color, var(--hybrid-datepicker-local-disabled-color));\n color: var(--hybrid-datepicker-disabled-text-color, var(--hybrid-datepicker-local-disabled-text-color));\n cursor: not-allowed;\n pointer-events: none;\n opacity: 0.4;\n }\n\n .day-cell.in-range {\n background-color: var(--hybrid-datepicker-range-color, var(--hybrid-datepicker-local-range-color));\n border-radius: 0;\n }\n\n .day-cell.in-range:first-of-type {\n border-radius: 6px 0 0 6px;\n }\n\n .day-cell.in-range:last-of-type {\n border-radius: 0 6px 6px 0;\n }\n\n .day-cell.in-range.selected {\n border-radius: 6px;\n }\n\n /* Error states */\n :host([state=\"error\"]) .datepicker-container {\n --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-error-color, var(--hybrid-datepicker-local-error-color));\n }\n\n :host([state=\"warning\"]) .datepicker-container {\n --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-warning-color, var(--hybrid-datepicker-local-warning-color));\n }\n\n :host([state=\"success\"]) .datepicker-container {\n --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-success-color, var(--hybrid-datepicker-local-success-color));\n }\n\n /* Month/Year Dropdown Styles */\n .month-dropdown,\n .year-dropdown {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n right: 0;\n width: 120px;\n z-index: 1001;\n background: var(--hybrid-datepicker-background-color, var(--hybrid-datepicker-local-background-color));\n border: var(--hybrid-datepicker-border-width, var(--hybrid-datepicker-local-border-width)) solid var(--hybrid-datepicker-border-color, var(--hybrid-datepicker-local-border-color));\n border-radius: 6px;\n box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n max-height: 200px;\n overflow-y: auto;\n animation: dropdown-slide-in 0.15s ease-out;\n }\n\n .year-dropdown {\n width: 80px;\n }\n\n .dropdown-content {\n padding: 4px 0;\n }\n\n .dropdown-item {\n padding: 8px 12px;\n cursor: pointer;\n color: var(--hybrid-datepicker-text-color, var(--hybrid-datepicker-local-text-color));\n font-size: var(--hybrid-datepicker-font-size, var(--hybrid-datepicker-local-font-size));\n transition: all 0.2s;\n border-radius: 0;\n }\n\n .dropdown-item:hover {\n background-color: var(--hybrid-datepicker-hover-background, var(--hybrid-datepicker-local-hover-background));\n }\n\n .dropdown-item.selected {\n background-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));\n color: #ffffff;\n font-weight: 600;\n }\n\n .dropdown-item.selected:hover {\n background-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));\n opacity: 0.9;\n }\n\n /* Dropdown animation */\n @keyframes dropdown-slide-in {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n /* Year/Month button container positioning */\n .current-year-container,\n .month-selector {\n position: relative;\n z-index: 1000;\n }\n\n .toggle-month-view,\n .toggle-year-view {\n position: relative;\n z-index: 1001;\n }\n\n /* Select component styling - Override the default 300px width */\n .month-select {\n --hybrid-select-width: 110px !important;\n --hybrid-select-local-width: 110px !important;\n width: 110px !important;\n max-width: 110px !important;\n }\n\n .year-select {\n --hybrid-select-width: 80px !important;\n --hybrid-select-local-width: 80px !important; \n width: 80px !important;\n max-width: 80px !important;\n }\n`;\n"]}
1
+ {"version":3,"file":"datepicker.style.js","sourceRoot":"","sources":["../../../src/components/datepicker/datepicker.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmbjB,CAAC","sourcesContent":["import { css } from 'lit';\nimport { styleVariables } from './datepicker.style.variables.js';\n\n/**\n * Datepicker component styles for the Hybrid UI Library\n * \n * This file contains all the styling for the nr-datepicker component, including:\n * - Base datepicker styles with CSS custom properties for theming\n * - Multiple datepicker states (default, disabled, focused)\n * - Size variations (small, medium, large)\n * - Calendar styling and positioning\n * - Date selection states and range highlighting\n * - Focus, disabled, and validation states\n * - Dark theme support\n * \n * The styling system uses CSS custom properties with fallbacks to allow\n * for both global and local customization of datepicker appearance.\n */\n\nexport const styles = css`\n ${styleVariables}\n\n :host {\n width: fit-content;\n display: block;\n font-family: var(--nuraly-datepicker-font-family, var(--nuraly-datepicker-local-font-family));\n }\n\n /* Host attribute selectors for configuration */\n :host([disabled]) {\n opacity: var(--nuraly-datepicker-disabled-opacity, var(--nuraly-datepicker-local-disabled-opacity));\n pointer-events: none;\n }\n\n :host([range]) {\n --nuraly-datepicker-local-calendar-width: 600px;\n }\n\n /* Container styles */\n .datepicker-container {\n position: relative;\n display: block;\n width: var(--nuraly-datepicker-width, var(--nuraly-datepicker-local-width));\n font-family: var(--nuraly-datepicker-font-family, var(--nuraly-datepicker-local-font-family));\n /* Allow calendar to overflow container without causing scroll */\n overflow: visible;\n }\n\n .datepicker-disabled {\n opacity: var(--nuraly-datepicker-disabled-opacity, var(--nuraly-datepicker-local-disabled-opacity));\n pointer-events: none;\n }\n\n /* Size variants */\n .datepicker-size-small {\n --nuraly-datepicker-local-day-size: var(--nuraly-datepicker-local-small-day-size);\n --nuraly-datepicker-local-font-size: var(--nuraly-datepicker-local-small-font-size);\n }\n\n .datepicker-size-medium {\n --nuraly-datepicker-local-day-size: var(--nuraly-datepicker-local-medium-day-size);\n --nuraly-datepicker-local-font-size: var(--nuraly-datepicker-local-medium-font-size);\n }\n\n .datepicker-size-large {\n --nuraly-datepicker-local-day-size: var(--nuraly-datepicker-local-large-day-size);\n --nuraly-datepicker-local-font-size: var(--nuraly-datepicker-local-large-font-size);\n }\n\n /* Calendar container */\n .calendar-container {\n position: fixed;\n z-index: var(--nuraly-datepicker-calendar-z-index, var(--nuraly-datepicker-local-calendar-z-index));\n user-select: none;\n padding: var(--nuraly-datepicker-calendar-padding, var(--nuraly-datepicker-local-calendar-padding));\n width: var(--nuraly-datepicker-calendar-width, var(--nuraly-datepicker-local-calendar-width));\n height: var(--nuraly-datepicker-calendar-height, var(--nuraly-datepicker-local-calendar-height));\n background-color: var(--nuraly-datepicker-background-color, var(--nuraly-datepicker-local-background-color));\n border: var(--nuraly-datepicker-border-width, var(--nuraly-datepicker-local-border-width)) solid var(--nuraly-datepicker-border-color, var(--nuraly-datepicker-local-border-color));\n border-radius: var(--nuraly-datepicker-border-radius, var(--nuraly-datepicker-local-border-radius));\n box-shadow: var(--nuraly-datepicker-box-shadow, var(--nuraly-datepicker-local-box-shadow));\n animation: calendar-slide-in var(--nuraly-datepicker-calendar-animation-duration, var(--nuraly-datepicker-local-calendar-animation-duration)) var(--nuraly-datepicker-transition-timing, var(--nuraly-datepicker-local-transition-timing));\n }\n\n .calendar-range {\n width: calc(var(--nuraly-datepicker-calendar-width, var(--nuraly-datepicker-local-calendar-width)) * 2);\n }\n\n /* Calendar header */\n .calendar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nuraly-datepicker-header-padding, var(--nuraly-datepicker-local-header-padding));\n height: var(--nuraly-datepicker-header-height, var(--nuraly-datepicker-local-header-height));\n border-bottom: var(--nuraly-datepicker-border-width, var(--nuraly-datepicker-local-border-width)) solid var(--nuraly-datepicker-border-color, var(--nuraly-datepicker-local-border-color));\n background: var(--nuraly-datepicker-header-background, var(--nuraly-datepicker-local-header-background));\n }\n\n .year-month-header {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n justify-content: center;\n }\n\n .current-year-container {\n display: inline-flex;\n align-items: center;\n gap: calc(var(--nuraly-datepicker-gap, var(--nuraly-datepicker-local-gap)) / 2);\n }\n\n .year-icons-toggler {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n /* Calendar content */\n .calendar-content {\n padding: var(--nuraly-datepicker-gap, var(--nuraly-datepicker-local-gap));\n padding-bottom: calc(var(--nuraly-datepicker-gap, var(--nuraly-datepicker-local-gap)) / 2);\n }\n\n /* Button customizations */\n nr-button {\n --nuraly-button-border-color: transparent;\n --nuraly-button-background-color: transparent;\n --nuraly-button-text-color: var(--nuraly-datepicker-text-color, var(--nuraly-datepicker-local-text-color));\n --nuraly-button-hover-background-color: var(--nuraly-datepicker-hover-color, var(--nuraly-datepicker-local-hover-color));\n --nuraly-button-transition-duration: var(--nuraly-datepicker-transition-duration, var(--nuraly-datepicker-local-transition-duration));\n }\n\n .toggle-year-view,\n .toggle-month-view {\n --nuraly-button-font-weight: var(--nuraly-datepicker-header-font-weight, var(--nuraly-datepicker-local-header-font-weight));\n --nuraly-button-font-size: var(--nuraly-datepicker-header-font-size, var(--nuraly-datepicker-local-header-font-size));\n --nuraly-button-padding: 4px 20px 4px 8px;\n --nuraly-button-border-radius: 6px;\n --nuraly-button-border: 1px solid var(--nuraly-datepicker-border-color, var(--nuraly-datepicker-local-border-color));\n --nuraly-button-background-color: #ffffff;\n --nuraly-button-hover-border-color: var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));\n --nuraly-button-hover-background-color: #ffffff;\n --nuraly-button-active-background-color: var(--nuraly-datepicker-hover-background, var(--nuraly-datepicker-local-hover-background));\n --nuraly-button-transition: all 0.2s;\n position: relative;\n min-width: 80px;\n }\n\n .toggle-month-view::after,\n .toggle-year-view::after {\n content: '';\n position: absolute;\n right: 6px;\n top: 50%;\n transform: translateY(-50%);\n width: 0;\n height: 0;\n border-left: 3px solid transparent;\n border-right: 3px solid transparent;\n border-top: 3px solid rgba(0, 0, 0, 0.45);\n transition: all 0.2s;\n }\n\n .toggle-month-view:hover::after,\n .toggle-year-view:hover::after {\n border-top-color: var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));\n }\n\n .next-year,\n .previous-year {\n --nuraly-button-width: 16px;\n --nuraly-button-height: 12px;\n --nuraly-button-padding: 0;\n --nuraly-button-min-width: auto;\n --nuraly-button-border-radius: 2px;\n --nuraly-button-text-color: rgba(0, 0, 0, 0.45);\n --nuraly-button-hover-text-color: rgba(0, 0, 0, 0.85);\n --nuraly-button-hover-background-color: rgba(0, 0, 0, 0.06);\n }\n\n .header-prev-button,\n .header-next-button {\n --nuraly-button-width: 24px;\n --nuraly-button-height: 24px;\n --nuraly-button-padding: 0;\n --nuraly-button-min-width: auto;\n --nuraly-button-border-radius: 2px;\n --nuraly-button-text-color: rgba(0, 0, 0, 0.45);\n --nuraly-button-hover-text-color: rgba(0, 0, 0, 0.85);\n --nuraly-button-hover-background-color: rgba(0, 0, 0, 0.06);\n --nuraly-button-transition: all 0.2s;\n }\n\n .header-prev-button:hover,\n .header-next-button:hover {\n --nuraly-button-background-color: rgba(0, 0, 0, 0.06);\n }\n\n /* Placement variants */\n .placement-top {\n animation: calendar-slide-down var(--nuraly-datepicker-calendar-animation-duration, var(--nuraly-datepicker-local-calendar-animation-duration)) var(--nuraly-datepicker-transition-timing, var(--nuraly-datepicker-local-transition-timing));\n }\n\n .placement-bottom {\n animation: calendar-slide-up var(--nuraly-datepicker-calendar-animation-duration, var(--nuraly-datepicker-local-calendar-animation-duration)) var(--nuraly-datepicker-transition-timing, var(--nuraly-datepicker-local-transition-timing));\n }\n\n /* Animations */\n @keyframes calendar-slide-in {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes calendar-slide-up {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes calendar-slide-down {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n /* Legacy compatibility styles */\n .calendar-container-range {\n width: 600px;\n }\n\n /* Accessibility improvements */\n .calendar-container:focus-within {\n outline: var(--nuraly-datepicker-focus-border-width, var(--nuraly-datepicker-local-focus-border-width)) solid var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));\n outline-offset: 2px;\n }\n\n /* Focus management */\n [tabindex=\"-1\"]:focus {\n outline: none;\n }\n\n /* Days grid layout */\n .days-grid {\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n .weekdays-header {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 1px;\n margin-bottom: var(--nuraly-datepicker-gap, var(--nuraly-datepicker-local-gap));\n }\n\n .weekday-header {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 8px 4px;\n font-size: 12px;\n font-weight: 500;\n color: var(--nuraly-datepicker-weekday-color, var(--nuraly-datepicker-local-weekday-color));\n text-align: center;\n }\n\n .days-body {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 1px;\n }\n\n /* Day cell base styles */\n .day-cell {\n width: var(--nuraly-datepicker-day-size, var(--nuraly-datepicker-local-day-size));\n height: var(--nuraly-datepicker-day-size, var(--nuraly-datepicker-local-day-size));\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n cursor: pointer;\n transition: all var(--nuraly-datepicker-transition-duration, var(--nuraly-datepicker-local-transition-duration)) var(--nuraly-datepicker-transition-timing, var(--nuraly-datepicker-local-transition-timing));\n font-size: var(--nuraly-datepicker-day-font-size, var(--nuraly-datepicker-local-day-font-size));\n font-weight: 400;\n color: var(--nuraly-datepicker-text-color, var(--nuraly-datepicker-local-text-color));\n margin: 1px;\n position: relative;\n }\n\n .day-cell:hover:not(.disabled):not(.selected) {\n background-color: var(--nuraly-datepicker-hover-color, var(--nuraly-datepicker-local-hover-color));\n scale: 1.05;\n }\n\n .day-cell.selected {\n background-color: var(--nuraly-datepicker-selected-color, var(--nuraly-datepicker-local-selected-color)) !important;\n color: var(--nuraly-datepicker-selected-text-color, var(--nuraly-datepicker-local-selected-text-color)) !important;\n font-weight: 600;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n }\n\n .day-cell.today {\n border: 2px solid var(--nuraly-datepicker-today-color, var(--nuraly-datepicker-local-today-color));\n font-weight: 600;\n }\n\n .day-cell.today.selected {\n border-color: var(--nuraly-datepicker-selected-text-color, var(--nuraly-datepicker-local-selected-text-color));\n }\n\n .day-cell.disabled {\n background-color: var(--nuraly-datepicker-disabled-color, var(--nuraly-datepicker-local-disabled-color));\n color: var(--nuraly-datepicker-disabled-text-color, var(--nuraly-datepicker-local-disabled-text-color));\n cursor: not-allowed;\n pointer-events: none;\n opacity: 0.4;\n }\n\n .day-cell.in-range {\n background-color: var(--nuraly-datepicker-range-color, var(--nuraly-datepicker-local-range-color));\n border-radius: 0;\n }\n\n .day-cell.in-range:first-of-type {\n border-radius: 6px 0 0 6px;\n }\n\n .day-cell.in-range:last-of-type {\n border-radius: 0 6px 6px 0;\n }\n\n .day-cell.in-range.selected {\n border-radius: 6px;\n }\n\n /* Error states */\n :host([state=\"error\"]) .datepicker-container {\n --nuraly-datepicker-local-input-border-color: var(--nuraly-datepicker-error-color, var(--nuraly-datepicker-local-error-color));\n }\n\n :host([state=\"warning\"]) .datepicker-container {\n --nuraly-datepicker-local-input-border-color: var(--nuraly-datepicker-warning-color, var(--nuraly-datepicker-local-warning-color));\n }\n\n :host([state=\"success\"]) .datepicker-container {\n --nuraly-datepicker-local-input-border-color: var(--nuraly-datepicker-success-color, var(--nuraly-datepicker-local-success-color));\n }\n\n /* Month/Year Dropdown Styles */\n .month-dropdown,\n .year-dropdown {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n right: 0;\n width: 120px;\n z-index: 1001;\n background: var(--nuraly-datepicker-background-color, var(--nuraly-datepicker-local-background-color));\n border: var(--nuraly-datepicker-border-width, var(--nuraly-datepicker-local-border-width)) solid var(--nuraly-datepicker-border-color, var(--nuraly-datepicker-local-border-color));\n border-radius: 6px;\n box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n max-height: 200px;\n overflow-y: auto;\n animation: dropdown-slide-in 0.15s ease-out;\n }\n\n .year-dropdown {\n width: 80px;\n }\n\n .dropdown-content {\n padding: 4px 0;\n }\n\n .dropdown-item {\n padding: 8px 12px;\n cursor: pointer;\n color: var(--nuraly-datepicker-text-color, var(--nuraly-datepicker-local-text-color));\n font-size: var(--nuraly-datepicker-font-size, var(--nuraly-datepicker-local-font-size));\n transition: all 0.2s;\n border-radius: 0;\n }\n\n .dropdown-item:hover {\n background-color: var(--nuraly-datepicker-hover-background, var(--nuraly-datepicker-local-hover-background));\n }\n\n .dropdown-item.selected {\n background-color: var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));\n color: #ffffff;\n font-weight: 600;\n }\n\n .dropdown-item.selected:hover {\n background-color: var(--nuraly-datepicker-primary-color, var(--nuraly-datepicker-local-primary-color));\n opacity: 0.9;\n }\n\n /* Dropdown animation */\n @keyframes dropdown-slide-in {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n /* Year/Month button container positioning */\n .current-year-container,\n .month-selector {\n position: relative;\n z-index: 1000;\n }\n\n .toggle-month-view,\n .toggle-year-view {\n position: relative;\n z-index: 1001;\n }\n\n /* Select component styling - Override the default 300px width */\n .month-select {\n --nuraly-select-width: 110px !important;\n --nuraly-select-local-width: 110px !important;\n width: 110px !important;\n max-width: 110px !important;\n }\n\n .year-select {\n --nuraly-select-width: 80px !important;\n --nuraly-select-local-width: 80px !important; \n width: 80px !important;\n max-width: 80px !important;\n }\n`;\n"]}
@@ -1,11 +1,2 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Google Laabidi Aymen
4
- * SPDX-License-Identifier: MIT
5
- */
6
- /**
7
- * CSS custom properties for datepicker component (light theme defaults)
8
- * These are the local component defaults that can be overridden globally
9
- */
10
- export declare const datepickerVariables: import("lit").CSSResult;
1
+ export declare const styleVariables: import("lit").CSSResult;
11
2
  //# sourceMappingURL=datepicker.style.variables.d.ts.map