@xyo-network/react-schema 7.0.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
  import type { Meta } from '@storybook/react-vite';
2
2
  declare const StorybookEntry: Meta;
3
- declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("@storybook/react-vite").Args>;
4
- declare const WithVerifiedValue: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("@storybook/react-vite").Args>;
5
- declare const WithVerifiedValuePaper: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("@storybook/react-vite").Args>;
6
- declare const WithUnverifiedValue: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("@storybook/react-vite").Args>;
3
+ declare const Default: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("@storybook/react-vite").Args>;
4
+ declare const WithVerifiedValue: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("@storybook/react-vite").Args>;
5
+ declare const WithVerifiedValuePaper: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("@storybook/react-vite").Args>;
6
+ declare const WithUnverifiedValue: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("@storybook/react-vite").Args>;
7
7
  export { Default, WithUnverifiedValue, WithVerifiedValue, WithVerifiedValuePaper, };
8
8
  export default StorybookEntry;
9
9
  //# sourceMappingURL=SchemaProperty.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaProperty.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Property/SchemaProperty.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAO1D,QAAA,MAAM,cAAc,EAAE,IAIrB,CAAA;AAaD,QAAA,MAAM,OAAO,wIAAoB,CAAA;AAGjC,QAAA,MAAM,iBAAiB,wIAAoB,CAAA;AAG3C,QAAA,MAAM,sBAAsB,wIAAoB,CAAA;AAGhD,QAAA,MAAM,mBAAmB,wIAAoB,CAAA;AAG7C,OAAO,EACL,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB,GACxE,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"SchemaProperty.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Property/SchemaProperty.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAO1D,QAAA,MAAM,cAAc,EAAE,IAIrB,CAAA;AAaD,QAAA,MAAM,OAAO,0KAAoB,CAAA;AAGjC,QAAA,MAAM,iBAAiB,0KAAoB,CAAA;AAG3C,QAAA,MAAM,sBAAsB,0KAAoB,CAAA;AAGhD,QAAA,MAAM,mBAAmB,0KAAoB,CAAA;AAG7C,OAAO,EACL,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB,GACxE,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { Meta } from '@storybook/react-vite';
2
2
  declare const _default: Meta;
3
3
  export default _default;
4
- declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {}>;
4
+ declare const Default: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {}>;
5
5
  export { Default };
6
6
  //# sourceMappingURL=TestSchemaHooks.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestSchemaHooks.stories.d.ts","sourceRoot":"","sources":["../../../../src/hooks/stories/TestSchemaHooks.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACC,IAAI,EAChB,MAAM,uBAAuB,CAAA;wBAoDzB,IAAI;AAHT,wBAGS;AAyCT,QAAA,MAAM,OAAO,sGAAoB,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"TestSchemaHooks.stories.d.ts","sourceRoot":"","sources":["../../../../src/hooks/stories/TestSchemaHooks.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACC,IAAI,EAChB,MAAM,uBAAuB,CAAA;wBAoDzB,IAAI;AAHT,wBAGS;AAyCT,QAAA,MAAM,OAAO,wIAAoB,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -5,7 +5,7 @@ import type { SchemaPayload } from '@xyo-network/schema-payload-plugin';
5
5
  */
6
6
  declare const useGetSchemaPayload: (schema?: string) => {
7
7
  notFound: boolean;
8
- schemaHuri: import("@xyo-network/huri").Huri<import("@xyo-network/payload-model").Payload> | undefined;
8
+ schemaHuri: import(".store/@xyo-network-huri-npm-5.0.5-ccee9432e6/package").Huri<import("@xyo-network/payload-model").Payload> | undefined;
9
9
  schemaPayload: SchemaPayload | null | undefined;
10
10
  xyoError: WithSources<ModuleError> | undefined;
11
11
  };
@@ -1,9 +1,9 @@
1
1
  import type { Meta } from '@storybook/react-vite';
2
2
  declare const StorybookEntry: Meta;
