@limpiolux/ui-styles 1.0.18 → 1.0.20

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 (3) hide show
  1. package/components.css +69 -29
  2. package/light.css +53 -13
  3. package/package.json +1 -1
package/components.css CHANGED
@@ -182,7 +182,7 @@
182
182
  }
183
183
 
184
184
  .portal-launchpad-grid {
185
- @apply grid grid-cols-3 gap-x-4 gap-y-6 sm:grid-cols-4 lg:grid-cols-3 xl:grid-cols-4;
185
+ @apply grid grid-cols-2 gap-x-4 gap-y-6 sm:grid-cols-3 lg:grid-cols-3 xl:grid-cols-4;
186
186
  }
187
187
 
188
188
  .portal-launchpad-card {
@@ -198,39 +198,25 @@
198
198
  }
199
199
 
200
200
  .portal-launchpad-icon {
201
- @apply inline-flex h-20 w-20 items-center justify-center rounded-[28px] border sm:h-24 sm:w-24;
202
- border-color: rgba(255, 255, 255, 0.14);
203
- background:
204
- radial-gradient(circle at top left, rgba(255, 255, 255, 0.42), transparent 54%),
205
- radial-gradient(circle at bottom right, rgba(var(--color-brand) / 0.18), transparent 52%),
206
- linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04));
207
- color: #f8fdff;
201
+ @apply inline-flex h-[62px] w-[62px] items-center justify-center rounded-[16px] sm:h-[70px] sm:w-[70px];
202
+ background: linear-gradient(160deg, rgb(var(--color-brand)) 0%, rgb(var(--color-brand-strong)) 100%);
203
+ color: #ffffff;
208
204
  box-shadow:
209
- inset 0 1px 0 rgba(255, 255, 255, 0.28),
210
- inset 0 -16px 24px -20px rgba(0, 0, 0, 0.24),
211
- 0 24px 42px -28px rgba(0, 117, 169, 0.46);
212
- backdrop-filter: blur(18px);
213
- -webkit-backdrop-filter: blur(18px);
214
- transition:
215
- transform 220ms ease,
216
- border-color 220ms ease,
217
- box-shadow 220ms ease,
218
- background 220ms ease;
205
+ 0 4px 14px -4px rgba(var(--color-brand) / 0.52),
206
+ 0 1px 4px rgba(0, 0, 0, 0.18);
207
+ transition: box-shadow 220ms ease;
219
208
  }
220
209
 
221
210
  .portal-launchpad-card:hover .portal-launchpad-icon,
222
211
  .portal-launchpad-card:focus-visible .portal-launchpad-icon {
223
- transform: translateY(-2px);
224
- border-color: rgba(var(--color-brand) / 0.28);
225
212
  box-shadow:
226
- inset 0 1px 0 rgba(255, 255, 255, 0.32),
227
- inset 0 -16px 24px -20px rgba(0, 0, 0, 0.18),
228
- 0 28px 52px -30px rgba(0, 117, 169, 0.58);
213
+ 0 8px 22px -6px rgba(var(--color-brand) / 0.64),
214
+ 0 2px 8px rgba(0, 0, 0, 0.18);
229
215
  }
230
216
 
231
217
  .portal-launchpad-title {
232
- @apply mt-3 text-sm font-semibold tracking-tight sm:text-base;
233
- color: #f4f4f5;
218
+ @apply mt-2.5 text-sm font-medium tracking-tight;
219
+ color: #d4d4d8;
234
220
  }
235
221
 
236
222
  .portal-launchpad-subtitle {
@@ -269,7 +255,7 @@
269
255
  }
270
256
 
271
257
  .portal-dashboard-grid {
272
- @apply mt-8 grid gap-6 xl:grid-cols-[1.45fr_0.95fr];
258
+ @apply mt-5 grid gap-5 md:mt-8 md:gap-6 xl:grid-cols-[1.45fr_0.95fr];
273
259
  }
274
260
 
