@idds/styles 1.0.26

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 (81) hide show
  1. package/README.md +147 -0
  2. package/package.json +55 -0
  3. package/src/colors/brands/bgn.css +29 -0
  4. package/src/colors/brands/bkn.css +32 -0
  5. package/src/colors/brands/inagov.css +39 -0
  6. package/src/colors/brands/inaku.css +28 -0
  7. package/src/colors/brands/inapas.css +28 -0
  8. package/src/colors/brands/lan.css +38 -0
  9. package/src/colors/brands/pan-rb.css +30 -0
  10. package/src/colors/index.css +11 -0
  11. package/src/colors/primitives/index.css +150 -0
  12. package/src/colors/product/index.css +205 -0
  13. package/src/colors/utilities/index.css +77 -0
  14. package/src/components/accordion-card.css +99 -0
  15. package/src/components/accordion.css +120 -0
  16. package/src/components/action-dropdown.css +140 -0
  17. package/src/components/alert.css +180 -0
  18. package/src/components/avatar.css +182 -0
  19. package/src/components/badge.css +244 -0
  20. package/src/components/bottom-sheet.css +61 -0
  21. package/src/components/breadcrumb.css +94 -0
  22. package/src/components/button-group.css +130 -0
  23. package/src/components/button.css +233 -0
  24. package/src/components/card.css +488 -0
  25. package/src/components/carousel.css +100 -0
  26. package/src/components/chart.css +81 -0
  27. package/src/components/checkbox.css +211 -0
  28. package/src/components/chip.css +228 -0
  29. package/src/components/collapse.css +84 -0
  30. package/src/components/confirmation.css +131 -0
  31. package/src/components/date-picker.css +1063 -0
  32. package/src/components/divider.css +174 -0
  33. package/src/components/drawer.css +757 -0
  34. package/src/components/dropdown.css +369 -0
  35. package/src/components/field-input-table.css +347 -0
  36. package/src/components/file-upload.css +357 -0
  37. package/src/components/input-search.css +428 -0
  38. package/src/components/linear-progress-indicator.css +34 -0
  39. package/src/components/modal.css +497 -0
  40. package/src/components/month-picker.css +325 -0
  41. package/src/components/multiple-choice-grid.css +383 -0
  42. package/src/components/pagination.css +415 -0
  43. package/src/components/password-input.css +472 -0
  44. package/src/components/phone-input.css +412 -0
  45. package/src/components/progress-bar.css +447 -0
  46. package/src/components/radio-input.css +263 -0
  47. package/src/components/reset.css +431 -0
  48. package/src/components/select-dropdown.css +663 -0
  49. package/src/components/select-option.css +217 -0
  50. package/src/components/skeleton.css +488 -0
  51. package/src/components/spinner.css +450 -0
  52. package/src/components/stepper.css +209 -0
  53. package/src/components/tab-horizontal.css +278 -0
  54. package/src/components/tab-vertical.css +261 -0
  55. package/src/components/table-progress-bar.css +48 -0
  56. package/src/components/table.css +538 -0
  57. package/src/components/text-area.css +216 -0
  58. package/src/components/text-field.css +275 -0
  59. package/src/components/theme-toggle.css +259 -0
  60. package/src/components/time-picker.css +436 -0
  61. package/src/components/toast.css +245 -0
  62. package/src/components/toggle.css +223 -0
  63. package/src/components/tooltip.css +452 -0
  64. package/src/components/year-picker.css +423 -0
  65. package/src/index.css +3 -0
  66. package/src/tailwind/css/bgn.css +43 -0
  67. package/src/tailwind/css/bkn.css +37 -0
  68. package/src/tailwind/css/idds.css +231 -0
  69. package/src/tailwind/css/inagov.css +33 -0
  70. package/src/tailwind/css/inaku.css +33 -0
  71. package/src/tailwind/css/inapas.css +33 -0
  72. package/src/tailwind/css/lan.css +43 -0
  73. package/src/tailwind/css/pan-rb.css +35 -0
  74. package/src/tailwind/ts/bgn.ts +20 -0
  75. package/src/tailwind/ts/bkn.ts +38 -0
  76. package/src/tailwind/ts/idds.ts +240 -0
  77. package/src/tailwind/ts/inagov.ts +35 -0
  78. package/src/tailwind/ts/inaku.ts +35 -0
  79. package/src/tailwind/ts/inapas.ts +35 -0
  80. package/src/tailwind/ts/lan.ts +45 -0
  81. package/src/tailwind/ts/panrb.ts +37 -0