3
- declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {
3
+ declare const Default: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {
4
4
  schema: string;
5
5
  }>;
6
- declare const Domain: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {
6
+ declare const Domain: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {
7
7
  schema: string;
8
8
  }>;
9
9
  export { Default, Domain };
@@ -1,8 +1,9 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/components/Property/SchemaProperty.tsx
5
- import { NewReleases as NewReleasesIcon, OpenInNew as OpenInNewIcon, Verified as VerifiedIcon } from "@mui/icons-material";
2
+ import {
3
+ NewReleases as NewReleasesIcon,
4
+ OpenInNew as OpenInNewIcon,
5
+ Verified as VerifiedIcon
6
+ } from "@mui/icons-material";
6
7
  import { IconButton } from "@mui/material";
7
8
  import { useAsyncEffect } from "@xylabs/react-async-effect";
8
9
  import { FlexGrowRow } from "@xylabs/react-flexbox";
@@ -10,115 +11,128 @@ import { LinkEx } from "@xylabs/react-link";
10
11
  import { useEvent } from "@xyo-network/react-event";
11
12
  import { Property, PropertyValue } from "@xyo-network/react-property";
12
13
  import { SchemaCache } from "@xyo-network/schema-cache";
13
- import React, { useState } from "react";
14
- var useResolveSchema = /* @__PURE__ */ __name((schema) => {
14
+ import { useState } from "react";
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ var useResolveSchema = (schema) => {
15
17
  const [entry, setEntry] = useState();
16
- useAsyncEffect(async (mounted) => {
17
- if (schema) {
18
- const entry2 = await SchemaCache.instance.get(schema);
19
- if (mounted()) {
20
- setEntry(entry2);
18
+ useAsyncEffect(
19
+ async (mounted) => {
20
+ if (schema) {
21
+ const entry2 = await SchemaCache.instance.get(schema);
22
+ if (mounted()) {
23
+ setEntry(entry2);
24
+ }
21
25
  }
22
- }
23
- }, [
24
- schema
25
- ]);
26
+ },
27
+ [schema]
28
+ );
26
29
  return entry;
27
- }, "useResolveSchema");
28
- var SchemaProperty = /* @__PURE__ */ __name(({ showLinkNames = true, showOpenNewWindowLink = true, showStatusIcon = true, titleProps, value, ...props }) => {
30
+ };
31
+ var SchemaProperty = ({
32
+ showLinkNames = true,
33
+ showOpenNewWindowLink = true,
34
+ showStatusIcon = true,
35
+ titleProps,
36
+ value,
37
+ ...props
38
+ }) => {
29
39
  const resolvedSchema = useResolveSchema(value);
30
40
  const [buttonRef, buttonDispatch] = useEvent();
31
41
  const [divRef, divDispatch] = useEvent();
32
- const onClick = /* @__PURE__ */ __name((dispatch, openNewWindow = false) => {
33
- dispatch?.("schema", "click", JSON.stringify({
34
- openNewWindow,
35
- schema: value
36
- }));
37
- }, "onClick");
38
- return /* @__PURE__ */ React.createElement(Property, {
39
- title: "Schema",
40
- value,
41
- tip: "Schema sent with the payload",
42
- titleProps,
43
- ...props
44
- }, value && showStatusIcon ? resolvedSchema === null ? /* @__PURE__ */ React.createElement(IconButton, {
45
- ref: buttonRef,
46
- size: "small",
47
- onClick: /* @__PURE__ */ __name(() => {
48
- if (!buttonRef.current) {
49
- console.warn("buttonRef.current is null");
50
- }
51
- onClick(buttonDispatch);
52
- }, "onClick")
53
- }, /* @__PURE__ */ React.createElement(NewReleasesIcon, {
54
- color: "warning",
55
- fontSize: "inherit"
56
- })) : resolvedSchema === void 0 ? /* @__PURE__ */ React.createElement(IconButton, {
57
- ref: buttonRef,
58
- size: "small",
59
- onClick: /* @__PURE__ */ __name(() => {
60
- if (!buttonRef.current) {
61
- console.warn("buttonRef.current is null");
62
- }
63
- onClick(buttonDispatch);
64
- }, "onClick")
65
- }, /* @__PURE__ */ React.createElement(NewReleasesIcon, {
66
- color: "disabled",
67
- fontSize: "inherit"
68
- })) : /* @__PURE__ */ React.createElement(IconButton, {
69
- rel: "noopener noreferrer",
70
- size: "small",
71
- target: "_blank",
72
- href: resolvedSchema?.huri?.href ?? ""
73
- }, /* @__PURE__ */ React.createElement(VerifiedIcon, {
74
- color: "success",
75
- fontSize: "inherit"
76
- })) : null, value ? /* @__PURE__ */ React.createElement(FlexGrowRow, {
77
- ref: divRef,
78
- justifyContent: "space-between"
79
- }, showLinkNames ? /* @__PURE__ */ React.createElement(LinkEx, {
80
- display: "block",
81
- width: "100%",
82
- sx: {
83
- cursor: "pointer"
84
- }
85
- }, /* @__PURE__ */ React.createElement(PropertyValue, {
86
- value,
87
- title: "view schema",
88
- onClick: /* @__PURE__ */ __name(() => {
89
- if (!divRef.current) {
90
- console.warn("divRef.current is null");
91
- }
92
- onClick(divDispatch);
93
- }, "onClick")
94
- })) : /* @__PURE__ */ React.createElement(PropertyValue, {
95
- value,
96
- title: "view schema",
97
- onClick: /* @__PURE__ */ __name(() => {
98
- if (!divRef.current) {
99
- console.warn("divRef.current is null");
42
+ const onClick = (dispatch, openNewWindow = false) => {
43
+ dispatch?.(
44
+ "schema",
45
+ "click",
46
+ JSON.stringify({
47
+ openNewWindow,
48
+ schema: value
49
+ })
50
+ );
51
+ };
52
+ return /* @__PURE__ */ jsxs(Property, { title: "Schema", value, tip: "Schema sent with the payload", titleProps, ...props, children: [
53
+ value && showStatusIcon ? resolvedSchema === null ? /* @__PURE__ */ jsx(
54
+ IconButton,
55
+ {
56
+ ref: buttonRef,
57
+ size: "small",
58
+ onClick: () => {
59
+ if (!buttonRef.current) {
60
+ console.warn("buttonRef.current is null");
61
+ }
62
+ onClick(buttonDispatch);
63
+ },
64
+ children: /* @__PURE__ */ jsx(NewReleasesIcon, { color: "warning", fontSize: "inherit" })
100
65
  }
101
- onClick(divDispatch);
102
- }, "onClick")
103
- }), showOpenNewWindowLink ? /* @__PURE__ */ React.createElement(IconButton, {
104
- ref: buttonRef,
105
- size: "small",
106
- onClick: /* @__PURE__ */ __name(() => {
107
- if (!buttonRef.current) {
108
- console.warn("buttonRef.current is null");
66
+ ) : resolvedSchema === void 0 ? /* @__PURE__ */ jsx(
67
+ IconButton,
68
+ {
69
+ ref: buttonRef,
70
+ size: "small",
71
+ onClick: () => {
72
+ if (!buttonRef.current) {
73
+ console.warn("buttonRef.current is null");
74
+ }
75
+ onClick(buttonDispatch);
76
+ },
77
+ children: /* @__PURE__ */ jsx(NewReleasesIcon, { color: "disabled", fontSize: "inherit" })
109
78
  }
110
- onClick(buttonDispatch, true);
111
- }, "onClick")
112
- }, /* @__PURE__ */ React.createElement(OpenInNewIcon, {
113
- fontSize: "inherit"
114
- })) : null) : null);
115
- }, "SchemaProperty");
79
+ ) : /* @__PURE__ */ jsx(IconButton, { rel: "noopener noreferrer", size: "small", target: "_blank", href: resolvedSchema?.huri?.href ?? "", children: /* @__PURE__ */ jsx(VerifiedIcon, { color: "success", fontSize: "inherit" }) }) : null,
80
+ value ? /* @__PURE__ */ jsxs(FlexGrowRow, { ref: divRef, justifyContent: "space-between", children: [
81
+ showLinkNames ? /* @__PURE__ */ jsx(
82
+ LinkEx,
83
+ {
84
+ display: "block",
85
+ width: "100%",
86
+ sx: { cursor: "pointer" },
87
+ children: /* @__PURE__ */ jsx(
88
+ PropertyValue,
89
+ {
90
+ value,
91
+ title: "view schema",
92
+ onClick: () => {
93
+ if (!divRef.current) {
94
+ console.warn("divRef.current is null");
95
+ }
96
+ onClick(divDispatch);
97
+ }
98
+ }
99
+ )
100
+ }
101
+ ) : /* @__PURE__ */ jsx(
102
+ PropertyValue,
103
+ {
104
+ value,
105
+ title: "view schema",
106
+ onClick: () => {
107
+ if (!divRef.current) {
108
+ console.warn("divRef.current is null");
109
+ }
110
+ onClick(divDispatch);
111
+ }
112
+ }
113
+ ),
114
+ showOpenNewWindowLink ? /* @__PURE__ */ jsx(
115
+ IconButton,
116
+ {
117
+ ref: buttonRef,
118
+ size: "small",
119
+ onClick: () => {
120
+ if (!buttonRef.current) {
121
+ console.warn("buttonRef.current is null");
122
+ }
123
+ onClick(buttonDispatch, true);
124
+ },
125
+ children: /* @__PURE__ */ jsx(OpenInNewIcon, { fontSize: "inherit" })
126
+ }
127
+ ) : null
128
+ ] }) : null
129
+ ] });
130
+ };
116
131
  SchemaProperty.displayName = "SchemaProperty";
117
132
 
118
133
  // src/components/SelectEx/SchemaSelectEx.tsx
119
134
  import { MenuItem, Typography } from "@mui/material";
120
135
  import { SelectEx } from "@xylabs/react-select";
121
- import React4 from "react";
122
136
 
123
137
  // src/contexts/Schema/Context.ts
124
138
  import { createContextEx } from "@xylabs/react-shared";
@@ -126,7 +140,7 @@ var SchemaContext = createContextEx();
126
140
 
127
141
  // src/contexts/Schema/Provider/Memory.tsx
128
142
  import { exists } from "@xylabs/exists";
129
- import React2, { useMemo as useMemo3, useState as useState5 } from "react";
143
+ import { useMemo as useMemo3, useState as useState5 } from "react";
130
144
 
131
145
  // src/hooks/useGetSchema.tsx
132
146
  import { useAsyncEffect as useAsyncEffect2 } from "@xylabs/react-async-effect";
@@ -134,159 +148,157 @@ import { PayloadBuilder } from "@xyo-network/payload-builder";
134
148
  import { ModuleErrorSchema } from "@xyo-network/payload-model";
135
149
  import { SchemaCache as SchemaCache2 } from "@xyo-network/schema-cache";
136
150
  import { useState as useState2 } from "react";
137
- var useGetSchemaPayload = /* @__PURE__ */ __name((schema) => {
151
+ var useGetSchemaPayload = (schema) => {
138
152
  const [notFound, setNotFound] = useState2(false);
139
153
  const [xyoError, setError] = useState2();
140
154
  const [schemaCacheEntry, setSchemaCacheEntry] = useState2();
141
155
  const [schemaLocal, setSchemaLocal] = useState2();
142
- useAsyncEffect2(async (mounted) => {
143
- const firstRequest = !notFound && !schemaCacheEntry && !xyoError;
144
- const schemaChanged = schema !== schemaLocal;
145
- if (schema && firstRequest || schema && schemaChanged) {
146
- try {
147
- const schemaCacheEntry2 = await SchemaCache2.instance.get(schema);
148
- if (mounted()) {
149
- setSchemaCacheEntry(schemaCacheEntry2);
150
- setNotFound(schemaCacheEntry2 === null || schemaCacheEntry2 === void 0);
151
- }
152
- } catch (e) {
153
- const error = e;
154
- console.error(e);
155
- if (mounted()) {
156
- setError({
157
- message: error.message,
158
- schema: ModuleErrorSchema,
159
- $sources: []
160
- });
156
+ useAsyncEffect2(
157
+ async (mounted) => {
158
+ const firstRequest = !notFound && !schemaCacheEntry && !xyoError;
159
+ const schemaChanged = schema !== schemaLocal;
160
+ if (schema && firstRequest || schema && schemaChanged) {
161
+ try {
162
+ const schemaCacheEntry2 = await SchemaCache2.instance.get(schema);
163
+ if (mounted()) {
164
+ setSchemaCacheEntry(schemaCacheEntry2);
165
+ setNotFound(schemaCacheEntry2 === null || schemaCacheEntry2 === void 0);
166
+ }
167
+ } catch (e) {
168
+ const error = e;
169
+ console.error(e);
170
+ if (mounted()) {
171
+ setError({
172
+ message: error.message,
173
+ schema: ModuleErrorSchema,
174
+ $sources: []
175
+ });
176
+ }
161
177
  }
162
178
  }
163
- }
164
- if (schemaChanged) {
165
- setSchemaLocal(schema);
166
- }
167
- }, [
168
- xyoError,
169
- notFound,
170
- schema,
171
- schemaLocal,
172
- schemaCacheEntry
173
- ]);
179
+ if (schemaChanged) {
180
+ setSchemaLocal(schema);
181
+ }
182
+ },
183
+ [xyoError, notFound, schema, schemaLocal, schemaCacheEntry]
184
+ );
174
185
  return {
175
186
  notFound,
176
187
  schemaHuri: schemaCacheEntry?.huri,
177
188
  schemaPayload: schemaCacheEntry ? new PayloadBuilder(schemaCacheEntry?.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,
178
189
  xyoError
179
190
  };
180
- }, "useGetSchemaPayload");
191
+ };
181
192
 
182
193
  // src/hooks/useSchemaDefinitions.tsx
183
194
  import { useAsyncEffect as useAsyncEffect3 } from "@xylabs/react-async-effect";
184
195
  import { SchemaCache as SchemaCache3 } from "@xyo-network/schema-cache";
185
196
  import { useState as useState3 } from "react";
186
- var useSchemaDefinitions = /* @__PURE__ */ __name((schemaList) => {
197
+ var useSchemaDefinitions = (schemaList) => {
187
198
  const [schemaPayloads, setSchemaPayloads] = useState3();
188
- useAsyncEffect3(async (mounted) => {
189
- if (schemaList) {
190
- const promiseResults = await Promise.allSettled(schemaList?.map(({ name }) => SchemaCache3.instance.get(name)));
191
- if (mounted()) {
192
- setSchemaPayloads(promiseResults.map((result) => result.status === "fulfilled" ? result.value?.payload : void 0).filter((item) => item !== void 0 && item !== null));
199
+ useAsyncEffect3(
200
+ async (mounted) => {
201
+ if (schemaList) {
202
+ const promiseResults = await Promise.allSettled(schemaList?.map(({ name }) => SchemaCache3.instance.get(name)));
203
+ if (mounted()) {
204
+ setSchemaPayloads(
205
+ promiseResults.map((result) => result.status === "fulfilled" ? result.value?.payload : void 0).filter((item) => item !== void 0 && item !== null)
206
+ );
207
+ }
193
208
  }
194
- }
195
- }, [
196
- schemaList
197
- ]);
209
+ },
210
+ [schemaList]
211
+ );
198
212
  return schemaPayloads;
199
- }, "useSchemaDefinitions");
213
+ };
200
214
 
201
215
  // src/hooks/useSchemaList.tsx
202
216
  import { usePromise } from "@xylabs/react-promise";
203
217
  import { SchemaListQuerySchema } from "@xyo-network/diviner-schema-list-model";
204
218
  import { useWeakDivinerFromNode } from "@xyo-network/react-diviner";
205
219
  import { useMemo } from "react";
206
- var useSchemaList = /* @__PURE__ */ __name((address, nameOrAddress = "SchemaListDiviner") => {
220
+ var useSchemaList = (address, nameOrAddress = "SchemaListDiviner") => {
207
221
  const [diviner, divinerError] = useWeakDivinerFromNode(nameOrAddress);
208
- const query = useMemo(() => address ? [
209
- {
210
- address,
211
- schema: SchemaListQuerySchema
212
- }
213
- ] : void 0, [
214
- address
215
- ]);
216
- const [schemaList, error] = usePromise(async () => {
217
- const divinerInstance = diviner?.deref();
218
- if (divinerInstance) {
219
- const response = await divinerInstance.divine(query);
220
- return response.at(0);
221
- }
222
- }, [
223
- diviner,
224
- divinerError,
225
- query
226
- ]);
227
- return [
228
- schemaList,
229
- error
230
- ];
231
- }, "useSchemaList");
222
+ const query = useMemo(
223
+ () => address ? [
224
+ {
225
+ address,
226
+ schema: SchemaListQuerySchema
227
+ }
228
+ ] : void 0,
229
+ [address]
230
+ );
231
+ const [schemaList, error] = usePromise(
232
+ async () => {
233
+ const divinerInstance = diviner?.deref();
234
+ if (divinerInstance) {
235
+ const response = await divinerInstance.divine(query);
236
+ return response.at(0);
237
+ }
238
+ },
239
+ [diviner, divinerError, query]
240
+ );
241
+ return [schemaList, error];
242
+ };
232
243
 
233
244
  // src/hooks/useSchemaStats.tsx
234
245
  import { useAsyncEffect as useAsyncEffect4 } from "@xylabs/react-async-effect";
235
- import { SchemaStatsDivinerSchema, SchemaStatsQuerySchema } from "@xyo-network/diviner-schema-stats-model";
246
+ import {
247
+ SchemaStatsDivinerSchema,
248
+ SchemaStatsQuerySchema
249
+ } from "@xyo-network/diviner-schema-stats-model";
236
250
  import { TYPES } from "@xyo-network/node-core-types";
237
251
  import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
238
252
  import { useWeakDivinerFromNode as useWeakDivinerFromNode2 } from "@xyo-network/react-diviner";
239
253
  import { useMemo as useMemo2, useState as useState4 } from "react";
240
- var useSchemaStats = /* @__PURE__ */ __name((statsAddress, nameOrAddress = TYPES.SchemaStatsDiviner) => {
254
+ var useSchemaStats = (statsAddress, nameOrAddress = TYPES.SchemaStatsDiviner) => {
241
255
  const [refresh, setRefresh] = useState4(1);
242
256
  const [diviner, divinerError] = useWeakDivinerFromNode2(nameOrAddress);
243
257
  const [error, setError] = useState4();
244
- const refreshHistory = /* @__PURE__ */ __name(() => setRefresh((previous) => previous + 1), "refreshHistory");
258
+ const refreshHistory = () => setRefresh((previous) => previous + 1);
245
259
  const [schemaList, setSchemaList] = useState4();
246
- const query = useMemo2(() => ({
247
- address: statsAddress,
248
- schema: SchemaStatsQuerySchema
249
- }), [
250
- statsAddress
251
- ]);
252
- useAsyncEffect4(async (mounted) => {
253
- const instance = diviner?.deref();
254
- if (instance) {
255
- if (divinerError) {
256
- if (mounted()) {
257
- setError(divinerError);
258
- setSchemaList(void 0);
259
- }
260
- } else {
261
- try {
262
- const schemas = (await instance.divine([
263
- query
264
- ])).filter(isPayloadOfSchemaType(SchemaStatsDivinerSchema));
260
+ const query = useMemo2(
261
+ () => ({
262
+ address: statsAddress,
263
+ schema: SchemaStatsQuerySchema
264
+ }),
265
+ [statsAddress]
266
+ );
267
+ useAsyncEffect4(
268
+ async (mounted) => {
269
+ const instance = diviner?.deref();
270
+ if (instance) {
271
+ if (divinerError) {
265
272
  if (mounted()) {
266
- setSchemaList(schemas);
267
- setError(void 0);
273
+ setError(divinerError);
274
+ setSchemaList(void 0);
275
+ }
276
+ } else {
277
+ try {
278
+ const schemas = (await instance.divine([query])).filter(isPayloadOfSchemaType(SchemaStatsDivinerSchema));
279
+ if (mounted()) {
280
+ setSchemaList(schemas);
281
+ setError(void 0);
282
+ }
283
+ } catch (ex) {
284
+ setError(ex);
285
+ setSchemaList(void 0);
268
286
  }
269
- } catch (ex) {
270
- setError(ex);
271
- setSchemaList(void 0);
272
287
  }
273
288
  }
274
- }
275
- }, [
276
- diviner,
277
- refresh,
278
- divinerError,
279
- query
280
- ]);
281
- return [
282
- schemaList,
283
- error,
284
- refreshHistory
285
- ];
286
- }, "useSchemaStats");
289
+ },
290
+ [diviner, refresh, divinerError, query]
291
+ );
292
+ return [schemaList, error, refreshHistory];
293
+ };
287
294
 
288
295
  // src/contexts/Schema/Provider/Memory.tsx
289
- var SchemaMemoryProvider = /* @__PURE__ */ __name(({ defaultSchema, knownSchemaList, ...props }) => {
296
+ import { jsx as jsx2 } from "react/jsx-runtime";
297
+ var SchemaMemoryProvider = ({
298
+ defaultSchema,
299
+ knownSchemaList,
300
+ ...props
301
+ }) => {
290
302
  const [schema, setSchema] = useState5(defaultSchema);
291
303
  const [schemaList, setSchemaList] = useState5(knownSchemaList);
292
304
  const [fetchedSchemaStats] = useSchemaStats();
@@ -295,63 +307,60 @@ var SchemaMemoryProvider = /* @__PURE__ */ __name(({ defaultSchema, knownSchemaL
295
307
  const schemaList2 = fetchedSchemaStats.map(({ name }) => name).filter(exists);
296
308
  setSchemaList(schemaList2);
297
309
  }
298
- }, [
299
- fetchedSchemaStats
300
- ]);
310
+ }, [fetchedSchemaStats]);
301
311
  const value = useMemo3(() => ({
302
312
  provided: true,
303
313
  schema,
304
314
  schemaList: knownSchemaList ?? schemaList,
305
315
  setSchema,
306
316
  setSchemaList
307
- }), [
308
- schema,
309
- schemaList,
310
- knownSchemaList
311
- ]);
312
- return /* @__PURE__ */ React2.createElement(SchemaContext, {
313
- value,
314
- ...props
315
- });
316
- }, "SchemaMemoryProvider");
317
+ }), [schema, schemaList, knownSchemaList]);
318
+ return /* @__PURE__ */ jsx2(SchemaContext, { value, ...props });
319
+ };
317
320
 
318
321
  // src/contexts/Schema/Provider/Route.tsx
319
- import React3, { useCallback, useEffect, useMemo as useMemo4 } from "react";
322
+ import {
323
+ useCallback,
324
+ useEffect,
325
+ useMemo as useMemo4
326
+ } from "react";
320
327
  import { useSearchParams } from "react-router-dom";
321
328
 
322
329
  // src/contexts/Schema/use.ts
323
330
  import { useContextEx } from "@xylabs/react-shared";
324
- var useSchema = /* @__PURE__ */ __name((required = false) => {
331
+ var useSchema = (required = false) => {
325
332
  return useContextEx(SchemaContext, "Schema", required);
326
- }, "useSchema");
333
+ };
327
334
 
328
335
  // src/contexts/Schema/Provider/Route.tsx
329
- var SchemaRouteProviderInner = /* @__PURE__ */ __name(({ children }) => {
330
- const { schema, setSchema, schemaList } = useSchema();
336
+ import { jsx as jsx3 } from "react/jsx-runtime";
337
+ var SchemaRouteProviderInner = ({ children }) => {
338
+ const {
339
+ schema,
340
+ setSchema,
341
+ schemaList
342
+ } = useSchema();
331
343
  const [params, setParams] = useSearchParams();
332
344
  const routeSchema = params.get("schema");
333
- const setSchemaParam = useCallback((schema2) => {
334
- if (schema2) {
335
- params.set("schema", schema2);
336
- setParams(params, {
337
- replace: true
338
- });
345
+ const setSchemaParam = useCallback(
346
+ (schema2) => {
347
+ if (schema2) {
348
+ params.set("schema", schema2);
349
+ setParams(params, { replace: true });
350
+ setSchema?.(schema2);
351
+ } else {
352
+ params.delete("network");
353
+ }
354
+ },
355
+ [params, setParams, setSchema]
356
+ );
357
+ const setSchemaLocal = useCallback(
358
+ (schema2) => {
359
+ setSchemaParam(schema2);
339
360
  setSchema?.(schema2);
340
- } else {
341
- params.delete("network");
342
- }
343
- }, [
344
- params,
345
- setParams,
346
- setSchema
347
- ]);
348
- const setSchemaLocal = useCallback((schema2) => {
349
- setSchemaParam(schema2);
350
- setSchema?.(schema2);
351
- }, [
352
- setSchemaParam,
353
- setSchema
354
- ]);
361
+ },
362
+ [setSchemaParam, setSchema]
363
+ );
355
364
  useEffect(() => {
356
365
  if (routeSchema !== schema) {
357
366
  if (routeSchema === void 0 && schema !== void 0) {
@@ -360,61 +369,60 @@ var SchemaRouteProviderInner = /* @__PURE__ */ __name(({ children }) => {
360
369
  setSchema?.(routeSchema);
361
370
  }
362
371
  }
363
- }, [
364
- routeSchema,
365
- schema,
366
- setSchemaParam,
367
- setSchema,
368
- setSchemaLocal
369
- ]);
372
+ }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
370
373
  const value = useMemo4(() => ({
371
374
  provided: true,
372
375
  schema,
373
376
  schemaList,
374
377
  setSchema: setSchemaLocal
375
- }), [
376
- schema,
377
- schemaList,
378
- setSchemaLocal
379
- ]);
380
- return /* @__PURE__ */ React3.createElement(SchemaContext, {
381
- value
382
- }, children);
383
- }, "SchemaRouteProviderInner");
384
- var SchemaRouteProvider = /* @__PURE__ */ __name(({ knownSchemaList, defaultSchema, ...props }) => {
385
- return /* @__PURE__ */ React3.createElement(SchemaMemoryProvider, {
386
- knownSchemaList,
387
- defaultSchema
388
- }, /* @__PURE__ */ React3.createElement(SchemaRouteProviderInner, props));
389
- }, "SchemaRouteProvider");
378
+ }), [schema, schemaList, setSchemaLocal]);
379
+ return /* @__PURE__ */ jsx3(SchemaContext, { value, children });
380
+ };
381
+ var SchemaRouteProvider = ({
382
+ knownSchemaList,
383
+ defaultSchema,
384
+ ...props
385
+ }) => {
386
+ return /* @__PURE__ */ jsx3(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ jsx3(SchemaRouteProviderInner, { ...props }) });
387
+ };
390
388
 
391
389
  // src/components/SelectEx/SchemaSelectEx.tsx
392
- var SchemaSelectEx = /* @__PURE__ */ __name(({ onChange, variant = "outlined", ...props }) => {
393
- const { schema, setSchema, schemaList } = useSchema(false);
394
- return /* @__PURE__ */ React4.createElement(SelectEx, {
395
- variant,
396
- size: "small",
397
- value: schema ?? "none",
398
- onChange: /* @__PURE__ */ __name((event, child) => {
399
- if (event.target.value !== schema) {
400
- onChange?.(event, child);
401
- setSchema?.(event.target.value);
402
- }
403
- }, "onChange"),
404
- renderValue: /* @__PURE__ */ __name((value) => {
405
- return /* @__PURE__ */ React4.createElement(Typography, null, value === "none" ? "- None -" : value);
406
- }, "renderValue"),
407
- ...props
408
- }, schemaList?.map((schema2, index) => {
409
- return /* @__PURE__ */ React4.createElement(MenuItem, {
410
- key: index,
411
- value: schema2
412
- }, schema2);
413
- }), /* @__PURE__ */ React4.createElement(MenuItem, {
414
- key: "none",
415
- value: "none"
416
- }, "- None -"));
417
- }, "SchemaSelectEx");
390
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
391
+ var SchemaSelectEx = ({
392
+ onChange,
393
+ variant = "outlined",
394
+ ...props
395
+ }) => {
396
+ const {
397
+ schema,
398
+ setSchema,
399
+ schemaList
400
+ } = useSchema(false);
401
+ return /* @__PURE__ */ jsxs2(
402
+ SelectEx,
403
+ {
404
+ variant,
405
+ size: "small",
406
+ value: schema ?? "none",
407
+ onChange: (event, child) => {
408
+ if (event.target.value !== schema) {
409
+ onChange?.(event, child);
410
+ setSchema?.(event.target.value);
411
+ }
412
+ },
413
+ renderValue: (value) => {
414
+ return /* @__PURE__ */ jsx4(Typography, { children: value === "none" ? "- None -" : value });
415
+ },
416
+ ...props,
417
+ children: [
418
+ schemaList?.map((schema2, index) => {
419
+ return /* @__PURE__ */ jsx4(MenuItem, { value: schema2, children: schema2 }, index);
420
+ }),
421
+ /* @__PURE__ */ jsx4(MenuItem, { value: "none", children: "- None -" }, "none")
422
+ ]
423
+ }
424
+ );
425
+ };
418
426
  export {
419
427
  SchemaContext,
420
428
  SchemaMemoryProvider,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/Property/SchemaProperty.tsx","../../src/components/SelectEx/SchemaSelectEx.tsx","../../src/contexts/Schema/Context.ts","../../src/contexts/Schema/Provider/Memory.tsx","../../src/hooks/useGetSchema.tsx","../../src/hooks/useSchemaDefinitions.tsx","../../src/hooks/useSchemaList.tsx","../../src/hooks/useSchemaStats.tsx","../../src/contexts/Schema/Provider/Route.tsx","../../src/contexts/Schema/use.ts"],"sourcesContent":["import {\n NewReleases as NewReleasesIcon, OpenInNew as OpenInNewIcon, Verified as VerifiedIcon,\n} from '@mui/icons-material'\nimport { IconButton } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport type { EventDispatch, EventNoun } from '@xyo-network/react-event'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { PropertyProps } from '@xyo-network/react-property'\nimport { Property, PropertyValue } from '@xyo-network/react-property'\nimport type { SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport React, { useState } from 'react'\n\nexport type SchemaPropertyProps = PropertyProps & {\n showLinkNames?: boolean\n showOpenNewWindowLink?: boolean\n showStatusIcon?: boolean\n value?: string\n}\n\nconst useResolveSchema = (schema?: string) => {\n const [entry, setEntry] = useState<SchemaCacheEntry | null>()\n useAsyncEffect(\n async (mounted) => {\n if (schema) {\n const entry = await SchemaCache.instance.get(schema)\n if (mounted()) {\n setEntry(entry)\n }\n }\n },\n [schema],\n )\n return entry\n}\n\nexport const SchemaProperty: React.FC<SchemaPropertyProps> = ({\n showLinkNames = true, showOpenNewWindowLink = true, showStatusIcon = true, titleProps, value, ...props\n}) => {\n const resolvedSchema = useResolveSchema(value)\n const [buttonRef, buttonDispatch] = useEvent<HTMLButtonElement>()\n const [divRef, divDispatch] = useEvent<HTMLDivElement>()\n\n const onClick = (dispatch?: EventDispatch<EventNoun, 'click', string>, openNewWindow = false) => {\n dispatch?.(\n 'schema',\n 'click',\n JSON.stringify({\n openNewWindow,\n schema: value,\n }),\n )\n }\n\n return (\n <Property title=\"Schema\" value={value} tip=\"Schema sent with the payload\" titleProps={titleProps} {...props}>\n {value && showStatusIcon\n ? resolvedSchema === null\n ? (\n <IconButton\n ref={buttonRef}\n size=\"small\"\n onClick={() => {\n if (!buttonRef.current) {\n console.warn('buttonRef.current is null')\n }\n onClick(buttonDispatch)\n }}\n >\n <NewReleasesIcon color=\"warning\" fontSize=\"inherit\" />\n </IconButton>\n )\n : resolvedSchema === undefined\n ? (\n <IconButton\n ref={buttonRef}\n size=\"small\"\n onClick={() => {\n if (!buttonRef.current) {\n console.warn('buttonRef.current is null')\n }\n onClick(buttonDispatch)\n }}\n >\n <NewReleasesIcon color=\"disabled\" fontSize=\"inherit\" />\n </IconButton>\n )\n : (\n <IconButton rel=\"noopener noreferrer\" size=\"small\" target=\"_blank\" href={resolvedSchema?.huri?.href ?? ''}>\n <VerifiedIcon color=\"success\" fontSize=\"inherit\" />\n </IconButton>\n )\n\n : null}\n {value\n ? (\n <FlexGrowRow ref={divRef} justifyContent=\"space-between\">\n {showLinkNames\n ? (\n <LinkEx\n display=\"block\"\n width=\"100%\"\n sx={{ cursor: 'pointer' }}\n >\n <PropertyValue\n value={value}\n title=\"view schema\"\n onClick={() => {\n if (!divRef.current) {\n console.warn('divRef.current is null')\n }\n onClick(divDispatch)\n }}\n />\n </LinkEx>\n )\n : (\n <PropertyValue\n value={value}\n title=\"view schema\"\n onClick={() => {\n if (!divRef.current) {\n console.warn('divRef.current is null')\n }\n onClick(divDispatch)\n }}\n />\n )}\n {showOpenNewWindowLink\n ? (\n <IconButton\n ref={buttonRef}\n size=\"small\"\n onClick={() => {\n if (!buttonRef.current) {\n console.warn('buttonRef.current is null')\n }\n onClick(buttonDispatch, true)\n }}\n >\n <OpenInNewIcon fontSize=\"inherit\" />\n </IconButton>\n )\n : null}\n </FlexGrowRow>\n )\n : null}\n </Property>\n )\n}\n\nSchemaProperty.displayName = 'SchemaProperty'\n","import { MenuItem, Typography } from '@mui/material'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport React from 'react'\n\nimport { useSchema } from '../../contexts/index.ts'\n\nexport type SchemaSelectExProps = SelectExProps<string>\n\nexport const SchemaSelectEx: React.FC<SchemaSelectExProps> = ({\n onChange, variant = 'outlined', ...props\n}) => {\n const {\n schema, setSchema, schemaList,\n } = useSchema(false)\n\n return (\n <SelectEx\n variant={variant}\n size=\"small\"\n value={schema ?? 'none'}\n onChange={(event, child) => {\n if (event.target.value !== schema) {\n onChange?.(event, child)\n setSchema?.(event.target.value)\n }\n }}\n renderValue={(value) => {\n return <Typography>{value === 'none' ? '- None -' : value}</Typography>\n }}\n {...props}\n >\n {schemaList?.map((schema, index) => {\n return (\n <MenuItem key={index} value={schema}>\n {schema}\n </MenuItem>\n )\n })}\n <MenuItem key=\"none\" value=\"none\">\n - None -\n </MenuItem>\n </SelectEx>\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { SchemaContextState } from './State.ts'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\n","import { exists } from '@xylabs/exists'\nimport type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { useSchemaStats } from '../../../hooks/index.ts'\nimport { SchemaContext } from '../Context.ts'\nimport type { SchemaContextState } from '../State.ts'\nimport type { SchemaProviderProps } from './Props.ts'\n\nexport const SchemaMemoryProvider: React.FC<PropsWithChildren<SchemaProviderProps>> = ({\n defaultSchema, knownSchemaList, ...props\n}) => {\n const [schema, setSchema] = useState(defaultSchema)\n const [schemaList, setSchemaList] = useState<string[] | undefined>(knownSchemaList)\n const [fetchedSchemaStats] = useSchemaStats()\n\n useMemo(() => {\n if (fetchedSchemaStats) {\n const schemaList = (fetchedSchemaStats.map(({ name }) => name)).filter(exists)\n setSchemaList(schemaList)\n }\n }, [fetchedSchemaStats])\n\n const value: SchemaContextState = useMemo(() => ({\n provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList,\n }), [schema, schemaList, knownSchemaList])\n\n return <SchemaContext value={value} {...props} />\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { ModuleError, WithSources } from '@xyo-network/payload-model'\nimport { ModuleErrorSchema } from '@xyo-network/payload-model'\nimport type { SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport type { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\n/**\n * Gets a Huri and schema payload from a schema string\n */\nconst useGetSchemaPayload = (schema?: string) => {\n const [notFound, setNotFound] = useState(false)\n const [xyoError, setError] = useState<WithSources<ModuleError>>()\n const [schemaCacheEntry, setSchemaCacheEntry] = useState<SchemaCacheEntry | null | undefined>()\n const [schemaLocal, setSchemaLocal] = useState<string>()\n\n useAsyncEffect(\n async (mounted) => {\n const firstRequest = !notFound && !schemaCacheEntry && !xyoError\n const schemaChanged = schema !== schemaLocal\n\n if ((schema && firstRequest) || (schema && schemaChanged)) {\n try {\n const schemaCacheEntry = await SchemaCache.instance.get(schema)\n if (mounted()) {\n setSchemaCacheEntry(schemaCacheEntry)\n setNotFound(schemaCacheEntry === null || schemaCacheEntry === undefined)\n }\n } catch (e) {\n const error = e as Error\n console.error(e)\n if (mounted()) {\n setError({\n message: error.message, schema: ModuleErrorSchema, $sources: [],\n })\n }\n }\n }\n if (schemaChanged) {\n setSchemaLocal(schema)\n }\n },\n [xyoError, notFound, schema, schemaLocal, schemaCacheEntry],\n )\n\n return {\n notFound,\n schemaHuri: schemaCacheEntry?.huri,\n schemaPayload:\n schemaCacheEntry ? new PayloadBuilder<SchemaPayload>(schemaCacheEntry?.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,\n xyoError,\n }\n}\n\nexport { useGetSchemaPayload }\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport type { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\nexport type SchemaList = { name: string }\n\nexport const useSchemaDefinitions = (schemaList?: SchemaList[]): SchemaPayload[] | undefined => {\n const [schemaPayloads, setSchemaPayloads] = useState<SchemaPayload[]>()\n useAsyncEffect(\n async (mounted) => {\n if (schemaList) {\n const promiseResults = await Promise.allSettled(schemaList?.map(({ name }) => SchemaCache.instance.get(name)))\n if (mounted()) {\n setSchemaPayloads(\n promiseResults\n .map(result => (result.status === 'fulfilled' ? result.value?.payload : undefined))\n .filter(item => item !== undefined && item !== null) as SchemaPayload[],\n )\n }\n }\n },\n [schemaList],\n )\n return schemaPayloads\n}\n","import type { Address } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { SchemaListPayload, SchemaListQueryPayload } from '@xyo-network/diviner-schema-list-model'\nimport { SchemaListQuerySchema } from '@xyo-network/diviner-schema-list-model'\nimport { useWeakDivinerFromNode } from '@xyo-network/react-diviner'\nimport { useMemo } from 'react'\n\nexport const useSchemaList = (address?: Address, nameOrAddress = 'SchemaListDiviner'): [SchemaListPayload | null | undefined, Error | undefined] => {\n const [diviner, divinerError] = useWeakDivinerFromNode(nameOrAddress)\n\n const query: SchemaListQueryPayload[] | undefined = useMemo(\n () =>\n address\n ? [\n {\n address,\n schema: SchemaListQuerySchema,\n },\n ]\n : undefined,\n [address],\n )\n\n const [schemaList, error] = usePromise(\n async () => {\n const divinerInstance = diviner?.deref()\n if (divinerInstance) {\n const response = (await divinerInstance.divine(query)) as SchemaListPayload[]\n return response.at(0)\n }\n },\n [diviner, divinerError, query],\n )\n return [schemaList, error]\n}\n","import type { Address } from '@xylabs/hex'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type {\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport {\n SchemaStatsDivinerSchema,\n SchemaStatsQuerySchema,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { TYPES } from '@xyo-network/node-core-types'\nimport type { WithSources } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { useWeakDivinerFromNode } from '@xyo-network/react-diviner'\nimport type { Dispatch, SetStateAction } from 'react'\nimport { useMemo, useState } from 'react'\n\nexport const useSchemaStats = (\n statsAddress?: Address,\n nameOrAddress = TYPES.SchemaStatsDiviner,\n): [SchemaStatsPayload[] | undefined, Error | undefined, Dispatch<SetStateAction<number>>] => {\n const [refresh, setRefresh] = useState(1)\n const [diviner, divinerError] = useWeakDivinerFromNode(nameOrAddress)\n const [error, setError] = useState<Error>()\n const refreshHistory = () => setRefresh(previous => previous + 1)\n\n const [schemaList, setSchemaList] = useState<WithSources<SchemaStatsPayload>[]>()\n\n const query: SchemaStatsQueryPayload = useMemo(\n () => ({\n address: statsAddress,\n schema: SchemaStatsQuerySchema,\n }),\n [statsAddress],\n )\n\n useAsyncEffect(\n async (mounted) => {\n const instance = diviner?.deref()\n if (instance) {\n if (divinerError) {\n if (mounted()) {\n setError(divinerError)\n setSchemaList(undefined)\n }\n } else {\n try {\n const schemas = (await instance.divine([query])).filter(isPayloadOfSchemaType(SchemaStatsDivinerSchema)) as WithSources<\n SchemaStatsPayload\n >[]\n if (mounted()) {\n setSchemaList(schemas)\n setError(undefined)\n }\n } catch (ex) {\n setError(ex as Error)\n setSchemaList(undefined)\n }\n }\n }\n },\n [diviner, refresh, divinerError, query],\n )\n\n return [schemaList, error, refreshHistory]\n}\n","import type { PropsWithChildren } from 'react'\nimport React, {\n useCallback, useEffect, useMemo,\n} from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { SchemaContext } from '../Context.ts'\nimport type { SchemaContextState } from '../State.ts'\nimport { useSchema } from '../use.ts'\nimport { SchemaMemoryProvider } from './Memory.tsx'\nimport type { SchemaProviderProps } from './Props.ts'\n\nconst SchemaRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) => {\n const {\n schema, setSchema, schemaList,\n } = useSchema()\n\n const [params, setParams] = useSearchParams()\n\n const routeSchema = params.get('schema')\n\n // update the network stored in the route\n const setSchemaParam = useCallback(\n (schema?: string) => {\n if (schema) {\n params.set('schema', schema)\n setParams(params, { replace: true })\n setSchema?.(schema)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setSchema],\n )\n\n // if the network is actively changed, update both memory and route\n const setSchemaLocal = useCallback(\n (schema: string) => {\n setSchemaParam(schema)\n setSchema?.(schema)\n },\n [setSchemaParam, setSchema],\n )\n\n // sync memory and route storage of network\n useEffect(() => {\n if (routeSchema !== schema) {\n if (routeSchema === undefined && schema !== undefined) {\n // if the route does not have a network selected, use what is in the memory context\n setSchemaLocal(schema)\n } else if (routeSchema) {\n // if the route has a selection and it is different from memory, update memory\n setSchema?.(routeSchema)\n }\n }\n }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal])\n\n const value: SchemaContextState = useMemo(() => ({\n provided: true, schema, schemaList, setSchema: setSchemaLocal,\n }), [schema, schemaList, setSchemaLocal])\n\n return <SchemaContext value={value}>{children}</SchemaContext>\n}\n\nexport const SchemaRouteProvider: React.FC<PropsWithChildren<SchemaProviderProps>> = ({\n knownSchemaList, defaultSchema, ...props\n}) => {\n return (\n <SchemaMemoryProvider knownSchemaList={knownSchemaList} defaultSchema={defaultSchema}>\n <SchemaRouteProviderInner {...props} />\n </SchemaMemoryProvider>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { SchemaContext } from './Context.ts'\nimport type { SchemaContextState } from './State.ts'\n\nexport const useSchema = (required = false) => {\n return useContextEx<SchemaContextState>(SchemaContext, 'Schema', required)\n}\n"],"mappings":"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","names":["NewReleases","NewReleasesIcon","OpenInNew","OpenInNewIcon","Verified","VerifiedIcon","IconButton","useAsyncEffect","FlexGrowRow","LinkEx","useEvent","Property","PropertyValue","SchemaCache","React","useState","useResolveSchema","schema","entry","setEntry","useState","useAsyncEffect","mounted","SchemaCache","instance","get","SchemaProperty","showLinkNames","showOpenNewWindowLink","showStatusIcon","titleProps","value","props","resolvedSchema","buttonRef","buttonDispatch","useEvent","divRef","divDispatch","onClick","dispatch","openNewWindow","JSON","stringify","Property","title","tip","IconButton","ref","size","current","console","warn","NewReleasesIcon","color","fontSize","undefined","rel","target","href","huri","VerifiedIcon","FlexGrowRow","justifyContent","LinkEx","display","width","sx","cursor","PropertyValue","OpenInNewIcon","displayName","MenuItem","Typography","SelectEx","React","createContextEx","SchemaContext","exists","React","useMemo","useState","useAsyncEffect","PayloadBuilder","ModuleErrorSchema","SchemaCache","useState","useGetSchemaPayload","schema","notFound","setNotFound","useState","xyoError","setError","schemaCacheEntry","setSchemaCacheEntry","schemaLocal","setSchemaLocal","useAsyncEffect","mounted","firstRequest","schemaChanged","SchemaCache","instance","get","undefined","e","error","console","message","ModuleErrorSchema","$sources","schemaHuri","huri","schemaPayload","PayloadBuilder","payload","fields","build","useAsyncEffect","SchemaCache","useState","useSchemaDefinitions","schemaList","schemaPayloads","setSchemaPayloads","useState","useAsyncEffect","mounted","promiseResults","Promise","allSettled","map","name","SchemaCache","instance","get","result","status","value","payload","undefined","filter","item","usePromise","SchemaListQuerySchema","useWeakDivinerFromNode","useMemo","useSchemaList","address","nameOrAddress","diviner","divinerError","useWeakDivinerFromNode","query","useMemo","schema","SchemaListQuerySchema","undefined","schemaList","error","usePromise","divinerInstance","deref","response","divine","at","useAsyncEffect","SchemaStatsDivinerSchema","SchemaStatsQuerySchema","TYPES","isPayloadOfSchemaType","useWeakDivinerFromNode","useMemo","useState","useSchemaStats","statsAddress","nameOrAddress","TYPES","SchemaStatsDiviner","refresh","setRefresh","useState","diviner","divinerError","useWeakDivinerFromNode","error","setError","refreshHistory","previous","schemaList","setSchemaList","query","useMemo","address","schema","SchemaStatsQuerySchema","useAsyncEffect","mounted","instance","deref","undefined","schemas","divine","filter","isPayloadOfSchemaType","SchemaStatsDivinerSchema","ex","SchemaMemoryProvider","defaultSchema","knownSchemaList","props","schema","setSchema","useState","schemaList","setSchemaList","fetchedSchemaStats","useSchemaStats","useMemo","map","name","filter","exists","value","provided","React","SchemaContext","React","useCallback","useEffect","useMemo","useSearchParams","useContextEx","useSchema","required","useContextEx","SchemaContext","SchemaRouteProviderInner","children","schema","setSchema","schemaList","useSchema","params","setParams","useSearchParams","routeSchema","get","setSchemaParam","useCallback","set","replace","delete","setSchemaLocal","useEffect","undefined","value","useMemo","provided","React","SchemaContext","SchemaRouteProvider","knownSchemaList","defaultSchema","props","SchemaMemoryProvider","SchemaSelectEx","onChange","variant","props","schema","setSchema","schemaList","useSchema","React","SelectEx","size","value","event","child","target","renderValue","Typography","map","index","MenuItem","key"]}
1
+ {"version":3,"sources":["../../src/components/Property/SchemaProperty.tsx","../../src/components/SelectEx/SchemaSelectEx.tsx","../../src/contexts/Schema/Context.ts","../../src/contexts/Schema/Provider/Memory.tsx","../../src/hooks/useGetSchema.tsx","../../src/hooks/useSchemaDefinitions.tsx","../../src/hooks/useSchemaList.tsx","../../src/hooks/useSchemaStats.tsx","../../src/contexts/Schema/Provider/Route.tsx","../../src/contexts/Schema/use.ts"],"sourcesContent":["import {\n NewReleases as NewReleasesIcon, OpenInNew as OpenInNewIcon, Verified as VerifiedIcon,\n} from '@mui/icons-material'\nimport { IconButton } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport type { EventDispatch, EventNoun } from '@xyo-network/react-event'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { PropertyProps } from '@xyo-network/react-property'\nimport { Property, PropertyValue } from '@xyo-network/react-property'\nimport type { SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport React, { useState } from 'react'\n\nexport type SchemaPropertyProps = PropertyProps & {\n showLinkNames?: boolean\n showOpenNewWindowLink?: boolean\n showStatusIcon?: boolean\n value?: string\n}\n\nconst useResolveSchema = (schema?: string) => {\n const [entry, setEntry] = useState<SchemaCacheEntry | null>()\n useAsyncEffect(\n async (mounted) => {\n if (schema) {\n const entry = await SchemaCache.instance.get(schema)\n if (mounted()) {\n setEntry(entry)\n }\n }\n },\n [schema],\n )\n return entry\n}\n\nexport const SchemaProperty: React.FC<SchemaPropertyProps> = ({\n showLinkNames = true, showOpenNewWindowLink = true, showStatusIcon = true, titleProps, value, ...props\n}) => {\n const resolvedSchema = useResolveSchema(value)\n const [buttonRef, buttonDispatch] = useEvent<HTMLButtonElement>()\n const [divRef, divDispatch] = useEvent<HTMLDivElement>()\n\n const onClick = (dispatch?: EventDispatch<EventNoun, 'click', string>, openNewWindow = false) => {\n dispatch?.(\n 'schema',\n 'click',\n JSON.stringify({\n openNewWindow,\n schema: value,\n }),\n )\n }\n\n return (\n <Property title=\"Schema\" value={value} tip=\"Schema sent with the payload\" titleProps={titleProps} {...props}>\n {value && showStatusIcon\n ? resolvedSchema === null\n ? (\n <IconButton\n ref={buttonRef}\n size=\"small\"\n onClick={() => {\n if (!buttonRef.current) {\n console.warn('buttonRef.current is null')\n }\n onClick(buttonDispatch)\n }}\n >\n <NewReleasesIcon color=\"warning\" fontSize=\"inherit\" />\n </IconButton>\n )\n : resolvedSchema === undefined\n ? (\n <IconButton\n ref={buttonRef}\n size=\"small\"\n onClick={() => {\n if (!buttonRef.current) {\n console.warn('buttonRef.current is null')\n }\n onClick(buttonDispatch)\n }}\n >\n <NewReleasesIcon color=\"disabled\" fontSize=\"inherit\" />\n </IconButton>\n )\n : (\n <IconButton rel=\"noopener noreferrer\" size=\"small\" target=\"_blank\" href={resolvedSchema?.huri?.href ?? ''}>\n <VerifiedIcon color=\"success\" fontSize=\"inherit\" />\n </IconButton>\n )\n\n : null}\n {value\n ? (\n <FlexGrowRow ref={divRef} justifyContent=\"space-between\">\n {showLinkNames\n ? (\n <LinkEx\n display=\"block\"\n width=\"100%\"\n sx={{ cursor: 'pointer' }}\n >\n <PropertyValue\n value={value}\n title=\"view schema\"\n onClick={() => {\n if (!divRef.current) {\n console.warn('divRef.current is null')\n }\n onClick(divDispatch)\n }}\n />\n </LinkEx>\n )\n : (\n <PropertyValue\n value={value}\n title=\"view schema\"\n onClick={() => {\n if (!divRef.current) {\n console.warn('divRef.current is null')\n }\n onClick(divDispatch)\n }}\n />\n )}\n {showOpenNewWindowLink\n ? (\n <IconButton\n ref={buttonRef}\n size=\"small\"\n onClick={() => {\n if (!buttonRef.current) {\n console.warn('buttonRef.current is null')\n }\n onClick(buttonDispatch, true)\n }}\n >\n <OpenInNewIcon fontSize=\"inherit\" />\n </IconButton>\n )\n : null}\n </FlexGrowRow>\n )\n : null}\n </Property>\n )\n}\n\nSchemaProperty.displayName = 'SchemaProperty'\n","import { MenuItem, Typography } from '@mui/material'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport React from 'react'\n\nimport { useSchema } from '../../contexts/index.ts'\n\nexport type SchemaSelectExProps = SelectExProps<string>\n\nexport const SchemaSelectEx: React.FC<SchemaSelectExProps> = ({\n onChange, variant = 'outlined', ...props\n}) => {\n const {\n schema, setSchema, schemaList,\n } = useSchema(false)\n\n return (\n <SelectEx\n variant={variant}\n size=\"small\"\n value={schema ?? 'none'}\n onChange={(event, child) => {\n if (event.target.value !== schema) {\n onChange?.(event, child)\n setSchema?.(event.target.value)\n }\n }}\n renderValue={(value) => {\n return <Typography>{value === 'none' ? '- None -' : value}</Typography>\n }}\n {...props}\n >\n {schemaList?.map((schema, index) => {\n return (\n <MenuItem key={index} value={schema}>\n {schema}\n </MenuItem>\n )\n })}\n <MenuItem key=\"none\" value=\"none\">\n - None -\n </MenuItem>\n </SelectEx>\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { SchemaContextState } from './State.ts'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\n","import { exists } from '@xylabs/exists'\nimport type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { useSchemaStats } from '../../../hooks/index.ts'\nimport { SchemaContext } from '../Context.ts'\nimport type { SchemaContextState } from '../State.ts'\nimport type { SchemaProviderProps } from './Props.ts'\n\nexport const SchemaMemoryProvider: React.FC<PropsWithChildren<SchemaProviderProps>> = ({\n defaultSchema, knownSchemaList, ...props\n}) => {\n const [schema, setSchema] = useState(defaultSchema)\n const [schemaList, setSchemaList] = useState<string[] | undefined>(knownSchemaList)\n const [fetchedSchemaStats] = useSchemaStats()\n\n useMemo(() => {\n if (fetchedSchemaStats) {\n const schemaList = (fetchedSchemaStats.map(({ name }) => name)).filter(exists)\n setSchemaList(schemaList)\n }\n }, [fetchedSchemaStats])\n\n const value: SchemaContextState = useMemo(() => ({\n provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList,\n }), [schema, schemaList, knownSchemaList])\n\n return <SchemaContext value={value} {...props} />\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { ModuleError, WithSources } from '@xyo-network/payload-model'\nimport { ModuleErrorSchema } from '@xyo-network/payload-model'\nimport type { SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport type { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\n/**\n * Gets a Huri and schema payload from a schema string\n */\nconst useGetSchemaPayload = (schema?: string) => {\n const [notFound, setNotFound] = useState(false)\n const [xyoError, setError] = useState<WithSources<ModuleError>>()\n const [schemaCacheEntry, setSchemaCacheEntry] = useState<SchemaCacheEntry | null | undefined>()\n const [schemaLocal, setSchemaLocal] = useState<string>()\n\n useAsyncEffect(\n async (mounted) => {\n const firstRequest = !notFound && !schemaCacheEntry && !xyoError\n const schemaChanged = schema !== schemaLocal\n\n if ((schema && firstRequest) || (schema && schemaChanged)) {\n try {\n const schemaCacheEntry = await SchemaCache.instance.get(schema)\n if (mounted()) {\n setSchemaCacheEntry(schemaCacheEntry)\n setNotFound(schemaCacheEntry === null || schemaCacheEntry === undefined)\n }\n } catch (e) {\n const error = e as Error\n console.error(e)\n if (mounted()) {\n setError({\n message: error.message, schema: ModuleErrorSchema, $sources: [],\n })\n }\n }\n }\n if (schemaChanged) {\n setSchemaLocal(schema)\n }\n },\n [xyoError, notFound, schema, schemaLocal, schemaCacheEntry],\n )\n\n return {\n notFound,\n schemaHuri: schemaCacheEntry?.huri,\n schemaPayload:\n schemaCacheEntry ? new PayloadBuilder<SchemaPayload>(schemaCacheEntry?.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,\n xyoError,\n }\n}\n\nexport { useGetSchemaPayload }\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport type { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\nexport type SchemaList = { name: string }\n\nexport const useSchemaDefinitions = (schemaList?: SchemaList[]): SchemaPayload[] | undefined => {\n const [schemaPayloads, setSchemaPayloads] = useState<SchemaPayload[]>()\n useAsyncEffect(\n async (mounted) => {\n if (schemaList) {\n const promiseResults = await Promise.allSettled(schemaList?.map(({ name }) => SchemaCache.instance.get(name)))\n if (mounted()) {\n setSchemaPayloads(\n promiseResults\n .map(result => (result.status === 'fulfilled' ? result.value?.payload : undefined))\n .filter(item => item !== undefined && item !== null) as SchemaPayload[],\n )\n }\n }\n },\n [schemaList],\n )\n return schemaPayloads\n}\n","import type { Address } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { SchemaListPayload, SchemaListQueryPayload } from '@xyo-network/diviner-schema-list-model'\nimport { SchemaListQuerySchema } from '@xyo-network/diviner-schema-list-model'\nimport { useWeakDivinerFromNode } from '@xyo-network/react-diviner'\nimport { useMemo } from 'react'\n\nexport const useSchemaList = (address?: Address, nameOrAddress = 'SchemaListDiviner'): [SchemaListPayload | null | undefined, Error | undefined] => {\n const [diviner, divinerError] = useWeakDivinerFromNode(nameOrAddress)\n\n const query: SchemaListQueryPayload[] | undefined = useMemo(\n () =>\n address\n ? [\n {\n address,\n schema: SchemaListQuerySchema,\n },\n ]\n : undefined,\n [address],\n )\n\n const [schemaList, error] = usePromise(\n async () => {\n const divinerInstance = diviner?.deref()\n if (divinerInstance) {\n const response = (await divinerInstance.divine(query)) as SchemaListPayload[]\n return response.at(0)\n }\n },\n [diviner, divinerError, query],\n )\n return [schemaList, error]\n}\n","import type { Address } from '@xylabs/hex'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type {\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport {\n SchemaStatsDivinerSchema,\n SchemaStatsQuerySchema,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { TYPES } from '@xyo-network/node-core-types'\nimport type { WithSources } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { useWeakDivinerFromNode } from '@xyo-network/react-diviner'\nimport type { Dispatch, SetStateAction } from 'react'\nimport { useMemo, useState } from 'react'\n\nexport const useSchemaStats = (\n statsAddress?: Address,\n nameOrAddress = TYPES.SchemaStatsDiviner,\n): [SchemaStatsPayload[] | undefined, Error | undefined, Dispatch<SetStateAction<number>>] => {\n const [refresh, setRefresh] = useState(1)\n const [diviner, divinerError] = useWeakDivinerFromNode(nameOrAddress)\n const [error, setError] = useState<Error>()\n const refreshHistory = () => setRefresh(previous => previous + 1)\n\n const [schemaList, setSchemaList] = useState<WithSources<SchemaStatsPayload>[]>()\n\n const query: SchemaStatsQueryPayload = useMemo(\n () => ({\n address: statsAddress,\n schema: SchemaStatsQuerySchema,\n }),\n [statsAddress],\n )\n\n useAsyncEffect(\n async (mounted) => {\n const instance = diviner?.deref()\n if (instance) {\n if (divinerError) {\n if (mounted()) {\n setError(divinerError)\n setSchemaList(undefined)\n }\n } else {\n try {\n const schemas = (await instance.divine([query])).filter(isPayloadOfSchemaType(SchemaStatsDivinerSchema)) as WithSources<\n SchemaStatsPayload\n >[]\n if (mounted()) {\n setSchemaList(schemas)\n setError(undefined)\n }\n } catch (ex) {\n setError(ex as Error)\n setSchemaList(undefined)\n }\n }\n }\n },\n [diviner, refresh, divinerError, query],\n )\n\n return [schemaList, error, refreshHistory]\n}\n","import type { PropsWithChildren } from 'react'\nimport React, {\n useCallback, useEffect, useMemo,\n} from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { SchemaContext } from '../Context.ts'\nimport type { SchemaContextState } from '../State.ts'\nimport { useSchema } from '../use.ts'\nimport { SchemaMemoryProvider } from './Memory.tsx'\nimport type { SchemaProviderProps } from './Props.ts'\n\nconst SchemaRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) => {\n const {\n schema, setSchema, schemaList,\n } = useSchema()\n\n const [params, setParams] = useSearchParams()\n\n const routeSchema = params.get('schema')\n\n // update the network stored in the route\n const setSchemaParam = useCallback(\n (schema?: string) => {\n if (schema) {\n params.set('schema', schema)\n setParams(params, { replace: true })\n setSchema?.(schema)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setSchema],\n )\n\n // if the network is actively changed, update both memory and route\n const setSchemaLocal = useCallback(\n (schema: string) => {\n setSchemaParam(schema)\n setSchema?.(schema)\n },\n [setSchemaParam, setSchema],\n )\n\n // sync memory and route storage of network\n useEffect(() => {\n if (routeSchema !== schema) {\n if (routeSchema === undefined && schema !== undefined) {\n // if the route does not have a network selected, use what is in the memory context\n setSchemaLocal(schema)\n } else if (routeSchema) {\n // if the route has a selection and it is different from memory, update memory\n setSchema?.(routeSchema)\n }\n }\n }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal])\n\n const value: SchemaContextState = useMemo(() => ({\n provided: true, schema, schemaList, setSchema: setSchemaLocal,\n }), [schema, schemaList, setSchemaLocal])\n\n return <SchemaContext value={value}>{children}</SchemaContext>\n}\n\nexport const SchemaRouteProvider: React.FC<PropsWithChildren<SchemaProviderProps>> = ({\n knownSchemaList, defaultSchema, ...props\n}) => {\n return (\n <SchemaMemoryProvider knownSchemaList={knownSchemaList} defaultSchema={defaultSchema}>\n <SchemaRouteProviderInner {...props} />\n </SchemaMemoryProvider>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { SchemaContext } from './Context.ts'\nimport type { SchemaContextState } from './State.ts'\n\nexport const useSchema = (required = false) => {\n return useContextEx<SchemaContextState>(SchemaContext, 'Schema', required)\n}\n"],"mappings":";AAAA;AAAA,EACE,eAAe;AAAA,EAAiB,aAAa;AAAA,EAAe,YAAY;AAAA,OACnE;AACP,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AAEvB,SAAS,gBAAgB;AAEzB,SAAS,UAAU,qBAAqB;AAExC,SAAS,mBAAmB;AAC5B,SAAgB,gBAAgB;AA0DhB,cA2BJ,YA3BI;AAjDhB,IAAM,mBAAmB,CAAC,WAAoB;AAC5C,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAkC;AAC5D;AAAA,IACE,OAAO,YAAY;AACjB,UAAI,QAAQ;AACV,cAAMA,SAAQ,MAAM,YAAY,SAAS,IAAI,MAAM;AACnD,YAAI,QAAQ,GAAG;AACb,mBAASA,MAAK;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AACA,SAAO;AACT;AAEO,IAAM,iBAAgD,CAAC;AAAA,EAC5D,gBAAgB;AAAA,EAAM,wBAAwB;AAAA,EAAM,iBAAiB;AAAA,EAAM;AAAA,EAAY;AAAA,EAAO,GAAG;AACnG,MAAM;AACJ,QAAM,iBAAiB,iBAAiB,KAAK;AAC7C,QAAM,CAAC,WAAW,cAAc,IAAI,SAA4B;AAChE,QAAM,CAAC,QAAQ,WAAW,IAAI,SAAyB;AAEvD,QAAM,UAAU,CAAC,UAAsD,gBAAgB,UAAU;AAC/F;AAAA,MACE;AAAA,MACA;AAAA,MACA,KAAK,UAAU;AAAA,QACb;AAAA,QACA,QAAQ;AAAA,MACV,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SACE,qBAAC,YAAS,OAAM,UAAS,OAAc,KAAI,gCAA+B,YAAyB,GAAG,OACnG;AAAA,aAAS,iBACN,mBAAmB,OAEf;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,MAAK;AAAA,QACL,SAAS,MAAM;AACb,cAAI,CAAC,UAAU,SAAS;AACtB,oBAAQ,KAAK,2BAA2B;AAAA,UAC1C;AACA,kBAAQ,cAAc;AAAA,QACxB;AAAA,QAEA,8BAAC,mBAAgB,OAAM,WAAU,UAAS,WAAU;AAAA;AAAA,IACtD,IAEF,mBAAmB,SAEf;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,MAAK;AAAA,QACL,SAAS,MAAM;AACb,cAAI,CAAC,UAAU,SAAS;AACtB,oBAAQ,KAAK,2BAA2B;AAAA,UAC1C;AACA,kBAAQ,cAAc;AAAA,QACxB;AAAA,QAEA,8BAAC,mBAAgB,OAAM,YAAW,UAAS,WAAU;AAAA;AAAA,IACvD,IAGA,oBAAC,cAAW,KAAI,uBAAsB,MAAK,SAAQ,QAAO,UAAS,MAAM,gBAAgB,MAAM,QAAQ,IACrG,8BAAC,gBAAa,OAAM,WAAU,UAAS,WAAU,GACnD,IAGN;AAAA,IACH,QAEK,qBAAC,eAAY,KAAK,QAAQ,gBAAe,iBACtC;AAAA,sBAEK;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,OAAM;AAAA,UACN,IAAI,EAAE,QAAQ,UAAU;AAAA,UAExB;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,OAAM;AAAA,cACN,SAAS,MAAM;AACb,oBAAI,CAAC,OAAO,SAAS;AACnB,0BAAQ,KAAK,wBAAwB;AAAA,gBACvC;AACA,wBAAQ,WAAW;AAAA,cACrB;AAAA;AAAA,UACF;AAAA;AAAA,MACF,IAGA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,OAAM;AAAA,UACN,SAAS,MAAM;AACb,gBAAI,CAAC,OAAO,SAAS;AACnB,sBAAQ,KAAK,wBAAwB;AAAA,YACvC;AACA,oBAAQ,WAAW;AAAA,UACrB;AAAA;AAAA,MACF;AAAA,MAEL,wBAEK;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,MAAK;AAAA,UACL,SAAS,MAAM;AACb,gBAAI,CAAC,UAAU,SAAS;AACtB,sBAAQ,KAAK,2BAA2B;AAAA,YAC1C;AACA,oBAAQ,gBAAgB,IAAI;AAAA,UAC9B;AAAA,UAEA,8BAAC,iBAAc,UAAS,WAAU;AAAA;AAAA,MACpC,IAEF;AAAA,OACN,IAEF;AAAA,KACN;AAEJ;AAEA,eAAe,cAAc;;;ACzJ7B,SAAS,UAAU,kBAAkB;AAErC,SAAS,gBAAgB;;;ACFzB,SAAS,uBAAuB;AAIzB,IAAM,gBAAgB,gBAAoC;;;ACJjE,SAAS,cAAc;AAEvB,SAAgB,WAAAC,UAAS,YAAAC,iBAAgB;;;ACFzC,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,yBAAyB;AAElC,SAAS,eAAAC,oBAAmB;AAE5B,SAAS,YAAAC,iBAAgB;AAKzB,IAAM,sBAAsB,CAAC,WAAoB;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAIA,UAAS,KAAK;AAC9C,QAAM,CAAC,UAAU,QAAQ,IAAIA,UAAmC;AAChE,QAAM,CAAC,kBAAkB,mBAAmB,IAAIA,UAA8C;AAC9F,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAiB;AAEvD,EAAAF;AAAA,IACE,OAAO,YAAY;AACjB,YAAM,eAAe,CAAC,YAAY,CAAC,oBAAoB,CAAC;AACxD,YAAM,gBAAgB,WAAW;AAEjC,UAAK,UAAU,gBAAkB,UAAU,eAAgB;AACzD,YAAI;AACF,gBAAMG,oBAAmB,MAAMF,aAAY,SAAS,IAAI,MAAM;AAC9D,cAAI,QAAQ,GAAG;AACb,gCAAoBE,iBAAgB;AACpC,wBAAYA,sBAAqB,QAAQA,sBAAqB,MAAS;AAAA,UACzE;AAAA,QACF,SAAS,GAAG;AACV,gBAAM,QAAQ;AACd,kBAAQ,MAAM,CAAC;AACf,cAAI,QAAQ,GAAG;AACb,qBAAS;AAAA,cACP,SAAS,MAAM;AAAA,cAAS,QAAQ;AAAA,cAAmB,UAAU,CAAC;AAAA,YAChE,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AACA,UAAI,eAAe;AACjB,uBAAe,MAAM;AAAA,MACvB;AAAA,IACF;AAAA,IACA,CAAC,UAAU,UAAU,QAAQ,aAAa,gBAAgB;AAAA,EAC5D;AAEA,SAAO;AAAA,IACL;AAAA,IACA,YAAY,kBAAkB;AAAA,IAC9B,eACE,mBAAmB,IAAI,eAA8B,kBAAkB,OAAO,EAAE,OAAO,iBAAiB,OAAO,EAAE,MAAM,IAAI;AAAA,IAC7H;AAAA,EACF;AACF;;;ACtDA,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,eAAAC,oBAAmB;AAE5B,SAAS,YAAAC,iBAAgB;AAIlB,IAAM,uBAAuB,CAAC,eAA2D;AAC9F,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,UAA0B;AACtE,EAAAF;AAAA,IACE,OAAO,YAAY;AACjB,UAAI,YAAY;AACd,cAAM,iBAAiB,MAAM,QAAQ,WAAW,YAAY,IAAI,CAAC,EAAE,KAAK,MAAMC,aAAY,SAAS,IAAI,IAAI,CAAC,CAAC;AAC7G,YAAI,QAAQ,GAAG;AACb;AAAA,YACE,eACG,IAAI,YAAW,OAAO,WAAW,cAAc,OAAO,OAAO,UAAU,MAAU,EACjF,OAAO,UAAQ,SAAS,UAAa,SAAS,IAAI;AAAA,UACvD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AACA,SAAO;AACT;;;ACxBA,SAAS,kBAAkB;AAE3B,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AACvC,SAAS,eAAe;AAEjB,IAAM,gBAAgB,CAAC,SAAmB,gBAAgB,wBAAmF;AAClJ,QAAM,CAAC,SAAS,YAAY,IAAI,uBAAuB,aAAa;AAEpE,QAAM,QAA8C;AAAA,IAClD,MACE,UACI;AAAA,MACE;AAAA,QACE;AAAA,QACA,QAAQ;AAAA,MACV;AAAA,IACF,IACA;AAAA,IACN,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,CAAC,YAAY,KAAK,IAAI;AAAA,IAC1B,YAAY;AACV,YAAM,kBAAkB,SAAS,MAAM;AACvC,UAAI,iBAAiB;AACnB,cAAM,WAAY,MAAM,gBAAgB,OAAO,KAAK;AACpD,eAAO,SAAS,GAAG,CAAC;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,SAAS,cAAc,KAAK;AAAA,EAC/B;AACA,SAAO,CAAC,YAAY,KAAK;AAC3B;;;ACjCA,SAAS,kBAAAE,uBAAsB;AAK/B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,aAAa;AAEtB,SAAS,6BAA6B;AACtC,SAAS,0BAAAC,+BAA8B;AAEvC,SAAS,WAAAC,UAAS,YAAAC,iBAAgB;AAE3B,IAAM,iBAAiB,CAC5B,cACA,gBAAgB,MAAM,uBACsE;AAC5F,QAAM,CAAC,SAAS,UAAU,IAAIA,UAAS,CAAC;AACxC,QAAM,CAAC,SAAS,YAAY,IAAIF,wBAAuB,aAAa;AACpE,QAAM,CAAC,OAAO,QAAQ,IAAIE,UAAgB;AAC1C,QAAM,iBAAiB,MAAM,WAAW,cAAY,WAAW,CAAC;AAEhE,QAAM,CAAC,YAAY,aAAa,IAAIA,UAA4C;AAEhF,QAAM,QAAiCD;AAAA,IACrC,OAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAEA,EAAAF;AAAA,IACE,OAAO,YAAY;AACjB,YAAM,WAAW,SAAS,MAAM;AAChC,UAAI,UAAU;AACZ,YAAI,cAAc;AAChB,cAAI,QAAQ,GAAG;AACb,qBAAS,YAAY;AACrB,0BAAc,MAAS;AAAA,UACzB;AAAA,QACF,OAAO;AACL,cAAI;AACF,kBAAM,WAAW,MAAM,SAAS,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,sBAAsB,wBAAwB,CAAC;AAGvG,gBAAI,QAAQ,GAAG;AACb,4BAAc,OAAO;AACrB,uBAAS,MAAS;AAAA,YACpB;AAAA,UACF,SAAS,IAAI;AACX,qBAAS,EAAW;AACpB,0BAAc,MAAS;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,SAAS,SAAS,cAAc,KAAK;AAAA,EACxC;AAEA,SAAO,CAAC,YAAY,OAAO,cAAc;AAC3C;;;AJtCS,gBAAAI,YAAA;AAlBF,IAAM,uBAAyE,CAAC;AAAA,EACrF;AAAA,EAAe;AAAA,EAAiB,GAAG;AACrC,MAAM;AACJ,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAAS,aAAa;AAClD,QAAM,CAAC,YAAY,aAAa,IAAIA,UAA+B,eAAe;AAClF,QAAM,CAAC,kBAAkB,IAAI,eAAe;AAE5C,EAAAC,SAAQ,MAAM;AACZ,QAAI,oBAAoB;AACtB,YAAMC,cAAc,mBAAmB,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,EAAG,OAAO,MAAM;AAC7E,oBAAcA,WAAU;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,kBAAkB,CAAC;AAEvB,QAAM,QAA4BD,SAAQ,OAAO;AAAA,IAC/C,UAAU;AAAA,IAAM;AAAA,IAAQ,YAAY,mBAAmB;AAAA,IAAY;AAAA,IAAW;AAAA,EAChF,IAAI,CAAC,QAAQ,YAAY,eAAe,CAAC;AAEzC,SAAO,gBAAAF,KAAC,iBAAc,OAAe,GAAG,OAAO;AACjD;;;AK3BA;AAAA,EACE;AAAA,EAAa;AAAA,EAAW,WAAAI;AAAA,OACnB;AACP,SAAS,uBAAuB;;;ACJhC,SAAS,oBAAoB;AAKtB,IAAM,YAAY,CAAC,WAAW,UAAU;AAC7C,SAAO,aAAiC,eAAe,UAAU,QAAQ;AAC3E;;;ADsDS,gBAAAC,YAAA;AAjDT,IAAM,2BAAwD,CAAC,EAAE,SAAS,MAAM;AAC9E,QAAM;AAAA,IACJ;AAAA,IAAQ;AAAA,IAAW;AAAA,EACrB,IAAI,UAAU;AAEd,QAAM,CAAC,QAAQ,SAAS,IAAI,gBAAgB;AAE5C,QAAM,cAAc,OAAO,IAAI,QAAQ;AAGvC,QAAM,iBAAiB;AAAA,IACrB,CAACC,YAAoB;AACnB,UAAIA,SAAQ;AACV,eAAO,IAAI,UAAUA,OAAM;AAC3B,kBAAU,QAAQ,EAAE,SAAS,KAAK,CAAC;AACnC,oBAAYA,OAAM;AAAA,MACpB,OAAO;AACL,eAAO,OAAO,SAAS;AAAA,MACzB;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,WAAW,SAAS;AAAA,EAC/B;AAGA,QAAM,iBAAiB;AAAA,IACrB,CAACA,YAAmB;AAClB,qBAAeA,OAAM;AACrB,kBAAYA,OAAM;AAAA,IACpB;AAAA,IACA,CAAC,gBAAgB,SAAS;AAAA,EAC5B;AAGA,YAAU,MAAM;AACd,QAAI,gBAAgB,QAAQ;AAC1B,UAAI,gBAAgB,UAAa,WAAW,QAAW;AAErD,uBAAe,MAAM;AAAA,MACvB,WAAW,aAAa;AAEtB,oBAAY,WAAW;AAAA,MACzB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,aAAa,QAAQ,gBAAgB,WAAW,cAAc,CAAC;AAEnE,QAAM,QAA4BC,SAAQ,OAAO;AAAA,IAC/C,UAAU;AAAA,IAAM;AAAA,IAAQ;AAAA,IAAY,WAAW;AAAA,EACjD,IAAI,CAAC,QAAQ,YAAY,cAAc,CAAC;AAExC,SAAO,gBAAAF,KAAC,iBAAc,OAAe,UAAS;AAChD;AAEO,IAAM,sBAAwE,CAAC;AAAA,EACpF;AAAA,EAAiB;AAAA,EAAe,GAAG;AACrC,MAAM;AACJ,SACE,gBAAAA,KAAC,wBAAqB,iBAAkC,eACtD,0BAAAA,KAAC,4BAA0B,GAAG,OAAO,GACvC;AAEJ;;;APvDI,SAWW,OAAAG,MAXX,QAAAC,aAAA;AARG,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EAAU,UAAU;AAAA,EAAY,GAAG;AACrC,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IAAQ;AAAA,IAAW;AAAA,EACrB,IAAI,UAAU,KAAK;AAEnB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,MAAK;AAAA,MACL,OAAO,UAAU;AAAA,MACjB,UAAU,CAAC,OAAO,UAAU;AAC1B,YAAI,MAAM,OAAO,UAAU,QAAQ;AACjC,qBAAW,OAAO,KAAK;AACvB,sBAAY,MAAM,OAAO,KAAK;AAAA,QAChC;AAAA,MACF;AAAA,MACA,aAAa,CAAC,UAAU;AACtB,eAAO,gBAAAD,KAAC,cAAY,oBAAU,SAAS,aAAa,OAAM;AAAA,MAC5D;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,oBAAY,IAAI,CAACE,SAAQ,UAAU;AAClC,iBACE,gBAAAF,KAAC,YAAqB,OAAOE,SAC1B,UAAAA,WADY,KAEf;AAAA,QAEJ,CAAC;AAAA,QACD,gBAAAF,KAAC,YAAoB,OAAM,QAAO,wBAApB,MAEd;AAAA;AAAA;AAAA,EACF;AAEJ;","names":["entry","useMemo","useState","useAsyncEffect","SchemaCache","useState","schemaCacheEntry","useAsyncEffect","SchemaCache","useState","useAsyncEffect","useWeakDivinerFromNode","useMemo","useState","jsx","useState","useMemo","schemaList","useMemo","jsx","schema","useMemo","jsx","jsxs","schema"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-schema",
3
- "version": "7.0.0",
3
+ "version": "7.0.1",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -43,54 +43,57 @@
43
43
  "src"
44
44
  ],
45
45
  "dependencies": {
46
- "@xylabs/exists": "^5.0.0",
47
- "@xylabs/hex": "^5.0.0",
48
- "@xylabs/react-async-effect": "^7.0.0",
49
- "@xylabs/react-flexbox": "^7.0.0",
50
- "@xylabs/react-link": "^7.0.0",
51
- "@xylabs/react-promise": "^7.0.0",
52
- "@xylabs/react-select": "^7.0.0",
53
- "@xylabs/react-shared": "^7.0.0",
54
- "@xyo-network/diviner-schema-list-model": "^5.0.0",
55
- "@xyo-network/diviner-schema-stats-model": "^5.0.0",
56
- "@xyo-network/node-core-types": "^3.8.0",
57
- "@xyo-network/payload-builder": "^5.0.0",
58
- "@xyo-network/payload-model": "^5.0.0",
59
- "@xyo-network/react-diviner": "^7.0.0",
60
- "@xyo-network/react-event": "^7.0.0",
61
- "@xyo-network/react-property": "^7.0.0",
62
- "@xyo-network/schema-cache": "^5.0.0",
63
- "@xyo-network/schema-payload-plugin": "^5.0.0",
64
- "react-router-dom": "^7.7.1"
46
+ "@xylabs/exists": "~5.0.8",
47
+ "@xylabs/hex": "~5.0.8",
48
+ "@xylabs/react-async-effect": "~7.0.1",
49
+ "@xylabs/react-flexbox": "~7.0.1",
50
+ "@xylabs/react-link": "~7.0.1",
51
+ "@xylabs/react-promise": "~7.0.1",
52
+ "@xylabs/react-select": "~7.0.1",
53
+ "@xylabs/react-shared": "~7.0.1",
54
+ "@xyo-network/diviner-schema-list-model": "~5.0.5",
55
+ "@xyo-network/diviner-schema-stats-model": "~5.0.5",
56
+ "@xyo-network/node-core-types": "~4.0.0",
57
+ "@xyo-network/payload-builder": "~5.0.5",
58
+ "@xyo-network/payload-model": "~5.0.5",
59
+ "@xyo-network/react-diviner": "^7.0.1",
60
+ "@xyo-network/react-event": "^7.0.1",
61
+ "@xyo-network/react-property": "^7.0.1",
62
+ "@xyo-network/schema-cache": "~5.0.5",
63
+ "@xyo-network/schema-payload-plugin": "~5.0.5",
64
+ "react-router-dom": "~7.8.0"
65
65
  },
66
66
  "devDependencies": {
67
- "@emotion/react": "^11.14.0",
68
- "@emotion/styled": "^11.14.1",
69
- "@mui/icons-material": "^7.2.0",
70
- "@mui/material": "^7.2.0",
71
- "@storybook/react-vite": "^9.0.18",
72
- "@types/react": "^19.1.9",
73
- "@xylabs/react-flexbox": "^7.0.0",
74
- "@xylabs/react-hooks": "^7.0.0",
75
- "@xylabs/ts-scripts-yarn3": "^7.0.2",
76
- "@xylabs/tsconfig-react": "^7.0.2",
77
- "@xyo-network/bridge-http": "^5.0.0",
78
- "@xyo-network/node-memory": "^5.0.0",
79
- "@xyo-network/node-model": "^5.0.0",
80
- "@xyo-network/react-node": "^7.0.0",
81
- "@xyo-network/react-payload-raw-info": "^7.0.0",
82
- "@xyo-network/react-storybook": "^7.0.0",
83
- "@xyo-network/react-wallet": "^7.0.0",
84
- "react": "^19.1.1",
85
- "react-dom": "^19.1.1",
86
- "storybook": "^9.0.18",
87
- "typescript": "^5.8.3"
67
+ "@emotion/react": "~11.14.0",
68
+ "@emotion/styled": "~11.14.1",
69
+ "@mui/icons-material": "~7.3.1",
70
+ "@mui/material": "~7.3.1",
71
+ "@storybook/react-vite": "~9.1.2",
72
+ "@types/react": "~19.1.10",
73
+ "@xylabs/react-flexbox": "~7.0.1",
74
+ "@xylabs/react-hooks": "~7.0.1",
75
+ "@xylabs/ts-scripts-yarn3": "~7.1.1",
76
+ "@xylabs/tsconfig": "~7.1.1",
77
+ "@xylabs/tsconfig-dom": "~7.1.1",
78
+ "@xylabs/tsconfig-react": "~7.1.1",
79
+ "@xyo-network/bridge-http": "~5.0.5",
80
+ "@xyo-network/node-memory": "~5.0.5",
81
+ "@xyo-network/node-model": "~5.0.5",
82
+ "@xyo-network/react-node": "^7.0.1",
83
+ "@xyo-network/react-payload-raw-info": "^7.0.1",
84
+ "@xyo-network/react-storybook": "^7.0.1",
85
+ "@xyo-network/react-wallet": "^7.0.1",
86
+ "react": "~19.1.1",
87
+ "react-dom": "~19.1.1",
88
+ "storybook": "~9.1.2",
89
+ "typescript": "~5.9.2",
90
+ "vite": "~7.1.2"
88
91
  },
89
92
  "peerDependencies": {
90
93
  "@mui/icons-material": ">=6 <8",
91
94
  "@mui/material": ">=6 <8",
92
- "react": "^19",
93
- "react-dom": "^19"
95
+ "react": "~19",
96
+ "react-dom": "~19"
94
97
  },
95
98
  "publishConfig": {
96
99
  "access": "public"