@xyo-network/os-react-runtime 4.2.0 → 4.2.2

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 (38) hide show
  1. package/dist/browser/index.mjs +547 -509
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/browser/modules/Dapp/Container.d.ts.map +1 -1
  4. package/dist/browser/modules/Dapp/modules/Window/DappWindow.d.ts +3 -14
  5. package/dist/browser/modules/Dapp/modules/Window/DappWindow.d.ts.map +1 -1
  6. package/dist/browser/modules/Dapp/modules/Window/MetaTags.d.ts +8 -0
  7. package/dist/browser/modules/Dapp/modules/Window/MetaTags.d.ts.map +1 -0
  8. package/dist/browser/modules/Dapp/modules/Window/Rendered.d.ts +5 -0
  9. package/dist/browser/modules/Dapp/modules/Window/Rendered.d.ts.map +1 -0
  10. package/dist/browser/modules/Dapp/modules/Window/hooks/index.d.ts +1 -1
  11. package/dist/browser/modules/Dapp/modules/Window/hooks/index.d.ts.map +1 -1
  12. package/dist/browser/modules/Dapp/modules/Window/hooks/menu/useDappMenu.d.ts +2 -21
  13. package/dist/browser/modules/Dapp/modules/Window/hooks/menu/useDappMenu.d.ts.map +1 -1
  14. package/dist/browser/modules/Dapp/modules/Window/hooks/useDecomposeDapp.d.ts +11 -0
  15. package/dist/browser/modules/Dapp/modules/Window/hooks/useDecomposeDapp.d.ts.map +1 -0
  16. package/dist/browser/modules/Dapp/modules/Window/index.d.ts +3 -1
  17. package/dist/browser/modules/Dapp/modules/Window/index.d.ts.map +1 -1
  18. package/dist/browser/modules/Dapp/modules/Window/types/DappMenuProperties.d.ts +9 -0
  19. package/dist/browser/modules/Dapp/modules/Window/types/DappMenuProperties.d.ts.map +1 -0
  20. package/dist/browser/modules/Dapp/modules/Window/types/DappWindowProps.d.ts +13 -0
  21. package/dist/browser/modules/Dapp/modules/Window/types/DappWindowProps.d.ts.map +1 -0
  22. package/dist/browser/modules/Dapp/modules/Window/types/index.d.ts +3 -0
  23. package/dist/browser/modules/Dapp/modules/Window/types/index.d.ts.map +1 -0
  24. package/package.json +9 -9
  25. package/src/modules/Dapp/Container.tsx +21 -9
  26. package/src/modules/Dapp/modules/Window/DappWindow.tsx +20 -129
  27. package/src/modules/Dapp/modules/Window/MetaTags.tsx +27 -0
  28. package/src/modules/Dapp/modules/Window/Rendered.tsx +101 -0
  29. package/src/modules/Dapp/modules/Window/hooks/index.ts +1 -1
  30. package/src/modules/Dapp/modules/Window/hooks/menu/useDappMenu.tsx +3 -2
  31. package/src/modules/Dapp/modules/Window/hooks/useDecomposeDapp.tsx +21 -0
  32. package/src/modules/Dapp/modules/Window/index.ts +3 -1
  33. package/src/modules/Dapp/modules/Window/types/DappMenuProperties.ts +9 -0
  34. package/src/modules/Dapp/modules/Window/types/DappWindowProps.ts +14 -0
  35. package/src/modules/Dapp/modules/Window/types/index.ts +2 -0
  36. package/dist/browser/modules/Dapp/modules/Window/hooks/useDecomposeDappSet.d.ts +0 -9
  37. package/dist/browser/modules/Dapp/modules/Window/hooks/useDecomposeDappSet.d.ts.map +0 -1
  38. package/src/modules/Dapp/modules/Window/hooks/useDecomposeDappSet.tsx +0 -19
