@xyo-network/dapp-template 7.2.1 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAM7D,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAGvD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAO7D,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAGvD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { KernelExternal } from '@xyo-network/kernel-model';
2
- import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator';
3
2
  import { EventBus } from '@xyo-network/os-runtime';
3
+ import { ModuleFactoryLocator } from '@xyo-network/sdk-js';
4
4
  import type { WalletInstance } from '@xyo-network/wallet-model';
5
5
  import React from 'react';
6
6
  export interface XyOsHostProps {
@@ -1 +1 @@
1
- {"version":3,"file":"XyOsHost.d.ts","sourceRoot":"","sources":["../../../../src/components/host/XyOsHost.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAE1E,OAAO,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAA;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwC5C,CAAA"}
1
+ {"version":3,"file":"XyOsHost.d.ts","sourceRoot":"","sources":["../../../../src/components/host/XyOsHost.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,OAAO,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwC5C,CAAA"}
@@ -56,10 +56,9 @@ import { Typography } from "@mui/material";
56
56
  import { FlexCol } from "@xylabs/react-flexbox";
57
57
  import { usePromise as usePromise2 } from "@xylabs/react-promise";
58
58
  import { Kernel } from "@xyo-network/kernel";
59
- import { ModuleFactoryLocator } from "@xyo-network/module-factory-locator";
60
59
  import { XyOsUiContextProvider } from "@xyo-network/os-react-runtime";
61
60
  import { EventBus, XyOs } from "@xyo-network/os-runtime";
62
- import { HDWallet } from "@xyo-network/wallet";
61
+ import { HDWallet, ModuleFactoryLocator } from "@xyo-network/sdk-js";
63
62
  import React, { useMemo } from "react";
64
63
  var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: locator2, wallet }) => {
65
64
  const [walletToUse] = usePromise2(async () => wallet ?? await HDWallet.random(), [
@@ -170,7 +169,7 @@ var dapp_manifest_default = {
170
169
  };
171
170
 
172
171
  // src/Params.ts
173
- import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/module-factory-locator";
172
+ import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/sdk-js";
174
173
 
175
174
  // src/icon/Icon.tsx
176
175
  var CustomDappIconSvg = `
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/host/DappHost.tsx","../../src/helpers/registration/useInitializeDappAdHoc.tsx","../../src/components/host/XyOsHost.tsx","../../src/components/host/Routable.tsx","../../src/components/host/Routes.tsx","../../src/dapp.manifest.json","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/Dapp.tsx","../../src/CustomDappPathToComponent.tsx","../../src/UiParams.ts"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { useInitializeDappAdHoc } from '../../helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappState, dappWallet, errors,\n } = useInitializeDappAdHoc(dapp)\n\n return (\n <FlexCol>\n <DappRendered\n context={context}\n dapp={dapp}\n dappMenuProperties={dappMenu}\n dappState={dappState}\n dappWallet={dappWallet}\n errors={errors}\n />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { usePromise } from '@xylabs/react-promise'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport {\n useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,\n} from '@xyo-network/os-react-runtime'\nimport { DappInitializer } from '@xyo-network/os-runtime'\n\nconst dappState = {\n active: true, minimized: false, closed: false,\n}\n\nexport const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {\n const xyOs = useXyOsUiContext()\n\n const [installedDapp, nodeCreateError] = usePromise(async () => {\n if (xyOs && dapp) {\n const installer = new DappInitializer({\n allowedNames: [dapp.config.name],\n dapp,\n xnsNetwork: undefined,\n xnsNodeUrl: undefined,\n xyOs,\n })\n return await installer.install()\n }\n }, [xyOs, dapp])\n\n const { dappWallet, context } = installedDapp ?? {}\n\n // support for routing\n const routingError = useManageDappPathFromRoute(context, dapp.config.name)\n const injectableErrors = useManageDappInjectableParamsFromRoute(context)\n\n const dappMenu = useDappMenu(context, dapp.config.name)\n\n return {\n context,\n dappMenu,\n dappState,\n dappWallet,\n errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { Kernel } from '@xyo-network/kernel'\nimport type { KernelExternal } from '@xyo-network/kernel-model'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'\nimport { EventBus, XyOs } from '@xyo-network/os-runtime'\nimport { HDWallet } from '@xyo-network/wallet'\nimport type { WalletInstance } from '@xyo-network/wallet-model'\nimport React, { useMemo } from 'react'\n\nexport interface XyOsHostProps {\n children?: React.ReactNode\n eventBus?: EventBus\n kernel?: KernelExternal\n locator?: ModuleFactoryLocator\n wallet?: WalletInstance\n}\n\nexport const XyOsHost: React.FC<XyOsHostProps> = ({\n children, eventBus, kernel, locator, wallet,\n}) => {\n const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])\n const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])\n const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])\n const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])\n\n const [os, error] = usePromise(async () => {\n if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {\n const os = new XyOs({\n kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,\n })\n await os.boot(walletToUse, locatorToUse)\n return os\n }\n }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])\n\n return os\n ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>\n : (\n <FlexCol>\n <Typography>\n wallet:\n {walletToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n kernel:\n {kernelToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os:\n {os ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os-error:\n {error?.message}\n </Typography>\n </FlexCol>\n )\n}\n","import React from 'react'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport type { DappHostProps } from './DappHost.tsx'\nimport { DappHost } from './DappHost.tsx'\nimport { DappRoutes } from './Routes.tsx'\n\nexport const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {\n return (\n <BrowserRouter>\n <DappRoutes dapp={dapp} />\n <DappHost dapp={dapp} />\n </BrowserRouter>\n )\n}\n","import React from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nimport { DappHost, type DappHostProps } from './DappHost.tsx'\n\nexport const DappRoutes: React.FC<DappHostProps> = args => (\n <Routes>\n <Route\n path=\"/\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName/:path/*\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"*\"\n element={(\n <DappHost {...args} />\n )}\n />\n </Routes>\n)\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"0'\",\n \"name\": \"CustomDappNode\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"schema\": \"network.xyo.archivist.config\"\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport type { UnregisteredDapp } from '@xyo-network/os-model'\n\nimport { CustomDappIconSvg } from './icon/index.ts'\n\nconst locator = new ModuleFactoryLocator()\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport default CustomDappParams\n","/* eslint-disable @stylistic/max-len */\nexport const CustomDappIconSvg = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\">\n <path\n fill=\"transparent\"\n d=\"M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z\"\n />\n </svg>\n `\n","/* eslint-disable @stylistic/max-len */\nimport type {\n DappConfig,\n DappIcon,\n DappName,\n DappNavItem,\n DappNavMenuConfig,\n DappPackageManifestPayload,\n DappVersion,\n} from '@xyo-network/os-model'\nimport {\n DappConfigSchema,\n DappIconSchema,\n DappMode,\n DappNavItemSchema,\n DappNavMenuConfigSchema,\n} from '@xyo-network/os-model'\n\nimport dappManifest from './dapp.manifest.json' with { type: 'json' }\n\nexport const CustomDappName: DappName = 'Custom Dapp' as const\n\nconst version: DappVersion = '1.0.0'\n\nexport const CustomDappConfig: DappConfig = {\n manifest: dappManifest as unknown as DappPackageManifestPayload,\n modes: [DappMode.Window],\n name: CustomDappName,\n schema: DappConfigSchema,\n sources: ['network.xyo.dapp.accounts.source'],\n version,\n}\n\nexport const CustomDappIcon: DappIcon = {\n active: false,\n installed: 'installed',\n name: CustomDappName,\n schema: DappIconSchema,\n type: 'system',\n version,\n}\n\nexport const DappPayloads = [CustomDappConfig, CustomDappIcon]\n\nexport type CustomDappMenuItemPaths = 'home' | 'settings'\n\nconst CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [\n {\n path: 'home',\n primaryText: 'Home',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n {\n path: 'settings',\n primaryText: 'Settings',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n]\n\nconst CustomDappMenuConfig: DappNavMenuConfig = {\n defaultPath: 'home',\n schema: DappNavMenuConfigSchema,\n}\n\nexport const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]\n","import { ErrorRender } from '@xylabs/react-error'\nimport { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'\nimport { CustomDappMenuPayloads } from './Payloads.ts'\n\nexport const CustomDapp = () => {\n const {\n menuConfig, path, error,\n } = useAddDappMenuItems(CustomDappMenuPayloads)\n\n return (\n <>\n <ErrorRender error={error} scope=\"CustomDapp\" />\n <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />\n </>\n )\n}\n","import { FlexRow } from '@xylabs/react-flexbox'\nimport type { PathToComponent } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nexport const CustomDappPathToComponent: PathToComponent[] = [\n {\n component: <FlexRow />,\n path: 'home',\n },\n]\n","import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'\n\nimport { CustomDapp } from './Dapp.tsx'\nimport { CustomDappParams } from './Params.ts'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport default CustomDappUiParams\n"],"mappings":"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","names":["FlexCol","DappRendered","React","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","DappInitializer","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","Typography","FlexCol","usePromise","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","HDWallet","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
1
+ {"version":3,"sources":["../../src/components/host/DappHost.tsx","../../src/helpers/registration/useInitializeDappAdHoc.tsx","../../src/components/host/XyOsHost.tsx","../../src/components/host/Routable.tsx","../../src/components/host/Routes.tsx","../../src/dapp.manifest.json","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/Dapp.tsx","../../src/CustomDappPathToComponent.tsx","../../src/UiParams.ts"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { useInitializeDappAdHoc } from '../../helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappState, dappWallet, errors,\n } = useInitializeDappAdHoc(dapp)\n\n return (\n <FlexCol>\n <DappRendered\n context={context}\n dapp={dapp}\n dappMenuProperties={dappMenu}\n dappState={dappState}\n dappWallet={dappWallet}\n errors={errors}\n />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { usePromise } from '@xylabs/react-promise'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport {\n useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,\n} from '@xyo-network/os-react-runtime'\nimport { DappInitializer } from '@xyo-network/os-runtime'\n\nconst dappState = {\n active: true, minimized: false, closed: false,\n}\n\nexport const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {\n const xyOs = useXyOsUiContext()\n\n const [installedDapp, nodeCreateError] = usePromise(async () => {\n if (xyOs && dapp) {\n const installer = new DappInitializer({\n allowedNames: [dapp.config.name],\n dapp,\n xnsNetwork: undefined,\n xnsNodeUrl: undefined,\n xyOs,\n })\n return await installer.install()\n }\n }, [xyOs, dapp])\n\n const { dappWallet, context } = installedDapp ?? {}\n\n // support for routing\n const routingError = useManageDappPathFromRoute(context, dapp.config.name)\n const injectableErrors = useManageDappInjectableParamsFromRoute(context)\n\n const dappMenu = useDappMenu(context, dapp.config.name)\n\n return {\n context,\n dappMenu,\n dappState,\n dappWallet,\n errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { Kernel } from '@xyo-network/kernel'\nimport type { KernelExternal } from '@xyo-network/kernel-model'\nimport { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'\nimport { EventBus, XyOs } from '@xyo-network/os-runtime'\nimport { HDWallet, ModuleFactoryLocator } from '@xyo-network/sdk-js'\nimport type { WalletInstance } from '@xyo-network/wallet-model'\nimport React, { useMemo } from 'react'\n\nexport interface XyOsHostProps {\n children?: React.ReactNode\n eventBus?: EventBus\n kernel?: KernelExternal\n locator?: ModuleFactoryLocator\n wallet?: WalletInstance\n}\n\nexport const XyOsHost: React.FC<XyOsHostProps> = ({\n children, eventBus, kernel, locator, wallet,\n}) => {\n const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])\n const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])\n const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])\n const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])\n\n const [os, error] = usePromise(async () => {\n if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {\n const os = new XyOs({\n kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,\n })\n await os.boot(walletToUse, locatorToUse)\n return os\n }\n }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])\n\n return os\n ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>\n : (\n <FlexCol>\n <Typography>\n wallet:\n {walletToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n kernel:\n {kernelToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os:\n {os ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os-error:\n {error?.message}\n </Typography>\n </FlexCol>\n )\n}\n","import React from 'react'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport type { DappHostProps } from './DappHost.tsx'\nimport { DappHost } from './DappHost.tsx'\nimport { DappRoutes } from './Routes.tsx'\n\nexport const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {\n return (\n <BrowserRouter>\n <DappRoutes dapp={dapp} />\n <DappHost dapp={dapp} />\n </BrowserRouter>\n )\n}\n","import React from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nimport { DappHost, type DappHostProps } from './DappHost.tsx'\n\nexport const DappRoutes: React.FC<DappHostProps> = args => (\n <Routes>\n <Route\n path=\"/\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName/:path/*\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"*\"\n element={(\n <DappHost {...args} />\n )}\n />\n </Routes>\n)\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"0'\",\n \"name\": \"CustomDappNode\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"schema\": \"network.xyo.archivist.config\"\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import type { UnregisteredDapp } from '@xyo-network/os-model'\nimport { ModuleFactoryLocator } from '@xyo-network/sdk-js'\n\nimport { CustomDappIconSvg } from './icon/index.ts'\n\nconst locator = new ModuleFactoryLocator()\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport default CustomDappParams\n","/* eslint-disable @stylistic/max-len */\nexport const CustomDappIconSvg = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\">\n <path\n fill=\"transparent\"\n d=\"M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z\"\n />\n </svg>\n `\n","/* eslint-disable @stylistic/max-len */\nimport type {\n DappConfig,\n DappIcon,\n DappName,\n DappNavItem,\n DappNavMenuConfig,\n DappPackageManifestPayload,\n DappVersion,\n} from '@xyo-network/os-model'\nimport {\n DappConfigSchema,\n DappIconSchema,\n DappMode,\n DappNavItemSchema,\n DappNavMenuConfigSchema,\n} from '@xyo-network/os-model'\n\nimport dappManifest from './dapp.manifest.json' with { type: 'json' }\n\nexport const CustomDappName: DappName = 'Custom Dapp' as const\n\nconst version: DappVersion = '1.0.0'\n\nexport const CustomDappConfig: DappConfig = {\n manifest: dappManifest as unknown as DappPackageManifestPayload,\n modes: [DappMode.Window],\n name: CustomDappName,\n schema: DappConfigSchema,\n sources: ['network.xyo.dapp.accounts.source'],\n version,\n}\n\nexport const CustomDappIcon: DappIcon = {\n active: false,\n installed: 'installed',\n name: CustomDappName,\n schema: DappIconSchema,\n type: 'system',\n version,\n}\n\nexport const DappPayloads = [CustomDappConfig, CustomDappIcon]\n\nexport type CustomDappMenuItemPaths = 'home' | 'settings'\n\nconst CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [\n {\n path: 'home',\n primaryText: 'Home',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n {\n path: 'settings',\n primaryText: 'Settings',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n]\n\nconst CustomDappMenuConfig: DappNavMenuConfig = {\n defaultPath: 'home',\n schema: DappNavMenuConfigSchema,\n}\n\nexport const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]\n","import { ErrorRender } from '@xylabs/react-error'\nimport { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'\nimport { CustomDappMenuPayloads } from './Payloads.ts'\n\nexport const CustomDapp = () => {\n const {\n menuConfig, path, error,\n } = useAddDappMenuItems(CustomDappMenuPayloads)\n\n return (\n <>\n <ErrorRender error={error} scope=\"CustomDapp\" />\n <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />\n </>\n )\n}\n","import { FlexRow } from '@xylabs/react-flexbox'\nimport type { PathToComponent } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nexport const CustomDappPathToComponent: PathToComponent[] = [\n {\n component: <FlexRow />,\n path: 'home',\n },\n]\n","import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'\n\nimport { CustomDapp } from './Dapp.tsx'\nimport { CustomDappParams } from './Params.ts'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport default CustomDappUiParams\n"],"mappings":"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","names":["FlexCol","DappRendered","React","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","DappInitializer","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","Typography","FlexCol","usePromise","Kernel","XyOsUiContextProvider","EventBus","XyOs","HDWallet","ModuleFactoryLocator","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAM7D,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAGvD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAO7D,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAGvD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { KernelExternal } from '@xyo-network/kernel-model';
2
- import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator';
3
2
  import { EventBus } from '@xyo-network/os-runtime';
3
+ import { ModuleFactoryLocator } from '@xyo-network/sdk-js';
4
4
  import type { WalletInstance } from '@xyo-network/wallet-model';
5
5
  import React from 'react';
6
6
  export interface XyOsHostProps {
@@ -1 +1 @@
1
- {"version":3,"file":"XyOsHost.d.ts","sourceRoot":"","sources":["../../../../src/components/host/XyOsHost.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAE1E,OAAO,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAA;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwC5C,CAAA"}
1
+ {"version":3,"file":"XyOsHost.d.ts","sourceRoot":"","sources":["../../../../src/components/host/XyOsHost.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,OAAO,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwC5C,CAAA"}
@@ -56,10 +56,9 @@ import { Typography } from "@mui/material";
56
56
  import { FlexCol } from "@xylabs/react-flexbox";
57
57
  import { usePromise as usePromise2 } from "@xylabs/react-promise";
58
58
  import { Kernel } from "@xyo-network/kernel";
59
- import { ModuleFactoryLocator } from "@xyo-network/module-factory-locator";
60
59
  import { XyOsUiContextProvider } from "@xyo-network/os-react-runtime";
61
60
  import { EventBus, XyOs } from "@xyo-network/os-runtime";
62
- import { HDWallet } from "@xyo-network/wallet";
61
+ import { HDWallet, ModuleFactoryLocator } from "@xyo-network/sdk-js";
63
62
  import React, { useMemo } from "react";
64
63
  var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: locator2, wallet }) => {
65
64
  const [walletToUse] = usePromise2(async () => wallet ?? await HDWallet.random(), [
@@ -170,7 +169,7 @@ var dapp_manifest_default = {
170
169
  };
171
170
 
172
171
  // src/Params.ts
173
- import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/module-factory-locator";
172
+ import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/sdk-js";
174
173
 
175
174
  // src/icon/Icon.tsx
176
175
  var CustomDappIconSvg = `
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/host/DappHost.tsx","../../src/helpers/registration/useInitializeDappAdHoc.tsx","../../src/components/host/XyOsHost.tsx","../../src/components/host/Routable.tsx","../../src/components/host/Routes.tsx","../../src/dapp.manifest.json","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/Dapp.tsx","../../src/CustomDappPathToComponent.tsx","../../src/UiParams.ts"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { useInitializeDappAdHoc } from '../../helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappState, dappWallet, errors,\n } = useInitializeDappAdHoc(dapp)\n\n return (\n <FlexCol>\n <DappRendered\n context={context}\n dapp={dapp}\n dappMenuProperties={dappMenu}\n dappState={dappState}\n dappWallet={dappWallet}\n errors={errors}\n />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { usePromise } from '@xylabs/react-promise'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport {\n useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,\n} from '@xyo-network/os-react-runtime'\nimport { DappInitializer } from '@xyo-network/os-runtime'\n\nconst dappState = {\n active: true, minimized: false, closed: false,\n}\n\nexport const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {\n const xyOs = useXyOsUiContext()\n\n const [installedDapp, nodeCreateError] = usePromise(async () => {\n if (xyOs && dapp) {\n const installer = new DappInitializer({\n allowedNames: [dapp.config.name],\n dapp,\n xnsNetwork: undefined,\n xnsNodeUrl: undefined,\n xyOs,\n })\n return await installer.install()\n }\n }, [xyOs, dapp])\n\n const { dappWallet, context } = installedDapp ?? {}\n\n // support for routing\n const routingError = useManageDappPathFromRoute(context, dapp.config.name)\n const injectableErrors = useManageDappInjectableParamsFromRoute(context)\n\n const dappMenu = useDappMenu(context, dapp.config.name)\n\n return {\n context,\n dappMenu,\n dappState,\n dappWallet,\n errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { Kernel } from '@xyo-network/kernel'\nimport type { KernelExternal } from '@xyo-network/kernel-model'\nimport { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'\nimport { EventBus, XyOs } from '@xyo-network/os-runtime'\nimport { HDWallet } from '@xyo-network/wallet'\nimport type { WalletInstance } from '@xyo-network/wallet-model'\nimport React, { useMemo } from 'react'\n\nexport interface XyOsHostProps {\n children?: React.ReactNode\n eventBus?: EventBus\n kernel?: KernelExternal\n locator?: ModuleFactoryLocator\n wallet?: WalletInstance\n}\n\nexport const XyOsHost: React.FC<XyOsHostProps> = ({\n children, eventBus, kernel, locator, wallet,\n}) => {\n const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])\n const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])\n const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])\n const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])\n\n const [os, error] = usePromise(async () => {\n if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {\n const os = new XyOs({\n kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,\n })\n await os.boot(walletToUse, locatorToUse)\n return os\n }\n }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])\n\n return os\n ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>\n : (\n <FlexCol>\n <Typography>\n wallet:\n {walletToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n kernel:\n {kernelToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os:\n {os ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os-error:\n {error?.message}\n </Typography>\n </FlexCol>\n )\n}\n","import React from 'react'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport type { DappHostProps } from './DappHost.tsx'\nimport { DappHost } from './DappHost.tsx'\nimport { DappRoutes } from './Routes.tsx'\n\nexport const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {\n return (\n <BrowserRouter>\n <DappRoutes dapp={dapp} />\n <DappHost dapp={dapp} />\n </BrowserRouter>\n )\n}\n","import React from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nimport { DappHost, type DappHostProps } from './DappHost.tsx'\n\nexport const DappRoutes: React.FC<DappHostProps> = args => (\n <Routes>\n <Route\n path=\"/\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName/:path/*\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"*\"\n element={(\n <DappHost {...args} />\n )}\n />\n </Routes>\n)\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"0'\",\n \"name\": \"CustomDappNode\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"schema\": \"network.xyo.archivist.config\"\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'\nimport type { UnregisteredDapp } from '@xyo-network/os-model'\n\nimport { CustomDappIconSvg } from './icon/index.ts'\n\nconst locator = new ModuleFactoryLocator()\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport default CustomDappParams\n","/* eslint-disable @stylistic/max-len */\nexport const CustomDappIconSvg = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\">\n <path\n fill=\"transparent\"\n d=\"M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z\"\n />\n </svg>\n `\n","/* eslint-disable @stylistic/max-len */\nimport type {\n DappConfig,\n DappIcon,\n DappName,\n DappNavItem,\n DappNavMenuConfig,\n DappPackageManifestPayload,\n DappVersion,\n} from '@xyo-network/os-model'\nimport {\n DappConfigSchema,\n DappIconSchema,\n DappMode,\n DappNavItemSchema,\n DappNavMenuConfigSchema,\n} from '@xyo-network/os-model'\n\nimport dappManifest from './dapp.manifest.json' with { type: 'json' }\n\nexport const CustomDappName: DappName = 'Custom Dapp' as const\n\nconst version: DappVersion = '1.0.0'\n\nexport const CustomDappConfig: DappConfig = {\n manifest: dappManifest as unknown as DappPackageManifestPayload,\n modes: [DappMode.Window],\n name: CustomDappName,\n schema: DappConfigSchema,\n sources: ['network.xyo.dapp.accounts.source'],\n version,\n}\n\nexport const CustomDappIcon: DappIcon = {\n active: false,\n installed: 'installed',\n name: CustomDappName,\n schema: DappIconSchema,\n type: 'system',\n version,\n}\n\nexport const DappPayloads = [CustomDappConfig, CustomDappIcon]\n\nexport type CustomDappMenuItemPaths = 'home' | 'settings'\n\nconst CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [\n {\n path: 'home',\n primaryText: 'Home',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n {\n path: 'settings',\n primaryText: 'Settings',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n]\n\nconst CustomDappMenuConfig: DappNavMenuConfig = {\n defaultPath: 'home',\n schema: DappNavMenuConfigSchema,\n}\n\nexport const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]\n","import { ErrorRender } from '@xylabs/react-error'\nimport { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'\nimport { CustomDappMenuPayloads } from './Payloads.ts'\n\nexport const CustomDapp = () => {\n const {\n menuConfig, path, error,\n } = useAddDappMenuItems(CustomDappMenuPayloads)\n\n return (\n <>\n <ErrorRender error={error} scope=\"CustomDapp\" />\n <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />\n </>\n )\n}\n","import { FlexRow } from '@xylabs/react-flexbox'\nimport type { PathToComponent } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nexport const CustomDappPathToComponent: PathToComponent[] = [\n {\n component: <FlexRow />,\n path: 'home',\n },\n]\n","import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'\n\nimport { CustomDapp } from './Dapp.tsx'\nimport { CustomDappParams } from './Params.ts'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport default CustomDappUiParams\n"],"mappings":"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","names":["FlexCol","DappRendered","React","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","DappInitializer","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","Typography","FlexCol","usePromise","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","HDWallet","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
1
+ {"version":3,"sources":["../../src/components/host/DappHost.tsx","../../src/helpers/registration/useInitializeDappAdHoc.tsx","../../src/components/host/XyOsHost.tsx","../../src/components/host/Routable.tsx","../../src/components/host/Routes.tsx","../../src/dapp.manifest.json","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/Dapp.tsx","../../src/CustomDappPathToComponent.tsx","../../src/UiParams.ts"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { useInitializeDappAdHoc } from '../../helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappState, dappWallet, errors,\n } = useInitializeDappAdHoc(dapp)\n\n return (\n <FlexCol>\n <DappRendered\n context={context}\n dapp={dapp}\n dappMenuProperties={dappMenu}\n dappState={dappState}\n dappWallet={dappWallet}\n errors={errors}\n />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { usePromise } from '@xylabs/react-promise'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport {\n useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,\n} from '@xyo-network/os-react-runtime'\nimport { DappInitializer } from '@xyo-network/os-runtime'\n\nconst dappState = {\n active: true, minimized: false, closed: false,\n}\n\nexport const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {\n const xyOs = useXyOsUiContext()\n\n const [installedDapp, nodeCreateError] = usePromise(async () => {\n if (xyOs && dapp) {\n const installer = new DappInitializer({\n allowedNames: [dapp.config.name],\n dapp,\n xnsNetwork: undefined,\n xnsNodeUrl: undefined,\n xyOs,\n })\n return await installer.install()\n }\n }, [xyOs, dapp])\n\n const { dappWallet, context } = installedDapp ?? {}\n\n // support for routing\n const routingError = useManageDappPathFromRoute(context, dapp.config.name)\n const injectableErrors = useManageDappInjectableParamsFromRoute(context)\n\n const dappMenu = useDappMenu(context, dapp.config.name)\n\n return {\n context,\n dappMenu,\n dappState,\n dappWallet,\n errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { Kernel } from '@xyo-network/kernel'\nimport type { KernelExternal } from '@xyo-network/kernel-model'\nimport { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'\nimport { EventBus, XyOs } from '@xyo-network/os-runtime'\nimport { HDWallet, ModuleFactoryLocator } from '@xyo-network/sdk-js'\nimport type { WalletInstance } from '@xyo-network/wallet-model'\nimport React, { useMemo } from 'react'\n\nexport interface XyOsHostProps {\n children?: React.ReactNode\n eventBus?: EventBus\n kernel?: KernelExternal\n locator?: ModuleFactoryLocator\n wallet?: WalletInstance\n}\n\nexport const XyOsHost: React.FC<XyOsHostProps> = ({\n children, eventBus, kernel, locator, wallet,\n}) => {\n const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])\n const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])\n const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])\n const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])\n\n const [os, error] = usePromise(async () => {\n if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {\n const os = new XyOs({\n kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,\n })\n await os.boot(walletToUse, locatorToUse)\n return os\n }\n }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])\n\n return os\n ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>\n : (\n <FlexCol>\n <Typography>\n wallet:\n {walletToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n kernel:\n {kernelToUse ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os:\n {os ? 'ready' : 'loading'}\n </Typography>\n <Typography>\n os-error:\n {error?.message}\n </Typography>\n </FlexCol>\n )\n}\n","import React from 'react'\nimport { BrowserRouter } from 'react-router-dom'\n\nimport type { DappHostProps } from './DappHost.tsx'\nimport { DappHost } from './DappHost.tsx'\nimport { DappRoutes } from './Routes.tsx'\n\nexport const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {\n return (\n <BrowserRouter>\n <DappRoutes dapp={dapp} />\n <DappHost dapp={dapp} />\n </BrowserRouter>\n )\n}\n","import React from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nimport { DappHost, type DappHostProps } from './DappHost.tsx'\n\nexport const DappRoutes: React.FC<DappHostProps> = args => (\n <Routes>\n <Route\n path=\"/\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"/:dappName/:path/*\"\n element={(\n <DappHost {...args} />\n )}\n />\n <Route\n path=\"*\"\n element={(\n <DappHost {...args} />\n )}\n />\n </Routes>\n)\n","{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"0'\",\n \"name\": \"CustomDappNode\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"schema\": \"network.xyo.archivist.config\"\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import type { UnregisteredDapp } from '@xyo-network/os-model'\nimport { ModuleFactoryLocator } from '@xyo-network/sdk-js'\n\nimport { CustomDappIconSvg } from './icon/index.ts'\n\nconst locator = new ModuleFactoryLocator()\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport default CustomDappParams\n","/* eslint-disable @stylistic/max-len */\nexport const CustomDappIconSvg = `\n<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\">\n <path\n fill=\"transparent\"\n d=\"M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z\"\n />\n <path\n fill=\"transparent\"\n d=\"M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z\"\n />\n </svg>\n `\n","/* eslint-disable @stylistic/max-len */\nimport type {\n DappConfig,\n DappIcon,\n DappName,\n DappNavItem,\n DappNavMenuConfig,\n DappPackageManifestPayload,\n DappVersion,\n} from '@xyo-network/os-model'\nimport {\n DappConfigSchema,\n DappIconSchema,\n DappMode,\n DappNavItemSchema,\n DappNavMenuConfigSchema,\n} from '@xyo-network/os-model'\n\nimport dappManifest from './dapp.manifest.json' with { type: 'json' }\n\nexport const CustomDappName: DappName = 'Custom Dapp' as const\n\nconst version: DappVersion = '1.0.0'\n\nexport const CustomDappConfig: DappConfig = {\n manifest: dappManifest as unknown as DappPackageManifestPayload,\n modes: [DappMode.Window],\n name: CustomDappName,\n schema: DappConfigSchema,\n sources: ['network.xyo.dapp.accounts.source'],\n version,\n}\n\nexport const CustomDappIcon: DappIcon = {\n active: false,\n installed: 'installed',\n name: CustomDappName,\n schema: DappIconSchema,\n type: 'system',\n version,\n}\n\nexport const DappPayloads = [CustomDappConfig, CustomDappIcon]\n\nexport type CustomDappMenuItemPaths = 'home' | 'settings'\n\nconst CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [\n {\n path: 'home',\n primaryText: 'Home',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n {\n path: 'settings',\n primaryText: 'Settings',\n schema: DappNavItemSchema,\n svgIcon: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"none\"><path fill=\"currentColor\" d=\"M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z\"/></svg>\n `,\n weight: 0,\n },\n]\n\nconst CustomDappMenuConfig: DappNavMenuConfig = {\n defaultPath: 'home',\n schema: DappNavMenuConfigSchema,\n}\n\nexport const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]\n","import { ErrorRender } from '@xylabs/react-error'\nimport { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nimport { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'\nimport { CustomDappMenuPayloads } from './Payloads.ts'\n\nexport const CustomDapp = () => {\n const {\n menuConfig, path, error,\n } = useAddDappMenuItems(CustomDappMenuPayloads)\n\n return (\n <>\n <ErrorRender error={error} scope=\"CustomDapp\" />\n <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />\n </>\n )\n}\n","import { FlexRow } from '@xylabs/react-flexbox'\nimport type { PathToComponent } from '@xyo-network/os-react-runtime'\nimport React from 'react'\n\nexport const CustomDappPathToComponent: PathToComponent[] = [\n {\n component: <FlexRow />,\n path: 'home',\n },\n]\n","import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'\n\nimport { CustomDapp } from './Dapp.tsx'\nimport { CustomDappParams } from './Params.ts'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport default CustomDappUiParams\n"],"mappings":"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","names":["FlexCol","DappRendered","React","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","DappInitializer","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","Typography","FlexCol","usePromise","Kernel","XyOsUiContextProvider","EventBus","XyOs","HDWallet","ModuleFactoryLocator","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/dapp-template",
3
- "version": "7.2.1",
3
+ "version": "7.3.1",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -30,54 +30,317 @@
30
30
  },
31
31
  "./package.json": "./package.json"
32
32
  },
33
- "module": "dist/neutral/index.mjs",
34
- "types": "dist/neutral/index.d.ts",
35
33
  "files": [
36
34
  "dist",
37
- "src"
35
+ "README.md"
38
36
  ],
39
37
  "dependencies": {
40
- "@xylabs/react-error": "~7.1.9",
41
- "@xylabs/react-flexbox": "~7.1.9",
42
- "@xylabs/react-promise": "~7.1.9",
43
- "@xylabs/sdk-js": "~5.0.64",
44
- "@xyo-network/kernel": "~7.2.1",
45
- "@xyo-network/kernel-model": "~7.2.1",
46
- "@xyo-network/module-factory-locator": "~5.3.2",
47
- "@xyo-network/os-model": "~7.2.1",
48
- "@xyo-network/os-react-model": "~7.2.1",
49
- "@xyo-network/os-react-runtime": "~7.2.1",
50
- "@xyo-network/os-runtime": "~7.2.1",
51
- "@xyo-network/payload-model": "~5.3.2",
52
- "@xyo-network/wallet": "~5.3.2",
53
- "@xyo-network/wallet-model": "~5.3.2"
38
+ "@xyo-network/kernel-model": "~7.3.1",
39
+ "@xyo-network/os-model": "~7.3.1",
40
+ "@xyo-network/os-react-model": "~7.3.1",
41
+ "@xyo-network/kernel": "~7.3.1",
42
+ "@xyo-network/os-react-runtime": "~7.3.1",
43
+ "@xyo-network/os-runtime": "~7.3.1"
54
44
  },
55
45
  "devDependencies": {
56
- "@emotion/react": "~11.14.0",
57
- "@emotion/styled": "~11.14.1",
58
- "@mui/icons-material": "~7.3.7",
59
- "@mui/material": "~7.3.7",
60
- "@storybook/react-vite": "~10.2.1",
61
- "@types/react": "~19.2.10",
62
- "@xylabs/ts-scripts-yarn3": "~7.3.2",
63
- "@xylabs/tsconfig": "~7.3.2",
64
- "@xylabs/tsconfig-dom": "~7.3.2",
65
- "@xylabs/tsconfig-react": "~7.3.2",
66
- "react": "~19.2.4",
67
- "react-dom": "~19.2.4",
68
- "react-router-dom": "~7.13.0",
69
- "storybook": "~10.2.1",
46
+ "@bitauth/libauth": "~3.0.0",
47
+ "@emotion/react": "^11.14.0",
48
+ "@emotion/styled": "^11.14.1",
49
+ "@metamask/providers": "^22.1.1",
50
+ "@mui/icons-material": "^7.3.11",
51
+ "@mui/material": "^7.3.11",
52
+ "@mui/system": "^7.3.11",
53
+ "@mui/x-charts": "~8.28.2",
54
+ "@mui/x-tree-view": "~8.27.2",
55
+ "@opentelemetry/api": "^1.9.1",
56
+ "@opentelemetry/sdk-trace-base": "^2.7.1",
57
+ "@react-spring/web": "~10.0.3",
58
+ "@scure/base": "~2.2.0",
59
+ "@scure/bip39": "~2.2.0",
60
+ "@storybook/react-vite": "~10.3.6",
61
+ "@textea/json-viewer": "~4.0.1",
62
+ "@types/node": "~25.6.1",
63
+ "@types/react": "~19.2.14",
64
+ "@xylabs/geo": "^5.1.2",
65
+ "@xylabs/indexed-db": "^5.1.2",
66
+ "@xylabs/pixel": "^5.1.2",
67
+ "@xylabs/react-animation": "~7.2.5",
68
+ "@xylabs/react-async-effect": "~7.2.5",
69
+ "@xylabs/react-button": "~7.2.5",
70
+ "@xylabs/react-common": "~7.2.5",
71
+ "@xylabs/react-crypto": "~7.2.5",
72
+ "@xylabs/react-error": "~7.2.5",
73
+ "@xylabs/react-flexbox": "~7.2.5",
74
+ "@xylabs/react-hooks": "~7.2.5",
75
+ "@xylabs/react-identicon": "~7.2.5",
76
+ "@xylabs/react-link": "~7.2.5",
77
+ "@xylabs/react-number-status": "~7.2.5",
78
+ "@xylabs/react-promise": "~7.2.5",
79
+ "@xylabs/react-quick-tip-button": "~7.2.5",
80
+ "@xylabs/react-select": "~7.2.5",
81
+ "@xylabs/react-shared": "~7.2.5",
82
+ "@xylabs/react-theme": "~7.2.5",
83
+ "@xylabs/sdk-js": "^5.1.2",
84
+ "@xylabs/threads": "^5.1.2",
85
+ "@xylabs/toolchain": "~7.13.17",
86
+ "@xylabs/tsconfig": "^7.13.17",
87
+ "@xylabs/tsconfig-dom": "^7.13.17",
88
+ "@xylabs/tsconfig-react": "~7.13.17",
89
+ "@xyo-network/account": "~5.6.2",
90
+ "@xyo-network/account-model": "~5.6.3",
91
+ "@xyo-network/api": "~5.6.2",
92
+ "@xyo-network/api-models": "~5.6.3",
93
+ "@xyo-network/archivist-indexeddb": "~5.6.4",
94
+ "@xyo-network/archivist-memory": "~5.6.4",
95
+ "@xyo-network/archivist-model": "^5.6.4",
96
+ "@xyo-network/archivist-storage": "~5.6.4",
97
+ "@xyo-network/archivist-view": "~5.6.4",
98
+ "@xyo-network/boundwitness-builder": "^5.6.2",
99
+ "@xyo-network/boundwitness-model": "~5.6.3",
100
+ "@xyo-network/boundwitness-validator": "^5.6.2",
101
+ "@xyo-network/boundwitness-wrapper": "~5.6.2",
102
+ "@xyo-network/bridge-http": "~5.6.4",
103
+ "@xyo-network/bridge-model": "^5.6.4",
104
+ "@xyo-network/bridge-pub-sub": "~5.6.4",
105
+ "@xyo-network/config-payload-plugin": "~5.6.3",
106
+ "@xyo-network/diviner-boundwitness-indexeddb": "~5.6.4",
107
+ "@xyo-network/diviner-model": "^5.6.4",
108
+ "@xyo-network/diviner-payload-generic": "~5.6.4",
109
+ "@xyo-network/diviner-payload-indexeddb": "~5.6.4",
110
+ "@xyo-network/diviner-payload-model": "~5.6.4",
111
+ "@xyo-network/diviner-schema-list": "~5.6.4",
112
+ "@xyo-network/diviner-schema-stats": "~5.6.4",
113
+ "@xyo-network/diviner-temporal-indexing-model": "~5.6.4",
114
+ "@xyo-network/huri": "~5.6.2",
115
+ "@xyo-network/manifest-model": "~5.6.3",
116
+ "@xyo-network/module-event-emitter": "~5.6.4",
117
+ "@xyo-network/module-model": "^5.6.4",
118
+ "@xyo-network/module-wrapper": "~5.6.4",
119
+ "@xyo-network/network": "~5.6.3",
120
+ "@xyo-network/node-core-types": "~4.2.2",
121
+ "@xyo-network/node-memory": "~5.6.4",
122
+ "@xyo-network/node-model": "^5.6.4",
123
+ "@xyo-network/payload-builder": "^5.6.2",
124
+ "@xyo-network/payload-model": "~5.6.3",
125
+ "@xyo-network/payload-plugin": "^5.6.3",
126
+ "@xyo-network/payload-validator": "^5.6.3",
127
+ "@xyo-network/payload-wrapper": "~5.6.2",
128
+ "@xyo-network/payloadset-plugin": "^5.6.4",
129
+ "@xyo-network/query-payload-plugin": "~5.6.3",
130
+ "@xyo-network/react-archivist": "~7.6.3",
131
+ "@xyo-network/react-card": "~7.6.3",
132
+ "@xyo-network/react-form-credit-card": "~7.6.3",
133
+ "@xyo-network/react-node": "~7.6.3",
134
+ "@xyo-network/react-node-renderer": "~7.6.3",
135
+ "@xyo-network/react-payload-raw-info": "~7.6.3",
136
+ "@xyo-network/react-payload-table": "~7.6.3",
137
+ "@xyo-network/react-shared": "~7.6.3",
138
+ "@xyo-network/react-table": "~7.6.3",
139
+ "@xyo-network/react-wallet": "~7.6.3",
140
+ "@xyo-network/schema-cache": "~5.6.3",
141
+ "@xyo-network/schema-payload-plugin": "~5.6.3",
142
+ "@xyo-network/sdk-js": "~5.6.4",
143
+ "@xyo-network/sdk-protocol-js": "~5.6.3",
144
+ "@xyo-network/sentinel-model": "^5.6.4",
145
+ "@xyo-network/typeof": "~5.3.30",
146
+ "@xyo-network/wallet": "~5.6.2",
147
+ "@xyo-network/wallet-model": "^5.6.3",
148
+ "@xyo-network/witness-model": "^5.6.4",
149
+ "ajv": "^8.20.0",
150
+ "async-mutex": "^0.5.0",
151
+ "bn.js": "^5.2.3",
152
+ "bowser": "^2.14.1",
153
+ "buffer": "^6.0.3",
154
+ "card-validator": "~10.0.4",
155
+ "chalk": "^5.6.2",
156
+ "cytoscape": "^3.33.3",
157
+ "cytoscape-cola": "~2.5.1",
158
+ "cytoscape-cose-bilkent": "~4.1.0",
159
+ "cytoscape-dagre": "~2.5.0",
160
+ "cytoscape-euler": "~1.2.4",
161
+ "debug": "~4.4.3",
162
+ "eslint": "~10.3.0",
163
+ "ethers": "^6.16.0",
164
+ "fast-deep-equal": "~3.1.3",
165
+ "hash-wasm": "~4.12.0",
166
+ "idb": "^8.0.3",
167
+ "js-cookie": "~3.0.5",
168
+ "lru-cache": "^11.3.6",
169
+ "luxon": "~3.7.2",
170
+ "mapbox-gl": "^3.23.1",
171
+ "md5": "~2.3",
172
+ "mixpanel-browser": "^2.78",
173
+ "numeral": "~2.0.6",
174
+ "observable-fns": "~0.6.1",
175
+ "pako": "^2.1.0",
176
+ "query-string": "~9.3.1",
177
+ "react": "^19.2.6",
178
+ "react-dom": "^19.2.6",
179
+ "react-helmet": "~6.1.0",
180
+ "react-icons": "~5.6.0",
181
+ "react-is": "^19.2.6",
182
+ "react-router-dom": "~7.15",
183
+ "react-use-gesture": "~9.1.3",
184
+ "recharts": "~3.8.1",
185
+ "rollbar": "~3.1.0",
186
+ "spark-md5": "~3.0.2",
187
+ "store2": "~2.14.4",
188
+ "storybook": "~10.3.6",
189
+ "string-to-color": "~2.2.2",
70
190
  "typescript": "~5.9.3",
71
- "vite": "~7.3.1"
191
+ "viem": "^2.48.8",
192
+ "vite": "~8.0.11",
193
+ "wasm-feature-detect": "~1.8.0",
194
+ "webextension-polyfill": "^0.12.0",
195
+ "zod": "^4.4.3"
72
196
  },
73
197
  "peerDependencies": {
74
- "@mui/icons-material": ">=6 <8",
75
- "@mui/material": ">=6 <8",
76
- "react": "~19",
77
- "react-dom": "~19",
78
- "react-router-dom": "~7"
198
+ "@bitauth/libauth": "~3.0",
199
+ "@emotion/react": "^11.14",
200
+ "@emotion/styled": "^11.14",
201
+ "@metamask/providers": "^22.1",
202
+ "@mui/icons-material": "^7.3",
203
+ "@mui/material": "^7.3",
204
+ "@mui/system": "^7.3",
205
+ "@mui/x-charts": "~8.28",
206
+ "@mui/x-tree-view": "~8.27",
207
+ "@opentelemetry/api": "^1.9",
208
+ "@opentelemetry/sdk-trace-base": "^2.7",
209
+ "@react-spring/web": "~10.0",
210
+ "@scure/base": "~2.2",
211
+ "@scure/bip39": "~2.2",
212
+ "@textea/json-viewer": "~4.0",
213
+ "@types/node": "~25.6",
214
+ "@xylabs/geo": "^5.0",
215
+ "@xylabs/indexed-db": "^5.0",
216
+ "@xylabs/pixel": "^5.1",
217
+ "@xylabs/react-animation": "~7.2",
218
+ "@xylabs/react-async-effect": "~7.2",
219
+ "@xylabs/react-button": "~7.2",
220
+ "@xylabs/react-common": "~7.2",
221
+ "@xylabs/react-crypto": "~7.2",
222
+ "@xylabs/react-error": "~7.2",
223
+ "@xylabs/react-flexbox": "~7.2",
224
+ "@xylabs/react-hooks": "~7.2",
225
+ "@xylabs/react-identicon": "~7.2",
226
+ "@xylabs/react-link": "~7.2",
227
+ "@xylabs/react-number-status": "~7.2",
228
+ "@xylabs/react-promise": "~7.2",
229
+ "@xylabs/react-quick-tip-button": "~7.2",
230
+ "@xylabs/react-select": "~7.2",
231
+ "@xylabs/react-shared": "~7.2",
232
+ "@xylabs/react-theme": "~7.2",
233
+ "@xylabs/sdk-js": "^5.0",
234
+ "@xylabs/threads": "^5.0",
235
+ "@xyo-network/account": "~5.6",
236
+ "@xyo-network/account-model": "~5.6",
237
+ "@xyo-network/api": "~5.6",
238
+ "@xyo-network/api-models": "~5.6",
239
+ "@xyo-network/archivist-indexeddb": "~5.6",
240
+ "@xyo-network/archivist-memory": "~5.6",
241
+ "@xyo-network/archivist-model": "^5.5",
242
+ "@xyo-network/archivist-storage": "~5.6",
243
+ "@xyo-network/archivist-view": "~5.6",
244
+ "@xyo-network/boundwitness-builder": "^5.5",
245
+ "@xyo-network/boundwitness-model": "~5.6",
246
+ "@xyo-network/boundwitness-validator": "^5.5",
247
+ "@xyo-network/boundwitness-wrapper": "~5.6",
248
+ "@xyo-network/bridge-http": "~5.6",
249
+ "@xyo-network/bridge-model": "^5.5",
250
+ "@xyo-network/bridge-pub-sub": "~5.6",
251
+ "@xyo-network/config-payload-plugin": "~5.6",
252
+ "@xyo-network/diviner-boundwitness-indexeddb": "~5.6",
253
+ "@xyo-network/diviner-model": "^5.5",
254
+ "@xyo-network/diviner-payload-generic": "~5.6",
255
+ "@xyo-network/diviner-payload-indexeddb": "~5.6",
256
+ "@xyo-network/diviner-payload-model": "~5.6",
257
+ "@xyo-network/diviner-schema-list": "~5.6",
258
+ "@xyo-network/diviner-schema-stats": "~5.6",
259
+ "@xyo-network/diviner-temporal-indexing-model": "~5.6",
260
+ "@xyo-network/huri": "~5.6",
261
+ "@xyo-network/manifest-model": "~5.6",
262
+ "@xyo-network/module-event-emitter": "~5.6",
263
+ "@xyo-network/module-model": "^5.5",
264
+ "@xyo-network/module-wrapper": "~5.6",
265
+ "@xyo-network/network": "~5.6",
266
+ "@xyo-network/node-core-types": "~4.2",
267
+ "@xyo-network/node-memory": "~5.6",
268
+ "@xyo-network/node-model": "^5.5",
269
+ "@xyo-network/payload-builder": "^5.5",
270
+ "@xyo-network/payload-model": "~5.6",
271
+ "@xyo-network/payload-plugin": "^5.5",
272
+ "@xyo-network/payload-validator": "^5.5",
273
+ "@xyo-network/payload-wrapper": "~5.6",
274
+ "@xyo-network/payloadset-plugin": "^5.5",
275
+ "@xyo-network/query-payload-plugin": "~5.6",
276
+ "@xyo-network/react-archivist": "~7.6",
277
+ "@xyo-network/react-card": "~7.6",
278
+ "@xyo-network/react-form-credit-card": "~7.6",
279
+ "@xyo-network/react-node": "~7.6",
280
+ "@xyo-network/react-node-renderer": "~7.6",
281
+ "@xyo-network/react-payload-raw-info": "~7.6",
282
+ "@xyo-network/react-payload-table": "~7.6",
283
+ "@xyo-network/react-shared": "~7.6",
284
+ "@xyo-network/react-table": "~7.6",
285
+ "@xyo-network/react-wallet": "~7.6",
286
+ "@xyo-network/schema-cache": "~5.6",
287
+ "@xyo-network/schema-payload-plugin": "~5.6",
288
+ "@xyo-network/sdk-js": "~5.6",
289
+ "@xyo-network/sdk-protocol-js": "~5.6",
290
+ "@xyo-network/sentinel-model": "^5.5",
291
+ "@xyo-network/typeof": "~5.3",
292
+ "@xyo-network/wallet": "~5.6",
293
+ "@xyo-network/wallet-model": "^5.5",
294
+ "@xyo-network/witness-model": "^5.5",
295
+ "ajv": "^8.18",
296
+ "async-mutex": "^0.5",
297
+ "bn.js": "^5.2",
298
+ "bowser": "^2.14",
299
+ "buffer": "^6.0",
300
+ "card-validator": "~10.0",
301
+ "chalk": "^5.6",
302
+ "cytoscape": "^3.33",
303
+ "cytoscape-cola": "~2.5",
304
+ "cytoscape-cose-bilkent": "~4.1",
305
+ "cytoscape-dagre": "~2.5",
306
+ "cytoscape-euler": "~1.2",
307
+ "debug": "~4.4",
308
+ "ethers": "^6.16",
309
+ "fast-deep-equal": "~3.1",
310
+ "hash-wasm": "~4.12",
311
+ "idb": "^8.0",
312
+ "js-cookie": "~3.0",
313
+ "lru-cache": "^11.3",
314
+ "luxon": "~3.7",
315
+ "mapbox-gl": "^3.22",
316
+ "md5": "~2.3",
317
+ "mixpanel-browser": "^2.78",
318
+ "numeral": "~2.0",
319
+ "observable-fns": "~0.6",
320
+ "pako": "^2.1",
321
+ "query-string": "~9.3",
322
+ "react": "^19.2",
323
+ "react-dom": "^19.2",
324
+ "react-helmet": "~6.1",
325
+ "react-icons": "~5.6",
326
+ "react-is": "^19.2",
327
+ "react-router-dom": "~7.15",
328
+ "react-use-gesture": "~9.1",
329
+ "recharts": "~3.8",
330
+ "rollbar": "~3.1",
331
+ "spark-md5": "~3.0",
332
+ "store2": "~2.14",
333
+ "string-to-color": "~2.2",
334
+ "typescript": "~5.9",
335
+ "viem": "^2.48",
336
+ "wasm-feature-detect": "~1.8",
337
+ "webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0",
338
+ "zod": "^4.3"
339
+ },
340
+ "engines": {
341
+ "node": ">=22"
79
342
  },
80
343
  "publishConfig": {
81
344
  "access": "public"
82
345
  }
83
- }
346
+ }
@@ -1,8 +0,0 @@
1
- import type { Meta } from '@storybook/react-vite';
2
- import type { DappHostProps } from './components/index.ts';
3
- import { RoutableDapp } from './components/index.ts';
4
- declare const StorybookEntry: Meta<typeof RoutableDapp>;
5
- declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, DappHostProps>;
6
- export { Default };
7
- export default StorybookEntry;
8
- //# sourceMappingURL=dapp.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dapp.stories.d.ts","sourceRoot":"","sources":["../../src/dapp.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAK1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIpD,QAAA,MAAM,cAAc,EAKf,IAAI,CAAC,OAAO,YAAY,CAAC,CAAA;AAgB9B,QAAA,MAAM,OAAO,4GAAoB,CAAA;AAGjC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,eAAe,cAAc,CAAA"}
@@ -1,8 +0,0 @@
1
- import type { Meta } from '@storybook/react-vite';
2
- import type { DappHostProps } from './components/index.ts';
3
- import { RoutableDapp } from './components/index.ts';
4
- declare const StorybookEntry: Meta<typeof RoutableDapp>;
5
- declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, DappHostProps>;
6
- export { Default };
7
- export default StorybookEntry;
8
- //# sourceMappingURL=dapp.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dapp.stories.d.ts","sourceRoot":"","sources":["../../src/dapp.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAK1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIpD,QAAA,MAAM,cAAc,EAKf,IAAI,CAAC,OAAO,YAAY,CAAC,CAAA;AAgB9B,QAAA,MAAM,OAAO,4GAAoB,CAAA;AAGjC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,eAAe,cAAc,CAAA"}
@@ -1,10 +0,0 @@
1
- import { FlexRow } from '@xylabs/react-flexbox'
2
- import type { PathToComponent } from '@xyo-network/os-react-runtime'
3
- import React from 'react'
4
-
5
- export const CustomDappPathToComponent: PathToComponent[] = [
6
- {
7
- component: <FlexRow />,
8
- path: 'home',
9
- },
10
- ]
package/src/Dapp.tsx DELETED
@@ -1,19 +0,0 @@
1
- import { ErrorRender } from '@xylabs/react-error'
2
- import { DappPathSwitcher, useAddDappMenuItems } from '@xyo-network/os-react-runtime'
3
- import React from 'react'
4
-
5
- import { CustomDappPathToComponent } from './CustomDappPathToComponent.tsx'
6
- import { CustomDappMenuPayloads } from './Payloads.ts'
7
-
8
- export const CustomDapp = () => {
9
- const {
10
- menuConfig, path, error,
11
- } = useAddDappMenuItems(CustomDappMenuPayloads)
12
-
13
- return (
14
- <>
15
- <ErrorRender error={error} scope="CustomDapp" />
16
- <DappPathSwitcher activePath={path?.path ?? menuConfig?.defaultPath} pathToComponent={CustomDappPathToComponent} />
17
- </>
18
- )
19
- }
package/src/Params.ts DELETED
@@ -1,13 +0,0 @@
1
- import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'
2
- import type { UnregisteredDapp } from '@xyo-network/os-model'
3
-
4
- import { CustomDappIconSvg } from './icon/index.ts'
5
-
6
- const locator = new ModuleFactoryLocator()
7
-
8
- export const CustomDappParams: UnregisteredDapp['params'] = {
9
- iconSvg: CustomDappIconSvg,
10
- locator,
11
- }
12
-
13
- export default CustomDappParams
package/src/Payloads.ts DELETED
@@ -1,73 +0,0 @@
1
- /* eslint-disable @stylistic/max-len */
2
- import type {
3
- DappConfig,
4
- DappIcon,
5
- DappName,
6
- DappNavItem,
7
- DappNavMenuConfig,
8
- DappPackageManifestPayload,
9
- DappVersion,
10
- } from '@xyo-network/os-model'
11
- import {
12
- DappConfigSchema,
13
- DappIconSchema,
14
- DappMode,
15
- DappNavItemSchema,
16
- DappNavMenuConfigSchema,
17
- } from '@xyo-network/os-model'
18
-
19
- import dappManifest from './dapp.manifest.json' with { type: 'json' }
20
-
21
- export const CustomDappName: DappName = 'Custom Dapp' as const
22
-
23
- const version: DappVersion = '1.0.0'
24
-
25
- export const CustomDappConfig: DappConfig = {
26
- manifest: dappManifest as unknown as DappPackageManifestPayload,
27
- modes: [DappMode.Window],
28
- name: CustomDappName,
29
- schema: DappConfigSchema,
30
- sources: ['network.xyo.dapp.accounts.source'],
31
- version,
32
- }
33
-
34
- export const CustomDappIcon: DappIcon = {
35
- active: false,
36
- installed: 'installed',
37
- name: CustomDappName,
38
- schema: DappIconSchema,
39
- type: 'system',
40
- version,
41
- }
42
-
43
- export const DappPayloads = [CustomDappConfig, CustomDappIcon]
44
-
45
- export type CustomDappMenuItemPaths = 'home' | 'settings'
46
-
47
- const CustomDappMenuItems: DappNavItem<CustomDappMenuItemPaths>[] = [
48
- {
49
- path: 'home',
50
- primaryText: 'Home',
51
- schema: DappNavItemSchema,
52
- svgIcon: `
53
- <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24" fill="none"><path fill="currentColor" d="M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z"/></svg>
54
- `,
55
- weight: 0,
56
- },
57
- {
58
- path: 'settings',
59
- primaryText: 'Settings',
60
- schema: DappNavItemSchema,
61
- svgIcon: `
62
- <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24" fill="none"><path fill="currentColor" d="M420-360h120l-23-129q20-10 31.5-29t11.5-42q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 23 11.5 42t31.5 29l-23 129Zm60 280q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z"/></svg>
63
- `,
64
- weight: 0,
65
- },
66
- ]
67
-
68
- const CustomDappMenuConfig: DappNavMenuConfig = {
69
- defaultPath: 'home',
70
- schema: DappNavMenuConfigSchema,
71
- }
72
-
73
- export const CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig]
package/src/ReactDapp.ts DELETED
@@ -1,13 +0,0 @@
1
- import type { JsonObject } from '@xylabs/sdk-js'
2
- import type { DappParams } from '@xyo-network/os-model'
3
- import type { DappReactParams } from '@xyo-network/os-react-model'
4
- import type { Payload } from '@xyo-network/payload-model'
5
- export * from './UiParams.ts'
6
-
7
- export interface Dapp<TParams extends DappParams> {
8
- manifest: JsonObject
9
- params: TParams
10
- payloads: Payload[]
11
- }
12
-
13
- export interface ReactDapp extends Dapp<DappReactParams> {}
package/src/UiParams.ts DELETED
@@ -1,11 +0,0 @@
1
- import type { UnregisteredReactDapp } from '@xyo-network/os-react-model'
2
-
3
- import { CustomDapp } from './Dapp.tsx'
4
- import { CustomDappParams } from './Params.ts'
5
-
6
- export const CustomDappUiParams: UnregisteredReactDapp['params'] = {
7
- ...CustomDappParams,
8
- modes: { window: { component: CustomDapp } },
9
- }
10
-
11
- export default CustomDappUiParams
@@ -1,36 +0,0 @@
1
- import { FlexCol } from '@xylabs/react-flexbox'
2
- import type { RegisteredReactDapp } from '@xyo-network/os-react-model'
3
- import { DappRendered } from '@xyo-network/os-react-runtime'
4
- import React from 'react'
5
-
6
- import { useInitializeDappAdHoc } from '../../helpers/index.ts'
7
- import { XyOsHost } from './XyOsHost.tsx'
8
-
9
- export interface DappHostProps {
10
- dapp: RegisteredReactDapp
11
- }
12
-
13
- export const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {
14
- const {
15
- context, dappMenu, dappState, dappWallet, errors,
16
- } = useInitializeDappAdHoc(dapp)
17
-
18
- return (
19
- <FlexCol>
20
- <DappRendered
21
- context={context}
22
- dapp={dapp}
23
- dappMenuProperties={dappMenu}
24
- dappState={dappState}
25
- dappWallet={dappWallet}
26
- errors={errors}
27
- />
28
- </FlexCol>
29
- )
30
- }
31
-
32
- export const DappHost: React.FC<DappHostProps> = ({ dapp }) => (
33
- <XyOsHost>
34
- <DappHostInner dapp={dapp} />
35
- </XyOsHost>
36
- )
@@ -1,15 +0,0 @@
1
- import React from 'react'
2
- import { BrowserRouter } from 'react-router-dom'
3
-
4
- import type { DappHostProps } from './DappHost.tsx'
5
- import { DappHost } from './DappHost.tsx'
6
- import { DappRoutes } from './Routes.tsx'
7
-
8
- export const RoutableDapp: React.FC<DappHostProps> = ({ dapp }) => {
9
- return (
10
- <BrowserRouter>
11
- <DappRoutes dapp={dapp} />
12
- <DappHost dapp={dapp} />
13
- </BrowserRouter>
14
- )
15
- }
@@ -1,33 +0,0 @@
1
- import React from 'react'
2
- import { Route, Routes } from 'react-router-dom'
3
-
4
- import { DappHost, type DappHostProps } from './DappHost.tsx'
5
-
6
- export const DappRoutes: React.FC<DappHostProps> = args => (
7
- <Routes>
8
- <Route
9
- path="/"
10
- element={(
11
- <DappHost {...args} />
12
- )}
13
- />
14
- <Route
15
- path="/:dappName"
16
- element={(
17
- <DappHost {...args} />
18
- )}
19
- />
20
- <Route
21
- path="/:dappName/:path/*"
22
- element={(
23
- <DappHost {...args} />
24
- )}
25
- />
26
- <Route
27
- path="*"
28
- element={(
29
- <DappHost {...args} />
30
- )}
31
- />
32
- </Routes>
33
- )
@@ -1,61 +0,0 @@
1
- import { Typography } from '@mui/material'
2
- import { FlexCol } from '@xylabs/react-flexbox'
3
- import { usePromise } from '@xylabs/react-promise'
4
- import { Kernel } from '@xyo-network/kernel'
5
- import type { KernelExternal } from '@xyo-network/kernel-model'
6
- import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'
7
- import { XyOsUiContextProvider } from '@xyo-network/os-react-runtime'
8
- import { EventBus, XyOs } from '@xyo-network/os-runtime'
9
- import { HDWallet } from '@xyo-network/wallet'
10
- import type { WalletInstance } from '@xyo-network/wallet-model'
11
- import React, { useMemo } from 'react'
12
-
13
- export interface XyOsHostProps {
14
- children?: React.ReactNode
15
- eventBus?: EventBus
16
- kernel?: KernelExternal
17
- locator?: ModuleFactoryLocator
18
- wallet?: WalletInstance
19
- }
20
-
21
- export const XyOsHost: React.FC<XyOsHostProps> = ({
22
- children, eventBus, kernel, locator, wallet,
23
- }) => {
24
- const [walletToUse] = usePromise(async () => wallet ?? await HDWallet.random(), [wallet])
25
- const eventBusToUse: EventBus = useMemo(() => eventBus ?? new EventBus(), [kernel])
26
- const kernelToUse: KernelExternal = useMemo(() => kernel ?? new Kernel(), [kernel])
27
- const locatorToUse = useMemo(() => locator ?? new ModuleFactoryLocator(), [locator])
28
-
29
- const [os, error] = usePromise(async () => {
30
- if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {
31
- const os = new XyOs({
32
- kernel: kernelToUse, eventBus: new EventBus(), locator: locatorToUse,
33
- })
34
- await os.boot(walletToUse, locatorToUse)
35
- return os
36
- }
37
- }, [kernelToUse, walletToUse, locator, eventBusToUse, locatorToUse])
38
-
39
- return os
40
- ? <XyOsUiContextProvider value={os}>{children}</XyOsUiContextProvider>
41
- : (
42
- <FlexCol>
43
- <Typography>
44
- wallet:
45
- {walletToUse ? 'ready' : 'loading'}
46
- </Typography>
47
- <Typography>
48
- kernel:
49
- {kernelToUse ? 'ready' : 'loading'}
50
- </Typography>
51
- <Typography>
52
- os:
53
- {os ? 'ready' : 'loading'}
54
- </Typography>
55
- <Typography>
56
- os-error:
57
- {error?.message}
58
- </Typography>
59
- </FlexCol>
60
- )
61
- }
@@ -1,4 +0,0 @@
1
- export * from './DappHost.tsx'
2
- export * from './Routable.tsx'
3
- export * from './Routes.tsx'
4
- export * from './XyOsHost.tsx'
@@ -1 +0,0 @@
1
- export * from './host/index.ts'
@@ -1,25 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json",
3
- "nodes": [
4
- {
5
- "config": {
6
- "accountPath": "0'",
7
- "name": "CustomDappNode",
8
- "schema": "network.xyo.node.config"
9
- },
10
- "modules": {
11
- "private": [],
12
- "public": [
13
- {
14
- "config": {
15
- "accountPath": "1'",
16
- "name": "DappArchivist",
17
- "schema": "network.xyo.archivist.config"
18
- }
19
- }
20
- ]
21
- }
22
- }
23
- ],
24
- "schema": "network.xyo.manifest.package.dapp"
25
- }
@@ -1,37 +0,0 @@
1
- import type { Meta, StoryFn } from '@storybook/react-vite'
2
- import { DappRegisteredSchema, DappRegisteredState } from '@xyo-network/os-model'
3
- import type { RegisteredReactDapp } from '@xyo-network/os-react-model'
4
- import React from 'react'
5
-
6
- import type { DappHostProps } from './components/index.ts'
7
- import { RoutableDapp } from './components/index.ts'
8
- import { CustomDappConfig } from './Payloads.ts'
9
- import { CustomDappUiParams } from './ReactDapp.ts'
10
-
11
- const StorybookEntry = {
12
- argTypes: {},
13
- component: RoutableDapp,
14
- parameters: { layout: 'fullscreen' },
15
- title: 'dapps/customDapp',
16
- } as Meta<typeof RoutableDapp>
17
-
18
- const Template: StoryFn<typeof RoutableDapp> = (args: DappHostProps) => <RoutableDapp {...args} />
19
-
20
- const dapp: RegisteredReactDapp = {
21
- config: {
22
- ...CustomDappConfig,
23
- state: DappRegisteredState.Registered,
24
- schema: DappRegisteredSchema,
25
- walletId: 'Accounts',
26
- },
27
- accessors: [],
28
- params: CustomDappUiParams,
29
- widgetConfigs: [],
30
- }
31
-
32
- const Default = Template.bind({})
33
- Default.args = { dapp }
34
-
35
- export { Default }
36
-
37
- export default StorybookEntry
@@ -1 +0,0 @@
1
- export * from './registration/index.ts'
@@ -1 +0,0 @@
1
- export * from './useInitializeDappAdHoc.tsx'
@@ -1,43 +0,0 @@
1
- import { usePromise } from '@xylabs/react-promise'
2
- import type { RegisteredReactDapp } from '@xyo-network/os-react-model'
3
- import {
4
- useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext,
5
- } from '@xyo-network/os-react-runtime'
6
- import { DappInitializer } from '@xyo-network/os-runtime'
7
-
8
- const dappState = {
9
- active: true, minimized: false, closed: false,
10
- }
11
-
12
- export const useInitializeDappAdHoc = (dapp: RegisteredReactDapp) => {
13
- const xyOs = useXyOsUiContext()
14
-
15
- const [installedDapp, nodeCreateError] = usePromise(async () => {
16
- if (xyOs && dapp) {
17
- const installer = new DappInitializer({
18
- allowedNames: [dapp.config.name],
19
- dapp,
20
- xnsNetwork: undefined,
21
- xnsNodeUrl: undefined,
22
- xyOs,
23
- })
24
- return await installer.install()
25
- }
26
- }, [xyOs, dapp])
27
-
28
- const { dappWallet, context } = installedDapp ?? {}
29
-
30
- // support for routing
31
- const routingError = useManageDappPathFromRoute(context, dapp.config.name)
32
- const injectableErrors = useManageDappInjectableParamsFromRoute(context)
33
-
34
- const dappMenu = useDappMenu(context, dapp.config.name)
35
-
36
- return {
37
- context,
38
- dappMenu,
39
- dappState,
40
- dappWallet,
41
- errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean),
42
- }
43
- }
package/src/icon/Icon.tsx DELETED
@@ -1,45 +0,0 @@
1
- /* eslint-disable @stylistic/max-len */
2
- export const CustomDappIconSvg = `
3
- <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">
4
- <path
5
- fill="transparent"
6
- d="M6.44,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z"
7
- />
8
- <path
9
- fill="transparent"
10
- d="M18.01,27.91c-.55.55-.83,1.22-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83s-1.44.28-2,.83Z"
11
- />
12
- <path
13
- fill="transparent"
14
- d="M33.56,27.12c-.78,0-1.44.28-2,.83-.55.55-.83,1.21-.83,1.99s.28,1.44.83,2c.55.55,1.21.83,1.99.83s1.44-.28,2-.83c.55-.55.83-1.21.83-1.99s-.28-1.44-.83-2c-.55-.55-1.21-.83-1.99-.83Z"
15
- />
16
- <path
17
- fill="currentColor"
18
- d="M36.55,26.94c-.82-.82-1.82-1.23-3-1.23-.32,0-.63.04-.93.11-.3.07-.59.17-.87.31l-5.87-8.09c-.18.03-.36.05-.56.05h-1.13l6.42,8.83c-.39.4-.7.85-.93,1.36-.23.51-.35,1.06-.35,1.66,0,1.18.41,2.17,1.23,3s1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3-.41-2.17-1.23-3ZM35.55,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z"
19
- />
20
- <path
21
- fill="currentColor"
22
- d="M19.29,25.73c-1,.16-1.84.64-2.52,1.42-.67.79-1.01,1.7-1.01,2.75,0,1.18.41,2.17,1.23,3,.82.82,1.82,1.23,3,1.23s2.17-.41,3-1.23c.82-.82,1.23-1.82,1.23-3,0-1.05-.34-1.97-1.01-2.74-.67-.78-1.51-1.25-2.52-1.43v-7.65h-1.41v7.65ZM22,27.91c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83Z"
23
- />
24
- <path
25
- fill="currentColor"
26
- d="M14.1,18l-5.89,8.08c-.28-.13-.56-.22-.86-.28-.29-.06-.6-.09-.91-.09-1.18,0-2.17.41-3,1.23-.82.82-1.23,1.82-1.23,3s.41,2.17,1.23,3,1.82,1.23,3,1.23,2.17-.41,3-1.23,1.23-1.82,1.23-3c0-.6-.12-1.15-.36-1.66s-.56-.96-.95-1.36l6.45-8.83h-1c-.25,0-.48-.03-.7-.08ZM8.44,31.93c-.55.55-1.22.83-2,.83s-1.44-.28-1.99-.83c-.55-.55-.83-1.22-.83-2s.28-1.44.83-1.99c.55-.55,1.22-.83,2-.83s1.44.28,1.99.83c.55.55.83,1.22.83,2s-.28,1.44-.83,1.99Z"
27
- />
28
- <path
29
- fill="transparent"
30
- d="M20,12.91c1.26,0,2.46.19,3.61.56,1.15.37,2.23.88,3.23,1.54V4.86c0-.44-.15-.82-.46-1.12s-.68-.46-1.12-.46h-10.52c-.44,0-.82.15-1.12.46s-.46.68-.46,1.12v10.15c1-.66,2.08-1.17,3.23-1.54s2.36-.56,3.61-.56ZM17.7,5.83c.63-.63,1.4-.95,2.3-.95s1.66.32,2.3.95.95,1.4.95,2.3-.32,1.66-.95,2.3-1.4.95-2.3.95-1.66-.32-2.3-.95-.95-1.4-.95-2.3.32-1.66.95-2.3Z"
31
- />
32
- <path
33
- fill="transparent"
34
- d="M20,10.32c.6,0,1.12-.21,1.55-.64.43-.43.65-.94.65-1.55s-.22-1.12-.65-1.55c-.43-.43-.95-.65-1.55-.65s-1.12.22-1.55.65-.64.95-.64,1.55.21,1.12.64,1.55.94.64,1.55.64Z"
35
- />
36
- <path
37
- fill="currentColor"
38
- d="M20,11.37c.9,0,1.66-.32,2.3-.95s.95-1.4.95-2.3-.32-1.66-.95-2.3-1.4-.95-2.3-.95-1.66.32-2.3.95-.95,1.4-.95,2.3.32,1.66.95,2.3,1.4.95,2.3.95ZM18.45,6.58c.43-.43.95-.65,1.55-.65s1.12.22,1.55.65c.43.43.65.95.65,1.55s-.22,1.12-.65,1.55c-.43.43-.95.64-1.55.64s-1.12-.21-1.55-.64-.64-.95-.64-1.55.21-1.12.64-1.55Z"
39
- />
40
- <path
41
- fill="currentColor"
42
- d="M27.21,2.9c-.5-.5-1.15-.75-1.95-.75h-10.52c-.8,0-1.45.25-1.95.75-.5.5-.75,1.15-.75,1.95v10.52c0,.8.25,1.45.75,1.95.35.35.77.56,1.25.67.22.05.45.08.7.08h10.52c.2,0,.38-.02.56-.05.55-.09,1.01-.33,1.39-.71.5-.5.75-1.15.75-1.95V4.86c0-.8-.25-1.45-.75-1.95ZM25.93,16.74c-.26.14-.55.22-.86.22h-10.15s-.08-.01-.12-.01c-.25-.02-.5-.08-.74-.2-.28-.14-.45-.35-.5-.63.99-.7,2.03-1.22,3.12-1.57s2.19-.52,3.31-.52,2.27.18,3.4.55c1.13.36,2.18.88,3.16,1.54-.15.27-.36.48-.63.63ZM26.84,15.01c-1-.66-2.08-1.17-3.23-1.54-1.15-.37-2.36-.56-3.61-.56s-2.46.19-3.61.56-2.23.88-3.23,1.54V4.86c0-.44.15-.82.46-1.12s.68-.46,1.12-.46h10.52c.44,0,.82.15,1.12.46s.46.68.46,1.12v10.15Z"
43
- />
44
- </svg>
45
- `
package/src/icon/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './Icon.tsx'
2
- export { CustomDappIconSvg as default } from './Icon.tsx'
package/src/index.ts DELETED
@@ -1,6 +0,0 @@
1
- export * from './components/index.ts'
2
- export { default as accountsDappManifest } from './dapp.manifest.json' with { type: 'json' }
3
- export * from './helpers/index.ts'
4
- export * from './Params.ts'
5
- export * from './Payloads.ts'
6
- export * from './UiParams.ts'