@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.
- package/dist/neutral/Params.d.ts.map +1 -1
- package/dist/neutral/ReactDapp.d.ts +1 -1
- package/dist/neutral/components/host/XyOsHost.d.ts +1 -1
- package/dist/neutral/components/host/XyOsHost.d.ts.map +1 -1
- package/dist/neutral/index.mjs +111 -129
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/node/Params.d.ts.map +1 -1
- package/dist/node/ReactDapp.d.ts +1 -1
- package/dist/node/components/host/XyOsHost.d.ts +1 -1
- package/dist/node/components/host/XyOsHost.d.ts.map +1 -1
- package/dist/node/index.mjs +111 -129
- package/dist/node/index.mjs.map +1 -1
- package/package.json +321 -38
- package/dist/neutral/dapp.stories.d.ts +0 -8
- package/dist/neutral/dapp.stories.d.ts.map +0 -1
- package/dist/node/dapp.stories.d.ts +0 -8
- package/dist/node/dapp.stories.d.ts.map +0 -1
- package/src/CustomDappPathToComponent.tsx +0 -10
- package/src/Dapp.tsx +0 -19
- package/src/Params.ts +0 -13
- package/src/Payloads.ts +0 -73
- package/src/ReactDapp.ts +0 -13
- package/src/UiParams.ts +0 -11
- package/src/components/host/DappHost.tsx +0 -36
- package/src/components/host/Routable.tsx +0 -15
- package/src/components/host/Routes.tsx +0 -33
- package/src/components/host/XyOsHost.tsx +0 -61
- package/src/components/host/index.ts +0 -4
- package/src/components/index.ts +0 -1
- package/src/dapp.manifest.json +0 -25
- package/src/dapp.stories.tsx +0 -37
- package/src/helpers/index.ts +0 -1
- package/src/helpers/registration/index.ts +0 -1
- package/src/helpers/registration/useInitializeDappAdHoc.tsx +0 -43
- package/src/icon/Icon.tsx +0 -45
- package/src/icon/index.ts +0 -2
- package/src/index.ts +0 -6
package/dist/node/index.mjs
CHANGED
|
@@ -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: [
|
|
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
|
-
}, [
|
|
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: [
|
|
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/
|
|
55
|
-
import { useMemo } from "react";
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
|
|
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
|
-
}, [
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
-
|
|
103
|
+
dapp,
|
|
104
|
+
dappMenuProperties: dappMenu,
|
|
105
105
|
dappState: dappState2,
|
|
106
106
|
dappWallet,
|
|
107
107
|
errors
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
/* @__PURE__ */
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
)
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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/
|
|
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: [
|
|
233
|
+
modes: [
|
|
234
|
+
DappMode.Window
|
|
235
|
+
],
|
|
265
236
|
name: CustomDappName,
|
|
266
237
|
schema: DappConfigSchema,
|
|
267
|
-
sources: [
|
|
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 = [
|
|
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 = [
|
|
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
|
|
291
|
+
import React5 from "react";
|
|
312
292
|
var CustomDappPathToComponent = [
|
|
313
293
|
{
|
|
314
|
-
component: /* @__PURE__ */
|
|
294
|
+
component: /* @__PURE__ */ React5.createElement(FlexRow, null),
|
|
315
295
|
path: "home"
|
|
316
296
|
}
|
|
317
297
|
];
|
|
318
298
|
|
|
319
299
|
// src/Dapp.tsx
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
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: {
|
|
314
|
+
modes: {
|
|
315
|
+
window: {
|
|
316
|
+
component: CustomDapp
|
|
317
|
+
}
|
|
318
|
+
}
|
|
337
319
|
};
|
|
338
320
|
export {
|
|
339
321
|
CustomDappConfig,
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -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":"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","names":["FlexCol","DappRendered","React","usePromise","useDappMenu","useManageDappInjectableParamsFromRoute","useManageDappPathFromRoute","useXyOsUiContext","DappInitializer","dappState","active","minimized","closed","useInitializeDappAdHoc","dapp","xyOs","useXyOsUiContext","installedDapp","nodeCreateError","usePromise","installer","DappInitializer","allowedNames","config","name","xnsNetwork","undefined","xnsNodeUrl","install","dappWallet","context","routingError","useManageDappPathFromRoute","injectableErrors","useManageDappInjectableParamsFromRoute","dappMenu","useDappMenu","errors","filter","Boolean","Typography","FlexCol","usePromise","Kernel","XyOsUiContextProvider","EventBus","XyOs","HDWallet","ModuleFactoryLocator","React","useMemo","XyOsHost","children","eventBus","kernel","locator","wallet","walletToUse","usePromise","HDWallet","random","eventBusToUse","useMemo","EventBus","kernelToUse","Kernel","locatorToUse","ModuleFactoryLocator","os","error","XyOs","boot","XyOsUiContextProvider","value","FlexCol","Typography","message","DappHostInner","dapp","context","dappMenu","dappState","dappWallet","errors","useInitializeDappAdHoc","React","FlexCol","DappRendered","dappMenuProperties","DappHost","XyOsHost","React","BrowserRouter","React","Route","Routes","DappRoutes","args","React","Routes","Route","path","element","DappHost","RoutableDapp","dapp","React","BrowserRouter","DappRoutes","DappHost","ModuleFactoryLocator","CustomDappIconSvg","locator","ModuleFactoryLocator","CustomDappParams","iconSvg","CustomDappIconSvg","DappConfigSchema","DappIconSchema","DappMode","DappNavItemSchema","DappNavMenuConfigSchema","CustomDappName","version","CustomDappConfig","manifest","dappManifest","modes","DappMode","Window","name","schema","DappConfigSchema","sources","CustomDappIcon","active","installed","DappIconSchema","type","DappPayloads","CustomDappMenuItems","path","primaryText","DappNavItemSchema","svgIcon","weight","CustomDappMenuConfig","defaultPath","DappNavMenuConfigSchema","CustomDappMenuPayloads","ErrorRender","DappPathSwitcher","useAddDappMenuItems","React","FlexRow","React","CustomDappPathToComponent","component","path","CustomDapp","menuConfig","path","error","useAddDappMenuItems","CustomDappMenuPayloads","React","ErrorRender","scope","DappPathSwitcher","activePath","defaultPath","pathToComponent","CustomDappPathToComponent","CustomDappUiParams","CustomDappParams","modes","window","component","CustomDapp"]}
|