@dandydwi/pertamina-design-system 1.0.0

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.
package/dist/index.css ADDED
@@ -0,0 +1,398 @@
1
+ /* src/app/lib/theme/theme.css */
2
+ :root {
3
+ --color-primary: #e30613;
4
+ --color-secondary: #00a859;
5
+ --color-accent: #0072bc;
6
+ --color-dark: #1f2937;
7
+ --color-light: #f9fafb;
8
+ --space-xs: 4px;
9
+ --space-sm: 8px;
10
+ --space-md: 16px;
11
+ --space-lg: 24px;
12
+ --font-family: "Inter", sans-serif;
13
+ --font-sm: 14px;
14
+ --font-md: 16px;
15
+ --font-lg: 20px;
16
+ --radius-sm: 4px;
17
+ --radius-md: 6px;
18
+ --radius-lg: 10px;
19
+ }
20
+
21
+ /* src/app/lib/ui/button/Button.module.css */
22
+ .button {
23
+ display: inline-flex;
24
+ align-items: center;
25
+ justify-content: center;
26
+ gap: 8px;
27
+ padding: 10px 20px;
28
+ border-radius: 8px;
29
+ border: none;
30
+ font-size: 15px;
31
+ font-weight: 600;
32
+ cursor: pointer;
33
+ color: white;
34
+ position: relative;
35
+ overflow: hidden;
36
+ transition: 0.25s ease;
37
+ }
38
+ .button__icon {
39
+ font-size: 16px;
40
+ opacity: 0.9;
41
+ }
42
+ .button__label {
43
+ z-index: 2;
44
+ }
45
+ .button__shine {
46
+ position: absolute;
47
+ left: -40%;
48
+ top: 0;
49
+ width: 40%;
50
+ height: 100%;
51
+ background: rgba(255, 255, 255, 0.18);
52
+ transform: skewX(-20deg);
53
+ transition: 0.3s ease;
54
+ }
55
+ .button:hover .button__shine {
56
+ left: 120%;
57
+ }
58
+ .button--primary {
59
+ background: #e60000;
60
+ box-shadow: 0 4px 10px rgba(255, 0, 0, 0.35);
61
+ }
62
+ .button--primary:hover {
63
+ background: #ff1a1a;
64
+ }
65
+ .button--secondary {
66
+ background: #004a99;
67
+ box-shadow: 0 4px 10px rgba(0, 100, 180, 0.35);
68
+ }
69
+ .button--secondary:hover {
70
+ background: #0060c9;
71
+ }
72
+ .button--danger {
73
+ background: #d97706;
74
+ box-shadow: 0 4px 10px rgba(255, 180, 80, 0.28);
75
+ }
76
+ .button--danger:hover {
77
+ background: #f28c1d;
78
+ }
79
+ .button--small {
80
+ padding: 6px 14px;
81
+ font-size: 13px;
82
+ }
83
+ .button--medium {
84
+ padding: 10px 20px;
85
+ font-size: 15px;
86
+ }
87
+ .button--large {
88
+ padding: 14px 26px;
89
+ font-size: 17px;
90
+ }
91
+ .button--disabled {
92
+ opacity: 0.5;
93
+ cursor: not-allowed;
94
+ filter: grayscale(0.8);
95
+ }
96
+
97
+ /* src/app/lib/ui/card/Card.module.css */
98
+ .card {
99
+ width: 320px;
100
+ border-radius: 16px;
101
+ overflow: hidden;
102
+ display: flex;
103
+ flex-direction: column;
104
+ background: #0a1a3f;
105
+ border: 1px solid rgba(255, 255, 255, 0.08);
106
+ box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
107
+ transition: transform 0.25s ease, box-shadow 0.25s ease;
108
+ }
109
+ .card:hover {
110
+ transform: translateY(-5px);
111
+ box-shadow: 0 10px 26px rgba(0, 0, 0, 0.45);
112
+ }
113
+ .card__imageWrapper {
114
+ height: 160px;
115
+ overflow: hidden;
116
+ }
117
+ .card__image {
118
+ width: 100%;
119
+ height: 100%;
120
+ object-fit: cover;
121
+ transition: transform 0.35s ease;
122
+ }
123
+ .card:hover .card__image {
124
+ transform: scale(1.1);
125
+ }
126
+ .card__content {
127
+ padding: 14px 18px;
128
+ color: white;
129
+ }
130
+ .card__title {
131
+ font-size: 20px;
132
+ margin: 0 0 6px;
133
+ font-weight: 700;
134
+ }
135
+ .card__description {
136
+ font-size: 15px;
137
+ opacity: 0.85;
138
+ line-height: 1.5;
139
+ }
140
+ .card__tag {
141
+ background: rgba(255, 255, 255, 0.12);
142
+ padding: 8px 16px;
143
+ font-size: 13px;
144
+ font-weight: 600;
145
+ color: white;
146
+ text-align: center;
147
+ backdrop-filter: blur(6px);
148
+ }
149
+ .card--primary {
150
+ border-color: rgba(0, 85, 180, 0.55);
151
+ }
152
+ .card--danger {
153
+ border-color: rgba(220, 0, 0, 0.55);
154
+ }
155
+
156
+ /* src/app/lib/ui/container/Container.module.css */
157
+ .container {
158
+ width: 100%;
159
+ max-width: 780px;
160
+ padding: 26px;
161
+ border-radius: 18px;
162
+ display: flex;
163
+ flex-direction: column;
164
+ gap: 16px;
165
+ background: rgba(10, 25, 50, 0.55);
166
+ backdrop-filter: blur(10px);
167
+ border: 1px solid rgba(255, 255, 255, 0.12);
168
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
169
+ transition: transform 0.25s ease, box-shadow 0.25s ease;
170
+ }
171
+ .container:hover {
172
+ transform: translateY(-4px);
173
+ box-shadow: 0 10px 26px rgba(0, 0, 0, 0.45);
174
+ }
175
+ .container--primary {
176
+ border-color: rgba(0, 85, 180, 0.55);
177
+ }
178
+ .container--danger {
179
+ border-color: rgba(200, 0, 0, 0.55);
180
+ }
181
+ .container__header {
182
+ display: flex;
183
+ flex-direction: column;
184
+ gap: 4px;
185
+ }
186
+ .container__title {
187
+ font-size: 24px;
188
+ font-weight: 700;
189
+ color: white;
190
+ }
191
+ .container__subtitle {
192
+ font-size: 15px;
193
+ opacity: 0.85;
194
+ color: white;
195
+ }
196
+ .container__content {
197
+ padding: 16px;
198
+ border-radius: 12px;
199
+ background: rgba(255, 255, 255, 0.12);
200
+ color: white;
201
+ line-height: 1.5;
202
+ }
203
+ .container__footer {
204
+ margin-top: 10px;
205
+ font-size: 13px;
206
+ opacity: 0.7;
207
+ text-align: right;
208
+ color: white;
209
+ }
210
+
211
+ /* src/app/lib/ui/form/Form.module.css */
212
+ .form {
213
+ width: 420px;
214
+ padding: 22px;
215
+ border-radius: 16px;
216
+ display: flex;
217
+ flex-direction: column;
218
+ gap: 14px;
219
+ border: 1px solid rgba(255, 255, 255, 0.12);
220
+ background: rgba(10, 25, 50, 0.55);
221
+ backdrop-filter: blur(10px);
222
+ transition: 0.3s ease;
223
+ }
224
+ .form--primary {
225
+ border-color: rgba(0, 85, 180, 0.5);
226
+ }
227
+ .form--danger {
228
+ border-color: rgba(200, 0, 0, 0.5);
229
+ }
230
+ .form__group {
231
+ display: flex;
232
+ flex-direction: column;
233
+ gap: 6px;
234
+ }
235
+ .form__label {
236
+ font-size: 14px;
237
+ font-weight: bold;
238
+ color: #ffffffcc;
239
+ }
240
+ .form__input {
241
+ padding: 12px;
242
+ border-radius: 10px;
243
+ border: 1px solid rgba(255, 255, 255, 0.18);
244
+ background: rgba(255, 255, 255, 0.08);
245
+ font-size: 14px;
246
+ color: white;
247
+ outline: none;
248
+ transition: 0.25s ease;
249
+ }
250
+ .form__input:focus {
251
+ border-color: #0077ff;
252
+ background: rgba(255, 255, 255, 0.18);
253
+ }
254
+ .form__textarea {
255
+ height: 90px;
256
+ resize: none;
257
+ }
258
+ .form__submit {
259
+ margin-top: 8px;
260
+ padding: 12px;
261
+ border-radius: 10px;
262
+ background: #e60000;
263
+ border: none;
264
+ cursor: pointer;
265
+ color: white;
266
+ font-size: 15px;
267
+ font-weight: bold;
268
+ transition: 0.25s ease;
269
+ }
270
+ .form__submit:hover {
271
+ background: #ff2b2b;
272
+ }
273
+
274
+ /* src/app/lib/ui/navbar/Navbar.module.css */
275
+ .navbar {
276
+ width: 100%;
277
+ padding: 14px 24px;
278
+ display: flex;
279
+ align-items: center;
280
+ justify-content: space-between;
281
+ border-radius: 12px;
282
+ margin-bottom: 20px;
283
+ box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
284
+ backdrop-filter: blur(10px);
285
+ transition: 0.25s ease;
286
+ }
287
+ .navbar--primary {
288
+ background:
289
+ linear-gradient(
290
+ 120deg,
291
+ #004a99,
292
+ #0077d4);
293
+ }
294
+ .navbar--danger {
295
+ background:
296
+ linear-gradient(
297
+ 120deg,
298
+ #d00000,
299
+ #ff2b2b);
300
+ }
301
+ .navbar__logo {
302
+ color: white;
303
+ font-size: 20px;
304
+ font-weight: 800;
305
+ letter-spacing: 1px;
306
+ }
307
+ .navbar__menu {
308
+ display: flex;
309
+ gap: 24px;
310
+ list-style: none;
311
+ padding: 0;
312
+ margin: 0;
313
+ }
314
+ .navbar__link {
315
+ color: #e8e8e8;
316
+ font-size: 15px;
317
+ font-weight: 500;
318
+ padding: 6px 10px;
319
+ border-radius: 6px;
320
+ transition: 0.25s ease;
321
+ }
322
+ .navbar__link:hover {
323
+ background: rgba(255, 255, 255, 0.2);
324
+ }
325
+ .navbar__link--active {
326
+ color: white;
327
+ font-weight: 700;
328
+ background: rgba(255, 255, 255, 0.3);
329
+ }
330
+ .navbar__actionBtn {
331
+ border: none;
332
+ padding: 8px 16px;
333
+ background: white;
334
+ color: #003d7a;
335
+ font-weight: 700;
336
+ border-radius: 6px;
337
+ cursor: pointer;
338
+ transition: 0.25s ease;
339
+ }
340
+ .navbar__actionBtn:hover {
341
+ background: #e6e6e6;
342
+ }
343
+
344
+ /* src/app/lib/ui/componen/Sidebar.module.css */
345
+ .sidebar {
346
+ width: 240px;
347
+ height: 100vh;
348
+ background: #004c8f;
349
+ color: #000000;
350
+ padding: 20px;
351
+ box-sizing: border-box;
352
+ font-family: Arial, sans-serif;
353
+ }
354
+ .sidebar__title {
355
+ font-size: 16px;
356
+ font-weight: 700;
357
+ margin-bottom: 18px;
358
+ color: #000000;
359
+ }
360
+ .sidebar__list {
361
+ list-style: none;
362
+ padding: 0;
363
+ margin: 0;
364
+ }
365
+ .sidebar__item {
366
+ margin-bottom: 8px;
367
+ border-radius: 8px;
368
+ overflow: hidden;
369
+ }
370
+ .sidebar__link {
371
+ display: flex;
372
+ justify-content: space-between;
373
+ align-items: center;
374
+ padding: 10px 12px;
375
+ text-decoration: none;
376
+ color: inherit;
377
+ transition: background 0.15s ease;
378
+ }
379
+ .sidebar__link:hover {
380
+ background: rgba(255, 255, 255, 0.05);
381
+ }
382
+ .sidebar__text {
383
+ font-size: 14px;
384
+ font-weight: 600;
385
+ }
386
+ .sidebar__item--active .sidebar__link {
387
+ background: #1e4d36;
388
+ }
389
+ .sidebar__dot {
390
+ width: 8px;
391
+ height: 8px;
392
+ background: #3cc24a;
393
+ border-radius: 50%;
394
+ }
395
+ .sidebar__icon {
396
+ font-size: 18px;
397
+ margin-right: 10px;
398
+ }