@idds/styles 1.2.10 → 1.2.12

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 (95) hide show
  1. package/dist/base.css +1071 -0
  2. package/dist/base.min.css +1 -0
  3. package/dist/index.css +14801 -0
  4. package/dist/index.min.css +15 -0
  5. package/dist/tailwind/css/bgn.min.css +1 -0
  6. package/dist/tailwind/css/bkn.min.css +1 -0
  7. package/dist/tailwind/css/idds.min.css +1 -0
  8. package/dist/tailwind/css/inagov.min.css +1 -0
  9. package/dist/tailwind/css/inaku.min.css +1 -0
  10. package/dist/tailwind/css/inapas.min.css +1 -0
  11. package/dist/tailwind/css/lan.min.css +1 -0
  12. package/dist/tailwind/css/pan-rb.min.css +1 -0
  13. package/package.json +31 -21
  14. package/src/colors/brands/bgn.css +0 -30
  15. package/src/colors/brands/bkn.css +0 -33
  16. package/src/colors/brands/inagov.css +0 -40
  17. package/src/colors/brands/inaku.css +0 -29
  18. package/src/colors/brands/inapas.css +0 -29
  19. package/src/colors/brands/lan.css +0 -39
  20. package/src/colors/brands/pan-rb.css +0 -31
  21. package/src/colors/index.css +0 -11
  22. package/src/colors/primitives/index.css +0 -175
  23. package/src/colors/product/index.css +0 -205
  24. package/src/colors/utilities/index.css +0 -77
  25. package/src/components/accordion-card.css +0 -99
  26. package/src/components/accordion.css +0 -120
  27. package/src/components/action-dropdown.css +0 -140
  28. package/src/components/alert.css +0 -180
  29. package/src/components/avatar.css +0 -182
  30. package/src/components/badge.css +0 -247
  31. package/src/components/bottom-sheet.css +0 -61
  32. package/src/components/breadcrumb.css +0 -97
  33. package/src/components/button-group.css +0 -130
  34. package/src/components/button.css +0 -241
  35. package/src/components/card.css +0 -576
  36. package/src/components/carousel.css +0 -100
  37. package/src/components/chart.css +0 -81
  38. package/src/components/checkbox.css +0 -211
  39. package/src/components/chip.css +0 -245
  40. package/src/components/collapse.css +0 -84
  41. package/src/components/confirmation.css +0 -131
  42. package/src/components/date-picker.css +0 -1059
  43. package/src/components/divider.css +0 -174
  44. package/src/components/drawer.css +0 -752
  45. package/src/components/dropdown.css +0 -370
  46. package/src/components/field-input-table.css +0 -347
  47. package/src/components/file-upload.css +0 -333
  48. package/src/components/input-search.css +0 -428
  49. package/src/components/linear-progress-indicator.css +0 -34
  50. package/src/components/modal.css +0 -506
  51. package/src/components/month-picker.css +0 -326
  52. package/src/components/multiple-choice-grid.css +0 -383
  53. package/src/components/one-time-password.css +0 -119
  54. package/src/components/pagination.css +0 -429
  55. package/src/components/password-input.css +0 -477
  56. package/src/components/phone-input.css +0 -412
  57. package/src/components/progress-bar.css +0 -447
  58. package/src/components/radio-input.css +0 -277
  59. package/src/components/reset.css +0 -431
  60. package/src/components/select-dropdown.css +0 -663
  61. package/src/components/select-option.css +0 -217
  62. package/src/components/single-file-upload.css +0 -186
  63. package/src/components/skeleton.css +0 -488
  64. package/src/components/spinner.css +0 -450
  65. package/src/components/stepper.css +0 -260
  66. package/src/components/tab-horizontal.css +0 -278
  67. package/src/components/tab-vertical.css +0 -261
  68. package/src/components/table-progress-bar.css +0 -48
  69. package/src/components/table.css +0 -538
  70. package/src/components/text-area.css +0 -220
  71. package/src/components/text-field.css +0 -278
  72. package/src/components/theme-toggle.css +0 -259
  73. package/src/components/time-picker.css +0 -436
  74. package/src/components/toast.css +0 -265
  75. package/src/components/toggle.css +0 -195
  76. package/src/components/tooltip.css +0 -343
  77. package/src/components/year-picker.css +0 -424
  78. package/src/index.css +0 -3
  79. /package/{src → dist}/tailwind/css/bgn.css +0 -0
  80. /package/{src → dist}/tailwind/css/bkn.css +0 -0
  81. /package/{src → dist}/tailwind/css/idds.css +0 -0
  82. /package/{src → dist}/tailwind/css/inagov.css +0 -0
  83. /package/{src → dist}/tailwind/css/inaku.css +0 -0
  84. /package/{src → dist}/tailwind/css/inapas.css +0 -0
  85. /package/{src → dist}/tailwind/css/lan.css +0 -0
  86. /package/{src → dist}/tailwind/css/pan-rb.css +0 -0
  87. /package/{src → dist}/tailwind/ts/bgn.ts +0 -0
  88. /package/{src → dist}/tailwind/ts/bkn.ts +0 -0
  89. /package/{src → dist}/tailwind/ts/default.ts +0 -0
  90. /package/{src → dist}/tailwind/ts/idds.ts +0 -0
  91. /package/{src → dist}/tailwind/ts/inagov.ts +0 -0
  92. /package/{src → dist}/tailwind/ts/inaku.ts +0 -0
  93. /package/{src → dist}/tailwind/ts/inapas.ts +0 -0
  94. /package/{src → dist}/tailwind/ts/lan.ts +0 -0
  95. /package/{src → dist}/tailwind/ts/pan-rb.ts +0 -0
