@xyo-network/dapp-template 7.2.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/neutral/Params.d.ts.map +1 -1
  2. package/dist/neutral/ReactDapp.d.ts +1 -1
  3. package/dist/neutral/components/host/XyOsHost.d.ts +1 -1
  4. package/dist/neutral/components/host/XyOsHost.d.ts.map +1 -1
  5. package/dist/neutral/index.mjs +111 -129
  6. package/dist/neutral/index.mjs.map +1 -1
  7. package/dist/node/Params.d.ts.map +1 -1
  8. package/dist/node/ReactDapp.d.ts +1 -1
  9. package/dist/node/components/host/XyOsHost.d.ts +1 -1
  10. package/dist/node/components/host/XyOsHost.d.ts.map +1 -1
  11. package/dist/node/index.mjs +111 -129
  12. package/dist/node/index.mjs.map +1 -1
  13. package/package.json +321 -38
  14. package/dist/neutral/dapp.stories.d.ts +0 -8
  15. package/dist/neutral/dapp.stories.d.ts.map +0 -1
  16. package/dist/node/dapp.stories.d.ts +0 -8
  17. package/dist/node/dapp.stories.d.ts.map +0 -1
  18. package/src/CustomDappPathToComponent.tsx +0 -10
  19. package/src/Dapp.tsx +0 -19
  20. package/src/Params.ts +0 -13
  21. package/src/Payloads.ts +0 -73
  22. package/src/ReactDapp.ts +0 -13
  23. package/src/UiParams.ts +0 -11
  24. package/src/components/host/DappHost.tsx +0 -36
  25. package/src/components/host/Routable.tsx +0 -15
  26. package/src/components/host/Routes.tsx +0 -33
  27. package/src/components/host/XyOsHost.tsx +0 -61
  28. package/src/components/host/index.ts +0 -4
  29. package/src/components/index.ts +0 -1
  30. package/src/dapp.manifest.json +0 -25
  31. package/src/dapp.stories.tsx +0 -37
  32. package/src/helpers/index.ts +0 -1
  33. package/src/helpers/registration/index.ts +0 -1
  34. package/src/helpers/registration/useInitializeDappAdHoc.tsx +0 -43
  35. package/src/icon/Icon.tsx +0 -45
  36. package/src/icon/index.ts +0 -2
  37. package/src/index.ts +0 -6
@@ -1,27 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
1
4
  // src/components/host/DappHost.tsx
2
5
  import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
3
6
  import { DappRendered } from "@xyo-network/os-react-runtime";
7
+ import React2 from "react";
4
8
 
5
9
  // src/helpers/registration/useInitializeDappAdHoc.tsx
6
10
  import { usePromise } from "@xylabs/react-promise";
7
- import {
8
- useDappMenu,
9
- useManageDappInjectableParamsFromRoute,
10
- useManageDappPathFromRoute,
11
- useXyOsUiContext
12
- } from "@xyo-network/os-react-runtime";
11
+ import { useDappMenu, useManageDappInjectableParamsFromRoute, useManageDappPathFromRoute, useXyOsUiContext } from "@xyo-network/os-react-runtime";
13
12
  import { DappInitializer } from "@xyo-network/os-runtime";
14
13
  var dappState = {
15
14
  active: true,
16
15
  minimized: false,
17
16
  closed: false
18
17
  };
19
- var useInitializeDappAdHoc = (dapp) => {
18
+ var useInitializeDappAdHoc = /* @__PURE__ */ __name((dapp) => {
20
19
  const xyOs = useXyOsUiContext();
21
20
  const [installedDapp, nodeCreateError] = usePromise(async () => {
22
21
  if (xyOs && dapp) {
23
22
  const installer = new DappInitializer({
24
- allowedNames: [dapp.config.name],
23
+ allowedNames: [
24
+ dapp.config.name
25
+ ],
25
26
  dapp,
26
27
  xnsNetwork: void 0,
27
28
  xnsNodeUrl: void 0,
@@ -29,7 +30,10 @@ var useInitializeDappAdHoc = (dapp) => {
29
30
  });
30
31
  return await installer.install();
31
32
  }
32
- }, [xyOs, dapp]);
33
+ }, [
34
+ xyOs,
35
+ dapp
36
+ ]);
33
37
  const { dappWallet, context } = installedDapp ?? {};
34
38
  const routingError = useManageDappPathFromRoute(context, dapp.config.name);
35
39
  const injectableErrors = useManageDappInjectableParamsFromRoute(context);
@@ -39,32 +43,36 @@ var useInitializeDappAdHoc = (dapp) => {
39
43
  dappMenu,
40
44
  dappState,
41
45
  dappWallet,
42
- errors: [routingError, nodeCreateError, ...injectableErrors].filter(Boolean)
46
+ errors: [
47
+ routingError,
48
+ nodeCreateError,
49
+ ...injectableErrors
50
+ ].filter(Boolean)
43
51
  };
44
- };
52
+ }, "useInitializeDappAdHoc");
45
53
 
