@compose-market/theme 0.0.82 → 0.0.91

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 (83) hide show
  1. package/dist/agents/index.d.ts +2 -2
  2. package/dist/agents/index.d.ts.map +1 -1
  3. package/dist/app/index.d.ts +1 -1
  4. package/dist/app/index.d.ts.map +1 -1
  5. package/dist/app/styles.d.ts +1 -1
  6. package/dist/app/styles.d.ts.map +1 -1
  7. package/dist/app/styles.js +64 -4
  8. package/dist/app/styles.js.map +1 -1
  9. package/dist/css/app.css +64 -4
  10. package/dist/css/dark.css +18 -18
  11. package/dist/css/effects.css +293 -30
  12. package/dist/css/index.css +4 -0
  13. package/dist/css/index.d.ts +1 -1
  14. package/dist/css/index.d.ts.map +1 -1
  15. package/dist/css/index.js +4 -0
  16. package/dist/css/index.js.map +1 -1
  17. package/dist/css/market.css +273 -0
  18. package/dist/css/mirror.css +251 -0
  19. package/dist/css/session.css +28 -0
  20. package/dist/css/shell.css +46 -30
  21. package/dist/css/tokens.css +1 -1
  22. package/dist/css/utilities.css +323 -0
  23. package/dist/css/workflows.css +634 -0
  24. package/dist/effects/styles.d.ts +3 -3
  25. package/dist/effects/styles.d.ts.map +1 -1
  26. package/dist/effects/styles.js +295 -32
  27. package/dist/effects/styles.js.map +1 -1
  28. package/dist/index.d.ts +5 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/market/index.d.ts +8 -0
  33. package/dist/market/index.d.ts.map +1 -0
  34. package/dist/market/index.js +8 -0
  35. package/dist/market/index.js.map +1 -0
  36. package/dist/market/styles.d.ts +8 -0
  37. package/dist/market/styles.d.ts.map +1 -0
  38. package/dist/market/styles.js +281 -0
  39. package/dist/market/styles.js.map +1 -0
  40. package/dist/mirror/index.d.ts +8 -0
  41. package/dist/mirror/index.d.ts.map +1 -0
  42. package/dist/mirror/index.js +8 -0
  43. package/dist/mirror/index.js.map +1 -0
  44. package/dist/mirror/styles.d.ts +7 -0
  45. package/dist/mirror/styles.d.ts.map +1 -0
  46. package/dist/mirror/styles.js +258 -0
  47. package/dist/mirror/styles.js.map +1 -0
  48. package/dist/session/index.d.ts +16 -4
  49. package/dist/session/index.d.ts.map +1 -1
  50. package/dist/session/index.js +31 -2
  51. package/dist/session/index.js.map +1 -1
  52. package/dist/session/styles.d.ts +1 -1
  53. package/dist/session/styles.d.ts.map +1 -1
  54. package/dist/session/styles.js +28 -0
  55. package/dist/session/styles.js.map +1 -1
  56. package/dist/shell/index.d.ts +19 -19
  57. package/dist/shell/index.d.ts.map +1 -1
  58. package/dist/shell/styles.d.ts +1 -1
  59. package/dist/shell/styles.d.ts.map +1 -1
  60. package/dist/shell/styles.js +46 -30
  61. package/dist/shell/styles.js.map +1 -1
  62. package/dist/themes/dark.js +25 -25
  63. package/dist/themes/dark.js.map +1 -1
  64. package/dist/tokens/typography.d.ts +1 -1
  65. package/dist/tokens/typography.js +2 -2
  66. package/dist/tokens/typography.js.map +1 -1
  67. package/dist/utilities/index.d.ts +8 -0
  68. package/dist/utilities/index.d.ts.map +1 -0
  69. package/dist/utilities/index.js +8 -0
  70. package/dist/utilities/index.js.map +1 -0
  71. package/dist/utilities/styles.d.ts +8 -0
  72. package/dist/utilities/styles.d.ts.map +1 -0
  73. package/dist/utilities/styles.js +331 -0
  74. package/dist/utilities/styles.js.map +1 -0
  75. package/dist/workflows/index.d.ts +65 -0
  76. package/dist/workflows/index.d.ts.map +1 -0
  77. package/dist/workflows/index.js +17 -0
  78. package/dist/workflows/index.js.map +1 -0
  79. package/dist/workflows/styles.d.ts +8 -0
  80. package/dist/workflows/styles.d.ts.map +1 -0
  81. package/dist/workflows/styles.js +642 -0
  82. package/dist/workflows/styles.js.map +1 -0
  83. package/package.json +49 -10
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/shell/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuyBvB,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/shell/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuzBvB,CAAC"}
@@ -5,32 +5,32 @@
5
5
  * Based on official branding guidelines.
6
6
  */
7
7
  export const darkTheme = {
8
- background: '222 47% 3%',
9
- foreground: '210 40% 80%',
10
- card: '222 40% 5%',
11
- cardForeground: '210 30% 75%',
12
- popover: '222 40% 4%',
13
- popoverForeground: '210 30% 75%',
8
+ background: '221 50% 9%',
9
+ foreground: '230 78% 92%',
10
+ card: '224 36% 13%',
11
+ cardForeground: '230 78% 92%',
12
+ popover: '224 36% 13%',
13
+ popoverForeground: '230 78% 92%',
14
14
  primary: '188 95% 43%',
15
15
  primaryForeground: '222 47% 3%',
16
- secondary: '270 60% 20%',
17
- secondaryForeground: '270 80% 90%',
18
- muted: '217 33% 15%',
19
- mutedForeground: '215 16% 47%',
16
+ secondary: '226 21% 23%',
17
+ secondaryForeground: '230 78% 92%',
18
+ muted: '224 36% 13%',
19
+ mutedForeground: '229 28% 70%',
20
20
  accent: '292 85% 55%',
21
- accentForeground: '0 0% 100%',
21
+ accentForeground: '230 78% 92%',
22
22
  destructive: '0 90% 50%',
23
23
  destructiveForeground: '0 0% 100%',
24
- border: '217 33% 15%',
25
- input: '217 33% 10%',
24
+ border: '188 95% 43%',
25
+ input: '222 47% 7%',
26
26
  ring: '188 95% 43%',
27
- sidebar: '222 47% 3%',
28
- sidebarForeground: '210 30% 75%',
27
+ sidebar: '221 50% 9%',
28
+ sidebarForeground: '230 78% 92%',
29
29
  sidebarPrimary: '188 95% 43%',
30
30
  sidebarPrimaryForeground: '222 47% 3%',
31
- sidebarAccent: '222 40% 8%',
32
- sidebarAccentForeground: '210 40% 90%',
33
- sidebarBorder: '217 33% 15%',
31
+ sidebarAccent: '226 21% 23%',
32
+ sidebarAccentForeground: '230 78% 92%',
33
+ sidebarBorder: '188 95% 43%',
34
34
  sidebarRing: '188 95% 43%',
35
35
  };
