@up_si_vale/sivale-componentes-angular 1.0.0 → 1.0.2

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 (94) hide show
  1. package/esm2022/lib/atoms/button/button.component.mjs +55 -0
  2. package/esm2022/lib/atoms/checkbox/checkbox.component.mjs +174 -0
  3. package/esm2022/lib/atoms/date-picker/date-picker.component.mjs +835 -0
  4. package/esm2022/lib/atoms/input/input.component.mjs +218 -0
  5. package/esm2022/lib/atoms/loader/loader.component.mjs +81 -0
  6. package/esm2022/lib/atoms/radio/radio.component.mjs +142 -0
  7. package/esm2022/lib/atoms/textarea/textarea.component.mjs +126 -0
  8. package/esm2022/lib/directives/asset-source.directive.mjs +68 -0
  9. package/esm2022/lib/directives/icon-source.directive.mjs +65 -0
  10. package/esm2022/lib/directives/no-leading-space.directive.mjs +24 -0
  11. package/esm2022/lib/directives/only-letters.directive.mjs +25 -0
  12. package/esm2022/lib/directives/only-number.directive.mjs +21 -0
  13. package/esm2022/lib/directives/rfc.directive.mjs +67 -0
  14. package/esm2022/lib/directives/tooltip.directive.mjs +199 -0
  15. package/esm2022/lib/models/snackbar.models.mjs +2 -0
  16. package/esm2022/lib/molecules/alert/alert.component.mjs +79 -0
  17. package/esm2022/lib/molecules/copy-input/copy-input.component.mjs +46 -0
  18. package/esm2022/lib/molecules/multiselect/multiselect.component.mjs +466 -0
  19. package/esm2022/lib/molecules/option/option.component.mjs +55 -0
  20. package/esm2022/lib/molecules/phone-input/phone-input.component.mjs +64 -0
  21. package/esm2022/lib/molecules/select/select.component.mjs +498 -0
  22. package/esm2022/lib/molecules/snackbar/snackbar.component.mjs +581 -0
  23. package/esm2022/lib/organisms/sidebar/sidebar-icon.component.mjs +91 -0
  24. package/esm2022/lib/organisms/sidebar/sidebar.component.mjs +115 -0
  25. package/esm2022/lib/services/snackbar.service.mjs +96 -0
  26. package/esm2022/lib/tokens/asset-base-url.token.mjs +10 -0
  27. package/esm2022/public-api.mjs +37 -0
  28. package/esm2022/up_si_vale-sivale-componentes-angular.mjs +5 -0
  29. package/fesm2022/up_si_vale-sivale-componentes-angular.mjs +4116 -0
  30. package/fesm2022/up_si_vale-sivale-componentes-angular.mjs.map +1 -0
  31. package/index.d.ts +5 -0
  32. package/lib/atoms/button/button.component.d.ts +20 -0
  33. package/lib/atoms/checkbox/checkbox.component.d.ts +31 -0
  34. package/lib/atoms/date-picker/date-picker.component.d.ts +134 -0
  35. package/lib/atoms/input/input.component.d.ts +35 -0
  36. package/lib/atoms/loader/loader.component.d.ts +10 -0
  37. package/lib/atoms/radio/radio.component.d.ts +25 -0
  38. package/lib/atoms/textarea/textarea.component.d.ts +27 -0
  39. package/lib/directives/asset-source.directive.d.ts +19 -0
  40. package/lib/directives/icon-source.directive.d.ts +18 -0
  41. package/lib/directives/no-leading-space.directive.d.ts +6 -0
  42. package/lib/directives/only-letters.directive.d.ts +7 -0
  43. package/lib/directives/only-number.directive.d.ts +6 -0
  44. package/lib/directives/rfc.directive.d.ts +12 -0
  45. package/lib/directives/tooltip.directive.d.ts +27 -0
  46. package/{src/lib/models/snackbar.models.ts → lib/models/snackbar.models.d.ts} +8 -10
  47. package/lib/molecules/alert/alert.component.d.ts +29 -0
  48. package/lib/molecules/copy-input/copy-input.component.d.ts +14 -0
  49. package/lib/molecules/multiselect/multiselect.component.d.ts +74 -0
  50. package/lib/molecules/option/option.component.d.ts +19 -0
  51. package/lib/molecules/phone-input/phone-input.component.d.ts +12 -0
  52. package/lib/molecules/select/select.component.d.ts +88 -0
  53. package/lib/molecules/snackbar/snackbar.component.d.ts +17 -0
  54. package/lib/organisms/sidebar/sidebar-icon.component.d.ts +8 -0
  55. package/lib/organisms/sidebar/sidebar.component.d.ts +47 -0
  56. package/lib/services/snackbar.service.d.ts +40 -0
  57. package/{src/lib/tokens/asset-base-url.token.ts → lib/tokens/asset-base-url.token.d.ts} +1 -5
  58. package/package.json +39 -28
  59. package/{src/public-api.ts → public-api.d.ts} +3 -15
  60. package/ng-package.json +0 -9
  61. package/src/lib/atoms/button/button.component.html +0 -21
  62. package/src/lib/atoms/button/button.component.scss +0 -242
  63. package/src/lib/atoms/button/button.component.ts +0 -43
  64. package/src/lib/atoms/checkbox/checkbox.component.scss +0 -131
  65. package/src/lib/atoms/checkbox/checkbox.component.ts +0 -130
  66. package/src/lib/atoms/date-picker/date-picker.component.html +0 -295
  67. package/src/lib/atoms/date-picker/date-picker.component.scss +0 -1002
  68. package/src/lib/atoms/date-picker/date-picker.component.ts +0 -942
  69. package/src/lib/atoms/input/input.component.ts +0 -239
  70. package/src/lib/atoms/loader/loader.component.scss +0 -144
  71. package/src/lib/atoms/loader/loader.component.ts +0 -44
  72. package/src/lib/atoms/radio/radio.component.scss +0 -115
  73. package/src/lib/atoms/radio/radio.component.ts +0 -103
  74. package/src/lib/atoms/textarea/textarea.component.ts +0 -155
  75. package/src/lib/directives/asset-source.directive.ts +0 -64
  76. package/src/lib/directives/icon-source.directive.ts +0 -74
  77. package/src/lib/directives/no-leading-space.directive.ts +0 -18
  78. package/src/lib/directives/only-letters.directive.ts +0 -21
  79. package/src/lib/directives/only-number.directive.ts +0 -15
  80. package/src/lib/directives/rfc.directive.ts +0 -60
  81. package/src/lib/directives/tooltip.directive.ts +0 -211
  82. package/src/lib/molecules/copy-input/copy-input.component.html +0 -29
  83. package/src/lib/molecules/copy-input/copy-input.component.scss +0 -101
  84. package/src/lib/molecules/copy-input/copy-input.component.ts +0 -41
  85. package/src/lib/molecules/multiselect/multiselect.component.scss +0 -298
  86. package/src/lib/molecules/multiselect/multiselect.component.ts +0 -487
  87. package/src/lib/molecules/option/option.component.ts +0 -45
  88. package/src/lib/molecules/phone-input/phone-input.component.scss +0 -78
  89. package/src/lib/molecules/phone-input/phone-input.component.ts +0 -43
  90. package/src/lib/molecules/select/select.component.ts +0 -482
  91. package/src/lib/molecules/snackbar/snackbar.component.scss +0 -201
  92. package/src/lib/molecules/snackbar/snackbar.component.ts +0 -321
  93. package/src/lib/services/snackbar.service.ts +0 -103
  94. package/tsconfig.json +0 -31
