@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,488 @@
1
+ /**
2
+ * Card Component Styles
3
+ * Menggunakan BEM naming convention dengan prefix "ina-"
4
+ * Varian: Basic (Vertical), Horizontal, Overlay
5
+ */
6
+
7
+ /* =========================== */
8
+ /* BASE CARD STYLES */
9
+ /* =========================== */
10
+
11
+ .ina-card {
12
+ display: flex;
13
+ flex-direction: column;
14
+ align-items: flex-start;
15
+ background-color: var(--ina-background-primary, var(--ina-neutral-25));
16
+ border-radius: var(--ina-radius-lg, 8px);
17
+ border: 1px solid var(--ina-stroke-primary, var(--ina-neutral-200));
18
+ box-sizing: border-box;
19
+ transition: all 0.2s ease;
20
+ overflow: hidden;
21
+ width: 100%;
22
+ }
23
+
24
+ /* =========================== */
25
+ /* VARIANT: BASIC (VERTICAL) */
26
+ /* =========================== */
27
+
28
+ .ina-card--variant-basic {
29
+ width: 300px;
30
+ }
31
+
32
+ /* Basic Card - Media Position: Bottom (default) */
33
+ .ina-card--variant-basic.ina-card--media-bottom {
34
+ flex-direction: column;
35
+ }
36
+
37
+ /* Basic Card - Media Position: Top */
38
+ .ina-card--variant-basic.ina-card--media-top {
39
+ flex-direction: column;
40
+ }
41
+
42
+ /* Ensure content order is correct for basic card */
43
+ .ina-card--variant-basic.ina-card--media-bottom .ina-card__content {
44
+ order: 1;
45
+ }
46
+
47
+ .ina-card--variant-basic.ina-card--media-bottom .ina-card__media {
48
+ order: 2;
49
+ }
50
+
51
+ .ina-card--variant-basic.ina-card--media-top .ina-card__content {
52
+ order: 2;
53
+ }
54
+
55
+ .ina-card--variant-basic.ina-card--media-top .ina-card__media {
56
+ order: 1;
57
+ }
58
+
59
+ /* =========================== */
60
+ /* VARIANT: HORIZONTAL */
61
+ /* =========================== */
62
+
63
+ .ina-card--variant-horizontal {
64
+ display: flex;
65
+ flex-direction: row;
66
+ align-items: flex-start;
67
+ max-width: 720px;
68
+ width: 100%;
69
+ box-sizing: border-box;
70
+ }
71
+
72
+ /* Horizontal Card - Media Position: Right (default) */
73
+ .ina-card--variant-horizontal.ina-card--media-right {
74
+ flex-direction: row;
75
+ }
76
+
77
+ /* Horizontal Card - Media Position: Left */
78
+ .ina-card--variant-horizontal.ina-card--media-left {
79
+ flex-direction: row;
80
+ }
81
+
82
+ /* Ensure content and media order for horizontal card */
83
+ .ina-card--variant-horizontal.ina-card--media-right .ina-card__content {
84
+ order: 1 !important;
85
+ flex: 1;
86
+ min-width: 0;
87
+ width: auto;
88
+ }
89
+
90
+ .ina-card--variant-horizontal.ina-card--media-right .ina-card__media {
91
+ order: 2 !important;
92
+ flex-shrink: 0;
93
+ flex-grow: 0;
94
+ }
95
+
96
+ .ina-card--variant-horizontal.ina-card--media-left .ina-card__content {
97
+ order: 2 !important;
98
+ flex: 1;
99
+ min-width: 0;
100
+ width: auto;
101
+ }
102
+
103
+ .ina-card--variant-horizontal.ina-card--media-left .ina-card__media {
104
+ order: 1 !important;
105
+ flex-shrink: 0;
106
+ flex-grow: 0;
107
+ }
108
+
109
+ /* =========================== */
110
+ /* VARIANT: OVERLAY */
111
+ /* =========================== */
112
+
113
+ .ina-card--variant-overlay {
114
+ position: relative;
115
+ width: 360px;
116
+ height: 362px;
117
+ padding: 0;
118
+ gap: 0;
119
+ overflow: hidden;
120
+ }
121
+
122
+ /* Overlay Card - Media Position: Top (default) */
123
+ .ina-card--variant-overlay.ina-card--media-top {
124
+ flex-direction: column;
125
+ }
126
+
127
+ /* Overlay Card - Media Position: Bottom */
128
+ .ina-card--variant-overlay.ina-card--media-bottom {
129
+ flex-direction: column;
130
+ }
131
+
132
+ /* =========================== */
133
+ /* CARD ANATOMY ELEMENTS */
134
+ /* =========================== */
135
+
136
+ /* Avatar */
137
+ .ina-card__avatar {
138
+ width: 48px;
139
+ height: 48px;
140
+ border-radius: var(--ina-radius-full, 9999px);
141
+ flex-shrink: 0;
142
+ display: flex;
143
+ align-items: center;
144
+ justify-content: center;
145
+ overflow: hidden;
146
+ }
147
+
148
+ /* Content Container */
149
+ .ina-card__content {
150
+ display: flex;
151
+ flex-direction: column;
152
+ gap: var(--ina-spacing-4, 16px);
153
+ flex: 1;
154
+ padding: var(--ina-spacing-6, 24px);
155
+ }
156
+
157
+ /* Content width untuk basic dan overlay card */
158
+ .ina-card--variant-basic .ina-card__content,
159
+ .ina-card--variant-overlay .ina-card__content {
160
+ width: 100%;
161
+ }
162
+
163
+ /* Content width untuk horizontal card - tidak 100% agar tidak overlap dengan media */
164
+ .ina-card--variant-horizontal .ina-card__content {
165
+ width: auto;
166
+ }
167
+
168
+ /* Title */
169
+ .ina-card__title {
170
+ font-size: var(--ina-font-xl, 20px);
171
+ font-weight: var(--ina-font-semibold, 600);
172
+ line-height: var(--ina-line-height-lg, 28px);
173
+ color: var(--ina-content-primary, var(--ina-neutral-800));
174
+ margin: 0;
175
+ margin-bottom: var(--ina-spacing-1, 4px);
176
+ }
177
+
178
+ /* Description */
179
+ .ina-card__description {
180
+ font-size: var(--ina-font-base, 16px);
181
+ font-weight: var(--ina-font-normal, 400);
182
+ line-height: var(--ina-line-height-base, 24px);
183
+ color: var(--ina-content-secondary, var(--ina-neutral-600));
184
+ margin: 0;
185
+ display: -webkit-box;
186
+ -webkit-box-orient: vertical;
187
+ -webkit-line-clamp: 2;
188
+ line-clamp: 2;
189
+ overflow: hidden;
190
+ text-overflow: ellipsis;
191
+ align-self: stretch;
192
+ }
193
+
194
+ /* Button Container */
195
+ .ina-card__button {
196
+ width: 100%;
197
+ display: flex;
198
+ align-items: center;
199
+ }
200
+
201
+ /* Media Container */
202
+ .ina-card__media {
203
+ width: 100%;
204
+ position: relative;
205
+ overflow: hidden;
206
+ flex-shrink: 0;
207
+ padding: 0;
208
+ margin: 0;
209
+ }
210
+
211
+ /* Media Image */
212
+ .ina-card__media img,
213
+ .ina-card__media video {
214
+ width: 100%;
215
+ height: 100%;
216
+ object-fit: cover;
217
+ display: block;
218
+ max-width: 100%;
219
+ }
220
+
221
+ /* Horizontal Card Media Image - ensure no overflow */
222
+ .ina-card--variant-horizontal .ina-card__media img,
223
+ .ina-card--variant-horizontal .ina-card__media video {
224
+ width: 100%;
225
+ height: 100%;
226
+ object-fit: cover;
227
+ display: block;
228
+ max-width: 100%;
229
+ max-height: 100%;
230
+ }
231
+
232
+ /* Basic Card Media */
233
+ .ina-card--variant-basic .ina-card__media {
234
+ aspect-ratio: 16 / 9;
235
+ max-height: 202px;
236
+ }
237
+
238
+ /* Horizontal Card Media */
239
+ .ina-card--variant-horizontal .ina-card__media {
240
+ width: 264px;
241
+ min-width: 264px;
242
+ max-width: 264px;
243
+ height: 100%;
244
+ flex-shrink: 0;
245
+ flex-grow: 0;
246
+ aspect-ratio: 5 / 4;
247
+ overflow: hidden;
248
+ position: relative;
249
+ box-sizing: border-box;
250
+ }
251
+
252
+ /* Horizontal Card Content - sudah didefinisikan di atas, tidak perlu duplikasi */
253
+
254
+ /* Overlay Card Media */
255
+ .ina-card--variant-overlay .ina-card__media {
256
+ position: absolute;
257
+ top: 0;
258
+ left: 0;
259
+ width: 100%;
260
+ height: 100%;
261
+ z-index: 0;
262
+ }
263
+
264
+ /* Overlay Card - Gradient overlay based on media position */
265
+ .ina-card--variant-overlay.ina-card--media-top .ina-card__media::after {
266
+ content: '';
267
+ position: absolute;
268
+ bottom: 0;
269
+ left: 0;
270
+ width: 100%;
271
+ height: 60%;
272
+ background: linear-gradient(
273
+ to top,
274
+ rgba(0, 0, 0, 0.7) 0%,
275
+ rgba(0, 0, 0, 0.9) 60%,
276
+ transparent 100%
277
+ );
278
+ pointer-events: none;
279
+ }
280
+
281
+ .ina-card--variant-overlay.ina-card--media-bottom .ina-card__media::after {
282
+ content: '';
283
+ position: absolute;
284
+ top: 0;
285
+ left: 0;
286
+ width: 100%;
287
+ height: 60%;
288
+ background: linear-gradient(
289
+ to bottom,
290
+ rgba(0, 0, 0, 0.7) 0%,
291
+ rgba(0, 0, 0, 0.9) 60%,
292
+ transparent 100%
293
+ );
294
+ pointer-events: none;
295
+ }
296
+
297
+ /* Overlay Card Content */
298
+ .ina-card--variant-overlay .ina-card__content {
299
+ position: relative;
300
+ z-index: 1;
301
+ padding: var(--ina-spacing-6, 24px);
302
+ height: 100%;
303
+ gap: var(--ina-spacing-4, 16px);
304
+ }
305
+
306
+ /* Overlay Card - Content position based on media position */
307
+ .ina-card--variant-overlay.ina-card--media-top .ina-card__content {
308
+ justify-content: flex-end;
309
+ }
310
+
311
+ .ina-card--variant-overlay.ina-card--media-bottom .ina-card__content {
312
+ justify-content: flex-start;
313
+ }
314
+
315
+ .ina-card--variant-overlay .ina-card__avatar,
316
+ .ina-card--variant-overlay .ina-card__title,
317
+ .ina-card--variant-overlay .ina-card__description {
318
+ color: var(--ina-neutral-25, #ffffff);
319
+ }
320
+
321
+ /* =========================== */
322
+ /* RESPONSIVE DESIGN */
323
+ /* =========================== */
324
+
325
+ /* Tablet (max-width: 768px) */
326
+ @media (max-width: 768px) {
327
+ /* Basic Card */
328
+ .ina-card--variant-basic {
329
+ width: 100%;
330
+ max-width: 400px;
331
+ }
332
+
333
+ .ina-card--variant-basic .ina-card__avatar {
334
+ width: 40px;
335
+ height: 40px;
336
+ }
337
+
338
+ .ina-card--variant-basic .ina-card__title {
339
+ font-size: var(--ina-font-lg, 18px);
340
+ line-height: var(--ina-line-height-base, 24px);
341
+ }
342
+
343
+ .ina-card--variant-basic .ina-card__description {
344
+ font-size: var(--ina-font-sm, 14px);
345
+ line-height: var(--ina-line-height-sm, 20px);
346
+ }
347
+
348
+ /* Horizontal Card */
349
+ .ina-card--variant-horizontal {
350
+ flex-direction: column;
351
+ max-width: 100%;
352
+ }
353
+
354
+ .ina-card--variant-horizontal .ina-card__media {
355
+ width: 100%;
356
+ aspect-ratio: 16 / 9;
357
+ }
358
+
359
+ .ina-card--variant-horizontal .ina-card__avatar {
360
+ width: 40px;
361
+ height: 40px;
362
+ }
363
+
364
+ .ina-card--variant-horizontal .ina-card__title {
365
+ font-size: var(--ina-font-lg, 18px);
366
+ line-height: var(--ina-line-height-base, 24px);
367
+ }
368
+
369
+ .ina-card--variant-horizontal .ina-card__description {
370
+ font-size: var(--ina-font-sm, 14px);
371
+ line-height: var(--ina-line-height-sm, 20px);
372
+ }
373
+
374
+ /* Overlay Card */
375
+ .ina-card--variant-overlay {
376
+ width: 100%;
377
+ max-width: 360px;
378
+ height: auto;
379
+ min-height: 362px;
380
+ }
381
+
382
+ .ina-card--variant-overlay .ina-card__content {
383
+ padding: var(--ina-spacing-16, 16px);
384
+ gap: var(--ina-spacing-3, 12px);
385
+ }
386
+
387
+ .ina-card--variant-overlay .ina-card__avatar {
388
+ width: 40px;
389
+ height: 40px;
390
+ }
391
+
392
+ .ina-card--variant-overlay .ina-card__title {
393
+ font-size: var(--ina-font-lg, 18px);
394
+ line-height: var(--ina-line-height-base, 24px);
395
+ }
396
+
397
+ .ina-card--variant-overlay .ina-card__description {
398
+ font-size: var(--ina-font-sm, 14px);
399
+ line-height: var(--ina-line-height-sm, 20px);
400
+ }
401
+ }
402
+
403
+ /* Mobile (max-width: 640px) */
404
+ @media (max-width: 640px) {
405
+ /* Basic Card */
406
+ .ina-card--variant-basic {
407
+ width: 100%;
408
+ max-width: 100%;
409
+ }
410
+
411
+ .ina-card--variant-basic .ina-card__avatar {
412
+ width: 36px;
413
+ height: 36px;
414
+ }
415
+
416
+ .ina-card--variant-basic .ina-card__title {
417
+ font-size: var(--ina-font-base, 16px);
418
+ line-height: var(--ina-line-height-sm, 20px);
419
+ }
420
+
421
+ .ina-card--variant-basic .ina-card__description {
422
+ font-size: var(--ina-font-xs, 12px);
423
+ line-height: var(--ina-line-height-xs, 16px);
424
+ -webkit-line-clamp: 2;
425
+ line-clamp: 2;
426
+ }
427
+
428
+ /* Horizontal Card */
429
+ .ina-card--variant-horizontal {
430
+ flex-direction: column;
431
+ gap: var(--ina-spacing-4, 16px);
432
+ }
433
+
434
+ .ina-card--variant-horizontal .ina-card__media {
435
+ width: 100%;
436
+ aspect-ratio: 16 / 9;
437
+ }
438
+
439
+ .ina-card--variant-horizontal .ina-card__avatar {
440
+ width: 36px;
441
+ height: 36px;
442
+ }
443
+
444
+ .ina-card--variant-horizontal .ina-card__title {
445
+ font-size: var(--ina-font-base, 16px);
446
+ line-height: var(--ina-line-height-sm, 20px);
447
+ }
448
+
449
+ .ina-card--variant-horizontal .ina-card__description {
450
+ font-size: var(--ina-font-xs, 12px);
451
+ line-height: var(--ina-line-height-xs, 16px);
452
+ -webkit-line-clamp: 2;
453
+ line-clamp: 2;
454
+ }
455
+
456
+ /* Overlay Card */
457
+ .ina-card--variant-overlay {
458
+ width: 100%;
459
+ max-width: 100%;
460
+ height: auto;
461
+ min-height: 300px;
462
+ }
463
+
464
+ .ina-card--variant-overlay .ina-card__content {
465
+ padding: var(--ina-spacing-4, 16px);
466
+ gap: var(--ina-spacing-2, 8px);
467
+ }
468
+
469
+ .ina-card--variant-overlay .ina-card__avatar {
470
+ width: 36px;
471
+ height: 36px;
472
+ }
473
+
474
+ .ina-card--variant-overlay .ina-card__title {
475
+ font-size: var(--ina-font-base, 16px);
476
+ line-height: var(--ina-line-height-sm, 20px);
477
+ }
478
+
479
+ .ina-card--variant-overlay .ina-card__description {
480
+ font-size: var(--ina-font-xs, 12px);
481
+ line-height: var(--ina-line-height-xs, 16px);
482
+ -webkit-line-clamp: 2;
483
+ line-clamp: 2;
484
+ }
485
+ .ina-card__content {
486
+ padding: var(--ina-spacing-3, 12px);
487
+ }
488
+ }
@@ -0,0 +1,100 @@
1
+ /* Carousel Component Styles */
2
+ .ina-carousel {
3
+ position: relative;
4
+ width: 100%;
5
+ }
6
+
7
+ .ina-carousel__title {
8
+ font-size: var(--ina-font-size-lg);
9
+ font-weight: var(--ina-font-weight-semibold);
10
+ color: var(--ina-color-text-primary);
11
+ margin-bottom: var(--ina-spacing-md);
12
+ }
13
+
14
+ .ina-carousel__container {
15
+ position: relative;
16
+ overflow: hidden;
17
+ border-radius: var(--ina-border-radius-md);
18
+ }
19
+
20
+ .ina-carousel__wrapper {
21
+ display: flex;
22
+ transition: transform 0.3s ease;
23
+ }
24
+
25
+ .ina-carousel__item {
26
+ flex: 0 0 auto;
27
+ width: 100%;
28
+ }
29
+
30
+ .ina-carousel__item--active {
31
+ /* Active item styles */
32
+ }
33
+
34
+ .ina-carousel__item-content {
35
+ padding: var(--ina-spacing-lg);
36
+ text-align: center;
37
+ background: var(--ina-color-background);
38
+ border-radius: var(--ina-border-radius-md);
39
+ margin: var(--ina-spacing-xs);
40
+ }
41
+
42
+ .ina-carousel__nav {
43
+ position: absolute;
44
+ top: 50%;
45
+ transform: translateY(-50%);
46
+ background: var(--ina-color-background);
47
+ border: 1px solid var(--ina-color-border);
48
+ border-radius: 50%;
49
+ width: 40px;
50
+ height: 40px;
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ cursor: pointer;
55
+ transition: all 0.2s ease;
56
+ z-index: 10;
57
+ }
58
+
59
+ .ina-carousel__nav:hover {
60
+ background: var(--ina-color-surface);
61
+ border-color: var(--ina-color-primary);
62
+ }
63
+
64
+ .ina-carousel__nav:disabled {
65
+ opacity: 0.5;
66
+ cursor: not-allowed;
67
+ }
68
+
69
+ .ina-carousel__nav--prev {
70
+ left: var(--ina-spacing-sm);
71
+ }
72
+
73
+ .ina-carousel__nav--next {
74
+ right: var(--ina-spacing-sm);
75
+ }
76
+
77
+ .ina-carousel__indicators {
78
+ display: flex;
79
+ justify-content: center;
80
+ gap: var(--ina-spacing-xs);
81
+ margin-top: var(--ina-spacing-md);
82
+ }
83
+
84
+ .ina-carousel__indicator {
85
+ width: 8px;
86
+ height: 8px;
87
+ border-radius: 50%;
88
+ background: var(--ina-color-border);
89
+ border: none;
90
+ cursor: pointer;
91
+ transition: all 0.2s ease;
92
+ }
93
+
94
+ .ina-carousel__indicator--active {
95
+ background: var(--ina-color-primary);
96
+ }
97
+
98
+ .ina-carousel__indicator:hover {
99
+ background: var(--ina-color-primary-light);
100
+ }
@@ -0,0 +1,81 @@
1
+ /* Chart Component Styles */
2
+ .ina-chart {
3
+ background: var(--ina-color-background);
4
+ border-radius: var(--ina-border-radius-md);
5
+ padding: var(--ina-spacing-md);
6
+ }
7
+
8
+ .ina-chart__title {
9
+ font-size: var(--ina-font-size-lg);
10
+ font-weight: var(--ina-font-weight-semibold);
11
+ color: var(--ina-color-text-primary);
12
+ margin-bottom: var(--ina-spacing-xs);
13
+ }
14
+
15
+ .ina-chart__subtitle {
16
+ font-size: var(--ina-font-size-sm);
17
+ color: var(--ina-color-text-secondary);
18
+ margin-bottom: var(--ina-spacing-md);
19
+ }
20
+
21
+ .ina-chart__container {
22
+ position: relative;
23
+ width: 100%;
24
+ height: 300px;
25
+ }
26
+
27
+ .ina-chart__canvas {
28
+ width: 100%;
29
+ height: 100%;
30
+ }
31
+
32
+ .ina-chart__legend {
33
+ display: flex;
34
+ flex-wrap: wrap;
35
+ gap: var(--ina-spacing-md);
36
+ margin-top: var(--ina-spacing-md);
37
+ padding-top: var(--ina-spacing-md);
38
+ border-top: 1px solid var(--ina-color-border);
39
+ }
40
+
41
+ .ina-chart__legend-item {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: var(--ina-spacing-xs);
45
+ cursor: pointer;
46
+ padding: var(--ina-spacing-xs);
47
+ border-radius: var(--ina-border-radius-sm);
48
+ transition: background-color 0.2s ease;
49
+ }
50
+
51
+ .ina-chart__legend-item:hover {
52
+ background: var(--ina-color-surface);
53
+ }
54
+
55
+ .ina-chart__legend-color {
56
+ width: 12px;
57
+ height: 12px;
58
+ border-radius: 2px;
59
+ }
60
+
61
+ .ina-chart__legend-label {
62
+ font-size: var(--ina-font-size-sm);
63
+ color: var(--ina-color-text-primary);
64
+ }
65
+
66
+ .ina-chart__status {
67
+ margin-top: var(--ina-spacing-sm);
68
+ font-size: var(--ina-font-size-sm);
69
+ }
70
+
71
+ .ina-chart__status--success {
72
+ color: var(--ina-color-success);
73
+ }
74
+
75
+ .ina-chart__status--error {
76
+ color: var(--ina-color-error);
77
+ }
78
+
79
+ .ina-chart__status--warning {
80
+ color: var(--ina-color-warning);
81
+ }