36
36
  export const darkThemeMeta = {
@@ -40,9 +40,9 @@ export const darkThemeMeta = {
40
40
  colors: darkTheme,
41
41
  };
42
42
  export const darkBackgrounds = {
43
- default: 'radial-gradient(circle at 50% 0%, hsl(270 60% 10% / 0.2), transparent 70%), linear-gradient(to bottom, transparent, hsl(222 47% 3%))',
44
- subtle: 'hsl(222 47% 3%)',
45
- elevated: 'hsl(222 40% 5%)',
43
+ default: 'radial-gradient(circle at 50% 0%, hsl(188 95% 43% / 0.12), transparent 70%), linear-gradient(to bottom, transparent, hsl(221 50% 9%))',
44
+ subtle: 'hsl(221 50% 9%)',
45
+ elevated: 'hsl(224 36% 13%)',
46
46
  };
47
47
  export const darkEffects = {
48
48
  neonGlow: {
@@ -50,10 +50,10 @@ export const darkEffects = {
50
50
  fuchsia: '0 0 10px hsl(292 85% 55% / 0.5), 0 0 20px hsl(292 85% 55% / 0.3)',
51
51
  },
52
52
  glassPanel: {
53
- background: 'linear-gradient(145deg, hsl(222 40% 5% / 0.8), hsl(222 40% 5% / 0.4))',
54
- backdropFilter: 'blur(12px)',
55
- border: '1px solid hsl(217 33% 15% / 0.5)',
56
- boxShadow: '0 4px 24px -1px hsl(0 0% 0% / 0.3), inset 0 1px 0 hsl(0 0% 100% / 0.05)',
53
+ background: 'linear-gradient(145deg, hsl(226 21% 23% / 0.38), hsl(221 50% 9% / 0.24))',
54
+ backdropFilter: 'blur(18px)',
55
+ border: '1px solid hsl(188 95% 43% / 0.18)',
56
+ boxShadow: '0 0 40px hsl(188 95% 43% / 0.055), inset 0 1px 0 hsl(0 0% 100% / 0.07)',
57
57
  },
58
58
  };
59
59
  //# sourceMappingURL=dark.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dark.js","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkCH,MAAM,CAAC,MAAM,SAAS,GAAgB;IACpC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE,YAAY;IAClB,cAAc,EAAE,aAAa;IAC7B,OAAO,EAAE,YAAY;IACrB,iBAAiB,EAAE,aAAa;IAChC,OAAO,EAAE,aAAa;IACtB,iBAAiB,EAAE,YAAY;IAC/B,SAAS,EAAE,aAAa;IACxB,mBAAmB,EAAE,aAAa;IAClC,KAAK,EAAE,aAAa;IACpB,eAAe,EAAE,aAAa;IAC9B,MAAM,EAAE,aAAa;IACrB,gBAAgB,EAAE,WAAW;IAC7B,WAAW,EAAE,WAAW;IACxB,qBAAqB,EAAE,WAAW;IAClC,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,YAAY;IACrB,iBAAiB,EAAE,aAAa;IAChC,cAAc,EAAE,aAAa;IAC7B,wBAAwB,EAAE,YAAY;IACtC,aAAa,EAAE,YAAY;IAC3B,uBAAuB,EAAE,aAAa;IACtC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,kEAAkE;IAC/E,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,sIAAsI;IAC/I,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,iBAAiB;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,kEAAkE;QACxE,OAAO,EAAE,kEAAkE;KAC5E;IACD,UAAU,EAAE;QACV,UAAU,EAAE,uEAAuE;QACnF,cAAc,EAAE,YAAY;QAC5B,MAAM,EAAE,kCAAkC;QAC1C,SAAS,EAAE,yEAAyE;KACrF;CACF,CAAC"}
1
+ {"version":3,"file":"dark.js","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkCH,MAAM,CAAC,MAAM,SAAS,GAAgB;IACpC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE,aAAa;IACnB,cAAc,EAAE,aAAa;IAC7B,OAAO,EAAE,aAAa;IACtB,iBAAiB,EAAE,aAAa;IAChC,OAAO,EAAE,aAAa;IACtB,iBAAiB,EAAE,YAAY;IAC/B,SAAS,EAAE,aAAa;IACxB,mBAAmB,EAAE,aAAa;IAClC,KAAK,EAAE,aAAa;IACpB,eAAe,EAAE,aAAa;IAC9B,MAAM,EAAE,aAAa;IACrB,gBAAgB,EAAE,aAAa;IAC/B,WAAW,EAAE,WAAW;IACxB,qBAAqB,EAAE,WAAW;IAClC,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,YAAY;IACrB,iBAAiB,EAAE,aAAa;IAChC,cAAc,EAAE,aAAa;IAC7B,wBAAwB,EAAE,YAAY;IACtC,aAAa,EAAE,aAAa;IAC5B,uBAAuB,EAAE,aAAa;IACtC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,kEAAkE;IAC/E,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,uIAAuI;IAChJ,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,kBAAkB;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,kEAAkE;QACxE,OAAO,EAAE,kEAAkE;KAC5E;IACD,UAAU,EAAE;QACV,UAAU,EAAE,0EAA0E;QACtF,cAAc,EAAE,YAAY;QAC5B,MAAM,EAAE,mCAAmC;QAC3C,SAAS,EAAE,wEAAwE;KACpF;CACF,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Font families from branding guidelines:
5
5
  * - Display: Orbitron (headers, brand text)
6
- * - Body: Rajdhani (UI, paragraphs)
6
+ * - Body: Manrope (UI, paragraphs)
7
7
  * - Code: Fira Code (monospace, technical)
8
8
  */
9
9
  export type FontFamilyToken = {
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Font families from branding guidelines:
5
5
  * - Display: Orbitron (headers, brand text)
6
- * - Body: Rajdhani (UI, paragraphs)
6
+ * - Body: Manrope (UI, paragraphs)
7
7
  * - Code: Fira Code (monospace, technical)
8
8
  */
9
9
  export const fontFamilies = {
@@ -15,7 +15,7 @@ export const fontFamilies = {
15
15
  },
16
16
  sans: {
17
17
  name: 'Sans (Body)',
18
- value: '"Rajdhani"',
18
+ value: '"Manrope"',
19
19
  fallback: 'sans-serif',
20
20
  cssVar: '--font-sans',
21
21
  },
@@ -1 +1 @@
1
- {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/tokens/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,YAAY,GAAoC;IAC3D,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,gBAAgB;KACzB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,aAAa;KACtB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,aAAa;KACtB;CACO,CAAC;AASX,MAAM,CAAC,MAAM,SAAS,GAAkC;IACtD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,WAAW;KACpB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,aAAa;KACtB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,YAAY;KACrB;CACO,CAAC;AAQX,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,cAAc;KACvB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,eAAe;KACxB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,eAAe;KACxB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,iBAAiB;KAC1B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,aAAa;KACtB;CACO,CAAC;AAQX,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,QAAQ,EAAE,YAAY;IACtB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,WAAW;CACrB,CAAC"}
1
+ {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/tokens/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,YAAY,GAAoC;IAC3D,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,gBAAgB;KACzB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,aAAa;KACtB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,aAAa;KACtB;CACO,CAAC;AASX,MAAM,CAAC,MAAM,SAAS,GAAkC;IACtD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,WAAW;KACpB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,aAAa;KACtB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,YAAY;KACrB;CACO,CAAC;AAQX,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,cAAc;KACvB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,eAAe;KACxB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,eAAe;KACxB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,iBAAiB;KAC1B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,aAAa;KACtB;CACO,CAAC;AAQX,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,QAAQ,EAAE,YAAY;IACtB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,WAAW;CACrB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Utilities Module
3
+ *
4
+ * Shared CSS utilities for marquee, safe-area, touch, scrollbar, truncation.
5
+ * No React components — these are CSS-only shared classes.
6
+ */
7
+ export { utilitiesStyles } from "./styles";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Utilities Module
3
+ *
4
+ * Shared CSS utilities for marquee, safe-area, touch, scrollbar, truncation.
5
+ * No React components — these are CSS-only shared classes.
6
+ */
7
+ export { utilitiesStyles } from "./styles";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shared Utilities Styles
3
+ *
4
+ * Cross-app CSS utilities: marquee, safe-area, touch, scrollbar, truncation.
5
+ * Extracted from web/src/index.css and mesh/src/styles.css.
6
+ */
7
+ export declare const utilitiesStyles = "\n/* \u2500\u2500 Marquee \u2500\u2500 */\n@keyframes cm-marquee-scroll {\n 0% { transform: translate3d(0, 0, 0); }\n 100% { transform: translate3d(-50%, 0, 0); }\n}\n\n@keyframes cm-marquee-scroll-reverse {\n 0% { transform: translate3d(-50%, 0, 0); }\n 100% { transform: translate3d(0, 0, 0); }\n}\n\n@keyframes cm-partner-scanline {\n 0% { transform: translate3d(0, -100px, 0); }\n 100% { transform: translate3d(0, calc(100vh + 100px), 0); }\n}\n\n.cm-marquee-track {\n animation: cm-marquee-scroll linear infinite;\n will-change: transform;\n}\n\n.cm-marquee-track-reverse {\n animation: cm-marquee-scroll-reverse linear infinite;\n will-change: transform;\n}\n\n/* \u2500\u2500 Partner Blocks \u2500\u2500 */\n.cm-partners {\n container-type: inline-size;\n display: grid;\n gap: clamp(0.85rem, 3cqi, 1.4rem);\n width: 100%;\n min-width: 0;\n}\n\n.cm-partners__backing {\n display: grid;\n grid-template-columns: minmax(13rem, 0.75fr) minmax(0, 1.25fr);\n align-items: center;\n gap: clamp(0.8rem, 3cqi, 1.4rem);\n min-width: 0;\n}\n\n.cm-partners__copy {\n display: grid;\n gap: 0.32rem;\n min-width: 0;\n}\n\n.cm-partners__label {\n color: hsl(var(--muted-foreground) / 0.86);\n font-family: var(--font-mono), monospace;\n font-size: clamp(0.62rem, 2cqi, 0.78rem);\n font-weight: 800;\n letter-spacing: 0.14em;\n line-height: 1.1;\n text-transform: uppercase;\n}\n\n.cm-partners__title {\n color: transparent;\n background: linear-gradient(90deg, #8aebff, #dce1fb 48%, #fbabff);\n -webkit-background-clip: text;\n background-clip: text;\n font-family: var(--font-display), Orbitron, sans-serif;\n font-size: clamp(0.98rem, 4cqi, 1.45rem);\n font-weight: 850;\n letter-spacing: 0.02em;\n line-height: 0.98;\n overflow-wrap: anywhere;\n text-transform: uppercase;\n}\n\n.cm-partners__badges {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));\n gap: clamp(0.7rem, 2.4cqi, 1rem);\n min-width: 0;\n}\n\n.cm-partner-badge {\n position: relative;\n display: grid;\n min-width: 0;\n min-height: clamp(4.25rem, 13cqi, 5.6rem);\n place-items: center;\n overflow: hidden;\n border: 1px solid hsl(var(--primary) / 0.18);\n border-radius: 12px;\n background:\n linear-gradient(145deg, hsl(226 21% 23% / 0.34), hsl(221 50% 9% / 0.24)),\n radial-gradient(circle at 50% 0%, hsl(var(--primary) / 0.12), transparent 64%);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n 0 0 36px hsl(var(--primary) / 0.05);\n padding: clamp(0.72rem, 2.4cqi, 1rem);\n backdrop-filter: blur(16px) saturate(1.12);\n transition:\n transform 180ms ease,\n border-color 220ms ease,\n box-shadow 220ms ease;\n}\n\n.cm-partner-badge::before {\n content: \"\";\n position: absolute;\n inset: -1px;\n pointer-events: none;\n background:\n linear-gradient(135deg, hsl(var(--primary) / 0.14), transparent 48%),\n linear-gradient(315deg, hsl(var(--accent) / 0.14), transparent 52%);\n opacity: 0.55;\n}\n\n.cm-partner-badge::after {\n content: \"\";\n position: absolute;\n inset-inline: 0;\n top: -100px;\n height: 100px;\n pointer-events: none;\n background: linear-gradient(180deg, transparent, hsl(0 0% 100% / 0.055), transparent);\n opacity: 0.75;\n animation: cm-partner-scanline 4s linear infinite;\n will-change: transform;\n}\n\n.cm-partner-badge[data-tone=\"green\"] {\n border-color: hsl(142 71% 45% / 0.34);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n 0 0 36px hsl(142 71% 45% / 0.08);\n}\n\n.cm-partner-badge[data-tone=\"blue\"] {\n border-color: hsl(217 91% 60% / 0.34);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n 0 0 36px hsl(217 91% 60% / 0.08);\n}\n\n.cm-partner-badge[data-tone=\"purple\"],\n.cm-partner-badge[data-tone=\"violet\"] {\n border-color: hsl(var(--accent) / 0.34);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n 0 0 36px hsl(var(--accent) / 0.08);\n}\n\n.cm-partner-badge:hover,\n.cm-partner-badge:focus-visible {\n transform: translateY(-1px);\n border-color: hsl(var(--primary) / 0.5);\n outline: none;\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.08),\n 0 0 28px hsl(var(--primary) / 0.14);\n}\n\n.cm-partner-badge img {\n position: relative;\n z-index: 1;\n width: auto;\n max-width: min(100%, 18rem);\n height: clamp(2rem, 7cqi, 3.45rem);\n object-fit: contain;\n}\n\n.cm-partner-marquee {\n position: relative;\n display: grid;\n gap: clamp(0.58rem, 1.8cqi, 0.85rem);\n width: 100%;\n min-width: 0;\n overflow: hidden;\n}\n\n.cm-partner-marquee::before,\n.cm-partner-marquee::after {\n content: \"\";\n position: absolute;\n inset-block: 0;\n z-index: 2;\n width: clamp(2rem, 8cqi, 5rem);\n pointer-events: none;\n}\n\n.cm-partner-marquee::before {\n left: 0;\n background: linear-gradient(90deg, hsl(var(--background) / 0.9), transparent);\n}\n\n.cm-partner-marquee::after {\n right: 0;\n background: linear-gradient(270deg, hsl(var(--background) / 0.9), transparent);\n}\n\n.cm-partner-logo {\n display: grid;\n height: clamp(2.45rem, 7cqi, 3rem);\n min-width: clamp(6.4rem, 18cqi, 8.7rem);\n place-items: center;\n flex: 0 0 auto;\n border: 1px solid hsl(var(--primary) / 0.12);\n border-radius: 10px;\n background: hsl(221 50% 9% / 0.34);\n padding-inline: clamp(0.8rem, 2.6cqi, 1.15rem);\n transition:\n transform 180ms ease,\n border-color 220ms ease,\n background-color 220ms ease,\n box-shadow 220ms ease;\n}\n\n.cm-partner-logo:hover {\n transform: translateY(-1px);\n border-color: hsl(var(--primary) / 0.46);\n background: hsl(221 50% 9% / 0.52);\n box-shadow: 0 0 20px hsl(var(--primary) / 0.1);\n}\n\n.cm-partner-logo img {\n width: auto;\n max-width: 6.25rem;\n height: clamp(0.85rem, 3cqi, 1.25rem);\n object-fit: contain;\n filter: grayscale(1) brightness(0.74);\n opacity: 0.76;\n transition: filter 220ms ease, opacity 220ms ease;\n}\n\n.cm-partner-logo:hover img {\n filter: grayscale(0) brightness(1.1);\n opacity: 1;\n}\n\n@container (max-width: 42rem) {\n .cm-partners__backing {\n grid-template-columns: 1fr;\n }\n}\n\n@container (max-width: 24rem) {\n .cm-partners__badges {\n grid-template-columns: 1fr;\n }\n}\n\n/* \u2500\u2500 Safe Area \u2500\u2500 */\n.cm-safe-area-top { padding-top: env(safe-area-inset-top); }\n.cm-safe-area-bottom { padding-bottom: env(safe-area-inset-bottom); }\n.cm-safe-area-left { padding-left: env(safe-area-inset-left); }\n.cm-safe-area-right { padding-right: env(safe-area-inset-right); }\n\n.cm-safe-area-x {\n padding-left: env(safe-area-inset-left);\n padding-right: env(safe-area-inset-right);\n}\n\n.cm-safe-area-y {\n padding-top: env(safe-area-inset-top);\n padding-bottom: env(safe-area-inset-bottom);\n}\n\n/* \u2500\u2500 Touch \u2500\u2500 */\n.cm-touch-manipulation {\n touch-action: manipulation;\n}\n\n.cm-no-select {\n -webkit-user-select: none;\n user-select: none;\n}\n\n/* \u2500\u2500 Scrollbar Hide \u2500\u2500 */\n.cm-scrollbar-hide {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n\n.cm-scrollbar-hide::-webkit-scrollbar {\n display: none;\n}\n\n/* \u2500\u2500 Text Truncation \u2500\u2500 */\n.cm-text-truncate {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n/* \u2500\u2500 Touch Targets (mobile \u2264 768px) \u2500\u2500 */\n@media (max-width: 768px) {\n .cm-touch-target {\n min-height: 44px;\n min-width: 44px;\n }\n}\n\n/* \u2500\u2500 Mobile Scrollbar (thinner for \u2264 768px) \u2500\u2500 */\n@media (max-width: 768px) {\n .cm-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .cm-marquee-track,\n .cm-marquee-track-reverse,\n .cm-partner-badge::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n\n .cm-partner-logo,\n .cm-partner-badge,\n .cm-partner-logo img {\n transition-duration: 0.01ms !important;\n }\n}\n";
8
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/utilities/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,u1PAmU3B,CAAC"}
@@ -0,0 +1,331 @@
1
+ /**
2
+ * Shared Utilities Styles
3
+ *
4
+ * Cross-app CSS utilities: marquee, safe-area, touch, scrollbar, truncation.
5
+ * Extracted from web/src/index.css and mesh/src/styles.css.
6
+ */
7
+ export const utilitiesStyles = /* css */ `
8
+ /* ── Marquee ── */
9
+ @keyframes cm-marquee-scroll {
10
+ 0% { transform: translate3d(0, 0, 0); }
11
+ 100% { transform: translate3d(-50%, 0, 0); }
12
+ }
13
+
14
+ @keyframes cm-marquee-scroll-reverse {
15
+ 0% { transform: translate3d(-50%, 0, 0); }
16
+ 100% { transform: translate3d(0, 0, 0); }
17
+ }
18
+
19
+ @keyframes cm-partner-scanline {
20
+ 0% { transform: translate3d(0, -100px, 0); }
21
+ 100% { transform: translate3d(0, calc(100vh + 100px), 0); }
22
+ }
23
+
24
+ .cm-marquee-track {
25
+ animation: cm-marquee-scroll linear infinite;
26
+ will-change: transform;
27
+ }
28
+
29
+ .cm-marquee-track-reverse {
30
+ animation: cm-marquee-scroll-reverse linear infinite;
31
+ will-change: transform;
32
+ }
33
+
34
+ /* ── Partner Blocks ── */
35
+ .cm-partners {
36
+ container-type: inline-size;
37
+ display: grid;
38
+ gap: clamp(0.85rem, 3cqi, 1.4rem);
39
+ width: 100%;
40
+ min-width: 0;
41
+ }
42
+
43
+ .cm-partners__backing {
44
+ display: grid;
45
+ grid-template-columns: minmax(13rem, 0.75fr) minmax(0, 1.25fr);
46
+ align-items: center;
47
+ gap: clamp(0.8rem, 3cqi, 1.4rem);
48
+ min-width: 0;
49
+ }
50
+
51
+ .cm-partners__copy {
52
+ display: grid;
53
+ gap: 0.32rem;
54
+ min-width: 0;
55
+ }
56
+
57
+ .cm-partners__label {
58
+ color: hsl(var(--muted-foreground) / 0.86);
59
+ font-family: var(--font-mono), monospace;
60
+ font-size: clamp(0.62rem, 2cqi, 0.78rem);
61
+ font-weight: 800;
62
+ letter-spacing: 0.14em;
63
+ line-height: 1.1;
64
+ text-transform: uppercase;
65
+ }
66
+
67
+ .cm-partners__title {
68
+ color: transparent;
69
+ background: linear-gradient(90deg, #8aebff, #dce1fb 48%, #fbabff);
70
+ -webkit-background-clip: text;
71
+ background-clip: text;
72
+ font-family: var(--font-display), Orbitron, sans-serif;
73
+ font-size: clamp(0.98rem, 4cqi, 1.45rem);
74
+ font-weight: 850;
75
+ letter-spacing: 0.02em;
76
+ line-height: 0.98;
77
+ overflow-wrap: anywhere;
78
+ text-transform: uppercase;
79
+ }
80
+
81
+ .cm-partners__badges {
82
+ display: grid;
83
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
84
+ gap: clamp(0.7rem, 2.4cqi, 1rem);
85
+ min-width: 0;
86
+ }
87
+
88
+ .cm-partner-badge {
89
+ position: relative;
90
+ display: grid;
91
+ min-width: 0;
92
+ min-height: clamp(4.25rem, 13cqi, 5.6rem);
93
+ place-items: center;
94
+ overflow: hidden;
95
+ border: 1px solid hsl(var(--primary) / 0.18);
96
+ border-radius: 12px;
97
+ background:
98
+ linear-gradient(145deg, hsl(226 21% 23% / 0.34), hsl(221 50% 9% / 0.24)),
99
+ radial-gradient(circle at 50% 0%, hsl(var(--primary) / 0.12), transparent 64%);
100
+ box-shadow:
101
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
102
+ 0 0 36px hsl(var(--primary) / 0.05);
103
+ padding: clamp(0.72rem, 2.4cqi, 1rem);
104
+ backdrop-filter: blur(16px) saturate(1.12);
105
+ transition:
106
+ transform 180ms ease,
107
+ border-color 220ms ease,
108
+ box-shadow 220ms ease;
109
+ }
110
+
111
+ .cm-partner-badge::before {
112
+ content: "";
113
+ position: absolute;
114
+ inset: -1px;
115
+ pointer-events: none;
116
+ background:
117
+ linear-gradient(135deg, hsl(var(--primary) / 0.14), transparent 48%),
118
+ linear-gradient(315deg, hsl(var(--accent) / 0.14), transparent 52%);
119
+ opacity: 0.55;
120
+ }
121
+
122
+ .cm-partner-badge::after {
123
+ content: "";
124
+ position: absolute;
125
+ inset-inline: 0;
126
+ top: -100px;
127
+ height: 100px;
128
+ pointer-events: none;
129
+ background: linear-gradient(180deg, transparent, hsl(0 0% 100% / 0.055), transparent);
130
+ opacity: 0.75;
131
+ animation: cm-partner-scanline 4s linear infinite;
132
+ will-change: transform;
133
+ }
134
+
135
+ .cm-partner-badge[data-tone="green"] {
136
+ border-color: hsl(142 71% 45% / 0.34);
137
+ box-shadow:
138
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
139
+ 0 0 36px hsl(142 71% 45% / 0.08);
140
+ }
141
+
142
+ .cm-partner-badge[data-tone="blue"] {
143
+ border-color: hsl(217 91% 60% / 0.34);
144
+ box-shadow:
145
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
146
+ 0 0 36px hsl(217 91% 60% / 0.08);
147
+ }
148
+
149
+ .cm-partner-badge[data-tone="purple"],
150
+ .cm-partner-badge[data-tone="violet"] {
151
+ border-color: hsl(var(--accent) / 0.34);
152
+ box-shadow:
153
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
154
+ 0 0 36px hsl(var(--accent) / 0.08);
155
+ }
156
+
157
+ .cm-partner-badge:hover,
158
+ .cm-partner-badge:focus-visible {
159
+ transform: translateY(-1px);
160
+ border-color: hsl(var(--primary) / 0.5);
161
+ outline: none;
162
+ box-shadow:
163
+ inset 0 1px 0 hsl(0 0% 100% / 0.08),
164
+ 0 0 28px hsl(var(--primary) / 0.14);
165
+ }
166
+
167
+ .cm-partner-badge img {
168
+ position: relative;
169
+ z-index: 1;
170
+ width: auto;
171
+ max-width: min(100%, 18rem);
172
+ height: clamp(2rem, 7cqi, 3.45rem);
173
+ object-fit: contain;
174
+ }
175
+
176
+ .cm-partner-marquee {
177
+ position: relative;
178
+ display: grid;
179
+ gap: clamp(0.58rem, 1.8cqi, 0.85rem);
180
+ width: 100%;
181
+ min-width: 0;
182
+ overflow: hidden;
183
+ }
184
+
185
+ .cm-partner-marquee::before,
186
+ .cm-partner-marquee::after {
187
+ content: "";
188
+ position: absolute;
189
+ inset-block: 0;
190
+ z-index: 2;
191
+ width: clamp(2rem, 8cqi, 5rem);
192
+ pointer-events: none;
193
+ }
194
+
195
+ .cm-partner-marquee::before {
196
+ left: 0;
197
+ background: linear-gradient(90deg, hsl(var(--background) / 0.9), transparent);
198
+ }
199
+
200
+ .cm-partner-marquee::after {
201
+ right: 0;
202
+ background: linear-gradient(270deg, hsl(var(--background) / 0.9), transparent);
203
+ }
204
+
205
+ .cm-partner-logo {
206
+ display: grid;
207
+ height: clamp(2.45rem, 7cqi, 3rem);
208
+ min-width: clamp(6.4rem, 18cqi, 8.7rem);
209
+ place-items: center;
210
+ flex: 0 0 auto;
211
+ border: 1px solid hsl(var(--primary) / 0.12);
212
+ border-radius: 10px;
213
+ background: hsl(221 50% 9% / 0.34);
214
+ padding-inline: clamp(0.8rem, 2.6cqi, 1.15rem);
215
+ transition:
216
+ transform 180ms ease,
217
+ border-color 220ms ease,
218
+ background-color 220ms ease,
219
+ box-shadow 220ms ease;
220
+ }
221
+
222
+ .cm-partner-logo:hover {
223
+ transform: translateY(-1px);
224
+ border-color: hsl(var(--primary) / 0.46);
225
+ background: hsl(221 50% 9% / 0.52);
226
+ box-shadow: 0 0 20px hsl(var(--primary) / 0.1);
227
+ }
228
+
229
+ .cm-partner-logo img {
230
+ width: auto;
231
+ max-width: 6.25rem;
232
+ height: clamp(0.85rem, 3cqi, 1.25rem);
233
+ object-fit: contain;
234
+ filter: grayscale(1) brightness(0.74);
235
+ opacity: 0.76;
236
+ transition: filter 220ms ease, opacity 220ms ease;
237
+ }
238
+
239
+ .cm-partner-logo:hover img {
240
+ filter: grayscale(0) brightness(1.1);
241
+ opacity: 1;
242
+ }
243
+
244
+ @container (max-width: 42rem) {
245
+ .cm-partners__backing {
246
+ grid-template-columns: 1fr;
247
+ }
248
+ }
249
+
250
+ @container (max-width: 24rem) {
251
+ .cm-partners__badges {
252
+ grid-template-columns: 1fr;
253
+ }
254
+ }
255
+
256
+ /* ── Safe Area ── */
257
+ .cm-safe-area-top { padding-top: env(safe-area-inset-top); }
258
+ .cm-safe-area-bottom { padding-bottom: env(safe-area-inset-bottom); }
259
+ .cm-safe-area-left { padding-left: env(safe-area-inset-left); }
260
+ .cm-safe-area-right { padding-right: env(safe-area-inset-right); }
261
+
262
+ .cm-safe-area-x {
263
+ padding-left: env(safe-area-inset-left);
264
+ padding-right: env(safe-area-inset-right);
265
+ }
266
+
267
+ .cm-safe-area-y {
268
+ padding-top: env(safe-area-inset-top);
269
+ padding-bottom: env(safe-area-inset-bottom);
270
+ }
271
+
272
+ /* ── Touch ── */
273
+ .cm-touch-manipulation {
274
+ touch-action: manipulation;
275
+ }
276
+
277
+ .cm-no-select {
278
+ -webkit-user-select: none;
279
+ user-select: none;
280
+ }
281
+
282
+ /* ── Scrollbar Hide ── */
283
+ .cm-scrollbar-hide {
284
+ -ms-overflow-style: none;
285
+ scrollbar-width: none;
286
+ }
287
+
288
+ .cm-scrollbar-hide::-webkit-scrollbar {
289
+ display: none;
290
+ }
291
+
292
+ /* ── Text Truncation ── */
293
+ .cm-text-truncate {
294
+ white-space: nowrap;
295
+ overflow: hidden;
296
+ text-overflow: ellipsis;
297
+ max-width: 100%;
298
+ }
299
+
300
+ /* ── Touch Targets (mobile ≤ 768px) ── */
301
+ @media (max-width: 768px) {
302
+ .cm-touch-target {
303
+ min-height: 44px;
304
+ min-width: 44px;
305
+ }
306
+ }
307
+
308
+ /* ── Mobile Scrollbar (thinner for ≤ 768px) ── */
309
+ @media (max-width: 768px) {
310
+ .cm-thin-scrollbar::-webkit-scrollbar {
311
+ width: 4px;
312
+ height: 4px;
313
+ }
314
+ }
315
+
316
+ @media (prefers-reduced-motion: reduce) {
317
+ .cm-marquee-track,
318
+ .cm-marquee-track-reverse,
319
+ .cm-partner-badge::after {
320
+ animation-duration: 0.01ms !important;
321
+ animation-iteration-count: 1 !important;
322
+ }
323
+
324
+ .cm-partner-logo,
325
+ .cm-partner-badge,
326
+ .cm-partner-logo img {
327
+ transition-duration: 0.01ms !important;
328
+ }
329
+ }
330
+ `;
331
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/utilities/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmUxC,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Workflow Card Shell Components
3
+ *
4
+ * Render-slot shell for workflow cards with fold pattern navigation.
5
+ * Logic-free — all interactivity is passed in via props/slots.
6
+ */
7
+ import React from "react";
8
+ export interface ComposeWorkflowStat {
9
+ icon: React.ReactNode;
10
+ value: string;
11
+ tooltip?: string;
12
+ tone?: "green" | "cyan" | "fuchsia" | "warning";
13
+ }
14
+ export interface ComposeWorkflowCardProps {
15
+ /** Banner image URL (null → gradient placeholder) */
16
+ bannerSrc?: string | null;
17
+ /** Card title */
18
+ title: string;
19
+ /** Card description (text or ReactNode) */
20
+ description?: React.ReactNode;
21
+ /** Title-row icon slot (e.g. Layers icon) */
22
+ titleIcon?: React.ReactNode;
23
+ /** Header action slot (e.g. explorer link) */
24
+ headerAction?: React.ReactNode;
25
+ /** Badge slot */
26
+ badges?: React.ReactNode;
27
+ /** Stats (up to 4) */
28
+ stats?: ComposeWorkflowStat[];
29
+ /** Coordinator section (model name) */
30
+ coordinatorIcon?: React.ReactNode;
31
+ coordinatorLabel?: string;
32
+ coordinatorValue?: string;
33
+ /** Agents fold section */
34
+ agentsCount?: number;
35
+ agentsIcon?: React.ReactNode;
36
+ onAgentsFold?: () => void;
37
+ agentsFoldChevron?: React.ReactNode;
38
+ agentsBadges?: React.ReactNode;
39
+ /** Lease section */
40
+ leaseSlot?: React.ReactNode;
41
+ /** Endpoint section */
42
+ endpointSlot?: React.ReactNode;
43
+ /** Footer slot */
44
+ footer?: React.ReactNode;
45
+ /** Interactive (hover glow) */
46
+ interactive?: boolean;
47
+ /** Additional className */
48
+ className?: string;
49
+ }
50
+ export declare function ComposeWorkflowCard({ bannerSrc, title, description, titleIcon, headerAction, badges, stats, coordinatorIcon, coordinatorLabel, coordinatorValue, agentsCount, agentsIcon, onAgentsFold, agentsFoldChevron, agentsBadges, leaseSlot, endpointSlot, footer, interactive, className, }: ComposeWorkflowCardProps): React.JSX.Element;
51
+ export interface ComposeWorkflowFoldListProps {
52
+ backSlot: React.ReactNode;
53
+ titleSlot?: React.ReactNode;
54
+ children: React.ReactNode;
55
+ className?: string;
56
+ }
57
+ export declare function ComposeWorkflowFoldList({ backSlot, titleSlot, children, className, }: ComposeWorkflowFoldListProps): React.JSX.Element;
58
+ export interface ComposeWorkflowFoldDetailProps {
59
+ backSlot: React.ReactNode;
60
+ children: React.ReactNode;
61
+ className?: string;
62
+ }
63
+ export declare function ComposeWorkflowFoldDetail({ backSlot, children, className, }: ComposeWorkflowFoldDetailProps): React.JSX.Element;
64
+ export declare function ComposeWorkflowCardSkeleton(): React.JSX.Element;
65
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,wBAAwB;IACvC,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,iBAAiB;IACjB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,sBAAsB;IACtB,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9B,uCAAuC;IACvC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,oBAAoB;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,uBAAuB;IACvB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,kBAAkB;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,KAAK,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,MAAM,EACN,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,WAAW,EACX,SAAS,GACV,EAAE,wBAAwB,qBA+G1B;AAID,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,4BAA4B,qBAU9B;AAID,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE,8BAA8B,qBAOhC;AAID,wBAAgB,2BAA2B,sBAuB1C"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cx } from "../internal/cx";
3
+ /* ── Main View ── */
4
+ export function ComposeWorkflowCard({ bannerSrc, title, description, titleIcon, headerAction, badges, stats, coordinatorIcon, coordinatorLabel, coordinatorValue, agentsCount, agentsIcon, onAgentsFold, agentsFoldChevron, agentsBadges, leaseSlot, endpointSlot, footer, interactive, className, }) {
5
+ return (_jsxs("div", { className: cx("cm-workflow-card", interactive && "cm-workflow-card--interactive", className), children: [bannerSrc ? (_jsx("div", { className: "cm-workflow-card__banner", style: { backgroundImage: `url(${bannerSrc})` } })) : (_jsx("div", { className: "cm-workflow-card__banner cm-workflow-card__banner--placeholder" })), _jsxs("div", { className: "cm-workflow-card__body", children: [_jsx("div", { className: "cm-workflow-card__header", children: _jsxs("div", { className: "cm-workflow-card__header-copy", children: [_jsxs("div", { className: "cm-workflow-card__title-row", children: [titleIcon && _jsx("span", { className: "cm-workflow-card__icon", children: titleIcon }), _jsx("h3", { className: "cm-workflow-card__title", children: title }), headerAction] }), description && (_jsx("p", { className: "cm-workflow-card__description", children: description }))] }) }), badges && _jsx("div", { className: "cm-workflow-card__badges", children: badges }), stats && stats.length > 0 && (_jsx("div", { className: "cm-workflow-card__stats", children: stats.map((stat, index) => (_jsxs("div", { className: "cm-workflow-card__stat", title: stat.tooltip, children: [_jsx("div", { className: "cm-workflow-card__stat-icon", style: { color: stat.tone ? `var(--cm-tone-${stat.tone})` : undefined }, children: stat.icon }), _jsx("p", { className: "cm-workflow-card__stat-value", style: { color: stat.tone ? `var(--cm-tone-${stat.tone})` : undefined }, children: stat.value })] }, index))) })), coordinatorValue && (_jsxs("div", { className: "cm-workflow-card__coordinator", children: [coordinatorIcon && (_jsx("span", { className: "cm-workflow-card__coordinator-icon", children: coordinatorIcon })), _jsxs("div", { className: "cm-workflow-card__coordinator-copy", children: [_jsx("span", { className: "cm-workflow-card__coordinator-label", children: coordinatorLabel || "Coordinator" }), _jsx("span", { className: "cm-workflow-card__coordinator-value", title: coordinatorValue, children: coordinatorValue })] })] })), agentsCount != null && agentsCount > 0 && (_jsxs("div", { className: "cm-workflow-card__agents", children: [_jsxs("button", { type: "button", className: "cm-workflow-card__agents-header", onClick: onAgentsFold, children: [_jsxs("div", { className: "cm-workflow-card__agents-label", children: [agentsIcon && (_jsx("span", { className: "cm-workflow-card__agents-label-icon", children: agentsIcon })), _jsxs("span", { className: "cm-workflow-card__agents-label-text", children: ["Agents (", agentsCount, ")"] })] }), agentsFoldChevron] }), agentsBadges && (_jsx("div", { className: "cm-workflow-card__agents-badges", children: agentsBadges }))] })), leaseSlot, endpointSlot, footer] })] }));
6
+ }
7
+ export function ComposeWorkflowFoldList({ backSlot, titleSlot, children, className, }) {
8
+ return (_jsxs("div", { className: cx("cm-workflow-card", className), children: [_jsxs("div", { className: "cm-workflow-card__fold-header", children: [backSlot, titleSlot] }), _jsx("div", { className: "cm-workflow-card__fold-body", children: children })] }));
9
+ }
10
+ export function ComposeWorkflowFoldDetail({ backSlot, children, className, }) {
11
+ return (_jsxs("div", { className: cx("cm-workflow-card", className), children: [_jsx("div", { className: "cm-workflow-card__fold-header", children: backSlot }), _jsx("div", { className: "cm-workflow-card__fold-body", children: children })] }));
12
+ }
13
+ /* ── Skeleton ── */
14
+ export function ComposeWorkflowCardSkeleton() {
15
+ return (_jsxs("div", { className: "cm-workflow-card-skeleton", children: [_jsx("div", { className: "cm-workflow-card-skeleton__banner" }), _jsxs("div", { className: "cm-workflow-card-skeleton__body", children: [_jsxs("div", { className: "cm-workflow-card-skeleton__row", children: [_jsx("div", { className: "cm-workflow-card-skeleton__block", style: { width: 20, height: 20 } }), _jsxs("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: 8 }, children: [_jsx("div", { className: "cm-workflow-card-skeleton__block", style: { width: "60%", height: 20 } }), _jsx("div", { className: "cm-workflow-card-skeleton__block", style: { width: "100%", height: 16 } })] })] }), _jsxs("div", { style: { display: "grid", gridTemplateColumns: "repeat(4, 1fr)", gap: 8 }, children: [_jsx("div", { className: "cm-workflow-card-skeleton__block", style: { height: 56 } }), _jsx("div", { className: "cm-workflow-card-skeleton__block", style: { height: 56 } }), _jsx("div", { className: "cm-workflow-card-skeleton__block", style: { height: 56 } }), _jsx("div", { className: "cm-workflow-card-skeleton__block", style: { height: 56 } })] }), _jsx("div", { className: "cm-workflow-card-skeleton__block", style: { height: 56 } }), _jsx("div", { className: "cm-workflow-card-skeleton__block", style: { height: 80 } })] })] }));
16
+ }
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.tsx"],"names":[],"mappings":"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"}