@nuralyui/datepicker 0.0.3 → 0.0.5

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.
Files changed (85) hide show
  1. package/bundle.js +791 -0
  2. package/datepicker.component.d.ts +189 -0
  3. package/datepicker.component.js +668 -0
  4. package/datepicker.component.js.map +1 -0
  5. package/datepicker.constant.d.ts +60 -0
  6. package/datepicker.constant.js +60 -0
  7. package/datepicker.constant.js.map +1 -0
  8. package/datepicker.style.d.ts +7 -0
  9. package/datepicker.style.js +456 -0
  10. package/datepicker.style.js.map +1 -0
  11. package/datepicker.style.variables.d.ts +11 -0
  12. package/datepicker.style.variables.js +115 -0
  13. package/datepicker.style.variables.js.map +1 -0
  14. package/datepicker.type.d.ts +142 -0
  15. package/datepicker.type.js +75 -0
  16. package/datepicker.type.js.map +1 -0
  17. package/index.d.ts +4 -1
  18. package/index.js +4 -1
  19. package/index.js.map +1 -1
  20. package/package.json +16 -2
  21. package/react.d.ts +15 -2
  22. package/react.js +16 -3
  23. package/react.js.map +1 -1
  24. package/constants.d.ts +0 -2
  25. package/constants.d.ts.map +0 -1
  26. package/constants.js +0 -2
  27. package/constants.js.map +0 -1
  28. package/core/day.helper.d.ts +0 -5
  29. package/core/day.helper.d.ts.map +0 -1
  30. package/core/day.helper.js +0 -53
  31. package/core/day.helper.js.map +0 -1
  32. package/core/formatter.d.ts +0 -2
  33. package/core/formatter.d.ts.map +0 -1
  34. package/core/formatter.js +0 -9
  35. package/core/formatter.js.map +0 -1
  36. package/core/locale.helper.d.ts +0 -144
  37. package/core/locale.helper.d.ts.map +0 -1
  38. package/core/locale.helper.js +0 -151
  39. package/core/locale.helper.js.map +0 -1
  40. package/core/month.helper.d.ts +0 -3
  41. package/core/month.helper.d.ts.map +0 -1
  42. package/core/month.helper.js +0 -24
  43. package/core/month.helper.js.map +0 -1
  44. package/core/string.helper.d.ts +0 -2
  45. package/core/string.helper.d.ts.map +0 -1
  46. package/core/string.helper.js +0 -4
  47. package/core/string.helper.js.map +0 -1
  48. package/date-picker.component.d.ts +0 -80
  49. package/date-picker.component.d.ts.map +0 -1
  50. package/date-picker.component.js +0 -475
  51. package/date-picker.component.js.map +0 -1
  52. package/date-picker.style.d.ts +0 -2
  53. package/date-picker.style.d.ts.map +0 -1
  54. package/date-picker.style.js +0 -223
  55. package/date-picker.style.js.map +0 -1
  56. package/datepicker.types.d.ts +0 -39
  57. package/datepicker.types.d.ts.map +0 -1
  58. package/datepicker.types.js +0 -8
  59. package/datepicker.types.js.map +0 -1
  60. package/demo/date-picker-demo.d.ts +0 -18
  61. package/demo/date-picker-demo.d.ts.map +0 -1
  62. package/demo/date-picker-demo.js +0 -95
  63. package/demo/date-picker-demo.js.map +0 -1
  64. package/index.d.ts.map +0 -1
  65. package/react.d.ts.map +0 -1
  66. package/templates/days.template.d.ts +0 -4
  67. package/templates/days.template.d.ts.map +0 -1
  68. package/templates/days.template.js +0 -28
  69. package/templates/days.template.js.map +0 -1
  70. package/templates/headers.template.d.ts +0 -2
  71. package/templates/headers.template.d.ts.map +0 -1
  72. package/templates/headers.template.js +0 -5
  73. package/templates/headers.template.js.map +0 -1
  74. package/templates/months.template.d.ts +0 -6
  75. package/templates/months.template.d.ts.map +0 -1
  76. package/templates/months.template.js +0 -10
  77. package/templates/months.template.js.map +0 -1
  78. package/templates/years.template.d.ts +0 -6
  79. package/templates/years.template.d.ts.map +0 -1
  80. package/templates/years.template.js +0 -11
  81. package/templates/years.template.js.map +0 -1
  82. package/test/datepicker_test.d.ts +0 -2
  83. package/test/datepicker_test.d.ts.map +0 -1
  84. package/test/datepicker_test.js +0 -132
  85. package/test/datepicker_test.js.map +0 -1