@@ -158,16 +158,16 @@ var WidgetCard = /* @__PURE__ */ __name(({ widgetName, widgetContent, widgetPath
158
158
  // src/components/Widgets/WidgetCardExamples.tsx
159
159
  import { Stack as Stack2 } from "@mui/material";
160
160
  import { useColorSchemeEx as useColorSchemeEx4 } from "@xylabs/react-invertible-theme";
161
- import React41 from "react";
161
+ import React43 from "react";
162
162
 
163
163
  // src/DappPage.tsx
164
164
  import { Container as Container3, Typography as Typography10 } from "@mui/material";
165
165
  import { ThrownErrorBoundary } from "@xylabs/react-error";
166
166
  import { FlexCol as FlexCol13 } from "@xylabs/react-flexbox";
167
- import React33 from "react";
167
+ import React35 from "react";
168
168
 
169
169
  // src/modules/Dapp/Container.tsx
170
- import React26, { memo, useMemo as useMemo13 } from "react";
170
+ import React28, { memo, useMemo as useMemo13 } from "react";
171
171
 
172
172
  // src/hooks/access-requests/useBuildDappAccessRequestResource.ts
173
173
  import { usePromise } from "@xylabs/react-promise";
@@ -2067,64 +2067,9 @@ var DefaultComingSoon = /* @__PURE__ */ __name(({ children, desc = defaultDescri
2067
2067
  }, "DefaultComingSoon");
2068
2068
 
2069
2069
  // src/modules/Dapp/modules/Window/DappWindow.tsx
2070
+ import { Snackbar } from "@mui/material";
2070
2071
  import { ErrorBoundary, ErrorRender as ErrorRender3 } from "@xylabs/react-error";
2071
- import { FlexCol as FlexCol10 } from "@xylabs/react-flexbox";
2072
- import { NameTransforms as NameTransforms4 } from "@xyo-network/os-runtime";
2073
- import { NodeProvider as NodeProvider2 } from "@xyo-network/react-node";
2074
- import { WalletProvider } from "@xyo-network/react-wallet";
2075
- import React25, { useMemo as useMemo12 } from "react";
2076
- import { Helmet } from "react-helmet";
2077
-
2078
- // src/modules/XyOsUi/contexts/XyOsUiContext.ts
2079
- import { createContext, useContext } from "react";
2080
- var XyOsUiContext = createContext(void 0);
2081
- var useXyOsUiContext = /* @__PURE__ */ __name(() => {
2082
- return useContext(XyOsUiContext);
2083
- }, "useXyOsUiContext");
2084
- var XyOsUiContextProvider = XyOsUiContext.Provider;
2085
-
2086
- // src/modules/XyOsUi/lib/XyOsUi.ts
2087
- import { forget } from "@xylabs/forget";
2088
- import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/module-factory-locator";
2089
- import { dappsReadyConnection, XyOs } from "@xyo-network/os-runtime";
2090
- var XyOsUi = class extends XyOs {
2091
- static {
2092
- __name(this, "XyOsUi");
2093
- }
2094
- dappRegistrationResults = {
2095
- failed: [],
2096
- succeeded: []
2097
- };
2098
- dappsReadyConnection = dappsReadyConnection();
2099
- constructor(params) {
2100
- super(params);
2101
- this.eventBus.addConnection(this.dappsReadyConnection);
2102
- }
2103
- static get monitoring() {
2104
- return new XyOsBrowserMonitor();
2105
- }
2106
- static get xyOsUiGlobal() {
2107
- return XyOs.xyOsGlobal;
2108
- }
2109
- static hideSplash() {
2110
- this.xyOsUiGlobal.splashScreen.hideSplash();
2111
- this.xyOsUiGlobal.splashScreen.onComplete();
2112
- this.setSplashStatus("complete");
2113
- }
2114
- static setSplashStatus(status) {
2115
- const statusText = this.xyOsUiGlobal.splashScreen._LOADING_MESSAGES[status];
2116
- this.xyOsUiGlobal.splashScreen.setStatusText(statusText);
2117
- }
2118
- async boot(wallet, locator = new ModuleFactoryLocator2()) {
2119
- await super.boot(wallet, locator);
2120
- const registerLazy = /* @__PURE__ */ __name(async () => {
2121
- this.dappRegistrationResults = await this.dappRegistrationService.start();
2122
- await this.dappsReadyConnection.emit("dappsReady", {});
2123
- }, "registerLazy");
2124
- forget(registerLazy());
2125
- return this;
2126
- }
2127
- };
2072
+ import React19 from "react";
2128
2073
 
2129
2074
  // src/modules/Dapp/modules/Window/hooks/lib/DappPathHelpers.ts
2130
2075
  import { NameTransforms as NameTransforms2 } from "@xyo-network/os-runtime";
@@ -2231,7 +2176,7 @@ var useDappMenu = /* @__PURE__ */ __name((context, dappName) => {
2231
2176
  activePath,
2232
2177
  error,
2233
2178
  menuConfig: menuConfigs?.[0],
2234
- menuItemsVisible,
2179
+ menuItems: menuItemsVisible,
2235
2180
  onPathChange
2236
2181
  };
2237
2182
  }, "useDappMenu");
@@ -2449,6 +2394,9 @@ var useManageDappStateFromRoute = /* @__PURE__ */ __name((intentPayload) => {
2449
2394
  ]);
2450
2395
  }, "useManageDappStateFromRoute");
2451
2396
 
2397
+ // src/modules/Dapp/modules/Window/hooks/useDecomposeDapp.tsx
2398
+ import { useMemo as useMemo11 } from "react";
2399
+
2452
2400
  // src/modules/Dapp/modules/Window/NodeManifest.tsx
2453
2401
  import { usePromise as usePromise15 } from "@xylabs/react-promise";
2454
2402
  import { useProvidedNode } from "@xyo-network/react-node";
@@ -2461,10 +2409,9 @@ var NodeManifest = /* @__PURE__ */ __name(() => {
2461
2409
  return /* @__PURE__ */ React17.createElement(React17.Fragment, null, node ? /* @__PURE__ */ React17.createElement("pre", null, JSON.stringify(nodeManifest, null, 2)) : null);
2462
2410
  }, "NodeManifest");
2463
2411
 
2464
- // src/modules/Dapp/modules/Window/hooks/useDecomposeDappSet.tsx
2465
- var decomposeDappSet = /* @__PURE__ */ __name((dappSet) => {
2466
- const { dapp } = dappSet ?? {};
2467
- const DappComponent = dapp?.params.modes?.window?.component ?? NodeManifest;
2412
+ // src/modules/Dapp/modules/Window/hooks/useDecomposeDapp.tsx
2413
+ var useDecomposeDapp = /* @__PURE__ */ __name((dapp) => {
2414
+ const DappComponent = useMemo11(() => dapp?.params.modes?.window?.component ?? NodeManifest, []);
2468
2415
  const name = dapp?.config.name;
2469
2416
  const version = dapp?.config.version;
2470
2417
  const scrollable = dapp?.params.modes?.window?.scrollable ?? true;
@@ -2475,10 +2422,10 @@ var decomposeDappSet = /* @__PURE__ */ __name((dappSet) => {
2475
2422
  scrollable,
2476
2423
  version
2477
2424
  };
2478
- }, "decomposeDappSet");
2425
+ }, "useDecomposeDapp");
2479
2426
 
2480
2427
  // src/modules/Dapp/modules/Window/hooks/useSkipLoadingScreen.tsx
2481
- import { useMemo as useMemo11 } from "react";
2428
+ import { useMemo as useMemo12 } from "react";
2482
2429
  import { useSearchParams as useSearchParams3 } from "react-router-dom";
2483
2430
  var PARAMS_TO_TARGET = [
2484
2431
  "username",
@@ -2487,7 +2434,7 @@ var PARAMS_TO_TARGET = [
2487
2434
  var useSkipLoadingScreen = /* @__PURE__ */ __name(() => {
2488
2435
  const [params] = useSearchParams3();
2489
2436
  const customer = detectCustomer();
2490
- return useMemo11(() => {
2437
+ return useMemo12(() => {
2491
2438
  const hasTargetParams = PARAMS_TO_TARGET.some((param) => params.has(param));
2492
2439
  const isCustomer = !!customer;
2493
2440
  return hasTargetParams || isCustomer;
@@ -2526,186 +2473,46 @@ var useSyncOsRegisteredAccessInterfaces = /* @__PURE__ */ __name((context) => {
2526
2473
  ]);
2527
2474
  }, "useSyncOsRegisteredAccessInterfaces");
2528
2475
 
2529
- // src/modules/Dapp/modules/Window/LoadingFlexbox.tsx
2530
- import { Fade, styled as styled2, Typography as Typography6 } from "@mui/material";
2531
- import { FlexCol as FlexCol7 } from "@xylabs/react-flexbox";
2532
- import React20, { useEffect as useEffect15, useState as useState14 } from "react";
2533
-
2534
- // src/modules/LoadingOsLogo/LoadingOsLogo.tsx
2535
- import { FlexCol as FlexCol6 } from "@xylabs/react-flexbox";
2536
- import React18, { useState as useState13 } from "react";
2537
-
2538
- // src/modules/LoadingOsLogo/img/index.ts
2539
- import { default as default20 } from "./xyoOS-Icon-2Q4XCUPP.svg";
2540
-
2541
- // src/modules/LoadingOsLogo/LoadingOsLogo.tsx
2542
- var LoadingOsLogo = /* @__PURE__ */ __name(({ widthInPixels, busy, spinsPerSecond = 0.5, ...props }) => {
2543
- const [imageLoaded, setImageLoaded] = useState13(false);
2544
- if (!imageLoaded) {
2545
- const img = new Image();
2546
- img.addEventListener("load", () => setImageLoaded(true));
2547
- img.src = default20;
2548
- }
2549
- return imageLoaded ? /* @__PURE__ */ React18.createElement(FlexCol6, {
2550
- sx: {
2551
- "@keyframes fadeOut": {
2552
- "0%": {
2553
- opacity: 1
2554
- },
2555
- "100%": {
2556
- opacity: 0.1
2557
- },
2558
- "35%": {
2559
- opacity: 1
2560
- }
2561
- },
2562
- "animation": busy ? "fadeOut linear" : void 0,
2563
- "animationDuration": "1500ms",
2564
- "animationFillMode": "both"
2565
- },
2566
- ...props
2567
- }, /* @__PURE__ */ React18.createElement(FlexCol6, {
2568
- sx: {
2569
- "@keyframes spin": {
2570
- "0%": {
2571
- transform: "rotate(360deg)"
2572
- },
2573
- "100%": {
2574
- transform: "rotate(0deg)"
2575
- }
2576
- },
2577
- "animation": busy ? `spin ${1 / spinsPerSecond}s linear infinite` : void 0,
2578
- "animationDirection": "reverse"
2579
- },
2580
- ...props
2581
- }, /* @__PURE__ */ React18.createElement("img", {
2582
- src: default20,
2583
- height: widthInPixels ?? 22
2584
- }))) : null;
2585
- }, "LoadingOsLogo");
2586
-
2587
- // src/modules/Dapp/modules/Window/Trail.tsx
2588
- import { a, useTrail } from "@react-spring/web";
2589
- import React19 from "react";
2590
- var TextTrail = /* @__PURE__ */ __name(({ open, children }) => {
2591
- const items = React19.Children.toArray(children);
2592
- const trail = useTrail(items.length, {
2593
- config: {
2594
- friction: 200,
2595
- mass: 5,
2596
- tension: 2e3
2597
- },
2598
- from: {
2599
- height: "auto",
2600
- opacity: 0,
2601
- y: 20
2602
- },
2603
- height: "auto",
2604
- opacity: open ? 1 : 0,
2605
- y: open ? 0 : 60
2606
- });
2607
- return /* @__PURE__ */ React19.createElement("div", null, trail.map(({ height, ...style }, index) => /* @__PURE__ */ React19.createElement(a.div, {
2608
- key: index,
2609
- style
2610
- }, /* @__PURE__ */ React19.createElement(a.div, {
2611
- style: {
2612
- height
2613
- }
2614
- }, items[index]))));
2615
- }, "TextTrail");
2476
+ // src/modules/Dapp/modules/Window/MetaTags.tsx
2477
+ import { NameTransforms as NameTransforms4 } from "@xyo-network/os-runtime";
2478
+ import React18 from "react";
2479
+ import { Helmet } from "react-helmet";
2480
+ var DappMetaTags = /* @__PURE__ */ __name(({ active, activePath, dappName }) => {
2481
+ return active ? /* @__PURE__ */ React18.createElement(Helmet, null, /* @__PURE__ */ React18.createElement("title", null, activePath ? `${new NameTransforms4(activePath).deSlug()} | ` : "", " ", dappName, " ", "dApp")) : null;
2482
+ }, "DappMetaTags");
2616
2483
 
2617
- // src/modules/Dapp/modules/Window/LoadingFlexbox.tsx
2618
- var DappLoadingFlexbox = /* @__PURE__ */ __name(({ minimize, open, name, ...props }) => {
2619
- const [fadeIn, setFadeIn] = useState14(!open);
2620
- const [trail, setTrail] = useState14(false);
2621
- const skipLoadingScreen = useSkipLoadingScreen();
2622
- useEffect15(() => {
2623
- if (open) {
2624
- if (skipLoadingScreen) {
2625
- setFadeIn(false);
2626
- return;
2627
- }
2628
- const fadeInTimeout = setTimeout(() => {
2629
- setFadeIn(false);
2630
- }, 2e3);
2631
- let trailTimeout = setTimeout(() => {
2632
- setTrail(true);
2633
- trailTimeout = setTimeout(() => {
2634
- setTrail(false);
2635
- }, 4e3);
2636
- }, 300);
2637
- return () => {
2638
- clearTimeout(fadeInTimeout);
2639
- clearTimeout(trailTimeout);
2640
- };
2641
- }
2642
- if (!minimize) {
2643
- setFadeIn(true);
2644
- }
2645
- }, [
2646
- minimize,
2647
- open,
2648
- skipLoadingScreen
2649
- ]);
2650
- return /* @__PURE__ */ React20.createElement(Fade, {
2651
- in: fadeIn,
2652
- unmountOnExit: true
2653
- }, /* @__PURE__ */ React20.createElement(StyledSplashContainer, props, /* @__PURE__ */ React20.createElement(LoadingOsLogo, {
2654
- widthInPixels: 100,
2655
- busy: true,
2656
- position: "absolute"
2657
- }), /* @__PURE__ */ React20.createElement(TextTrail, {
2658
- open: trail,
2659
- flexDirection: "row"
2660
- }, /* @__PURE__ */ React20.createElement(Typography6, {
2661
- textAlign: "center",
2662
- sx: {
2663
- fontSize: {
2664
- md: "3em",
2665
- xs: "2em"
2666
- }
2667
- }
2668
- }, "Loading"), /* @__PURE__ */ React20.createElement(Typography6, {
2669
- textAlign: "center",
2670
- sx: {
2671
- fontSize: {
2672
- md: "3em",
2673
- xs: "2em"
2674
- }
2675
- }
2676
- }, name), /* @__PURE__ */ React20.createElement(Typography6, {
2677
- textAlign: "center",
2678
- sx: {
2679
- fontSize: {
2680
- md: "3em",
2681
- xs: "2em"
2682
- }
2683
- }
2684
- }, "dApp"))));
2685
- }, "DappLoadingFlexbox");
2686
- var StyledSplashContainer = styled2(FlexCol7, {
2687
- name: "StyledSplashContainer"
2688
- })(({ theme }) => {
2689
- return {
2690
- background: theme.palette.background.default,
2691
- color: theme.palette.text.primary,
2692
- gap: theme.spacing(1),
2693
- height: "100%",
2694
- left: 0,
2695
- position: "absolute",
2696
- top: 0,
2697
- width: "100%",
2698
- zIndex: 999
2699
- };
2700
- });
2484
+ // src/modules/Dapp/modules/Window/DappWindow.tsx
2485
+ var DappWindow = /* @__PURE__ */ __name(({ children, context, dapp, dappMenuProperties, dappState }) => {
2486
+ const { name } = dapp?.config ?? {};
2487
+ const { active } = dappState ?? {};
2488
+ useSyncOsRegisteredAccessInterfaces(context);
2489
+ const routingError = useManageDappPathFromRoute(context, name);
2490
+ const injectableErrors = useManageDappInjectableParamsFromRoute(context);
2491
+ const resolvedErrors = [
2492
+ ...injectableErrors,
2493
+ routingError
2494
+ ];
2495
+ return /* @__PURE__ */ React19.createElement(React19.Fragment, null, /* @__PURE__ */ React19.createElement(ErrorBoundary, null, /* @__PURE__ */ React19.createElement(DappMetaTags, {
2496
+ active,
2497
+ activePath: dappMenuProperties?.activePath,
2498
+ dappName: name
2499
+ }), resolvedErrors.map((error) => /* @__PURE__ */ React19.createElement(Snackbar, {
2500
+ key: error?.message,
2501
+ open: !!error,
2502
+ message: /* @__PURE__ */ React19.createElement(ErrorRender3, {
2503
+ error,
2504
+ scope: "DappWindow"
2505
+ })
2506
+ })), children));
2507
+ }, "DappWindow");
2701
2508
 
2702
2509
  // src/modules/Dapp/modules/Window/menu/BottomNavigation.tsx
2703
- import { BottomNavigation, BottomNavigationAction, Paper, styled as styled3 } from "@mui/material";
2510
+ import { BottomNavigation, BottomNavigationAction, Paper, styled as styled2 } from "@mui/material";
2704
2511
  import { useColorSchemeEx } from "@xylabs/react-invertible-theme";
2705
- import React21, { useEffect as useEffect16, useState as useState15 } from "react";
2512
+ import React20, { useEffect as useEffect15, useState as useState13 } from "react";
2706
2513
  var DappBottomNavigation = /* @__PURE__ */ __name(({ activePath, menuConfig, menuItems, onPathChange, ...props }) => {
2707
- const [activeIndex, setActiveIndex] = useState15(0);
2708
- useEffect16(() => {
2514
+ const [activeIndex, setActiveIndex] = useState13(0);
2515
+ useEffect15(() => {
2709
2516
  if (menuConfig?.defaultPath && menuItems && activePath) {
2710
2517
  setActiveIndex(menuItems.findIndex((item) => activePath === item.path));
2711
2518
  }
@@ -2714,9 +2521,9 @@ var DappBottomNavigation = /* @__PURE__ */ __name(({ activePath, menuConfig, men
2714
2521
  menuConfig,
2715
2522
  menuItems
2716
2523
  ]);
2717
- return /* @__PURE__ */ React21.createElement(Paper, {
2524
+ return /* @__PURE__ */ React20.createElement(Paper, {
2718
2525
  elevation: 3
2719
- }, /* @__PURE__ */ React21.createElement(BottomNavigation, {
2526
+ }, /* @__PURE__ */ React20.createElement(BottomNavigation, {
2720
2527
  value: activeIndex,
2721
2528
  onChange: /* @__PURE__ */ __name((_, value) => {
2722
2529
  setActiveIndex(value);
@@ -2726,11 +2533,11 @@ var DappBottomNavigation = /* @__PURE__ */ __name(({ activePath, menuConfig, men
2726
2533
  showLabels: true,
2727
2534
  ...props
2728
2535
  }, menuItems?.map(({ svgIcon: icon, primaryText }, index) => {
2729
- return /* @__PURE__ */ React21.createElement(StyledBottomNavigationAction, {
2536
+ return /* @__PURE__ */ React20.createElement(StyledBottomNavigationAction, {
2730
2537
  className: "bottom-nav-action",
2731
2538
  key: index,
2732
2539
  label: primaryText,
2733
- icon: /* @__PURE__ */ React21.createElement("span", {
2540
+ icon: /* @__PURE__ */ React20.createElement("span", {
2734
2541
  ref: /* @__PURE__ */ __name((ref) => {
2735
2542
  if (ref) {
2736
2543
  ref.innerHTML = icon ?? "";
@@ -2740,7 +2547,7 @@ var DappBottomNavigation = /* @__PURE__ */ __name(({ activePath, menuConfig, men
2740
2547
  });
2741
2548
  })));
2742
2549
  }, "DappBottomNavigation");
2743
- var StyledBottomNavigationAction = styled3(BottomNavigationAction, {
2550
+ var StyledBottomNavigationAction = styled2(BottomNavigationAction, {
2744
2551
  name: "StyledBottomNavigationAction"
2745
2552
  })(({ theme }) => {
2746
2553
  const { darkMode } = useColorSchemeEx();
@@ -2752,29 +2559,29 @@ var StyledBottomNavigationAction = styled3(BottomNavigationAction, {
2752
2559
  });
2753
2560
 
2754
2561
  // src/modules/Dapp/modules/Window/menu/Drawer.tsx
2755
- import { alpha as alpha4, darken, Drawer, List, ListItem, ListItemIcon, ListItemText, Tooltip as Tooltip4, Typography as Typography8, useTheme as useTheme7 } from "@mui/material";
2756
- import { FlexCol as FlexCol9, FlexGrowRow as FlexGrowRow5, FlexRow as FlexRow8 } from "@xylabs/react-flexbox";
2562
+ import { alpha as alpha4, darken, Drawer, List, ListItem, ListItemIcon, ListItemText, Tooltip as Tooltip4, Typography as Typography7, useTheme as useTheme7 } from "@mui/material";
2563
+ import { FlexCol as FlexCol7, FlexGrowRow as FlexGrowRow5, FlexRow as FlexRow8 } from "@xylabs/react-flexbox";
2757
2564
  import { useColorSchemeEx as useColorSchemeEx2 } from "@xylabs/react-invertible-theme";
2758
2565
  import { XyOsMonitor as XyOsMonitor3 } from "@xyo-network/os-runtime";
2759
- import React24, { useEffect as useEffect17, useState as useState17 } from "react";
2566
+ import React23, { useEffect as useEffect16, useState as useState15 } from "react";
2760
2567
 
2761
2568
  // src/modules/Dapp/modules/Window/menu/BottomMenuArea.tsx
2762
2569
  import { BugReport as BugReport2, KeyboardArrowDownRounded, KeyboardArrowUpRounded } from "@mui/icons-material";
2763
- import { Card as Card3, Collapse, Divider as Divider3, IconButton as IconButton3, Stack, Toolbar as Toolbar2, Tooltip as Tooltip3, Typography as Typography7, useTheme as useTheme6 } from "@mui/material";
2570
+ import { Card as Card3, Collapse, Divider as Divider3, IconButton as IconButton3, Stack, Toolbar as Toolbar2, Tooltip as Tooltip3, Typography as Typography6, useTheme as useTheme6 } from "@mui/material";
2764
2571
  import { RotationAnimation } from "@xylabs/react-animation";
2765
- import { FlexCol as FlexCol8, FlexRow as FlexRow7 } from "@xylabs/react-flexbox";
2572
+ import { FlexCol as FlexCol6, FlexRow as FlexRow7 } from "@xylabs/react-flexbox";
2766
2573
  import { DarkModeIconButtonForColorScheme as DarkModeIconButtonForColorScheme2 } from "@xylabs/react-invertible-theme";
2767
2574
  import { LinkEx as LinkEx2 } from "@xylabs/react-link";
2768
- import React23, { useState as useState16 } from "react";
2575
+ import React22, { useState as useState14 } from "react";
2769
2576
  import XyoOSLogoWhite from "./xyoOS-Icon-White-47MP66MD.svg";
2770
2577
 
2771
2578
  // src/modules/Dapp/modules/Window/menu/SocialData.tsx
2772
2579
  import { Facebook, Instagram, LinkedIn, Reddit, StorefrontRounded, Telegram, X, YouTube } from "@mui/icons-material";
2773
- import React22 from "react";
2580
+ import React21 from "react";
2774
2581
  import { FaDiscord } from "react-icons/fa";
2775
2582
  var socialLinksData = [
2776
2583
  {
2777
- icon: /* @__PURE__ */ React22.createElement(Facebook, {
2584
+ icon: /* @__PURE__ */ React21.createElement(Facebook, {
2778
2585
  style: {
2779
2586
  fontSize: "24px"
2780
2587
  }
@@ -2782,7 +2589,7 @@ var socialLinksData = [
2782
2589
  link: "https://www.facebook.com/OfficialXYO"
2783
2590
  },
2784
2591
  {
2785
- icon: /* @__PURE__ */ React22.createElement(X, {
2592
+ icon: /* @__PURE__ */ React21.createElement(X, {
2786
2593
  style: {
2787
2594
  fontSize: "24px"
2788
2595
  }
@@ -2790,7 +2597,7 @@ var socialLinksData = [
2790
2597
  link: "https://twitter.com/OfficialXYO"
2791
2598
  },
2792
2599
  {
2793
- icon: /* @__PURE__ */ React22.createElement(Instagram, {
2600
+ icon: /* @__PURE__ */ React21.createElement(Instagram, {
2794
2601
  style: {
2795
2602
  fontSize: "24px"
2796
2603
  }
@@ -2798,7 +2605,7 @@ var socialLinksData = [
2798
2605
  link: "https://www.instagram.com/officialxyo/"
2799
2606
  },
2800
2607
  {
2801
- icon: /* @__PURE__ */ React22.createElement(Telegram, {
2608
+ icon: /* @__PURE__ */ React21.createElement(Telegram, {
2802
2609
  style: {
2803
2610
  fontSize: "24px"
2804
2611
  }
@@ -2806,7 +2613,7 @@ var socialLinksData = [
2806
2613
  link: "https://t.me/xyonetwork"
2807
2614
  },
2808
2615
  {
2809
- icon: /* @__PURE__ */ React22.createElement(Reddit, {
2616
+ icon: /* @__PURE__ */ React21.createElement(Reddit, {
2810
2617
  style: {
2811
2618
  fontSize: "24px"
2812
2619
  }
@@ -2814,7 +2621,7 @@ var socialLinksData = [
2814
2621
  link: "https://www.reddit.com/r/XYONetwork/"
2815
2622
  },
2816
2623
  {
2817
- icon: /* @__PURE__ */ React22.createElement(YouTube, {
2624
+ icon: /* @__PURE__ */ React21.createElement(YouTube, {
2818
2625
  style: {
2819
2626
  fontSize: "24px"
2820
2627
  }
@@ -2822,7 +2629,7 @@ var socialLinksData = [
2822
2629
  link: "https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw"
2823
2630
  },
2824
2631
  {
2825
- icon: /* @__PURE__ */ React22.createElement(LinkedIn, {
2632
+ icon: /* @__PURE__ */ React21.createElement(LinkedIn, {
2826
2633
  style: {
2827
2634
  fontSize: "24px"
2828
2635
  }
@@ -2830,7 +2637,7 @@ var socialLinksData = [
2830
2637
  link: "https://www.linkedin.com/company/officialxyo/"
2831
2638
  },
2832
2639
  {
2833
- icon: /* @__PURE__ */ React22.createElement(FaDiscord, {
2640
+ icon: /* @__PURE__ */ React21.createElement(FaDiscord, {
2834
2641
  style: {
2835
2642
  fontSize: "24px"
2836
2643
  }
@@ -2838,7 +2645,7 @@ var socialLinksData = [
2838
2645
  link: "https://discord.gg/officialxyo"
2839
2646
  },
2840
2647
  {
2841
- icon: /* @__PURE__ */ React22.createElement(StorefrontRounded, {
2648
+ icon: /* @__PURE__ */ React21.createElement(StorefrontRounded, {
2842
2649
  style: {
2843
2650
  fontSize: "24px"
2844
2651
  }
@@ -2850,12 +2657,12 @@ var socialLinksData = [
2850
2657
  // src/modules/Dapp/modules/Window/menu/BottomMenuArea.tsx
2851
2658
  var BottomMenuArea = /* @__PURE__ */ __name(({ openDebug, backgroundColor }) => {
2852
2659
  const theme = useTheme6();
2853
- const [expanded, setExpanded] = useState16(false);
2660
+ const [expanded, setExpanded] = useState14(false);
2854
2661
  const logo = XyoOSLogoWhite;
2855
2662
  const handleExpandClick = /* @__PURE__ */ __name(() => {
2856
2663
  setExpanded(!expanded);
2857
2664
  }, "handleExpandClick");
2858
- return /* @__PURE__ */ React23.createElement(Card3, {
2665
+ return /* @__PURE__ */ React22.createElement(Card3, {
2859
2666
  sx: {
2860
2667
  position: "relative",
2861
2668
  borderTopLeftRadius: "10px",
@@ -2866,10 +2673,10 @@ var BottomMenuArea = /* @__PURE__ */ __name(({ openDebug, backgroundColor }) =>
2866
2673
  overflow: "hidden"
2867
2674
  },
2868
2675
  elevation: 4
2869
- }, /* @__PURE__ */ React23.createElement(FlexCol8, {
2676
+ }, /* @__PURE__ */ React22.createElement(FlexCol6, {
2870
2677
  paddingY: 1,
2871
2678
  alignItems: "stretch"
2872
- }, /* @__PURE__ */ React23.createElement(Stack, {
2679
+ }, /* @__PURE__ */ React22.createElement(Stack, {
2873
2680
  paddingX: 2,
2874
2681
  justifyContent: "space-between",
2875
2682
  flexDirection: "row",
@@ -2879,17 +2686,17 @@ var BottomMenuArea = /* @__PURE__ */ __name(({ openDebug, backgroundColor }) =>
2879
2686
  textTransform: "none",
2880
2687
  cursor: "pointer"
2881
2688
  }
2882
- }, /* @__PURE__ */ React23.createElement(Typography7, {
2689
+ }, /* @__PURE__ */ React22.createElement(Typography6, {
2883
2690
  gutterBottom: false
2884
- }, "More"), expanded ? /* @__PURE__ */ React23.createElement(KeyboardArrowUpRounded, {
2691
+ }, "More"), expanded ? /* @__PURE__ */ React22.createElement(KeyboardArrowUpRounded, {
2885
2692
  sx: {
2886
2693
  color: "#fff"
2887
2694
  }
2888
- }) : /* @__PURE__ */ React23.createElement(KeyboardArrowDownRounded, {
2695
+ }) : /* @__PURE__ */ React22.createElement(KeyboardArrowDownRounded, {
2889
2696
  sx: {
2890
2697
  color: "#fff"
2891
2698
  }
2892
- }))), /* @__PURE__ */ React23.createElement(Collapse, {
2699
+ }))), /* @__PURE__ */ React22.createElement(Collapse, {
2893
2700
  in: expanded,
2894
2701
  timeout: "auto",
2895
2702
  unmountOnExit: true,
@@ -2897,44 +2704,44 @@ var BottomMenuArea = /* @__PURE__ */ __name(({ openDebug, backgroundColor }) =>
2897
2704
  paddingBottom: 3,
2898
2705
  color: "#fff"
2899
2706
  }
2900
- }, /* @__PURE__ */ React23.createElement(Divider3, {
2707
+ }, /* @__PURE__ */ React22.createElement(Divider3, {
2901
2708
  flexItem: true
2902
- }), /* @__PURE__ */ React23.createElement(FlexCol8, {
2709
+ }), /* @__PURE__ */ React22.createElement(FlexCol6, {
2903
2710
  alignItems: "center"
2904
- }, /* @__PURE__ */ React23.createElement(Toolbar2, {
2711
+ }, /* @__PURE__ */ React22.createElement(Toolbar2, {
2905
2712
  sx: {
2906
2713
  paddingX: 1.5
2907
2714
  }
2908
- }, /* @__PURE__ */ React23.createElement(Tooltip3, {
2715
+ }, /* @__PURE__ */ React22.createElement(Tooltip3, {
2909
2716
  title: "Debug Node View"
2910
- }, /* @__PURE__ */ React23.createElement(IconButton3, {
2717
+ }, /* @__PURE__ */ React22.createElement(IconButton3, {
2911
2718
  onClick: openDebug,
2912
2719
  sx: {
2913
2720
  color: "#fff"
2914
2721
  }
2915
- }, /* @__PURE__ */ React23.createElement(BugReport2, null))), /* @__PURE__ */ React23.createElement(Tooltip3, {
2722
+ }, /* @__PURE__ */ React22.createElement(BugReport2, null))), /* @__PURE__ */ React22.createElement(Tooltip3, {
2916
2723
  title: "Toggle Light/Dark Mode"
2917
- }, /* @__PURE__ */ React23.createElement("span", null, /* @__PURE__ */ React23.createElement(DarkModeIconButtonForColorScheme2, {
2724
+ }, /* @__PURE__ */ React22.createElement("span", null, /* @__PURE__ */ React22.createElement(DarkModeIconButtonForColorScheme2, {
2918
2725
  defaultLightModeColor: "warning"
2919
- })))), /* @__PURE__ */ React23.createElement(FlexRow7, {
2726
+ })))), /* @__PURE__ */ React22.createElement(FlexRow7, {
2920
2727
  flexWrap: "wrap"
2921
- }, socialLinksData.map((social) => /* @__PURE__ */ React23.createElement(RotationAnimation, {
2728
+ }, socialLinksData.map((social) => /* @__PURE__ */ React22.createElement(RotationAnimation, {
2922
2729
  key: social.link,
2923
2730
  rotation: 20
2924
- }, /* @__PURE__ */ React23.createElement(IconButton3, {
2731
+ }, /* @__PURE__ */ React22.createElement(IconButton3, {
2925
2732
  sx: {
2926
2733
  color: "#fff"
2927
2734
  },
2928
2735
  href: social.link,
2929
2736
  target: "_blank"
2930
- }, social.icon)))), /* @__PURE__ */ React23.createElement(FlexRow7, {
2737
+ }, social.icon)))), /* @__PURE__ */ React22.createElement(FlexRow7, {
2931
2738
  padding: 1,
2932
2739
  justifyContent: "center",
2933
2740
  gap: 0.5
2934
- }, /* @__PURE__ */ React23.createElement(Typography7, {
2741
+ }, /* @__PURE__ */ React22.createElement(Typography6, {
2935
2742
  variant: "body2",
2936
2743
  color: theme.palette.text.primary
2937
- }, "Powered By"), /* @__PURE__ */ React23.createElement("img", {
2744
+ }, "Powered By"), /* @__PURE__ */ React22.createElement("img", {
2938
2745
  style: {
2939
2746
  color: theme.palette.text.primary,
2940
2747
  fill: theme.palette.text.primary
@@ -2942,43 +2749,43 @@ var BottomMenuArea = /* @__PURE__ */ __name(({ openDebug, backgroundColor }) =>
2942
2749
  src: logo,
2943
2750
  width: "auto",
2944
2751
  height: "20px"
2945
- })), /* @__PURE__ */ React23.createElement(Typography7, {
2752
+ })), /* @__PURE__ */ React22.createElement(Typography6, {
2946
2753
  variant: "caption",
2947
2754
  color: theme.palette.text.primary
2948
- }, "Copyright \xA9 2024 XY Labs, Inc."), /* @__PURE__ */ React23.createElement(Stack, {
2755
+ }, "Copyright \xA9 2024 XY Labs, Inc."), /* @__PURE__ */ React22.createElement(Stack, {
2949
2756
  gap: 0.5,
2950
2757
  flexDirection: "row"
2951
- }, /* @__PURE__ */ React23.createElement(LinkEx2, {
2758
+ }, /* @__PURE__ */ React22.createElement(LinkEx2, {
2952
2759
  color: "inherit",
2953
2760
  target: "_blank",
2954
2761
  href: "https://xylabs.com/privacy/"
2955
- }, /* @__PURE__ */ React23.createElement(Typography7, {
2762
+ }, /* @__PURE__ */ React22.createElement(Typography6, {
2956
2763
  variant: "caption"
2957
- }, "Privacy")), " ", "\u2022", " ", /* @__PURE__ */ React23.createElement(LinkEx2, {
2764
+ }, "Privacy")), " ", "\u2022", " ", /* @__PURE__ */ React22.createElement(LinkEx2, {
2958
2765
  color: "inherit",
2959
2766
  target: "_blank",
2960
2767
  href: "https://xylabs.com/terms/"
2961
- }, /* @__PURE__ */ React23.createElement(Typography7, {
2768
+ }, /* @__PURE__ */ React22.createElement(Typography6, {
2962
2769
  variant: "caption"
2963
- }, "Terms")), " ", "\u2022", " ", /* @__PURE__ */ React23.createElement(LinkEx2, {
2770
+ }, "Terms")), " ", "\u2022", " ", /* @__PURE__ */ React22.createElement(LinkEx2, {
2964
2771
  color: "inherit",
2965
2772
  target: "_blank",
2966
2773
  href: "https://xyo.network/"
2967
- }, /* @__PURE__ */ React23.createElement(Typography7, {
2774
+ }, /* @__PURE__ */ React22.createElement(Typography6, {
2968
2775
  variant: "caption"
2969
2776
  }, "XYO Website"))))));
2970
2777
  }, "BottomMenuArea");
2971
2778
 
2972
2779
  // src/modules/Dapp/modules/Window/menu/StyledListItems.tsx
2973
- import { ListItemButton, styled as styled4 } from "@mui/material";
2974
- var StyledMenuIconWrapSpan = styled4("span", {
2780
+ import { ListItemButton, styled as styled3 } from "@mui/material";
2781
+ var StyledMenuIconWrapSpan = styled3("span", {
2975
2782
  name: "StyledMenuIconWrapSpan"
2976
2783
  })(() => ({
2977
2784
  alignItems: "center",
2978
2785
  display: "inline-flex",
2979
2786
  flexDirection: "column"
2980
2787
  }));
2981
- var StyledListItemButton = styled4(ListItemButton, {
2788
+ var StyledListItemButton = styled3(ListItemButton, {
2982
2789
  name: "StyledListItemButton"
2983
2790
  })(({ theme, active }) => {
2984
2791
  const activeOrHoverColor = theme.palette.primary.main;
@@ -3007,12 +2814,12 @@ var StyledListItemButton = styled4(ListItemButton, {
3007
2814
 
3008
2815
  // src/modules/Dapp/modules/Window/menu/Drawer.tsx
3009
2816
  var DappMenuDrawer = /* @__PURE__ */ __name(({ activePath, context, iconSvg, name, menuConfig, menuItems, onPathChange, version, ...props }) => {
3010
- const [path, setPath] = useState17("");
2817
+ const [path, setPath] = useState15("");
3011
2818
  const { darkMode } = useColorSchemeEx2();
3012
2819
  const theme = useTheme7();
3013
2820
  const drawerColor = darkMode ? theme.palette.background.paper : darken(theme.palette.primary.main, 0.5);
3014
2821
  const activeColor = theme.palette.primary.light;
3015
- useEffect17(() => {
2822
+ useEffect16(() => {
3016
2823
  if (menuConfig?.defaultPath && menuItems && activePath) {
3017
2824
  const newPath = menuItems.find((item) => activePath === item.path)?.path ?? "";
3018
2825
  setPath(newPath);
@@ -3030,7 +2837,7 @@ var DappMenuDrawer = /* @__PURE__ */ __name(({ activePath, context, iconSvg, nam
3030
2837
  onPathChange?.(to2);
3031
2838
  }, "handleChange");
3032
2839
  const { closeDebug, debugOpen, openDebug } = useDebugClick();
3033
- return /* @__PURE__ */ React24.createElement(Drawer, {
2840
+ return /* @__PURE__ */ React23.createElement(Drawer, {
3034
2841
  variant: "permanent",
3035
2842
  anchor: "left",
3036
2843
  PaperProps: {
@@ -3044,18 +2851,18 @@ var DappMenuDrawer = /* @__PURE__ */ __name(({ activePath, context, iconSvg, nam
3044
2851
  width: "280px"
3045
2852
  },
3046
2853
  ...props
3047
- }, /* @__PURE__ */ React24.createElement(FlexCol9, {
2854
+ }, /* @__PURE__ */ React23.createElement(FlexCol7, {
3048
2855
  alignItems: "stretch",
3049
2856
  justifyContent: "space-between",
3050
2857
  height: "100dvh"
3051
- }, /* @__PURE__ */ React24.createElement(FlexCol9, {
2858
+ }, /* @__PURE__ */ React23.createElement(FlexCol7, {
3052
2859
  alignItems: "stretch",
3053
2860
  justifyContent: "flex-start",
3054
2861
  flexGrow: 1,
3055
2862
  overflow: "auto"
3056
- }, /* @__PURE__ */ React24.createElement(Tooltip4, {
2863
+ }, /* @__PURE__ */ React23.createElement(Tooltip4, {
3057
2864
  title: version
3058
- }, /* @__PURE__ */ React24.createElement(FlexGrowRow5, {
2865
+ }, /* @__PURE__ */ React23.createElement(FlexGrowRow5, {
3059
2866
  id: "dapp-name-and-icon",
3060
2867
  padding: 2,
3061
2868
  justifyContent: "flex-start",
@@ -3066,31 +2873,31 @@ var DappMenuDrawer = /* @__PURE__ */ __name(({ activePath, context, iconSvg, nam
3066
2873
  flexGrow: 0
3067
2874
  }, iconSvg ? RenderHtml({
3068
2875
  htmlString: iconSvg
3069
- }) : null, /* @__PURE__ */ React24.createElement(Typography8, {
2876
+ }) : null, /* @__PURE__ */ React23.createElement(Typography7, {
3070
2877
  noWrap: true,
3071
2878
  variant: "h6",
3072
2879
  letterSpacing: "-1px"
3073
- }, name))), /* @__PURE__ */ React24.createElement(DebugDialogWithNode, {
2880
+ }, name))), /* @__PURE__ */ React23.createElement(DebugDialogWithNode, {
3074
2881
  closeDebug,
3075
2882
  debugOpen,
3076
2883
  context
3077
- }), /* @__PURE__ */ React24.createElement(List, {
2884
+ }), /* @__PURE__ */ React23.createElement(List, {
3078
2885
  sx: {
3079
2886
  p: 0,
3080
2887
  overflow: "auto"
3081
2888
  }
3082
- }, menuItems?.map(({ svgIcon: icon, primaryText, path: pathFromPayload }) => /* @__PURE__ */ React24.createElement(ListItem, {
2889
+ }, menuItems?.map(({ svgIcon: icon, primaryText, path: pathFromPayload }) => /* @__PURE__ */ React23.createElement(ListItem, {
3083
2890
  key: primaryText,
3084
2891
  disablePadding: true,
3085
2892
  sx: {
3086
2893
  paddingBottom: 1
3087
2894
  }
3088
- }, /* @__PURE__ */ React24.createElement(StyledListItemButton, {
2895
+ }, /* @__PURE__ */ React23.createElement(StyledListItemButton, {
3089
2896
  onClick: /* @__PURE__ */ __name(() => handleChange(pathFromPayload), "onClick"),
3090
2897
  active: pathFromPayload === path,
3091
2898
  disableRipple: true,
3092
2899
  disableTouchRipple: true
3093
- }, /* @__PURE__ */ React24.createElement(FlexRow8, {
2900
+ }, /* @__PURE__ */ React23.createElement(FlexRow8, {
3094
2901
  flexGrow: 1,
3095
2902
  paddingX: 2,
3096
2903
  paddingY: 0.5,
@@ -3100,18 +2907,18 @@ var DappMenuDrawer = /* @__PURE__ */ __name(({ activePath, context, iconSvg, nam
3100
2907
  },
3101
2908
  "borderRadius": "10px"
3102
2909
  }
3103
- }, /* @__PURE__ */ React24.createElement(ListItemIcon, {
2910
+ }, /* @__PURE__ */ React23.createElement(ListItemIcon, {
3104
2911
  sx: {
3105
2912
  color: pathFromPayload === path ? activeColor : alpha4("#fff", 0.3),
3106
2913
  justifyContent: "center"
3107
2914
  }
3108
- }, /* @__PURE__ */ React24.createElement(StyledMenuIconWrapSpan, {
2915
+ }, /* @__PURE__ */ React23.createElement(StyledMenuIconWrapSpan, {
3109
2916
  ref: /* @__PURE__ */ __name((ref) => {
3110
2917
  if (ref) {
3111
2918
  ref.innerHTML = icon ?? "";
3112
2919
  }
3113
2920
  }, "ref")
3114
- })), /* @__PURE__ */ React24.createElement(ListItemText, {
2921
+ })), /* @__PURE__ */ React23.createElement(ListItemText, {
3115
2922
  primaryTypographyProps: {
3116
2923
  fontWeight: path === pathFromPayload ? "bold" : "inherit",
3117
2924
  color: pathFromPayload === path ? "inherit" : alpha4(theme.palette.text.primary, 0.5)
@@ -3120,75 +2927,290 @@ var DappMenuDrawer = /* @__PURE__ */ __name(({ activePath, context, iconSvg, nam
3120
2927
  style: {
3121
2928
  opacity: pathFromPayload === path ? 1 : 0.5
3122
2929
  }
3123
- }))))))), /* @__PURE__ */ React24.createElement(BottomMenuArea, {
2930
+ }))))))), /* @__PURE__ */ React23.createElement(BottomMenuArea, {
3124
2931
  openDebug,
3125
2932
  backgroundColor: theme.palette.primary.dark
3126
2933
  })));
3127
2934
  }, "DappMenuDrawer");
3128
2935
 
3129
- // src/modules/Dapp/modules/Window/DappWindow.tsx
3130
- var DappWindow = /* @__PURE__ */ __name(({ context, dappSet, dappState, dappWallet, errors, nodeCreateError }) => {
3131
- const { DappComponent, name, scrollable = true, version } = decomposeDappSet(dappSet);
2936
+ // src/modules/Dapp/modules/Window/Rendered.tsx
2937
+ import { ErrorRender as ErrorRender4 } from "@xylabs/react-error";
2938
+ import { FlexCol as FlexCol10 } from "@xylabs/react-flexbox";
2939
+ import { NameTransforms as NameTransforms5 } from "@xyo-network/os-runtime";
2940
+ import { NodeProvider as NodeProvider2 } from "@xyo-network/react-node";
2941
+ import { WalletProvider } from "@xyo-network/react-wallet";
2942
+ import React27 from "react";
2943
+
2944
+ // src/modules/XyOsUi/contexts/XyOsUiContext.ts
2945
+ import { createContext, useContext } from "react";
2946
+ var XyOsUiContext = createContext(void 0);
2947
+ var useXyOsUiContext = /* @__PURE__ */ __name(() => {
2948
+ return useContext(XyOsUiContext);
2949
+ }, "useXyOsUiContext");
2950
+ var XyOsUiContextProvider = XyOsUiContext.Provider;
2951
+
2952
+ // src/modules/XyOsUi/lib/XyOsUi.ts
2953
+ import { forget } from "@xylabs/forget";
2954
+ import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/module-factory-locator";
2955
+ import { dappsReadyConnection, XyOs } from "@xyo-network/os-runtime";
2956
+ var XyOsUi = class extends XyOs {
2957
+ static {
2958
+ __name(this, "XyOsUi");
2959
+ }
2960
+ dappRegistrationResults = {
2961
+ failed: [],
2962
+ succeeded: []
2963
+ };
2964
+ dappsReadyConnection = dappsReadyConnection();
2965
+ constructor(params) {
2966
+ super(params);
2967
+ this.eventBus.addConnection(this.dappsReadyConnection);
2968
+ }
2969
+ static get monitoring() {
2970
+ return new XyOsBrowserMonitor();
2971
+ }
2972
+ static get xyOsUiGlobal() {
2973
+ return XyOs.xyOsGlobal;
2974
+ }
2975
+ static hideSplash() {
2976
+ this.xyOsUiGlobal.splashScreen.hideSplash();
2977
+ this.xyOsUiGlobal.splashScreen.onComplete();
2978
+ this.setSplashStatus("complete");
2979
+ }
2980
+ static setSplashStatus(status) {
2981
+ const statusText = this.xyOsUiGlobal.splashScreen._LOADING_MESSAGES[status];
2982
+ this.xyOsUiGlobal.splashScreen.setStatusText(statusText);
2983
+ }
2984
+ async boot(wallet, locator = new ModuleFactoryLocator2()) {
2985
+ await super.boot(wallet, locator);
2986
+ const registerLazy = /* @__PURE__ */ __name(async () => {
2987
+ this.dappRegistrationResults = await this.dappRegistrationService.start();
2988
+ await this.dappsReadyConnection.emit("dappsReady", {});
2989
+ }, "registerLazy");
2990
+ forget(registerLazy());
2991
+ return this;
2992
+ }
2993
+ };
2994
+
2995
+ // src/modules/Dapp/modules/Window/LoadingFlexbox.tsx
2996
+ import { Fade, styled as styled4, Typography as Typography8 } from "@mui/material";
2997
+ import { FlexCol as FlexCol9 } from "@xylabs/react-flexbox";
2998
+ import React26, { useEffect as useEffect17, useState as useState17 } from "react";
2999
+
3000
+ // src/modules/LoadingOsLogo/LoadingOsLogo.tsx
3001
+ import { FlexCol as FlexCol8 } from "@xylabs/react-flexbox";
3002
+ import React24, { useState as useState16 } from "react";
3003
+
3004
+ // src/modules/LoadingOsLogo/img/index.ts
3005
+ import { default as default20 } from "./xyoOS-Icon-2Q4XCUPP.svg";
3006
+
3007
+ // src/modules/LoadingOsLogo/LoadingOsLogo.tsx
3008
+ var LoadingOsLogo = /* @__PURE__ */ __name(({ widthInPixels, busy, spinsPerSecond = 0.5, ...props }) => {
3009
+ const [imageLoaded, setImageLoaded] = useState16(false);
3010
+ if (!imageLoaded) {
3011
+ const img = new Image();
3012
+ img.addEventListener("load", () => setImageLoaded(true));
3013
+ img.src = default20;
3014
+ }
3015
+ return imageLoaded ? /* @__PURE__ */ React24.createElement(FlexCol8, {
3016
+ sx: {
3017
+ "@keyframes fadeOut": {
3018
+ "0%": {
3019
+ opacity: 1
3020
+ },
3021
+ "100%": {
3022
+ opacity: 0.1
3023
+ },
3024
+ "35%": {
3025
+ opacity: 1
3026
+ }
3027
+ },
3028
+ "animation": busy ? "fadeOut linear" : void 0,
3029
+ "animationDuration": "1500ms",
3030
+ "animationFillMode": "both"
3031
+ },
3032
+ ...props
3033
+ }, /* @__PURE__ */ React24.createElement(FlexCol8, {
3034
+ sx: {
3035
+ "@keyframes spin": {
3036
+ "0%": {
3037
+ transform: "rotate(360deg)"
3038
+ },
3039
+ "100%": {
3040
+ transform: "rotate(0deg)"
3041
+ }
3042
+ },
3043
+ "animation": busy ? `spin ${1 / spinsPerSecond}s linear infinite` : void 0,
3044
+ "animationDirection": "reverse"
3045
+ },
3046
+ ...props
3047
+ }, /* @__PURE__ */ React24.createElement("img", {
3048
+ src: default20,
3049
+ height: widthInPixels ?? 22
3050
+ }))) : null;
3051
+ }, "LoadingOsLogo");
3052
+
3053
+ // src/modules/Dapp/modules/Window/Trail.tsx
3054
+ import { a, useTrail } from "@react-spring/web";
3055
+ import React25 from "react";
3056
+ var TextTrail = /* @__PURE__ */ __name(({ open, children }) => {
3057
+ const items = React25.Children.toArray(children);
3058
+ const trail = useTrail(items.length, {
3059
+ config: {
3060
+ friction: 200,
3061
+ mass: 5,
3062
+ tension: 2e3
3063
+ },
3064
+ from: {
3065
+ height: "auto",
3066
+ opacity: 0,
3067
+ y: 20
3068
+ },
3069
+ height: "auto",
3070
+ opacity: open ? 1 : 0,
3071
+ y: open ? 0 : 60
3072
+ });
3073
+ return /* @__PURE__ */ React25.createElement("div", null, trail.map(({ height, ...style }, index) => /* @__PURE__ */ React25.createElement(a.div, {
3074
+ key: index,
3075
+ style
3076
+ }, /* @__PURE__ */ React25.createElement(a.div, {
3077
+ style: {
3078
+ height
3079
+ }
3080
+ }, items[index]))));
3081
+ }, "TextTrail");
3082
+
3083
+ // src/modules/Dapp/modules/Window/LoadingFlexbox.tsx
3084
+ var DappLoadingFlexbox = /* @__PURE__ */ __name(({ minimize, open, name, ...props }) => {
3085
+ const [fadeIn, setFadeIn] = useState17(!open);
3086
+ const [trail, setTrail] = useState17(false);
3087
+ const skipLoadingScreen = useSkipLoadingScreen();
3088
+ useEffect17(() => {
3089
+ if (open) {
3090
+ if (skipLoadingScreen) {
3091
+ setFadeIn(false);
3092
+ return;
3093
+ }
3094
+ const fadeInTimeout = setTimeout(() => {
3095
+ setFadeIn(false);
3096
+ }, 2e3);
3097
+ let trailTimeout = setTimeout(() => {
3098
+ setTrail(true);
3099
+ trailTimeout = setTimeout(() => {
3100
+ setTrail(false);
3101
+ }, 4e3);
3102
+ }, 300);
3103
+ return () => {
3104
+ clearTimeout(fadeInTimeout);
3105
+ clearTimeout(trailTimeout);
3106
+ };
3107
+ }
3108
+ if (!minimize) {
3109
+ setFadeIn(true);
3110
+ }
3111
+ }, [
3112
+ minimize,
3113
+ open,
3114
+ skipLoadingScreen
3115
+ ]);
3116
+ return /* @__PURE__ */ React26.createElement(Fade, {
3117
+ in: fadeIn,
3118
+ unmountOnExit: true
3119
+ }, /* @__PURE__ */ React26.createElement(StyledSplashContainer, props, /* @__PURE__ */ React26.createElement(LoadingOsLogo, {
3120
+ widthInPixels: 100,
3121
+ busy: true,
3122
+ position: "absolute"
3123
+ }), /* @__PURE__ */ React26.createElement(TextTrail, {
3124
+ open: trail,
3125
+ flexDirection: "row"
3126
+ }, /* @__PURE__ */ React26.createElement(Typography8, {
3127
+ textAlign: "center",
3128
+ sx: {
3129
+ fontSize: {
3130
+ md: "3em",
3131
+ xs: "2em"
3132
+ }
3133
+ }
3134
+ }, "Loading"), /* @__PURE__ */ React26.createElement(Typography8, {
3135
+ textAlign: "center",
3136
+ sx: {
3137
+ fontSize: {
3138
+ md: "3em",
3139
+ xs: "2em"
3140
+ }
3141
+ }
3142
+ }, name), /* @__PURE__ */ React26.createElement(Typography8, {
3143
+ textAlign: "center",
3144
+ sx: {
3145
+ fontSize: {
3146
+ md: "3em",
3147
+ xs: "2em"
3148
+ }
3149
+ }
3150
+ }, "dApp"))));
3151
+ }, "DappLoadingFlexbox");
3152
+ var StyledSplashContainer = styled4(FlexCol9, {
3153
+ name: "StyledSplashContainer"
3154
+ })(({ theme }) => {
3155
+ return {
3156
+ background: theme.palette.background.default,
3157
+ color: theme.palette.text.primary,
3158
+ gap: theme.spacing(1),
3159
+ height: "100%",
3160
+ left: 0,
3161
+ position: "absolute",
3162
+ top: 0,
3163
+ width: "100%",
3164
+ zIndex: 999
3165
+ };
3166
+ });
3167
+
3168
+ // src/modules/Dapp/modules/Window/Rendered.tsx
3169
+ var DappRendered = /* @__PURE__ */ __name(({ context, dapp, dappMenuProperties, dappState, dappWallet, errors }) => {
3170
+ const { DappComponent, name, scrollable = true, version } = useDecomposeDapp(dapp);
3132
3171
  const { active, minimized } = dappState ?? {};
3133
- const TypedDappComponent = useMemo12(() => DappComponent, []);
3134
- useSyncOsRegisteredAccessInterfaces(context);
3135
- const routingError = useManageDappPathFromRoute(context, name);
3136
- const injectableErrors = useManageDappInjectableParamsFromRoute(context);
3137
- const { activePath, error: menuError, menuConfig, menuItemsVisible, onPathChange } = useDappMenu(context, name);
3138
- const resolvedErrors = [
3139
- ...injectableErrors,
3140
- routingError,
3141
- nodeCreateError,
3142
- menuError,
3143
- ...errors ?? []
3144
- ].filter(Boolean);
3145
- const hasErrors = resolvedErrors.length > 0;
3146
- return /* @__PURE__ */ React25.createElement(React25.Fragment, null, active ? /* @__PURE__ */ React25.createElement(Helmet, null, /* @__PURE__ */ React25.createElement("title", null, activePath ? `${new NameTransforms4(activePath).deSlug()} | ` : "", " ", name, " ", "dApp")) : null, /* @__PURE__ */ React25.createElement(ErrorBoundary, null, /* @__PURE__ */ React25.createElement(DappChrome, {
3147
- appBar: /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(DappBar, {
3172
+ const hasErrors = errors && errors.length > 0;
3173
+ return /* @__PURE__ */ React27.createElement(DappChrome, {
3174
+ /* Keep DappBar outside of the Dapp's Node Provider so it can still see the intentArchivist for close and minimize */
3175
+ appBar: /* @__PURE__ */ React27.createElement(DappBar, {
3148
3176
  context,
3149
3177
  name,
3150
3178
  version,
3151
- title: activePath ? new NameTransforms4(activePath).deSlug() : ""
3152
- })),
3179
+ title: dappMenuProperties?.activePath ? new NameTransforms5(dappMenuProperties.activePath).deSlug() : ""
3180
+ }),
3153
3181
  height: "100dvh",
3154
3182
  width: "100dvw",
3155
- largeScreenMenu: active && /* @__PURE__ */ React25.createElement(DappMenuDrawer, {
3183
+ largeScreenMenu: active && /* @__PURE__ */ React27.createElement(DappMenuDrawer, {
3156
3184
  context,
3157
3185
  name,
3158
3186
  version,
3159
- activePath,
3160
- onPathChange,
3161
- menuConfig,
3162
- menuItems: menuItemsVisible
3187
+ ...dappMenuProperties
3163
3188
  }),
3164
- smallScreenMenu: active && /* @__PURE__ */ React25.createElement(DappBottomNavigation, {
3165
- activePath,
3166
- onPathChange,
3167
- menuConfig,
3168
- menuItems: menuItemsVisible,
3189
+ smallScreenMenu: active && /* @__PURE__ */ React27.createElement(DappBottomNavigation, {
3190
+ ...dappMenuProperties,
3169
3191
  sx: {
3170
- display: menuConfig ? "flex" : "none"
3192
+ display: dappMenuProperties?.menuConfig ? "flex" : "none"
3171
3193
  }
3172
3194
  }),
3173
3195
  /* Ensure that loading goes away when error occurs */
3174
- splashScreen: hasErrors ? null : /* @__PURE__ */ React25.createElement(DappLoadingFlexbox, {
3196
+ splashScreen: hasErrors ? null : /* @__PURE__ */ React27.createElement(DappLoadingFlexbox, {
3175
3197
  minimize: !!minimized,
3176
3198
  name,
3177
3199
  open: !!active
3178
3200
  })
3179
- }, hasErrors ? /* @__PURE__ */ React25.createElement(FlexCol10, {
3201
+ }, hasErrors ? /* @__PURE__ */ React27.createElement(FlexCol10, {
3180
3202
  padding: 2
3181
- }, resolvedErrors?.map((error) => /* @__PURE__ */ React25.createElement(ErrorRender3, {
3203
+ }, errors?.map((error) => /* @__PURE__ */ React27.createElement(ErrorRender4, {
3182
3204
  key: error?.message,
3183
3205
  error,
3184
3206
  scope: "DappWindow"
3185
- }))) : null, /* @__PURE__ */ React25.createElement(WalletProvider, {
3207
+ }))) : null, /* @__PURE__ */ React27.createElement(WalletProvider, {
3186
3208
  rootWallet: dappWallet
3187
- }, context === null ? null : /* @__PURE__ */ React25.createElement(XyOsUiContextProvider, {
3209
+ }, context === null ? null : /* @__PURE__ */ React27.createElement(XyOsUiContextProvider, {
3188
3210
  value: context
3189
- }, /* @__PURE__ */ React25.createElement(NodeProvider2, {
3211
+ }, /* @__PURE__ */ React27.createElement(NodeProvider2, {
3190
3212
  node: context?.root
3191
- }, active ? /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(FlexCol10, {
3213
+ }, active ? /* @__PURE__ */ React27.createElement(React27.Fragment, null, /* @__PURE__ */ React27.createElement(FlexCol10, {
3192
3214
  position: "absolute",
3193
3215
  top: 0,
3194
3216
  left: 0,
@@ -3199,12 +3221,12 @@ var DappWindow = /* @__PURE__ */ __name(({ context, dappSet, dappState, dappWall
3199
3221
  sx: {
3200
3222
  overflowY: scrollable ? "auto" : "hidden"
3201
3223
  }
3202
- }, /* @__PURE__ */ React25.createElement(TypedDappComponent, {
3203
- name
3204
- })), /* @__PURE__ */ React25.createElement(DappAccessFlexbox, {
3224
+ }, /* @__PURE__ */ React27.createElement(DappComponent, {
3225
+ name: dapp?.config.name
3226
+ })), /* @__PURE__ */ React27.createElement(DappAccessFlexbox, {
3205
3227
  context
3206
- })) : null))))));
3207
- }, "DappWindow");
3228
+ })) : null))));
3229
+ }, "DappRendered");
3208
3230
 
3209
3231
  // src/modules/Dapp/Container.tsx
3210
3232
  var DappContainer = /* @__PURE__ */ __name(({ currentIntent, dappSet, xnsNodeUrl, xnsNetwork }) => {
@@ -3218,28 +3240,43 @@ var DappContainer = /* @__PURE__ */ __name(({ currentIntent, dappSet, xnsNodeUrl
3218
3240
  currentIntent,
3219
3241
  dapp
3220
3242
  ]);
3221
- return /* @__PURE__ */ React26.createElement(DappIconButton, {
3243
+ const { error: menuError, ...dappMenuProperties } = useDappMenu(context, dapp?.config.name);
3244
+ const errors = useMemo13(() => [
3245
+ nodeCreateError,
3246
+ menuError
3247
+ ].filter(Boolean), [
3248
+ nodeCreateError
3249
+ ]);
3250
+ const dappWindowProps = useMemo13(() => ({
3251
+ context,
3252
+ dapp,
3253
+ dappMenuProperties,
3254
+ dappState,
3255
+ dappWallet,
3256
+ errors
3257
+ }), [
3258
+ context,
3259
+ dapp,
3260
+ dappMenuProperties,
3261
+ dappState,
3262
+ dappWallet,
3263
+ errors
3264
+ ]);
3265
+ return /* @__PURE__ */ React28.createElement(DappIconButton, {
3222
3266
  dappIcon,
3223
3267
  dappIconSvg: dapp.params.iconSvg,
3224
3268
  dappName: dapp?.config.name,
3225
3269
  dappState
3226
- }, /* @__PURE__ */ React26.createElement(DappWindow, {
3227
- context,
3228
- dappSet,
3229
- dappState,
3230
- dappWallet,
3231
- intent: currentIntent,
3232
- nodeCreateError
3233
- }));
3270
+ }, /* @__PURE__ */ React28.createElement(DappWindow, dappWindowProps, /* @__PURE__ */ React28.createElement(DappRendered, dappWindowProps)));
3234
3271
  }, "DappContainer");
3235
3272
  var DappContainerMemo = /* @__PURE__ */ memo(DappContainer);
3236
3273
 
3237
3274
  // src/modules/Dapp/ContainerFlexbox.tsx
3238
3275
  import { Container as Container2 } from "@mui/material";
3239
3276
  import { FlexCol as FlexCol11 } from "@xylabs/react-flexbox";
3240
- import React27 from "react";
3277
+ import React29 from "react";
3241
3278
  var ContainerFlexbox = /* @__PURE__ */ __name(({ children, containerProps, scrollable = true, ...props }) => {
3242
- return /* @__PURE__ */ React27.createElement(FlexCol11, {
3279
+ return /* @__PURE__ */ React29.createElement(FlexCol11, {
3243
3280
  id: "container-flexbox",
3244
3281
  alignItems: "center",
3245
3282
  justifyContent: "start",
@@ -3248,24 +3285,24 @@ var ContainerFlexbox = /* @__PURE__ */ __name(({ children, containerProps, scrol
3248
3285
  gap: 2,
3249
3286
  overflow: scrollable ? "auto" : "unset",
3250
3287
  ...props
3251
- }, /* @__PURE__ */ React27.createElement(Container2, containerProps, children));
3288
+ }, /* @__PURE__ */ React29.createElement(Container2, containerProps, children));
3252
3289
  }, "ContainerFlexbox");
3253
3290
 
3254
3291
  // src/modules/Dapp/Page/Row.tsx
3255
3292
  import { Divider as Divider4, Fade as Fade2, styled as styled5 } from "@mui/material";
3256
- import React29, { useMemo as useMemo14 } from "react";
3293
+ import React31, { useMemo as useMemo14 } from "react";
3257
3294
 
3258
3295
  // src/modules/Dapp/Page/DividerChip.tsx
3259
3296
  import { Chip as Chip2, CircularProgress } from "@mui/material";
3260
- import React28 from "react";
3297
+ import React30 from "react";
3261
3298
  var DividerChip = /* @__PURE__ */ __name(({ registeredDapps, ...props }) => {
3262
- return /* @__PURE__ */ React28.createElement(Chip2, {
3263
- avatar: registeredDapps === void 0 ? /* @__PURE__ */ React28.createElement("span", null, /* @__PURE__ */ React28.createElement(CircularProgress, {
3299
+ return /* @__PURE__ */ React30.createElement(Chip2, {
3300
+ avatar: registeredDapps === void 0 ? /* @__PURE__ */ React30.createElement("span", null, /* @__PURE__ */ React30.createElement(CircularProgress, {
3264
3301
  size: "small",
3265
3302
  sx: {
3266
3303
  display: "inline"
3267
3304
  }
3268
- })) : /* @__PURE__ */ React28.createElement(React28.Fragment, null),
3305
+ })) : /* @__PURE__ */ React30.createElement(React30.Fragment, null),
3269
3306
  label: `${registeredDapps?.length ? "" : "Loading "}Beta dApps`,
3270
3307
  size: "small",
3271
3308
  sx: {
@@ -3281,19 +3318,19 @@ var DappsRow = /* @__PURE__ */ __name(({ chipLabel, currentIntent, installType,
3281
3318
  installType,
3282
3319
  registeredDappsSet
3283
3320
  ]);
3284
- return /* @__PURE__ */ React29.createElement(React29.Fragment, null, /* @__PURE__ */ React29.createElement(Divider4, {
3321
+ return /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(Divider4, {
3285
3322
  variant: "middle",
3286
3323
  sx: {
3287
3324
  marginY: 3
3288
3325
  },
3289
3326
  flexItem: true
3290
- }, /* @__PURE__ */ React29.createElement(DividerChip, {
3327
+ }, /* @__PURE__ */ React31.createElement(DividerChip, {
3291
3328
  label: `${filteredRegisteredDappSets === void 0 ? "Loading " : ""}${chipLabel}`,
3292
3329
  registeredDapps: filteredRegisteredDappSets
3293
- })), filteredRegisteredDappSets?.length ? /* @__PURE__ */ React29.createElement(Fade2, {
3330
+ })), filteredRegisteredDappSets?.length ? /* @__PURE__ */ React31.createElement(Fade2, {
3294
3331
  in: !!filteredRegisteredDappSets?.length,
3295
3332
  timeout: 1e3
3296
- }, /* @__PURE__ */ React29.createElement(StyledGridContainer, null, filteredRegisteredDappSets?.map((dappSet) => /* @__PURE__ */ React29.createElement(DappContainerMemo, {
3333
+ }, /* @__PURE__ */ React31.createElement(StyledGridContainer, null, filteredRegisteredDappSets?.map((dappSet) => /* @__PURE__ */ React31.createElement(DappContainerMemo, {
3297
3334
  currentIntent,
3298
3335
  key: dappSet.dapp.config.name,
3299
3336
  dappSet,
@@ -3317,7 +3354,7 @@ var StyledGridContainer = styled5("div", {
3317
3354
  import { SignalCellularAltOutlined } from "@mui/icons-material";
3318
3355
  import { Tooltip as Tooltip5, useTheme as useTheme8 } from "@mui/material";
3319
3356
  import { useColorSchemeEx as useColorSchemeEx3 } from "@xylabs/react-invertible-theme";
3320
- import React30, { useMemo as useMemo17 } from "react";
3357
+ import React32, { useMemo as useMemo17 } from "react";
3321
3358
 
3322
3359
  // src/modules/network/hooks/useOsNetwork.tsx
3323
3360
  import { OsPubSubNetworkReadyEvent } from "@xyo-network/os-runtime";
@@ -3433,9 +3470,9 @@ var StyledNetworkLoadingIndicator = styled6("div", {
3433
3470
  }));
3434
3471
 
3435
3472
  // src/modules/network/components/LoadingIndicator.tsx
3436
- var WaitingForNetwork = /* @__PURE__ */ __name(() => /* @__PURE__ */ React30.createElement(Tooltip5, {
3473
+ var WaitingForNetwork = /* @__PURE__ */ __name(() => /* @__PURE__ */ React32.createElement(Tooltip5, {
3437
3474
  title: "Waiting for Network initialization"
3438
- }, /* @__PURE__ */ React30.createElement(StyledNetworkLoadingIndicator, null)), "WaitingForNetwork");
3475
+ }, /* @__PURE__ */ React32.createElement(StyledNetworkLoadingIndicator, null)), "WaitingForNetwork");
3439
3476
  var NetworkLoadingIndicator = /* @__PURE__ */ __name(({ highContrast }) => {
3440
3477
  const { darkMode } = useColorSchemeEx3();
3441
3478
  const theme = useTheme8();
@@ -3447,15 +3484,15 @@ var NetworkLoadingIndicator = /* @__PURE__ */ __name(({ highContrast }) => {
3447
3484
  const NetworkComponent = useMemo17(() => {
3448
3485
  if (networkReady) {
3449
3486
  const connectionReady = true;
3450
- return connectionReady ? () => /* @__PURE__ */ React30.createElement(Tooltip5, {
3487
+ return connectionReady ? () => /* @__PURE__ */ React32.createElement(Tooltip5, {
3451
3488
  title: "Connected to Network"
3452
- }, /* @__PURE__ */ React30.createElement(SignalCellularAltOutlined, {
3489
+ }, /* @__PURE__ */ React32.createElement(SignalCellularAltOutlined, {
3453
3490
  sx: {
3454
3491
  color: successColor
3455
3492
  }
3456
- })) : () => /* @__PURE__ */ React30.createElement(Tooltip5, {
3493
+ })) : () => /* @__PURE__ */ React32.createElement(Tooltip5, {
3457
3494
  title: "Error Connecting to Network"
3458
- }, /* @__PURE__ */ React30.createElement(SignalCellularAltOutlined, {
3495
+ }, /* @__PURE__ */ React32.createElement(SignalCellularAltOutlined, {
3459
3496
  sx: {
3460
3497
  color: errorColor
3461
3498
  }
@@ -3468,18 +3505,18 @@ var NetworkLoadingIndicator = /* @__PURE__ */ __name(({ highContrast }) => {
3468
3505
  networkReady,
3469
3506
  successColor
3470
3507
  ]);
3471
- return /* @__PURE__ */ React30.createElement(NetworkComponent, null);
3508
+ return /* @__PURE__ */ React32.createElement(NetworkComponent, null);
3472
3509
  }, "NetworkLoadingIndicator");
3473
3510
 
3474
3511
  // src/modules/network/components/NetworkButton.tsx
3475
3512
  import { NotInterested } from "@mui/icons-material";
3476
3513
  import { Button as Button2 } from "@mui/material";
3477
- import React31 from "react";
3514
+ import React33 from "react";
3478
3515
  var NetworkButton = /* @__PURE__ */ __name(({ disabled, startIcon, ...props }) => {
3479
3516
  const { networkReady } = useOsNetwork();
3480
- return /* @__PURE__ */ React31.createElement(Button2, {
3517
+ return /* @__PURE__ */ React33.createElement(Button2, {
3481
3518
  disabled: disabled || !networkReady,
3482
- startIcon: /* @__PURE__ */ React31.createElement(React31.Fragment, null, startIcon, networkReady === false ? /* @__PURE__ */ React31.createElement(NotInterested, null) : null),
3519
+ startIcon: /* @__PURE__ */ React33.createElement(React33.Fragment, null, startIcon, networkReady === false ? /* @__PURE__ */ React33.createElement(NotInterested, null) : null),
3483
3520
  ...props
3484
3521
  });
3485
3522
  }, "NetworkButton");
@@ -3487,35 +3524,35 @@ var NetworkButton = /* @__PURE__ */ __name(({ disabled, startIcon, ...props }) =
3487
3524
  // src/modules/network/components/NetworkReady.tsx
3488
3525
  import { Typography as Typography9 } from "@mui/material";
3489
3526
  import { FlexCol as FlexCol12 } from "@xylabs/react-flexbox";
3490
- import React32 from "react";
3527
+ import React34 from "react";
3491
3528
  var NetworkReadyFlexBox = /* @__PURE__ */ __name(({ children, skipCheck, ...props }) => {
3492
3529
  const { networkReady } = useOsNetwork();
3493
- return /* @__PURE__ */ React32.createElement(React32.Fragment, null, networkReady || skipCheck ? children : /* @__PURE__ */ React32.createElement(FlexCol12, {
3530
+ return /* @__PURE__ */ React34.createElement(React34.Fragment, null, networkReady || skipCheck ? children : /* @__PURE__ */ React34.createElement(FlexCol12, {
3494
3531
  height: "100%",
3495
3532
  ...props
3496
- }, /* @__PURE__ */ React32.createElement(LoadingOsLogo, {
3533
+ }, /* @__PURE__ */ React34.createElement(LoadingOsLogo, {
3497
3534
  widthInPixels: 100,
3498
3535
  busy: true
3499
- }), /* @__PURE__ */ React32.createElement(Typography9, {
3536
+ }), /* @__PURE__ */ React34.createElement(Typography9, {
3500
3537
  fontFamily: "monospace"
3501
3538
  }, "Loading XYO Name Service...")));
3502
3539
  }, "NetworkReadyFlexBox");
3503
3540
 
3504
3541
  // src/DappPage.tsx
3505
3542
  var DappTitle = /* @__PURE__ */ __name(({ subtitle, title, ...props }) => {
3506
- return title ? /* @__PURE__ */ React33.createElement(FlexCol13, {
3543
+ return title ? /* @__PURE__ */ React35.createElement(FlexCol13, {
3507
3544
  alignItems: "flex-start",
3508
3545
  gap: 1,
3509
3546
  ...props
3510
- }, /* @__PURE__ */ React33.createElement(Typography10, {
3547
+ }, /* @__PURE__ */ React35.createElement(Typography10, {
3511
3548
  variant: "h3"
3512
- }, /* @__PURE__ */ React33.createElement("b", null, title)), /* @__PURE__ */ React33.createElement(Typography10, {
3549
+ }, /* @__PURE__ */ React35.createElement("b", null, title)), /* @__PURE__ */ React35.createElement(Typography10, {
3513
3550
  gutterBottom: true,
3514
3551
  variant: "subtitle2"
3515
3552
  }, subtitle)) : null;
3516
3553
  }, "DappTitle");
3517
3554
  var InnerDappPage = /* @__PURE__ */ __name(({ noScroll, children, subtitle, title, sx, ...props }) => {
3518
- return /* @__PURE__ */ React33.createElement(FlexCol13, {
3555
+ return /* @__PURE__ */ React35.createElement(FlexCol13, {
3519
3556
  id: "innerPage",
3520
3557
  sx: {
3521
3558
  margin: 2,
@@ -3525,26 +3562,26 @@ var InnerDappPage = /* @__PURE__ */ __name(({ noScroll, children, subtitle, titl
3525
3562
  alignItems: "stretch",
3526
3563
  justifyContent: "flex-start",
3527
3564
  ...props
3528
- }, title ? /* @__PURE__ */ React33.createElement(DappTitle, {
3565
+ }, title ? /* @__PURE__ */ React35.createElement(DappTitle, {
3529
3566
  subtitle,
3530
3567
  title,
3531
3568
  marginX: 1
3532
3569
  }) : null, children);
3533
3570
  }, "InnerDappPage");
3534
3571
  var DappPage = /* @__PURE__ */ __name(({ checkNetwork, noScroll, subtitle, title, container, rollbar, ...props }) => {
3535
- return /* @__PURE__ */ React33.createElement(ThrownErrorBoundary, {
3536
- errorComponent: /* @__PURE__ */ __name((error, boundaryName) => /* @__PURE__ */ React33.createElement(ErrorRenderWithSupportDefault, {
3572
+ return /* @__PURE__ */ React35.createElement(ThrownErrorBoundary, {
3573
+ errorComponent: /* @__PURE__ */ __name((error, boundaryName) => /* @__PURE__ */ React35.createElement(ErrorRenderWithSupportDefault, {
3537
3574
  scope: boundaryName,
3538
3575
  error
3539
3576
  }), "errorComponent"),
3540
3577
  rollbar,
3541
3578
  scope: "DappPage"
3542
- }, /* @__PURE__ */ React33.createElement(NetworkReadyFlexBox, {
3579
+ }, /* @__PURE__ */ React35.createElement(NetworkReadyFlexBox, {
3543
3580
  skipCheck: !checkNetwork
3544
- }, container ? /* @__PURE__ */ React33.createElement(Container3, {
3581
+ }, container ? /* @__PURE__ */ React35.createElement(Container3, {
3545
3582
  disableGutters: true,
3546
3583
  maxWidth: container === true ? "md" : container
3547
- }, noScroll ? /* @__PURE__ */ React33.createElement(FlexCol13, {
3584
+ }, noScroll ? /* @__PURE__ */ React35.createElement(FlexCol13, {
3548
3585
  sx: {
3549
3586
  position: "absolute",
3550
3587
  top: 0,
@@ -3552,23 +3589,23 @@ var DappPage = /* @__PURE__ */ __name(({ checkNetwork, noScroll, subtitle, title
3552
3589
  right: 0,
3553
3590
  bottom: 0
3554
3591
  }
3555
- }, /* @__PURE__ */ React33.createElement(InnerDappPage, {
3592
+ }, /* @__PURE__ */ React35.createElement(InnerDappPage, {
3556
3593
  noScroll,
3557
3594
  title,
3558
3595
  subtitle,
3559
3596
  ...props,
3560
3597
  flexGrow: 1
3561
- })) : /* @__PURE__ */ React33.createElement(FlexCol13, {
3598
+ })) : /* @__PURE__ */ React35.createElement(FlexCol13, {
3562
3599
  width: "100%",
3563
3600
  height: "100%",
3564
3601
  alignItems: "stretch"
3565
- }, /* @__PURE__ */ React33.createElement(InnerDappPage, {
3602
+ }, /* @__PURE__ */ React35.createElement(InnerDappPage, {
3566
3603
  noScroll,
3567
3604
  title,
3568
3605
  subtitle,
3569
3606
  ...props,
3570
3607
  flexGrow: 1
3571
- }))) : noScroll ? /* @__PURE__ */ React33.createElement(InnerDappPage, {
3608
+ }))) : noScroll ? /* @__PURE__ */ React35.createElement(InnerDappPage, {
3572
3609
  sx: {
3573
3610
  position: "absolute",
3574
3611
  top: 0,
@@ -3581,7 +3618,7 @@ var DappPage = /* @__PURE__ */ __name(({ checkNetwork, noScroll, subtitle, title
3581
3618
  subtitle,
3582
3619
  ...props,
3583
3620
  flexGrow: 1
3584
- }) : /* @__PURE__ */ React33.createElement(InnerDappPage, {
3621
+ }) : /* @__PURE__ */ React35.createElement(InnerDappPage, {
3585
3622
  noScroll,
3586
3623
  title,
3587
3624
  subtitle,
@@ -3593,13 +3630,13 @@ var DappPage = /* @__PURE__ */ __name(({ checkNetwork, noScroll, subtitle, title
3593
3630
  // src/components/Widgets/StackOfWidgets.tsx
3594
3631
  import { alpha as alpha7, Box as Box3, useTheme as useTheme10 } from "@mui/material";
3595
3632
  import { animated as animated2, to as interpolate, useSprings } from "@react-spring/web";
3596
- import React40, { useState as useState18 } from "react";
3633
+ import React42, { useState as useState18 } from "react";
3597
3634
  import { useDrag } from "react-use-gesture";
3598
3635
 
3599
3636
  // src/components/Widgets/Types/BarGraph/HorizontalBarGraph.tsx
3600
3637
  import { Typography as Typography11 } from "@mui/material";
3601
3638
  import { FlexCol as FlexCol14, FlexGrowRow as FlexGrowRow6 } from "@xylabs/react-flexbox";
3602
- import React34 from "react";
3639
+ import React36 from "react";
3603
3640
 
3604
3641
  // src/components/Widgets/Types/BarGraph/StyledLinearProgress.tsx
3605
3642
  import { alpha as alpha5, LinearProgress, styled as styled7 } from "@mui/material";
@@ -3657,25 +3694,25 @@ var HorizontalBarGraph = /* @__PURE__ */ __name(({ items = sampleData, ...props
3657
3694
  });
3658
3695
  console.log(itemsSortedByValue);
3659
3696
  const topValue = itemsSortedByValue[0].value;
3660
- return /* @__PURE__ */ React34.createElement(FlexCol14, {
3697
+ return /* @__PURE__ */ React36.createElement(FlexCol14, {
3661
3698
  alignItems: "stretch",
3662
3699
  gap: 0.5,
3663
3700
  ...props
3664
3701
  }, items.slice(0, 5).map((item, index) => (
3665
3702
  // eslint-disable-next-line @eslint-react/no-array-index-key
3666
- /* @__PURE__ */ React34.createElement(FlexCol14, {
3703
+ /* @__PURE__ */ React36.createElement(FlexCol14, {
3667
3704
  alignItems: "stretch",
3668
3705
  key: index
3669
- }, /* @__PURE__ */ React34.createElement(FlexGrowRow6, {
3706
+ }, /* @__PURE__ */ React36.createElement(FlexGrowRow6, {
3670
3707
  justifyContent: "space-between"
3671
- }, /* @__PURE__ */ React34.createElement(Typography11, {
3708
+ }, /* @__PURE__ */ React36.createElement(Typography11, {
3672
3709
  variant: "caption",
3673
3710
  maxWidth: "50%",
3674
3711
  noWrap: true
3675
- }, item.name), /* @__PURE__ */ React34.createElement(Typography11, {
3712
+ }, item.name), /* @__PURE__ */ React36.createElement(Typography11, {
3676
3713
  variant: "caption",
3677
3714
  maxWidth: "50%"
3678
- }, item.value)), /* @__PURE__ */ React34.createElement(StyledLinearProgress, {
3715
+ }, item.value)), /* @__PURE__ */ React36.createElement(StyledLinearProgress, {
3679
3716
  color: "primary",
3680
3717
  value: item.value / (topValue * 1.25) * 100,
3681
3718
  variant: "determinate"
@@ -3686,7 +3723,7 @@ var HorizontalBarGraph = /* @__PURE__ */ __name(({ items = sampleData, ...props
3686
3723
  // src/components/Widgets/Types/DataColumns/TwoColTwoStat.tsx
3687
3724
  import { Typography as Typography12, useTheme as useTheme9 } from "@mui/material";
3688
3725
  import { FlexCol as FlexCol15, FlexGrowRow as FlexGrowRow7 } from "@xylabs/react-flexbox";
3689
- import React35, { useEffect as useEffect18 } from "react";
3726
+ import React37, { useEffect as useEffect18 } from "react";
3690
3727
  var MAX_LENGTH = 2;
3691
3728
  var validateProps = /* @__PURE__ */ __name((props) => {
3692
3729
  if (props.length > MAX_LENGTH) {
@@ -3700,29 +3737,29 @@ var TwoColTwoStat = /* @__PURE__ */ __name(({ items, ...props }) => {
3700
3737
  }, [
3701
3738
  items
3702
3739
  ]);
3703
- return /* @__PURE__ */ React35.createElement(FlexGrowRow7, {
3740
+ return /* @__PURE__ */ React37.createElement(FlexGrowRow7, {
3704
3741
  gap: 2,
3705
3742
  ...props
3706
3743
  }, items.map((item, index) => (
3707
3744
  // eslint-disable-next-line @eslint-react/no-array-index-key
3708
- /* @__PURE__ */ React35.createElement(FlexCol15, {
3745
+ /* @__PURE__ */ React37.createElement(FlexCol15, {
3709
3746
  key: `stat-${index}-${item.unit}`,
3710
3747
  flexGrow: 1,
3711
3748
  alignItems: "start"
3712
- }, /* @__PURE__ */ React35.createElement(Typography12, {
3749
+ }, /* @__PURE__ */ React37.createElement(Typography12, {
3713
3750
  variant: "h2",
3714
3751
  fontWeight: theme.typography.fontWeightMedium
3715
- }, item.rawInsightValue), /* @__PURE__ */ React35.createElement(Typography12, {
3752
+ }, item.rawInsightValue), /* @__PURE__ */ React37.createElement(Typography12, {
3716
3753
  variant: "body2"
3717
3754
  }, item.subtitle))
3718
3755
  )));
3719
3756
  }, "TwoColTwoStat");
3720
3757
 
3721
3758
  // src/components/Widgets/Types/Examples/BarGraph.tsx
3722
- import React36 from "react";
3759
+ import React38 from "react";
3723
3760
  var ExampleBarGraphWidget = /* @__PURE__ */ __name(() => {
3724
- return /* @__PURE__ */ React36.createElement(WidgetCard, {
3725
- widgetContent: /* @__PURE__ */ React36.createElement(HorizontalBarGraph, null),
3761
+ return /* @__PURE__ */ React38.createElement(WidgetCard, {
3762
+ widgetContent: /* @__PURE__ */ React38.createElement(HorizontalBarGraph, null),
3726
3763
  widgetName: "Friend Locations",
3727
3764
  timeOfData: 1715713478,
3728
3765
  widgetPath: "/profile"
@@ -3730,13 +3767,13 @@ var ExampleBarGraphWidget = /* @__PURE__ */ __name(() => {
3730
3767
  }, "ExampleBarGraphWidget");
3731
3768
 
3732
3769
  // src/components/Widgets/Types/Examples/BooleanTable.tsx
3733
- import React38 from "react";
3770
+ import React40 from "react";
3734
3771
 
3735
3772
  // src/components/Widgets/Types/Tables/BooleanTable.tsx
3736
3773
  import { CircleRounded } from "@mui/icons-material";
3737
3774
  import { alpha as alpha6, Paper as Paper2, styled as styled8, TableRow, Typography as Typography13 } from "@mui/material";
3738
3775
  import { FlexCol as FlexCol16, FlexGrowRow as FlexGrowRow8, FlexRow as FlexRow9 } from "@xylabs/react-flexbox";
3739
- import React37 from "react";
3776
+ import React39 from "react";
3740
3777
  var sampleData2 = [
3741
3778
  {
3742
3779
  name: "@arietrouw",
@@ -3784,27 +3821,27 @@ var DefaultFalseOutput = styled8(CircleRounded, {
3784
3821
  fill: alpha6(theme.palette.text.disabled, 0.5),
3785
3822
  fontSize: "10px"
3786
3823
  }));
3787
- var defaultTrueOutput = /* @__PURE__ */ React37.createElement(DefaultTrueOutput, null);
3788
- var defaultFalseOutput = /* @__PURE__ */ React37.createElement(DefaultFalseOutput, null);
3824
+ var defaultTrueOutput = /* @__PURE__ */ React39.createElement(DefaultTrueOutput, null);
3825
+ var defaultFalseOutput = /* @__PURE__ */ React39.createElement(DefaultFalseOutput, null);
3789
3826
  var BooleanTable = /* @__PURE__ */ __name(({ items = sampleData2, tableHeaders, trueOutput = defaultTrueOutput, falseOutput = defaultFalseOutput, ...props }) => {
3790
- return /* @__PURE__ */ React37.createElement(FlexCol16, {
3827
+ return /* @__PURE__ */ React39.createElement(FlexCol16, {
3791
3828
  alignItems: "stretch",
3792
3829
  ...props
3793
- }, /* @__PURE__ */ React37.createElement(FlexRow9, {
3830
+ }, /* @__PURE__ */ React39.createElement(FlexRow9, {
3794
3831
  paddingBottom: 0.5,
3795
3832
  justifyContent: "space-between"
3796
- }, tableHeaders.map((name) => /* @__PURE__ */ React37.createElement(StyledTableColumnTitle, {
3833
+ }, tableHeaders.map((name) => /* @__PURE__ */ React39.createElement(StyledTableColumnTitle, {
3797
3834
  key: name,
3798
3835
  variant: "caption"
3799
- }, name))), /* @__PURE__ */ React37.createElement(FlexCol16, {
3836
+ }, name))), /* @__PURE__ */ React39.createElement(FlexCol16, {
3800
3837
  alignItems: "stretch",
3801
3838
  gap: 0.25
3802
- }, items.slice(0, 4).map((item, index) => /* @__PURE__ */ React37.createElement(TableRow, {
3839
+ }, items.slice(0, 4).map((item, index) => /* @__PURE__ */ React39.createElement(TableRow, {
3803
3840
  key: index
3804
- }, /* @__PURE__ */ React37.createElement(FlexGrowRow8, {
3841
+ }, /* @__PURE__ */ React39.createElement(FlexGrowRow8, {
3805
3842
  flexGrow: 1,
3806
3843
  justifyContent: "space-between"
3807
- }, /* @__PURE__ */ React37.createElement(Typography13, {
3844
+ }, /* @__PURE__ */ React39.createElement(Typography13, {
3808
3845
  variant: "caption",
3809
3846
  noWrap: true,
3810
3847
  maxWidth: "70%"
@@ -3813,8 +3850,8 @@ var BooleanTable = /* @__PURE__ */ __name(({ items = sampleData2, tableHeaders,
3813
3850
 
3814
3851
  // src/components/Widgets/Types/Examples/BooleanTable.tsx
3815
3852
  var ExampleBooleanTableWidget = /* @__PURE__ */ __name(() => {
3816
- return /* @__PURE__ */ React38.createElement(WidgetCard, {
3817
- widgetContent: /* @__PURE__ */ React38.createElement(BooleanTable, {
3853
+ return /* @__PURE__ */ React40.createElement(WidgetCard, {
3854
+ widgetContent: /* @__PURE__ */ React40.createElement(BooleanTable, {
3818
3855
  items: [
3819
3856
  {
3820
3857
  name: "@arietrouw",
@@ -3849,10 +3886,10 @@ var ExampleBooleanTableWidget = /* @__PURE__ */ __name(() => {
3849
3886
  }, "ExampleBooleanTableWidget");
3850
3887
 
3851
3888
  // src/components/Widgets/Types/Examples/TwoColTwoStat.tsx
3852
- import React39 from "react";
3889
+ import React41 from "react";
3853
3890
  var ExampleTwoColTwoStatWidget = /* @__PURE__ */ __name(() => {
3854
- return /* @__PURE__ */ React39.createElement(WidgetCard, {
3855
- widgetContent: /* @__PURE__ */ React39.createElement(TwoColTwoStat, {
3891
+ return /* @__PURE__ */ React41.createElement(WidgetCard, {
3892
+ widgetContent: /* @__PURE__ */ React41.createElement(TwoColTwoStat, {
3856
3893
  items: [
3857
3894
  {
3858
3895
  rawInsightValue: 218,
@@ -3876,13 +3913,13 @@ var ExampleTwoColTwoStatWidget = /* @__PURE__ */ __name(() => {
3876
3913
 
3877
3914
  // src/components/Widgets/StackOfWidgets.tsx
3878
3915
  var cards = [
3879
- /* @__PURE__ */ React40.createElement(ExampleBarGraphWidget, {
3916
+ /* @__PURE__ */ React42.createElement(ExampleBarGraphWidget, {
3880
3917
  key: "bar-graph"
3881
3918
  }),
3882
- /* @__PURE__ */ React40.createElement(ExampleBooleanTableWidget, {
3919
+ /* @__PURE__ */ React42.createElement(ExampleBooleanTableWidget, {
3883
3920
  key: "boolean-table"
3884
3921
  }),
3885
- /* @__PURE__ */ React40.createElement(ExampleTwoColTwoStatWidget, {
3922
+ /* @__PURE__ */ React42.createElement(ExampleTwoColTwoStatWidget, {
3886
3923
  key: "two-column"
3887
3924
  })
3888
3925
  ];
@@ -3933,7 +3970,7 @@ function Deck() {
3933
3970
  api.start((i) => to(i));
3934
3971
  }, 600);
3935
3972
  });
3936
- return /* @__PURE__ */ React40.createElement(React40.Fragment, null, props.map(({ x, y, rot, scale }, i) => /* @__PURE__ */ React40.createElement(animated2.div, {
3973
+ return /* @__PURE__ */ React42.createElement(React42.Fragment, null, props.map(({ x, y, rot, scale }, i) => /* @__PURE__ */ React42.createElement(animated2.div, {
3937
3974
  // eslint-disable-next-line @eslint-react/no-array-index-key
3938
3975
  key: i,
3939
3976
  style: {
@@ -3948,7 +3985,7 @@ function Deck() {
3948
3985
  x,
3949
3986
  y
3950
3987
  }
3951
- }, /* @__PURE__ */ React40.createElement(animated2.div, {
3988
+ }, /* @__PURE__ */ React42.createElement(animated2.div, {
3952
3989
  ...bind(i),
3953
3990
  style: {
3954
3991
  // WebkitBackdropFilter: 'blur(10px)',
@@ -3973,7 +4010,7 @@ function Deck() {
3973
4010
  }
3974
4011
  __name(Deck, "Deck");
3975
4012
  var StackOfWidgets = /* @__PURE__ */ __name(() => {
3976
- return /* @__PURE__ */ React40.createElement(Box3, {
4013
+ return /* @__PURE__ */ React42.createElement(Box3, {
3977
4014
  sx: {
3978
4015
  alignItems: "center",
3979
4016
  cursor: "pointer",
@@ -3982,30 +4019,30 @@ var StackOfWidgets = /* @__PURE__ */ __name(() => {
3982
4019
  justifyContent: "center",
3983
4020
  width: "300px"
3984
4021
  }
3985
- }, /* @__PURE__ */ React40.createElement(Deck, null));
4022
+ }, /* @__PURE__ */ React42.createElement(Deck, null));
3986
4023
  }, "StackOfWidgets");
3987
4024
 
3988
4025
  // src/components/Widgets/WidgetCardExamples.tsx
3989
4026
  var WidgetCardExamples = /* @__PURE__ */ __name(() => {
3990
4027
  const { darkMode } = useColorSchemeEx4();
3991
- return /* @__PURE__ */ React41.createElement(DappPage, {
4028
+ return /* @__PURE__ */ React43.createElement(DappPage, {
3992
4029
  sx: {
3993
4030
  backgroundImage: darkMode ? `url(${default18})` : `url(${default19})`,
3994
4031
  backgroundSize: "cover"
3995
4032
  },
3996
4033
  container: "xl",
3997
4034
  title: "Example Widget Cards"
3998
- }, /* @__PURE__ */ React41.createElement(Stack2, {
4035
+ }, /* @__PURE__ */ React43.createElement(Stack2, {
3999
4036
  gap: 2,
4000
4037
  flexDirection: "row",
4001
4038
  flexWrap: "wrap"
4002
- }, /* @__PURE__ */ React41.createElement(ExampleTwoColTwoStatWidget, null), /* @__PURE__ */ React41.createElement(ExampleBarGraphWidget, null), /* @__PURE__ */ React41.createElement(ExampleBooleanTableWidget, null), /* @__PURE__ */ React41.createElement(StackOfWidgets, null)));
4039
+ }, /* @__PURE__ */ React43.createElement(ExampleTwoColTwoStatWidget, null), /* @__PURE__ */ React43.createElement(ExampleBarGraphWidget, null), /* @__PURE__ */ React43.createElement(ExampleBooleanTableWidget, null), /* @__PURE__ */ React43.createElement(StackOfWidgets, null)));
4003
4040
  }, "WidgetCardExamples");
4004
4041
 
4005
4042
  // src/DappPathSwitcher.tsx
4006
4043
  import { animated as animated3, useTransition } from "@react-spring/web";
4007
- import { ErrorRender as ErrorRender4 } from "@xylabs/react-error";
4008
- import React42 from "react";
4044
+ import { ErrorRender as ErrorRender5 } from "@xylabs/react-error";
4045
+ import React44 from "react";
4009
4046
  var DappPathSwitcher = /* @__PURE__ */ __name(({ activePath, pathToComponent }) => {
4010
4047
  const transitions = useTransition(activePath, {
4011
4048
  enter: {
@@ -4023,7 +4060,7 @@ var DappPathSwitcher = /* @__PURE__ */ __name(({ activePath, pathToComponent })
4023
4060
  });
4024
4061
  const possibleZIndex = pathToComponent?.findIndex((item) => item.path === activePath);
4025
4062
  const zIndex = possibleZIndex !== -1 && possibleZIndex !== void 0 ? possibleZIndex : 1;
4026
- return /* @__PURE__ */ React42.createElement(React42.Fragment, null, transitions((transitionProps, activePathRef) => /* @__PURE__ */ React42.createElement(animated3.div, {
4063
+ return /* @__PURE__ */ React44.createElement(React44.Fragment, null, transitions((transitionProps, activePathRef) => /* @__PURE__ */ React44.createElement(animated3.div, {
4027
4064
  style: {
4028
4065
  ...transitionProps,
4029
4066
  alignItems: "stretch",
@@ -4042,7 +4079,7 @@ var DappPathSwitcher = /* @__PURE__ */ __name(({ activePath, pathToComponent })
4042
4079
  }, (() => {
4043
4080
  const activeIndex = pathToComponent?.findIndex(({ path: componentPath }) => activePathRef === componentPath);
4044
4081
  const activeItem = pathToComponent && activeIndex !== -1 && activeIndex !== void 0 ? pathToComponent[activeIndex] : void 0;
4045
- return activeItem ? activeItem.component : /* @__PURE__ */ React42.createElement(ErrorRender4, {
4082
+ return activeItem ? activeItem.component : /* @__PURE__ */ React44.createElement(ErrorRender5, {
4046
4083
  error: new Error(`No component found for path: ${activePathRef}`),
4047
4084
  scope: "DappPathSwitcher"
4048
4085
  });
@@ -4051,7 +4088,7 @@ var DappPathSwitcher = /* @__PURE__ */ __name(({ activePath, pathToComponent })
4051
4088
 
4052
4089
  // src/dapps/shared/accounts/components/AnimatedComponents/GenericAnimations/ShiftAnimation.tsx
4053
4090
  import { animated as animated4, useSpring as useSpring2 } from "@react-spring/web";
4054
- import React43, { useEffect as useEffect19, useState as useState19 } from "react";
4091
+ import React45, { useEffect as useEffect19, useState as useState19 } from "react";
4055
4092
  var MovementData = {
4056
4093
  down: [
4057
4094
  {
@@ -4145,7 +4182,7 @@ var ShiftAnimation = /* @__PURE__ */ __name(({ startAnimation = false, animation
4145
4182
  }, [
4146
4183
  isShifted
4147
4184
  ]);
4148
- return /* @__PURE__ */ React43.createElement(animated4.div, {
4185
+ return /* @__PURE__ */ React45.createElement(animated4.div, {
4149
4186
  style: anim
4150
4187
  }, children);
4151
4188
  }, "ShiftAnimation");
@@ -4153,10 +4190,10 @@ var ShiftAnimation = /* @__PURE__ */ __name(({ startAnimation = false, animation
4153
4190
  // src/dapps/shared/accounts/components/AnimatedComponents/IconAnimations/TwoToneBulletPoint.tsx
4154
4191
  import { FiberManualRecordRounded } from "@mui/icons-material";
4155
4192
  import { alpha as alpha8, Box as Box4, useTheme as useTheme11 } from "@mui/material";
4156
- import React44 from "react";
4193
+ import React46 from "react";
4157
4194
  var TwoToneBulletPoint = /* @__PURE__ */ __name((props) => {
4158
4195
  const theme = useTheme11();
4159
- return /* @__PURE__ */ React44.createElement(Box4, props, /* @__PURE__ */ React44.createElement(FiberManualRecordRounded, {
4196
+ return /* @__PURE__ */ React46.createElement(Box4, props, /* @__PURE__ */ React46.createElement(FiberManualRecordRounded, {
4160
4197
  fontSize: "small",
4161
4198
  sx: {
4162
4199
  "&:hover": {
@@ -4172,20 +4209,20 @@ var TwoToneBulletPoint = /* @__PURE__ */ __name((props) => {
4172
4209
 
4173
4210
  // src/dapps/shared/accounts/components/AnimatedComponents/IconAnimations/TwoToneBulletPointList.tsx
4174
4211
  import { FlexCol as FlexCol17, FlexGrowRow as FlexGrowRow9 } from "@xylabs/react-flexbox";
4175
- import React45 from "react";
4212
+ import React47 from "react";
4176
4213
  var TwoToneBulletPointList = /* @__PURE__ */ __name(({ list }) => {
4177
- return /* @__PURE__ */ React45.createElement(FlexCol17, {
4214
+ return /* @__PURE__ */ React47.createElement(FlexCol17, {
4178
4215
  alignItems: "flex-start",
4179
4216
  gap: 1
4180
4217
  }, list.map((item, index) => {
4181
4218
  return (
4182
4219
  // eslint-disable-next-line @eslint-react/no-array-index-key
4183
- /* @__PURE__ */ React45.createElement(FlexGrowRow9, {
4220
+ /* @__PURE__ */ React47.createElement(FlexGrowRow9, {
4184
4221
  key: index + "bulletPointList",
4185
4222
  alignItems: "flex-start",
4186
4223
  justifyContent: "flex-start",
4187
4224
  gap: 1
4188
- }, /* @__PURE__ */ React45.createElement(TwoToneBulletPoint, {
4225
+ }, /* @__PURE__ */ React47.createElement(TwoToneBulletPoint, {
4189
4226
  marginTop: "4px"
4190
4227
  }), item)
4191
4228
  );
@@ -4195,7 +4232,7 @@ var TwoToneBulletPointList = /* @__PURE__ */ __name(({ list }) => {
4195
4232
  // src/dapps/shared/accounts/components/InputFields/CoinbaseEmail.tsx
4196
4233
  import { FormControl, TextField } from "@mui/material";
4197
4234
  import { LabeledTextFieldWrapper } from "@xyo-network/react-shared";
4198
- import React46, { useState as useState20 } from "react";
4235
+ import React48, { useState as useState20 } from "react";
4199
4236
  var CoinbaseEmailInput = /* @__PURE__ */ __name(({ existingEmail, ...props }) => {
4200
4237
  const [email, setEmail] = useState20(existingEmail);
4201
4238
  const [valid, setValid] = useState20();
@@ -4207,11 +4244,11 @@ var CoinbaseEmailInput = /* @__PURE__ */ __name(({ existingEmail, ...props }) =>
4207
4244
  setValid(!!emailFromEvent);
4208
4245
  setEmail(emailFromEvent);
4209
4246
  }, "handleChange");
4210
- return /* @__PURE__ */ React46.createElement(FormControl, {
4247
+ return /* @__PURE__ */ React48.createElement(FormControl, {
4211
4248
  fullWidth: true
4212
- }, /* @__PURE__ */ React46.createElement(LabeledTextFieldWrapper, {
4249
+ }, /* @__PURE__ */ React48.createElement(LabeledTextFieldWrapper, {
4213
4250
  label: "Primary Cryptowallet"
4214
- }, /* @__PURE__ */ React46.createElement(TextField, {
4251
+ }, /* @__PURE__ */ React48.createElement(TextField, {
4215
4252
  fullWidth: true,
4216
4253
  variant: "filled",
4217
4254
  error: valid === false,
@@ -4227,7 +4264,7 @@ var CoinbaseEmailInput = /* @__PURE__ */ __name(({ existingEmail, ...props }) =>
4227
4264
  // src/dapps/shared/accounts/components/InputFields/PrimaryCryptowallet.tsx
4228
4265
  import { FormControl as FormControl2, TextField as TextField2 } from "@mui/material";
4229
4266
  import { LabeledTextFieldWrapper as LabeledTextFieldWrapper2 } from "@xyo-network/react-shared";
4230
- import React47, { useState as useState21 } from "react";
4267
+ import React49, { useState as useState21 } from "react";
4231
4268
  var PrimaryCryptoWalletInput = /* @__PURE__ */ __name(({ existingPrimaryCryptoWallet, ...props }) => {
4232
4269
  const [primaryWallet, setPrimaryWallet] = useState21(existingPrimaryCryptoWallet);
4233
4270
  const [valid, setValid] = useState21();
@@ -4239,11 +4276,11 @@ var PrimaryCryptoWalletInput = /* @__PURE__ */ __name(({ existingPrimaryCryptoWa
4239
4276
  setValid(!!nameFromEvent);
4240
4277
  setPrimaryWallet(nameFromEvent);
4241
4278
  }, "handleChange");
4242
- return /* @__PURE__ */ React47.createElement(FormControl2, {
4279
+ return /* @__PURE__ */ React49.createElement(FormControl2, {
4243
4280
  fullWidth: true
4244
- }, /* @__PURE__ */ React47.createElement(LabeledTextFieldWrapper2, {
4281
+ }, /* @__PURE__ */ React49.createElement(LabeledTextFieldWrapper2, {
4245
4282
  label: "Primary Cryptowallet"
4246
- }, /* @__PURE__ */ React47.createElement(TextField2, {
4283
+ }, /* @__PURE__ */ React49.createElement(TextField2, {
4247
4284
  fullWidth: true,
4248
4285
  variant: "filled",
4249
4286
  error: valid === false,
@@ -4260,7 +4297,7 @@ var PrimaryCryptoWalletInput = /* @__PURE__ */ __name(({ existingPrimaryCryptoWa
4260
4297
  // src/dapps/shared/accounts/components/InputFields/SecondaryCryptowallet.tsx
4261
4298
  import { FormControl as FormControl3, TextField as TextField3 } from "@mui/material";
4262
4299
  import { LabeledTextFieldWrapper as LabeledTextFieldWrapper3 } from "@xyo-network/react-shared";
4263
- import React48, { useState as useState22 } from "react";
4300
+ import React50, { useState as useState22 } from "react";
4264
4301
  var SecondaryCryptoWalletInput = /* @__PURE__ */ __name(({ existingSecondaryCryptoWallet, ...props }) => {
4265
4302
  const [secondaryWallet, setSecondaryWallet] = useState22(existingSecondaryCryptoWallet);
4266
4303
  const [valid, setValid] = useState22();
@@ -4272,11 +4309,11 @@ var SecondaryCryptoWalletInput = /* @__PURE__ */ __name(({ existingSecondaryCryp
4272
4309
  setValid(!!walletFromEvent);
4273
4310
  setSecondaryWallet(walletFromEvent);
4274
4311
  }, "handleChange");
4275
- return /* @__PURE__ */ React48.createElement(FormControl3, {
4312
+ return /* @__PURE__ */ React50.createElement(FormControl3, {
4276
4313
  fullWidth: true
4277
- }, /* @__PURE__ */ React48.createElement(LabeledTextFieldWrapper3, {
4314
+ }, /* @__PURE__ */ React50.createElement(LabeledTextFieldWrapper3, {
4278
4315
  label: "Secondary Cryptowallet"
4279
- }, /* @__PURE__ */ React48.createElement(TextField3, {
4316
+ }, /* @__PURE__ */ React50.createElement(TextField3, {
4280
4317
  variant: "filled",
4281
4318
  fullWidth: true,
4282
4319
  error: valid === false,
@@ -4293,25 +4330,25 @@ var SecondaryCryptoWalletInput = /* @__PURE__ */ __name(({ existingSecondaryCryp
4293
4330
  // src/dapps/shared/accounts/components/PaymentMethods.tsx
4294
4331
  import { Grid2 } from "@mui/material";
4295
4332
  import { FormGroupCreditCardProvider } from "@xyo-network/react-form-credit-card";
4296
- import React50 from "react";
4333
+ import React52 from "react";
4297
4334
 
4298
4335
  // src/dapps/shared/accounts/components/AccountCard.tsx
4299
4336
  import { Card as Card4, CardContent as CardContent4, Divider as Divider5, Typography as Typography14 } from "@mui/material";
4300
4337
  import { FlexGrowCol as FlexGrowCol4, FlexGrowRow as FlexGrowRow10 } from "@xylabs/react-flexbox";
4301
- import React49 from "react";
4338
+ import React51 from "react";
4302
4339
  var AccountCard = /* @__PURE__ */ __name(({ items, ...props }) => {
4303
- return /* @__PURE__ */ React49.createElement(Card4, props, /* @__PURE__ */ React49.createElement(CardContent4, null, /* @__PURE__ */ React49.createElement(FlexGrowCol4, {
4340
+ return /* @__PURE__ */ React51.createElement(Card4, props, /* @__PURE__ */ React51.createElement(CardContent4, null, /* @__PURE__ */ React51.createElement(FlexGrowCol4, {
4304
4341
  width: "100%",
4305
4342
  gap: 2
4306
4343
  }, items.map((item, index) => {
4307
4344
  return (
4308
4345
  // eslint-disable-next-line @eslint-react/no-array-index-key
4309
- /* @__PURE__ */ React49.createElement(FlexGrowCol4, {
4346
+ /* @__PURE__ */ React51.createElement(FlexGrowCol4, {
4310
4347
  gap: 2,
4311
4348
  key: index,
4312
4349
  width: "100%",
4313
4350
  alignItems: "stretch"
4314
- }, /* @__PURE__ */ React49.createElement(FlexGrowRow10, {
4351
+ }, /* @__PURE__ */ React51.createElement(FlexGrowRow10, {
4315
4352
  sx: {
4316
4353
  alignItems: "stretch",
4317
4354
  flexDirection: {
@@ -4321,7 +4358,7 @@ var AccountCard = /* @__PURE__ */ __name(({ items, ...props }) => {
4321
4358
  justifyContent: "space-between"
4322
4359
  },
4323
4360
  gap: 2
4324
- }, /* @__PURE__ */ React49.createElement(FlexGrowCol4, {
4361
+ }, /* @__PURE__ */ React51.createElement(FlexGrowCol4, {
4325
4362
  alignItems: "flex-start",
4326
4363
  width: "100%",
4327
4364
  sx: {
@@ -4330,13 +4367,13 @@ var AccountCard = /* @__PURE__ */ __name(({ items, ...props }) => {
4330
4367
  xs: "100%"
4331
4368
  }
4332
4369
  }
4333
- }, /* @__PURE__ */ React49.createElement(Typography14, {
4370
+ }, /* @__PURE__ */ React51.createElement(Typography14, {
4334
4371
  variant: "h5",
4335
4372
  gutterBottom: true
4336
- }, item.title), /* @__PURE__ */ React49.createElement(Typography14, {
4373
+ }, item.title), /* @__PURE__ */ React51.createElement(Typography14, {
4337
4374
  variant: "body1",
4338
4375
  gutterBottom: true
4339
- }, item.desc)), item?.component), items.length === 1 || index === items.length - 1 ? null : /* @__PURE__ */ React49.createElement(Divider5, {
4376
+ }, item.desc)), item?.component), items.length === 1 || index === items.length - 1 ? null : /* @__PURE__ */ React51.createElement(Divider5, {
4340
4377
  flexItem: true
4341
4378
  }))
4342
4379
  );
@@ -4345,38 +4382,38 @@ var AccountCard = /* @__PURE__ */ __name(({ items, ...props }) => {
4345
4382
 
4346
4383
  // src/dapps/shared/accounts/components/PaymentMethods.tsx
4347
4384
  var PaymentMethods = /* @__PURE__ */ __name(() => {
4348
- return /* @__PURE__ */ React50.createElement(DappPage, {
4385
+ return /* @__PURE__ */ React52.createElement(DappPage, {
4349
4386
  title: "Payment Methods"
4350
- }, /* @__PURE__ */ React50.createElement(Grid2, {
4387
+ }, /* @__PURE__ */ React52.createElement(Grid2, {
4351
4388
  container: true,
4352
4389
  spacing: 3
4353
- }, /* @__PURE__ */ React50.createElement(Grid2, {
4390
+ }, /* @__PURE__ */ React52.createElement(Grid2, {
4354
4391
  size: {
4355
4392
  xs: 12
4356
4393
  }
4357
- }, /* @__PURE__ */ React50.createElement(AccountCard, {
4394
+ }, /* @__PURE__ */ React52.createElement(AccountCard, {
4358
4395
  sx: {
4359
4396
  height: "100%"
4360
4397
  },
4361
4398
  items: [
4362
4399
  {
4363
4400
  // TODO - needs a default implementation
4364
- component: /* @__PURE__ */ React50.createElement(FormGroupCreditCardProvider, null, /* @__PURE__ */ React50.createElement(React50.Fragment, null)),
4401
+ component: /* @__PURE__ */ React52.createElement(FormGroupCreditCardProvider, null, /* @__PURE__ */ React52.createElement(React52.Fragment, null)),
4365
4402
  desc: "Save a credit card to your node to complete credit payments seamlessly.",
4366
4403
  title: "Credit Card"
4367
4404
  },
4368
4405
  {
4369
- component: /* @__PURE__ */ React50.createElement(CoinbaseEmailInput, null),
4406
+ component: /* @__PURE__ */ React52.createElement(CoinbaseEmailInput, null),
4370
4407
  desc: "Use your Coinbase Account receive payments easily.",
4371
4408
  title: "Coinbase Email"
4372
4409
  },
4373
4410
  {
4374
- component: /* @__PURE__ */ React50.createElement(PrimaryCryptoWalletInput, null),
4411
+ component: /* @__PURE__ */ React52.createElement(PrimaryCryptoWalletInput, null),
4375
4412
  desc: "This is the primary crypto wallet on your node.",
4376
4413
  title: "Primary Crypto Wallet"
4377
4414
  },
4378
4415
  {
4379
- component: /* @__PURE__ */ React50.createElement(SecondaryCryptoWalletInput, null),
4416
+ component: /* @__PURE__ */ React52.createElement(SecondaryCryptoWalletInput, null),
4380
4417
  desc: "This is the secondary crypto wallet on your node.",
4381
4418
  title: "Secondary Crypto Wallet"
4382
4419
  }
@@ -4391,18 +4428,18 @@ var isCreditCardInput = isPayloadOfSchemaType(CreditCardInputSchema);
4391
4428
 
4392
4429
  // src/dapps/shared/name-service/DomainIcon.tsx
4393
4430
  import { createSvgIcon } from "@mui/material";
4394
- import React51 from "react";
4395
- var XnsDomainIcon = createSvgIcon(/* @__PURE__ */ React51.createElement("svg", {
4431
+ import React53 from "react";
4432
+ var XnsDomainIcon = createSvgIcon(/* @__PURE__ */ React53.createElement("svg", {
4396
4433
  id: "Layer_1",
4397
4434
  xmlns: "http://www.w3.org/2000/svg",
4398
4435
  viewBox: "0 0 400 400"
4399
- }, /* @__PURE__ */ React51.createElement("path", {
4436
+ }, /* @__PURE__ */ React53.createElement("path", {
4400
4437
  fill: "currentColor",
4401
4438
  d: "M0,314.34V85.34h43.89l99.55,152.67V85.34h43.89v229h-43.89L43.89,161.68v152.67H0Z"
4402
- }), /* @__PURE__ */ React51.createElement("path", {
4439
+ }), /* @__PURE__ */ React53.createElement("path", {
4403
4440
  fill: "currentColor",
4404
4441
  d: "M298.99,319.12c-16.96,0-32.26-3-45.88-8.99-13.62-5.99-24.81-14.58-33.56-25.76-8.75-11.18-14.29-24.52-16.62-40l45.17-6.68c3.18,13.15,9.75,23.27,19.72,30.37,9.96,7.1,21.31,10.65,34.03,10.65,7.1,0,14-1.11,20.67-3.34,6.68-2.23,12.17-5.51,16.46-9.86,4.29-4.35,6.44-9.7,6.44-16.06,0-2.33-.35-4.59-1.03-6.76-.69-2.17-1.83-4.21-3.42-6.12-1.59-1.91-3.84-3.71-6.76-5.41-2.92-1.69-6.6-3.23-11.05-4.61l-59.48-17.49c-4.45-1.27-9.62-3.07-15.5-5.41-5.88-2.33-11.58-5.67-17.1-10.02-5.51-4.35-10.1-10.1-13.76-17.26-3.66-7.16-5.49-16.19-5.49-27.11,0-15.37,3.87-28.15,11.61-38.33,7.74-10.18,18.08-17.76,31.01-22.74,12.93-4.98,27.25-7.42,42.94-7.32,15.8.21,29.9,2.92,42.3,8.11,12.4,5.2,22.79,12.75,31.17,22.66,8.37,9.92,14.42,22.03,18.13,36.34l-46.76,7.95c-1.7-7.42-4.83-13.68-9.38-18.77-4.56-5.09-9.99-8.96-16.3-11.61-6.31-2.65-12.91-4.08-19.8-4.29-6.79-.21-13.17.72-19.16,2.78-5.99,2.07-10.87,5.06-14.63,8.99-3.76,3.92-5.65,8.59-5.65,14,0,4.98,1.54,9.04,4.61,12.17,3.07,3.13,6.94,5.65,11.61,7.55,4.66,1.91,9.44,3.5,14.31,4.77l39.76,10.81c5.94,1.59,12.51,3.68,19.72,6.28,7.21,2.6,14.13,6.2,20.75,10.81,6.62,4.61,12.09,10.68,16.38,18.21,4.29,7.53,6.44,17.07,6.44,28.63,0,12.3-2.57,23.03-7.71,32.2-5.14,9.17-12.06,16.75-20.75,22.74-8.69,5.99-18.53,10.47-29.5,13.44-10.97,2.97-22.29,4.45-33.95,4.45Z"
4405
- }), /* @__PURE__ */ React51.createElement("circle", {
4442
+ }), /* @__PURE__ */ React53.createElement("circle", {
4406
4443
  fill: "#3898e7",
4407
4444
  cx: "372.52",
4408
4445
  cy: "291.63",
@@ -4412,7 +4449,7 @@ var XnsDomainIcon = createSvgIcon(/* @__PURE__ */ React51.createElement("svg", {
4412
4449
  // src/dapps/shared/table/head/components/Head.tsx
4413
4450
  import { InfoOutlined } from "@mui/icons-material";
4414
4451
  import { TableCell, TableHead, Tooltip as Tooltip6 } from "@mui/material";
4415
- import React52 from "react";
4452
+ import React54 from "react";
4416
4453
 
4417
4454
  // src/dapps/shared/table/head/hooks/useVisibleColumns.tsx
4418
4455
  import { useMediaQuery as useMediaQuery2 } from "@mui/material";
@@ -4444,20 +4481,20 @@ var StyledTableRowHeader = styled9(TableRow2, {
4444
4481
  // src/dapps/shared/table/head/components/Head.tsx
4445
4482
  var TableHeadEx = /* @__PURE__ */ __name(({ payloads, ...props }) => {
4446
4483
  const [VisibleTableCells] = useVisibleColumns(payloads);
4447
- return /* @__PURE__ */ React52.createElement(TableHead, props, /* @__PURE__ */ React52.createElement(StyledTableRowHeader, null, VisibleTableCells.map((headCell) => /* @__PURE__ */ React52.createElement(TableCell, {
4484
+ return /* @__PURE__ */ React54.createElement(TableHead, props, /* @__PURE__ */ React54.createElement(StyledTableRowHeader, null, VisibleTableCells.map((headCell) => /* @__PURE__ */ React54.createElement(TableCell, {
4448
4485
  key: headCell.id,
4449
4486
  align: headCell.align ?? "left",
4450
4487
  padding: headCell.disablePadding ? "none" : "normal",
4451
4488
  width: headCell.width ?? "auto"
4452
- }, headCell.tooltip ? /* @__PURE__ */ React52.createElement("span", {
4489
+ }, headCell.tooltip ? /* @__PURE__ */ React54.createElement("span", {
4453
4490
  style: {
4454
4491
  alignItems: "center",
4455
4492
  display: "inline-flex",
4456
4493
  gap: "4px"
4457
4494
  }
4458
- }, headCell.label, /* @__PURE__ */ React52.createElement(Tooltip6, {
4495
+ }, headCell.label, /* @__PURE__ */ React54.createElement(Tooltip6, {
4459
4496
  title: headCell.tooltip
4460
- }, /* @__PURE__ */ React52.createElement(InfoOutlined, {
4497
+ }, /* @__PURE__ */ React54.createElement(InfoOutlined, {
4461
4498
  sx: {
4462
4499
  fontSize: "16px"
4463
4500
  }
@@ -4477,28 +4514,28 @@ var isTableHeadCell = isPayloadOfSchemaType2(TableHeadCellSchema);
4477
4514
  import { ArrowCircleLeftOutlined, ArrowCircleRightOutlined } from "@mui/icons-material";
4478
4515
  import { IconButton as IconButton4, LinearProgress as LinearProgress2 } from "@mui/material";
4479
4516
  import { FlexRow as FlexRow10 } from "@xylabs/react-flexbox";
4480
- import React53 from "react";
4517
+ import React55 from "react";
4481
4518
  var NextIteratorFlexbox = /* @__PURE__ */ __name(({ next: changePage, loading, ...props }) => {
4482
- return /* @__PURE__ */ React53.createElement(FlexRow10, {
4519
+ return /* @__PURE__ */ React55.createElement(FlexRow10, {
4483
4520
  justifyContent: "space-between",
4484
4521
  gap: 2,
4485
4522
  ...props
4486
- }, /* @__PURE__ */ React53.createElement(LinearProgress2, {
4523
+ }, /* @__PURE__ */ React55.createElement(LinearProgress2, {
4487
4524
  sx: {
4488
4525
  display: "flex",
4489
4526
  flexGrow: 1,
4490
4527
  visibility: loading ? "visible" : "hidden"
4491
4528
  }
4492
- }), /* @__PURE__ */ React53.createElement(FlexRow10, null, /* @__PURE__ */ React53.createElement(IconButton4, {
4529
+ }), /* @__PURE__ */ React55.createElement(FlexRow10, null, /* @__PURE__ */ React55.createElement(IconButton4, {
4493
4530
  onClick: /* @__PURE__ */ __name(() => changePage("asc"), "onClick")
4494
- }, /* @__PURE__ */ React53.createElement(ArrowCircleLeftOutlined, null)), /* @__PURE__ */ React53.createElement(IconButton4, {
4531
+ }, /* @__PURE__ */ React55.createElement(ArrowCircleLeftOutlined, null)), /* @__PURE__ */ React55.createElement(IconButton4, {
4495
4532
  onClick: /* @__PURE__ */ __name(() => changePage("desc"), "onClick")
4496
- }, /* @__PURE__ */ React53.createElement(ArrowCircleRightOutlined, null))));
4533
+ }, /* @__PURE__ */ React55.createElement(ArrowCircleRightOutlined, null))));
4497
4534
  }, "NextIteratorFlexbox");
4498
4535
 
4499
4536
  // src/settings/Theme/ThemeProvider.tsx
4500
4537
  import { InvertibleMuiThemeProvider } from "@xylabs/react-invertible-theme";
4501
- import React54, { useMemo as useMemo19 } from "react";
4538
+ import React56, { useMemo as useMemo19 } from "react";
4502
4539
 
4503
4540
  // src/settings/Theme/ThemeCssVars.ts
4504
4541
  import { alpha as alpha9, createTheme, darken as darken2, lighten } from "@mui/material";
@@ -4802,7 +4839,7 @@ var AppOsThemeProvider = /* @__PURE__ */ __name(({ children }) => {
4802
4839
  if (savedValue && validValues.includes(savedValue)) return savedValue;
4803
4840
  return "system";
4804
4841
  }, []);
4805
- return /* @__PURE__ */ React54.createElement(InvertibleMuiThemeProvider, {
4842
+ return /* @__PURE__ */ React56.createElement(InvertibleMuiThemeProvider, {
4806
4843
  theme: ThemeCssVars,
4807
4844
  defaultMode: initialValue
4808
4845
  }, children);
@@ -4844,6 +4881,7 @@ export {
4844
4881
  DappPage,
4845
4882
  DappPathHelpers,
4846
4883
  DappPathSwitcher,
4884
+ DappRendered,
4847
4885
  DappTitle,
4848
4886
  DappWindow,
4849
4887
  DappsRow,
@@ -4884,7 +4922,6 @@ export {
4884
4922
  XyOsUi,
4885
4923
  XyOsUiContext,
4886
4924
  XyOsUiContextProvider,
4887
- decomposeDappSet,
4888
4925
  deriveDappState,
4889
4926
  detectCustomer,
4890
4927
  getApiDomain,
@@ -4914,6 +4951,7 @@ export {
4914
4951
  useDappRegistry,
4915
4952
  useDappSeedPhraseRepository,
4916
4953
  useDebugClick,
4954
+ useDecomposeDapp,
4917
4955
  useDialogState,
4918
4956
  useExposedNode,
4919
4957
  useIntentResourceViews,