@@ -0,0 +1,1063 @@
1
+ /* =========================== */
2
+ /* date picker STYLES */
3
+ /* =========================== */
4
+
5
+ .ina-date-picker {
6
+ position: relative;
7
+ display: inline-block;
8
+ background-color: inherit;
9
+ }
10
+
11
+ /* Trigger Button - Same layout as TextField wrapper */
12
+ .ina-date-picker__trigger {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: var(--ina-spacing-2);
16
+ width: 100%;
17
+ padding: var(--ina-spacing-2) var(--ina-spacing-3);
18
+ border: 1px solid var(--ina-stroke-primary);
19
+ border-radius: var(--ina-radius-lg);
20
+ background-color: var(--ina-background-primary);
21
+ cursor: pointer;
22
+ transition: all var(--ina-transition-base);
23
+ }
24
+
25
+ /* Size variants */
26
+ .ina-date-picker__trigger--size-sm {
27
+ /* Desktop >= 768px */
28
+ height: 40px;
29
+ }
30
+
31
+ .ina-date-picker__trigger--size-md {
32
+ /* Desktop >= 768px */
33
+ height: 44px;
34
+ }
35
+
36
+ .ina-date-picker__trigger--size-lg {
37
+ /* Desktop >= 768px */
38
+ height: 48px;
39
+ }
40
+
41
+ /* Responsive adjustments */
42
+ @media (max-width: 767px) {
43
+ .ina-date-picker__trigger--size-sm {
44
+ height: 36px;
45
+ }
46
+
47
+ .ina-date-picker__trigger--size-md {
48
+ height: 40px;
49
+ }
50
+
51
+ .ina-date-picker__trigger--size-lg {
52
+ height: 44px;
53
+ }
54
+ }
55
+
56
+ .ina-date-picker__trigger:hover {
57
+ background-color: var(--ina-neutral-50);
58
+ }
59
+
60
+ .ina-date-picker__trigger:focus {
61
+ box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px #f3f3f3;
62
+ outline: none;
63
+ background-color: var(--ina-background-primary);
64
+ border-color: var(--ina-content-primary);
65
+ }
66
+
67
+ .ina-date-picker__trigger--disabled {
68
+ background-color: var(--ina-background-secondary);
69
+ cursor: not-allowed;
70
+ opacity: 0.6;
71
+ }
72
+
73
+ .ina-date-picker__trigger--disabled:hover {
74
+ background-color: var(--ina-background-secondary);
75
+ border-color: var(--ina-stroke-primary);
76
+ }
77
+
78
+ .ina-date-picker__trigger--readonly {
79
+ background-color: var(--ina-background-secondary);
80
+ cursor: default;
81
+ }
82
+
83
+ .ina-date-picker__trigger--readonly:hover {
84
+ background-color: var(--ina-background-secondary);
85
+ border-color: var(--ina-stroke-primary);
86
+ }
87
+
88
+ /* Trigger Icon - Same as prefix icon in TextField */
89
+ .ina-date-picker__trigger-icon {
90
+ color: var(--ina-content-tertiary);
91
+ flex-shrink: 0;
92
+ }
93
+
94
+ /* Trigger Text - Same as input field in TextField */
95
+ .ina-date-picker__trigger-text {
96
+ flex: 1;
97
+ font-size: var(--ina-font-sm);
98
+ font-weight: var(--ina-font-normal);
99
+ color: var(--ina-content-primary);
100
+ white-space: nowrap;
101
+ overflow: hidden;
102
+ text-overflow: ellipsis;
103
+ text-align: left;
104
+ }
105
+
106
+ .ina-date-picker__trigger-text--placeholder {
107
+ color: var(--ina-content-tertiary);
108
+ font-size: var(--ina-font-sm);
109
+ }
110
+
111
+ /* Clear Button - Same styling as TextField */
112
+ .ina-date-picker__clear-button {
113
+ flex-shrink: 0;
114
+ background: none;
115
+ border: none;
116
+ cursor: pointer;
117
+ padding: 0;
118
+ display: inline-flex;
119
+ align-items: center;
120
+ justify-content: center;
121
+ color: var(--ina-content-dark-secondary);
122
+ transition: color var(--ina-transition-base);
123
+ }
124
+
125
+ .ina-date-picker__clear-button:hover:not(:disabled) {
126
+ color: var(--ina-content-secondary);
127
+ }
128
+
129
+ .ina-date-picker__clear-button:disabled {
130
+ cursor: not-allowed;
131
+ opacity: 0.5;
132
+ }
133
+
134
+ .ina-date-picker__clear-icon {
135
+ width: 16px;
136
+ height: 16px;
137
+ }
138
+
139
+ /* Calendar Panel */
140
+ .ina-date-picker__panel {
141
+ position: absolute;
142
+ z-index: 10004; /* Higher than YearPicker panel */
143
+ top: 100%;
144
+ left: 0;
145
+ margin-top: var(--ina-spacing-1);
146
+ background-color: var(--ina-background-primary);
147
+ border: 1px solid var(--ina-stroke-primary);
148
+ border-radius: var(--ina-radius-xl);
149
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1),
150
+ 0 10px 10px -5px rgba(0, 0, 0, 0.04);
151
+ padding: var(--ina-spacing-4);
152
+ animation: date-picker-panel-fade-in 0.15s ease-out;
153
+ /* Width and height follow content */
154
+ width: fit-content;
155
+ height: fit-content;
156
+ min-width: 280px; /* Minimum width to ensure calendar is readable */
157
+ max-height: 440px; /* Maximum height as requested */
158
+ /* Ensure panel content is solid */
159
+ backdrop-filter: none;
160
+ -webkit-backdrop-filter: none;
161
+ /* Ensure panel is not clipped by parent containers */
162
+ isolation: isolate;
163
+ /* Allow vertical scrolling if content exceeds max-height */
164
+ overflow-y: auto;
165
+ overflow-x: visible;
166
+ }
167
+
168
+ @keyframes date-picker-panel-fade-in {
169
+ from {
170
+ opacity: 0;
171
+ transform: translateY(-4px);
172
+ }
173
+ to {
174
+ opacity: 1;
175
+ transform: translateY(0);
176
+ }
177
+ }
178
+
179
+ /* Panel Positioning */
180
+ .ina-date-picker__panel--bottom {
181
+ top: 100%;
182
+ margin-top: var(--ina-spacing-1);
183
+ }
184
+
185
+ .ina-date-picker__panel--top {
186
+ bottom: 100%;
187
+ margin-bottom: var(--ina-spacing-1);
188
+ }
189
+
190
+ .ina-date-picker__panel--left {
191
+ right: 100%;
192
+ margin-right: var(--ina-spacing-1);
193
+ }
194
+
195
+ .ina-date-picker__panel--right {
196
+ left: 100%;
197
+ margin-left: var(--ina-spacing-1);
198
+ }
199
+
200
+ /* Dynamic right positioning to prevent overflow */
201
+ .ina-date-picker__panel--right-aligned {
202
+ left: auto !important;
203
+ right: 0;
204
+ }
205
+
206
+ /* Panel Content */
207
+ .ina-date-picker__panel-content {
208
+ display: flex;
209
+ flex-direction: column;
210
+ gap: var(--ina-spacing-4);
211
+ /* Ensure content fits naturally */
212
+ width: fit-content;
213
+ height: fit-content;
214
+ /* Allow content to overflow if needed */
215
+ overflow: visible;
216
+ min-height: 0; /* Allow flex shrinking */
217
+ /* Prevent stretching beyond viewport */
218
+ max-width: 100%;
219
+ }
220
+
221
+ .ina-date-picker__panel-content--responsive {
222
+ flex-direction: column;
223
+ }
224
+
225
+ /* Single column layout for single mode */
226
+ .ina-date-picker__panel-content--single {
227
+ flex-direction: column;
228
+ }
229
+
230
+ /* Dual column layout for range/multiple mode */
231
+ .ina-date-picker__panel-content--dual {
232
+ flex-direction: column;
233
+ }
234
+
235
+ .ina-date-picker__day.ina-date-picker__day--other-month.ina-date-picker__day--range-in.ina-date-picker__day--in-range {
236
+ color: var(--ina-content-tertiary) !important;
237
+ }
238
+
239
+ @media (min-width: 1280px) {
240
+ .ina-date-picker__panel-content--responsive {
241
+ flex-direction: row;
242
+ }
243
+
244
+ .ina-date-picker__panel-content--dual {
245
+ flex-direction: row;
246
+ /* Ensure dual panel doesn't exceed viewport width */
247
+ max-width: 100%;
248
+ width: fit-content;
249
+ /* Prevent stretching */
250
+ align-items: flex-start;
251
+ /* Prevent content from stretching vertically */
252
+ align-content: flex-start;
253
+ }
254
+
255
+ /* Limit calendar container width in dual mode */
256
+ .ina-date-picker__panel-content--dual .ina-date-picker__calendar-container {
257
+ flex: 0 0 auto; /* Don't grow or shrink, use auto basis */
258
+ width: auto; /* Let content determine width */
259
+ min-width: 280px; /* Minimum readable width */
260
+ max-width: calc(
261
+ 50% - var(--ina-spacing-2)
262
+ ); /* Each calendar takes max 50% minus gap */
263
+ }
264
+
265
+ /* Limit calendar width in dual mode */
266
+ .ina-date-picker__panel-content--dual .ina-date-picker__calendar {
267
+ flex: 0 0 auto; /* Don't grow or shrink, use auto basis */
268
+ width: auto; /* Let content determine width */
269
+ min-width: 280px; /* Minimum readable width */
270
+ max-width: 100%; /* Don't exceed container */
271
+ /* Prevent calendar from stretching vertically */
272
+ height: fit-content;
273
+ }
274
+ }
275
+
276
+ @media (max-width: 1279px) {
277
+ /* Hide second panel on mobile and tablet (below 1280px) */
278
+ .ina-date-picker__calendar:last-child {
279
+ display: none;
280
+ }
281
+
282
+ /* Ensure dual panel layout stays vertical on mobile and tablet */
283
+ .ina-date-picker__panel-content--dual {
284
+ flex-direction: column;
285
+ }
286
+ }
287
+
288
+ .ina-date-picker__calendar-container {
289
+ flex: 1;
290
+ min-width: 0; /* Allow flex shrinking */
291
+ }
292
+
293
+ .ina-date-picker__calendar {
294
+ flex: 1;
295
+ min-width: 0; /* Allow flex shrinking */
296
+ }
297
+
298
+ /* Calendar Navigation */
299
+ .ina-date-picker__calendar-header {
300
+ display: flex;
301
+ align-items: center;
302
+ justify-content: space-between;
303
+ margin-bottom: var(--ina-spacing-3);
304
+ position: relative;
305
+ min-height: 40px; /* Ensure consistent height */
306
+ }
307
+
308
+ .ina-date-picker__calendar-title {
309
+ font-size: var(--ina-font-lg);
310
+ font-weight: var(--ina-font-semibold);
311
+ color: var(--ina-content-primary);
312
+ }
313
+
314
+ .ina-date-picker__nav-button {
315
+ display: flex;
316
+ align-items: center;
317
+ justify-content: center;
318
+ padding: var(--ina-spacing-1);
319
+ border: none;
320
+ background-color: transparent;
321
+ color: var(--ina-text-secondary);
322
+ cursor: pointer;
323
+ border-radius: var(--ina-radius-base);
324
+ transition: all var(--ina-transition-fast);
325
+ }
326
+
327
+ .ina-date-picker__nav-button:hover {
328
+ background-color: var(--ina-background-tertiary);
329
+ color: var(--ina-content-primary);
330
+ }
331
+
332
+ .ina-date-picker__nav-icon {
333
+ color: inherit;
334
+ }
335
+
336
+ /* Ensure next chevron visible in single mode */
337
+ .ina-date-picker__panel-content--single
338
+ .ina-date-picker__calendar-header
339
+ .ina-date-picker__nav-button:last-child {
340
+ display: inline-flex;
341
+ }
342
+
343
+ /* Calendar Grid */
344
+ .ina-date-picker__calendar-grid {
345
+ display: grid;
346
+ grid-template-columns: repeat(7, 1fr);
347
+ gap: 0 !important;
348
+ }
349
+
350
+ .ina-date-picker__day-header {
351
+ display: flex;
352
+ align-items: center;
353
+ justify-content: center;
354
+ padding: var(--ina-spacing-2);
355
+ font-size: var(--ina-font-xs);
356
+ font-weight: var(--ina-font-medium);
357
+ color: var(--ina-content-tertiary);
358
+ text-align: center;
359
+ }
360
+
361
+ .ina-date-picker__day-wrapper {
362
+ position: relative;
363
+ display: flex;
364
+ flex-direction: column;
365
+ align-items: center;
366
+ justify-content: center;
367
+ }
368
+
369
+ .ina-date-picker__today-label {
370
+ font-size: 8px;
371
+ font-weight: var(--ina-font-normal);
372
+ color: var(--ina-content-primary);
373
+ line-height: 1;
374
+ margin-bottom: 2px;
375
+ position: absolute;
376
+ top: -10px;
377
+ white-space: nowrap;
378
+ }
379
+
380
+ .ina-date-picker__today-label--selected {
381
+ color: var(--ina-neutral-25, #ffffff);
382
+ }
383
+
384
+ .ina-date-picker__day {
385
+ display: flex;
386
+ align-items: center;
387
+ justify-content: center;
388
+ padding: 0;
389
+ font-size: var(--ina-font-xs);
390
+ font-weight: var(--ina-font-medium);
391
+ color: var(--ina-content-primary);
392
+ background-color: var(--ina-background-primary);
393
+ cursor: pointer;
394
+ border: none;
395
+ border-radius: var(--ina-radius-lg);
396
+ transition: all var(--ina-transition-fast);
397
+ height: 40px;
398
+ width: 40px;
399
+ }
400
+
401
+ .ina-date-picker__day:hover {
402
+ background-color: var(--ina-background-tertiary);
403
+ }
404
+
405
+ .ina-date-picker__day--selected {
406
+ background-color: var(--ina-content-primary);
407
+ color: var(--ina-white);
408
+ border-radius: var(--ina-radius-lg);
409
+ }
410
+
411
+ .ina-date-picker__day--selected:hover {
412
+ background-color: var(--ina-content-primary);
413
+ }
414
+
415
+ .ina-date-picker__day--range-start {
416
+ background-color: var(--ina-content-primary) !important;
417
+ color: var(--ina-white) !important;
418
+ border-radius: var(--ina-radius-lg);
419
+ }
420
+
421
+ .ina-date-picker__day--range-end {
422
+ background-color: var(--ina-content-primary) !important;
423
+ color: var(--ina-white) !important;
424
+
425
+ border-radius: var(--ina-radius-lg);
426
+ }
427
+
428
+ .ina-date-picker__day--range-in {
429
+ background-color: var(--ina-background-tertiary) !important;
430
+ color: var(--ina-text-primary) !important;
431
+ border-radius: 0;
432
+ }
433
+
434
+ .ina-date-picker__day--start {
435
+ background-color: var(--ina-content-primary);
436
+ color: var(--ina-white);
437
+ border-radius: var(--ina-radius-lg);
438
+ }
439
+
440
+ .ina-date-picker__day--end {
441
+ background-color: var(--ina-content-primary);
442
+ border-radius: var(--ina-radius-lg);
443
+ }
444
+
445
+ .ina-date-picker__day--in-range {
446
+ background-color: var(--ina-background-tertiary);
447
+ border-radius: 0;
448
+ }
449
+
450
+ .ina-date-picker__day--disabled {
451
+ color: var(--ina-content-secondary);
452
+ cursor: not-allowed;
453
+ background-color: var(--ina-background-secondary);
454
+ }
455
+
456
+ .ina-date-picker__day--disabled:hover {
457
+ opacity: 0.4;
458
+ }
459
+
460
+ .ina-date-picker__day--today {
461
+ font-weight: 700;
462
+ }
463
+
464
+ .ina-date-picker__day--other-month {
465
+ color: var(--ina-content-tertiary);
466
+ }
467
+
468
+ /* Month/Year Selector */
469
+ .ina-date-picker__month-selector {
470
+ display: flex;
471
+ align-items: center;
472
+ justify-content: space-between;
473
+ margin-bottom: var(--ina-spacing-3);
474
+ }
475
+
476
+ .ina-date-picker__month-text {
477
+ font-size: var(--ina-font-base);
478
+ font-weight: var(--ina-font-semibold);
479
+ color: var(--ina-content-primary);
480
+ cursor: pointer;
481
+ padding: var(--ina-spacing-1) var(--ina-spacing-2);
482
+ border-radius: var(--ina-radius-base);
483
+ transition: all var(--ina-transition-fast);
484
+ }
485
+
486
+ .ina-date-picker__month-text:hover {
487
+ background-color: var(--ina-background-tertiary);
488
+ }
489
+
490
+ /* Range Display */
491
+ .ina-date-picker__range-display {
492
+ border-top: 1px solid var(--ina-stroke-primary);
493
+ padding-top: var(--ina-spacing-3);
494
+ margin-top: var(--ina-spacing-3);
495
+ }
496
+
497
+ .ina-date-picker__range-text {
498
+ font-size: var(--ina-font-sm);
499
+ color: var(--ina-text-secondary);
500
+ text-align: center;
501
+ }
502
+
503
+ /* Disabled State */
504
+ .ina-date-picker--disabled .ina-date-picker__trigger {
505
+ background-color: var(--ina-background-secondary);
506
+ cursor: not-allowed;
507
+ opacity: 0.6;
508
+ }
509
+
510
+ .ina-date-picker--disabled .ina-date-picker__trigger:hover {
511
+ background-color: var(--ina-background-secondary);
512
+ border-color: var(--ina-stroke-primary);
513
+ }
514
+
515
+ /* Focus Visible */
516
+ .ina-date-picker__trigger:focus-visible {
517
+ outline: 2px solid var(--ina-content-primary);
518
+ outline-offset: 2px;
519
+ }
520
+
521
+ /* High Contrast Mode */
522
+ @media (prefers-contrast: high) {
523
+ .ina-date-picker__trigger,
524
+ .ina-date-picker__panel {
525
+ border-width: 2px;
526
+ }
527
+
528
+ .ina-date-picker__trigger:focus {
529
+ outline-width: 3px;
530
+ }
531
+ }
532
+
533
+ /* Reduced Motion */
534
+ @media (prefers-reduced-motion: reduce) {
535
+ .ina-date-picker__trigger,
536
+ .ina-date-picker__day,
537
+ .ina-date-picker__nav-button {
538
+ transition: none;
539
+ }
540
+
541
+ .ina-date-picker__panel {
542
+ animation: none;
543
+ }
544
+ }
545
+
546
+ /* Responsive Design */
547
+ @media (max-width: 640px) {
548
+ .ina-date-picker__trigger--size-sm {
549
+ height: 32px;
550
+ }
551
+
552
+ .ina-date-picker__trigger--size-md {
553
+ height: 36px;
554
+ }
555
+
556
+ .ina-date-picker__trigger--size-lg {
557
+ height: 40px;
558
+ }
559
+ .ina-date-picker__dropdown-panel {
560
+ min-width: 280px;
561
+ }
562
+ /* Trigger adjustments */
563
+ .ina-date-picker__trigger {
564
+ padding: 0.375rem var(--ina-spacing-2); /* 6px 8px */
565
+ gap: 0.375rem; /* 6px */
566
+ }
567
+
568
+ .ina-date-picker__trigger-icon {
569
+ width: 18px;
570
+ height: 18px;
571
+ }
572
+
573
+ .ina-date-picker__trigger-text {
574
+ font-size: var(--ina-font-xs);
575
+ }
576
+
577
+ .ina-date-picker__trigger-text--placeholder {
578
+ font-size: var(--ina-font-xs);
579
+ }
580
+
581
+ .ina-date-picker__clear-icon {
582
+ width: 14px;
583
+ height: 14px;
584
+ }
585
+
586
+ /* Panel adjustments */
587
+ .ina-date-picker__panel {
588
+ position: absolute !important;
589
+ top: 100% !important;
590
+ left: 0 !important;
591
+ margin-top: var(--ina-spacing-1) !important;
592
+ width: calc(100vw - 2rem) !important;
593
+ max-width: 100% !important;
594
+ padding: var(--ina-spacing-3) !important;
595
+ max-height: 420px !important; /* Consistent max-height */
596
+ overflow-y: auto;
597
+ }
598
+
599
+ .ina-date-picker__panel-content {
600
+ gap: var(--ina-spacing-3);
601
+ }
602
+
603
+ .ina-date-picker__panel-content--responsive {
604
+ flex-direction: column;
605
+ }
606
+
607
+ /* Calendar header adjustments */
608
+ .ina-date-picker__calendar-header {
609
+ margin-bottom: var(--ina-spacing-2);
610
+ min-height: 36px;
611
+ padding: 0 var(--ina-spacing-1);
612
+ }
613
+
614
+ .ina-date-picker__nav-button {
615
+ padding: var(--ina-spacing-1);
616
+ min-width: 32px;
617
+ min-height: 32px;
618
+ }
619
+
620
+ .ina-date-picker__nav-icon {
621
+ width: 18px;
622
+ height: 18px;
623
+ }
624
+
625
+ .ina-date-picker__header-controls {
626
+ gap: 0.375rem; /* 6px */
627
+ }
628
+
629
+ .ina-date-picker__day-header {
630
+ padding: var(--ina-spacing-1);
631
+ font-size: 0.625rem; /* 10px */
632
+ font-weight: var(--ina-font-medium);
633
+ min-height: 28px;
634
+ }
635
+
636
+ .ina-date-picker__day {
637
+ padding: var(--ina-spacing-1);
638
+ font-size: var(--ina-font-2xs);
639
+ width: 32px !important;
640
+ height: 32px !important;
641
+ }
642
+
643
+ /* Calendar title adjustments */
644
+ .ina-date-picker__calendar-title {
645
+ font-size: var(--ina-font-base);
646
+ }
647
+
648
+ /* Apply button adjustments */
649
+ .ina-date-picker__apply-container {
650
+ margin-top: var(--ina-spacing-2);
651
+ padding-top: var(--ina-spacing-2);
652
+ }
653
+
654
+ .ina-date-picker__apply-button {
655
+ padding: var(--ina-spacing-2);
656
+ font-size: var(--ina-font-2xs);
657
+ height: 36px;
658
+ }
659
+
660
+ /* Hide second calendar panel on mobile for range/multiple modes */
661
+ .ina-date-picker__calendar:last-child {
662
+ display: none;
663
+ }
664
+
665
+ /* Next month header adjustments */
666
+ .ina-date-picker__next-month-header {
667
+ margin-bottom: var(--ina-spacing-2);
668
+ min-height: 36px;
669
+ }
670
+
671
+ .ina-date-picker__next-month-controls {
672
+ gap: 0.375rem; /* 6px */
673
+ }
674
+
675
+ /* MonthPicker and YearPicker adjustments in DatePicker context */
676
+ .ina-date-picker__dropdown-container .ina-month-picker__trigger,
677
+ .ina-date-picker__dropdown-container .ina-year-picker__trigger {
678
+ height: 28px;
679
+ padding: var(--ina-spacing-1) 0.375rem !important; /* 4px 6px */
680
+ font-size: var(--ina-font-xs) !important;
681
+ min-width: 45px !important;
682
+ }
683
+
684
+ .ina-date-picker__dropdown-container .ina-month-picker__trigger-text,
685
+ .ina-date-picker__dropdown-container .ina-year-picker__trigger-text {
686
+ font-size: var(--ina-font-xs) !important;
687
+ font-weight: var(--ina-font-medium);
688
+ }
689
+ }
690
+
691
+ /* Tablet adjustments */
692
+ @media (min-width: 641px) and (max-width: 1279px) {
693
+ .ina-date-picker__panel {
694
+ max-width: max-content !important;
695
+ padding: 0.875rem !important; /* 14px */
696
+ }
697
+
698
+ .ina-date-picker__day-header {
699
+ font-size: var(--ina-font-xs);
700
+ padding: 0.375rem; /* 6px */
701
+ }
702
+
703
+ .ina-date-picker__calendar-header {
704
+ margin-bottom: var(--ina-spacing-3);
705
+ }
706
+
707
+ /* Ensure second panel is hidden on tablet */
708
+ .ina-date-picker__calendar:last-child {
709
+ display: none;
710
+ }
711
+ }
712
+
713
+ /* Desktop XL: Show both calendar panels for range/multiple modes (>= 1280px) */
714
+ @media (min-width: 1280px) {
715
+ .ina-date-picker__calendar:last-child {
716
+ display: block;
717
+ }
718
+
719
+ /* Ensure all chevrons are visible in dual panel mode */
720
+ .ina-date-picker__panel-content--dual
721
+ .ina-date-picker__calendar-container
722
+ .ina-date-picker__calendar-header
723
+ .ina-date-picker__nav-button:last-child {
724
+ display: inline-flex;
725
+ }
726
+
727
+ /* Ensure panel width is appropriate for dual mode */
728
+ /* When panel contains dual content, limit its width */
729
+ .ina-date-picker__panel {
730
+ max-width: calc(100vw - 2rem); /* Prevent exceeding viewport */
731
+ }
732
+ }
733
+
734
+ /* Dark Mode Support */
735
+ /* [data-theme='dark'] .ina-date-picker__trigger {
736
+ background-color: var(--ina-background-primary);
737
+ border-color: var(--ina-stroke-primary);
738
+ }
739
+
740
+ [data-theme='dark'] .ina-date-picker__trigger:hover {
741
+ background-color: var(--ina-background-secondary);
742
+ }
743
+
744
+ [data-theme='dark'] .ina-date-picker__trigger:focus {
745
+ box-shadow: 0 0 0 2px var(--ina-primary-50);
746
+ }
747
+
748
+ [data-theme='dark'] .ina-date-picker__panel {
749
+ background-color: var(--ina-background-primary);
750
+ border-color: var(--ina-stroke-primary);
751
+ }
752
+
753
+ [data-theme='dark'] .ina-date-picker__day {
754
+ background-color: var(--ina-background-primary);
755
+ color: var(--ina-content-primary);
756
+ }
757
+
758
+ [data-theme='dark'] .ina-date-picker__day:hover {
759
+ background-color: var(--ina-background-tertiary);
760
+ }
761
+
762
+ [data-theme='dark'] .ina-date-picker__day--selected {
763
+ background-color: var(--ina-content-primary);
764
+ color: var(--ina-white);
765
+ }
766
+
767
+ [data-theme='dark'] .ina-date-picker__day--range-start,
768
+ [data-theme='dark'] .ina-date-picker__day--range-end {
769
+ background-color: var(--ina-content-primary) !important;
770
+ color: var(--ina-white) !important;
771
+ }
772
+
773
+ [data-theme='dark'] .ina-date-picker__day--range-in {
774
+ background-color: var(--ina-primary-200) !important;
775
+ color: var(--ina-primary-800) !important;
776
+ }
777
+
778
+ [data-theme='dark'] .ina-date-picker__day--in-range {
779
+ background-color: var(--ina-primary-200);
780
+ }
781
+
782
+ [data-theme='dark'] .ina-date-picker__day--disabled {
783
+ color: var(--ina-content-tertiary);
784
+ opacity: 0.4;
785
+ background-color: var(--ina-background-secondary);
786
+ }
787
+
788
+ [data-theme='dark'] .ina-date-picker__day--disabled:hover {
789
+ background-color: var(--ina-background-secondary);
790
+ opacity: 0.4;
791
+ }
792
+
793
+ [data-theme='dark'] .ina-date-picker__apply-container {
794
+ border-top-color: var(--ina-stroke-primary);
795
+ }
796
+
797
+ [data-theme='dark'] .ina-date-picker__apply-button {
798
+ background-color: var(--ina-content-primary);
799
+ color: var(--ina-white);
800
+ }
801
+
802
+ [data-theme='dark'] .ina-date-picker__apply-button:hover:not(:disabled) {
803
+ background-color: var(--ina-text-secondary);
804
+ }
805
+
806
+ [data-theme='dark'] .ina-date-picker__apply-button:disabled {
807
+ background-color: var(--ina-stroke-primary);
808
+ color: var(--ina-content-tertiary);
809
+ }
810
+
811
+ [data-theme='dark'] .ina-date-picker__cancel-button {
812
+ background-color: var(--ina-background-secondary);
813
+ color: var(--ina-text-secondary);
814
+ border-color: var(--ina-stroke-primary);
815
+ }
816
+
817
+ [data-theme='dark'] .ina-date-picker__cancel-button:hover {
818
+ background-color: var(--ina-background-tertiary);
819
+ color: var(--ina-content-primary);
820
+ border-color: var(--ina-stroke-secondary);
821
+ }
822
+
823
+ /* =========================== */
824
+ /* DROPDOWN COMPONENTS */
825
+ /* =========================== */
826
+
827
+ /* Dropdown trigger buttons */
828
+ .ina-date-picker__dropdown-trigger {
829
+ padding: var(--ina-spacing-1) var(--ina-spacing-3);
830
+ border: 1px solid var(--ina-stroke-primary);
831
+ border-radius: var(--ina-radius-base);
832
+ background-color: var(--ina-background-primary);
833
+ color: var(--ina-content-primary);
834
+ font-size: var(--ina-font-sm);
835
+ font-weight: var(--ina-font-medium);
836
+ cursor: pointer;
837
+ transition: all var(--ina-transition-fast);
838
+ }
839
+
840
+ .ina-date-picker__dropdown-trigger:hover {
841
+ background-color: var(--ina-neutral-50);
842
+ }
843
+
844
+ /* Dropdown options */
845
+ .ina-date-picker__dropdown-option {
846
+ width: 100%;
847
+ padding: var(--ina-spacing-2) var(--ina-spacing-3);
848
+ text-align: left;
849
+ background-color: var(--ina-background-primary);
850
+ color: var(--ina-content-primary);
851
+ font-size: var(--ina-font-sm);
852
+ cursor: pointer;
853
+ transition: all var(--ina-transition-fast);
854
+ }
855
+
856
+ .ina-date-picker__dropdown-option:hover {
857
+ background-color: var(--ina-neutral-50);
858
+ }
859
+
860
+ /* Decade navigation */
861
+ .ina-date-picker__decade-nav-button {
862
+ padding: var(--ina-spacing-2);
863
+ background-color: transparent;
864
+ color: var(--ina-content-primary);
865
+ border-radius: var(--ina-radius-base);
866
+ cursor: pointer;
867
+ transition: all var(--ina-transition-fast);
868
+ }
869
+
870
+ .ina-date-picker__decade-nav-button:hover {
871
+ background-color: var(--ina-neutral-50);
872
+ }
873
+
874
+ .ina-date-picker__decade-label {
875
+ font-size: var(--ina-font-sm);
876
+ font-weight: var(--ina-font-medium);
877
+ color: var(--ina-content-primary);
878
+ }
879
+
880
+ /* Year options */
881
+ .ina-date-picker__year-option {
882
+ padding: var(--ina-spacing-2);
883
+ font-size: var(--ina-font-sm);
884
+ border-radius: var(--ina-radius-base);
885
+ background-color: transparent;
886
+ color: var(--ina-content-primary);
887
+ cursor: pointer;
888
+ transition: all var(--ina-transition-fast);
889
+ }
890
+
891
+ .ina-date-picker__year-option:hover {
892
+ background-color: var(--ina-neutral-50);
893
+ }
894
+
895
+ .ina-date-picker__year-option--selected {
896
+ background-color: var(--ina-content-primary);
897
+ color: var(--ina-white);
898
+ }
899
+
900
+ .ina-date-picker__year-option--selected:hover {
901
+ background-color: var(--ina-content-primary);
902
+ }
903
+
904
+ /* =========================== */
905
+ /* LAYOUT COMPONENTS */
906
+ /* =========================== */
907
+
908
+ /* Header controls */
909
+ .ina-date-picker__header-controls {
910
+ display: flex;
911
+ align-items: center;
912
+ gap: var(--ina-spacing-2);
913
+ position: absolute;
914
+ left: 50%;
915
+ transform: translateX(-50%);
916
+ justify-content: center;
917
+ }
918
+
919
+ /* Dropdown container */
920
+ .ina-date-picker__dropdown-container {
921
+ position: relative;
922
+ }
923
+
924
+ /* Dropdown panels */
925
+ .ina-date-picker__dropdown-panel {
926
+ position: absolute;
927
+ top: 100%;
928
+ left: 0;
929
+ margin-top: var(--ina-spacing-1);
930
+ background-color: var(--ina-background-primary);
931
+ border: 1px solid var(--ina-stroke-primary);
932
+ border-radius: var(--ina-radius-lg);
933
+ box-shadow: var(--ina-shadow-lg);
934
+ z-index: 50;
935
+ min-width: 320px;
936
+ }
937
+
938
+ /* Decade panels */
939
+ .ina-date-picker__decade-panel {
940
+ position: absolute;
941
+ top: 100%;
942
+ left: 0;
943
+ margin-top: var(--ina-spacing-1);
944
+ background-color: var(--ina-background-primary);
945
+ border: 1px solid var(--ina-stroke-primary);
946
+ border-radius: var(--ina-radius-lg);
947
+ box-shadow: var(--ina-shadow-lg);
948
+ z-index: 50;
949
+ width: 320px;
950
+ padding: var(--ina-spacing-4);
951
+ }
952
+
953
+ /* Decade headers */
954
+ .ina-date-picker__decade-header {
955
+ display: flex;
956
+ align-items: center;
957
+ justify-content: space-between;
958
+ margin-bottom: var(--ina-spacing-4);
959
+ }
960
+
961
+ /* Decade grid */
962
+ .ina-date-picker__decade-grid {
963
+ display: grid;
964
+ grid-template-columns: repeat(5, 1fr);
965
+ gap: var(--ina-spacing-1);
966
+ }
967
+
968
+ /* Next month header */
969
+ .ina-date-picker__next-month-header {
970
+ display: flex;
971
+ align-items: center;
972
+ justify-content: space-between;
973
+ margin-bottom: var(--ina-spacing-3);
974
+ position: relative;
975
+ min-height: 40px; /* Ensure consistent height with left panel */
976
+ }
977
+
978
+ /* Next month controls */
979
+ .ina-date-picker__next-month-controls {
980
+ display: flex;
981
+ align-items: center;
982
+ gap: var(--ina-spacing-2);
983
+ position: absolute;
984
+ left: 50%;
985
+ transform: translateX(-50%);
986
+ justify-content: center;
987
+ }
988
+
989
+ /* Today button */
990
+ .ina-date-picker__today-button {
991
+ padding: var(--ina-spacing-2);
992
+ background-color: transparent;
993
+ color: var(--ina-content-primary);
994
+ border-radius: var(--ina-radius-base);
995
+ cursor: pointer;
996
+ transition: all var(--ina-transition-fast);
997
+ }
998
+
999
+ .ina-date-picker__today-button:hover {
1000
+ background-color: var(--ina-neutral-50);
1001
+ }
1002
+
1003
+ /* Apply/Cancel Buttons */
1004
+ .ina-date-picker__apply-container {
1005
+ margin-top: var(--ina-spacing-4);
1006
+ padding-top: var(--ina-spacing-3);
1007
+ padding-bottom: var(
1008
+ --ina-spacing-1
1009
+ ); /* Add bottom padding to prevent button overflow */
1010
+ border-top: 1px solid var(--ina-stroke-primary);
1011
+ }
1012
+
1013
+ .ina-date-picker__button-group {
1014
+ display: flex;
1015
+ gap: var(--ina-spacing-2);
1016
+ }
1017
+
1018
+ .ina-date-picker__apply-button {
1019
+ flex: 1;
1020
+ padding: var(--ina-spacing-3) var(--ina-spacing-4);
1021
+ background-color: var(--ina-content-primary);
1022
+ color: var(--ina-white);
1023
+ border: none;
1024
+ border-radius: var(--ina-radius-lg);
1025
+ font-size: var(--ina-font-sm);
1026
+ font-weight: var(--ina-font-medium);
1027
+ cursor: pointer;
1028
+ transition: all var(--ina-transition-fast);
1029
+ }
1030
+
1031
+ .ina-date-picker__apply-button:hover:not(:disabled) {
1032
+ background-color: var(--ina-text-secondary);
1033
+ }
1034
+
1035
+ .ina-date-picker__apply-button:disabled {
1036
+ background-color: var(--ina-stroke-primary);
1037
+ color: var(--ina-content-tertiary);
1038
+ cursor: not-allowed;
1039
+ opacity: 0.6;
1040
+ }
1041
+
1042
+ .ina-date-picker__cancel-button {
1043
+ flex: 1;
1044
+ padding: var(--ina-spacing-3) var(--ina-spacing-4);
1045
+ background-color: var(--ina-background-secondary);
1046
+ color: var(--ina-text-secondary);
1047
+ border: 1px solid var(--ina-stroke-primary);
1048
+ border-radius: var(--ina-radius-lg);
1049
+ font-size: var(--ina-font-sm);
1050
+ font-weight: var(--ina-font-medium);
1051
+ cursor: pointer;
1052
+ transition: all var(--ina-transition-fast);
1053
+ }
1054
+
1055
+ .ina-date-picker__cancel-button:hover {
1056
+ background-color: var(--ina-background-tertiary);
1057
+ color: var(--ina-content-primary);
1058
+ border-color: var(--ina-stroke-secondary);
1059
+ }
1060
+ .ina-date-picker__day.ina-date-picker__day--selected.ina-date-picker__day--disabled {
1061
+ background-color: var(--ina-content-primary);
1062
+ color: white;
1063
+ }