@unopsitg/ux 21.0.2

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 (77) hide show
  1. package/README.md +56 -0
  2. package/assets/_animations.scss +47 -0
  3. package/assets/_breadcrumb.scss +71 -0
  4. package/assets/_card.scss +11 -0
  5. package/assets/_config.scss +95 -0
  6. package/assets/_content.scss +55 -0
  7. package/assets/_fonts.scss +1 -0
  8. package/assets/_footer.scss +17 -0
  9. package/assets/_main.scss +38 -0
  10. package/assets/_mask.scss +7 -0
  11. package/assets/_paginator.scss +16 -0
  12. package/assets/_responsive.scss +203 -0
  13. package/assets/_sass_variables.scss +2 -0
  14. package/assets/_search.scss +35 -0
  15. package/assets/_tags.scss +90 -0
  16. package/assets/_topbar.scss +250 -0
  17. package/assets/_utils.scss +19 -0
  18. package/assets/fonts/InterDisplay-Black.otf +0 -0
  19. package/assets/fonts/InterDisplay-BlackItalic.otf +0 -0
  20. package/assets/fonts/InterDisplay-Bold.otf +0 -0
  21. package/assets/fonts/InterDisplay-BoldItalic.otf +0 -0
  22. package/assets/fonts/InterDisplay-ExtraBold.otf +0 -0
  23. package/assets/fonts/InterDisplay-ExtraBoldItalic.otf +0 -0
  24. package/assets/fonts/InterDisplay-ExtraLight.otf +0 -0
  25. package/assets/fonts/InterDisplay-ExtraLightItalic.otf +0 -0
  26. package/assets/fonts/InterDisplay-Italic.otf +0 -0
  27. package/assets/fonts/InterDisplay-Light.otf +0 -0
  28. package/assets/fonts/InterDisplay-LightItalic.otf +0 -0
  29. package/assets/fonts/InterDisplay-Medium.otf +0 -0
  30. package/assets/fonts/InterDisplay-MediumItalic.otf +0 -0
  31. package/assets/fonts/InterDisplay-Regular.otf +0 -0
  32. package/assets/fonts/InterDisplay-SemiBold.otf +0 -0
  33. package/assets/fonts/InterDisplay-SemiBoldItalic.otf +0 -0
  34. package/assets/fonts/InterDisplay-Thin.otf +0 -0
  35. package/assets/fonts/InterDisplay-ThinItalic.otf +0 -0
  36. package/assets/layout.scss +20 -0
  37. package/assets/opp/AppLogo/AppLogo-onDark_H.svg +55 -0
  38. package/assets/opp/AppLogo/AppLogo-onDark_V.svg +55 -0
  39. package/assets/opp/AppLogo/AppLogo-onDark_compact.svg +48 -0
  40. package/assets/opp/AppLogo/AppLogo-onLight_H.svg +55 -0
  41. package/assets/opp/AppLogo/AppLogo-onLight_V.svg +55 -0
  42. package/assets/opp/AppLogo-dark-vertical.svg +55 -0
  43. package/assets/opp/drive-download-20260421T141232Z-3-001.zip +0 -0
  44. package/assets/opp/favicon/apple-touch-icon.png +0 -0
  45. package/assets/opp/favicon/favicon-96x96.png +0 -0
  46. package/assets/opp/favicon/favicon.ico +0 -0
  47. package/assets/opp/favicon/favicon.svg +17 -0
  48. package/assets/opp/favicon/web-app-manifest-192x192.png +0 -0
  49. package/assets/opp/favicon/web-app-manifest-512x512.png +0 -0
  50. package/assets/opp/logo-dark-horizontal.svg +55 -0
  51. package/assets/opp/logo-light-horizontal.svg +55 -0
  52. package/assets/opp/unops-logo/UNOPS logo_vertical_RGB.png +0 -0
  53. package/assets/opp/unops-logo/UNOPS logo_vertical_RGB_black.png +0 -0
  54. package/assets/opp/unops-logo/UNOPS logo_vertical_RGB_white.png +0 -0
  55. package/assets/opp/unops-logo/unops-logo_ondark.svg +19 -0
  56. package/assets/opp/unops-logo/unops-logo_onlight.svg +10 -0
  57. package/assets/sidebar/_sidebar.scss +7 -0
  58. package/assets/sidebar/_sidebar_compact.scss +176 -0
  59. package/assets/sidebar/_sidebar_drawer.scss +200 -0
  60. package/assets/sidebar/_sidebar_horizontal.scss +220 -0
  61. package/assets/sidebar/_sidebar_reveal.scss +176 -0
  62. package/assets/sidebar/_sidebar_slim.scss +117 -0
  63. package/assets/sidebar/_sidebar_theme_core.scss +147 -0
  64. package/assets/sidebar/_sidebar_themes.scss +4 -0
  65. package/assets/sidebar/_sidebar_vertical.scss +392 -0
  66. package/assets/sidebar/themes/_dark.scss +31 -0
  67. package/assets/sidebar/themes/_light.scss +16 -0
  68. package/assets/sidebar/themes/_primary.scss +41 -0
  69. package/assets/styles.scss +1 -0
  70. package/assets/tailwind.css +679 -0
  71. package/assets/variables/_common.scss +21 -0
  72. package/assets/variables/_dark.scss +13 -0
  73. package/assets/variables/_light.scss +13 -0
  74. package/fesm2022/unopsitg-ux.mjs +2596 -0
  75. package/fesm2022/unopsitg-ux.mjs.map +1 -0
  76. package/package.json +46 -0
  77. package/types/unopsitg-ux.d.ts +878 -0
