@syncular/ui 0.0.4-25 → 0.0.4-26

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.
@@ -15,7 +15,7 @@ const ApiKeysTable = forwardRef(({ className, keys, onCreateKey, onRotateKey, on
15
15
  _jsx("span", { className: "w-[140px]", children: "Name" }), _jsx("span", { className: "w-[70px]", children: "Type" }), _jsx("span", { className: "flex-1", children: "Prefix" }), _jsx("span", { className: "w-[90px]", children: "Created" }), _jsx("span", { className: "w-[80px] text-right", children: "Actions" })
16
16
  ] }), keys.map((k, i) => (_jsxs("div", { className: cn('font-mono text-[11px] leading-7 px-4 flex items-center gap-4 hover:bg-white/[0.015] transition-colors cursor-default', i < keys.length - 1 && 'border-b border-[#141414]'), children: [
17
17
  _jsx("span", { className: "w-[140px] text-white truncate", children: k.name }), _jsx("span", { className: "w-[70px]", children: _jsx(Badge, { variant: typeBadgeMap[k.type] ?? 'ghost', children: k.type }) }), _jsx("span", { className: "flex-1 text-neutral-500 truncate", children: k.prefix }), _jsx("span", { className: "w-[90px] text-neutral-600 truncate", children: k.created }), _jsxs("span", { className: "w-[80px] flex gap-2 justify-end", children: [onRotateKey && (_jsx(Button, { variant: "default", size: "sm", className: "text-[9px] px-1.5 py-0.5", onClick: () => onRotateKey(k.name), children: "Rotate" })), onRevokeKey && (_jsx(Button, { variant: "destructive", size: "sm", className: "text-[9px] px-1.5 py-0.5", onClick: () => onRevokeKey(k.name), children: "Revoke" }))] })
18
- ] }, k.name)))] })));
18
+ ] }, `${k.name}:${k.prefix}:${i}`)))] })));
19
19
  ApiKeysTable.displayName = 'ApiKeysTable';
20
20
  export { ApiKeysTable };