@@ -1,752 +0,0 @@
1
- /**
2
- * Drawer Component Styles
3
- * Menggunakan BEM naming convention dengan prefix "ina-"
4
- */
5
-
6
- .ina-drawer {
7
- /* Base overlay container */
8
- position: fixed;
9
- inset: 0;
10
- z-index: 1000;
11
- display: flex;
12
- animation: overlayFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
13
- }
14
-
15
- @keyframes overlayFadeIn {
16
- from {
17
- opacity: 0;
18
- }
19
- to {
20
- opacity: 1;
21
- }
22
- }
23
-
24
- /* Position variants */
25
- .ina-drawer--position-top {
26
- align-items: flex-start;
27
- justify-content: center;
28
- }
29
-
30
- .ina-drawer--position-bottom {
31
- align-items: flex-end;
32
- justify-content: center;
33
- }
34
-
35
- .ina-drawer--position-left {
36
- align-items: center;
37
- justify-content: flex-start;
38
- }
39
-
40
- .ina-drawer--position-right {
41
- align-items: center;
42
- justify-content: flex-end;
43
- }
44
-
45
- /* Mobile override position adjustments - left/right become bottom-like */
46
- @media (max-width: 640px) {
47
- .ina-drawer--position-right,
48
- .ina-drawer--position-left {
49
- align-items: flex-end;
50
- justify-content: center;
51
- }
52
- }
53
-
54
- /* Backdrop with smooth fade animation */
55
- .ina-drawer__backdrop {
56
- position: absolute;
57
- inset: 0;
58
- background-color: rgba(31, 31, 31, 0.48);
59
- backdrop-filter: blur(2px);
60
- animation: backdropFadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1);
61
- }
62
-
63
- @keyframes backdropFadeIn {
64
- from {
65
- opacity: 0;
66
- backdrop-filter: blur(0px);
67
- }
68
- to {
69
- opacity: 1;
70
- backdrop-filter: blur(2px);
71
- }
72
- }
73
-
74
- @keyframes backdropFadeOut {
75
- 0% {
76
- opacity: 1;
77
- backdrop-filter: blur(2px);
78
- }
79
- 100% {
80
- opacity: 0;
81
- backdrop-filter: blur(0px);
82
- }
83
- }
84
-
85
- /* Backdrop closing animation */
86
- .ina-drawer--closing .ina-drawer__backdrop {
87
- animation: backdropFadeOut 0.25s cubic-bezier(0.4, 0, 0.2, 1) forwards;
88
- }
89
-
90
- /* Main panel */
91
- .ina-drawer__panel {
92
- position: relative;
93
- background-color: var(--ina-background-primary);
94
- border-radius: var(--ina-radius-lg);
95
- box-shadow: var(--ina-shadow-xl);
96
- display: flex;
97
- flex-direction: column;
98
- z-index: 10;
99
- transform-origin: center;
100
- transition: transform var(--ina-transition-duration-300) ease-in-out;
101
- }
102
-
103
- /* Position-specific animations with smooth easing */
104
- .ina-drawer--position-right .ina-drawer__panel {
105
- animation: panelSlideInRight 0.35s cubic-bezier(0.16, 1, 0.3, 1);
106
- }
107
-
108
- .ina-drawer--position-left .ina-drawer__panel {
109
- animation: panelSlideInLeft 0.35s cubic-bezier(0.16, 1, 0.3, 1);
110
- }
111
-
112
- .ina-drawer--position-top .ina-drawer__panel {
113
- animation: panelSlideInTop 0.35s cubic-bezier(0.16, 1, 0.3, 1);
114
- }
115
-
116
- .ina-drawer--position-bottom .ina-drawer__panel {
117
- animation: panelSlideInBottom 0.35s cubic-bezier(0.16, 1, 0.3, 1);
118
- }
119
-
120
- @keyframes panelSlideIn {
121
- from {
122
- opacity: 0;
123
- transform: scale(0.95);
124
- }
125
- to {
126
- opacity: 1;
127
- transform: scale(1);
128
- }
129
- }
130
-
131
- /* Position-specific slide-in animations with smooth easing */
132
- @keyframes panelSlideInRight {
133
- 0% {
134
- opacity: 0;
135
- transform: translateX(100%);
136
- }
137
- 100% {
138
- opacity: 1;
139
- transform: translateX(0);
140
- }
141
- }
142
-
143
- @keyframes panelSlideInLeft {
144
- 0% {
145
- opacity: 0;
146
- transform: translateX(-100%);
147
- }
148
- 100% {
149
- opacity: 1;
150
- transform: translateX(0);
151
- }
152
- }
153
-
154
- @keyframes panelSlideInTop {
155
- 0% {
156
- opacity: 0;
157
- transform: translateY(-100%);
158
- }
159
- 100% {
160
- opacity: 1;
161
- transform: translateY(0);
162
- }
163
- }
164
-
165
- @keyframes panelSlideInBottom {
166
- 0% {
167
- opacity: 0;
168
- transform: translateY(100%);
169
- }
170
- 100% {
171
- opacity: 1;
172
- transform: translateY(0);
173
- }
174
- }
175
-
176
- /* Position-specific panel styling */
177
- .ina-drawer--position-top .ina-drawer__panel {
178
- border-bottom-left-radius: 0;
179
- border-bottom-right-radius: 0;
180
- }
181
-
182
- .ina-drawer--position-bottom .ina-drawer__panel {
183
- border-top-left-radius: 0;
184
- border-top-right-radius: 0;
185
- }
186
-
187
- .ina-drawer--position-left .ina-drawer__panel {
188
- border-top-right-radius: 0;
189
- border-bottom-right-radius: 0;
190
- }
191
-
192
- .ina-drawer--position-right .ina-drawer__panel {
193
- border-top-left-radius: 0;
194
- border-bottom-left-radius: 0;
195
- }
196
-
197
- /* Panel sizes */
198
- /* Removed old size classes - now using width variants */
199
-
200
- /* Mobile size adjustments */
201
- @media (max-width: 640px) {
202
- .ina-drawer__panel {
203
- border-radius: var(--ina-radius-lg) var(--ina-radius-lg) 0 0;
204
- }
205
-
206
- .ina-drawer__title {
207
- font-size: var(--ina-font-base); /* Turun dari lg ke base */
208
- }
209
-
210
- /* Position bottom: min 280-320px (40-45%), max 90vh */
211
- .ina-drawer--position-bottom .ina-drawer__panel {
212
- width: 100vw;
213
- min-height: 280px;
214
- height: 45vh;
215
- max-height: 90vh;
216
- margin: 0;
217
- }
218
-
219
- /* Position top: same as bottom for mobile */
220
- .ina-drawer--position-top .ina-drawer__panel {
221
- width: 100vw;
222
- min-height: 280px;
223
- height: 45vh;
224
- max-height: 90vh;
225
- margin: 0;
226
- border-radius: 0 0 var(--ina-radius-lg) var(--ina-radius-lg);
227
- }
228
-
229
- /* Position left/right: behave like bottom on mobile */
230
- .ina-drawer--position-left .ina-drawer__panel,
231
- .ina-drawer--position-right .ina-drawer__panel {
232
- width: 100vw;
233
- min-height: 280px;
234
- height: 45vh;
235
- max-height: 90vh;
236
- margin: 0;
237
- border-radius: var(--ina-radius-lg) var(--ina-radius-lg) 0 0;
238
- }
239
-
240
- /* Override animations for left/right to use bottom animation on mobile */
241
- .ina-drawer--position-left .ina-drawer__panel,
242
- .ina-drawer--position-right .ina-drawer__panel {
243
- animation: panelSlideInBottom 0.35s cubic-bezier(0.16, 1, 0.3, 1);
244
- }
245
- }
246
-
247
- /* Desktop size adjustments */
248
- @media (min-width: 641px) {
249
- /* Position top/bottom: min 40vh, max 80vh */
250
- .ina-drawer--position-top .ina-drawer__panel,
251
- .ina-drawer--position-bottom .ina-drawer__panel {
252
- width: 100vw;
253
- min-height: 40vh;
254
- height: 60vh;
255
- max-height: 80vh;
256
- }
257
-
258
- /* Position left/right: min 420px, max 520px (default) */
259
- .ina-drawer--position-left .ina-drawer__panel,
260
- .ina-drawer--position-right .ina-drawer__panel {
261
- /* Default width for panels without specific width variant */
262
- min-width: 420px;
263
- max-width: 520px;
264
- /* Full height for side panels */
265
- height: 100vh;
266
- max-height: 100vh;
267
- }
268
-
269
- /* Width variants for desktop - Side panels (left/right) */
270
- .ina-drawer--position-left .ina-drawer__panel--width-sm,
271
- .ina-drawer--position-right .ina-drawer__panel--width-sm {
272
- width: 420px !important;
273
- height: 100vh !important;
274
- max-height: 100vh !important;
275
- }
276
-
277
- .ina-drawer--position-left .ina-drawer__panel--width-md,
278
- .ina-drawer--position-right .ina-drawer__panel--width-md {
279
- width: 520px !important;
280
- height: 100vh !important;
281
- max-height: 100vh !important;
282
- }
283
-
284
- /* .ina-drawer--position-left .ina-drawer__panel--width-lg,
285
- .ina-drawer--position-right .ina-drawer__panel--width-lg {
286
- width: 500px !important;
287
- min-width: 500px !important;
288
- max-width: 600px !important;
289
- height: 100vh !important;
290
- max-height: 100vh !important;
291
- }
292
-
293
- .ina-drawer--position-left .ina-drawer__panel--width-xl,
294
- .ina-drawer--position-right .ina-drawer__panel--width-xl {
295
- width: 600px !important;
296
- min-width: 600px !important;
297
- max-width: 700px !important;
298
- height: 100vh !important;
299
- max-height: 100vh !important;
300
- }
301
-
302
- .ina-drawer--position-left .ina-drawer__panel--width-2xl,
303
- .ina-drawer--position-right .ina-drawer__panel--width-2xl {
304
- width: 700px !important;
305
- min-width: 700px !important;
306
- max-width: 800px !important;
307
- height: 100vh !important;
308
- max-height: 100vh !important;
309
- } */
310
-
311
- /* .ina-drawer--position-left .ina-drawer__panel--width-full,
312
- .ina-drawer--position-right .ina-drawer__panel--width-full {
313
- width: 80vw !important;
314
- min-width: 80vw !important;
315
- max-width: 80vw !important;
316
- height: 100vh !important;
317
- max-height: 100vh !important;
318
- } */
319
-
320
- /* Width variants for desktop - Top/Bottom panels (always 100vw) */
321
- .ina-drawer--position-top .ina-drawer__panel--width-sm,
322
- .ina-drawer--position-top .ina-drawer__panel--width-md,
323
- .ina-drawer--position-top .ina-drawer__panel--width-lg,
324
- .ina-drawer--position-top .ina-drawer__panel--width-xl,
325
- .ina-drawer--position-top .ina-drawer__panel--width-2xl,
326
- .ina-drawer--position-top .ina-drawer__panel--width-full,
327
- .ina-drawer--position-bottom .ina-drawer__panel--width-sm,
328
- .ina-drawer--position-bottom .ina-drawer__panel--width-md,
329
- .ina-drawer--position-bottom .ina-drawer__panel--width-lg,
330
- .ina-drawer--position-bottom .ina-drawer__panel--width-xl,
331
- .ina-drawer--position-bottom .ina-drawer__panel--width-2xl,
332
- .ina-drawer--position-bottom .ina-drawer__panel--width-full {
333
- width: 100vw !important;
334
- min-width: 100vw !important;
335
- max-width: 100vw !important;
336
- height: 60vh !important;
337
- max-height: 60vh !important;
338
- }
339
-
340
- /* Custom width support - for values like '40vw', '500px', etc. - Side panels */
341
- /* .ina-drawer--position-left .ina-drawer__panel--width-40vw,
342
- .ina-drawer--position-right .ina-drawer__panel--width-40vw {
343
- width: 40vw !important;
344
- min-width: 40vw;
345
- max-width: 40vw;
346
- height: 100vh !important;
347
- max-height: 100vh !important;
348
- }
349
-
350
- .ina-drawer--position-left .ina-drawer__panel--width-50vw,
351
- .ina-drawer--position-right .ina-drawer__panel--width-50vw {
352
- width: 50vw !important;
353
- min-width: 50vw;
354
- max-width: 50vw;
355
- height: 100vh !important;
356
- max-height: 100vh !important;
357
- }
358
-
359
- .ina-drawer--position-left .ina-drawer__panel--width-60vw,
360
- .ina-drawer--position-right .ina-drawer__panel--width-60vw {
361
- width: 60vw !important;
362
- min-width: 60vw;
363
- max-width: 60vw;
364
- height: 100vh !important;
365
- max-height: 100vh !important;
366
- }
367
-
368
- .ina-drawer--position-left .ina-drawer__panel--width-70vw,
369
- .ina-drawer--position-right .ina-drawer__panel--width-70vw {
370
- width: 70vw !important;
371
- min-width: 70vw;
372
- max-width: 70vw;
373
- height: 100vh !important;
374
- max-height: 100vh !important;
375
- } */
376
-
377
- /* .ina-drawer--position-left .ina-drawer__panel--width-80vw,
378
- .ina-drawer--position-right .ina-drawer__panel--width-80vw {
379
- width: 80vw !important;
380
- min-width: 80vw;
381
- max-width: 80vw;
382
- height: 100vh !important;
383
- max-height: 100vh !important;
384
- } */
385
-
386
- /* Custom width support - Top/Bottom panels (always 100vw) */
387
- /* .ina-drawer--position-top .ina-drawer__panel--width-40vw,
388
- .ina-drawer--position-top .ina-drawer__panel--width-50vw,
389
- .ina-drawer--position-top .ina-drawer__panel--width-60vw,
390
- .ina-drawer--position-top .ina-drawer__panel--width-70vw,
391
- .ina-drawer--position-top .ina-drawer__panel--width-80vw,
392
- .ina-drawer--position-bottom .ina-drawer__panel--width-40vw,
393
- .ina-drawer--position-bottom .ina-drawer__panel--width-50vw,
394
- .ina-drawer--position-bottom .ina-drawer__panel--width-60vw,
395
- .ina-drawer--position-bottom .ina-drawer__panel--width-70vw,
396
- .ina-drawer--position-bottom .ina-drawer__panel--width-80vw {
397
- width: 100vw !important;
398
- min-width: 100vw !important;
399
- max-width: 100vw !important;
400
- height: 60vh !important;
401
- max-height: 60vh !important;
402
- } */
403
- }
404
-
405
- /* Header */
406
- .ina-drawer__header {
407
- display: flex;
408
- align-items: center;
409
- justify-content: space-between;
410
- padding: var(--ina-spacing-4);
411
- border-bottom: 1px solid var(--ina-stroke-primary);
412
- flex-shrink: 0;
413
- }
414
-
415
- .ina-drawer--position-top .ina-drawer__header {
416
- order: 1;
417
- }
418
-
419
- /* Header title */
420
- .ina-drawer__title {
421
- font-size: var(--ina-font-lg);
422
- font-weight: var(--ina-font-semibold);
423
- color: var(--ina-content-primary);
424
- margin: 0;
425
- }
426
-
427
- /* Close button */
428
- .ina-drawer__close-button {
429
- padding: var(--ina-spacing-1);
430
- border: none;
431
- background: none;
432
- border-radius: var(--ina-radius-base);
433
- cursor: pointer;
434
- color: var(--ina-content-secondary);
435
- transition: all var(--ina-transition-base);
436
- display: flex;
437
- align-items: center;
438
- justify-content: center;
439
- width: 32px;
440
- height: 32px;
441
- }
442
-
443
- .ina-drawer__close-button:hover {
444
- background-color: var(--ina-neutral-100);
445
- color: var(--ina-content-primary);
446
- }
447
-
448
- .ina-drawer__close-button:focus-visible {
449
- outline: 2px solid var(--ina-primary-500);
450
- outline-offset: 2px;
451
- background-color: var(--ina-neutral-100);
452
- }
453
-
454
- .ina-drawer__close-icon {
455
- width: 20px;
456
- height: 20px;
457
- }
458
-
459
- /* Content area */
460
- .ina-drawer__content {
461
- padding: var(--ina-spacing-4);
462
- overflow: auto;
463
- flex: 1;
464
- scrollbar-width: thin;
465
- scrollbar-color: var(--ina-neutral-400) var(--ina-neutral-100);
466
- }
467
-
468
- .ina-drawer__content::-webkit-scrollbar {
469
- width: 6px;
470
- }
471
-
472
- .ina-drawer__content::-webkit-scrollbar-track {
473
- background: var(--ina-neutral-100);
474
- }
475
-
476
- .ina-drawer__content::-webkit-scrollbar-thumb {
477
- background-color: var(--ina-neutral-400);
478
- border-radius: var(--ina-radius-full);
479
- }
480
-
481
- .ina-drawer__content::-webkit-scrollbar-thumb:hover {
482
- background-color: var(--ina-neutral-500);
483
- }
484
-
485
- /* Footer */
486
- .ina-drawer__footer {
487
- padding: var(--ina-spacing-4);
488
- border-top: 1px solid var(--ina-stroke-primary);
489
- flex-shrink: 0;
490
- }
491
-
492
- .ina-drawer--position-top .ina-drawer__footer {
493
- order: 2;
494
- }
495
-
496
- /* Footer positioning */
497
- .ina-drawer__footer--position-left {
498
- display: flex;
499
- justify-content: flex-start;
500
- gap: var(--ina-spacing-2);
501
- }
502
-
503
- .ina-drawer__footer--position-right {
504
- display: flex;
505
- justify-content: flex-end;
506
- gap: var(--ina-spacing-2);
507
- }
508
-
509
- .ina-drawer__footer--position-center {
510
- display: flex;
511
- justify-content: center;
512
- gap: var(--ina-spacing-2);
513
- }
514
-
515
- .ina-drawer__footer--position-between {
516
- display: flex;
517
- justify-content: space-between;
518
- align-items: center;
519
- }
520
-
521
- /* Animation states */
522
- .ina-drawer--closing {
523
- animation: overlayFadeOut 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
524
- }
525
-
526
- @keyframes overlayFadeOut {
527
- from {
528
- opacity: 1;
529
- }
530
- to {
531
- opacity: 0;
532
- }
533
- }
534
-
535
- /* Position-specific closing animations with smooth easing */
536
- .ina-drawer--closing.ina-drawer--position-right .ina-drawer__panel {
537
- animation: panelSlideOutRight 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
538
- }
539
-
540
- .ina-drawer--closing.ina-drawer--position-left .ina-drawer__panel {
541
- animation: panelSlideOutLeft 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
542
- }
543
-
544
- .ina-drawer--closing.ina-drawer--position-top .ina-drawer__panel {
545
- animation: panelSlideOutTop 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
546
- }
547
-
548
- .ina-drawer--closing.ina-drawer--position-bottom .ina-drawer__panel {
549
- animation: panelSlideOutBottom 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
550
- }
551
-
552
- /* Mobile: left/right use bottom closing animation */
553
- @media (max-width: 640px) {
554
- .ina-drawer--closing.ina-drawer--position-left .ina-drawer__panel,
555
- .ina-drawer--closing.ina-drawer--position-right .ina-drawer__panel {
556
- animation: panelSlideOutBottom 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
557
- }
558
- }
559
-
560
- @keyframes panelSlideOut {
561
- from {
562
- opacity: 1;
563
- transform: scale(1);
564
- }
565
- to {
566
- opacity: 0;
567
- transform: scale(0.95);
568
- }
569
- }
570
-
571
- /* Position-specific slide-out animations with smooth easing */
572
- @keyframes panelSlideOutRight {
573
- 0% {
574
- opacity: 1;
575
- transform: translateX(0);
576
- }
577
- 100% {
578
- opacity: 0;
579
- transform: translateX(100%);
580
- }
581
- }
582
-
583
- @keyframes panelSlideOutLeft {
584
- 0% {
585
- opacity: 1;
586
- transform: translateX(0);
587
- }
588
- 100% {
589
- opacity: 0;
590
- transform: translateX(-100%);
591
- }
592
- }
593
-
594
- @keyframes panelSlideOutTop {
595
- 0% {
596
- opacity: 1;
597
- transform: translateY(0);
598
- }
599
- 100% {
600
- opacity: 0;
601
- transform: translateY(-100%);
602
- }
603
- }
604
-
605
- @keyframes panelSlideOutBottom {
606
- 0% {
607
- opacity: 1;
608
- transform: translateY(0);
609
- }
610
- 100% {
611
- opacity: 0;
612
- transform: translateY(100%);
613
- }
614
- }
615
-
616
- /* Position-specific animations - Fixed positioning */
617
- .ina-drawer--position-right .ina-drawer__panel {
618
- /* Panel should be visible by default, not hidden */
619
- transform: translateX(0);
620
- }
621
-
622
- .ina-drawer--position-left .ina-drawer__panel {
623
- /* Panel should be visible by default, not hidden */
624
- transform: translateX(0);
625
- }
626
-
627
- .ina-drawer--position-top .ina-drawer__panel {
628
- /* Panel should be visible by default, not hidden */
629
- transform: translateY(0);
630
- }
631
-
632
- .ina-drawer--position-bottom .ina-drawer__panel {
633
- /* Panel should be visible by default, not hidden */
634
- transform: translateY(0);
635
- }
636
-
637
- /* Mobile: left/right use bottom transform */
638
- @media (max-width: 640px) {
639
- .ina-drawer--position-left .ina-drawer__panel,
640
- .ina-drawer--position-right .ina-drawer__panel {
641
- transform: translateY(0);
642
- }
643
- }
644
-
645
- /* Variant styles */
646
- .ina-drawer--variant-glass .ina-drawer__panel {
647
- background-color: rgba(255, 255, 255, 0.95);
648
- backdrop-filter: blur(20px);
649
- }
650
-
651
- .ina-drawer--variant-floating .ina-drawer__panel {
652
- margin: var(--ina-spacing-8);
653
- border-radius: var(--ina-radius-xl);
654
- box-shadow: var(--ina-shadow-2xl);
655
- }
656
-
657
- .ina-drawer--variant-minimal .ina-drawer__panel {
658
- box-shadow: none;
659
- border: 1px solid var(--ina-stroke-primary);
660
- }
661
-
662
- /* Size variants with max-width */
663
- .ina-drawer__panel--fullscreen {
664
- width: 100vw !important;
665
- height: 100vh !important;
666
- max-width: 100vw !important;
667
- max-height: 100vh !important;
668
- margin: 0 !important;
669
- border-radius: 0 !important;
670
- }
671
-
672
- /* Dark mode support */
673
- /* @media (prefers-color-scheme: dark) {
674
- .ina-drawer__backdrop {
675
- background-color: rgba(0, 0, 0, 0.7);
676
- }
677
-
678
- .ina-drawer__panel {
679
- background-color: var(--ina-background-dark-primary);
680
- border-color: var(--ina-stroke-primary-dark);
681
- }
682
-
683
- .ina-drawer__header {
684
- border-color: var(--ina-stroke-primary-dark);
685
- }
686
-
687
- .ina-drawer__title {
688
- color: var(--ina-content-dark-primary);
689
- }
690
-
691
- .ina-drawer__close-button {
692
- color: var(--ina-content-dark-secondary);
693
- }
694
-
695
- .ina-drawer__close-button:hover {
696
- background-color: var(--ina-neutral-800);
697
- color: var(--ina-content-dark-primary);
698
- }
699
-
700
- .ina-drawer__footer {
701
- border-color: var(--ina-stroke-primary-dark);
702
- }
703
-
704
- .ina-drawer--variant-glass .ina-drawer__panel {
705
- background-color: rgba(0, 0, 0, 0.95);
706
- border-color: rgba(255, 255, 255, 0.1);
707
- }
708
-
709
- .ina-drawer--variant-minimal .ina-drawer__panel {
710
- border-color: var(--ina-stroke-primary-dark);
711
- }
712
- } */
713
-
714
- /* Accessibility improvements */
715
- .ina-drawer__close-button:focus-visible {
716
- outline: 2px solid var(--ina-primary-500);
717
- outline-offset: 2px;
718
- }
719
-
720
- /* High contrast mode */
721
- @media (prefers-contrast: high) {
722
- .ina-drawer__panel {
723
- border: 2px solid var(--ina-content-primary);
724
- }
725
-
726
- .ina-drawer__header,
727
- .ina-drawer__footer {
728
- border-width: 2px;
729
- }
730
- }
731
-
732
- /* Reduced motion */
733
- @media (prefers-reduced-motion: reduce) {
734
- .ina-drawer,
735
- .ina-drawer__backdrop,
736
- .ina-drawer__panel,
737
- .ina-drawer__close-button {
738
- animation: none;
739
- transition: none;
740
- }
741
-
742
- .ina-drawer__panel {
743
- transform: none !important;
744
- }
745
- }
746
-
747
- /* Print styles */
748
- @media print {
749
- .ina-drawer {
750
- display: none;
751
- }
752
- }