275
261
  .portal-dashboard-main {
@@ -615,7 +601,8 @@
615
601
  /* ── Soft tabs ── */
616
602
 
617
603
  .soft-tab {
618
- @apply relative inline-flex shrink-0 items-center justify-center rounded-xl px-3 py-2 text-sm md:px-3.5;
604
+ @apply relative inline-flex items-center justify-center rounded-xl px-3 py-2 text-sm md:px-3.5;
605
+ flex: 1 0 0%;
619
606
  background: transparent;
620
607
  border-color: transparent;
621
608
  color: #a1a1aa;
@@ -627,6 +614,12 @@
627
614
  opacity 160ms ease;
628
615
  }
629
616
 
617
+ @media (min-width: 768px) {
618
+ .soft-tab {
619
+ flex: 0 0 auto;
620
+ }
621
+ }
622
+
630
623
  .soft-tab:hover {
631
624
  color: #e4e4e7;
632
625
  }
@@ -795,13 +788,19 @@
795
788
  }
796
789
 
797
790
  .portal-header-panel {
798
- @apply flex flex-col gap-4 p-5 md:flex-row md:items-end md:justify-between md:p-6;
791
+ @apply flex flex-col gap-3 p-4 sm:flex-row sm:items-center sm:justify-between md:items-end md:p-5 lg:p-6;
799
792
  }
800
793
 
801
794
  .portal-stat-card {
802
- @apply flex h-11 items-center rounded-2xl border px-3;
795
+ @apply hidden sm:flex h-9 items-center gap-1.5 rounded-xl border px-2.5;
803
796
  border-color: rgba(255, 255, 255, 0.1);
804
797
  background: rgba(255, 255, 255, 0.05);
798
+ color: #71717a;
799
+ }
800
+
801
+ .portal-stat-value {
802
+ @apply text-xs font-semibold;
803
+ color: #d4d4d8;
805
804
  }
806
805
 
807
806
  .portal-toolbar {
@@ -1930,4 +1929,45 @@
1930
1929
  .fade.show {
1931
1930
  opacity: 1;
1932
1931
  }
1932
+
1933
+ /* ── Portal footer ── */
1934
+
1935
+ .portal-footer {
1936
+ @apply mt-10 py-4 text-center text-xs tracking-wide;
1937
+ color: #52525b;
1938
+ border-top: 1px solid rgba(255, 255, 255, 0.06);
1939
+ }
1940
+
1941
+ /* ── User avatar ── */
1942
+
1943
+ .portal-user-avatar {
1944
+ @apply inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-xl text-xs font-semibold uppercase;
1945
+ background: rgba(var(--color-brand) / 0.16);
1946
+ border: 1px solid rgba(var(--color-brand) / 0.2);
1947
+ color: rgb(var(--color-brand-soft));
1948
+ }
1949
+
1950
+ /* ── Role / permission chips (toggle style) ── */
1951
+
1952
+ .portal-role-chip {
1953
+ @apply inline-flex cursor-pointer items-center gap-1.5 rounded-full border px-3 py-1 text-xs font-medium transition-colors;
1954
+ border-color: rgba(255, 255, 255, 0.1);
1955
+ background: rgba(255, 255, 255, 0.04);
1956
+ color: #71717a;
1957
+ }
1958
+
1959
+ .portal-role-chip:hover {
1960
+ background: rgba(255, 255, 255, 0.08);
1961
+ color: #a1a1aa;
1962
+ }
1963
+
1964
+ .portal-role-chip-active {
1965
+ border-color: rgba(var(--color-brand) / 0.32);
1966
+ background: rgba(var(--color-brand) / 0.12);
1967
+ color: #c6ecfb;
1968
+ }
1969
+
1970
+ .portal-role-chip-active:hover {
1971
+ background: rgba(var(--color-brand) / 0.18);
1972
+ }
1933
1973
  }
package/light.css CHANGED
@@ -361,6 +361,11 @@
361
361
  .light .portal-stat-card {
362
362
  border-color: rgba(212, 212, 216, 0.92);
363
363
  background: rgba(255, 255, 255, 0.82);
364
+ color: #71717a;
365
+ }
366
+
367
+ .light .portal-stat-value {
368
+ color: #18181b;
364
369
  }