21
21
  //# sourceMappingURL=api-keys-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys-table.js","sourceRoot":"","sources":["../../src/console/api-keys-table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAiC,UAAU,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS9C,MAAM,YAAY,GAA0C;IAC1D,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,YAAY,GAAG,UAAU,CAC7B,CACE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EACpE,GAAG,EACH,EAAE,CAAC,CACH,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,gFAAgF,EAChF,SAAS,CACV,KACG,KAAK;QAGT,eAAK,SAAS,EAAC,sEAAsE;gBACnF,eAAM,SAAS,EAAC,kEAAkE,yBAE3E,EACN,WAAW,IAAI,CACd,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW,6BAE/C,CACV,IACG,EAGN,eAAK,SAAS,EAAC,8HAA8H;gBAC3I,eAAM,SAAS,EAAC,WAAW,qBAAY,EACvC,eAAM,SAAS,EAAC,UAAU,qBAAY,EACtC,eAAM,SAAS,EAAC,QAAQ,uBAAc,EACtC,eAAM,SAAS,EAAC,UAAU,wBAAe,EACzC,eAAM,SAAS,EAAC,qBAAqB,wBAAe;gBAChD,EAGL,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAClB,eAEE,SAAS,EAAE,EAAE,CACX,sHAAsH,EACtH,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B,CACnD;gBAED,eAAM,SAAS,EAAC,+BAA+B,YAAE,CAAC,CAAC,IAAI,GAAQ,EAC/D,eAAM,SAAS,EAAC,UAAU,YACxB,KAAC,KAAK,IAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,YAAG,CAAC,CAAC,IAAI,GAAS,GAC5D,EACP,eAAM,SAAS,EAAC,kCAAkC,YAAE,CAAC,CAAC,MAAM,GAAQ,EACpE,eAAM,SAAS,EAAC,oCAAoC,YACjD,CAAC,CAAC,OAAO,GACL,EACP,gBAAM,SAAS,EAAC,iCAAiC,aAC9C,WAAW,IAAI,CACd,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,uBAG3B,CACV,EACA,WAAW,IAAI,CACd,KAAC,MAAM,IACL,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,uBAG3B,CACV,IACI;iBAnCF,CAAC,CAAC,IAAI,CAoCP,CACP,CAAC,IACE,CACP,CACF,CAAC;AACF,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"api-keys-table.js","sourceRoot":"","sources":["../../src/console/api-keys-table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAiC,UAAU,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS9C,MAAM,YAAY,GAA0C;IAC1D,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,YAAY,GAAG,UAAU,CAC7B,CACE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EACpE,GAAG,EACH,EAAE,CAAC,CACH,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,gFAAgF,EAChF,SAAS,CACV,KACG,KAAK;QAGT,eAAK,SAAS,EAAC,sEAAsE;gBACnF,eAAM,SAAS,EAAC,kEAAkE,yBAE3E,EACN,WAAW,IAAI,CACd,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW,6BAE/C,CACV,IACG,EAGN,eAAK,SAAS,EAAC,8HAA8H;gBAC3I,eAAM,SAAS,EAAC,WAAW,qBAAY,EACvC,eAAM,SAAS,EAAC,UAAU,qBAAY,EACtC,eAAM,SAAS,EAAC,QAAQ,uBAAc,EACtC,eAAM,SAAS,EAAC,UAAU,wBAAe,EACzC,eAAM,SAAS,EAAC,qBAAqB,wBAAe;gBAChD,EAGL,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAClB,eAEE,SAAS,EAAE,EAAE,CACX,sHAAsH,EACtH,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B,CACnD;gBAED,eAAM,SAAS,EAAC,+BAA+B,YAAE,CAAC,CAAC,IAAI,GAAQ,EAC/D,eAAM,SAAS,EAAC,UAAU,YACxB,KAAC,KAAK,IAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,YAAG,CAAC,CAAC,IAAI,GAAS,GAC5D,EACP,eAAM,SAAS,EAAC,kCAAkC,YAAE,CAAC,CAAC,MAAM,GAAQ,EACpE,eAAM,SAAS,EAAC,oCAAoC,YACjD,CAAC,CAAC,OAAO,GACL,EACP,gBAAM,SAAS,EAAC,iCAAiC,aAC9C,WAAW,IAAI,CACd,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,uBAG3B,CACV,EACA,WAAW,IAAI,CACd,KAAC,MAAM,IACL,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,uBAG3B,CACV,IACI;iBAnCF,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAoC7B,CACP,CAAC,IACE,CACP,CACF,CAAC;AACF,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -14,7 +14,7 @@ const HandlersTable = forwardRef(({ className, handlers, tableCount, ...props },
14
14
  _jsx("span", { className: "flex-1", children: "Table" }), _jsx("span", { className: "w-[100px]", children: "Depends On" }), _jsx("span", { className: "w-[70px] text-right", children: "Chunk TTL" })
15
15
  ] }), handlers.map((h, i) => (_jsxs("div", { className: cn('font-mono text-[11px] leading-7 px-4 flex items-center gap-4 hover:bg-white/[0.015] transition-colors cursor-default', i < handlers.length - 1 && 'border-b border-[#141414]'), children: [
16
16
  _jsx("span", { className: "flex-1 text-white truncate", children: h.table }), _jsx("span", { className: "w-[100px] truncate", children: h.dependsOn ? (_jsx(Badge, { variant: "ghost", children: h.dependsOn })) : (_jsx("span", { className: "text-neutral-600", children: "\u2014" })) }), _jsx("span", { className: "w-[70px] text-right text-neutral-500 truncate", children: h.chunkTtl })
17
- ] }, h.table)))] }));
17
+ ] }, `${h.table}:${i}`)))] }));
18
18
  });
19
19
  HandlersTable.displayName = 'HandlersTable';
20
20
  export { HandlersTable };