@@ -1,1002 +0,0 @@
1
- .date-picker-wrapper {
2
- display: flex;
3
- flex-direction: column;
4
- width: 100%;
5
- margin-bottom: 6px;
6
- padding: 0 4px;
7
-
8
- label {
9
- display: block;
10
- margin-bottom: 0.5rem;
11
- font-family: 'Quicksand', sans-serif;
12
- font-weight: 500;
13
- font-size: 14px;
14
- color: #585D61;
15
- }
16
- }
17
-
18
- .date-picker-container {
19
- position: relative;
20
- width: 100%;
21
- }
22
-
23
- .date-picker-input {
24
- display: flex;
25
- align-items: center;
26
- gap: 0.5rem;
27
- width: 100%;
28
- min-height: 44px;
29
- height: 44px;
30
- padding: 0 0.75rem;
31
- border: 1px solid #EAECF5;
32
- box-shadow: 0 1px 2px 0 #A1AFEC66;
33
- border-radius: 8px;
34
- background: white;
35
- cursor: pointer;
36
- transition: all 0.2s ease;
37
- font-family: 'Quicksand', sans-serif;
38
-
39
- &:hover:not(.disabled) {
40
- border-color: #FBD399;
41
- }
42
-
43
- &.open {
44
- border-color: #FBD399;
45
- box-shadow: 0 0 0 4px #FFE8C8, 0 1px 2px 0 #0A0D120D;
46
- }
47
-
48
- &.error {
49
- border-color: #F04438;
50
- }
51
-
52
- &.disabled {
53
- background: #F9FAFB;
54
- cursor: not-allowed;
55
- opacity: 0.6;
56
- }
57
-
58
- .calendar-icon {
59
- color: #A4A7AE;
60
- flex-shrink: 0;
61
- }
62
-
63
- .date-picker-placeholder {
64
- color: #A4A7AE;
65
- font-size: 14px;
66
- flex: 1;
67
- }
68
-
69
- .date-picker-value {
70
- color: #2E353A;
71
- font-size: 14px;
72
- font-weight: 500;
73
- flex: 1;
74
- }
75
- }
76
-
77
- .field-error {
78
- color: #F04438;
79
- font-size: 0.875rem;
80
- margin-top: 0.25rem;
81
- font-family: 'Quicksand', sans-serif;
82
- }
83
-
84
- // Overlay (covers entire viewport)
85
- .date-picker-overlay {
86
- position: fixed;
87
- top: 0;
88
- left: 0;
89
- right: 0;
90
- bottom: 0;
91
- z-index: 9999;
92
- pointer-events: none;
93
- }
94
-
95
- // Dropdown styles
96
- .date-picker-dropdown {
97
- pointer-events: all;
98
- background: white;
99
- border-radius: 12px;
100
- box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
101
- opacity: 0;
102
- transform: translateY(-10px);
103
- transition: all 0.2s ease;
104
- overflow: visible;
105
-
106
- &.open {
107
- opacity: 1;
108
- transform: translateY(0);
109
- }
110
- }
111
-
112
- .date-picker-content {
113
- display: flex;
114
- font-family: 'Quicksand', sans-serif;
115
- overflow: visible;
116
- }
117
-
118
- // Main content column (calendars + footer)
119
- .date-picker-main {
120
- display: flex;
121
- flex-direction: column;
122
- flex: 1;
123
- overflow: visible;
124
- }
125
-
126
- // Sidebar (only for range mode)
127
- .filter-sidebar {
128
- padding: 0.5rem 0.8rem;
129
- min-width: 170px;
130
- display: flex;
131
- flex-direction: column;
132
- border-right: 1px solid #F3F4F6;
133
-
134
- .filter-option {
135
- font-family: Quicksand, sans-serif;
136
- padding: 0.625rem 0.8rem;
137
- color: #6B7280;
138
- cursor: pointer;
139
- transition: all 0.15s ease;
140
- white-space: nowrap;
141
- position: relative;
142
- font-weight: 400;
143
- font-size: 14px;
144
-
145
- &:hover:not(.active) {
146
- background: #F9FAFB;
147
- }
148
-
149
- &.active {
150
- background: #FEF4E6;
151
- color: #F7A733;
152
- font-weight: 500;
153
- border-radius: 6px;
154
- }
155
- }
156
- }
157
-
158
- // Calendars
159
- .calendars-container {
160
- display: flex;
161
- gap: 3rem;
162
- padding: 1rem;
163
- overflow: visible;
164
-
165
- // Single calendar mode - center the calendar
166
- .date-picker-dropdown:not(.range-mode) & {
167
- gap: 0;
168
- justify-content: center;
169
- }
170
- }
171
-
172
- .calendar {
173
- display: flex;
174
- flex-direction: column;
175
- gap: 1rem;
176
- position: relative;
177
- overflow: visible;
178
-
179
- .calendar-header {
180
- display: flex;
181
- align-items: center;
182
- justify-content: space-between;
183
- padding: 0 0.25rem;
184
- margin-bottom: 0.5rem;
185
- position: relative;
186
- overflow: visible;
187
-
188
- .month-year-selector {
189
- position: relative;
190
- flex: 1;
191
- display: flex;
192
- justify-content: center;
193
- }
194
-
195
- .month-year {
196
- font-size: 0.9375rem;
197
- font-weight: 600;
198
- color: #1F2937;
199
- min-width: 160px;
200
- text-align: center;
201
- background: transparent;
202
- border: none;
203
- cursor: pointer;
204
- padding: 0.375rem 0.5rem;
205
- border-radius: 6px;
206
- transition: all 0.15s ease;
207
-
208
- &:hover {
209
- background: #F3F4F6;
210
- }
211
- }
212
-
213
- .nav-button {
214
- display: flex;
215
- align-items: center;
216
- justify-content: center;
217
- width: 28px;
218
- height: 28px;
219
- border: none;
220
- background: transparent;
221
- border-radius: 6px;
222
- cursor: pointer;
223
- color: #6B7280;
224
- transition: all 0.15s ease;
225
- padding: 0;
226
-
227
- &:hover:not(:disabled):not(.disabled) {
228
- background: #F3F4F6;
229
- color: #1F2937;
230
- }
231
-
232
- &.disabled,
233
- &:disabled {
234
- color: #D1D5DB;
235
- cursor: not-allowed;
236
- opacity: 0.4;
237
- }
238
-
239
- svg {
240
- width: 10px;
241
- height: 10px;
242
- }
243
- }
244
-
245
- .nav-button-placeholder {
246
- width: 28px;
247
- height: 28px;
248
- }
249
- }
250
-
251
- // Month/Year Picker Dropdown
252
- .month-year-picker {
253
- position: absolute;
254
- top: 100%;
255
- left: 50%;
256
- transform: translateX(-50%);
257
- margin-top: 0.5rem;
258
- background: white;
259
- border-radius: 8px;
260
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
261
- z-index: 10002;
262
- padding: 1rem;
263
- min-width: 280px;
264
- border: 1px solid #E5E7EB;
265
-
266
- .picker-section {
267
- margin-bottom: 1rem;
268
-
269
- &:last-child {
270
- margin-bottom: 0;
271
- }
272
-
273
- .picker-title {
274
- font-size: 0.75rem;
275
- font-weight: 600;
276
- color: #6B7280;
277
- text-transform: uppercase;
278
- letter-spacing: 0.5px;
279
- margin-bottom: 0.5rem;
280
- }
281
-
282
- .picker-header {
283
- display: flex;
284
- align-items: center;
285
- justify-content: space-between;
286
- margin-bottom: 0.5rem;
287
-
288
- .picker-title {
289
- margin-bottom: 0;
290
- font-size: 0.75rem;
291
- font-weight: 600;
292
- color: #1F2937;
293
- text-transform: none;
294
- letter-spacing: 0;
295
- }
296
-
297
- .year-nav-button {
298
- display: flex;
299
- align-items: center;
300
- justify-content: center;
301
- width: 24px;
302
- height: 24px;
303
- border: none;
304
- background: transparent;
305
- border-radius: 4px;
306
- cursor: pointer;
307
- color: #6B7280;
308
- transition: all 0.15s ease;
309
- padding: 0;
310
-
311
- &:hover:not(:disabled):not(.disabled) {
312
- background: #F3F4F6;
313
- color: #1F2937;
314
- }
315
-
316
- &.disabled,
317
- &:disabled {
318
- color: #D1D5DB;
319
- cursor: not-allowed;
320
- opacity: 0.5;
321
- }
322
-
323
- svg {
324
- width: 10px;
325
- height: 10px;
326
- }
327
- }
328
- }
329
- }
330
-
331
- .months-grid {
332
- display: grid;
333
- grid-template-columns: repeat(4, 1fr);
334
- gap: 0.375rem;
335
-
336
- .month-option {
337
- padding: 0.5rem;
338
- border: 1px solid #E5E7EB;
339
- background: white;
340
- border-radius: 6px;
341
- font-size: 0.75rem;
342
- font-weight: 500;
343
- color: #6B7280;
344
- cursor: pointer;
345
- transition: all 0.15s ease;
346
-
347
- &:hover {
348
- background: #F9FAFB;
349
- border-color: #D1D5DB;
350
- }
351
-
352
- &.active {
353
- background: #F59100;
354
- color: white;
355
- border-color: #F59100;
356
- }
357
-
358
- &.disabled,
359
- &:disabled {
360
- background: #F9FAFB;
361
- color: #D1D5DB;
362
- border-color: #E5E7EB;
363
- cursor: not-allowed;
364
- pointer-events: none;
365
- }
366
- }
367
- }
368
-
369
- .years-grid {
370
- display: grid;
371
- grid-template-columns: repeat(4, 1fr);
372
- gap: 0.375rem;
373
- max-height: 200px;
374
- overflow-y: auto;
375
-
376
- .year-option {
377
- padding: 0.5rem;
378
- border: 1px solid #E5E7EB;
379
- background: white;
380
- border-radius: 6px;
381
- font-size: 0.75rem;
382
- font-weight: 500;
383
- color: #6B7280;
384
- cursor: pointer;
385
- transition: all 0.15s ease;
386
-
387
- &:hover {
388
- background: #F9FAFB;
389
- border-color: #D1D5DB;
390
- }
391
-
392
- &.active {
393
- background: #F59100;
394
- color: white;
395
- border-color: #F59100;
396
- }
397
-
398
- &.disabled,
399
- &:disabled {
400
- background: #F9FAFB;
401
- color: #D1D5DB;
402
- border-color: #E5E7EB;
403
- cursor: not-allowed;
404
- pointer-events: none;
405
- }
406
- }
407
- }
408
- }
409
-
410
- .calendar-grid {
411
- display: grid;
412
- grid-template-columns: repeat(7, 1fr);
413
- gap: 4px 0;
414
-
415
- .weekday-header {
416
- display: flex;
417
- align-items: center;
418
- justify-content: center;
419
- font-size: 0.6875rem;
420
- font-weight: 500;
421
- color: #9CA3AF;
422
- padding: 0.5rem 0;
423
- text-transform: uppercase;
424
- letter-spacing: 0.5px;
425
- }
426
-
427
- .calendar-day {
428
- display: flex;
429
- align-items: center;
430
- justify-content: center;
431
- width: 36px;
432
- height: 36px;
433
- font-size: 0.8125rem;
434
- color: #1F2937;
435
- cursor: pointer;
436
- transition: all 0.15s ease;
437
- position: relative;
438
- font-weight: 400;
439
- border-radius: 0;
440
-
441
- &.other-month {
442
- color: #D1D5DB;
443
- }
444
-
445
- &.today {
446
- font-weight: 600;
447
- color: #F59100;
448
- background: transparent;
449
-
450
- &::after {
451
- content: '';
452
- position: absolute;
453
- bottom: 4px;
454
- left: 50%;
455
- transform: translateX(-50%);
456
- width: 4px;
457
- height: 4px;
458
- background: #F59100;
459
- border-radius: 50%;
460
- }
461
- }
462
-
463
- &:hover:not(.disabled):not(.selected):not(.range-start):not(.range-end):not(.in-range) {
464
- background: #FEF4E6;
465
- border-radius: 50%;
466
- }
467
-
468
- &.in-range:hover:not(.disabled):not(.range-start):not(.range-end) {
469
- position: relative;
470
- background: transparent;
471
-
472
- &::before {
473
- content: '';
474
- position: absolute;
475
- left: 0;
476
- top: 0;
477
- bottom: 0;
478
- right: 0;
479
- background: #FEF4E6;
480
- z-index: -1;
481
- border-radius: 0;
482
- }
483
-
484
- &::after {
485
- content: '';
486
- position: absolute;
487
- left: 50%;
488
- top: 50%;
489
- transform: translate(-50%, -50%);
490
- width: 100%;
491
- height: 100%;
492
- background: #FEF4E6;
493
- border-radius: 50%;
494
- z-index: 0;
495
- }
496
-
497
- span {
498
- position: relative;
499
- z-index: 1;
500
- color: #F59100;
501
- }
502
- }
503
-
504
- &.in-range:not(.disabled):not(.range-start):not(.range-end) {
505
- background: #FEF4E6;
506
- color: #F59100;
507
- border-radius: 0;
508
- }
509
-
510
- // Border radius for in-range days at row edges
511
- &.in-range:not(.disabled):not(.range-start):not(.range-end):nth-child(7n+8) {
512
- border-radius: 50% 0 0 50%;
513
- }
514
-
515
- &.in-range:not(.disabled):not(.range-start):not(.range-end):nth-child(7n+14) {
516
- border-radius: 0 50% 50% 0;
517
- }
518
-
519
- &.in-range:not(.disabled):not(.range-start):not(.range-end):nth-child(7n+8):nth-child(7n+14) {
520
- border-radius: 50%;
521
- }
522
-
523
- &.range-start:not(.disabled) {
524
- position: relative;
525
- background: transparent;
526
- color: white;
527
- font-weight: 600;
528
- z-index: 2;
529
-
530
- &::before {
531
- content: '';
532
- position: absolute;
533
- left: 0;
534
- top: 0;
535
- bottom: 0;
536
- right: 0;
537
- background: #FEF4E6;
538
- z-index: -1;
539
- border-radius: 50% 0 0 50%;
540
- }
541
-
542
- &::after {
543
- content: '';
544
- position: absolute;
545
- left: 50%;
546
- top: 50%;
547
- transform: translate(-50%, -50%);
548
- width: 100%;
549
- height: 100%;
550
- background: #F59100;
551
- border-radius: 50%;
552
- z-index: 1;
553
- }
554
-
555
- span {
556
- position: relative;
557
- z-index: 2;
558
- }
559
-
560
- &.range-end::before {
561
- border-radius: 50%;
562
- }
563
- }
564
-
565
- &.range-end:not(.disabled) {
566
- position: relative;
567
- background: transparent;
568
- color: white;
569
- font-weight: 600;
570
- z-index: 2;
571
-
572
- &::before {
573
- content: '';
574
- position: absolute;
575
- left: 0;
576
- top: 0;
577
- bottom: 0;
578
- right: 0;
579
- background: #FEF4E6;
580
- z-index: -1;
581
- border-radius: 0 50% 50% 0;
582
- }
583
-
584
- &::after {
585
- content: '';
586
- position: absolute;
587
- left: 50%;
588
- top: 50%;
589
- transform: translate(-50%, -50%);
590
- width: 100%;
591
- height: 100%;
592
- background: #F59100;
593
- border-radius: 50%;
594
- z-index: 1;
595
- }
596
-
597
- span {
598
- position: relative;
599
- z-index: 2;
600
- }
601
-
602
- &.range-start::before {
603
- border-radius: 50%;
604
- }
605
- }
606
-
607
- &.range-start.in-range:not(.disabled) {
608
- position: relative;
609
-
610
- &::before {
611
- content: '';
612
- position: absolute;
613
- left: 50%;
614
- top: 0;
615
- bottom: 0;
616
- right: -2px;
617
- background: #FEF4E6;
618
- z-index: -1;
619
- }
620
- }
621
-
622
- &.range-end.in-range:not(.disabled) {
623
- position: relative;
624
-
625
- &::before {
626
- content: '';
627
- position: absolute;
628
- right: 50%;
629
- top: 0;
630
- bottom: 0;
631
- left: -2px;
632
- background: #FEF4E6;
633
- z-index: -1;
634
- }
635
- }
636
-
637
- // Single date selection style
638
- &.selected:not(.range-start):not(.range-end) {
639
- background: #F59100;
640
- color: white;
641
- font-weight: 600;
642
- border-radius: 50%;
643
- }
644
-
645
- &.disabled {
646
- color: #E5E7EB;
647
- cursor: not-allowed;
648
- pointer-events: none;
649
- }
650
- }
651
- }
652
- }
653
-
654
- // Footer (only for range mode)
655
- .footer {
656
- display: flex;
657
- align-items: center;
658
- justify-content: space-between;
659
- padding: 1rem;
660
- border-top: 1px solid #E5E7EB;
661
-
662
- .selected-dates {
663
- display: flex;
664
- align-items: center;
665
- gap: 0.75rem;
666
-
667
- .date-display {
668
- display: flex;
669
- align-items: center;
670
- gap: 0.5rem;
671
- padding: 0.5rem 0.75rem;
672
- background: white;
673
- border: 1px solid #E5E7EB;
674
- border-radius: 6px;
675
- font-size: 0.8125rem;
676
- color: #6B7280;
677
-
678
- svg {
679
- flex-shrink: 0;
680
- color: #9CA3AF;
681
- }
682
-
683
- .date-text {
684
- font-weight: 400;
685
- white-space: nowrap;
686
- user-select: none;
687
- }
688
- }
689
-
690
- .date-separator {
691
- color: #9CA3AF;
692
- font-weight: 400;
693
- font-size: 0.875rem;
694
- }
695
- }
696
-
697
- .action-buttons {
698
- display: flex;
699
- gap: 0.75rem;
700
-
701
- button {
702
- padding: 0.625rem 1.75rem;
703
- border-radius: 8px;
704
- font-size: 0.875rem;
705
- font-weight: 500;
706
- font-family: 'Quicksand', sans-serif;
707
- cursor: pointer;
708
- transition: all 0.15s ease;
709
- border: none;
710
- outline: none;
711
-
712
- &:focus-visible {
713
- outline: 2px solid rgba(245, 145, 0, 0.3);
714
- outline-offset: 2px;
715
- }
716
- }
717
-
718
- .btn-cancel {
719
- background: white;
720
- color: #6B7280;
721
- border: 1px solid #D1D5DB;
722
-
723
- &:hover {
724
- background: #F9FAFB;
725
- border-color: #9CA3AF;
726
- }
727
- }
728
-
729
- .btn-apply {
730
- background: #F59100;
731
- color: white;
732
- border: 1px solid #F59100;
733
-
734
- &:hover {
735
- background: #E08500;
736
- border-color: #E08500;
737
- }
738
-
739
- &:active {
740
- background: #CC7A00;
741
- border-color: #CC7A00;
742
- }
743
- }
744
- }
745
- }
746
-
747
- // Responsive styles
748
- @media (max-width: 768px) {
749
- .date-picker-content {
750
- flex-direction: column;
751
- }
752
-
753
- // Hide filter sidebar on mobile
754
- .filter-sidebar {
755
- display: none;
756
- }
757
-
758
- .calendars-container {
759
- padding: 0.75rem;
760
- gap: 0;
761
- justify-content: center;
762
-
763
- // Hide the second calendar on mobile (for range mode)
764
- .calendar:last-child:not(:first-child) {
765
- display: none;
766
- }
767
- }
768
-
769
- .calendar {
770
- .calendar-header {
771
- .month-year-selector {
772
- flex: 1;
773
- }
774
-
775
- .month-year {
776
- min-width: auto;
777
- font-size: 0.875rem;
778
- padding: 0.25rem 0.375rem;
779
- }
780
-
781
- .nav-button {
782
- width: 28px;
783
- height: 28px;
784
-
785
- svg {
786
- width: 10px;
787
- height: 10px;
788
- }
789
- }
790
-
791
- .nav-button-placeholder {
792
- display: none;
793
- }
794
- }
795
-
796
- .month-year-picker {
797
- min-width: 240px;
798
- padding: 0.75rem;
799
-
800
- .picker-section {
801
- .picker-title {
802
- font-size: 0.7rem;
803
- }
804
- }
805
-
806
- .months-grid {
807
- grid-template-columns: repeat(3, 1fr);
808
- gap: 0.25rem;
809
-
810
- .month-option {
811
- padding: 0.4rem;
812
- font-size: 0.7rem;
813
- }
814
- }
815
-
816
- .years-grid {
817
- grid-template-columns: repeat(3, 1fr);
818
- gap: 0.25rem;
819
- max-height: 150px;
820
-
821
- .year-option {
822
- padding: 0.4rem;
823
- font-size: 0.7rem;
824
- }
825
- }
826
- }
827
-
828
- .calendar-grid {
829
- gap: 2px 0;
830
-
831
- .calendar-day {
832
- width: 30px;
833
- height: 30px;
834
- font-size: 0.75rem;
835
- }
836
-
837
- .weekday-header {
838
- font-size: 0.65rem;
839
- }
840
- }
841
- }
842
-
843
- .footer {
844
- flex-direction: column;
845
- gap: 0.75rem;
846
- padding: 0.75rem;
847
-
848
- .selected-dates {
849
- width: 100%;
850
- justify-content: center;
851
- flex-wrap: wrap;
852
- gap: 0.5rem;
853
-
854
- .date-display {
855
- font-size: 0.7rem;
856
- padding: 0.35rem 0.5rem;
857
-
858
- svg {
859
- width: 12px;
860
- height: 12px;
861
- }
862
- }
863
-
864
- .date-separator {
865
- font-size: 0.7rem;
866
- }
867
- }
868
-
869
- .action-buttons {
870
- width: 100%;
871
- gap: 0.5rem;
872
-
873
- button {
874
- flex: 1;
875
- padding: 0.625rem 0.75rem;
876
- font-size: 0.75rem;
877
- }
878
- }
879
- }
880
-
881
- .date-picker-dropdown {
882
- width: 280px !important;
883
- max-width: calc(100vw - 2rem);
884
- max-height: calc(100vh - 4rem);
885
- overflow-y: auto;
886
-
887
- &.range-mode {
888
- width: 280px !important;
889
- }
890
- }
891
- }
892
-
893
- // Extra small devices
894
- @media (max-width: 480px) {
895
- .calendars-container {
896
- padding: 0.5rem;
897
- }
898
-
899
- .calendar {
900
- .calendar-header {
901
- .month-year {
902
- font-size: 0.8125rem;
903
- padding: 0.2rem 0.3rem;
904
- }
905
-
906
- .nav-button {
907
- width: 26px;
908
- height: 26px;
909
-
910
- svg {
911
- width: 9px;
912
- height: 9px;
913
- }
914
- }
915
- }
916
-
917
- .month-year-picker {
918
- min-width: 220px;
919
- padding: 0.625rem;
920
-
921
- .picker-section {
922
- margin-bottom: 0.75rem;
923
-
924
- .picker-title {
925
- font-size: 0.65rem;
926
- margin-bottom: 0.375rem;
927
- }
928
- }
929
-
930
- .months-grid {
931
- gap: 0.2rem;
932
-
933
- .month-option {
934
- padding: 0.35rem;
935
- font-size: 0.65rem;
936
- }
937
- }
938
-
939
- .years-grid {
940
- gap: 0.2rem;
941
- max-height: 120px;
942
-
943
- .year-option {
944
- padding: 0.35rem;
945
- font-size: 0.65rem;
946
- }
947
- }
948
- }
949
-
950
- .calendar-grid {
951
- gap: 1px 0;
952
-
953
- .weekday-header {
954
- font-size: 0.6rem;
955
- padding: 0.35rem 0;
956
- }
957
-
958
- .calendar-day {
959
- width: 28px;
960
- height: 28px;
961
- font-size: 0.7rem;
962
- }
963
- }
964
- }
965
-
966
- .footer {
967
- padding: 0.5rem;
968
- gap: 0.5rem;
969
-
970
- .selected-dates {
971
- gap: 0.4rem;
972
-
973
- .date-display {
974
- font-size: 0.65rem;
975
- padding: 0.3rem 0.4rem;
976
-
977
- svg {
978
- width: 11px;
979
- height: 11px;
980
- }
981
- }
982
-
983
- .date-separator {
984
- font-size: 0.65rem;
985
- }
986
- }
987
-
988
- .action-buttons {
989
- gap: 0.4rem;
990
-
991
- button {
992
- padding: 0.5rem 0.625rem;
993
- font-size: 0.7rem;
994
- }
995
- }
996
- }
997
-
998
- .date-picker-dropdown {
999
- width: 260px !important;
1000
- max-width: calc(100vw - 1rem);
1001
- }
1002
- }