@idds/styles 1.2.11 → 1.2.13

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 (96) hide show
  1. package/README.md +178 -42
  2. package/dist/base.css +1071 -0
  3. package/dist/base.min.css +1 -0
  4. package/dist/index.css +14801 -0
  5. package/dist/index.min.css +15 -0
  6. package/dist/tailwind/css/bgn.min.css +1 -0
  7. package/dist/tailwind/css/bkn.min.css +1 -0
  8. package/dist/tailwind/css/idds.min.css +1 -0
  9. package/dist/tailwind/css/inagov.min.css +1 -0
  10. package/dist/tailwind/css/inaku.min.css +1 -0
  11. package/dist/tailwind/css/inapas.min.css +1 -0
  12. package/dist/tailwind/css/lan.min.css +1 -0
  13. package/dist/tailwind/css/pan-rb.min.css +1 -0
  14. package/package.json +31 -21
  15. package/src/colors/brands/bgn.css +0 -30
  16. package/src/colors/brands/bkn.css +0 -33
  17. package/src/colors/brands/inagov.css +0 -40
  18. package/src/colors/brands/inaku.css +0 -29
  19. package/src/colors/brands/inapas.css +0 -29
  20. package/src/colors/brands/lan.css +0 -39
  21. package/src/colors/brands/pan-rb.css +0 -31
  22. package/src/colors/index.css +0 -11
  23. package/src/colors/primitives/index.css +0 -175
  24. package/src/colors/product/index.css +0 -205
  25. package/src/colors/utilities/index.css +0 -77
  26. package/src/components/accordion-card.css +0 -99
  27. package/src/components/accordion.css +0 -120
  28. package/src/components/action-dropdown.css +0 -140
  29. package/src/components/alert.css +0 -180
  30. package/src/components/avatar.css +0 -182
  31. package/src/components/badge.css +0 -247
  32. package/src/components/bottom-sheet.css +0 -61
  33. package/src/components/breadcrumb.css +0 -97
  34. package/src/components/button-group.css +0 -130
  35. package/src/components/button.css +0 -241
  36. package/src/components/card.css +0 -576
  37. package/src/components/carousel.css +0 -100
  38. package/src/components/chart.css +0 -81
  39. package/src/components/checkbox.css +0 -211
  40. package/src/components/chip.css +0 -245
  41. package/src/components/collapse.css +0 -84
  42. package/src/components/confirmation.css +0 -131
  43. package/src/components/date-picker.css +0 -1059
  44. package/src/components/divider.css +0 -174
  45. package/src/components/drawer.css +0 -752
  46. package/src/components/dropdown.css +0 -370
  47. package/src/components/field-input-table.css +0 -347
  48. package/src/components/file-upload.css +0 -333
  49. package/src/components/input-search.css +0 -428
  50. package/src/components/linear-progress-indicator.css +0 -34
  51. package/src/components/modal.css +0 -507
  52. package/src/components/month-picker.css +0 -326
  53. package/src/components/multiple-choice-grid.css +0 -383
  54. package/src/components/one-time-password.css +0 -119
  55. package/src/components/pagination.css +0 -429
  56. package/src/components/password-input.css +0 -477
  57. package/src/components/phone-input.css +0 -412
  58. package/src/components/progress-bar.css +0 -447
  59. package/src/components/radio-input.css +0 -277
  60. package/src/components/reset.css +0 -431
  61. package/src/components/select-dropdown.css +0 -663
  62. package/src/components/select-option.css +0 -217
  63. package/src/components/single-file-upload.css +0 -186
  64. package/src/components/skeleton.css +0 -488
  65. package/src/components/spinner.css +0 -450
  66. package/src/components/stepper.css +0 -260
  67. package/src/components/tab-horizontal.css +0 -278
  68. package/src/components/tab-vertical.css +0 -261
  69. package/src/components/table-progress-bar.css +0 -48
  70. package/src/components/table.css +0 -538
  71. package/src/components/text-area.css +0 -220
  72. package/src/components/text-field.css +0 -278
  73. package/src/components/theme-toggle.css +0 -259
  74. package/src/components/time-picker.css +0 -436
  75. package/src/components/toast.css +0 -265
  76. package/src/components/toggle.css +0 -195
  77. package/src/components/tooltip.css +0 -343
  78. package/src/components/year-picker.css +0 -424
  79. package/src/index.css +0 -3
  80. /package/{src → dist}/tailwind/css/bgn.css +0 -0
  81. /package/{src → dist}/tailwind/css/bkn.css +0 -0
  82. /package/{src → dist}/tailwind/css/idds.css +0 -0
  83. /package/{src → dist}/tailwind/css/inagov.css +0 -0
  84. /package/{src → dist}/tailwind/css/inaku.css +0 -0
  85. /package/{src → dist}/tailwind/css/inapas.css +0 -0
  86. /package/{src → dist}/tailwind/css/lan.css +0 -0
  87. /package/{src → dist}/tailwind/css/pan-rb.css +0 -0
  88. /package/{src → dist}/tailwind/ts/bgn.ts +0 -0
  89. /package/{src → dist}/tailwind/ts/bkn.ts +0 -0
  90. /package/{src → dist}/tailwind/ts/default.ts +0 -0
  91. /package/{src → dist}/tailwind/ts/idds.ts +0 -0
  92. /package/{src → dist}/tailwind/ts/inagov.ts +0 -0
  93. /package/{src → dist}/tailwind/ts/inaku.ts +0 -0
  94. /package/{src → dist}/tailwind/ts/inapas.ts +0 -0
  95. /package/{src → dist}/tailwind/ts/lan.ts +0 -0
  96. /package/{src → dist}/tailwind/ts/pan-rb.ts +0 -0
