@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,450 @@
1
+ /**
2
+ * Spinner Component Styles
3
+ * Menggunakan BEM naming convention dengan prefix "ina-"
4
+ */
5
+
6
+ .ina-spinner {
7
+ /* Base container styling */
8
+ display: flex;
9
+ flex-direction: column;
10
+ align-items: center;
11
+ justify-content: center;
12
+ text-align: center;
13
+ gap: var(--ina-spacing-2);
14
+ }
15
+
16
+ /* Spinner element */
17
+ .ina-spinner__element {
18
+ border-radius: var(--ina-radius-full);
19
+ animation: spinnerSpin 1s linear infinite;
20
+ border-style: solid;
21
+ }
22
+
23
+ /* Default sizes */
24
+ .ina-spinner__element--size-xs {
25
+ width: 16px;
26
+ height: 16px;
27
+ border-width: 2px;
28
+ }
29
+
30
+ .ina-spinner__element--size-sm {
31
+ width: 24px;
32
+ height: 24px;
33
+ border-width: 2px;
34
+ }
35
+
36
+ .ina-spinner__element--size-md {
37
+ width: 32px;
38
+ height: 32px;
39
+ border-width: 4px;
40
+ }
41
+
42
+ .ina-spinner__element--size-lg {
43
+ width: 48px;
44
+ height: 48px;
45
+ border-width: 4px;
46
+ }
47
+
48
+ .ina-spinner__element--size-xl {
49
+ width: 64px;
50
+ height: 64px;
51
+ border-width: 6px;
52
+ }
53
+
54
+ @keyframes spinnerSpin {
55
+ to {
56
+ transform: rotate(360deg);
57
+ }
58
+ }
59
+
60
+ /* Color variants */
61
+ .ina-spinner__element--color-primary {
62
+ border-color: var(--ina-neutral-300) !important;
63
+ border-top-color: var(--ina-primary-500) !important;
64
+ }
65
+
66
+ .ina-spinner__element--color-secondary {
67
+ border-color: var(--ina-neutral-300);
68
+ border-top-color: var(--ina-neutral-500);
69
+ }
70
+
71
+ .ina-spinner__element--color-success {
72
+ border-color: var(--ina-neutral-300);
73
+ border-top-color: var(--ina-positive-500);
74
+ }
75
+
76
+ .ina-spinner__element--color-error {
77
+ border-color: var(--ina-neutral-300);
78
+ border-top-color: var(--ina-negative-500);
79
+ }
80
+
81
+ .ina-spinner__element--color-warning {
82
+ border-color: var(--ina-neutral-300);
83
+ border-top-color: var(--ina-warning-500);
84
+ }
85
+
86
+ .ina-spinner__element--color-info {
87
+ border-color: var(--ina-neutral-300);
88
+ border-top-color: var(--ina-info-500);
89
+ }
90
+
91
+ .ina-spinner__element--color-inherit {
92
+ border-color: currentColor;
93
+ border-top-color: transparent;
94
+ }
95
+
96
+ /* Custom track color */
97
+ .ina-spinner__element--track-gray {
98
+ border-color: var(--ina-neutral-300);
99
+ }
100
+
101
+ .ina-spinner__element--track-light {
102
+ border-color: var(--ina-neutral-200);
103
+ }
104
+
105
+ .ina-spinner__element--track-dark {
106
+ border-color: var(--ina-neutral-500);
107
+ }
108
+
109
+ /* Border width variants */
110
+ .ina-spinner__element--border-thin {
111
+ border-width: 2px;
112
+ }
113
+
114
+ .ina-spinner__element--border-medium {
115
+ border-width: 3px;
116
+ }
117
+
118
+ .ina-spinner__element--border-thick {
119
+ border-width: 4px;
120
+ }
121
+
122
+ .ina-spinner__element--border-heavy {
123
+ border-width: 6px;
124
+ }
125
+
126
+ /* Text content */
127
+ .ina-spinner__title {
128
+ font-size: var(--ina-font-base);
129
+ font-weight: var(--ina-font-semibold);
130
+ color: var(--ina-content-primary);
131
+ }
132
+
133
+ .ina-spinner__subtitle {
134
+ font-size: var(--ina-font-sm);
135
+ color: var(--ina-content-secondary);
136
+ }
137
+
138
+ /* Spinner variants */
139
+ .ina-spinner--variant-tail {
140
+ gap: var(--ina-spacing-1);
141
+ }
142
+
143
+ .ina-spinner--variant-tail .ina-spinner__element {
144
+ animation: spinnerTailSpin 0.8s ease-in-out infinite;
145
+ }
146
+
147
+ @keyframes spinnerTailSpin {
148
+ 0%,
149
+ 100% {
150
+ transform: rotate(0deg);
151
+ opacity: 1;
152
+ }
153
+ 50% {
154
+ transform: rotate(180deg);
155
+ opacity: 0.7;
156
+ }
157
+ }
158
+
159
+ .ina-spinner--variant-dots {
160
+ flex-direction: row;
161
+ gap: var(--ina-spacing-1);
162
+ }
163
+
164
+ .ina-spinner--variant-dots .ina-spinner__element {
165
+ width: 8px;
166
+ height: 8px;
167
+ border-radius: var(--ina-radius-full);
168
+ animation: spinnerDots 1.4s ease-in-out infinite both;
169
+ border: none;
170
+ }
171
+
172
+ .ina-spinner--variant-dots .ina-spinner__element:nth-child(1) {
173
+ animation-delay: -0.32s;
174
+ }
175
+
176
+ .ina-spinner--variant-dots .ina-spinner__element:nth-child(2) {
177
+ animation-delay: -0.16s;
178
+ }
179
+
180
+ .ina-spinner__element--dot-1 {
181
+ animation-delay: -0.32s;
182
+ }
183
+
184
+ .ina-spinner__element--dot-2 {
185
+ animation-delay: -0.16s;
186
+ }
187
+
188
+ .ina-spinner__element--dot-3 {
189
+ animation-delay: 0s;
190
+ }
191
+
192
+ @keyframes spinnerDots {
193
+ 0%,
194
+ 80%,
195
+ 100% {
196
+ transform: scale(0);
197
+ }
198
+ 40% {
199
+ transform: scale(1);
200
+ }
201
+ }
202
+
203
+ .ina-spinner--variant-bars {
204
+ flex-direction: row;
205
+ gap: var(--ina-spacing-1);
206
+ align-items: center;
207
+ }
208
+
209
+ .ina-spinner--variant-bars .ina-spinner__element {
210
+ width: 4px;
211
+ height: 40px;
212
+ border: none;
213
+ background-color: currentColor;
214
+ animation: spinnerBars 1.2s ease-in-out infinite;
215
+ }
216
+
217
+ .ina-spinner--variant-bars .ina-spinner__element:nth-child(1) {
218
+ animation-delay: -1.1s;
219
+ }
220
+
221
+ .ina-spinner--variant-bars .ina-spinner__element:nth-child(2) {
222
+ animation-delay: -1s;
223
+ }
224
+
225
+ .ina-spinner--variant-bars .ina-spinner__element:nth-child(3) {
226
+ animation-delay: -0.9s;
227
+ }
228
+
229
+ .ina-spinner--variant-bars .ina-spinner__element:nth-child(4) {
230
+ animation-delay: -0.8s;
231
+ }
232
+
233
+ @keyframes spinnerBars {
234
+ 0%,
235
+ 40%,
236
+ 100% {
237
+ transform: scaleY(0.4);
238
+ }
239
+ 20% {
240
+ transform: scaleY(1);
241
+ }
242
+ }
243
+
244
+ /* Speed variants */
245
+ .ina-spinner--speed-slow .ina-spinner__element {
246
+ animation-duration: 2s;
247
+ }
248
+
249
+ .ina-spinner--speed-normal .ina-spinner__element {
250
+ animation-duration: 1s;
251
+ }
252
+
253
+ .ina-spinner--speed-fast .ina-spinner__element {
254
+ animation-duration: 0.5s;
255
+ }
256
+
257
+ /* Size variants dengan responsive adjustments */
258
+ .ina-spinner--size-responsive .ina-spinner__element {
259
+ width: 32px;
260
+ height: 32px;
261
+ border-width: 4px;
262
+ }
263
+
264
+ @media (max-width: 640px) {
265
+ .ina-spinner--size-responsive .ina-spinner__element {
266
+ width: 24px;
267
+ height: 24px;
268
+ border-width: 3px;
269
+ }
270
+
271
+ .ina-spinner__title {
272
+ font-size: var(--ina-font-sm); /* Turun dari base ke sm */
273
+ }
274
+
275
+ .ina-spinner__subtitle {
276
+ font-size: var(--ina-font-xs); /* Turun dari sm ke xs */
277
+ }
278
+ }
279
+
280
+ /* Spinner-only mode (no text) */
281
+ .ina-spinner--spinner-only {
282
+ gap: 0;
283
+ }
284
+
285
+ .ina-spinner--spinner-only .ina-spinner__title,
286
+ .ina-spinner--spinner-only .ina-spinner__subtitle {
287
+ display: none;
288
+ }
289
+
290
+ /* Loading state */
291
+ .ina-spinner--loading {
292
+ pointer-events: none;
293
+ user-select: none;
294
+ }
295
+
296
+ /* Background variants */
297
+ .ina-spinner--bg-overlay {
298
+ position: fixed;
299
+ inset: 0;
300
+ background-color: rgba(255, 255, 255, 0.8);
301
+ backdrop-filter: blur(4px);
302
+ z-index: 1000;
303
+ }
304
+
305
+ .ina-spinner--bg-card {
306
+ background-color: var(--ina-background-primary);
307
+ border: 1px solid var(--ina-stroke-primary);
308
+ border-radius: var(--ina-radius-lg);
309
+ padding: var(--ina-spacing-8);
310
+ box-shadow: var(--ina-shadow-md);
311
+ }
312
+
313
+ /* Custom positioning */
314
+ .ina-spinner--position-center {
315
+ position: absolute;
316
+ top: 50%;
317
+ left: 50%;
318
+ transform: translate(-50%, -50%);
319
+ }
320
+
321
+ .ina-spinner--position-top {
322
+ position: absolute;
323
+ top: var(--ina-spacing-4);
324
+ left: 50%;
325
+ transform: translateX(-50%);
326
+ }
327
+
328
+ .ina-spinner--position-bottom {
329
+ position: absolute;
330
+ bottom: var(--ina-spacing-4);
331
+ left: 50%;
332
+ transform: translateX(-50%);
333
+ }
334
+
335
+ /* Dark mode support */
336
+ /* @media (prefers-color-scheme: dark) {
337
+ .ina-spinner__title {
338
+ color: var(--ina-content-dark-primary);
339
+ }
340
+
341
+ .ina-spinner__subtitle {
342
+ color: var(--ina-content-dark-secondary);
343
+ }
344
+
345
+ .ina-spinner--bg-overlay {
346
+ background-color: rgba(0, 0, 0, 0.8);
347
+ }
348
+
349
+ .ina-spinner--bg-card {
350
+ background-color: var(--ina-background-dark-primary);
351
+ border-color: var(--ina-stroke-primary-dark);
352
+ }
353
+ } */
354
+
355
+ /* Reduced motion */
356
+ @media (prefers-reduced-motion: reduce) {
357
+ .ina-spinner__element,
358
+ .ina-spinner--variant-tail .ina-spinner__element,
359
+ .ina-spinner--variant-dots .ina-spinner__element,
360
+ .ina-spinner--variant-bars .ina-spinner__element {
361
+ animation: none;
362
+ }
363
+
364
+ .ina-spinner__element {
365
+ /* Show static spinner */
366
+ opacity: 0.7;
367
+ }
368
+
369
+ .ina-spinner--variant-dots .ina-spinner__element {
370
+ /* Show static dots */
371
+ opacity: 0.5;
372
+ }
373
+ }
374
+
375
+ /* High contrast mode */
376
+ @media (prefers-contrast: high) {
377
+ .ina-spinner__element {
378
+ border-width: 3px;
379
+ }
380
+
381
+ .ina-spinner__title {
382
+ font-weight: var(--ina-font-bold);
383
+ }
384
+ }
385
+
386
+ /* Accessibility improvements */
387
+ .ina-spinner[aria-hidden='true'] {
388
+ visibility: hidden;
389
+ }
390
+
391
+ .ina-spinner__sr-text {
392
+ position: absolute;
393
+ width: 1px;
394
+ height: 1px;
395
+ padding: 0;
396
+ margin: -1px;
397
+ overflow: hidden;
398
+ clip: rect(0, 0, 0, 0);
399
+ white-space: nowrap;
400
+ border: 0;
401
+ }
402
+
403
+ /* Print styles */
404
+ @media print {
405
+ .ina-spinner {
406
+ display: none;
407
+ }
408
+ }
409
+
410
+ /* Pulse animation alternative */
411
+ .ina-spinner__element--animation-pulse {
412
+ animation: spinnerPulse 2s ease-in-out infinite;
413
+ }
414
+
415
+ @keyframes spinnerPulse {
416
+ 0%,
417
+ 100% {
418
+ opacity: 1;
419
+ transform: scale(1);
420
+ }
421
+ 50% {
422
+ opacity: 0.5;
423
+ transform: scale(0.95);
424
+ }
425
+ }
426
+
427
+ /* Wave animation */
428
+ .ina-spinner__element--animation-wave {
429
+ animation: spinnerWave 2s ease-in-out infinite;
430
+ }
431
+
432
+ @keyframes spinnerWave {
433
+ 0%,
434
+ 100% {
435
+ transform: rotate(0deg);
436
+ opacity: 1;
437
+ }
438
+ 25% {
439
+ transform: rotate(90deg);
440
+ opacity: 0.7;
441
+ }
442
+ 50% {
443
+ transform: rotate(180deg);
444
+ opacity: 0.9;
445
+ }
446
+ 75% {
447
+ transform: rotate(270deg);
448
+ opacity: 0.7;
449
+ }
450
+ }
@@ -0,0 +1,209 @@
1
+ .ina-stepper {
2
+ display: flex;
3
+ width: 100%;
4
+ position: relative;
5
+ }
6
+
7
+ /* Horizontal Layout */
8
+ .ina-stepper--horizontal {
9
+ flex-direction: row;
10
+ align-items: flex-start;
11
+ justify-content: space-between;
12
+ }
13
+
14
+ /* Vertical Layout */
15
+ .ina-stepper--vertical {
16
+ flex-direction: column;
17
+ align-items: flex-start;
18
+ }
19
+
20
+ /* Responsive: Horizontal stepper becomes vertical on mobile */
21
+ .ina-stepper--horizontal-responsive {
22
+ flex-direction: row;
23
+ }
24
+
25
+ @media (max-width: 767px) {
26
+ .ina-stepper--horizontal-responsive {
27
+ flex-direction: column;
28
+ align-items: flex-start;
29
+ }
30
+
31
+ .ina-stepper--horizontal-responsive .ina-stepper__item {
32
+ width: 100%;
33
+ margin-bottom: 1rem;
34
+ align-items: flex-start;
35
+ }
36
+
37
+ .ina-stepper--horizontal-responsive .ina-stepper__separator {
38
+ width: 2px;
39
+ height: 2rem;
40
+ margin: 0;
41
+ flex-grow: 0;
42
+ align-self: flex-start;
43
+ /* Align to center of icon-wrapper: icon-wrapper is 24px, center is at 12px from left */
44
+ /* Separator width is 2px, so margin-left: 12px - 1px = 11px */
45
+ margin-left: 11px;
46
+ }
47
+
48
+ .ina-stepper--horizontal-responsive .ina-stepper__item:last-child {
49
+ margin-bottom: 0;
50
+ }
51
+ }
52
+
53
+ /* Step Item */
54
+ .ina-stepper__item {
55
+ display: flex;
56
+ flex-direction: column;
57
+ align-items: center;
58
+ text-align: center;
59
+ position: relative;
60
+ z-index: 1;
61
+ flex-shrink: 0;
62
+ padding: 0 0.5rem;
63
+ }
64
+
65
+ .ina-stepper--vertical .ina-stepper__item {
66
+ flex-direction: row;
67
+ text-align: left;
68
+ align-items: flex-start;
69
+ margin-bottom: 1rem;
70
+ padding: 0;
71
+ width: 100%;
72
+ }
73
+
74
+ .ina-stepper--vertical .ina-stepper__item:last-child {
75
+ margin-bottom: 0;
76
+ }
77
+
78
+ /* Icon Wrapper */
79
+ .ina-stepper__icon-wrapper {
80
+ width: 24px;
81
+ height: 24px;
82
+ min-width: 24px;
83
+ min-height: 24px;
84
+ border-radius: 4px;
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ font-size: 0.75rem;
89
+ font-weight: 500;
90
+ transition: background-color 0.2s ease, border-color 0.2s ease,
91
+ color 0.2s ease;
92
+ border: 1px solid var(--ina-stroke-primary);
93
+ color: var(--ina-content-secondary);
94
+ background-color: var(--ina-background-primary);
95
+ }
96
+
97
+ .ina-stepper--vertical .ina-stepper__icon-wrapper {
98
+ margin-right: 0.75rem;
99
+ }
100
+
101
+ .ina-stepper__step-number {
102
+ color: var(--ina-content-secondary);
103
+ font-size: 0.75rem;
104
+ font-weight: 500;
105
+ }
106
+
107
+ .ina-stepper__check-icon {
108
+ color: var(--ina-background-primary);
109
+ stroke: var(--ina-background-primary);
110
+ width: 16px;
111
+ height: 16px;
112
+ }
113
+
114
+ /* Label */
115
+ .ina-stepper__label {
116
+ margin-top: 0.5rem;
117
+ font-size: 0.75rem;
118
+ color: var(--ina-content-secondary);
119
+ transition: color 0.2s ease;
120
+ white-space: nowrap;
121
+ }
122
+
123
+ .ina-stepper--vertical .ina-stepper__label {
124
+ margin-top: 0;
125
+ flex-grow: 1;
126
+ }
127
+
128
+ /* Content (for vertical stepper) */
129
+ .ina-stepper__content {
130
+ margin-top: 0.5rem;
131
+ font-size: 0.875rem;
132
+ color: var(--ina-content-primary);
133
+ text-align: left;
134
+ width: 100%;
135
+ padding-left: calc(24px + 0.75rem);
136
+ }
137
+
138
+ /* Separator */
139
+ .ina-stepper__separator {
140
+ flex-grow: 1;
141
+ height: 2px;
142
+ background-color: var(--ina-stroke-primary);
143
+ /* Align to center of icon-wrapper: icon-wrapper is 24px, center is at 12px from top */
144
+ /* Separator height is 2px, so we need to position it so its center aligns with icon center */
145
+ /* Using align-self: center and margin-top to offset: 12px (icon center) - 1px (half separator) = 11px */
146
+ align-self: flex-start;
147
+ margin: 11px -0.5rem 0 -0.5rem;
148
+ position: relative;
149
+ z-index: 0;
150
+ transition: background-color 0.2s ease;
151
+ }
152
+
153
+ .ina-stepper--vertical .ina-stepper__separator {
154
+ width: 2px;
155
+ height: 2rem;
156
+ margin: 0;
157
+ flex-grow: 0;
158
+ align-self: flex-start;
159
+ /* Align to center of icon-wrapper: icon-wrapper is 24px, center is at 12px from left */
160
+ /* Separator width is 2px, so we need to position it so its center aligns with icon center */
161
+ /* margin-left: 12px (icon center) - 1px (half separator) = 11px */
162
+ margin-left: 11px;
163
+ }
164
+
165
+ /* States */
166
+ .ina-stepper__item--completed .ina-stepper__icon-wrapper {
167
+ background-color: var(--ina-semantic-success);
168
+ border-color: var(--ina-semantic-success);
169
+ color: var(--ina-background-primary);
170
+ }
171
+
172
+ .ina-stepper__item--completed .ina-stepper__label {
173
+ color: var(--ina-content-primary);
174
+ }
175
+
176
+ .ina-stepper__item--active .ina-stepper__icon-wrapper {
177
+ border-color: var(--ina-semantic-info);
178
+ color: var(--ina-semantic-info);
179
+ background-color: var(--ina-background-primary);
180
+ }
181
+
182
+ .ina-stepper__item--active .ina-stepper__label {
183
+ color: var(--ina-content-primary);
184
+ font-weight: 500;
185
+ }
186
+
187
+ .ina-stepper__item--clickable {
188
+ cursor: pointer;
189
+ }
190
+
191
+ .ina-stepper__item--clickable:hover .ina-stepper__icon-wrapper {
192
+ border-color: var(--ina-semantic-info);
193
+ }
194
+
195
+ .ina-stepper__item--disabled {
196
+ opacity: 0.6;
197
+ cursor: not-allowed;
198
+ }
199
+
200
+ /* Completed separator - thick 2px stroke-primary */
201
+ .ina-stepper__separator--completed {
202
+ background-color: var(--ina-stroke-primary);
203
+ height: 2px;
204
+ }
205
+
206
+ .ina-stepper--vertical .ina-stepper__separator--completed {
207
+ width: 2px;
208
+ height: 2rem;
209
+ }