@le-space/ui 0.6.41 → 0.6.43

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@le-space/ui",
3
- "version": "0.6.41",
3
+ "version": "0.6.43",
4
4
  "description": "Floating Aleph Relay Button UI components for Svelte and React.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -44,8 +44,8 @@
44
44
  "url": "https://github.com/NiKrause/relay-button/issues"
45
45
  },
46
46
  "dependencies": {
47
- "@le-space/browser": "0.6.41",
48
- "@le-space/core": "0.6.41",
47
+ "@le-space/browser": "0.6.43",
48
+ "@le-space/core": "0.6.43",
49
49
  "viem": "^2.53.1"
50
50
  },
51
51
  "peerDependencies": {
package/react/index.js CHANGED
@@ -43,7 +43,7 @@ var RECENT_INSTANCE_RUNTIME_GRACE_MS = 10 * 60 * 1e3;
43
43
  var DEPLOYMENT_PENDING_WARNING_MS = 3 * 60 * 1e3;
44
44
 
45
45
  // src/shared/package-version.ts
46
- var UI_PACKAGE_VERSION = "0.6.41";
46
+ var UI_PACKAGE_VERSION = "0.6.43";
47
47
 
48
48
  // src/shared/format.ts
49
49
  function shortHash(value, head = 8, tail = 6) {
@@ -6222,6 +6222,57 @@ function useSponsorRelayController(props) {
6222
6222
 
6223
6223
  // src/react/SponsorRelayFab.tsx
6224
6224
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6225
+ var THEME_CSS = `
6226
+ :root {
6227
+ --rb-font-body: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
6228
+ --rb-font-heading: var(--rb-font-body);
6229
+ --rb-font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Noto Sans Mono", Menlo, monospace;
6230
+ --rb-border: #232b3d;
6231
+ --rb-text: #edf1f8;
6232
+ --rb-muted: #a8b3c7;
6233
+ --rb-comet: #6b7690;
6234
+ --rb-coral: #ff6b5b;
6235
+ --rb-cyan: #58c7f3;
6236
+ --rb-success: #3edc97;
6237
+ --rb-warning: #ffc24b;
6238
+ --rb-danger: #ff4d6a;
6239
+ --rb-panel-bg: rgba(20, 25, 38, 0.97);
6240
+ --rb-panel-shadow: 0 28px 80px rgba(4, 6, 12, 0.55);
6241
+ --rb-surface: rgba(11, 14, 21, 0.55);
6242
+ --rb-field-bg: rgba(11, 14, 21, 0.85);
6243
+ --rb-accent: var(--rb-coral);
6244
+ --rb-accent-contrast: #0b0e15;
6245
+ --rb-link: var(--rb-cyan);
6246
+ --rb-launcher-start: #10151f;
6247
+ --rb-launcher-end: #0b0e15;
6248
+ --rb-launcher-text: #edf1f8;
6249
+ --rb-launcher-badge-bg: rgba(20, 25, 38, 0.92);
6250
+ --rb-backdrop-accent: rgba(255, 107, 91, 0.14);
6251
+ }
6252
+ [data-theme="light"],
6253
+ [data-relay-theme="light"] {
6254
+ --rb-border: #d9e0ec;
6255
+ --rb-text: #141b2e;
6256
+ --rb-muted: #4d5a74;
6257
+ --rb-comet: #6b7690;
6258
+ --rb-coral: #e8503f;
6259
+ --rb-cyan: #0e86c4;
6260
+ --rb-success: #0f9d6a;
6261
+ --rb-warning: #a8690a;
6262
+ --rb-danger: #d5365a;
6263
+ --rb-panel-bg: rgba(255, 255, 255, 0.98);
6264
+ --rb-panel-shadow: 0 28px 80px rgba(20, 27, 46, 0.18);
6265
+ --rb-surface: rgba(20, 27, 46, 0.04);
6266
+ --rb-field-bg: #ffffff;
6267
+ --rb-accent-contrast: #ffffff;
6268
+ --rb-launcher-start: #ffffff;
6269
+ --rb-launcher-end: #f2f5fa;
6270
+ --rb-launcher-text: #141b2e;
6271
+ --rb-launcher-badge-bg: rgba(20, 27, 46, 0.05);
6272
+ --rb-backdrop-accent: rgba(232, 80, 63, 0.1);
6273
+ }
6274
+ @keyframes leSpaceRelayPulse { 0%, 100% { transform: scale(1); opacity: 0.74; } 50% { transform: scale(1.22); opacity: 1; } }
6275
+ `;
6225
6276
  var basePanelStyle = {
6226
6277
  position: "fixed",
6227
6278
  zIndex: 9999,
@@ -6233,52 +6284,54 @@ var basePanelStyle = {
6233
6284
  overflowY: "auto",
6234
6285
  overflowWrap: "anywhere",
6235
6286
  wordBreak: "break-word",
6236
- border: "1px solid var(--le-space-sponsor-relay-panel-border, rgba(199, 210, 254, 0.22))",
6237
- borderRadius: "1.4rem",
6238
- background: "var(--le-space-sponsor-relay-panel-bg, rgba(49, 46, 129, 0.94))",
6239
- color: "#f8fafc",
6240
- boxShadow: "var(--le-space-sponsor-relay-panel-shadow, 0 28px 80px rgba(49, 46, 129, 0.34))",
6287
+ border: "1px solid var(--le-space-sponsor-relay-panel-border, var(--rb-border))",
6288
+ borderRadius: "0.625rem",
6289
+ background: "var(--le-space-sponsor-relay-panel-bg, var(--rb-panel-bg))",
6290
+ color: "var(--rb-text)",
6291
+ boxShadow: "var(--le-space-sponsor-relay-panel-shadow, var(--rb-panel-shadow))",
6241
6292
  padding: "1rem",
6242
- fontFamily: '"DM Sans", "Inter", sans-serif'
6293
+ fontFamily: "var(--rb-font-body)",
6294
+ fontSize: "0.8125rem",
6295
+ lineHeight: 1.5
6243
6296
  };
6244
6297
  var fieldStyle = {
6245
6298
  width: "100%",
6246
6299
  minWidth: 0,
6247
6300
  boxSizing: "border-box",
6248
- borderRadius: "0.8rem",
6249
- border: "1px solid rgba(255,255,255,0.16)",
6250
- background: "rgba(248,250,252,0.98)",
6251
- color: "#111827",
6252
- padding: "0.7rem 0.85rem",
6253
- fontFamily: '"DM Sans", "Inter", sans-serif',
6254
- fontSize: "0.98rem",
6255
- lineHeight: 1.45
6301
+ borderRadius: "0.5rem",
6302
+ border: "1px solid var(--rb-border)",
6303
+ background: "var(--rb-field-bg)",
6304
+ color: "var(--rb-text)",
6305
+ padding: "0.65rem 0.8rem",
6306
+ fontFamily: "var(--rb-font-body)",
6307
+ fontSize: "0.8125rem",
6308
+ lineHeight: 1.4
6256
6309
  };
6257
6310
  var secondaryButtonStyle = {
6258
- borderRadius: "0.95rem",
6259
- border: "1px solid rgba(255,255,255,0.22)",
6260
- background: "rgba(255,255,255,0.10)",
6261
- color: "#f8fafc",
6262
- padding: "0.72rem 0.95rem",
6263
- fontFamily: '"DM Sans", "Inter", sans-serif',
6264
- fontSize: "0.92rem",
6265
- fontWeight: 700,
6311
+ borderRadius: "0.5rem",
6312
+ border: "1px solid var(--rb-border)",
6313
+ background: "var(--rb-surface)",
6314
+ color: "var(--rb-text)",
6315
+ padding: "0.65rem 0.9rem",
6316
+ fontFamily: "var(--rb-font-body)",
6317
+ fontSize: "0.8125rem",
6318
+ fontWeight: 600,
6266
6319
  lineHeight: 1.1,
6267
- boxShadow: "inset 0 1px 0 rgba(255,255,255,0.06)",
6268
- backdropFilter: "blur(8px)"
6320
+ cursor: "pointer"
6269
6321
  };
6270
6322
  var primaryButtonStyle = {
6271
6323
  boxSizing: "border-box",
6272
- borderRadius: "0.95rem",
6273
- border: "1px solid rgba(251, 191, 36, 0.42)",
6274
- background: "linear-gradient(135deg, #f6c453 0%, #f59e0b 100%)",
6275
- color: "#281606",
6276
- padding: "0.82rem 1rem",
6277
- fontFamily: '"DM Sans", "Inter", sans-serif',
6278
- fontSize: "0.96rem",
6279
- fontWeight: 800,
6324
+ borderRadius: "0.5rem",
6325
+ border: "1px solid transparent",
6326
+ background: "var(--rb-accent)",
6327
+ color: "var(--rb-accent-contrast)",
6328
+ padding: "0.78rem 1rem",
6329
+ fontFamily: "var(--rb-font-body)",
6330
+ fontSize: "0.875rem",
6331
+ fontWeight: 700,
6280
6332
  lineHeight: 1.1,
6281
- boxShadow: "0 10px 24px rgba(245, 158, 11, 0.24)"
6333
+ cursor: "pointer",
6334
+ boxShadow: "0 10px 24px rgba(255, 107, 91, 0.22)"
6282
6335
  };
6283
6336
  var containedContentStyle = {
6284
6337
  minWidth: 0,
@@ -6289,42 +6342,43 @@ var containedContentStyle = {
6289
6342
  whiteSpace: "normal"
6290
6343
  };
6291
6344
  var dangerButtonStyle = {
6292
- borderRadius: "0.95rem",
6293
- border: "1px solid rgba(248, 113, 113, 0.45)",
6294
- background: "rgba(239, 68, 68, 0.18)",
6295
- color: "#ffe2e2",
6296
- padding: "0.72rem 0.95rem",
6297
- fontFamily: '"DM Sans", "Inter", sans-serif',
6298
- fontSize: "0.9rem",
6299
- fontWeight: 700,
6300
- lineHeight: 1.1
6345
+ borderRadius: "0.5rem",
6346
+ border: "1px solid rgba(255, 77, 106, 0.45)",
6347
+ background: "transparent",
6348
+ color: "var(--rb-danger)",
6349
+ padding: "0.65rem 0.9rem",
6350
+ fontFamily: "var(--rb-font-body)",
6351
+ fontSize: "0.8125rem",
6352
+ fontWeight: 600,
6353
+ lineHeight: 1.1,
6354
+ cursor: "pointer"
6301
6355
  };
6302
6356
  var warningButtonStyle = {
6303
- borderRadius: "0.95rem",
6304
- border: "1px solid rgba(251, 146, 60, 0.4)",
6305
- background: "rgba(251, 146, 60, 0.16)",
6306
- color: "#fed7aa",
6307
- padding: "0.72rem 0.95rem",
6308
- fontFamily: '"DM Sans", "Inter", sans-serif',
6309
- fontSize: "0.9rem",
6310
- fontWeight: 700,
6311
- lineHeight: 1.1
6357
+ borderRadius: "0.5rem",
6358
+ border: "1px solid rgba(255, 194, 75, 0.45)",
6359
+ background: "transparent",
6360
+ color: "var(--rb-warning)",
6361
+ padding: "0.65rem 0.9rem",
6362
+ fontFamily: "var(--rb-font-body)",
6363
+ fontSize: "0.8125rem",
6364
+ fontWeight: 600,
6365
+ lineHeight: 1.1,
6366
+ cursor: "pointer"
6312
6367
  };
6313
- var themedLauncherBackground = "linear-gradient(135deg, var(--le-space-sponsor-relay-launcher-start, #4f46e5) 0%, var(--le-space-sponsor-relay-launcher-end, #6366f1) 100%)";
6314
- var themedLauncherBorder = "var(--le-space-sponsor-relay-launcher-border, rgba(199, 210, 254, 0.42))";
6315
- var themedLauncherBadgeBackground = "var(--le-space-sponsor-relay-launcher-badge-bg, rgba(49, 46, 129, 0.92))";
6316
- var themedLauncherBadgeBorder = "var(--le-space-sponsor-relay-launcher-badge-border, rgba(191, 219, 254, 0.24))";
6317
- var themedLauncherDot = "var(--le-space-sponsor-relay-launcher-dot, #f59e0b)";
6368
+ var themedLauncherBackground = "linear-gradient(135deg, var(--le-space-sponsor-relay-launcher-start, var(--rb-launcher-start)) 0%, var(--le-space-sponsor-relay-launcher-end, var(--rb-launcher-end)) 100%)";
6369
+ var themedLauncherBorder = "var(--le-space-sponsor-relay-launcher-border, var(--rb-border))";
6370
+ var themedLauncherBadgeBackground = "var(--le-space-sponsor-relay-launcher-badge-bg, var(--rb-launcher-badge-bg))";
6371
+ var themedLauncherBadgeBorder = "var(--le-space-sponsor-relay-launcher-badge-border, var(--rb-border))";
6318
6372
  function progressToneColor(status) {
6319
6373
  switch (status) {
6320
6374
  case "success":
6321
- return "#37d67a";
6375
+ return "#3edc97";
6322
6376
  case "warning":
6323
- return "#ffc83f";
6377
+ return "#ffc24b";
6324
6378
  case "error":
6325
- return "#e91315";
6379
+ return "#ff4d6a";
6326
6380
  default:
6327
- return "#0176ce";
6381
+ return "#58c7f3";
6328
6382
  }
6329
6383
  }
6330
6384
  function progressBadgeLabel(stage) {
@@ -6548,7 +6602,7 @@ function SponsorRelayFab(props) {
6548
6602
  const deploymentProgressVisible = isDeploymentProgressVisible(state);
6549
6603
  const pollingState = pollingIndicator(state);
6550
6604
  const pulseScale = progressActive ? 1.03 : hovered ? 1.015 : 1;
6551
- const pulseShadow = progressActive ? `0 0 0 4px ${progressToneColor(indicator.tone)}22, 0 12px 28px rgba(15, 23, 42, 0.22)` : successFlash ? `0 0 0 5px rgba(55, 214, 122, 0.22), 0 14px 32px rgba(55, 214, 122, 0.22)` : launcherMode === "inline" ? hovered ? "var(--le-space-sponsor-relay-launcher-hover-shadow, 0 14px 30px rgba(79, 70, 229, 0.28))" : "var(--le-space-sponsor-relay-launcher-shadow, 0 10px 24px rgba(99, 102, 241, 0.22))" : void 0;
6605
+ const pulseShadow = progressActive ? `0 0 0 4px ${progressToneColor(indicator.tone)}22, 0 12px 28px rgba(15, 23, 42, 0.22)` : successFlash ? `0 0 0 5px rgba(55, 214, 122, 0.22), 0 14px 32px rgba(55, 214, 122, 0.22)` : launcherMode === "inline" ? hovered ? "var(--le-space-sponsor-relay-launcher-hover-shadow, 0 14px 30px rgba(4, 6, 12, 0.5))" : "var(--le-space-sponsor-relay-launcher-shadow, 0 10px 24px rgba(4, 6, 12, 0.4))" : void 0;
6552
6606
  const inlineButtonBackground = themedLauncherBackground;
6553
6607
  const inlineButtonBorder = `1px solid ${themedLauncherBorder}`;
6554
6608
  const inlineBadgeBackground = themedLauncherBadgeBackground;
@@ -6569,7 +6623,7 @@ function SponsorRelayFab(props) {
6569
6623
  const rootfsBlocked = state.rootfsHealth.tone === "error";
6570
6624
  const deployCallToAction = state.wallet.connected ? state.busy.deploying ? "Deploying\u2026" : rootfsBlocked ? "Deployment blocked \u2014 Rootfs unavailable" : deploymentButtonLabel(state) : "Connect MetaMask";
6571
6625
  return /* @__PURE__ */ jsxs(Fragment, { children: [
6572
- /* @__PURE__ */ jsx("style", { children: `@keyframes leSpaceRelayPulse { 0%, 100% { transform: scale(1); opacity: 0.74; } 50% { transform: scale(1.22); opacity: 1; } }` }),
6626
+ /* @__PURE__ */ jsx("style", { children: THEME_CSS }),
6573
6627
  /* @__PURE__ */ jsxs(
6574
6628
  "button",
6575
6629
  {
@@ -6587,14 +6641,14 @@ function SponsorRelayFab(props) {
6587
6641
  bottom: launcherMode === "floating" ? "5.8rem" : void 0,
6588
6642
  zIndex: launcherMode === "floating" ? 1e4 : "auto",
6589
6643
  borderRadius: "999px",
6590
- border: launcherMode === "floating" ? `2px solid ${themedLauncherBorder}` : inlineButtonBorder,
6644
+ border: launcherMode === "floating" ? `1px solid ${themedLauncherBorder}` : inlineButtonBorder,
6591
6645
  background: launcherMode === "floating" ? themedLauncherBackground : inlineButtonBackground,
6592
- color: "white",
6646
+ color: "var(--rb-launcher-text)",
6593
6647
  minHeight: launcherMode === "floating" ? void 0 : "2.25rem",
6594
- padding: launcherMode === "floating" ? "0.9rem 1.2rem" : "0.42rem 0.56rem 0.42rem 0.76rem",
6595
- fontFamily: '"Epilogue", sans-serif',
6648
+ padding: launcherMode === "floating" ? "0.8rem 1.15rem" : "0.42rem 0.56rem 0.42rem 0.76rem",
6649
+ fontFamily: "var(--rb-font-mono)",
6596
6650
  fontWeight: 700,
6597
- fontSize: launcherMode === "floating" ? "0.84rem" : "0.73rem",
6651
+ fontSize: launcherMode === "floating" ? "0.78rem" : "0.7rem",
6598
6652
  textTransform: "uppercase",
6599
6653
  letterSpacing: "0.08em",
6600
6654
  cursor: "pointer",
@@ -6616,17 +6670,42 @@ function SponsorRelayFab(props) {
6616
6670
  gap: "0.36rem"
6617
6671
  },
6618
6672
  children: [
6619
- /* @__PURE__ */ jsx(
6620
- "span",
6673
+ /* @__PURE__ */ jsxs(
6674
+ "svg",
6621
6675
  {
6622
6676
  "aria-hidden": "true",
6677
+ viewBox: "0 0 32 32",
6623
6678
  style: {
6624
- width: launcherMode === "floating" ? "0.5rem" : "0.42rem",
6625
- height: launcherMode === "floating" ? "0.5rem" : "0.42rem",
6626
- borderRadius: "999px",
6627
- background: launcherMode === "floating" ? "rgba(255,255,255,0.96)" : themedLauncherDot,
6628
- boxShadow: launcherMode === "floating" ? "0 0 0 3px rgba(255,255,255,0.22)" : "0 0 0 3px var(--le-space-sponsor-relay-launcher-dot-ring, rgba(245, 158, 11, 0.18))"
6629
- }
6679
+ width: launcherMode === "floating" ? "1.1rem" : "0.95rem",
6680
+ height: launcherMode === "floating" ? "1.1rem" : "0.95rem",
6681
+ flex: "none"
6682
+ },
6683
+ children: [
6684
+ /* @__PURE__ */ jsx(
6685
+ "line",
6686
+ {
6687
+ x1: "17",
6688
+ y1: "15.4",
6689
+ x2: "19.6",
6690
+ y2: "13",
6691
+ stroke: "var(--rb-cyan)",
6692
+ strokeWidth: 2.4,
6693
+ strokeLinecap: "round"
6694
+ }
6695
+ ),
6696
+ /* @__PURE__ */ jsx("circle", { cx: "11.5", cy: "20.5", r: "7", fill: "var(--rb-coral)" }),
6697
+ /* @__PURE__ */ jsx(
6698
+ "circle",
6699
+ {
6700
+ cx: "23.5",
6701
+ cy: "9.5",
6702
+ r: "4.2",
6703
+ fill: "none",
6704
+ stroke: "var(--rb-cyan)",
6705
+ strokeWidth: 2.8
6706
+ }
6707
+ )
6708
+ ]
6630
6709
  }
6631
6710
  ),
6632
6711
  /* @__PURE__ */ jsx("span", { children: launcherLabel })
@@ -6643,8 +6722,8 @@ function SponsorRelayFab(props) {
6643
6722
  padding: launcherMode === "floating" ? "0.2rem 0.42rem" : "0.21rem 0.5rem",
6644
6723
  minWidth: launcherMode === "floating" ? void 0 : "3.8rem",
6645
6724
  borderRadius: "999px",
6646
- background: launcherMode === "floating" ? "rgba(15, 23, 42, 0.18)" : inlineBadgeBackground,
6647
- border: launcherMode === "floating" ? "1px solid rgba(255,255,255,0.18)" : inlineBadgeBorder,
6725
+ background: launcherMode === "floating" ? "var(--rb-launcher-badge-bg)" : inlineBadgeBackground,
6726
+ border: launcherMode === "floating" ? "1px solid var(--rb-border)" : inlineBadgeBorder,
6648
6727
  fontSize: launcherMode === "floating" ? "0.62rem" : "0.61rem",
6649
6728
  fontWeight: launcherMode === "floating" ? 700 : 800,
6650
6729
  lineHeight: 1,
@@ -6685,7 +6764,7 @@ function SponsorRelayFab(props) {
6685
6764
  position: "fixed",
6686
6765
  inset: 0,
6687
6766
  zIndex: 9998,
6688
- background: "radial-gradient(circle at 88% 82%, var(--le-space-sponsor-relay-backdrop-accent, rgba(79, 70, 229, 0.2)), transparent 34%)"
6767
+ background: "radial-gradient(circle at 88% 82%, var(--le-space-sponsor-relay-backdrop-accent, var(--rb-backdrop-accent)), transparent 34%)"
6689
6768
  }
6690
6769
  }
6691
6770
  ),
@@ -6708,8 +6787,10 @@ function SponsorRelayFab(props) {
6708
6787
  display: "flex",
6709
6788
  alignItems: "center",
6710
6789
  gap: "0.45rem",
6711
- color: "#9fb2ca",
6712
- fontSize: "0.72rem",
6790
+ color: "var(--rb-accent)",
6791
+ fontFamily: "var(--rb-font-mono)",
6792
+ fontWeight: 700,
6793
+ fontSize: "0.6563rem",
6713
6794
  textTransform: "uppercase",
6714
6795
  letterSpacing: "0.08em"
6715
6796
  },
@@ -6719,10 +6800,11 @@ function SponsorRelayFab(props) {
6719
6800
  "span",
6720
6801
  {
6721
6802
  style: {
6722
- fontSize: "0.62rem",
6803
+ fontWeight: 400,
6804
+ fontSize: "0.625rem",
6723
6805
  letterSpacing: "0.04em",
6724
6806
  textTransform: "none",
6725
- color: "rgba(191, 219, 254, 0.82)"
6807
+ color: "var(--rb-comet)"
6726
6808
  },
6727
6809
  children: versionLabel
6728
6810
  }
@@ -6735,7 +6817,9 @@ function SponsorRelayFab(props) {
6735
6817
  {
6736
6818
  style: {
6737
6819
  margin: "0.2rem 0 0",
6738
- fontFamily: '"Epilogue", sans-serif'
6820
+ fontFamily: "var(--rb-font-heading)",
6821
+ fontSize: "1.125rem",
6822
+ fontWeight: 700
6739
6823
  },
6740
6824
  children: deploymentPanelTitle(state)
6741
6825
  }
@@ -6753,8 +6837,8 @@ function SponsorRelayFab(props) {
6753
6837
  ]
6754
6838
  }
6755
6839
  ),
6756
- /* @__PURE__ */ jsx("p", { style: { color: "#9fb2ca" }, children: state.statusText }),
6757
- state.errorText ? /* @__PURE__ */ jsx("p", { style: { color: "#ffd9d9" }, children: state.errorText }) : null,
6840
+ /* @__PURE__ */ jsx("p", { style: { color: "var(--rb-muted)" }, children: state.statusText }),
6841
+ state.errorText ? /* @__PURE__ */ jsx("p", { style: { color: "var(--rb-danger)" }, children: state.errorText }) : null,
6758
6842
  pollingState ? /* @__PURE__ */ jsxs(
6759
6843
  "div",
6760
6844
  {
@@ -6764,8 +6848,8 @@ function SponsorRelayFab(props) {
6764
6848
  marginBottom: "0.8rem",
6765
6849
  padding: "0.7rem 0.8rem",
6766
6850
  borderRadius: "1rem",
6767
- border: "1px solid rgba(125, 211, 252, 0.18)",
6768
- background: "linear-gradient(180deg, rgba(59, 130, 246, 0.12), rgba(59, 130, 246, 0.05))",
6851
+ border: "1px solid rgba(88, 199, 243, 0.22)",
6852
+ background: "rgba(88, 199, 243, 0.08)",
6769
6853
  display: "grid",
6770
6854
  gap: "0.28rem"
6771
6855
  },
@@ -6797,7 +6881,7 @@ function SponsorRelayFab(props) {
6797
6881
  ]
6798
6882
  }
6799
6883
  ),
6800
- /* @__PURE__ */ jsx("small", { style: { color: "#9fb2ca", lineHeight: 1.35 }, children: pollingState.detail })
6884
+ /* @__PURE__ */ jsx("small", { style: { color: "var(--rb-muted)", lineHeight: 1.35 }, children: pollingState.detail })
6801
6885
  ]
6802
6886
  }
6803
6887
  ) : null,
@@ -6808,9 +6892,8 @@ function SponsorRelayFab(props) {
6808
6892
  marginTop: "0.85rem",
6809
6893
  padding: "0.75rem 0.8rem",
6810
6894
  borderRadius: "1rem",
6811
- border: "1px solid rgba(255,255,255,0.1)",
6812
- background: "linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03))",
6813
- boxShadow: "inset 0 1px 0 rgba(255,255,255,0.04)"
6895
+ border: "1px solid var(--rb-border)",
6896
+ background: "var(--rb-surface)"
6814
6897
  },
6815
6898
  children: [
6816
6899
  /* @__PURE__ */ jsxs(
@@ -6876,8 +6959,8 @@ function SponsorRelayFab(props) {
6876
6959
  {
6877
6960
  style: {
6878
6961
  fontSize: "0.72rem",
6879
- color: "#9fb2ca",
6880
- fontFamily: '"DM Mono", monospace'
6962
+ color: "var(--rb-muted)",
6963
+ fontFamily: "var(--rb-font-mono)"
6881
6964
  },
6882
6965
  children: [
6883
6966
  String(
@@ -6898,7 +6981,7 @@ function SponsorRelayFab(props) {
6898
6981
  width: "100%",
6899
6982
  height: "0.34rem",
6900
6983
  borderRadius: "999px",
6901
- background: "rgba(255,255,255,0.08)",
6984
+ background: "rgba(168, 179, 199, 0.18)",
6902
6985
  overflow: "hidden"
6903
6986
  },
6904
6987
  children: /* @__PURE__ */ jsx(
@@ -6930,9 +7013,9 @@ function SponsorRelayFab(props) {
6930
7013
  "div",
6931
7014
  {
6932
7015
  style: {
6933
- color: "#9fb2ca",
7016
+ color: "var(--rb-muted)",
6934
7017
  fontSize: "0.7rem",
6935
- fontFamily: '"DM Mono", monospace',
7018
+ fontFamily: "var(--rb-font-mono)",
6936
7019
  whiteSpace: "nowrap",
6937
7020
  overflow: "hidden",
6938
7021
  textOverflow: "ellipsis"
@@ -6947,10 +7030,10 @@ function SponsorRelayFab(props) {
6947
7030
  "div",
6948
7031
  {
6949
7032
  style: {
6950
- color: "#9fb2ca",
7033
+ color: "var(--rb-muted)",
6951
7034
  fontSize: "0.72rem",
6952
7035
  lineHeight: 1.3,
6953
- fontFamily: state.deploymentProgress.detail.includes("0x") || state.deploymentProgress.detail.includes("Qm") ? '"DM Mono", monospace' : void 0
7036
+ fontFamily: state.deploymentProgress.detail.includes("0x") || state.deploymentProgress.detail.includes("Qm") ? "var(--rb-font-mono)" : void 0
6954
7037
  },
6955
7038
  children: state.deploymentProgress.detail
6956
7039
  }
@@ -6959,7 +7042,7 @@ function SponsorRelayFab(props) {
6959
7042
  "div",
6960
7043
  {
6961
7044
  style: {
6962
- color: "#ffd9d9",
7045
+ color: "var(--rb-danger)",
6963
7046
  fontSize: "0.72rem",
6964
7047
  lineHeight: 1.3
6965
7048
  },
@@ -7005,7 +7088,7 @@ function SponsorRelayFab(props) {
7005
7088
  "div",
7006
7089
  {
7007
7090
  style: {
7008
- color: "#9fb2ca",
7091
+ color: "var(--rb-muted)",
7009
7092
  fontSize: "0.74rem",
7010
7093
  lineHeight: 1.35,
7011
7094
  marginTop: "-0.15rem"
@@ -7212,7 +7295,7 @@ function SponsorRelayFab(props) {
7212
7295
  "div",
7213
7296
  {
7214
7297
  style: {
7215
- color: "#9fb2ca",
7298
+ color: "var(--rb-muted)",
7216
7299
  fontSize: "0.74rem",
7217
7300
  lineHeight: 1.35,
7218
7301
  marginTop: "-0.15rem"
@@ -7263,9 +7346,9 @@ function SponsorRelayFab(props) {
7263
7346
  marginTop: "1rem",
7264
7347
  padding: "0.9rem",
7265
7348
  borderRadius: "1rem",
7266
- border: "1px solid rgba(248, 113, 113, 0.58)",
7267
- background: "rgba(127, 29, 29, 0.34)",
7268
- color: "#fee2e2"
7349
+ border: "1px solid rgba(255, 77, 106, 0.5)",
7350
+ background: "rgba(255, 77, 106, 0.1)",
7351
+ color: "var(--rb-text)"
7269
7352
  },
7270
7353
  children: [
7271
7354
  /* @__PURE__ */ jsx("strong", { children: "Rootfs unavailable \u2014 deployment blocked" }),
@@ -7283,7 +7366,7 @@ function SponsorRelayFab(props) {
7283
7366
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" }, children: [
7284
7367
  /* @__PURE__ */ jsx("button", { type: "button", onClick: () => void controller.refresh(), disabled: state.busy.refreshing, style: { ...secondaryButtonStyle, padding: "0.55rem 0.7rem" }, children: state.busy.refreshing ? "Checking\u2026" : "Retry validation" }),
7285
7368
  /* @__PURE__ */ jsx("button", { type: "button", onClick: () => controller.setShowAdvanced(true), style: { ...secondaryButtonStyle, padding: "0.55rem 0.7rem" }, children: "Edit manifest URL" }),
7286
- /^https?:\/\//.test(state.manifestUrl) ? /* @__PURE__ */ jsx("a", { href: state.manifestUrl, target: "_blank", rel: "noreferrer", style: { color: "#bfdbfe", alignSelf: "center", fontSize: "0.78rem" }, children: "Open manifest" }) : null
7369
+ /^https?:\/\//.test(state.manifestUrl) ? /* @__PURE__ */ jsx("a", { href: state.manifestUrl, target: "_blank", rel: "noreferrer", style: { color: "var(--rb-link)", alignSelf: "center", fontSize: "0.78rem" }, children: "Open manifest" }) : null
7287
7370
  ] })
7288
7371
  ]
7289
7372
  }
@@ -7299,7 +7382,7 @@ function SponsorRelayFab(props) {
7299
7382
  ...primaryButtonStyle,
7300
7383
  width: "100%",
7301
7384
  marginTop: "1rem",
7302
- ...rootfsBlocked ? { background: "rgba(148, 163, 184, 0.22)", borderColor: "rgba(248, 113, 113, 0.45)", color: "#fee2e2", boxShadow: "none", cursor: "not-allowed" } : {}
7385
+ ...rootfsBlocked ? { background: "var(--rb-surface)", borderColor: "rgba(255, 77, 106, 0.45)", color: "var(--rb-text)", boxShadow: "none", cursor: "not-allowed" } : {}
7303
7386
  },
7304
7387
  children: deployCallToAction
7305
7388
  }
@@ -7348,8 +7431,8 @@ function SponsorRelayFab(props) {
7348
7431
  gap: "0.32rem",
7349
7432
  padding: "0.16rem 0.45rem",
7350
7433
  borderRadius: "999px",
7351
- background: "rgba(34, 197, 94, 0.16)",
7352
- color: "#86efac",
7434
+ background: "rgba(62, 220, 151, 0.14)",
7435
+ color: "var(--rb-success)",
7353
7436
  fontSize: "0.7rem",
7354
7437
  fontWeight: 700
7355
7438
  },
@@ -7362,8 +7445,8 @@ function SponsorRelayFab(props) {
7362
7445
  width: "0.45rem",
7363
7446
  height: "0.45rem",
7364
7447
  borderRadius: "999px",
7365
- background: "#22c55e",
7366
- boxShadow: "0 0 0 3px rgba(34, 197, 94, 0.18)"
7448
+ background: "var(--rb-success)",
7449
+ boxShadow: "0 0 0 3px rgba(62, 220, 151, 0.18)"
7367
7450
  }
7368
7451
  }
7369
7452
  ),
@@ -7452,13 +7535,13 @@ function SponsorRelayFab(props) {
7452
7535
  gap: "0.7rem",
7453
7536
  padding: "0.85rem",
7454
7537
  borderRadius: "1rem",
7455
- border: "1px solid rgba(248, 113, 113, 0.22)",
7456
- background: "linear-gradient(180deg, rgba(127, 29, 29, 0.18), rgba(69, 10, 10, 0.12))"
7538
+ border: "1px solid rgba(255, 77, 106, 0.3)",
7539
+ background: "rgba(255, 77, 106, 0.06)"
7457
7540
  },
7458
7541
  children: [
7459
7542
  /* @__PURE__ */ jsxs("div", { style: { display: "grid", gap: "0.2rem" }, children: [
7460
7543
  /* @__PURE__ */ jsx("strong", { children: "Orphan bootstrap registrations" }),
7461
- /* @__PURE__ */ jsx("small", { style: { color: "#fecaca", lineHeight: 1.35 }, children: "Current-wallet registrations without a matching instance. Forget them directly from here." })
7544
+ /* @__PURE__ */ jsx("small", { style: { color: "var(--rb-muted)", lineHeight: 1.35 }, children: "Current-wallet registrations without a matching instance. Forget them directly from here." })
7462
7545
  ] }),
7463
7546
  orphanRegistrations.map((entry) => {
7464
7547
  const registrationHash = entry.messageHash ?? entry.hash ?? null;
@@ -7471,8 +7554,8 @@ function SponsorRelayFab(props) {
7471
7554
  gap: "0.35rem",
7472
7555
  padding: "0.75rem",
7473
7556
  borderRadius: "0.9rem",
7474
- background: "rgba(15, 23, 42, 0.22)",
7475
- border: "1px solid rgba(255,255,255,0.08)"
7557
+ background: "var(--rb-surface)",
7558
+ border: "1px solid var(--rb-border)"
7476
7559
  },
7477
7560
  children: [
7478
7561
  /* @__PURE__ */ jsx(
package/shared/index.d.ts CHANGED
@@ -341,7 +341,7 @@ declare const STALE_INSTANCE_ALLOCATION_COOLDOWN_MS: number;
341
341
  declare const RECENT_INSTANCE_RUNTIME_GRACE_MS: number;
342
342
  declare const DEPLOYMENT_PENDING_WARNING_MS: number;
343
343
 
344
- declare const UI_PACKAGE_VERSION = "0.6.41";
344
+ declare const UI_PACKAGE_VERSION = "0.6.43";
345
345
 
346
346
  interface RootfsRequiredPortForward {
347
347
  port: number;
package/shared/index.js CHANGED
@@ -42,7 +42,7 @@ var RECENT_INSTANCE_RUNTIME_GRACE_MS = 10 * 60 * 1e3;
42
42
  var DEPLOYMENT_PENDING_WARNING_MS = 3 * 60 * 1e3;
43
43
 
44
44
  // src/shared/package-version.ts
45
- var UI_PACKAGE_VERSION = "0.6.41";
45
+ var UI_PACKAGE_VERSION = "0.6.43";
46
46
 
47
47
  // src/shared/format.ts
48
48
  function shortHash(value, head = 8, tail = 6) {