@@ -1,259 +0,0 @@
1
- /* =========================== */
2
- /* THEME TOGGLE STYLES */
3
- /* =========================== */
4
-
5
- .ina-theme-toggle {
6
- display: inline-flex;
7
- align-items: center;
8
- gap: var(--ina-spacing-3);
9
- }
10
-
11
- /* Label */
12
- .ina-theme-toggle__label {
13
- font-size: var(--ina-font-sm);
14
- font-weight: var(--ina-font-medium);
15
- color: var(--ina-text-secondary);
16
- white-space: nowrap;
17
- }
18
-
19
- /* Main Toggle Button */
20
- .ina-theme-toggle__button {
21
- position: relative;
22
- display: inline-flex;
23
- align-items: center;
24
- justify-content: center;
25
- border: none;
26
- background-color: transparent;
27
- cursor: pointer;
28
- border-radius: var(--ina-radius-full);
29
- padding: var(--ina-spacing-2);
30
- transition: all var(--ina-transition-base);
31
- }
32
-
33
- .ina-theme-toggle__button:hover {
34
- background-color: var(--ina-background-secondary);
35
- transform: scale(1.05);
36
- }
37
-
38
- .ina-theme-toggle__button:active {
39
- transform: scale(0.95);
40
- }
41
-
42
- .ina-theme-toggle__button:focus-visible {
43
- outline: 2px solid var(--ina-primary-500);
44
- outline-offset: 2px;
45
- }
46
-
47
- /* Icon Container */
48
- .ina-theme-toggle__icon {
49
- position: relative;
50
- display: flex;
51
- align-items: center;
52
- justify-content: center;
53
- color: var(--ina-text-secondary);
54
- transition: all var(--ina-transition-base);
55
- z-index: 2;
56
- }
57
-
58
- /* Icon Colors for Light Mode */
59
- [data-theme='light'] .ina-theme-toggle__icon {
60
- color: var(--ina-primary-600);
61
- }
62
-
63
- [data-theme='dark'] .ina-theme-toggle__icon {
64
- color: var(--ina-primary-400);
65
- }
66
-
67
- /* Track */
68
- .ina-theme-toggle__track {
69
- position: absolute;
70
- top: 50%;
71
- left: 50%;
72
- transform: translate(-50%, -50%);
73
- width: 24px;
74
- height: 12px;
75
- background-color: var(--ina-neutral-300);
76
- border-radius: var(--ina-radius-full);
77
- transition: all var(--ina-transition-base);
78
- z-index: 1;
79
- }
80
-
81
- /* Track active state */
82
- [data-theme='dark'] .ina-theme-toggle__track {
83
- background-color: var(--ina-primary-500);
84
- }
85
-
86
- /* Size variants */
87
- .ina-theme-toggle--size-sm {
88
- gap: var(--ina-spacing-2);
89
- }
90
-
91
- .ina-theme-toggle--size-sm .ina-theme-toggle__label {
92
- font-size: var(--ina-font-xs);
93
- }
94
-
95
- .ina-theme-toggle--size-sm .ina-theme-toggle__button {
96
- padding: var(--ina-spacing-1);
97
- min-width: 32px;
98
- height: 32px;
99
- }
100
-
101
- .ina-theme-toggle--size-sm .ina-theme-toggle__track {
102
- width: 20px;
103
- height: 10px;
104
- }
105
-
106
- .ina-theme-toggle--size-md .ina-theme-toggle__button {
107
- padding: var(--ina-spacing-2);
108
- min-width: 40px;
109
- height: 40px;
110
- }
111
-
112
- .ina-theme-toggle--size-md .ina-theme-toggle__track {
113
- width: 24px;
114
- height: 12px;
115
- }
116
-
117
- .ina-theme-toggle--size-lg {
118
- gap: var(--ina-spacing-4);
119
- }
120
-
121
- .ina-theme-toggle--size-lg .ina-theme-toggle__label {
122
- font-size: var(--ina-font-base);
123
- }
124
-
125
- .ina-theme-toggle--size-lg .ina-theme-toggle__button {
126
- padding: var(--ina-spacing-3);
127
- min-width: 48px;
128
- height: 48px;
129
- }
130
-
131
- .ina-theme-toggle--size-lg .ina-theme-toggle__track {
132
- width: 28px;
133
- height: 14px;
134
- }
135
-
136
- /* Responsive adjustments */
137
- @media (max-width: 640px) {
138
- .ina-theme-toggle__label {
139
- font-size: var(--ina-font-xs); /* Turun dari sm ke xs */
140
- }
141
-
142
- .ina-theme-toggle--size-sm .ina-theme-toggle__label {
143
- font-size: var(--ina-font-xs); /* Tetap xs */
144
- }
145
-
146
- .ina-theme-toggle--size-lg .ina-theme-toggle__label {
147
- font-size: var(--ina-font-sm); /* Turun dari base ke sm */
148
- }
149
- }
150
-
151
- /* Animation for icon rotation */
152
- .ina-theme-toggle__icon {
153
- animation: none;
154
- }
155
-
156
- [data-theme='light'] .ina-theme-toggle__icon:last-child {
157
- animation: rotate-in 0.3s ease-out;
158
- }
159
-
160
- [data-theme='dark'] .ina-theme-toggle__icon:first-child {
161
- animation: rotate-out 0.3s ease-out;
162
- }
163
-
164
- /* Keyframes */
165
- @keyframes rotate-in {
166
- from {
167
- opacity: 0;
168
- transform: rotate(-90deg);
169
- }
170
- to {
171
- opacity: 1;
172
- transform: rotate(0deg);
173
- }
174
- }
175
-
176
- @keyframes rotate-out {
177
- from {
178
- opacity: 0;
179
- transform: rotate(90deg);
180
- }
181
- to {
182
- opacity: 1;
183
- transform: rotate(0deg);
184
- }
185
- }
186
-
187
- /* Hover effects */
188
- .ina-theme-toggle__button:hover .ina-theme-toggle__icon {
189
- color: var(--ina-content-primary);
190
- }
191
-
192
- [data-theme='light'] .ina-theme-toggle__button:hover .ina-theme-toggle__icon {
193
- color: var(--ina-primary-500);
194
- }
195
-
196
- [data-theme='dark'] .ina-theme-toggle__button:hover .ina-theme-toggle__icon {
197
- color: var(--ina-primary-300);
198
- }
199
-
200
- /* Disabled state */
201
- .ina-theme-toggle--disabled .ina-theme-toggle__button {
202
- cursor: not-allowed;
203
- opacity: 0.5;
204
- }
205
-
206
- .ina-theme-toggle--disabled .ina-theme-toggle__button:hover {
207
- background-color: transparent;
208
- transform: none;
209
- }
210
-
211
- .ina-theme-toggle--disabled .ina-theme-toggle__icon {
212
- color: var(--ina-content-tertiary);
213
- }
214
-
215
- /* Accessible focus ring */
216
- .ina-theme-toggle__button:focus-visible {
217
- box-shadow: 0 0 0 2px var(--ina-background-primary),
218
- 0 0 0 4px var(--ina-primary-500);
219
- }
220
-
221
- /* High contrast mode */
222
- @media (prefers-contrast: high) {
223
- .ina-theme-toggle__button {
224
- border: 2px solid var(--ina-stroke-primary);
225
- }
226
-
227
- .ina-theme-toggle__track {
228
- border: 1px solid var(--ina-stroke-primary);
229
- }
230
-
231
- .ina-theme-toggle__button:focus-visible {
232
- outline-width: 3px;
233
- }
234
- }
235
-
236
- /* Reduced motion */
237
- @media (prefers-reduced-motion: reduce) {
238
- .ina-theme-toggle__button,
239
- .ina-theme-toggle__icon {
240
- transition: none;
241
- }
242
-
243
- .ina-theme-toggle__icon {
244
- animation: none;
245
- }
246
- }
247
-
248
- /* Dark mode specific adjustments */
249
- [data-theme='dark'] .ina-theme-toggle {
250
- /* Ensure proper contrast in dark mode */
251
- }
252
-
253
- [data-theme='dark'] .ina-theme-toggle__label {
254
- color: var(--ina-text-secondary);
255
- }
256
-
257
- [data-theme='dark'] .ina-theme-toggle__button:hover {
258
- background-color: var(--ina-background-secondary);
259
- }
@@ -1,436 +0,0 @@
1
- /* =========================== */
2
- /* TIME PICKER STYLES */
3
- /* =========================== */
4
-
5
- .ina-time-picker {
6
- position: relative;
7
- display: inline-block;
8
- background-color: inherit;
9
- }
10
-
11
- /* Wrapper */
12
- .ina-time-picker__wrapper {
13
- position: relative;
14
- display: flex;
15
- align-items: center;
16
- background-color: var(--ina-background-primary);
17
- border: 1px solid var(--ina-stroke-primary);
18
- border-radius: var(--ina-radius-lg);
19
- transition: all var(--ina-transition-base);
20
- }
21
-
22
- /* Size variants */
23
- .ina-time-picker--size-sm .ina-time-picker__wrapper {
24
- /* Desktop >= 768px */
25
- height: 40px;
26
- }
27
-
28
- .ina-time-picker--size-md .ina-time-picker__wrapper {
29
- /* Desktop >= 768px */
30
- height: 44px;
31
- }
32
-
33
- .ina-time-picker--size-lg .ina-time-picker__wrapper {
34
- /* Desktop >= 768px */
35
- height: 48px;
36
- }
37
-
38
- /* Responsive adjustments */
39
- @media (max-width: 767px) {
40
- .ina-time-picker--size-sm .ina-time-picker__wrapper {
41
- height: 36px;
42
- }
43
-
44
- .ina-time-picker--size-md .ina-time-picker__wrapper {
45
- height: 40px;
46
- }
47
-
48
- .ina-time-picker--size-lg .ina-time-picker__wrapper {
49
- height: 44px;
50
- }
51
- }
52
-
53
- @media (max-width: 639px) {
54
- .ina-time-picker--size-sm .ina-time-picker__wrapper {
55
- height: 32px;
56
- }
57
-
58
- .ina-time-picker--size-md .ina-time-picker__wrapper {
59
- height: 36px;
60
- }
61
-
62
- .ina-time-picker--size-lg .ina-time-picker__wrapper {
63
- height: 40px;
64
- }
65
- }
66
-
67
- .ina-time-picker__wrapper:hover {
68
- border-color: var(--ina-stroke-secondary);
69
- }
70
-
71
- .ina-time-picker--open .ina-time-picker__wrapper {
72
- border-color: var(--ina-primary-primary);
73
- box-shadow: 0 0 0 2px var(--ina-primary-50);
74
- }
75
-
76
- /* Input */
77
- .ina-time-picker__input {
78
- width: 100%;
79
- border: none;
80
- outline: none;
81
- background-color: transparent;
82
- color: var(--ina-content-primary);
83
- font-size: var(--ina-font-sm);
84
- font-weight: var(--ina-font-normal);
85
- line-height: var(--ina-line-height-sm);
86
- transition: all var(--ina-transition-base);
87
- }
88
-
89
- .ina-time-picker__input::placeholder {
90
- color: var(--ina-content-tertiary);
91
- }
92
-
93
- .ina-time-picker__input:focus {
94
- outline: none;
95
- }
96
-
97
- /* Prefix and Suffix Icons */
98
- .ina-time-picker__prefix-icon,
99
- .ina-time-picker__suffix-icon {
100
- display: flex;
101
- align-items: center;
102
- justify-content: center;
103
- color: var(--ina-text-secondary);
104
- pointer-events: none;
105
- }
106
-
107
- .ina-time-picker__suffix-icon {
108
- cursor: pointer;
109
- pointer-events: all;
110
- }
111
-
112
- /* Clear Button */
113
- .ina-time-picker__clear-button {
114
- display: flex;
115
- align-items: center;
116
- justify-content: center;
117
- width: 16px;
118
- height: 16px;
119
- border: none;
120
- background-color: var(--ina-background-secondary);
121
- color: var(--ina-text-secondary);
122
- cursor: pointer;
123
- border-radius: var(--ina-radius-full);
124
- font-size: 12px;
125
- font-weight: var(--ina-font-medium);
126
- transition: all var(--ina-transition-fast);
127
- }
128
-
129
- .ina-time-picker__clear-button:hover {
130
- background-color: var(--ina-background-tertiary);
131
- color: var(--ina-content-primary);
132
- }
133
-
134
- /* Size Variants */
135
- .ina-time-picker--size-sm .ina-time-picker__wrapper {
136
- padding: var(--ina-spacing-1) var(--ina-spacing-2);
137
- min-height: 32px;
138
- }
139
-
140
- .ina-time-picker--size-sm .ina-time-picker__input {
141
- font-size: var(--ina-font-xs);
142
- padding: 0 var(--ina-spacing-1);
143
- }
144
-
145
- .ina-time-picker--size-sm .ina-time-picker__prefix-icon,
146
- .ina-time-picker--size-sm .ina-time-picker__suffix-icon {
147
- margin: 0 var(--ina-spacing-1);
148
- }
149
-
150
- .ina-time-picker--size-md .ina-time-picker__wrapper {
151
- padding: var(--ina-spacing-2) var(--ina-spacing-3);
152
- min-height: 40px;
153
- }
154
-
155
- .ina-time-picker--size-md .ina-time-picker__input {
156
- font-size: var(--ina-font-sm);
157
- padding: 0 var(--ina-spacing-1);
158
- }
159
-
160
- .ina-time-picker--size-md .ina-time-picker__prefix-icon,
161
- .ina-time-picker--size-md .ina-time-picker__suffix-icon {
162
- margin: 0 var(--ina-spacing-1);
163
- }
164
-
165
- .ina-time-picker--size-lg .ina-time-picker__wrapper {
166
- padding: var(--ina-spacing-3) var(--ina-spacing-4);
167
- min-height: 48px;
168
- }
169
-
170
- .ina-time-picker--size-lg .ina-time-picker__input {
171
- font-size: var(--ina-font-base);
172
- padding: 0 var(--ina-spacing-2);
173
- }
174
-
175
- .ina-time-picker--size-lg .ina-time-picker__prefix-icon,
176
- .ina-time-picker--size-lg .ina-time-picker__suffix-icon {
177
- margin: 0 var(--ina-spacing-2);
178
- }
179
-
180
- /* Status Variants */
181
- .ina-time-picker--status-error .ina-time-picker__wrapper {
182
- border-color: var(--ina-error-500);
183
- }
184
-
185
- .ina-time-picker--status-error.ina-time-picker--open .ina-time-picker__wrapper {
186
- box-shadow: 0 0 0 2px var(--ina-error-50);
187
- }
188
-
189
- .ina-time-picker--status-warning .ina-time-picker__wrapper {
190
- border-color: var(--ina-warning-500);
191
- }
192
-
193
- .ina-time-picker--status-warning.ina-time-picker--open
194
- .ina-time-picker__wrapper {
195
- box-shadow: 0 0 0 2px var(--ina-warning-50);
196
- }
197
-
198
- .ina-time-picker--status-success .ina-time-picker__wrapper {
199
- border-color: var(--ina-success-500);
200
- }
201
-
202
- .ina-time-picker--status-success.ina-time-picker--open
203
- .ina-time-picker__wrapper {
204
- box-shadow: 0 0 0 2px var(--ina-success-50);
205
- }
206
-
207
- /* Disabled State */
208
- .ina-time-picker--disabled .ina-time-picker__wrapper {
209
- background-color: var(--ina-background-secondary);
210
- border-color: var(--ina-stroke-primary);
211
- cursor: not-allowed;
212
- }
213
-
214
- .ina-time-picker--disabled .ina-time-picker__input {
215
- cursor: not-allowed;
216
- opacity: 0.6;
217
- }
218
-
219
- .ina-time-picker--disabled .ina-time-picker__suffix-icon {
220
- cursor: not-allowed;
221
- }
222
-
223
- /* Panel */
224
- .ina-time-picker__panel {
225
- position: absolute;
226
- top: 100%;
227
- left: 0;
228
- right: 0;
229
- z-index: 1000;
230
- background-color: var(--ina-background-primary);
231
- border: 1px solid var(--ina-stroke-primary);
232
- border-radius: var(--ina-radius-lg);
233
- box-shadow: var(--ina-shadow-lg);
234
- margin-top: var(--ina-spacing-2);
235
- min-width: 200px;
236
- overflow: hidden;
237
- animation: time-picker-fade-in 0.15s ease-out;
238
- }
239
-
240
- @keyframes time-picker-fade-in {
241
- from {
242
- opacity: 0;
243
- transform: translateY(-4px);
244
- }
245
- to {
246
- opacity: 1;
247
- transform: translateY(0);
248
- }
249
- }
250
-
251
- /* Panel Content */
252
- .ina-time-picker__content {
253
- display: flex;
254
- max-height: 200px;
255
- overflow: hidden;
256
- }
257
-
258
- /* Columns */
259
- .ina-time-picker__column {
260
- flex: 1;
261
- border-right: 1px solid var(--ina-stroke-primary);
262
- overflow-y: auto;
263
- scrollbar-width: none;
264
- -ms-overflow-style: none;
265
- }
266
-
267
- .ina-time-picker__column::-webkit-scrollbar {
268
- display: none;
269
- }
270
-
271
- .ina-time-picker__column:last-child {
272
- border-right: none;
273
- }
274
-
275
- .ina-time-picker__column--hovered {
276
- background-color: var(--ina-background-secondary);
277
- }
278
-
279
- /* Column Content */
280
- .ina-time-picker__column-content {
281
- padding: var(--ina-spacing-2);
282
- }
283
-
284
- /* Options */
285
- .ina-time-picker__option {
286
- display: flex;
287
- align-items: center;
288
- justify-content: center;
289
- min-height: 32px;
290
- padding: var(--ina-spacing-1) var(--ina-spacing-2);
291
- color: var(--ina-text-secondary);
292
- font-size: var(--ina-font-sm);
293
- font-weight: var(--ina-font-medium);
294
- cursor: pointer;
295
- border-radius: var(--ina-radius-lg);
296
- transition: all var(--ina-transition-fast);
297
- user-select: none;
298
- }
299
-
300
- .ina-time-picker__option:hover {
301
- background-color: var(--ina-background-tertiary);
302
- color: var(--ina-content-primary);
303
- }
304
-
305
- .ina-time-picker__option--hovered {
306
- background-color: var(--ina-background-tertiary);
307
- color: var(--ina-content-primary);
308
- }
309
-
310
- .ina-time-picker__option--selected {
311
- background-color: var(--ina-primary-primary);
312
- color: var(--ina-white);
313
- }
314
-
315
- .ina-time-picker__option--selected:hover {
316
- background-color: var(--ina-primary-600);
317
- color: var(--ina-white);
318
- }
319
-
320
- .ina-time-picker__option--disabled {
321
- opacity: 0.5;
322
- cursor: not-allowed;
323
- color: var(--ina-content-tertiary);
324
- }
325
-
326
- .ina-time-picker__option--disabled:hover {
327
- background-color: transparent;
328
- color: var(--ina-content-tertiary);
329
- }
330
-
331
- /* Actions */
332
- .ina-time-picker__actions {
333
- display: grid;
334
- grid-template-columns: 1fr auto; /* keep confirm on the far right */
335
- align-items: center;
336
- gap: var(--ina-spacing-2);
337
- padding: var(--ina-spacing-2) var(--ina-spacing-3);
338
- border-top: 1px solid var(--ina-stroke-primary);
339
- background-color: var(--ina-background-secondary);
340
- }
341
-
342
- /* When both buttons exist, place them in two columns */
343
- .ina-time-picker__action-button {
344
- justify-self: start;
345
- }
346
-
347
- .ina-time-picker__confirm-button {
348
- justify-self: end; /* always right aligned */
349
- }
350
-
351
- .ina-time-picker__action-button,
352
- .ina-time-picker__confirm-button {
353
- padding: var(--ina-spacing-1) var(--ina-spacing-3);
354
- border: none;
355
- border-radius: var(--ina-radius-lg);
356
- font-size: var(--ina-font-sm);
357
- font-weight: var(--ina-font-medium);
358
- cursor: pointer;
359
- transition: all var(--ina-transition-fast);
360
- }
361
-
362
- .ina-time-picker__action-button {
363
- background-color: transparent;
364
- color: var(--ina-primary-600);
365
- }
366
-
367
- .ina-time-picker__action-button:hover {
368
- background-color: var(--ina-primary-50);
369
- color: var(--ina-primary-700);
370
- }
371
-
372
- .ina-time-picker__confirm-button {
373
- background-color: var(--ina-primary-primary);
374
- color: var(--ina-white);
375
- }
376
-
377
- .ina-time-picker__confirm-button:hover {
378
- background-color: var(--ina-primary-600);
379
- }
380
- /* Focus styles - Sesuai design Figma */
381
- .ina-time-picker__wrapper:focus-within {
382
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px #f3f3f3;
383
- outline: none;
384
- background-color: var(--ina-background-primary);
385
- }
386
- /* hover styles - Sesuai design Figma */
387
- .ina-time-picker__wrapper:hover {
388
- background-color: var(--ina-neutral-50);
389
- }
390
- /* High Contrast Mode */
391
- @media (prefers-contrast: high) {
392
- .ina-time-picker__wrapper {
393
- border-width: 2px;
394
- }
395
-
396
- .ina-time-picker__panel {
397
- border-width: 2px;
398
- }
399
- }
400
-
401
- /* Reduced Motion */
402
- @media (prefers-reduced-motion: reduce) {
403
- .ina-time-picker__wrapper,
404
- .ina-time-picker__panel,
405
- .ina-time-picker__option {
406
- transition: none;
407
- }
408
-
409
- .ina-time-picker__panel {
410
- animation: none;
411
- }
412
- }
413
-
414
- /* Responsive Design */
415
- @media (max-width: 640px) {
416
- .ina-time-picker__panel {
417
- /* Keep absolute positioning like SelectDropdown */
418
- position: absolute;
419
- top: 100%;
420
- left: 0;
421
- right: auto;
422
- transform: none;
423
- width: 90vw;
424
- max-width: 320px;
425
- margin-top: var(--ina-spacing-1);
426
- }
427
-
428
- .ina-time-picker__content {
429
- max-height: 180px;
430
- }
431
-
432
- .ina-time-picker__option {
433
- min-height: 40px;
434
- font-size: var(--ina-font-base);
435
- }
436
- }