@xyo-network/dapp-template 4.2.3 → 4.2.4

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.
@@ -3,5 +3,6 @@ import React from 'react';
3
3
  export interface DappHostProps {
4
4
  dapp: RegisteredReactDapp;
5
5
  }
6
+ export declare const DappHostInner: React.FC<DappHostProps>;
6
7
  export declare const DappHost: React.FC<DappHostProps>;
7
8
  //# sourceMappingURL=DappHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DappHost.d.ts","sourceRoot":"","sources":["../../src/DappHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,mBAAmB,CAAA;CAC1B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgB5C,CAAA"}
1
+ {"version":3,"file":"DappHost.d.ts","sourceRoot":"","sources":["../../src/DappHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,mBAAmB,CAAA;CAC1B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAcjD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAI5C,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export * from './DappInitializer.ts';
2
- export * from './useInstallDapp.tsx';
2
+ export * from './useInitializeDapp.tsx';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/registration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/registration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
@@ -5,4 +5,4 @@ export declare const useInitializeDapp: (dapp: RegisteredReactDapp) => {
5
5
  dappWallet: import("@xyo-network/wallet-model").WalletInstance | undefined;
6
6
  errors: (Error | undefined)[];
7
7
  };
8
- //# sourceMappingURL=useInstallDapp.d.ts.map
8
+ //# sourceMappingURL=useInitializeDapp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInitializeDapp.d.ts","sourceRoot":"","sources":["../../../../src/helpers/registration/useInitializeDapp.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAOtE,eAAO,MAAM,iBAAiB,SAAU,mBAAmB;;;;;CA8B1D,CAAA"}
@@ -76,7 +76,7 @@ var DappInitializer = class {
76
76
  }
77
77
  };
78
78
 
79
- // src/helpers/registration/useInstallDapp.tsx
79
+ // src/helpers/registration/useInitializeDapp.tsx
80
80
  import { usePromise } from "@xylabs/react-promise";
81
81
  import { useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext } from "@xyo-network/os-react-runtime";
82
82
  var useInitializeDapp = /* @__PURE__ */ __name((dapp) => {
@@ -160,22 +160,25 @@ var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: lo
160
160
  }, "XyOsHost");
161
161
 
162
162
  // src/DappHost.tsx
163
- var DappHost = /* @__PURE__ */ __name(({ dapp }) => {
163
+ var DappHostInner = /* @__PURE__ */ __name(({ dapp }) => {
164
164
  const { context, dappMenu, dappWallet, errors } = useInitializeDapp(dapp);
165
165
  const dappState = useMemo2(() => ({
166
166
  active: true,
167
167
  minimized: false,
168
168
  closed: false
169
169
  }), []);
170
- return /* @__PURE__ */ React2.createElement(XyOsHost, null, /* @__PURE__ */ React2.createElement(FlexCol2, null, /* @__PURE__ */ React2.createElement(DappRendered, {
170
+ return /* @__PURE__ */ React2.createElement(FlexCol2, null, /* @__PURE__ */ React2.createElement(DappRendered, {
171
171
  context,
172
172
  dapp,
173
173
  dappMenuProperties: dappMenu,
174
174
  dappState,
175
175
  dappWallet,
176
176
  errors
177
- })));
178
- }, "DappHost");
177
+ }));
178
+ }, "DappHostInner");
179
+ var DappHost = /* @__PURE__ */ __name(({ dapp }) => /* @__PURE__ */ React2.createElement(XyOsHost, null, /* @__PURE__ */ React2.createElement(DappHostInner, {
180
+ dapp
181
+ })), "DappHost");
179
182
 
180
183
  // src/Params.ts
181
184
  import { IndexedDbArchivist } from "@xyo-network/archivist-indexeddb";
@@ -336,6 +339,7 @@ export {
336
339
  CustomDappParams,
337
340
  CustomDappUiParams,
338
341
  DappHost,
342
+ DappHostInner,
339
343
  DappPayloads,
340
344
  XyOsHost,
341
345
  dapp_manifest_default as accountsDappManifest
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/dapp.manifest.json","../../src/DappHost.tsx","../../src/helpers/registration/DappInitializer.ts","../../src/helpers/registration/useInstallDapp.tsx","../../src/XyOsHost.tsx","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/window/Dapp.tsx","../../src/components/Dapp.tsx","../../src/UiParams.ts"],"sourcesContent":["{\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\": \"Node\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"dbName\": \"DappArchivist\",\n \"storeName\": \"payloads\",\n \"schema\": \"network.xyo.archivist.config\",\n \"labels\": {\n \"network.xyo.archivist.persistence.scope\": \"device\"\n }\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport type { DappState } from '@xyo-network/os-react-runtime'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React, { useMemo } from 'react'\n\nimport { useInitializeDapp } from './helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappWallet, errors,\n } = useInitializeDapp(dapp)\n\n const dappState: DappState = useMemo(() => ({\n active: true, minimized: false, closed: false,\n }), [])\n\n return (\n <XyOsHost>\n <FlexCol>\n <DappRendered context={context} dapp={dapp} dappMenuProperties={dappMenu} dappState={dappState} dappWallet={dappWallet} errors={errors} />\n </FlexCol>\n </XyOsHost>\n )\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { WindowDappNodeSet, XyOsContext } from '@xyo-network/os-model'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappSeedPhraseRepository, RunningDappCache } from '@xyo-network/os-runtime'\n\nexport interface DappInitializerConfig {\n allowedNames: string[]\n dapp: RegisteredReactDapp\n xnsNetwork: string | undefined\n xnsNodeUrl: string | undefined\n xyOs: XyOsContext\n}\n\nexport class DappInitializer {\n private _config: DappInitializerConfig\n\n constructor(config: DappInitializerConfig) {\n this._config = config\n }\n\n get config() {\n return assertEx(this._config, () => new Error('Options not set'))\n }\n\n async install(): Promise<WindowDappNodeSet> {\n const dappWithWalletId = await this.installDappWallet()\n\n return await this.initializeDappContext(dappWithWalletId)\n }\n\n private async initializeDappContext(dappWithWalletId: RegisteredReactDapp): Promise<WindowDappNodeSet> {\n const {\n allowedNames, xnsNetwork, xnsNodeUrl, xyOs,\n } = this.config\n\n return await RunningDappCache.findOrCreate(dappWithWalletId, xyOs, allowedNames ?? [], xnsNodeUrl, xnsNetwork)\n }\n\n private async installDappWallet(): Promise<RegisteredReactDapp> {\n const { xyOs, dapp } = this.config\n const dappSeedPhraseRepository = new DappSeedPhraseRepository(xyOs, [dapp.config.name])\n const walletId = await dappSeedPhraseRepository.findOrCreate(dapp.config.name)\n\n // Update the dapp with the walletId\n return {\n ...dapp,\n config: {\n ...dapp.config,\n walletId,\n },\n }\n }\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'\n\nimport { DappInitializer } from './DappInitializer.ts'\n\nexport const useInitializeDapp = (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 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 { HDWallet, type WalletInstance } from '@xyo-network/account'\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 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 { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb'\nimport { 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()\nlocator.register(IndexedDbArchivist)\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport { CustomDappParams as default }\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' assert { 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 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 '../components/index.ts'\nimport { CustomDappMenuPayloads } from '../Payloads.js'\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 { CustomDappParams } from './Params.js'\nimport { CustomDapp } from './window/index.ts'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport { CustomDappUiParams as default }\n"],"mappings":"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","names":["FlexCol","DappRendered","React","useMemo","assertEx","DappSeedPhraseRepository","RunningDappCache","DappInitializer","_config","constructor","config","assertEx","Error","install","dappWithWalletId","installDappWallet","initializeDappContext","allowedNames","xnsNetwork","xnsNodeUrl","xyOs","RunningDappCache","findOrCreate","dapp","dappSeedPhraseRepository","DappSeedPhraseRepository","name","walletId","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","useInitializeDapp","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","HDWallet","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","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","DappHost","dapp","context","dappMenu","dappWallet","errors","useInitializeDapp","dappState","useMemo","active","minimized","closed","React","XyOsHost","FlexCol","DappRendered","dappMenuProperties","IndexedDbArchivist","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","register","IndexedDbArchivist","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/dapp.manifest.json","../../src/DappHost.tsx","../../src/helpers/registration/DappInitializer.ts","../../src/helpers/registration/useInitializeDapp.tsx","../../src/XyOsHost.tsx","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/window/Dapp.tsx","../../src/components/Dapp.tsx","../../src/UiParams.ts"],"sourcesContent":["{\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\": \"Node\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"dbName\": \"DappArchivist\",\n \"storeName\": \"payloads\",\n \"schema\": \"network.xyo.archivist.config\",\n \"labels\": {\n \"network.xyo.archivist.persistence.scope\": \"device\"\n }\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport type { DappState } from '@xyo-network/os-react-runtime'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React, { useMemo } from 'react'\n\nimport { useInitializeDapp } 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, dappWallet, errors,\n } = useInitializeDapp(dapp)\n\n const dappState: DappState = useMemo(() => ({\n active: true, minimized: false, closed: false,\n }), [])\n\n return (\n <FlexCol>\n <DappRendered context={context} dapp={dapp} dappMenuProperties={dappMenu} dappState={dappState} dappWallet={dappWallet} errors={errors} />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { assertEx } from '@xylabs/assert'\nimport type { WindowDappNodeSet, XyOsContext } from '@xyo-network/os-model'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappSeedPhraseRepository, RunningDappCache } from '@xyo-network/os-runtime'\n\nexport interface DappInitializerConfig {\n allowedNames: string[]\n dapp: RegisteredReactDapp\n xnsNetwork: string | undefined\n xnsNodeUrl: string | undefined\n xyOs: XyOsContext\n}\n\nexport class DappInitializer {\n private _config: DappInitializerConfig\n\n constructor(config: DappInitializerConfig) {\n this._config = config\n }\n\n get config() {\n return assertEx(this._config, () => new Error('Options not set'))\n }\n\n async install(): Promise<WindowDappNodeSet> {\n const dappWithWalletId = await this.installDappWallet()\n\n return await this.initializeDappContext(dappWithWalletId)\n }\n\n private async initializeDappContext(dappWithWalletId: RegisteredReactDapp): Promise<WindowDappNodeSet> {\n const {\n allowedNames, xnsNetwork, xnsNodeUrl, xyOs,\n } = this.config\n\n return await RunningDappCache.findOrCreate(dappWithWalletId, xyOs, allowedNames ?? [], xnsNodeUrl, xnsNetwork)\n }\n\n private async installDappWallet(): Promise<RegisteredReactDapp> {\n const { xyOs, dapp } = this.config\n const dappSeedPhraseRepository = new DappSeedPhraseRepository(xyOs, [dapp.config.name])\n const walletId = await dappSeedPhraseRepository.findOrCreate(dapp.config.name)\n\n // Update the dapp with the walletId\n return {\n ...dapp,\n config: {\n ...dapp.config,\n walletId,\n },\n }\n }\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'\n\nimport { DappInitializer } from './DappInitializer.ts'\n\nexport const useInitializeDapp = (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 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 { HDWallet, type WalletInstance } from '@xyo-network/account'\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 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 { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb'\nimport { 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()\nlocator.register(IndexedDbArchivist)\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport { CustomDappParams as default }\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' assert { 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 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 '../components/index.ts'\nimport { CustomDappMenuPayloads } from '../Payloads.js'\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 { CustomDappParams } from './Params.js'\nimport { CustomDapp } from './window/index.ts'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport { CustomDappUiParams as default }\n"],"mappings":"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","names":["FlexCol","DappRendered","React","useMemo","assertEx","DappSeedPhraseRepository","RunningDappCache","DappInitializer","_config","constructor","config","assertEx","Error","install","dappWithWalletId","installDappWallet","initializeDappContext","allowedNames","xnsNetwork","xnsNodeUrl","xyOs","RunningDappCache","findOrCreate","dapp","dappSeedPhraseRepository","DappSeedPhraseRepository","name","walletId","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","useInitializeDapp","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","HDWallet","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","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","dappWallet","errors","useInitializeDapp","dappState","useMemo","active","minimized","closed","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","IndexedDbArchivist","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","register","IndexedDbArchivist","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"]}
@@ -3,5 +3,6 @@ import React from 'react';
3
3
  export interface DappHostProps {
4
4
  dapp: RegisteredReactDapp;
5
5
  }
6
+ export declare const DappHostInner: React.FC<DappHostProps>;
6
7
  export declare const DappHost: React.FC<DappHostProps>;
7
8
  //# sourceMappingURL=DappHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DappHost.d.ts","sourceRoot":"","sources":["../../src/DappHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,mBAAmB,CAAA;CAC1B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgB5C,CAAA"}
1
+ {"version":3,"file":"DappHost.d.ts","sourceRoot":"","sources":["../../src/DappHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,mBAAmB,CAAA;CAC1B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAcjD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAI5C,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export * from './DappInitializer.ts';
2
- export * from './useInstallDapp.tsx';
2
+ export * from './useInitializeDapp.tsx';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/registration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/registration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
@@ -5,4 +5,4 @@ export declare const useInitializeDapp: (dapp: RegisteredReactDapp) => {
5
5
  dappWallet: import("@xyo-network/wallet-model").WalletInstance | undefined;
6
6
  errors: (Error | undefined)[];
7
7
  };
8
- //# sourceMappingURL=useInstallDapp.d.ts.map
8
+ //# sourceMappingURL=useInitializeDapp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInitializeDapp.d.ts","sourceRoot":"","sources":["../../../../src/helpers/registration/useInitializeDapp.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAOtE,eAAO,MAAM,iBAAiB,SAAU,mBAAmB;;;;;CA8B1D,CAAA"}
@@ -76,7 +76,7 @@ var DappInitializer = class {
76
76
  }
77
77
  };
78
78
 
79
- // src/helpers/registration/useInstallDapp.tsx
79
+ // src/helpers/registration/useInitializeDapp.tsx
80
80
  import { usePromise } from "@xylabs/react-promise";
81
81
  import { useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext } from "@xyo-network/os-react-runtime";
82
82
  var useInitializeDapp = /* @__PURE__ */ __name((dapp) => {
@@ -160,22 +160,25 @@ var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: lo
160
160
  }, "XyOsHost");
161
161
 
162
162
  // src/DappHost.tsx
163
- var DappHost = /* @__PURE__ */ __name(({ dapp }) => {
163
+ var DappHostInner = /* @__PURE__ */ __name(({ dapp }) => {
164
164
  const { context, dappMenu, dappWallet, errors } = useInitializeDapp(dapp);
165
165
  const dappState = useMemo2(() => ({
166
166
  active: true,
167
167
  minimized: false,
168
168
  closed: false
169
169
  }), []);
170
- return /* @__PURE__ */ React2.createElement(XyOsHost, null, /* @__PURE__ */ React2.createElement(FlexCol2, null, /* @__PURE__ */ React2.createElement(DappRendered, {
170
+ return /* @__PURE__ */ React2.createElement(FlexCol2, null, /* @__PURE__ */ React2.createElement(DappRendered, {
171
171
  context,
172
172
  dapp,
173
173
  dappMenuProperties: dappMenu,
174
174
  dappState,
175
175
  dappWallet,
176
176
  errors
177
- })));
178
- }, "DappHost");
177
+ }));
178
+ }, "DappHostInner");
179
+ var DappHost = /* @__PURE__ */ __name(({ dapp }) => /* @__PURE__ */ React2.createElement(XyOsHost, null, /* @__PURE__ */ React2.createElement(DappHostInner, {
180
+ dapp
181
+ })), "DappHost");
179
182
 
180
183
  // src/Params.ts
181
184
  import { IndexedDbArchivist } from "@xyo-network/archivist-indexeddb";
@@ -336,6 +339,7 @@ export {
336
339
  CustomDappParams,
337
340
  CustomDappUiParams,
338
341
  DappHost,
342
+ DappHostInner,
339
343
  DappPayloads,
340
344
  XyOsHost,
341
345
  dapp_manifest_default as accountsDappManifest
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/dapp.manifest.json","../../src/DappHost.tsx","../../src/helpers/registration/DappInitializer.ts","../../src/helpers/registration/useInstallDapp.tsx","../../src/XyOsHost.tsx","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/window/Dapp.tsx","../../src/components/Dapp.tsx","../../src/UiParams.ts"],"sourcesContent":["{\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\": \"Node\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"dbName\": \"DappArchivist\",\n \"storeName\": \"payloads\",\n \"schema\": \"network.xyo.archivist.config\",\n \"labels\": {\n \"network.xyo.archivist.persistence.scope\": \"device\"\n }\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport type { DappState } from '@xyo-network/os-react-runtime'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React, { useMemo } from 'react'\n\nimport { useInitializeDapp } from './helpers/index.ts'\nimport { XyOsHost } from './XyOsHost.tsx'\n\nexport interface DappHostProps {\n dapp: RegisteredReactDapp\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => {\n const {\n context, dappMenu, dappWallet, errors,\n } = useInitializeDapp(dapp)\n\n const dappState: DappState = useMemo(() => ({\n active: true, minimized: false, closed: false,\n }), [])\n\n return (\n <XyOsHost>\n <FlexCol>\n <DappRendered context={context} dapp={dapp} dappMenuProperties={dappMenu} dappState={dappState} dappWallet={dappWallet} errors={errors} />\n </FlexCol>\n </XyOsHost>\n )\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { WindowDappNodeSet, XyOsContext } from '@xyo-network/os-model'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappSeedPhraseRepository, RunningDappCache } from '@xyo-network/os-runtime'\n\nexport interface DappInitializerConfig {\n allowedNames: string[]\n dapp: RegisteredReactDapp\n xnsNetwork: string | undefined\n xnsNodeUrl: string | undefined\n xyOs: XyOsContext\n}\n\nexport class DappInitializer {\n private _config: DappInitializerConfig\n\n constructor(config: DappInitializerConfig) {\n this._config = config\n }\n\n get config() {\n return assertEx(this._config, () => new Error('Options not set'))\n }\n\n async install(): Promise<WindowDappNodeSet> {\n const dappWithWalletId = await this.installDappWallet()\n\n return await this.initializeDappContext(dappWithWalletId)\n }\n\n private async initializeDappContext(dappWithWalletId: RegisteredReactDapp): Promise<WindowDappNodeSet> {\n const {\n allowedNames, xnsNetwork, xnsNodeUrl, xyOs,\n } = this.config\n\n return await RunningDappCache.findOrCreate(dappWithWalletId, xyOs, allowedNames ?? [], xnsNodeUrl, xnsNetwork)\n }\n\n private async installDappWallet(): Promise<RegisteredReactDapp> {\n const { xyOs, dapp } = this.config\n const dappSeedPhraseRepository = new DappSeedPhraseRepository(xyOs, [dapp.config.name])\n const walletId = await dappSeedPhraseRepository.findOrCreate(dapp.config.name)\n\n // Update the dapp with the walletId\n return {\n ...dapp,\n config: {\n ...dapp.config,\n walletId,\n },\n }\n }\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'\n\nimport { DappInitializer } from './DappInitializer.ts'\n\nexport const useInitializeDapp = (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 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 { HDWallet, type WalletInstance } from '@xyo-network/account'\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 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 { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb'\nimport { 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()\nlocator.register(IndexedDbArchivist)\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport { CustomDappParams as default }\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' assert { 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 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 '../components/index.ts'\nimport { CustomDappMenuPayloads } from '../Payloads.js'\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 { CustomDappParams } from './Params.js'\nimport { CustomDapp } from './window/index.ts'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport { CustomDappUiParams as default }\n"],"mappings":"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","names":["FlexCol","DappRendered","React","useMemo","assertEx","DappSeedPhraseRepository","RunningDappCache","DappInitializer","_config","constructor","config","assertEx","Error","install","dappWithWalletId","installDappWallet","initializeDappContext","allowedNames","xnsNetwork","xnsNodeUrl","xyOs","RunningDappCache","findOrCreate","dapp","dappSeedPhraseRepository","DappSeedPhraseRepository","name","walletId","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","useInitializeDapp","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","HDWallet","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","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","DappHost","dapp","context","dappMenu","dappWallet","errors","useInitializeDapp","dappState","useMemo","active","minimized","closed","React","XyOsHost","FlexCol","DappRendered","dappMenuProperties","IndexedDbArchivist","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","register","IndexedDbArchivist","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/dapp.manifest.json","../../src/DappHost.tsx","../../src/helpers/registration/DappInitializer.ts","../../src/helpers/registration/useInitializeDapp.tsx","../../src/XyOsHost.tsx","../../src/Params.ts","../../src/icon/Icon.tsx","../../src/Payloads.ts","../../src/window/Dapp.tsx","../../src/components/Dapp.tsx","../../src/UiParams.ts"],"sourcesContent":["{\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\": \"Node\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": [\n {\n \"config\": {\n \"accountPath\": \"1'\",\n \"name\": \"DappArchivist\",\n \"dbName\": \"DappArchivist\",\n \"storeName\": \"payloads\",\n \"schema\": \"network.xyo.archivist.config\",\n \"labels\": {\n \"network.xyo.archivist.persistence.scope\": \"device\"\n }\n }\n }\n ]\n }\n }\n ],\n \"schema\": \"network.xyo.manifest.package.dapp\"\n}","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport type { DappState } from '@xyo-network/os-react-runtime'\nimport { DappRendered } from '@xyo-network/os-react-runtime'\nimport React, { useMemo } from 'react'\n\nimport { useInitializeDapp } 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, dappWallet, errors,\n } = useInitializeDapp(dapp)\n\n const dappState: DappState = useMemo(() => ({\n active: true, minimized: false, closed: false,\n }), [])\n\n return (\n <FlexCol>\n <DappRendered context={context} dapp={dapp} dappMenuProperties={dappMenu} dappState={dappState} dappWallet={dappWallet} errors={errors} />\n </FlexCol>\n )\n}\n\nexport const DappHost: React.FC<DappHostProps> = ({ dapp }) => (\n <XyOsHost>\n <DappHostInner dapp={dapp} />\n </XyOsHost>\n)\n","import { assertEx } from '@xylabs/assert'\nimport type { WindowDappNodeSet, XyOsContext } from '@xyo-network/os-model'\nimport type { RegisteredReactDapp } from '@xyo-network/os-react-model'\nimport { DappSeedPhraseRepository, RunningDappCache } from '@xyo-network/os-runtime'\n\nexport interface DappInitializerConfig {\n allowedNames: string[]\n dapp: RegisteredReactDapp\n xnsNetwork: string | undefined\n xnsNodeUrl: string | undefined\n xyOs: XyOsContext\n}\n\nexport class DappInitializer {\n private _config: DappInitializerConfig\n\n constructor(config: DappInitializerConfig) {\n this._config = config\n }\n\n get config() {\n return assertEx(this._config, () => new Error('Options not set'))\n }\n\n async install(): Promise<WindowDappNodeSet> {\n const dappWithWalletId = await this.installDappWallet()\n\n return await this.initializeDappContext(dappWithWalletId)\n }\n\n private async initializeDappContext(dappWithWalletId: RegisteredReactDapp): Promise<WindowDappNodeSet> {\n const {\n allowedNames, xnsNetwork, xnsNodeUrl, xyOs,\n } = this.config\n\n return await RunningDappCache.findOrCreate(dappWithWalletId, xyOs, allowedNames ?? [], xnsNodeUrl, xnsNetwork)\n }\n\n private async installDappWallet(): Promise<RegisteredReactDapp> {\n const { xyOs, dapp } = this.config\n const dappSeedPhraseRepository = new DappSeedPhraseRepository(xyOs, [dapp.config.name])\n const walletId = await dappSeedPhraseRepository.findOrCreate(dapp.config.name)\n\n // Update the dapp with the walletId\n return {\n ...dapp,\n config: {\n ...dapp.config,\n walletId,\n },\n }\n }\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'\n\nimport { DappInitializer } from './DappInitializer.ts'\n\nexport const useInitializeDapp = (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 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 { HDWallet, type WalletInstance } from '@xyo-network/account'\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 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 { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb'\nimport { 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()\nlocator.register(IndexedDbArchivist)\n\nexport const CustomDappParams: UnregisteredDapp['params'] = {\n iconSvg: CustomDappIconSvg,\n locator,\n}\n\nexport { CustomDappParams as default }\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' assert { 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 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 '../components/index.ts'\nimport { CustomDappMenuPayloads } from '../Payloads.js'\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 { CustomDappParams } from './Params.js'\nimport { CustomDapp } from './window/index.ts'\n\nexport const CustomDappUiParams: UnregisteredReactDapp['params'] = {\n ...CustomDappParams,\n modes: { window: { component: CustomDapp } },\n}\n\nexport { CustomDappUiParams as default }\n"],"mappings":"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","names":["FlexCol","DappRendered","React","useMemo","assertEx","DappSeedPhraseRepository","RunningDappCache","DappInitializer","_config","constructor","config","assertEx","Error","install","dappWithWalletId","installDappWallet","initializeDappContext","allowedNames","xnsNetwork","xnsNodeUrl","xyOs","RunningDappCache","findOrCreate","dapp","dappSeedPhraseRepository","DappSeedPhraseRepository","name","walletId","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","useInitializeDapp","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","HDWallet","Kernel","ModuleFactoryLocator","XyOsUiContextProvider","EventBus","XyOs","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","dappWallet","errors","useInitializeDapp","dappState","useMemo","active","minimized","closed","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","IndexedDbArchivist","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","register","IndexedDbArchivist","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": "4.2.3",
3
+ "version": "4.2.4",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -42,14 +42,14 @@
42
42
  "@xylabs/react-promise": "^5.3.14",
43
43
  "@xyo-network/account": "^3.6.6",
44
44
  "@xyo-network/archivist-indexeddb": "^3.6.6",
45
- "@xyo-network/kernel": "^4.2.3",
46
- "@xyo-network/kernel-model": "^4.2.3",
45
+ "@xyo-network/kernel": "^4.2.4",
46
+ "@xyo-network/kernel-model": "^4.2.4",
47
47
  "@xyo-network/module-factory-locator": "^3.6.6",
48
48
  "@xyo-network/object": "^3.6.6",
49
- "@xyo-network/os-model": "^4.2.3",
50
- "@xyo-network/os-react-model": "^4.2.3",
51
- "@xyo-network/os-react-runtime": "^4.2.3",
52
- "@xyo-network/os-runtime": "^4.2.3",
49
+ "@xyo-network/os-model": "^4.2.4",
50
+ "@xyo-network/os-react-model": "^4.2.4",
51
+ "@xyo-network/os-react-runtime": "^4.2.4",
52
+ "@xyo-network/os-runtime": "^4.2.4",
53
53
  "@xyo-network/payload-model": "^3.6.6",
54
54
  "@xyo-network/react-node": "^4.3.1",
55
55
  "@xyo-network/react-sdk": "^4.3.1",
package/src/DappHost.tsx CHANGED
@@ -11,7 +11,7 @@ export interface DappHostProps {
11
11
  dapp: RegisteredReactDapp
12
12
  }
13
13
 
14
- export const DappHost: React.FC<DappHostProps> = ({ dapp }) => {
14
+ export const DappHostInner: React.FC<DappHostProps> = ({ dapp }) => {
15
15
  const {
16
16
  context, dappMenu, dappWallet, errors,
17
17
  } = useInitializeDapp(dapp)
@@ -21,10 +21,14 @@ export const DappHost: React.FC<DappHostProps> = ({ dapp }) => {
21
21
  }), [])
22
22
 
23
23
  return (
24
- <XyOsHost>
25
- <FlexCol>
26
- <DappRendered context={context} dapp={dapp} dappMenuProperties={dappMenu} dappState={dappState} dappWallet={dappWallet} errors={errors} />
27
- </FlexCol>
28
- </XyOsHost>
24
+ <FlexCol>
25
+ <DappRendered context={context} dapp={dapp} dappMenuProperties={dappMenu} dappState={dappState} dappWallet={dappWallet} errors={errors} />
26
+ </FlexCol>
29
27
  )
30
28
  }
29
+
30
+ export const DappHost: React.FC<DappHostProps> = ({ dapp }) => (
31
+ <XyOsHost>
32
+ <DappHostInner dapp={dapp} />
33
+ </XyOsHost>
34
+ )
@@ -1,2 +1,2 @@
1
1
  export * from './DappInitializer.ts'
2
- export * from './useInstallDapp.tsx'
2
+ export * from './useInitializeDapp.tsx'
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInstallDapp.d.ts","sourceRoot":"","sources":["../../../../src/helpers/registration/useInstallDapp.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAOtE,eAAO,MAAM,iBAAiB,SAAU,mBAAmB;;;;;CA8B1D,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInstallDapp.d.ts","sourceRoot":"","sources":["../../../../src/helpers/registration/useInstallDapp.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAOtE,eAAO,MAAM,iBAAiB,SAAU,mBAAmB;;;;;CA8B1D,CAAA"}