46
54
  // src/components/host/XyOsHost.tsx
47
55
  import { Typography } from "@mui/material";
48
56
  import { FlexCol } from "@xylabs/react-flexbox";
49
57
  import { usePromise as usePromise2 } from "@xylabs/react-promise";
50
58
  import { Kernel } from "@xyo-network/kernel";
51
- import { ModuleFactoryLocator } from "@xyo-network/module-factory-locator";
52
59
  import { XyOsUiContextProvider } from "@xyo-network/os-react-runtime";
53
60
  import { EventBus, XyOs } from "@xyo-network/os-runtime";
54
- import { HDWallet } from "@xyo-network/wallet";
55
- import { useMemo } from "react";
56
- import { jsx, jsxs } from "react/jsx-runtime";
57
- var XyOsHost = ({
58
- children,
59
- eventBus,
60
- kernel,
61
- locator: locator2,
62
- wallet
63
- }) => {
64
- const [walletToUse] = usePromise2(async () => wallet ?? await HDWallet.random(), [wallet]);
65
- const eventBusToUse = useMemo(() => eventBus ?? new EventBus(), [kernel]);
66
- const kernelToUse = useMemo(() => kernel ?? new Kernel(), [kernel]);
67
- const locatorToUse = useMemo(() => locator2 ?? new ModuleFactoryLocator(), [locator2]);
61
+ import { HDWallet, ModuleFactoryLocator } from "@xyo-network/sdk-js";
62
+ import React, { useMemo } from "react";
63
+ var XyOsHost = /* @__PURE__ */ __name(({ children, eventBus, kernel, locator: locator2, wallet }) => {
64
+ const [walletToUse] = usePromise2(async () => wallet ?? await HDWallet.random(), [
65
+ wallet
66
+ ]);
67
+ const eventBusToUse = useMemo(() => eventBus ?? new EventBus(), [
68
+ kernel
69
+ ]);
70
+ const kernelToUse = useMemo(() => kernel ?? new Kernel(), [
71
+ kernel
72
+ ]);
73
+ const locatorToUse = useMemo(() => locator2 ?? new ModuleFactoryLocator(), [
74
+ locator2
75
+ ]);
68
76
  const [os, error] = usePromise2(async () => {
69
77
  if (walletToUse && kernelToUse && eventBusToUse && locatorToUse) {
70
78
  const os2 = new XyOs({
@@ -75,96 +83,63 @@ var XyOsHost = ({
75
83
  await os2.boot(walletToUse, locatorToUse);
76
84
  return os2;
77
85
  }
78
- }, [kernelToUse, walletToUse, locator2, eventBusToUse, locatorToUse]);
79
- return os ? /* @__PURE__ */ jsx(XyOsUiContextProvider, { value: os, children }) : /* @__PURE__ */ jsxs(FlexCol, { children: [
80
- /* @__PURE__ */ jsxs(Typography, { children: [
81
- "wallet:",
82
- walletToUse ? "ready" : "loading"
83
- ] }),
84
- /* @__PURE__ */ jsxs(Typography, { children: [
85
- "kernel:",
86
- kernelToUse ? "ready" : "loading"
87
- ] }),
88
- /* @__PURE__ */ jsxs(Typography, { children: [
89
- "os:",
90
- os ? "ready" : "loading"
91
- ] }),
92
- /* @__PURE__ */ jsxs(Typography, { children: [
93
- "os-error:",
94
- error?.message
95
- ] })
96
- ] });
97
- };
86
+ }, [
87
+ kernelToUse,
88
+ walletToUse,
89
+ locator2,
90
+ eventBusToUse,
91
+ locatorToUse
92
+ ]);
93
+ return os ? /* @__PURE__ */ React.createElement(XyOsUiContextProvider, {
94
+ value: os
95
+ }, children) : /* @__PURE__ */ React.createElement(FlexCol, null, /* @__PURE__ */ React.createElement(Typography, null, "wallet:", walletToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "kernel:", kernelToUse ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os:", os ? "ready" : "loading"), /* @__PURE__ */ React.createElement(Typography, null, "os-error:", error?.message));
96
+ }, "XyOsHost");
98
97
 
99
98
  // src/components/host/DappHost.tsx
100
- import { jsx as jsx2 } from "react/jsx-runtime";
101
- var DappHostInner = ({ dapp }) => {
102
- const {
99
+ var DappHostInner = /* @__PURE__ */ __name(({ dapp }) => {
100
+ const { context, dappMenu, dappState: dappState2, dappWallet, errors } = useInitializeDappAdHoc(dapp);
101
+ return /* @__PURE__ */ React2.createElement(FlexCol2, null, /* @__PURE__ */ React2.createElement(DappRendered, {
103
102
  context,
104
- dappMenu,
103
+ dapp,
104
+ dappMenuProperties: dappMenu,
105
105
  dappState: dappState2,
106
106
  dappWallet,
107
107
  errors
108
- } = useInitializeDappAdHoc(dapp);
109
- return /* @__PURE__ */ jsx2(FlexCol2, { children: /* @__PURE__ */ jsx2(
110
- DappRendered,
111
- {
112
- context,
113
- dapp,
114
- dappMenuProperties: dappMenu,
115
- dappState: dappState2,
116
- dappWallet,
117
- errors
118
- }
119
- ) });
120
- };
121
- var DappHost = ({ dapp }) => /* @__PURE__ */ jsx2(XyOsHost, { children: /* @__PURE__ */ jsx2(DappHostInner, { dapp }) });
108
+ }));
109
+ }, "DappHostInner");
110
+ var DappHost = /* @__PURE__ */ __name(({ dapp }) => /* @__PURE__ */ React2.createElement(XyOsHost, null, /* @__PURE__ */ React2.createElement(DappHostInner, {
111
+ dapp
112
+ })), "DappHost");
122
113
 
123
114
  // src/components/host/Routable.tsx
115
+ import React4 from "react";
124
116
  import { BrowserRouter } from "react-router-dom";
125
117
 
126
118
  // src/components/host/Routes.tsx
119
+ import React3 from "react";
127
120
  import { Route, Routes } from "react-router-dom";
128
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
129
- var DappRoutes = (args) => /* @__PURE__ */ jsxs2(Routes, { children: [
130
- /* @__PURE__ */ jsx3(
131
- Route,
132
- {
133
- path: "/",
134
- element: /* @__PURE__ */ jsx3(DappHost, { ...args })
135
- }
136
- ),
137
- /* @__PURE__ */ jsx3(
138
- Route,
139
- {
140
- path: "/:dappName",
141
- element: /* @__PURE__ */ jsx3(DappHost, { ...args })
142
- }
143
- ),
144
- /* @__PURE__ */ jsx3(
145
- Route,
146
- {
147
- path: "/:dappName/:path/*",
148
- element: /* @__PURE__ */ jsx3(DappHost, { ...args })
149
- }
150
- ),
151
- /* @__PURE__ */ jsx3(
152
- Route,
153
- {
154
- path: "*",
155
- element: /* @__PURE__ */ jsx3(DappHost, { ...args })
156
- }
157
- )
158
- ] });
121
+ var DappRoutes = /* @__PURE__ */ __name((args) => /* @__PURE__ */ React3.createElement(Routes, null, /* @__PURE__ */ React3.createElement(Route, {
122
+ path: "/",
123
+ element: /* @__PURE__ */ React3.createElement(DappHost, args)
124
+ }), /* @__PURE__ */ React3.createElement(Route, {
125
+ path: "/:dappName",
126
+ element: /* @__PURE__ */ React3.createElement(DappHost, args)
127
+ }), /* @__PURE__ */ React3.createElement(Route, {
128
+ path: "/:dappName/:path/*",
129
+ element: /* @__PURE__ */ React3.createElement(DappHost, args)
130
+ }), /* @__PURE__ */ React3.createElement(Route, {
131
+ path: "*",
132
+ element: /* @__PURE__ */ React3.createElement(DappHost, args)
133
+ })), "DappRoutes");
159
134
 
160
135
  // src/components/host/Routable.tsx
161
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
162
- var RoutableDapp = ({ dapp }) => {
163
- return /* @__PURE__ */ jsxs3(BrowserRouter, { children: [
164
- /* @__PURE__ */ jsx4(DappRoutes, { dapp }),
165
- /* @__PURE__ */ jsx4(DappHost, { dapp })
166
- ] });
167
- };
136
+ var RoutableDapp = /* @__PURE__ */ __name(({ dapp }) => {
137
+ return /* @__PURE__ */ React4.createElement(BrowserRouter, null, /* @__PURE__ */ React4.createElement(DappRoutes, {
138
+ dapp
139
+ }), /* @__PURE__ */ React4.createElement(DappHost, {
140
+ dapp
141
+ }));
142
+ }, "RoutableDapp");
168
143
 
169
144
  // src/dapp.manifest.json
170
145
  var dapp_manifest_default = {
@@ -194,7 +169,7 @@ var dapp_manifest_default = {
194
169
  };
195
170
 
196
171
  // src/Params.ts
197
- import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/module-factory-locator";
172
+ import { ModuleFactoryLocator as ModuleFactoryLocator2 } from "@xyo-network/sdk-js";
198
173
 
199
174
  // src/icon/Icon.tsx
200
175
  var CustomDappIconSvg = `
@@ -250,21 +225,19 @@ var CustomDappParams = {
250
225
  };
251
226
 
252
227
  // src/Payloads.ts
253
- import {
254
- DappConfigSchema,
255
- DappIconSchema,
256
- DappMode,
257
- DappNavItemSchema,
258
- DappNavMenuConfigSchema
259
- } from "@xyo-network/os-model";
228
+ import { DappConfigSchema, DappIconSchema, DappMode, DappNavItemSchema, DappNavMenuConfigSchema } from "@xyo-network/os-model";
260
229
  var CustomDappName = "Custom Dapp";
261
230
  var version = "1.0.0";
262
231
  var CustomDappConfig = {
263
232
  manifest: dapp_manifest_default,
264
- modes: [DappMode.Window],
233
+ modes: [
234
+ DappMode.Window
235
+ ],
265
236
  name: CustomDappName,
266
237
  schema: DappConfigSchema,
267
- sources: ["network.xyo.dapp.accounts.source"],
238
+ sources: [
239
+ "network.xyo.dapp.accounts.source"
240
+ ],
268
241
  version
269
242
  };
270
243
  var CustomDappIcon = {
@@ -275,7 +248,10 @@ var CustomDappIcon = {
275
248
  type: "system",
276
249
  version
277
250
  };
278
- var DappPayloads = [CustomDappConfig, CustomDappIcon];
251
+ var DappPayloads = [
252
+ CustomDappConfig,
253
+ CustomDappIcon
254
+ ];
279
255
  var CustomDappMenuItems = [
280
256
  {
281
257
  path: "home",
@@ -300,40 +276,46 @@ var CustomDappMenuConfig = {
300
276
  defaultPath: "home",
301
277
  schema: DappNavMenuConfigSchema
302
278
  };
303
- var CustomDappMenuPayloads = [...CustomDappMenuItems, CustomDappMenuConfig];
279
+ var CustomDappMenuPayloads = [
280
+ ...CustomDappMenuItems,
281
+ CustomDappMenuConfig
282
+ ];
304
283
 
305
284
  // src/Dapp.tsx
306
285
  import { ErrorRender } from "@xylabs/react-error";
307
286
  import { DappPathSwitcher, useAddDappMenuItems } from "@xyo-network/os-react-runtime";
287
+ import React6 from "react";
308
288
 
309
289
  // src/CustomDappPathToComponent.tsx
310
290
  import { FlexRow } from "@xylabs/react-flexbox";
311
- import { jsx as jsx5 } from "react/jsx-runtime";
291
+ import React5 from "react";
312
292
  var CustomDappPathToComponent = [
313
293
  {
314
- component: /* @__PURE__ */ jsx5(FlexRow, {}),
294
+ component: /* @__PURE__ */ React5.createElement(FlexRow, null),
315
295
  path: "home"
316
296
  }
317
297
  ];
318
298
 
319
299
  // src/Dapp.tsx
320
- import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
321
- var CustomDapp = () => {
322
- const {
323
- menuConfig,
324
- path,
325
- error
326
- } = useAddDappMenuItems(CustomDappMenuPayloads);
327
- return /* @__PURE__ */ jsxs4(Fragment, { children: [
328
- /* @__PURE__ */ jsx6(ErrorRender, { error, scope: "CustomDapp" }),
329
- /* @__PURE__ */ jsx6(DappPathSwitcher, { activePath: path?.path ?? menuConfig?.defaultPath, pathToComponent: CustomDappPathToComponent })
330
- ] });
331
- };
300
+ var CustomDapp = /* @__PURE__ */ __name(() => {
301
+ const { menuConfig, path, error } = useAddDappMenuItems(CustomDappMenuPayloads);
302
+ return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(ErrorRender, {
303
+ error,
304
+ scope: "CustomDapp"
305
+ }), /* @__PURE__ */ React6.createElement(DappPathSwitcher, {
306
+ activePath: path?.path ?? menuConfig?.defaultPath,
307
+ pathToComponent: CustomDappPathToComponent
308
+ }));
309
+ }, "CustomDapp");
332
310
 
333
311
  // src/UiParams.ts
334
312
  var CustomDappUiParams = {
335
313
  ...CustomDappParams,
336
- modes: { window: { component: CustomDapp } }
314
+ modes: {
315
+ window: {
316
+ component: CustomDapp
317
+ }
318
+ }
337
319
  };
338
320
  export {
339
321
  CustomDappConfig,
@@ -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 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","usePromise","locator","os","jsx","dappState","FlexCol","jsx","jsxs","jsx","jsxs","ModuleFactoryLocator","ModuleFactoryLocator","jsx","jsx","jsxs"]}
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":";;;;AAAA,SAASA,WAAAA,gBAAe;AAExB,SAASC,oBAAoB;AAC7B,OAAOC,YAAW;;;ACHlB,SAASC,kBAAkB;AAE3B,SACEC,aAAaC,wCAAwCC,4BAA4BC,wBAC5E;AACP,SAASC,uBAAuB;AAEhC,IAAMC,YAAY;EAChBC,QAAQ;EAAMC,WAAW;EAAOC,QAAQ;AAC1C;AAEO,IAAMC,yBAAyB,wBAACC,SAAAA;AACrC,QAAMC,OAAOC,iBAAAA;AAEb,QAAM,CAACC,eAAeC,eAAAA,IAAmBC,WAAW,YAAA;AAClD,QAAIJ,QAAQD,MAAM;AAChB,YAAMM,YAAY,IAAIC,gBAAgB;QACpCC,cAAc;UAACR,KAAKS,OAAOC;;QAC3BV;QACAW,YAAYC;QACZC,YAAYD;QACZX;MACF,CAAA;AACA,aAAO,MAAMK,UAAUQ,QAAO;IAChC;EACF,GAAG;IAACb;IAAMD;GAAK;AAEf,QAAM,EAAEe,YAAYC,QAAO,IAAKb,iBAAiB,CAAC;AAGlD,QAAMc,eAAeC,2BAA2BF,SAAShB,KAAKS,OAAOC,IAAI;AACzE,QAAMS,mBAAmBC,uCAAuCJ,OAAAA;AAEhE,QAAMK,WAAWC,YAAYN,SAAShB,KAAKS,OAAOC,IAAI;AAEtD,SAAO;IACLM;IACAK;IACA1B;IACAoB;IACAQ,QAAQ;MAACN;MAAcb;SAAoBe;MAAkBK,OAAOC,OAAAA;EACtE;AACF,GA/BsC;;;ACXtC,SAASC,kBAAkB;AAC3B,SAASC,eAAe;AACxB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,cAAc;AAEvB,SAASC,6BAA6B;AACtC,SAASC,UAAUC,YAAY;AAC/B,SAASC,UAAUC,4BAA4B;AAE/C,OAAOC,SAASC,eAAe;AAUxB,IAAMC,WAAoC,wBAAC,EAChDC,UAAUC,UAAUC,QAAQC,SAAAA,UAASC,OAAM,MAC5C;AACC,QAAM,CAACC,WAAAA,IAAeC,YAAW,YAAYF,UAAU,MAAMG,SAASC,OAAM,GAAI;IAACJ;GAAO;AACxF,QAAMK,gBAA0BC,QAAQ,MAAMT,YAAY,IAAIU,SAAAA,GAAY;IAACT;GAAO;AAClF,QAAMU,cAA8BF,QAAQ,MAAMR,UAAU,IAAIW,OAAAA,GAAU;IAACX;GAAO;AAClF,QAAMY,eAAeJ,QAAQ,MAAMP,YAAW,IAAIY,qBAAAA,GAAwB;IAACZ;GAAQ;AAEnF,QAAM,CAACa,IAAIC,KAAAA,IAASX,YAAW,YAAA;AAC7B,QAAID,eAAeO,eAAeH,iBAAiBK,cAAc;AAC/D,YAAME,MAAK,IAAIE,KAAK;QAClBhB,QAAQU;QAAaX,UAAU,IAAIU,SAAAA;QAAYR,SAASW;MAC1D,CAAA;AACA,YAAME,IAAGG,KAAKd,aAAaS,YAAAA;AAC3B,aAAOE;IACT;EACF,GAAG;IAACJ;IAAaP;IAAaF;IAASM;IAAeK;GAAa;AAEnE,SAAOE,KACH,sBAAA,cAACI,uBAAAA;IAAsBC,OAAOL;KAAKhB,QAAAA,IAEjC,sBAAA,cAACsB,SAAAA,MACC,sBAAA,cAACC,YAAAA,MAAW,WAETlB,cAAc,UAAU,SAAA,GAE3B,sBAAA,cAACkB,YAAAA,MAAW,WAETX,cAAc,UAAU,SAAA,GAE3B,sBAAA,cAACW,YAAAA,MAAW,OAETP,KAAK,UAAU,SAAA,GAElB,sBAAA,cAACO,YAAAA,MAAW,aAETN,OAAOO,OAAAA,CAAAA;AAIpB,GAxCiD;;;AFP1C,IAAMC,gBAAyC,wBAAC,EAAEC,KAAI,MAAE;AAC7D,QAAM,EACJC,SAASC,UAAUC,WAAAA,YAAWC,YAAYC,OAAM,IAC9CC,uBAAuBN,IAAAA;AAE3B,SACE,gBAAAO,OAAA,cAACC,UAAAA,MACC,gBAAAD,OAAA,cAACE,cAAAA;IACCR;IACAD;IACAU,oBAAoBR;IACpBC,WAAWA;IACXC;IACAC;;AAIR,GAjBsD;AAmB/C,IAAMM,WAAoC,wBAAC,EAAEX,KAAI,MACtD,gBAAAO,OAAA,cAACK,UAAAA,MACC,gBAAAL,OAAA,cAACR,eAAAA;EAAcC;KAF8B;;;AG/BjD,OAAOa,YAAW;AAClB,SAASC,qBAAqB;;;ACD9B,OAAOC,YAAW;AAClB,SAASC,OAAOC,cAAc;AAIvB,IAAMC,aAAsCC,wBAAAA,SACjD,gBAAAC,OAAA,cAACC,QAAAA,MACC,gBAAAD,OAAA,cAACE,OAAAA;EACCC,MAAK;EACLC,SACE,gBAAAJ,OAAA,cAACK,UAAaN,IAAAA;IAGlB,gBAAAC,OAAA,cAACE,OAAAA;EACCC,MAAK;EACLC,SACE,gBAAAJ,OAAA,cAACK,UAAaN,IAAAA;IAGlB,gBAAAC,OAAA,cAACE,OAAAA;EACCC,MAAK;EACLC,SACE,gBAAAJ,OAAA,cAACK,UAAaN,IAAAA;IAGlB,gBAAAC,OAAA,cAACE,OAAAA;EACCC,MAAK;EACLC,SACE,gBAAAJ,OAAA,cAACK,UAAaN,IAAAA;KAvB6BA;;;ADE5C,IAAMO,eAAwC,wBAAC,EAAEC,KAAI,MAAE;AAC5D,SACE,gBAAAC,OAAA,cAACC,eAAAA,MACC,gBAAAD,OAAA,cAACE,YAAAA;IAAWH;MACZ,gBAAAC,OAAA,cAACG,UAAAA;IAASJ;;AAGhB,GAPqD;;;AEPrD;AAAA,EACE,SAAW;AAAA,EACX,OAAS;AAAA,IACP;AAAA,MACE,QAAU;AAAA,QACR,aAAe;AAAA,QACf,MAAQ;AAAA,QACR,QAAU;AAAA,MACZ;AAAA,MACA,SAAW;AAAA,QACT,SAAW,CAAC;AAAA,QACZ,QAAU;AAAA,UACR;AAAA,YACE,QAAU;AAAA,cACR,aAAe;AAAA,cACf,MAAQ;AAAA,cACR,QAAU;AAAA,YACZ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAU;AACZ;;;ACvBA,SAASK,wBAAAA,6BAA4B;;;ACA9B,IAAMC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ADIjC,IAAMC,UAAU,IAAIC,sBAAAA;AAEb,IAAMC,mBAA+C;EAC1DC,SAASC;EACTJ;AACF;;;AEAA,SACEK,kBACAC,gBACAC,UACAC,mBACAC,+BACK;AAIA,IAAMC,iBAA2B;AAExC,IAAMC,UAAuB;AAEtB,IAAMC,mBAA+B;EAC1CC,UAAUC;EACVC,OAAO;IAACC,SAASC;;EACjBC,MAAMR;EACNS,QAAQC;EACRC,SAAS;IAAC;;EACVV;AACF;AAEO,IAAMW,iBAA2B;EACtCC,QAAQ;EACRC,WAAW;EACXN,MAAMR;EACNS,QAAQM;EACRC,MAAM;EACNf;AACF;AAEO,IAAMgB,eAAe;EAACf;EAAkBU;;AAI/C,IAAMM,sBAA8D;EAClE;IACEC,MAAM;IACNC,aAAa;IACbX,QAAQY;IACRC,SAAS;;;IAGTC,QAAQ;EACV;EACA;IACEJ,MAAM;IACNC,aAAa;IACbX,QAAQY;IACRC,SAAS;;;IAGTC,QAAQ;EACV;;AAGF,IAAMC,uBAA0C;EAC9CC,aAAa;EACbhB,QAAQiB;AACV;AAEO,IAAMC,yBAAyB;KAAIT;EAAqBM;;;;ACxE/D,SAASI,mBAAmB;AAC5B,SAASC,kBAAkBC,2BAA2B;AACtD,OAAOC,YAAW;;;ACFlB,SAASC,eAAe;AAExB,OAAOC,YAAW;AAEX,IAAMC,4BAA+C;EAC1D;IACEC,WAAW,gBAAAF,OAAA,cAACD,SAAAA,IAAAA;IACZI,MAAM;EACR;;;;ADDK,IAAMC,aAAa,6BAAA;AACxB,QAAM,EACJC,YAAYC,MAAMC,MAAK,IACrBC,oBAAoBC,sBAAAA;AAExB,SACE,gBAAAC,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACC,aAAAA;IAAYJ;IAAcK,OAAM;MACjC,gBAAAF,OAAA,cAACG,kBAAAA;IAAiBC,YAAYR,MAAMA,QAAQD,YAAYU;IAAaC,iBAAiBC;;AAG5F,GAX0B;;;AEFnB,IAAMC,qBAAsD;EACjE,GAAGC;EACHC,OAAO;IAAEC,QAAQ;MAAEC,WAAWC;IAAW;EAAE;AAC7C;","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"]}