@@ -0,0 +1,456 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { css } from 'lit';
7
+ import { datepickerVariables } from './datepicker.style.variables.js';
8
+ export const styles = css `
9
+ ${datepickerVariables}
10
+
11
+ :host {
12
+ width: fit-content;
13
+ display: block;
14
+ font-family: var(--hybrid-datepicker-font-family, var(--hybrid-datepicker-local-font-family));
15
+ }
16
+
17
+ /* Host attribute selectors for configuration */
18
+ :host([disabled]) {
19
+ opacity: var(--hybrid-datepicker-disabled-opacity, var(--hybrid-datepicker-local-disabled-opacity));
20
+ pointer-events: none;
21
+ }
22
+
23
+ :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;
36
+ }
37
+
38
+ /* Container styles */
39
+ .datepicker-container {
40
+ position: relative;
41
+ 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));
44
+ /* Allow calendar to overflow container without causing scroll */
45
+ overflow: visible;
46
+ }
47
+
48
+ .datepicker-disabled {
49
+ opacity: var(--hybrid-datepicker-disabled-opacity, var(--hybrid-datepicker-local-disabled-opacity));
50
+ pointer-events: none;
51
+ }
52
+
53
+ /* Size variants */
54
+ .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);
57
+ }
58
+
59
+ .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);
62
+ }
63
+
64
+ .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);
67
+ }
68
+
69
+ /* Calendar container */
70
+ .calendar-container {
71
+ position: fixed;
72
+ z-index: var(--hybrid-datepicker-calendar-z-index, var(--hybrid-datepicker-local-calendar-z-index));
73
+ 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));
82
+ }
83
+
84
+ .calendar-range {
85
+ width: calc(var(--hybrid-datepicker-calendar-width, var(--hybrid-datepicker-local-calendar-width)) * 2);
86
+ }
87
+
88
+ /* Calendar header */
89
+ .calendar-header {
90
+ display: flex;
91
+ align-items: center;
92
+ 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));
97
+ }
98
+
99
+ .year-month-header {
100
+ display: flex;
101
+ align-items: center;
102
+ gap: 8px;
103
+ flex: 1;
104
+ justify-content: center;
105
+ }
106
+
107
+ .current-year-container {
108
+ display: inline-flex;
109
+ align-items: center;
110
+ gap: calc(var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap)) / 2);
111
+ }
112
+
113
+ .year-icons-toggler {
114
+ display: flex;
115
+ flex-direction: column;
116
+ gap: 2px;
117
+ }
118
+
119
+ /* Calendar content */
120
+ .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);
123
+ }
124
+
125
+ /* 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));
132
+ }
133
+
134
+ .toggle-year-view,
135
+ .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;
146
+ position: relative;
147
+ min-width: 80px;
148
+ }
149
+
150
+ .toggle-month-view::after,
151
+ .toggle-year-view::after {
152
+ content: '';
153
+ position: absolute;
154
+ right: 6px;
155
+ top: 50%;
156
+ transform: translateY(-50%);
157
+ width: 0;
158
+ height: 0;
159
+ border-left: 3px solid transparent;
160
+ border-right: 3px solid transparent;
161
+ border-top: 3px solid rgba(0, 0, 0, 0.45);
162
+ transition: all 0.2s;
163
+ }
164
+
165
+ .toggle-month-view:hover::after,
166
+ .toggle-year-view:hover::after {
167
+ border-top-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));
168
+ }
169
+
170
+ .next-year,
171
+ .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);
180
+ }
181
+
182
+ .header-prev-button,
183
+ .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;
193
+ }
194
+
195
+ .header-prev-button:hover,
196
+ .header-next-button:hover {
197
+ --hybrid-button-background-color: rgba(0, 0, 0, 0.06);
198
+ }
199
+
200
+ /* Placement variants */
201
+ .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));
203
+ }
204
+
205
+ .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));
207
+ }
208
+
209
+ /* Animations */
210
+ @keyframes calendar-slide-in {
211
+ from {
212
+ opacity: 0;
213
+ transform: translateY(-10px);
214
+ }
215
+ to {
216
+ opacity: 1;
217
+ transform: translateY(0);
218
+ }
219
+ }
220
+
221
+ @keyframes calendar-slide-up {
222
+ from {
223
+ opacity: 0;
224
+ transform: translateY(10px);
225
+ }
226
+ to {
227
+ opacity: 1;
228
+ transform: translateY(0);
229
+ }
230
+ }
231
+
232
+ @keyframes calendar-slide-down {
233
+ from {
234
+ opacity: 0;
235
+ transform: translateY(-10px);
236
+ }
237
+ to {
238
+ opacity: 1;
239
+ transform: translateY(0);
240
+ }
241
+ }
242
+
243
+ /* Legacy compatibility styles */
244
+ .calendar-container-range {
245
+ width: 600px;
246
+ }
247
+
248
+ /* Accessibility improvements */
249
+ .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));
251
+ outline-offset: 2px;
252
+ }
253
+
254
+ /* Focus management */
255
+ [tabindex="-1"]:focus {
256
+ outline: none;
257
+ }
258
+
259
+ /* Days grid layout */
260
+ .days-grid {
261
+ display: flex;
262
+ flex-direction: column;
263
+ width: 100%;
264
+ }
265
+
266
+ .weekdays-header {
267
+ display: grid;
268
+ grid-template-columns: repeat(7, 1fr);
269
+ gap: 1px;
270
+ margin-bottom: var(--hybrid-datepicker-gap, var(--hybrid-datepicker-local-gap));
271
+ }
272
+
273
+ .weekday-header {
274
+ display: flex;
275
+ align-items: center;
276
+ justify-content: center;
277
+ padding: 8px 4px;
278
+ font-size: 12px;
279
+ font-weight: 500;
280
+ color: var(--hybrid-datepicker-weekday-color, var(--hybrid-datepicker-local-weekday-color));
281
+ text-align: center;
282
+ }
283
+
284
+ .days-body {
285
+ display: grid;
286
+ grid-template-columns: repeat(7, 1fr);
287
+ gap: 1px;
288
+ }
289
+
290
+ /* Day cell base styles */
291
+ .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));
294
+ display: flex;
295
+ align-items: center;
296
+ justify-content: center;
297
+ border-radius: 6px;
298
+ 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));
301
+ font-weight: 400;
302
+ color: var(--hybrid-datepicker-text-color, var(--hybrid-datepicker-local-text-color));
303
+ margin: 1px;
304
+ position: relative;
305
+ }
306
+
307
+ .day-cell:hover:not(.disabled):not(.selected) {
308
+ background-color: var(--hybrid-datepicker-hover-color, var(--hybrid-datepicker-local-hover-color));
309
+ scale: 1.05;
310
+ }
311
+
312
+ .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;
315
+ font-weight: 600;
316
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
317
+ }
318
+
319
+ .day-cell.today {
320
+ border: 2px solid var(--hybrid-datepicker-today-color, var(--hybrid-datepicker-local-today-color));
321
+ font-weight: 600;
322
+ }
323
+
324
+ .day-cell.today.selected {
325
+ border-color: var(--hybrid-datepicker-selected-text-color, var(--hybrid-datepicker-local-selected-text-color));
326
+ }
327
+
328
+ .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));
331
+ cursor: not-allowed;
332
+ pointer-events: none;
333
+ opacity: 0.4;
334
+ }
335
+
336
+ .day-cell.in-range {
337
+ background-color: var(--hybrid-datepicker-range-color, var(--hybrid-datepicker-local-range-color));
338
+ border-radius: 0;
339
+ }
340
+
341
+ .day-cell.in-range:first-of-type {
342
+ border-radius: 6px 0 0 6px;
343
+ }
344
+
345
+ .day-cell.in-range:last-of-type {
346
+ border-radius: 0 6px 6px 0;
347
+ }
348
+
349
+ .day-cell.in-range.selected {
350
+ border-radius: 6px;
351
+ }
352
+
353
+ /* Error states */
354
+ :host([state="error"]) .datepicker-container {
355
+ --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-error-color, var(--hybrid-datepicker-local-error-color));
356
+ }
357
+
358
+ :host([state="warning"]) .datepicker-container {
359
+ --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-warning-color, var(--hybrid-datepicker-local-warning-color));
360
+ }
361
+
362
+ :host([state="success"]) .datepicker-container {
363
+ --hybrid-datepicker-local-input-border-color: var(--hybrid-datepicker-success-color, var(--hybrid-datepicker-local-success-color));
364
+ }
365
+
366
+ /* Month/Year Dropdown Styles */
367
+ .month-dropdown,
368
+ .year-dropdown {
369
+ position: absolute;
370
+ top: calc(100% + 4px);
371
+ left: 0;
372
+ right: 0;
373
+ width: 120px;
374
+ 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));
377
+ border-radius: 6px;
378
+ 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
+ max-height: 200px;
380
+ overflow-y: auto;
381
+ animation: dropdown-slide-in 0.15s ease-out;
382
+ }
383
+
384
+ .year-dropdown {
385
+ width: 80px;
386
+ }
387
+
388
+ .dropdown-content {
389
+ padding: 4px 0;
390
+ }
391
+
392
+ .dropdown-item {
393
+ padding: 8px 12px;
394
+ 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));
397
+ transition: all 0.2s;
398
+ border-radius: 0;
399
+ }
400
+
401
+ .dropdown-item:hover {
402
+ background-color: var(--hybrid-datepicker-hover-background, var(--hybrid-datepicker-local-hover-background));
403
+ }
404
+
405
+ .dropdown-item.selected {
406
+ background-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));
407
+ color: #ffffff;
408
+ font-weight: 600;
409
+ }
410
+
411
+ .dropdown-item.selected:hover {
412
+ background-color: var(--hybrid-datepicker-primary-color, var(--hybrid-datepicker-local-primary-color));
413
+ opacity: 0.9;
414
+ }
415
+
416
+ /* Dropdown animation */
417
+ @keyframes dropdown-slide-in {
418
+ from {
419
+ opacity: 0;
420
+ transform: translateY(-8px);
421
+ }
422
+ to {
423
+ opacity: 1;
424
+ transform: translateY(0);
425
+ }
426
+ }
427
+
428
+ /* Year/Month button container positioning */
429
+ .current-year-container,
430
+ .month-selector {
431
+ position: relative;
432
+ z-index: 1000;
433
+ }
434
+
435
+ .toggle-month-view,
436
+ .toggle-year-view {
437
+ position: relative;
438
+ z-index: 1001;
439
+ }
440
+
441
+ /* Select component styling - Override the default 300px width */
442
+ .month-select {
443
+ --hybrid-select-width: 110px !important;
444
+ --hybrid-select-local-width: 110px !important;
445
+ width: 110px !important;
446
+ max-width: 110px !important;
447
+ }
448
+
449
+ .year-select {
450
+ --hybrid-select-width: 80px !important;
451
+ --hybrid-select-local-width: 80px !important;
452
+ width: 80px !important;
453
+ max-width: 80px !important;
454
+ }
455
+ `;
456
+ //# sourceMappingURL=datepicker.style.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,11 @@
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;
11
+ //# sourceMappingURL=datepicker.style.variables.d.ts.map
@@ -0,0 +1,115 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { css } from 'lit';
7
+ /**
8
+ * CSS custom properties for datepicker component (light theme defaults)
9
+ * These are the local component defaults that can be overridden globally
10
+ */
11
+ export const datepickerVariables = css `
12
+ :host {
13
+ /* Layout and sizing */
14
+ --hybrid-datepicker-local-width: 280px;
15
+ --hybrid-datepicker-local-height: auto;
16
+ --hybrid-datepicker-local-padding: 16px;
17
+ --hybrid-datepicker-local-margin: 0;
18
+ --hybrid-datepicker-local-border-radius: 8px;
19
+ --hybrid-datepicker-local-calendar-width: 320px;
20
+ --hybrid-datepicker-local-calendar-height: auto;
21
+ --hybrid-datepicker-local-day-size: 36px;
22
+ --hybrid-datepicker-local-header-height: 56px;
23
+
24
+ /* Colors - Light theme defaults */
25
+ --hybrid-datepicker-local-background-color: #ffffff;
26
+ --hybrid-datepicker-local-border-color: #d9d9d9;
27
+ --hybrid-datepicker-local-text-color: #000000;
28
+ --hybrid-datepicker-local-primary-color: #1677ff;
29
+ --hybrid-datepicker-local-hover-color: #f5f5f5;
30
+ --hybrid-datepicker-local-selected-color: #1677ff;
31
+ --hybrid-datepicker-local-selected-text-color: #ffffff;
32
+ --hybrid-datepicker-local-today-color: #1677ff;
33
+ --hybrid-datepicker-local-disabled-color: #f5f5f5;
34
+ --hybrid-datepicker-local-disabled-text-color: #bfbfbf;
35
+ --hybrid-datepicker-local-weekend-color: #ff4d4f;
36
+ --hybrid-datepicker-local-weekday-color: #8c8c8c;
37
+ --hybrid-datepicker-local-range-color: rgba(22, 119, 255, 0.1);
38
+ --hybrid-datepicker-local-shadow-color: rgba(0, 0, 0, 0.1);
39
+ --hybrid-datepicker-local-error-color: #da1e28;
40
+ --hybrid-datepicker-local-warning-color: #f0c300;
41
+ --hybrid-datepicker-local-success-color: #24a148;
42
+
43
+ /* Header specific colors */
44
+ --hybrid-datepicker-local-header-background: #ffffff;
45
+ --hybrid-datepicker-local-hover-background: rgba(0, 0, 0, 0.04);
46
+ --hybrid-datepicker-local-active-background: rgba(0, 0, 0, 0.06);
47
+
48
+ /* Input field colors */
49
+ --hybrid-datepicker-local-input-background: #ffffff;
50
+ --hybrid-datepicker-local-input-border-color: #d9d9d9;
51
+ --hybrid-datepicker-local-input-focus-border-color: #1677ff;
52
+ --hybrid-datepicker-local-input-text-color: #000000;
53
+ --hybrid-datepicker-local-input-placeholder-color: #bfbfbf;
54
+
55
+ /* Typography */
56
+ --hybrid-datepicker-local-font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif;
57
+ --hybrid-datepicker-local-font-size: 14px;
58
+ --hybrid-datepicker-local-font-weight: 400;
59
+ --hybrid-datepicker-local-header-font-size: 16px;
60
+ --hybrid-datepicker-local-header-font-weight: 600;
61
+ --hybrid-datepicker-local-day-font-size: 14px;
62
+ --hybrid-datepicker-local-input-font-size: 14px;
63
+ --hybrid-datepicker-local-label-font-size: 14px;
64
+ --hybrid-datepicker-local-helper-font-size: 12px;
65
+ --hybrid-datepicker-local-message-font-size: 12px;
66
+
67
+ /* Spacing */
68
+ --hybrid-datepicker-local-gap: 6px;
69
+ --hybrid-datepicker-local-calendar-padding: 12px;
70
+ --hybrid-datepicker-local-day-padding: 6px;
71
+ --hybrid-datepicker-local-input-padding: 8px 12px;
72
+
73
+ /* Borders */
74
+ --hybrid-datepicker-local-border-width: 1px;
75
+ --hybrid-datepicker-local-input-border-width: 1px;
76
+ --hybrid-datepicker-local-focus-border-width: 2px;
77
+
78
+ /* Shadows */
79
+ --hybrid-datepicker-local-box-shadow: 0 6px 16px 0 var(--hybrid-datepicker-local-shadow-color);
80
+ --hybrid-datepicker-local-input-focus-shadow: 0 0 0 2px rgba(22, 119, 255, 0.2);
81
+
82
+ /* States */
83
+ --hybrid-datepicker-local-disabled-opacity: 0.5;
84
+ --hybrid-datepicker-local-hover-opacity: 0.8;
85
+
86
+ /* Animation and transitions */
87
+ --hybrid-datepicker-local-transition-duration: 0.2s;
88
+ --hybrid-datepicker-local-transition-timing: ease-in-out;
89
+ --hybrid-datepicker-local-calendar-animation-duration: 0.15s;
90
+
91
+ /* Z-index */
92
+ --hybrid-datepicker-local-calendar-z-index: 1000;
93
+
94
+ /* Icon sizes */
95
+ --hybrid-datepicker-local-icon-size: 16px;
96
+ --hybrid-datepicker-local-arrow-icon-size: 12px;
97
+
98
+ /* Size variants */
99
+ --hybrid-datepicker-local-small-font-size: 12px;
100
+ --hybrid-datepicker-local-small-padding: 6px 8px;
101
+ --hybrid-datepicker-local-small-height: 32px;
102
+ --hybrid-datepicker-local-small-day-size: 28px;
103
+
104
+ --hybrid-datepicker-local-medium-font-size: 14px;
105
+ --hybrid-datepicker-local-medium-padding: 8px 12px;
106
+ --hybrid-datepicker-local-medium-height: 36px;
107
+ --hybrid-datepicker-local-medium-day-size: 36px;
108
+
109
+ --hybrid-datepicker-local-large-font-size: 16px;
110
+ --hybrid-datepicker-local-large-padding: 12px 16px;
111
+ --hybrid-datepicker-local-large-height: 44px;
112
+ --hybrid-datepicker-local-large-day-size: 44px;
113
+ }
114
+ `;
115
+ //# sourceMappingURL=datepicker.style.variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker.style.variables.js","sourceRoot":"","sources":["../../../src/components/datepicker/datepicker.style.variables.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGrC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2023 Google Laabidi Aymen\n * SPDX-License-Identifier: MIT\n */\n\nimport { css } from 'lit';\n\n/**\n * CSS custom properties for datepicker component (light theme defaults)\n * These are the local component defaults that can be overridden globally\n */\nexport const datepickerVariables = css`\n :host {\n /* Layout and sizing */\n --hybrid-datepicker-local-width: 280px;\n --hybrid-datepicker-local-height: auto;\n --hybrid-datepicker-local-padding: 16px;\n --hybrid-datepicker-local-margin: 0;\n --hybrid-datepicker-local-border-radius: 8px;\n --hybrid-datepicker-local-calendar-width: 320px;\n --hybrid-datepicker-local-calendar-height: auto;\n --hybrid-datepicker-local-day-size: 36px;\n --hybrid-datepicker-local-header-height: 56px;\n \n /* Colors - Light theme defaults */\n --hybrid-datepicker-local-background-color: #ffffff;\n --hybrid-datepicker-local-border-color: #d9d9d9;\n --hybrid-datepicker-local-text-color: #000000;\n --hybrid-datepicker-local-primary-color: #1677ff;\n --hybrid-datepicker-local-hover-color: #f5f5f5;\n --hybrid-datepicker-local-selected-color: #1677ff;\n --hybrid-datepicker-local-selected-text-color: #ffffff;\n --hybrid-datepicker-local-today-color: #1677ff;\n --hybrid-datepicker-local-disabled-color: #f5f5f5;\n --hybrid-datepicker-local-disabled-text-color: #bfbfbf;\n --hybrid-datepicker-local-weekend-color: #ff4d4f;\n --hybrid-datepicker-local-weekday-color: #8c8c8c;\n --hybrid-datepicker-local-range-color: rgba(22, 119, 255, 0.1);\n --hybrid-datepicker-local-shadow-color: rgba(0, 0, 0, 0.1);\n --hybrid-datepicker-local-error-color: #da1e28;\n --hybrid-datepicker-local-warning-color: #f0c300;\n --hybrid-datepicker-local-success-color: #24a148;\n \n /* Header specific colors */\n --hybrid-datepicker-local-header-background: #ffffff;\n --hybrid-datepicker-local-hover-background: rgba(0, 0, 0, 0.04);\n --hybrid-datepicker-local-active-background: rgba(0, 0, 0, 0.06);\n \n /* Input field colors */\n --hybrid-datepicker-local-input-background: #ffffff;\n --hybrid-datepicker-local-input-border-color: #d9d9d9;\n --hybrid-datepicker-local-input-focus-border-color: #1677ff;\n --hybrid-datepicker-local-input-text-color: #000000;\n --hybrid-datepicker-local-input-placeholder-color: #bfbfbf;\n \n /* Typography */\n --hybrid-datepicker-local-font-family: Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif;\n --hybrid-datepicker-local-font-size: 14px;\n --hybrid-datepicker-local-font-weight: 400;\n --hybrid-datepicker-local-header-font-size: 16px;\n --hybrid-datepicker-local-header-font-weight: 600;\n --hybrid-datepicker-local-day-font-size: 14px;\n --hybrid-datepicker-local-input-font-size: 14px;\n --hybrid-datepicker-local-label-font-size: 14px;\n --hybrid-datepicker-local-helper-font-size: 12px;\n --hybrid-datepicker-local-message-font-size: 12px;\n \n /* Spacing */\n --hybrid-datepicker-local-gap: 6px;\n --hybrid-datepicker-local-calendar-padding: 12px;\n --hybrid-datepicker-local-day-padding: 6px;\n --hybrid-datepicker-local-input-padding: 8px 12px;\n \n /* Borders */\n --hybrid-datepicker-local-border-width: 1px;\n --hybrid-datepicker-local-input-border-width: 1px;\n --hybrid-datepicker-local-focus-border-width: 2px;\n \n /* Shadows */\n --hybrid-datepicker-local-box-shadow: 0 6px 16px 0 var(--hybrid-datepicker-local-shadow-color);\n --hybrid-datepicker-local-input-focus-shadow: 0 0 0 2px rgba(22, 119, 255, 0.2);\n \n /* States */\n --hybrid-datepicker-local-disabled-opacity: 0.5;\n --hybrid-datepicker-local-hover-opacity: 0.8;\n \n /* Animation and transitions */\n --hybrid-datepicker-local-transition-duration: 0.2s;\n --hybrid-datepicker-local-transition-timing: ease-in-out;\n --hybrid-datepicker-local-calendar-animation-duration: 0.15s;\n \n /* Z-index */\n --hybrid-datepicker-local-calendar-z-index: 1000;\n \n /* Icon sizes */\n --hybrid-datepicker-local-icon-size: 16px;\n --hybrid-datepicker-local-arrow-icon-size: 12px;\n \n /* Size variants */\n --hybrid-datepicker-local-small-font-size: 12px;\n --hybrid-datepicker-local-small-padding: 6px 8px;\n --hybrid-datepicker-local-small-height: 32px;\n --hybrid-datepicker-local-small-day-size: 28px;\n \n --hybrid-datepicker-local-medium-font-size: 14px;\n --hybrid-datepicker-local-medium-padding: 8px 12px;\n --hybrid-datepicker-local-medium-height: 36px;\n --hybrid-datepicker-local-medium-day-size: 36px;\n \n --hybrid-datepicker-local-large-font-size: 16px;\n --hybrid-datepicker-local-large-padding: 12px 16px;\n --hybrid-datepicker-local-large-height: 44px;\n --hybrid-datepicker-local-large-day-size: 44px;\n }\n`;\n"]}