@@ -0,0 +1,679 @@
1
+ @import "tailwindcss";
2
+
3
+ @plugin 'tailwindcss-primeui';
4
+
5
+ @custom-variant dark (&:where([class*="app-dark"], [class*="app-dark"] *));
6
+
7
+ /*
8
+ Default border color (Tailwind v4 migration note) + app-dark: use Prime content border
9
+ so implicit borders on dark surfaces are not left as light gray-200.
10
+ */
11
+ @layer base {
12
+ *,
13
+ ::after,
14
+ ::before,
15
+ ::backdrop,
16
+ ::file-selector-button {
17
+ border-color: var(--color-gray-200, currentcolor);
18
+ }
19
+
20
+ :where([class*="app-dark"], [class*="app-dark"] *) {
21
+ border-color: var(--p-content-border-color, currentcolor);
22
+ }
23
+ }
24
+
25
+ @theme {
26
+
27
+ --font-sans: "Noto Sans", sans-serif;
28
+
29
+ --text-xs: var(--font-size-xs);
30
+ --text-sm: var(--font-size-sm);
31
+ --text-base: var(--font-size-base);
32
+ --text-lg: var(--font-size-lg);
33
+ --text-xl: var(--font-size-xl);
34
+ --text-2xl: var(--font-size-2xl);
35
+ --text-3xl: var(--font-size-3xl);
36
+ --text-4xl: var(--font-size-4xl);
37
+
38
+ --color-*: initial;
39
+
40
+ --radius-circle: 50%;
41
+
42
+ --breakpoint-sm: 576px;
43
+ --breakpoint-md: 768px;
44
+ --breakpoint-lg: 992px;
45
+ --breakpoint-xl: 1200px;
46
+ --breakpoint-2xl: 1920px;
47
+
48
+ --animate-infinite-scroll: infinite-scroll 25s linear infinite;
49
+ --animate-float: float 3.5s ease-in-out infinite;
50
+ --animate-wiggle: wiggle 3.5s ease-in-out infinite;
51
+
52
+ @keyframes infinite-scroll {
53
+ from {
54
+ transform: translateX(0);
55
+ }
56
+ to {
57
+ transform: translateX(-100%);
58
+ }
59
+ }
60
+ @keyframes float {
61
+ 0%,
62
+ 100% {
63
+ transform: translateY(0);
64
+ }
65
+ 50% {
66
+ transform: translateY(-6px) scale(1.005);
67
+ }
68
+ }
69
+ @keyframes wiggle {
70
+ 0%,
71
+ 30%,
72
+ 100% {
73
+ transform: rotate(0deg);
74
+ }
75
+ 10%,
76
+ 20% {
77
+ transform: rotate(-1deg);
78
+ }
79
+ 15%,
80
+ 25% {
81
+ transform: rotate(1deg);
82
+ }
83
+ }
84
+
85
+ --animate-fade-in: fade-in 0.35s ease-out both;
86
+ --animate-fade-in-up: fade-in-up 0.4s ease-out both;
87
+ --animate-fade-in-down: fade-in-down 0.35s ease-out both;
88
+ --animate-scale-in-subtle: scale-in-subtle 0.35s ease-out both;
89
+ --animate-slide-in-right: slide-in-right 0.4s ease-out both;
90
+
91
+ @keyframes fade-in {
92
+ from {
93
+ opacity: 0;
94
+ }
95
+ to {
96
+ opacity: 1;
97
+ }
98
+ }
99
+ @keyframes fade-in-up {
100
+ from {
101
+ opacity: 0;
102
+ transform: translateY(10px);
103
+ }
104
+ to {
105
+ opacity: 1;
106
+ transform: translateY(0);
107
+ }
108
+ }
109
+ @keyframes fade-in-down {
110
+ from {
111
+ opacity: 0;
112
+ transform: translateY(-8px);
113
+ }
114
+ to {
115
+ opacity: 1;
116
+ transform: translateY(0);
117
+ }
118
+ }
119
+ @keyframes scale-in-subtle {
120
+ from {
121
+ opacity: 0;
122
+ transform: scale(0.97);
123
+ }
124
+ to {
125
+ opacity: 1;
126
+ transform: scale(1);
127
+ }
128
+ }
129
+ @keyframes slide-in-right {
130
+ from {
131
+ opacity: 0;
132
+ transform: translateX(16px);
133
+ }
134
+ to {
135
+ opacity: 1;
136
+ transform: translateX(0);
137
+ }
138
+ }
139
+
140
+ /* Smooth, liquid settle-in (opacity + drift + de-blur) */
141
+ --animate-enter-liquid: enter-liquid 0.8s cubic-bezier(0.2, 0.85, 0.15, 1) both;
142
+ @keyframes enter-liquid {
143
+ 0% {
144
+ opacity: 0;
145
+ filter: blur(5px);
146
+ transform: translateY(14px) scale(0.99);
147
+ }
148
+ 45% {
149
+ opacity: 1;
150
+ filter: blur(0.5px);
151
+ }
152
+ 100% {
153
+ opacity: 1;
154
+ filter: blur(0);
155
+ transform: translateY(0) scale(1);
156
+ }
157
+ }
158
+
159
+ /* Child panel: gentle vertical reveal when expanding in place */
160
+ --animate-enter-liquid-reveal: enter-liquid-reveal 0.55s cubic-bezier(0.2, 0.85, 0.2, 1) both;
161
+ @keyframes enter-liquid-reveal {
162
+ from {
163
+ opacity: 0;
164
+ transform: translateY(10px);
165
+ }
166
+ to {
167
+ opacity: 1;
168
+ transform: translateY(0);
169
+ }
170
+ }
171
+
172
+ /* AI card ambient background (optional Tailwind hooks; `ux-ai-card-bg` also defines scoped motion) */
173
+ --animate-ai-bg-move: ai-bg-move 6s ease-in-out infinite;
174
+ --animate-ai-fg-move: ai-fg-move 6s ease-in-out infinite;
175
+ @keyframes ai-bg-move {
176
+ 0%,
177
+ 100% {
178
+ background-color: #cce5ff;
179
+ }
180
+ 50% {
181
+ background-color: #ffedf8;
182
+ }
183
+ }
184
+ @keyframes ai-fg-move {
185
+ 0%,
186
+ 100% {
187
+ fill: #d0eeff;
188
+ }
189
+ 50% {
190
+ fill: #e6c7d9;
191
+ }
192
+ }
193
+ }
194
+
195
+ @theme static {
196
+ --color-black: #000;
197
+ --color-white: #fff;
198
+
199
+ --color-deepsea-50: #c3c7cb;
200
+ --color-deepsea-100: #9ea5ac;
201
+ --color-deepsea-200: #7a838d;
202
+ --color-deepsea-300: #56626d;
203
+ --color-deepsea-400: #31404e;
204
+ --color-deepsea-500: #0d1e2f;
205
+ --color-deepsea-600: #0b1a28;
206
+ --color-deepsea-700: #091521;
207
+ --color-deepsea-800: #07111a;
208
+ --color-deepsea-900: #050c13;
209
+ --color-deepsea-950: #03080c;
210
+
211
+ --color-gray-50: #f0f3f4;
212
+ --color-gray-100: #ECF0F5;
213
+ --color-gray-200: #d8dadf;
214
+ --color-gray-300: #b9bac1;
215
+ --color-gray-400: #858c99;
216
+ --color-gray-500: #808393;
217
+ --color-gray-600: #808284;
218
+ --color-gray-700: #6a6b6d;
219
+ --color-gray-800: #535455;
220
+ --color-gray-900: #3c3d3e;
221
+ --color-gray-950: #262627;
222
+
223
+ --color-red-50: #f6cac6;
224
+ --color-red-100: #f0a9a4;
225
+ --color-red-200: #eb8982;
226
+ --color-red-300: #e56960;
227
+ --color-red-400: #e0493e;
228
+ --color-red-500: #da291c;
229
+ --color-red-600: #b92318;
230
+ --color-red-700: #991d14;
231
+ --color-red-800: #78170f;
232
+ --color-red-900: #57100b;
233
+ --color-red-950: #370a07;
234
+
235
+ --color-orange-50: #f9d6c3;
236
+ --color-orange-100: #f6be9f;
237
+ --color-orange-200: #f2a57a;
238
+ --color-orange-300: #ef8d56;
239
+ --color-orange-400: #eb7432;
240
+ --color-orange-500: #e85c0e;
241
+ --color-orange-600: #c54e0c;
242
+ --color-orange-700: #a2400a;
243
+ --color-orange-800: #803308;
244
+ --color-orange-900: #5d2506;
245
+ --color-orange-950: #3a1704;
246
+
247
+ --color-yellow-50: #fff0c5;
248
+ --color-yellow-100: #ffe7a1;
249
+ --color-yellow-200: #ffdd7e;
250
+ --color-yellow-300: #ffd45b;
251
+ --color-yellow-400: #ffcb38;
252
+ --color-yellow-500: #ffc215;
253
+ --color-yellow-600: #d9a512;
254
+ --color-yellow-700: #b3880f;
255
+ --color-yellow-800: #8c6b0c;
256
+ --color-yellow-900: #664e08;
257
+ --color-yellow-950: #403105;
258
+
259
+ --color-lemon-50: #fdfad0;
260
+ --color-lemon-100: #fcf7b4;
261
+ --color-lemon-200: #fbf398;
262
+ --color-lemon-300: #faf07c;
263
+ --color-lemon-400: #f9ed60;
264
+ --color-lemon-500: #f8ea44;
265
+ --color-lemon-600: #d3c73a;
266
+ --color-lemon-700: #aea430;
267
+ --color-lemon-800: #888125;
268
+ --color-lemon-900: #635e1b;
269
+ --color-lemon-950: #3e3b11;
270
+
271
+ --color-lime-50: #f0f5bf;
272
+ --color-lime-100: #e7ef99;
273
+ --color-lime-200: #dfe873;
274
+ --color-lime-300: #d6e24d;
275
+ --color-lime-400: #cddc26;
276
+ --color-lime-500: #c4d600;
277
+ --color-lime-600: #a7b600;
278
+ --color-lime-700: #899600;
279
+ --color-lime-800: #6c7600;
280
+ --color-lime-900: #4e5600;
281
+ --color-lime-950: #313600;
282
+
283
+ --color-babygreen-50: #e5f2cf;
284
+ --color-babygreen-100: #d5e9b1;
285
+ --color-babygreen-200: #c5e194;
286
+ --color-babygreen-300: #b6d977;
287
+ --color-babygreen-400: #a6d15a;
288
+ --color-babygreen-500: #96c93d;
289
+ --color-babygreen-600: #80ab34;
290
+ --color-babygreen-700: #698d2b;
291
+ --color-babygreen-800: #536f22;
292
+ --color-babygreen-900: #3c5018;
293
+ --color-babygreen-950: #26320f;
294
+
295
+ --color-green-50: #d2e7cd;
296
+ --color-green-100: #b7d9af;
297
+ --color-green-200: #9dca92;
298
+ --color-green-300: #82bc74;
299
+ --color-green-400: #67ad56;
300
+ --color-green-500: #4c9f38;
301
+ --color-green-600: #418730;
302
+ --color-green-700: #356f27;
303
+ --color-green-800: #2a571f;
304
+ --color-green-900: #1e4016;
305
+ --color-green-950: #13280e;
306
+
307
+ --color-olive-50: #d1e0d5;
308
+ --color-olive-100: #b5cdbc;
309
+ --color-olive-200: #99baa3;
310
+ --color-olive-300: #7da889;
311
+ --color-olive-400: #619570;
312
+ --color-olive-500: #458257;
313
+ --color-olive-600: #3b6f4a;
314
+ --color-olive-700: #305b3d;
315
+ --color-olive-800: #264830;
316
+ --color-olive-900: #1c3423;
317
+ --color-olive-950: #112116;
318
+
319
+ --color-teal-50: #bfeae5;
320
+ --color-teal-100: #99ddd5;
321
+ --color-teal-200: #73d0c6;
322
+ --color-teal-300: #4dc3b6;
323
+ --color-teal-400: #26b6a7;
324
+ --color-teal-500: #00a997;
325
+ --color-teal-600: #009080;
326
+ --color-teal-700: #00766a;
327
+ --color-teal-800: #005d53;
328
+ --color-teal-900: #00443c;
329
+ --color-teal-950: #002a26;
330
+
331
+ --color-ocean-50: #d3f0f7;
332
+ --color-ocean-100: #b8e7f3;
333
+ --color-ocean-200: #9edeee;
334
+ --color-ocean-300: #83d5e9;
335
+ --color-ocean-400: #69cce5;
336
+ --color-ocean-500: #4ec3e0;
337
+ --color-ocean-600: #42a6be;
338
+ --color-ocean-700: #37899d;
339
+ --color-ocean-800: #2b6b7b;
340
+ --color-ocean-900: #1f4e5a;
341
+ --color-ocean-950: #143138;
342
+
343
+ --color-blue-50: #DEEFFF;
344
+ --color-blue-100: #C9E8FF;
345
+ --color-blue-150: #99D3ED;
346
+ --color-blue-200: #73c3e6;
347
+ --color-blue-300: #4db3df;
348
+ --color-blue-400: #26a2d8;
349
+ --color-blue-500: #0092d1;
350
+ --color-blue-600: #007cb2;
351
+ --color-blue-700: #006692;
352
+ --color-blue-800: #005073;
353
+ --color-blue-900: #003a54;
354
+ --color-blue-950: #002534;
355
+
356
+ --color-darkblue-50: #D0EEFF;
357
+ --color-darkblue-100: #B7E2F9;
358
+ --color-darkblue-200: #73abc7;
359
+ --color-darkblue-300: #4d94b8;
360
+ --color-darkblue-400: #267da9;
361
+ --color-darkblue-500: #00669a;
362
+ --color-darkblue-600: #005783;
363
+ --color-darkblue-700: #00476c;
364
+ --color-darkblue-800: #003855;
365
+ --color-darkblue-900: #00293e;
366
+ --color-darkblue-950: #001a27;
367
+
368
+ --color-midnight-50: #bfd2dd;
369
+ --color-midnight-100: #99b6c8;
370
+ --color-midnight-200: #739bb4;
371
+ --color-midnight-300: #4d809f;
372
+ --color-midnight-400: #26648b;
373
+ --color-midnight-500: #004976;
374
+ --color-midnight-600: #003e64;
375
+ --color-midnight-700: #003353;
376
+ --color-midnight-800: #002841;
377
+ --color-midnight-850: #001E31;
378
+ --color-midnight-900: #001d2f;
379
+ --color-midnight-950: #00121e;
380
+
381
+ --color-cherry-50: #e6c7d9;
382
+ --color-cherry-100: #d6a5c2;
383
+ --color-cherry-200: #c783ab;
384
+ --color-cherry-300: #b86294;
385
+ --color-cherry-400: #a8407d;
386
+ --color-cherry-500: #991e66;
387
+ --color-cherry-600: #821a57;
388
+ --color-cherry-700: #6b1547;
389
+ --color-cherry-800: #541138;
390
+ --color-cherry-900: #3d0c29;
391
+ --color-cherry-950: #26081a;
392
+ }
393
+
394
+ @utility landing-container {
395
+ @apply px-6 w-full max-w-248 mx-auto;
396
+ @media (width >= theme(--breakpoint-md)) {
397
+ @apply max-w-280;
398
+ }
399
+ @media (width >= theme(--breakpoint-xl)) {
400
+ @apply max-w-340;
401
+ }
402
+ }
403
+
404
+ @utility title-h1 {
405
+ @apply text-2xl font-semibold text-surface-900 dark:text-surface-0 text-center leading-tight;
406
+ font-family: "Noto Sans", sans-serif;
407
+ font-feature-settings:
408
+ "cv01" on,
409
+ "cv02" on,
410
+ "cv03" on,
411
+ "cv04" on,
412
+ "cv07" on,
413
+ "cv09" on,
414
+ "cv05" on,
415
+ "cv10" on,
416
+ "cv11" on;
417
+ }
418
+
419
+ @utility title-h2 {
420
+ @apply font-semibold text-surface-950 dark:text-surface-0 text-center leading-none;
421
+ font-size: var(--font-size-4xl);
422
+ font-family: "Noto Sans", sans-serif;
423
+ }
424
+
425
+ @utility title-h3 {
426
+ @apply font-semibold text-surface-900 dark:text-surface-0 leading-tight text-center;
427
+ font-size: var(--font-size-2xl);
428
+ font-family: "Noto Sans", sans-serif;
429
+ font-feature-settings:
430
+ "cv07" on,
431
+ "cv01" on,
432
+ "cv02" on,
433
+ "cv03" on,
434
+ "cv04" on,
435
+ "cv09" on,
436
+ "cv05" on,
437
+ "cv10" on,
438
+ "cv11" on;
439
+ }
440
+
441
+ @utility title-h4 {
442
+ @apply font-semibold text-surface-900 dark:text-surface-0 leading-tight text-center;
443
+ font-size: var(--font-size-xl);
444
+ font-family: "Noto Sans", sans-serif;
445
+ font-feature-settings:
446
+ "cv01" on,
447
+ "cv02" on,
448
+ "cv03" on,
449
+ "cv04" on,
450
+ "cv07" on,
451
+ "cv09" on,
452
+ "cv05" on,
453
+ "cv10" on,
454
+ "cv11" on;
455
+ }
456
+
457
+ @utility title-h5 {
458
+ @apply text-base text-center font-medium text-surface-950 dark:text-surface-0 leading-snug;
459
+ font-family: "Noto Sans", sans-serif;
460
+ font-feature-settings:
461
+ "cv01" on,
462
+ "cv02" on,
463
+ "cv03" on,
464
+ "cv04" on,
465
+ "cv07" on,
466
+ "cv09" on,
467
+ "cv05" on,
468
+ "cv10" on,
469
+ "cv11" on;
470
+ }
471
+
472
+ @utility title-h6 {
473
+ @apply text-base text-center font-medium text-surface-950 dark:text-surface-0;
474
+ font-family: "Noto Sans", sans-serif;
475
+ font-feature-settings:
476
+ "cv01" on,
477
+ "cv02" on,
478
+ "cv03" on,
479
+ "cv04" on,
480
+ "cv07" on,
481
+ "cv09" on,
482
+ "cv05" on,
483
+ "cv10" on,
484
+ "cv11" on;
485
+ }
486
+
487
+ @utility title-h7 {
488
+ @apply text-base text-center font-medium text-surface-950 dark:text-surface-0;
489
+ font-family: "Noto Sans", sans-serif;
490
+ font-feature-settings:
491
+ "cv09" on,
492
+ "cv03" on,
493
+ "cv02" on,
494
+ "dlig" on,
495
+ "cv06" on,
496
+ "cv01" on,
497
+ "liga" off,
498
+ "calt" off;
499
+ }
500
+
501
+ @utility body-large {
502
+ @apply text-xl text-center text-surface-700 dark:text-surface-200;
503
+ font-family: "Noto Sans", sans-serif;
504
+ font-feature-settings:
505
+ "cv09" on,
506
+ "cv03" on,
507
+ "cv02" on,
508
+ "dlig" on,
509
+ "cv06" on,
510
+ "cv01" on,
511
+ "liga" off,
512
+ "calt" off;
513
+ }
514
+
515
+ @utility body-medium {
516
+ @apply text-lg text-center text-surface-700 dark:text-surface-200;
517
+ font-family: "Noto Sans", sans-serif;
518
+ font-feature-settings:
519
+ "cv09" on,
520
+ "cv03" on,
521
+ "cv02" on,
522
+ "dlig" on,
523
+ "cv06" on,
524
+ "cv01" on,
525
+ "liga" off,
526
+ "calt" off;
527
+ }
528
+
529
+ @utility body-small {
530
+ @apply text-base text-center text-surface-700 dark:text-surface-200;
531
+ font-family: "Noto Sans", sans-serif;
532
+ font-feature-settings:
533
+ "cv09" on,
534
+ "cv03" on,
535
+ "cv02" on,
536
+ "dlig" on,
537
+ "cv06" on,
538
+ "cv01" on,
539
+ "liga" off,
540
+ "calt" off;
541
+ }
542
+
543
+ @utility body-xsmall {
544
+ @apply text-sm text-center text-surface-700 dark:text-surface-200;
545
+ font-family: "Noto Sans", sans-serif;
546
+ font-feature-settings:
547
+ "cv09" on,
548
+ "cv03" on,
549
+ "cv02" on,
550
+ "dlig" on,
551
+ "cv06" on,
552
+ "cv01" on,
553
+ "liga" off,
554
+ "calt" off;
555
+ }
556
+
557
+ @utility label-large {
558
+ @apply text-surface-950 dark:text-surface-0 font-medium text-xl;
559
+ font-family: "Noto Sans", sans-serif;
560
+ font-feature-settings:
561
+ "cv01" on,
562
+ "cv02" on,
563
+ "cv05" on,
564
+ "cv04" on,
565
+ "cv03" on,
566
+ "cv07" on,
567
+ "cv09" on,
568
+ "cv10" on,
569
+ "cv11" on;
570
+ }
571
+
572
+ @utility label-medium {
573
+ @apply text-surface-950 dark:text-surface-0 font-medium text-lg;
574
+ font-family: "Noto Sans", sans-serif;
575
+ font-feature-settings:
576
+ "cv11" on,
577
+ "cv10" on,
578
+ "cv09" on,
579
+ "cv07" on,
580
+ "cv05" on,
581
+ "cv04" on,
582
+ "cv03" on,
583
+ "cv02" on,
584
+ "cv01" on;
585
+ }
586
+
587
+ @utility label-small {
588
+ @apply text-surface-700 dark:text-surface-200 font-medium text-sm text-center;
589
+ font-family: "Noto Sans", sans-serif;
590
+ font-feature-settings:
591
+ "cv11" on,
592
+ "cv10" on,
593
+ "cv09" on,
594
+ "cv07" on,
595
+ "cv05" on,
596
+ "cv04" on,
597
+ "cv03" on,
598
+ "cv02" on,
599
+ "cv01" on;
600
+ }
601
+
602
+ @utility label-xsmall {
603
+ @apply text-surface-700 dark:text-surface-200 font-medium text-xs text-center;
604
+ font-family: "Noto Sans", sans-serif;
605
+ font-feature-settings:
606
+ "cv01" on,
607
+ "cv02" on,
608
+ "cv03" on,
609
+ "cv04" on,
610
+ "cv07" on,
611
+ "cv11" on,
612
+ "cv09" on,
613
+ "cv10" on,
614
+ "cv05" on;
615
+ }
616
+
617
+ @utility paragraph-xsmall {
618
+ @apply text-xs text-center;
619
+ font-family: "Noto Sans", sans-serif;
620
+ font-feature-settings:
621
+ "ss11" on,
622
+ "cv09" on,
623
+ "liga" off,
624
+ "calt" off;
625
+ }
626
+
627
+ @utility badge {
628
+ @apply mx-auto body-small leading-normal text-surface-950 dark:text-surface-0 px-3.5 py-1 border border-surface-200 dark:border-surface-800 rounded-full w-fit;
629
+ }
630
+
631
+ @utility body-button {
632
+ @apply py-2 px-3.5 rounded-lg bg-primary-600 hover:bg-primary-700 text-surface-0 font-normal text-center transition-all;
633
+ width: 8.5rem;
634
+ font-feature-settings:
635
+ "cv11" on,
636
+ "cv10" on,
637
+ "cv09" on,
638
+ "cv07" on,
639
+ "cv05" on,
640
+ "cv04" on,
641
+ "cv03" on,
642
+ "cv02" on,
643
+ "cv01" on;
644
+ }
645
+
646
+ @utility social-button {
647
+ @apply w-full py-2 flex items-center justify-center gap-2 rounded-lg border border-surface-200 dark:border-surface-800 hover:bg-surface-100 dark:hover:bg-surface-800 transition-all text-center text-surface-700 dark:text-surface-200 font-medium leading-normal;
648
+ font-family: "Noto Sans", sans-serif;
649
+ font-feature-settings:
650
+ "cv08" on,
651
+ "cv09" on,
652
+ "cv03" on,
653
+ "cv02" on,
654
+ "dlig" on,
655
+ "cv06" on,
656
+ "cv01" on,
657
+ "liga" off,
658
+ "calt" off;
659
+ box-shadow: 0px 1px 2px 0px rgba(18, 18, 23, 0.05);
660
+ }
661
+
662
+ @utility stagger-1 {
663
+ animation-delay: 50ms;
664
+ }
665
+ @utility stagger-2 {
666
+ animation-delay: 100ms;
667
+ }
668
+ @utility stagger-3 {
669
+ animation-delay: 150ms;
670
+ }
671
+ @utility stagger-4 {
672
+ animation-delay: 200ms;
673
+ }
674
+ @utility stagger-5 {
675
+ animation-delay: 250ms;
676
+ }
677
+ @utility stagger-6 {
678
+ animation-delay: 300ms;
679
+ }
@@ -0,0 +1,21 @@
1
+ :root {
2
+ --primary-color: var(--p-primary-color);
3
+ --primary-contrast-color: var(--p-primary-contrast-color);
4
+ --text-color: var(--p-text-color);
5
+ --text-muted-color: var(--p-text-muted-color);
6
+ --surface-border: var(--p-content-border-color);
7
+ --surface-hover: var(--p-content-hover-background);
8
+ --surface-overlay: var(--p-overlay-popover-background);
9
+ --transition-duration: var(--p-transition-duration);
10
+ --border-radius: var(--p-content-border-radius);
11
+ --border-radius-circle: 50%;
12
+ --focus-ring-shadow: var(--p-focus-ring-shadow);
13
+ --font-size-xs: clamp(0.7rem, 0.65rem + 0.25vw, 0.75rem);
14
+ --font-size-sm: clamp(0.8rem, 0.75rem + 0.25vw, 0.875rem);
15
+ --font-size-base: clamp(0.9rem, 0.85rem + 0.25vw, 1rem);
16
+ --font-size-lg: clamp(1rem, 0.925rem + 0.35vw, 1.125rem);
17
+ --font-size-xl: clamp(1.1rem, 1rem + 0.5vw, 1.25rem);
18
+ --font-size-2xl: clamp(1.3rem, 1.1rem + 0.75vw, 1.5rem);
19
+ --font-size-3xl: clamp(1.6rem, 1.3rem + 1vw, 1.875rem);
20
+ --font-size-4xl: clamp(1.9rem, 1.5rem + 1.25vw, 2.25rem);
21
+ }
@@ -0,0 +1,13 @@
1
+ :root[class*='app-dark'] {
2
+ --surface-ground: var(--p-surface-950);
3
+ --surface-card: var(--p-surface-900);
4
+ --popover-background: var(--p-surface-900);
5
+ --popover-border-color: var(--surface-border);
6
+ --popover-item-active-background-color: var(--p-surface-800);
7
+ --popover-item-hover-background-color: var(--p-content-hover-background);
8
+ --popover-item-text-color: var(--p-surface-200);
9
+ --popover-item-active-text-color: var(--p-surface-200);
10
+ --popover-item-active-route-text-color: var(--p-surface-0);
11
+ --menu-bg-color: color-mix(in srgb, var(--p-primary-500), transparent 95%);
12
+ --menu-bg-color-alt: var(--p-surface-950);
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --surface-ground: #ffffff;
3
+ --surface-card: var(--p-surface-50);
4
+ --popover-background: #ffffff;
5
+ --popover-border-color: var(--surface-border);
6
+ --popover-item-active-background-color: var(--p-surface-100);
7
+ --popover-item-hover-background-color: var(--p-content-hover-background);
8
+ --popover-item-text-color: var(--p-surface-700);
9
+ --popover-item-active-text-color: var(--p-surface-700);
10
+ --popover-item-active-route-text-color: var(--p-surface-950);
11
+ --menu-bg-color: var(--p-primary-700);
12
+ --menu-bg-color-alt: var(--p-primary-900);
13
+ }