@memelabui/ui 0.5.0 → 0.5.1

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.cjs CHANGED
@@ -707,7 +707,7 @@ var Slider = React.forwardRef(function Slider2({
707
707
  if (numMax === numMin) return 0;
708
708
  return Math.max(0, Math.min(100, (numericValue - numMin) / (numMax - numMin) * 100));
709
709
  }, [numericValue, min, max]);
710
- const trackGradient = `linear-gradient(to right, var(--ml-primary, #8b5cf6) ${percentage}%, rgba(255,255,255,0.1) ${percentage}%)`;
710
+ const trackGradient = `linear-gradient(to right, rgb(var(--ml-primary, 139 92 246)) ${percentage}%, rgba(255,255,255,0.1) ${percentage}%)`;
711
711
  const displayValue = formatValue ? formatValue(numericValue) : String(numericValue);
712
712
  const handleChange = (e) => {
713
713
  onChange?.(Number(e.target.value));
@@ -739,7 +739,7 @@ var Slider = React.forwardRef(function Slider2({
739
739
  "[&::-webkit-slider-thumb]:rounded-full",
740
740
  "[&::-webkit-slider-thumb]:bg-white",
741
741
  "[&::-webkit-slider-thumb]:border-2",
742
- "[&::-webkit-slider-thumb]:border-[var(--ml-primary,#8b5cf6)]",
742
+ "[&::-webkit-slider-thumb]:border-[rgb(var(--ml-primary,139_92_246))]",
743
743
  "[&::-webkit-slider-thumb]:transition-shadow",
744
744
  "[&::-webkit-slider-thumb]:duration-150",
745
745
  // Moz thumb
@@ -748,7 +748,7 @@ var Slider = React.forwardRef(function Slider2({
748
748
  "[&::-moz-range-thumb]:rounded-full",
749
749
  "[&::-moz-range-thumb]:bg-white",
750
750
  "[&::-moz-range-thumb]:border-2",
751
- "[&::-moz-range-thumb]:border-[var(--ml-primary,#8b5cf6)]",
751
+ "[&::-moz-range-thumb]:border-[rgb(var(--ml-primary,139_92_246))]",
752
752
  "[&::-moz-range-thumb]:transition-shadow",
753
753
  "[&::-moz-range-thumb]:duration-150",
754
754
  // Moz track — transparent so the gradient on the element shows through
@@ -2458,7 +2458,7 @@ function StageProgress({ stages, activeStage, className }) {
2458
2458
  ) })
2459
2459
  ) : isActive ? (
2460
2460
  // Active: primary dot with ring
2461
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full ring-2 ring-[var(--ml-primary)] ring-offset-1 ring-offset-black/50", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[var(--ml-primary)]" }) })
2461
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full ring-2 ring-[rgb(var(--ml-primary))] ring-offset-1 ring-offset-black/50", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[rgb(var(--ml-primary))]" }) })
2462
2462
  ) : (
2463
2463
  // Upcoming: hollow dim dot
2464
2464
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-3.5 w-3.5 rounded-full border border-white/20 bg-transparent" })
@@ -2481,7 +2481,7 @@ function StageProgress({ stages, activeStage, className }) {
2481
2481
  children: /* @__PURE__ */ jsxRuntime.jsx(
2482
2482
  "div",
2483
2483
  {
2484
- className: "h-full rounded-full bg-gradient-to-r from-[var(--ml-accent)] to-[var(--ml-primary)] transition-[width] duration-500 ease-in-out",
2484
+ className: "h-full rounded-full bg-gradient-to-r from-[rgb(var(--ml-accent))] to-[rgb(var(--ml-primary))] transition-[width] duration-500 ease-in-out",
2485
2485
  style: { width: `${fillPercent}%` },
2486
2486
  children: isAnimating && /* @__PURE__ */ jsxRuntime.jsx(
2487
2487
  "span",
package/dist/index.js CHANGED
@@ -701,7 +701,7 @@ var Slider = forwardRef(function Slider2({
701
701
  if (numMax === numMin) return 0;
702
702
  return Math.max(0, Math.min(100, (numericValue - numMin) / (numMax - numMin) * 100));
703
703
  }, [numericValue, min, max]);
704
- const trackGradient = `linear-gradient(to right, var(--ml-primary, #8b5cf6) ${percentage}%, rgba(255,255,255,0.1) ${percentage}%)`;
704
+ const trackGradient = `linear-gradient(to right, rgb(var(--ml-primary, 139 92 246)) ${percentage}%, rgba(255,255,255,0.1) ${percentage}%)`;
705
705
  const displayValue = formatValue ? formatValue(numericValue) : String(numericValue);
706
706
  const handleChange = (e) => {
707
707
  onChange?.(Number(e.target.value));
@@ -733,7 +733,7 @@ var Slider = forwardRef(function Slider2({
733
733
  "[&::-webkit-slider-thumb]:rounded-full",
734
734
  "[&::-webkit-slider-thumb]:bg-white",
735
735
  "[&::-webkit-slider-thumb]:border-2",
736
- "[&::-webkit-slider-thumb]:border-[var(--ml-primary,#8b5cf6)]",
736
+ "[&::-webkit-slider-thumb]:border-[rgb(var(--ml-primary,139_92_246))]",
737
737
  "[&::-webkit-slider-thumb]:transition-shadow",
738
738
  "[&::-webkit-slider-thumb]:duration-150",
739
739
  // Moz thumb
@@ -742,7 +742,7 @@ var Slider = forwardRef(function Slider2({
742
742
  "[&::-moz-range-thumb]:rounded-full",
743
743
  "[&::-moz-range-thumb]:bg-white",
744
744
  "[&::-moz-range-thumb]:border-2",
745
- "[&::-moz-range-thumb]:border-[var(--ml-primary,#8b5cf6)]",
745
+ "[&::-moz-range-thumb]:border-[rgb(var(--ml-primary,139_92_246))]",
746
746
  "[&::-moz-range-thumb]:transition-shadow",
747
747
  "[&::-moz-range-thumb]:duration-150",
748
748
  // Moz track — transparent so the gradient on the element shows through
@@ -2452,7 +2452,7 @@ function StageProgress({ stages, activeStage, className }) {
2452
2452
  ) })
2453
2453
  ) : isActive ? (
2454
2454
  // Active: primary dot with ring
2455
- /* @__PURE__ */ jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full ring-2 ring-[var(--ml-primary)] ring-offset-1 ring-offset-black/50", children: /* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[var(--ml-primary)]" }) })
2455
+ /* @__PURE__ */ jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full ring-2 ring-[rgb(var(--ml-primary))] ring-offset-1 ring-offset-black/50", children: /* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[rgb(var(--ml-primary))]" }) })
2456
2456
  ) : (
2457
2457
  // Upcoming: hollow dim dot
2458
2458
  /* @__PURE__ */ jsx("span", { className: "h-3.5 w-3.5 rounded-full border border-white/20 bg-transparent" })
@@ -2475,7 +2475,7 @@ function StageProgress({ stages, activeStage, className }) {
2475
2475
  children: /* @__PURE__ */ jsx(
2476
2476
  "div",
2477
2477
  {
2478
- className: "h-full rounded-full bg-gradient-to-r from-[var(--ml-accent)] to-[var(--ml-primary)] transition-[width] duration-500 ease-in-out",
2478
+ className: "h-full rounded-full bg-gradient-to-r from-[rgb(var(--ml-accent))] to-[rgb(var(--ml-primary))] transition-[width] duration-500 ease-in-out",
2479
2479
  style: { width: `${fillPercent}%` },
2480
2480
  children: isAnimating && /* @__PURE__ */ jsx(
2481
2481
  "span",
@@ -1,37 +1,38 @@
1
1
  'use strict';
2
2
 
3
3
  // src/preset/index.ts
4
+ var rgb = (cssVar) => `rgb(var(${cssVar}) / <alpha-value>)`;
4
5
  var memelabPreset = {
5
6
  darkMode: "class",
6
7
  theme: {
7
8
  extend: {
8
9
  colors: {
9
10
  surface: {
10
- DEFAULT: "var(--ml-bg)",
11
- 0: "var(--ml-surface-0)",
12
- 50: "var(--ml-surface-50)",
13
- 100: "var(--ml-surface-100)",
14
- 200: "var(--ml-surface-200)",
15
- 300: "var(--ml-surface-300)",
16
- 400: "var(--ml-surface-400)"
11
+ DEFAULT: rgb("--ml-bg"),
12
+ 0: rgb("--ml-surface-0"),
13
+ 50: rgb("--ml-surface-50"),
14
+ 100: rgb("--ml-surface-100"),
15
+ 200: rgb("--ml-surface-200"),
16
+ 300: rgb("--ml-surface-300"),
17
+ 400: rgb("--ml-surface-400")
17
18
  },
18
19
  primary: {
19
- DEFAULT: "var(--ml-primary)",
20
- light: "var(--ml-primary-light)",
21
- dark: "var(--ml-primary-dark)"
20
+ DEFAULT: rgb("--ml-primary"),
21
+ light: rgb("--ml-primary-light"),
22
+ dark: rgb("--ml-primary-dark")
22
23
  },
23
24
  accent: {
24
- DEFAULT: "var(--ml-accent)",
25
- light: "var(--ml-accent-light)",
26
- dark: "var(--ml-accent-dark)"
25
+ DEFAULT: rgb("--ml-accent"),
26
+ light: rgb("--ml-accent-light"),
27
+ dark: rgb("--ml-accent-dark")
27
28
  },
28
29
  glow: {
29
- purple: "var(--ml-glow-purple)",
30
- pink: "var(--ml-glow-pink)"
30
+ purple: rgb("--ml-glow-purple"),
31
+ pink: rgb("--ml-glow-pink")
31
32
  },
32
- success: "var(--ml-success)",
33
- warning: "var(--ml-warning)",
34
- danger: "var(--ml-danger)"
33
+ success: rgb("--ml-success"),
34
+ warning: rgb("--ml-warning"),
35
+ danger: rgb("--ml-danger")
35
36
  },
36
37
  fontFamily: {
37
38
  sans: ["var(--ml-font-sans)"]
@@ -1,35 +1,36 @@
1
1
  // src/preset/index.ts
2
+ var rgb = (cssVar) => `rgb(var(${cssVar}) / <alpha-value>)`;
2
3
  var memelabPreset = {
3
4
  darkMode: "class",
4
5
  theme: {
5
6
  extend: {
6
7
  colors: {
7
8
  surface: {
8
- DEFAULT: "var(--ml-bg)",
9
- 0: "var(--ml-surface-0)",
10
- 50: "var(--ml-surface-50)",
11
- 100: "var(--ml-surface-100)",
12
- 200: "var(--ml-surface-200)",
13
- 300: "var(--ml-surface-300)",
14
- 400: "var(--ml-surface-400)"
9
+ DEFAULT: rgb("--ml-bg"),
10
+ 0: rgb("--ml-surface-0"),
11
+ 50: rgb("--ml-surface-50"),
12
+ 100: rgb("--ml-surface-100"),
13
+ 200: rgb("--ml-surface-200"),
14
+ 300: rgb("--ml-surface-300"),
15
+ 400: rgb("--ml-surface-400")
15
16
  },
16
17
  primary: {
17
- DEFAULT: "var(--ml-primary)",
18
- light: "var(--ml-primary-light)",
19
- dark: "var(--ml-primary-dark)"
18
+ DEFAULT: rgb("--ml-primary"),
19
+ light: rgb("--ml-primary-light"),
20
+ dark: rgb("--ml-primary-dark")
20
21
  },
21
22
  accent: {
22
- DEFAULT: "var(--ml-accent)",
23
- light: "var(--ml-accent-light)",
24
- dark: "var(--ml-accent-dark)"
23
+ DEFAULT: rgb("--ml-accent"),
24
+ light: rgb("--ml-accent-light"),
25
+ dark: rgb("--ml-accent-dark")
25
26
  },
26
27
  glow: {
27
- purple: "var(--ml-glow-purple)",
28
- pink: "var(--ml-glow-pink)"
28
+ purple: rgb("--ml-glow-purple"),
29
+ pink: rgb("--ml-glow-pink")
29
30
  },
30
- success: "var(--ml-success)",
31
- warning: "var(--ml-warning)",
32
- danger: "var(--ml-danger)"
31
+ success: rgb("--ml-success"),
32
+ warning: rgb("--ml-warning"),
33
+ danger: rgb("--ml-danger")
33
34
  },
34
35
  fontFamily: {
35
36
  sans: ["var(--ml-font-sans)"]
@@ -1,15 +1,15 @@
1
1
  :root {
2
2
  /* ---- Background ---- */
3
- --ml-bg: #0a0a0f;
4
- --ml-fg: #f9fafb;
3
+ --ml-bg: 10 10 15;
4
+ --ml-fg: 249 250 251;
5
5
 
6
6
  /* ---- Surface scale ---- */
7
- --ml-surface-0: #0a0a0f;
8
- --ml-surface-50: #0f0f18;
9
- --ml-surface-100: #141420;
10
- --ml-surface-200: #1a1a2e;
11
- --ml-surface-300: #24243a;
12
- --ml-surface-400: #2a2a4a;
7
+ --ml-surface-0: 10 10 15;
8
+ --ml-surface-50: 15 15 24;
9
+ --ml-surface-100: 20 20 32;
10
+ --ml-surface-200: 26 26 46;
11
+ --ml-surface-300: 36 36 58;
12
+ --ml-surface-400: 42 42 74;
13
13
 
14
14
  /* ---- Glass ---- */
15
15
  --ml-glass-bg: rgba(255, 255, 255, 0.05);
@@ -19,23 +19,23 @@
19
19
  --ml-glass-blur: 16px;
20
20
 
21
21
  /* ---- Primary palette ---- */
22
- --ml-primary: #8b5cf6;
23
- --ml-primary-light: #a78bfa;
24
- --ml-primary-dark: #7c3aed;
22
+ --ml-primary: 139 92 246;
23
+ --ml-primary-light: 167 139 250;
24
+ --ml-primary-dark: 124 58 237;
25
25
 
26
26
  /* ---- Accent (gradient source) ---- */
27
- --ml-accent: #667eea;
28
- --ml-accent-light: #8b9cf7;
29
- --ml-accent-dark: #4c5fd4;
27
+ --ml-accent: 102 126 234;
28
+ --ml-accent-light: 139 156 247;
29
+ --ml-accent-dark: 76 95 212;
30
30
 
31
31
  /* ---- Glow ---- */
32
- --ml-glow-purple: #764ba2;
33
- --ml-glow-pink: #f093fb;
32
+ --ml-glow-purple: 118 75 162;
33
+ --ml-glow-pink: 240 147 251;
34
34
 
35
35
  /* ---- Semantic ---- */
36
- --ml-success: #10b981;
37
- --ml-warning: #f59e0b;
38
- --ml-danger: #f43f5e;
36
+ --ml-success: 16 185 129;
37
+ --ml-warning: 245 158 11;
38
+ --ml-danger: 244 63 94;
39
39
 
40
40
  /* ---- Typography ---- */
41
41
  --ml-font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
@@ -589,8 +589,8 @@ video {
589
589
  display: none;
590
590
  }
591
591
  body {
592
- background-color: var(--ml-bg, #0a0a0f);
593
- color: var(--ml-fg, #f9fafb);
592
+ background-color: rgb(var(--ml-bg, 10 10 15));
593
+ color: rgb(var(--ml-fg, 249 250 251));
594
594
  font-family: var(--ml-font-sans);
595
595
  -webkit-font-smoothing: antialiased;
596
596
  -moz-osx-font-smoothing: grayscale;
@@ -600,17 +600,17 @@ body {
600
600
  width: 6px;
601
601
  }
602
602
  ::-webkit-scrollbar-track {
603
- background: var(--ml-surface-50, #0f0f18);
603
+ background: rgb(var(--ml-surface-50, 15 15 24));
604
604
  }
605
605
  ::-webkit-scrollbar-thumb {
606
- background: var(--ml-surface-300, #24243a);
606
+ background: rgb(var(--ml-surface-300, 36 36 58));
607
607
  border-radius: 9999px;
608
608
  }
609
609
  /* Global focus-visible */
610
610
  :where(a, button, input, select, textarea, [role='button'], [role='menuitem'], [role='tab']):focus-visible {
611
611
  outline: none;
612
612
  box-shadow:
613
- 0 0 0 2px var(--ml-primary, #8b5cf6),
613
+ 0 0 0 2px rgb(var(--ml-primary, 139 92 246)),
614
614
  0 0 0 4px transparent;
615
615
  }
616
616
  /* Dark select */
@@ -619,8 +619,8 @@ select {
619
619
  }
620
620
  select option,
621
621
  select optgroup {
622
- background-color: var(--ml-surface-50, #0f0f18);
623
- color: var(--ml-fg, #f9fafb);
622
+ background-color: rgb(var(--ml-surface-50, 15 15 24));
623
+ color: rgb(var(--ml-fg, 249 250 251));
624
624
  }
625
625
  /* Accessibility: link underline offset */
626
626
  a {
@@ -691,9 +691,9 @@ a {
691
691
  .animated-gradient {
692
692
  background: linear-gradient(
693
693
  270deg,
694
- var(--ml-accent, #667eea),
695
- var(--ml-glow-purple, #764ba2),
696
- var(--ml-glow-pink, #f093fb)
694
+ rgb(var(--ml-accent, 102 126 234)),
695
+ rgb(var(--ml-glow-purple, 118 75 162)),
696
+ rgb(var(--ml-glow-pink, 240 147 251))
697
697
  );
698
698
  background-size: 400% 400%;
699
699
  animation: ml-gradient 15s ease infinite;
@@ -708,10 +708,10 @@ a {
708
708
  pointer-events: none;
709
709
  }
710
710
  .orb-purple {
711
- background: var(--ml-glow-purple, #764ba2);
711
+ background: rgb(var(--ml-glow-purple, 118 75 162));
712
712
  }
713
713
  .orb-blue {
714
- background: var(--ml-accent, #667eea);
714
+ background: rgb(var(--ml-accent, 102 126 234));
715
715
  }
716
716
  /* iOS safe-area */
717
717
  .pb-safe {
@@ -1501,7 +1501,11 @@ a {
1501
1501
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
1502
1502
  }
1503
1503
  .border-primary {
1504
- border-color: var(--ml-primary);
1504
+ --tw-border-opacity: 1;
1505
+ border-color: rgb(var(--ml-primary) / var(--tw-border-opacity, 1));
1506
+ }
1507
+ .border-primary\/30 {
1508
+ border-color: rgb(var(--ml-primary) / 0.3);
1505
1509
  }
1506
1510
  .border-rose-500 {
1507
1511
  --tw-border-opacity: 1;
@@ -1526,14 +1530,21 @@ a {
1526
1530
  border-color: rgb(255 255 255 / 0.06);
1527
1531
  }
1528
1532
  .border-t-primary {
1529
- border-top-color: var(--ml-primary);
1533
+ --tw-border-opacity: 1;
1534
+ border-top-color: rgb(var(--ml-primary) / var(--tw-border-opacity, 1));
1530
1535
  }
1531
1536
  .border-t-white {
1532
1537
  --tw-border-opacity: 1;
1533
1538
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
1534
1539
  }
1535
- .bg-\[var\(--ml-primary\)\] {
1536
- background-color: var(--ml-primary);
1540
+ .bg-\[rgb\(var\(--ml-primary\)\)\] {
1541
+ background-color: rgb(var(--ml-primary));
1542
+ }
1543
+ .bg-accent\/15 {
1544
+ background-color: rgb(var(--ml-accent) / 0.15);
1545
+ }
1546
+ .bg-accent\/\[0\.10\] {
1547
+ background-color: rgb(var(--ml-accent) / 0.10);
1537
1548
  }
1538
1549
  .bg-amber-400 {
1539
1550
  --tw-bg-opacity: 1;
@@ -1578,7 +1589,17 @@ a {
1578
1589
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
1579
1590
  }
1580
1591
  .bg-primary {
1581
- background-color: var(--ml-primary);
1592
+ --tw-bg-opacity: 1;
1593
+ background-color: rgb(var(--ml-primary) / var(--tw-bg-opacity, 1));
1594
+ }
1595
+ .bg-primary\/10 {
1596
+ background-color: rgb(var(--ml-primary) / 0.1);
1597
+ }
1598
+ .bg-primary\/15 {
1599
+ background-color: rgb(var(--ml-primary) / 0.15);
1600
+ }
1601
+ .bg-primary\/20 {
1602
+ background-color: rgb(var(--ml-primary) / 0.2);
1582
1603
  }
1583
1604
  .bg-purple-500\/\[0\.12\] {
1584
1605
  background-color: rgb(168 85 247 / 0.12);
@@ -1602,13 +1623,25 @@ a {
1602
1623
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
1603
1624
  }
1604
1625
  .bg-surface {
1605
- background-color: var(--ml-bg);
1626
+ --tw-bg-opacity: 1;
1627
+ background-color: rgb(var(--ml-bg) / var(--tw-bg-opacity, 1));
1606
1628
  }
1607
1629
  .bg-surface-100 {
1608
- background-color: var(--ml-surface-100);
1630
+ --tw-bg-opacity: 1;
1631
+ background-color: rgb(var(--ml-surface-100) / var(--tw-bg-opacity, 1));
1632
+ }
1633
+ .bg-surface-100\/95 {
1634
+ background-color: rgb(var(--ml-surface-100) / 0.95);
1609
1635
  }
1610
1636
  .bg-surface-300 {
1611
- background-color: var(--ml-surface-300);
1637
+ --tw-bg-opacity: 1;
1638
+ background-color: rgb(var(--ml-surface-300) / var(--tw-bg-opacity, 1));
1639
+ }
1640
+ .bg-surface-50\/80 {
1641
+ background-color: rgb(var(--ml-surface-50) / 0.8);
1642
+ }
1643
+ .bg-surface-50\/90 {
1644
+ background-color: rgb(var(--ml-surface-50) / 0.9);
1612
1645
  }
1613
1646
  .bg-transparent {
1614
1647
  background-color: transparent;
@@ -1639,14 +1672,14 @@ a {
1639
1672
  .bg-gradient-to-r {
1640
1673
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
1641
1674
  }
1642
- .from-\[var\(--ml-accent\)\] {
1643
- --tw-gradient-from: var(--ml-accent) var(--tw-gradient-from-position);
1644
- --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
1675
+ .from-\[rgb\(var\(--ml-accent\)\)\] {
1676
+ --tw-gradient-from: rgb(var(--ml-accent)) var(--tw-gradient-from-position);
1677
+ --tw-gradient-to: rgb(var(--ml-accent) / 0) var(--tw-gradient-to-position);
1645
1678
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1646
1679
  }
1647
1680
  .from-primary {
1648
- --tw-gradient-from: var(--ml-primary) var(--tw-gradient-from-position);
1649
- --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
1681
+ --tw-gradient-from: rgb(var(--ml-primary) / 1) var(--tw-gradient-from-position);
1682
+ --tw-gradient-to: rgb(var(--ml-primary) / 0) var(--tw-gradient-to-position);
1650
1683
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1651
1684
  }
1652
1685
  .from-transparent {
@@ -1663,11 +1696,11 @@ a {
1663
1696
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
1664
1697
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
1665
1698
  }
1666
- .to-\[var\(--ml-primary\)\] {
1667
- --tw-gradient-to: var(--ml-primary) var(--tw-gradient-to-position);
1699
+ .to-\[rgb\(var\(--ml-primary\)\)\] {
1700
+ --tw-gradient-to: rgb(var(--ml-primary)) var(--tw-gradient-to-position);
1668
1701
  }
1669
1702
  .to-accent {
1670
- --tw-gradient-to: var(--ml-accent) var(--tw-gradient-to-position);
1703
+ --tw-gradient-to: rgb(var(--ml-accent) / 1) var(--tw-gradient-to-position);
1671
1704
  }
1672
1705
  .to-purple-600 {
1673
1706
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
@@ -1869,7 +1902,8 @@ a {
1869
1902
  letter-spacing: 0.05em;
1870
1903
  }
1871
1904
  .text-accent-light {
1872
- color: var(--ml-accent-light);
1905
+ --tw-text-opacity: 1;
1906
+ color: rgb(var(--ml-accent-light) / var(--tw-text-opacity, 1));
1873
1907
  }
1874
1908
  .text-amber-400 {
1875
1909
  --tw-text-opacity: 1;
@@ -1892,7 +1926,8 @@ a {
1892
1926
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
1893
1927
  }
1894
1928
  .text-primary {
1895
- color: var(--ml-primary);
1929
+ --tw-text-opacity: 1;
1930
+ color: rgb(var(--ml-primary) / var(--tw-text-opacity, 1));
1896
1931
  }
1897
1932
  .text-red-400 {
1898
1933
  --tw-text-opacity: 1;
@@ -2038,8 +2073,11 @@ a {
2038
2073
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2039
2074
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2040
2075
  }
2041
- .ring-\[var\(--ml-primary\)\] {
2042
- --tw-ring-color: var(--ml-primary);
2076
+ .ring-\[rgb\(var\(--ml-primary\)\)\] {
2077
+ --tw-ring-color: rgb(var(--ml-primary));
2078
+ }
2079
+ .ring-accent\/20 {
2080
+ --tw-ring-color: rgb(var(--ml-accent) / 0.2);
2043
2081
  }
2044
2082
  .ring-amber-500\/20 {
2045
2083
  --tw-ring-color: rgb(245 158 11 / 0.2);
@@ -2047,6 +2085,12 @@ a {
2047
2085
  .ring-emerald-500\/20 {
2048
2086
  --tw-ring-color: rgb(16 185 129 / 0.2);
2049
2087
  }
2088
+ .ring-primary\/20 {
2089
+ --tw-ring-color: rgb(var(--ml-primary) / 0.2);
2090
+ }
2091
+ .ring-primary\/40 {
2092
+ --tw-ring-color: rgb(var(--ml-primary) / 0.4);
2093
+ }
2050
2094
  .ring-rose-500\/20 {
2051
2095
  --tw-ring-color: rgb(244 63 94 / 0.2);
2052
2096
  }
@@ -2178,6 +2222,9 @@ a {
2178
2222
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2179
2223
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2180
2224
  }
2225
+ .focus-within\:ring-primary\/40:focus-within {
2226
+ --tw-ring-color: rgb(var(--ml-primary) / 0.4);
2227
+ }
2181
2228
  .focus-within\:ring-rose-500\/40:focus-within {
2182
2229
  --tw-ring-color: rgb(244 63 94 / 0.4);
2183
2230
  }
@@ -2191,6 +2238,9 @@ a {
2191
2238
  --tw-scale-y: 1.02;
2192
2239
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2193
2240
  }
2241
+ .hover\:border-primary\/50:hover {
2242
+ border-color: rgb(var(--ml-primary) / 0.5);
2243
+ }
2194
2244
  .hover\:border-transparent:hover {
2195
2245
  border-color: transparent;
2196
2246
  }
@@ -2289,7 +2339,14 @@ a {
2289
2339
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2290
2340
  }
2291
2341
  .focus-visible\:ring-primary:focus-visible {
2292
- --tw-ring-color: var(--ml-primary);
2342
+ --tw-ring-opacity: 1;
2343
+ --tw-ring-color: rgb(var(--ml-primary) / var(--tw-ring-opacity, 1));
2344
+ }
2345
+ .focus-visible\:ring-primary\/40:focus-visible {
2346
+ --tw-ring-color: rgb(var(--ml-primary) / 0.4);
2347
+ }
2348
+ .focus-visible\:ring-primary\/60:focus-visible {
2349
+ --tw-ring-color: rgb(var(--ml-primary) / 0.6);
2293
2350
  }
2294
2351
  .focus-visible\:ring-offset-1:focus-visible {
2295
2352
  --tw-ring-offset-width: 1px;
@@ -2298,7 +2355,7 @@ a {
2298
2355
  --tw-ring-offset-width: 2px;
2299
2356
  }
2300
2357
  .focus-visible\:ring-offset-surface:focus-visible {
2301
- --tw-ring-offset-color: var(--ml-bg);
2358
+ --tw-ring-offset-color: rgb(var(--ml-bg) / 1);
2302
2359
  }
2303
2360
  .focus-visible\:ring-offset-transparent:focus-visible {
2304
2361
  --tw-ring-offset-color: transparent;
@@ -2326,6 +2383,9 @@ a {
2326
2383
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2327
2384
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2328
2385
  }
2386
+ .peer:focus-visible ~ .peer-focus-visible\:ring-primary\/40 {
2387
+ --tw-ring-color: rgb(var(--ml-primary) / 0.4);
2388
+ }
2329
2389
  .peer:focus-visible ~ .peer-focus-visible\:ring-offset-1 {
2330
2390
  --tw-ring-offset-width: 1px;
2331
2391
  }
@@ -2393,8 +2453,8 @@ a {
2393
2453
  .\[\&\:\:-moz-range-thumb\]\:border-2::-moz-range-thumb {
2394
2454
  border-width: 2px;
2395
2455
  }
2396
- .\[\&\:\:-moz-range-thumb\]\:border-\[var\(--ml-primary\2c \#8b5cf6\)\]::-moz-range-thumb {
2397
- border-color: var(--ml-primary,#8b5cf6);
2456
+ .\[\&\:\:-moz-range-thumb\]\:border-\[rgb\(var\(--ml-primary\2c 139_92_246\)\)\]::-moz-range-thumb {
2457
+ border-color: rgb(var(--ml-primary,139 92 246));
2398
2458
  }
2399
2459
  .\[\&\:\:-moz-range-thumb\]\:bg-white::-moz-range-thumb {
2400
2460
  --tw-bg-opacity: 1;
@@ -2414,6 +2474,9 @@ a {
2414
2474
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2415
2475
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2416
2476
  }
2477
+ .focus-visible\:\[\&\:\:-moz-range-thumb\]\:ring-primary\/40::-moz-range-thumb:focus-visible {
2478
+ --tw-ring-color: rgb(var(--ml-primary) / 0.4);
2479
+ }
2417
2480
  .\[\&\:\:-moz-range-track\]\:rounded-full::-moz-range-track {
2418
2481
  border-radius: 9999px;
2419
2482
  }
@@ -2436,8 +2499,8 @@ a {
2436
2499
  .\[\&\:\:-webkit-slider-thumb\]\:border-2::-webkit-slider-thumb {
2437
2500
  border-width: 2px;
2438
2501
  }
2439
- .\[\&\:\:-webkit-slider-thumb\]\:border-\[var\(--ml-primary\2c \#8b5cf6\)\]::-webkit-slider-thumb {
2440
- border-color: var(--ml-primary,#8b5cf6);
2502
+ .\[\&\:\:-webkit-slider-thumb\]\:border-\[rgb\(var\(--ml-primary\2c 139_92_246\)\)\]::-webkit-slider-thumb {
2503
+ border-color: rgb(var(--ml-primary,139 92 246));
2441
2504
  }
2442
2505
  .\[\&\:\:-webkit-slider-thumb\]\:bg-white::-webkit-slider-thumb {
2443
2506
  --tw-bg-opacity: 1;
@@ -2457,9 +2520,12 @@ a {
2457
2520
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2458
2521
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2459
2522
  }
2523
+ .focus-visible\:\[\&\:\:-webkit-slider-thumb\]\:ring-primary\/40::-webkit-slider-thumb:focus-visible {
2524
+ --tw-ring-color: rgb(var(--ml-primary) / 0.4);
2525
+ }
2460
2526
  .focus-visible\:\[\&\:\:-webkit-slider-thumb\]\:ring-offset-2::-webkit-slider-thumb:focus-visible {
2461
2527
  --tw-ring-offset-width: 2px;
2462
2528
  }
2463
2529
  .focus-visible\:\[\&\:\:-webkit-slider-thumb\]\:ring-offset-surface::-webkit-slider-thumb:focus-visible {
2464
- --tw-ring-offset-color: var(--ml-bg);
2530
+ --tw-ring-offset-color: rgb(var(--ml-bg) / 1);
2465
2531
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memelabui/ui",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "MemeLab shared UI component library — React + Tailwind + Glassmorphism",
5
5
  "type": "module",
6
6
  "sideEffects": [