365
370
 
366
371
  .light .portal-toolbar-icon {
@@ -474,25 +479,22 @@
474
479
  }
475
480
 
476
481
  .light .portal-launchpad-icon {
477
- border-color: rgba(186, 230, 253, 0.92);
478
- background:
479
- radial-gradient(circle at top left, rgba(255, 255, 255, 0.98), transparent 50%),
480
- radial-gradient(circle at bottom right, rgba(56, 189, 248, 0.14), transparent 54%),
481
- linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(224, 242, 254, 0.82));
482
- color: rgb(var(--color-brand-strong));
482
+ background: linear-gradient(160deg, rgb(var(--color-brand)) 0%, rgb(var(--color-brand-strong)) 100%);
483
+ color: #ffffff;
483
484
  box-shadow:
484
- inset 0 1px 0 rgba(255, 255, 255, 0.92),
485
- inset 0 -16px 24px -22px rgba(8, 47, 73, 0.08),
486
- 0 20px 36px -28px rgba(14, 116, 144, 0.32);
485
+ 0 4px 14px -4px rgba(var(--color-brand) / 0.44),
486
+ 0 1px 4px rgba(14, 116, 144, 0.14);
487
487
  }
488
488
 
489
489
  .light .portal-launchpad-card:hover .portal-launchpad-icon,
490
490
  .light .portal-launchpad-card:focus-visible .portal-launchpad-icon {
491
- border-color: rgba(125, 211, 252, 0.98);
492
491
  box-shadow:
493
- inset 0 1px 0 rgba(255, 255, 255, 0.96),
494
- inset 0 -16px 24px -22px rgba(8, 47, 73, 0.06),
495
- 0 24px 42px -28px rgba(14, 116, 144, 0.38);
492
+ 0 8px 22px -6px rgba(var(--color-brand) / 0.56),
493
+ 0 2px 8px rgba(14, 116, 144, 0.16);
494
+ }
495
+
496
+ .light .portal-launchpad-title {
497
+ color: #27272a;
496
498
  }
497
499
 
498
500
  .light .portal-launchpad-title {
@@ -994,3 +996,41 @@
994
996
  .light .text-orange {
995
997
  color: #c2410c !important;
996
998
  }
999
+
1000
+ /* ── Portal footer ── */
1001
+
1002
+ .light .portal-footer {
1003
+ color: #71717a;
1004
+ border-top-color: rgba(0, 0, 0, 0.08);
1005
+ }
1006
+
1007
+ /* ── User avatar ── */
1008
+
1009
+ .light .portal-user-avatar {
1010
+ background: rgba(var(--color-brand) / 0.1);
1011
+ border-color: rgba(var(--color-brand) / 0.18);
1012
+ color: rgb(var(--color-brand-strong));
1013
+ }
1014
+
1015
+ /* ── Role / permission chips ── */
1016
+
1017
+ .light .portal-role-chip {
1018
+ border-color: rgba(212, 212, 216, 0.92);
1019
+ background: rgba(255, 255, 255, 0.82);
1020
+ color: #52525b;
1021
+ }
1022
+
1023
+ .light .portal-role-chip:hover {
1024
+ background: #ffffff;
1025
+ color: #27272a;
1026
+ }
1027
+
1028
+ .light .portal-role-chip-active {
1029
+ border-color: rgba(var(--color-brand) / 0.3);
1030
+ background: rgba(var(--color-brand) / 0.1);
1031
+ color: rgb(var(--color-brand-strong));
1032
+ }
1033
+
1034
+ .light .portal-role-chip-active:hover {
1035
+ background: rgba(var(--color-brand) / 0.15);
1036
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limpiolux/ui-styles",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "Shared design system — Limpiolux liquid glass theme with auth, portal and dark/light mode support",
5
5
  "type": "module",
6
6
  "exports": {