@@ -1 +1 @@
1
- {"version":3,"file":"handlers-table.js","sourceRoot":"","sources":["../../src/console/handlers-table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAiC,UAAU,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAO5C,MAAM,aAAa,GAAG,UAAU,CAC9B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC;IAE5C,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,gFAAgF,EAChF,SAAS,CACV,KACG,KAAK;YAGT,eAAK,SAAS,EAAC,sEAAsE;oBACnF,eAAK,SAAS,EAAC,yBAAyB;4BACtC,eAAM,SAAS,EAAC,kCAAkC,GAAG,EACrD,eAAM,SAAS,EAAC,kEAAkE,yBAE3E;4BACH,EACN,gBAAM,SAAS,EAAC,wCAAwC,aACrD,KAAK,eACD;oBACH,EAGN,eAAK,SAAS,EAAC,8HAA8H;oBAC3I,eAAM,SAAS,EAAC,QAAQ,sBAAa,EACrC,eAAM,SAAS,EAAC,WAAW,2BAAkB,EAC7C,eAAM,SAAS,EAAC,qBAAqB,0BAAiB;oBAClD,EAGL,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,eAEE,SAAS,EAAE,EAAE,CACX,sHAAsH,EACtH,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B,CACvD;oBAED,eAAM,SAAS,EAAC,4BAA4B,YAAE,CAAC,CAAC,KAAK,GAAQ,EAC7D,eAAM,SAAS,EAAC,oBAAoB,YACjC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACb,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,YAAE,CAAC,CAAC,SAAS,GAAS,CAC7C,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,kBAAkB,uBAAe,CAClD,GACI,EACP,eAAM,SAAS,EAAC,+CAA+C,YAC5D,CAAC,CAAC,QAAQ,GACN;qBAhBF,CAAC,CAAC,KAAK,CAiBR,CACP,CAAC,IACE,CACP,CAAC;AAAA,CACH,CACF,CAAC;AACF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"handlers-table.js","sourceRoot":"","sources":["../../src/console/handlers-table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAiC,UAAU,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAO5C,MAAM,aAAa,GAAG,UAAU,CAC9B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC;IAE5C,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,gFAAgF,EAChF,SAAS,CACV,KACG,KAAK;YAGT,eAAK,SAAS,EAAC,sEAAsE;oBACnF,eAAK,SAAS,EAAC,yBAAyB;4BACtC,eAAM,SAAS,EAAC,kCAAkC,GAAG,EACrD,eAAM,SAAS,EAAC,kEAAkE,yBAE3E;4BACH,EACN,gBAAM,SAAS,EAAC,wCAAwC,aACrD,KAAK,eACD;oBACH,EAGN,eAAK,SAAS,EAAC,8HAA8H;oBAC3I,eAAM,SAAS,EAAC,QAAQ,sBAAa,EACrC,eAAM,SAAS,EAAC,WAAW,2BAAkB,EAC7C,eAAM,SAAS,EAAC,qBAAqB,0BAAiB;oBAClD,EAGL,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,eAEE,SAAS,EAAE,EAAE,CACX,sHAAsH,EACtH,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B,CACvD;oBAED,eAAM,SAAS,EAAC,4BAA4B,YAAE,CAAC,CAAC,KAAK,GAAQ,EAC7D,eAAM,SAAS,EAAC,oBAAoB,YACjC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACb,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,YAAE,CAAC,CAAC,SAAS,GAAS,CAC7C,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,kBAAkB,uBAAe,CAClD,GACI,EACP,eAAM,SAAS,EAAC,+CAA+C,YAC5D,CAAC,CAAC,QAAQ,GACN;qBAhBF,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAiBlB,CACP,CAAC,IACE,CACP,CAAC;AAAA,CACH,CACF,CAAC;AACF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncular/ui",
3
- "version": "0.0.4-25",
3
+ "version": "0.0.4-26",
4
4
  "description": "Reusable Syncular UI components and styles",
5
5
  "license": "MIT",
6
6
  "author": "Benjamin Kniffler",
@@ -56,7 +56,7 @@ const ApiKeysTable = forwardRef<HTMLDivElement, ApiKeysTableProps>(
56
56
  {/* Rows */}
57
57
  {keys.map((k, i) => (
58
58
  <div
59
- key={k.name}
59
+ key={`${k.name}:${k.prefix}:${i}`}
60
60
  className={cn(
61
61
  'font-mono text-[11px] leading-7 px-4 flex items-center gap-4 hover:bg-white/[0.015] transition-colors cursor-default',
62
62
  i < keys.length - 1 && 'border-b border-[#141414]'
@@ -46,7 +46,7 @@ const HandlersTable = forwardRef<HTMLDivElement, HandlersTableProps>(
46
46
  {/* Rows */}
47
47
  {handlers.map((h, i) => (
48
48
  <div
49
- key={h.table}
49
+ key={`${h.table}:${i}`}
50
50
  className={cn(
51
51
  'font-mono text-[11px] leading-7 px-4 flex items-center gap-4 hover:bg-white/[0.015] transition-colors cursor-default',
52
52
  i < handlers.length - 1 && 'border-b border-[#141414]'
@@ -1,29 +1,31 @@
1
- @import 'tailwindcss';
1
+ @import 'tailwindcss/theme.css';
2
+ @import 'tailwindcss/utilities.css';
2
3
  @import './tokens.css';
3
4
 
4
5
  /* ── Base ── */
5
- body {
6
- background: var(--color-background);
7
- color: var(--color-foreground);
8
- font-family: var(--font-display), ui-sans-serif, system-ui, sans-serif;
6
+ :where(.syncular-console-root, .syncular-ui-root) {
7
+ background: var(--syncular-color-background);
8
+ color: var(--syncular-color-foreground);
9
+ font-family: var(--syncular-font-display), ui-sans-serif, system-ui,
10
+ sans-serif;
9
11
  margin: 0;
10
12
  -webkit-font-smoothing: antialiased;
11
13
  -moz-osx-font-smoothing: grayscale;
12
14
  }
13
15
 
14
- .font-mono {
15
- font-family: var(--font-mono), ui-monospace, monospace;
16
+ :where(.syncular-console-root, .syncular-ui-root) .font-mono {
17
+ font-family: var(--syncular-font-mono), ui-monospace, monospace;
16
18
  }
17
19
 
18
20
  /* ── Scrollbar ── */
19
- ::-webkit-scrollbar {
21
+ :where(.syncular-console-root, .syncular-ui-root) ::-webkit-scrollbar {
20
22
  width: 3px;
21
23
  height: 3px;
22
24
  }
23
- ::-webkit-scrollbar-track {
25
+ :where(.syncular-console-root, .syncular-ui-root) ::-webkit-scrollbar-track {
24
26
  background: transparent;
25
27
  }
26
- ::-webkit-scrollbar-thumb {
28
+ :where(.syncular-console-root, .syncular-ui-root) ::-webkit-scrollbar-thumb {
27
29
  background: #333;
28
30
  border-radius: 2px;
29
31
  }
@@ -112,16 +114,16 @@ body {
112
114
  }
113
115
  }
114
116
 
115
- .line-active {
117
+ :where(.syncular-console-root, .syncular-ui-root) .line-active {
116
118
  stroke-dasharray: 4 2;
117
119
  animation: dashFlow 1s linear infinite;
118
120
  }
119
121
 
120
- .stream-entry {
122
+ :where(.syncular-console-root, .syncular-ui-root) .stream-entry {
121
123
  animation: streamSlide 0.35s ease-out;
122
124
  }
123
125
 
124
- .dot-pulse {
126
+ :where(.syncular-console-root, .syncular-ui-root) .dot-pulse {
125
127
  animation: dotPulse 1.4s ease-in-out infinite;
126
128
  }
127
129
 
@@ -137,7 +139,7 @@ body {
137
139
  }
138
140
  }
139
141
 
140
- .flow-arrow {
142
+ :where(.syncular-console-root, .syncular-ui-root) .flow-arrow {
141
143
  animation: flowPulse 2s ease-in-out infinite;
142
144
  }
143
145
 
@@ -152,7 +154,7 @@ body {
152
154
  }
153
155
  }
154
156
 
155
- .dot-grid {
157
+ :where(.syncular-console-root, .syncular-ui-root) .dot-grid {
156
158
  background-image: radial-gradient(
157
159
  circle at 1px 1px,
158
160
  #1a1a1a 1px,
@@ -161,7 +163,7 @@ body {
161
163
  background-size: 24px 24px;
162
164
  }
163
165
 
164
- .scan-line {
166
+ :where(.syncular-console-root, .syncular-ui-root) .scan-line {
165
167
  position: absolute;
166
168
  left: 0;
167
169
  right: 0;
@@ -1,47 +1,110 @@
1
- @theme {
1
+ @theme inline {
2
+ --color-background: var(--syncular-color-background);
3
+ --color-surface: var(--syncular-color-surface);
4
+ --color-panel: var(--syncular-color-panel);
5
+ --color-panel-alt: var(--syncular-color-panel-alt);
6
+ --color-border: var(--syncular-color-border);
7
+ --color-border-bright: var(--syncular-color-border-bright);
8
+
9
+ --color-healthy: var(--syncular-color-healthy);
10
+ --color-syncing: var(--syncular-color-syncing);
11
+ --color-offline: var(--syncular-color-offline);
12
+
13
+ --color-flow: var(--syncular-color-flow);
14
+ --color-relay: var(--syncular-color-relay);
15
+ --color-encrypt: var(--syncular-color-encrypt);
16
+
17
+ --color-foreground: var(--syncular-color-foreground);
18
+ --color-foreground-muted: var(--syncular-color-foreground-muted);
19
+
20
+ --color-primary: var(--syncular-color-primary);
21
+ --color-destructive: var(--syncular-color-destructive);
22
+ --color-secondary: var(--syncular-color-secondary);
23
+
24
+ --font-display: var(--syncular-font-display);
25
+ --font-mono: var(--syncular-font-mono);
26
+
27
+ --radius-sm: var(--syncular-radius-sm);
28
+ --radius-md: var(--syncular-radius-md);
29
+ --radius-lg: var(--syncular-radius-lg);
30
+ --radius-xl: var(--syncular-radius-xl);
31
+ }
32
+
33
+ :where(.syncular-console-root, .syncular-ui-root) {
2
34
  /* ── Surface ── */
3
- --color-background: #0c0c0c;
4
- --color-surface: #0c0c0c;
5
- --color-panel: #111111;
6
- --color-panel-alt: #0e0e0e;
7
- --color-border: #1e1e1e;
8
- --color-border-bright: #2a2a2a;
35
+ --syncular-color-background: #0c0c0c;
36
+ --syncular-color-surface: #0c0c0c;
37
+ --syncular-color-panel: #111111;
38
+ --syncular-color-panel-alt: #0e0e0e;
39
+ --syncular-color-border: #1e1e1e;
40
+ --syncular-color-border-bright: #2a2a2a;
9
41
 
10
42
  /* ── Status ── */
11
- --color-healthy: #22c55e;
12
- --color-syncing: #f59e0b;
13
- --color-offline: #ef4444;
43
+ --syncular-color-healthy: #22c55e;
44
+ --syncular-color-syncing: #f59e0b;
45
+ --syncular-color-offline: #ef4444;
14
46
 
15
47
  /* ── Flow ── */
16
- --color-flow: #3b82f6;
17
- --color-relay: #8b5cf6;
18
- --color-encrypt: #f472b6;
48
+ --syncular-color-flow: #3b82f6;
49
+ --syncular-color-relay: #8b5cf6;
50
+ --syncular-color-encrypt: #f472b6;
19
51
 
20
52
  /* ── Text ── */
21
- --color-foreground: #e5e5e5;
22
- --color-foreground-muted: #737373;
53
+ --syncular-color-foreground: #e5e5e5;
54
+ --syncular-color-foreground-muted: #737373;
23
55
 
24
56
  /* ── Semantic ── */
25
- --color-primary: #22c55e;
26
- --color-destructive: #ef4444;
27
- --color-secondary: #1e1e1e;
57
+ --syncular-color-primary: #22c55e;
58
+ --syncular-color-destructive: #ef4444;
59
+ --syncular-color-secondary: #1e1e1e;
28
60
 
29
61
  /* ── Fonts ── */
30
- --font-display: 'Inter Tight', system-ui, sans-serif;
31
- --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco,
32
- Consolas, 'Liberation Mono', 'Courier New', monospace;
62
+ --syncular-font-display: 'Inter Tight', system-ui, sans-serif;
63
+ --syncular-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo,
64
+ Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
33
65
 
34
66
  /* ── Radii ── */
35
- --radius-sm: 4px;
36
- --radius-md: 6px;
37
- --radius-lg: 8px;
38
- --radius-xl: 10px;
67
+ --syncular-radius-sm: 4px;
68
+ --syncular-radius-md: 6px;
69
+ --syncular-radius-lg: 8px;
70
+ --syncular-radius-xl: 10px;
39
71
 
40
72
  /* ── Glows ── */
41
- --sync-glow-healthy: 0 0 6px #22c55e;
42
- --sync-glow-syncing: 0 0 6px #f59e0b;
43
- --sync-glow-offline: 0 0 6px #ef4444;
44
- --sync-glow-flow: 0 0 6px #3b82f6;
45
- --sync-glow-relay: 0 0 6px #8b5cf6;
46
- --sync-glow-encrypt: 0 0 6px #f472b6;
73
+ --syncular-glow-healthy: 0 0 6px #22c55e;
74
+ --syncular-glow-syncing: 0 0 6px #f59e0b;
75
+ --syncular-glow-offline: 0 0 6px #ef4444;
76
+ --syncular-glow-flow: 0 0 6px #3b82f6;
77
+ --syncular-glow-relay: 0 0 6px #8b5cf6;
78
+ --syncular-glow-encrypt: 0 0 6px #f472b6;
79
+
80
+ /* Backward token aliases used by chart primitives */
81
+ --color-background: var(--syncular-color-background);
82
+ --color-surface: var(--syncular-color-surface);
83
+ --color-panel: var(--syncular-color-panel);
84
+ --color-panel-alt: var(--syncular-color-panel-alt);
85
+ --color-border: var(--syncular-color-border);
86
+ --color-border-bright: var(--syncular-color-border-bright);
87
+ --color-healthy: var(--syncular-color-healthy);
88
+ --color-syncing: var(--syncular-color-syncing);
89
+ --color-offline: var(--syncular-color-offline);
90
+ --color-flow: var(--syncular-color-flow);
91
+ --color-relay: var(--syncular-color-relay);
92
+ --color-encrypt: var(--syncular-color-encrypt);
93
+ --color-foreground: var(--syncular-color-foreground);
94
+ --color-foreground-muted: var(--syncular-color-foreground-muted);
95
+ --color-primary: var(--syncular-color-primary);
96
+ --color-destructive: var(--syncular-color-destructive);
97
+ --color-secondary: var(--syncular-color-secondary);
98
+ --font-display: var(--syncular-font-display);
99
+ --font-mono: var(--syncular-font-mono);
100
+ --radius-sm: var(--syncular-radius-sm);
101
+ --radius-md: var(--syncular-radius-md);
102
+ --radius-lg: var(--syncular-radius-lg);
103
+ --radius-xl: var(--syncular-radius-xl);
104
+ --sync-glow-healthy: var(--syncular-glow-healthy);
105
+ --sync-glow-syncing: var(--syncular-glow-syncing);
106
+ --sync-glow-offline: var(--syncular-glow-offline);
107
+ --sync-glow-flow: var(--syncular-glow-flow);
108
+ --sync-glow-relay: var(--syncular-glow-relay);
109
+ --sync-glow-encrypt: var(--syncular-glow-encrypt);
47
110
  }