@xyo-network/react-schema 2.62.3 → 2.63.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.
Files changed (194) hide show
  1. package/dist/cjs/components/Property/SchemaProperty.js +45 -0
  2. package/dist/cjs/components/Property/SchemaProperty.js.map +1 -0
  3. package/dist/cjs/components/Property/index.js +5 -0
  4. package/dist/cjs/components/Property/index.js.map +1 -0
  5. package/dist/cjs/components/SelectEx/SchemaSelectEx.js +24 -0
  6. package/dist/cjs/components/SelectEx/SchemaSelectEx.js.map +1 -0
  7. package/dist/cjs/components/SelectEx/index.js +5 -0
  8. package/dist/cjs/components/SelectEx/index.js.map +1 -0
  9. package/dist/cjs/components/index.js +6 -0
  10. package/dist/cjs/components/index.js.map +1 -0
  11. package/dist/cjs/contexts/Schema/Context.js +6 -0
  12. package/dist/cjs/contexts/Schema/Context.js.map +1 -0
  13. package/dist/cjs/contexts/Schema/Provider/Memory.js +24 -0
  14. package/dist/cjs/contexts/Schema/Provider/Memory.js.map +1 -0
  15. package/dist/cjs/contexts/Schema/Provider/Props.js +3 -0
  16. package/dist/cjs/contexts/Schema/Provider/Props.js.map +1 -0
  17. package/dist/cjs/contexts/Schema/Provider/Route.js +51 -0
  18. package/dist/cjs/contexts/Schema/Provider/Route.js.map +1 -0
  19. package/dist/cjs/contexts/Schema/Provider/index.js +7 -0
  20. package/dist/cjs/contexts/Schema/Provider/index.js.map +1 -0
  21. package/dist/cjs/contexts/Schema/State.js +3 -0
  22. package/dist/cjs/contexts/Schema/State.js.map +1 -0
  23. package/dist/cjs/contexts/Schema/index.js +8 -0
  24. package/dist/cjs/contexts/Schema/index.js.map +1 -0
  25. package/dist/cjs/contexts/Schema/use.js +10 -0
  26. package/dist/cjs/contexts/Schema/use.js.map +1 -0
  27. package/dist/cjs/contexts/index.js +5 -0
  28. package/dist/cjs/contexts/index.js.map +1 -0
  29. package/dist/cjs/hooks/index.js +8 -0
  30. package/dist/cjs/hooks/index.js.map +1 -0
  31. package/dist/cjs/hooks/useGetSchema.js +53 -0
  32. package/dist/cjs/hooks/useGetSchema.js.map +1 -0
  33. package/dist/cjs/hooks/useSchemaDefinitions.js +25 -0
  34. package/dist/cjs/hooks/useSchemaDefinitions.js.map +1 -0
  35. package/dist/cjs/hooks/useSchemaList.js +47 -0
  36. package/dist/cjs/hooks/useSchemaList.js.map +1 -0
  37. package/dist/cjs/hooks/useSchemaStats.js +48 -0
  38. package/dist/cjs/hooks/useSchemaStats.js.map +1 -0
  39. package/dist/cjs/index.js +7 -0
  40. package/dist/cjs/index.js.map +1 -0
  41. package/dist/docs.json +39 -39
  42. package/dist/esm/components/Property/SchemaProperty.js +39 -0
  43. package/dist/esm/components/Property/SchemaProperty.js.map +1 -0
  44. package/dist/esm/components/Property/index.js +2 -0
  45. package/dist/esm/components/Property/index.js.map +1 -0
  46. package/dist/esm/components/SelectEx/SchemaSelectEx.js +18 -0
  47. package/dist/esm/components/SelectEx/SchemaSelectEx.js.map +1 -0
  48. package/dist/esm/components/SelectEx/index.js +2 -0
  49. package/dist/esm/components/SelectEx/index.js.map +1 -0
  50. package/dist/{components/index.d.mts → esm/components/index.js} +1 -1
  51. package/dist/esm/components/index.js.map +1 -0
  52. package/dist/esm/contexts/Schema/Context.js +3 -0
  53. package/dist/esm/contexts/Schema/Context.js.map +1 -0
  54. package/dist/esm/contexts/Schema/Provider/Memory.js +18 -0
  55. package/dist/esm/contexts/Schema/Provider/Memory.js.map +1 -0
  56. package/dist/esm/contexts/Schema/Provider/Props.js +2 -0
  57. package/dist/esm/contexts/Schema/Provider/Props.js.map +1 -0
  58. package/dist/esm/contexts/Schema/Provider/Route.js +45 -0
  59. package/dist/esm/contexts/Schema/Provider/Route.js.map +1 -0
  60. package/dist/{contexts/Schema/Provider/index.d.mts → esm/contexts/Schema/Provider/index.js} +1 -1
  61. package/dist/esm/contexts/Schema/Provider/index.js.map +1 -0
  62. package/dist/esm/contexts/Schema/State.js +2 -0
  63. package/dist/esm/contexts/Schema/State.js.map +1 -0
  64. package/dist/{contexts/Schema/index.d.mts → esm/contexts/Schema/index.js} +1 -1
  65. package/dist/esm/contexts/Schema/index.js.map +1 -0
  66. package/dist/esm/contexts/Schema/use.js +6 -0
  67. package/dist/esm/contexts/Schema/use.js.map +1 -0
  68. package/dist/esm/contexts/index.js +2 -0
  69. package/dist/esm/contexts/index.js.map +1 -0
  70. package/dist/{hooks/index.d.mts → esm/hooks/index.js} +1 -1
  71. package/dist/esm/hooks/index.js.map +1 -0
  72. package/dist/esm/hooks/useGetSchema.js +49 -0
  73. package/dist/esm/hooks/useGetSchema.js.map +1 -0
  74. package/dist/esm/hooks/useSchemaDefinitions.js +20 -0
  75. package/dist/esm/hooks/useSchemaDefinitions.js.map +1 -0
  76. package/dist/esm/hooks/useSchemaList.js +42 -0
  77. package/dist/esm/hooks/useSchemaList.js.map +1 -0
  78. package/dist/esm/hooks/useSchemaStats.js +43 -0
  79. package/dist/esm/hooks/useSchemaStats.js.map +1 -0
  80. package/dist/{index.d.mts → esm/index.js} +1 -1
  81. package/dist/esm/index.js.map +1 -0
  82. package/dist/types/components/Property/SchemaProperty.d.ts.map +1 -0
  83. package/dist/types/components/Property/index.d.ts.map +1 -0
  84. package/dist/types/components/SelectEx/SchemaSelectEx.d.ts.map +1 -0
  85. package/dist/types/components/SelectEx/index.d.ts.map +1 -0
  86. package/dist/types/components/index.d.ts.map +1 -0
  87. package/dist/types/contexts/Schema/Context.d.ts.map +1 -0
  88. package/dist/types/contexts/Schema/Provider/Memory.d.ts.map +1 -0
  89. package/dist/types/contexts/Schema/Provider/Props.d.ts.map +1 -0
  90. package/dist/types/contexts/Schema/Provider/Route.d.ts.map +1 -0
  91. package/dist/types/contexts/Schema/Provider/index.d.ts.map +1 -0
  92. package/dist/types/contexts/Schema/State.d.ts.map +1 -0
  93. package/dist/types/contexts/Schema/index.d.ts.map +1 -0
  94. package/dist/types/contexts/Schema/use.d.ts.map +1 -0
  95. package/dist/types/contexts/index.d.ts.map +1 -0
  96. package/dist/types/hooks/index.d.ts.map +1 -0
  97. package/dist/types/hooks/useGetSchema.d.ts.map +1 -0
  98. package/dist/types/hooks/useSchemaDefinitions.d.ts.map +1 -0
  99. package/dist/types/hooks/useSchemaList.d.ts.map +1 -0
  100. package/dist/types/hooks/useSchemaStats.d.ts.map +1 -0
  101. package/dist/types/index.d.ts.map +1 -0
  102. package/package.json +39 -46
  103. package/src/contexts/Schema/Provider/Memory.tsx +1 -1
  104. package/dist/components/Property/SchemaProperty.d.mts +0 -40
  105. package/dist/components/Property/SchemaProperty.d.mts.map +0 -1
  106. package/dist/components/Property/SchemaProperty.d.ts.map +0 -1
  107. package/dist/components/Property/SchemaProperty.stories.d.mts +0 -130
  108. package/dist/components/Property/SchemaProperty.stories.d.mts.map +0 -1
  109. package/dist/components/Property/SchemaProperty.stories.d.ts +0 -130
  110. package/dist/components/Property/SchemaProperty.stories.d.ts.map +0 -1
  111. package/dist/components/Property/index.d.mts +0 -2
  112. package/dist/components/Property/index.d.mts.map +0 -1
  113. package/dist/components/Property/index.d.ts.map +0 -1
  114. package/dist/components/SelectEx/SchemaSelectEx.d.mts +0 -5
  115. package/dist/components/SelectEx/SchemaSelectEx.d.mts.map +0 -1
  116. package/dist/components/SelectEx/SchemaSelectEx.d.ts.map +0 -1
  117. package/dist/components/SelectEx/index.d.mts +0 -2
  118. package/dist/components/SelectEx/index.d.mts.map +0 -1
  119. package/dist/components/SelectEx/index.d.ts.map +0 -1
  120. package/dist/components/index.d.mts.map +0 -1
  121. package/dist/components/index.d.ts.map +0 -1
  122. package/dist/contexts/Schema/Context.d.mts +0 -4
  123. package/dist/contexts/Schema/Context.d.mts.map +0 -1
  124. package/dist/contexts/Schema/Context.d.ts.map +0 -1
  125. package/dist/contexts/Schema/Provider/Memory.d.mts +0 -5
  126. package/dist/contexts/Schema/Provider/Memory.d.mts.map +0 -1
  127. package/dist/contexts/Schema/Provider/Memory.d.ts.map +0 -1
  128. package/dist/contexts/Schema/Provider/Props.d.mts +0 -5
  129. package/dist/contexts/Schema/Provider/Props.d.mts.map +0 -1
  130. package/dist/contexts/Schema/Provider/Props.d.ts.map +0 -1
  131. package/dist/contexts/Schema/Provider/Route.d.mts +0 -5
  132. package/dist/contexts/Schema/Provider/Route.d.mts.map +0 -1
  133. package/dist/contexts/Schema/Provider/Route.d.ts.map +0 -1
  134. package/dist/contexts/Schema/Provider/index.d.mts.map +0 -1
  135. package/dist/contexts/Schema/Provider/index.d.ts.map +0 -1
  136. package/dist/contexts/Schema/State.d.mts +0 -13
  137. package/dist/contexts/Schema/State.d.mts.map +0 -1
  138. package/dist/contexts/Schema/State.d.ts.map +0 -1
  139. package/dist/contexts/Schema/index.d.mts.map +0 -1
  140. package/dist/contexts/Schema/index.d.ts.map +0 -1
  141. package/dist/contexts/Schema/use.d.mts +0 -3
  142. package/dist/contexts/Schema/use.d.mts.map +0 -1
  143. package/dist/contexts/Schema/use.d.ts.map +0 -1
  144. package/dist/contexts/index.d.mts +0 -2
  145. package/dist/contexts/index.d.mts.map +0 -1
  146. package/dist/contexts/index.d.ts.map +0 -1
  147. package/dist/hooks/index.d.mts.map +0 -1
  148. package/dist/hooks/index.d.ts.map +0 -1
  149. package/dist/hooks/stories/TestSchemaHooks.stories.d.mts +0 -5
  150. package/dist/hooks/stories/TestSchemaHooks.stories.d.mts.map +0 -1
  151. package/dist/hooks/stories/TestSchemaHooks.stories.d.ts +0 -5
  152. package/dist/hooks/stories/TestSchemaHooks.stories.d.ts.map +0 -1
  153. package/dist/hooks/useGetSchema.d.mts +0 -27
  154. package/dist/hooks/useGetSchema.d.mts.map +0 -1
  155. package/dist/hooks/useGetSchema.d.ts.map +0 -1
  156. package/dist/hooks/useGetSchema.stories.d.mts +0 -11
  157. package/dist/hooks/useGetSchema.stories.d.mts.map +0 -1
  158. package/dist/hooks/useGetSchema.stories.d.ts +0 -11
  159. package/dist/hooks/useGetSchema.stories.d.ts.map +0 -1
  160. package/dist/hooks/useSchemaDefinitions.d.mts +0 -6
  161. package/dist/hooks/useSchemaDefinitions.d.mts.map +0 -1
  162. package/dist/hooks/useSchemaDefinitions.d.ts.map +0 -1
  163. package/dist/hooks/useSchemaList.d.mts +0 -3
  164. package/dist/hooks/useSchemaList.d.mts.map +0 -1
  165. package/dist/hooks/useSchemaList.d.ts.map +0 -1
  166. package/dist/hooks/useSchemaStats.d.mts +0 -4
  167. package/dist/hooks/useSchemaStats.d.mts.map +0 -1
  168. package/dist/hooks/useSchemaStats.d.ts.map +0 -1
  169. package/dist/index.d.mts.map +0 -1
  170. package/dist/index.d.ts.map +0 -1
  171. package/dist/index.js +0 -379
  172. package/dist/index.js.map +0 -1
  173. package/dist/index.mjs +0 -333
  174. package/dist/index.mjs.map +0 -1
  175. /package/dist/{components → types/components}/Property/SchemaProperty.d.ts +0 -0
  176. /package/dist/{components → types/components}/Property/index.d.ts +0 -0
  177. /package/dist/{components → types/components}/SelectEx/SchemaSelectEx.d.ts +0 -0
  178. /package/dist/{components → types/components}/SelectEx/index.d.ts +0 -0
  179. /package/dist/{components → types/components}/index.d.ts +0 -0
  180. /package/dist/{contexts → types/contexts}/Schema/Context.d.ts +0 -0
  181. /package/dist/{contexts → types/contexts}/Schema/Provider/Memory.d.ts +0 -0
  182. /package/dist/{contexts → types/contexts}/Schema/Provider/Props.d.ts +0 -0
  183. /package/dist/{contexts → types/contexts}/Schema/Provider/Route.d.ts +0 -0
  184. /package/dist/{contexts → types/contexts}/Schema/Provider/index.d.ts +0 -0
  185. /package/dist/{contexts → types/contexts}/Schema/State.d.ts +0 -0
  186. /package/dist/{contexts → types/contexts}/Schema/index.d.ts +0 -0
  187. /package/dist/{contexts → types/contexts}/Schema/use.d.ts +0 -0
  188. /package/dist/{contexts → types/contexts}/index.d.ts +0 -0
  189. /package/dist/{hooks → types/hooks}/index.d.ts +0 -0
  190. /package/dist/{hooks → types/hooks}/useGetSchema.d.ts +0 -0
  191. /package/dist/{hooks → types/hooks}/useSchemaDefinitions.d.ts +0 -0
  192. /package/dist/{hooks → types/hooks}/useSchemaList.d.ts +0 -0
  193. /package/dist/{hooks → types/hooks}/useSchemaStats.d.ts +0 -0
  194. /package/dist/{index.d.ts → types/index.d.ts} +0 -0
package/dist/index.js DELETED
@@ -1,379 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/index.ts
31
- var src_exports = {};
32
- __export(src_exports, {
33
- SchemaContext: () => SchemaContext,
34
- SchemaMemoryProvider: () => SchemaMemoryProvider,
35
- SchemaProperty: () => SchemaProperty,
36
- SchemaRouteProvider: () => SchemaRouteProvider,
37
- SchemaSelectEx: () => SchemaSelectEx,
38
- useGetSchemaPayload: () => useGetSchemaPayload,
39
- useSchema: () => useSchema,
40
- useSchemaDefinitions: () => useSchemaDefinitions,
41
- useSchemaList: () => useSchemaList,
42
- useSchemaStats: () => useSchemaStats
43
- });
44
- module.exports = __toCommonJS(src_exports);
45
-
46
- // src/components/Property/SchemaProperty.tsx
47
- var import_NewReleases = __toESM(require("@mui/icons-material/NewReleases"));
48
- var import_OpenInNew = __toESM(require("@mui/icons-material/OpenInNew"));
49
- var import_Verified = __toESM(require("@mui/icons-material/Verified"));
50
- var import_material = require("@mui/material");
51
- var import_react_async_effect = require("@xylabs/react-async-effect");
52
- var import_react_link = require("@xylabs/react-link");
53
- var import_react_event = require("@xyo-network/react-event");
54
- var import_react_property = require("@xyo-network/react-property");
55
- var import_schema_cache = require("@xyo-network/schema-cache");
56
- var import_react = require("react");
57
- var import_jsx_runtime = require("react/jsx-runtime");
58
- var useResolveSchema = (schema) => {
59
- const [entry, setEntry] = (0, import_react.useState)();
60
- (0, import_react_async_effect.useAsyncEffect)(
61
- // eslint-disable-next-line react-hooks/exhaustive-deps
62
- async (mounted) => {
63
- if (schema) {
64
- const entry2 = await import_schema_cache.SchemaCache.instance.get(schema);
65
- if (mounted()) {
66
- setEntry(entry2);
67
- }
68
- }
69
- },
70
- [schema]
71
- );
72
- return entry;
73
- };
74
- var SchemaProperty = (0, import_react.forwardRef)(
75
- ({ showLinkNames = true, showOpenNewWindowLink = true, showStatusIcon = true, titleProps, value, ...props }, forwardedRef) => {
76
- const resolvedSchema = useResolveSchema(value);
77
- const [buttonRef, buttonDispatch] = (0, import_react_event.useEvent)(void 0);
78
- const [divRef, divDispatch] = (0, import_react_event.useEvent)(void 0);
79
- const onClick = (dispatch, openNewWindow = false) => {
80
- dispatch?.(
81
- "schema",
82
- "click",
83
- JSON.stringify({
84
- openNewWindow,
85
- schema: value
86
- })
87
- );
88
- };
89
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_property.Property, { ref: forwardedRef, title: "Schema", value, tip: "Schema sent with the payload", titleProps, ...props, children: [
90
- value && showStatusIcon ? resolvedSchema === null ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NewReleases.default, { color: "warning", fontSize: "inherit" }) }) : resolvedSchema === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NewReleases.default, { color: "disabled", fontSize: "inherit" }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { rel: "noopener noreferrer", size: "small", target: "_blank", href: resolvedSchema?.huri?.href ?? "", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Verified.default, { color: "success", fontSize: "inherit" }) }) : null,
91
- value ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
92
- showLinkNames ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_link.LinkEx, { display: "block", width: "100%", sx: { cursor: "pointer" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_property.PropertyValue, { ref: divRef, value, title: "view schema", onClick: () => onClick(divDispatch) }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_property.PropertyValue, { ref: divRef, value, title: "view schema", onClick: () => onClick(divDispatch) }),
93
- showOpenNewWindowLink ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch, true), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_OpenInNew.default, { fontSize: "inherit" }) }) : null
94
- ] }) : null
95
- ] });
96
- }
97
- );
98
- SchemaProperty.displayName = "SchemaProperty";
99
-
100
- // src/components/SelectEx/SchemaSelectEx.tsx
101
- var import_material2 = require("@mui/material");
102
- var import_react_select = require("@xylabs/react-select");
103
-
104
- // src/contexts/Schema/Context.ts
105
- var import_react_shared = require("@xyo-network/react-shared");
106
- var SchemaContext = (0, import_react_shared.createContextEx)();
107
-
108
- // src/contexts/Schema/Provider/Memory.tsx
109
- var import_lodash = require("@xylabs/lodash");
110
- var import_react6 = require("react");
111
-
112
- // src/hooks/useGetSchema.tsx
113
- var import_react_async_effect2 = require("@xylabs/react-async-effect");
114
- var import_payload_builder = require("@xyo-network/payload-builder");
115
- var import_payload_model = require("@xyo-network/payload-model");
116
- var import_schema_cache2 = require("@xyo-network/schema-cache");
117
- var import_react2 = require("react");
118
- var useGetSchemaPayload = (schema) => {
119
- const [notFound, setNotFound] = (0, import_react2.useState)(false);
120
- const [xyoError, setError] = (0, import_react2.useState)();
121
- const [schemaCacheEntry, setSchemaCacheEntry] = (0, import_react2.useState)();
122
- const [schemaLocal, setSchemaLocal] = (0, import_react2.useState)();
123
- (0, import_react_async_effect2.useAsyncEffect)(
124
- // eslint-disable-next-line react-hooks/exhaustive-deps
125
- async (mounted) => {
126
- const firstRequest = !notFound && !schemaCacheEntry && !xyoError;
127
- const schemaChanged = schema !== schemaLocal;
128
- if (schema && firstRequest || schema && schemaChanged) {
129
- try {
130
- const schemaCacheEntry2 = await import_schema_cache2.SchemaCache.instance.get(schema);
131
- if (mounted()) {
132
- setSchemaCacheEntry(schemaCacheEntry2);
133
- setNotFound(schemaCacheEntry2 === null || schemaCacheEntry2 === void 0);
134
- }
135
- } catch (e) {
136
- const error = e;
137
- console.error(e);
138
- if (mounted()) {
139
- setError({ message: error.message, schema: import_payload_model.ModuleErrorSchema, sources: [] });
140
- }
141
- }
142
- }
143
- if (schemaChanged) {
144
- setSchemaLocal(schema);
145
- }
146
- },
147
- [xyoError, notFound, schema, schemaLocal, schemaCacheEntry]
148
- );
149
- return {
150
- notFound,
151
- schemaHuri: schemaCacheEntry?.huri,
152
- schemaPayload: schemaCacheEntry ? new import_payload_builder.PayloadBuilder(schemaCacheEntry?.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,
153
- xyoError
154
- };
155
- };
156
-
157
- // src/hooks/useSchemaDefinitions.tsx
158
- var import_react_async_effect3 = require("@xylabs/react-async-effect");
159
- var import_schema_cache3 = require("@xyo-network/schema-cache");
160
- var import_react3 = require("react");
161
- var useSchemaDefinitions = (schemaList) => {
162
- const [schemaPayloads, setSchemaPayloads] = (0, import_react3.useState)();
163
- (0, import_react_async_effect3.useAsyncEffect)(
164
- // eslint-disable-next-line react-hooks/exhaustive-deps
165
- async (mounted) => {
166
- if (schemaList) {
167
- const promiseResults = await Promise.allSettled(schemaList?.map(({ name }) => import_schema_cache3.SchemaCache.instance.get(name)));
168
- if (mounted()) {
169
- setSchemaPayloads(
170
- promiseResults.map((result) => result.status === "fulfilled" ? result.value?.payload : void 0).filter((item) => item !== void 0 && item !== null)
171
- );
172
- }
173
- }
174
- },
175
- [schemaList]
176
- );
177
- return schemaPayloads;
178
- };
179
-
180
- // src/hooks/useSchemaList.tsx
181
- var import_react_async_effect4 = require("@xylabs/react-async-effect");
182
- var import_diviner_schema_list_model = require("@xyo-network/diviner-schema-list-model");
183
- var import_react_diviner = require("@xyo-network/react-diviner");
184
- var import_react4 = require("react");
185
- var useSchemaList = (address, nameOrAddress = "SchemaListDiviner") => {
186
- const [schemaList, setSchemaList] = (0, import_react4.useState)();
187
- const [error, setError] = (0, import_react4.useState)();
188
- const [diviner, divinerError] = (0, import_react_diviner.useDivinerFromNode)(nameOrAddress);
189
- const query = (0, import_react4.useMemo)(
190
- () => address ? [
191
- {
192
- address,
193
- schema: import_diviner_schema_list_model.SchemaListQuerySchema
194
- }
195
- ] : void 0,
196
- [address]
197
- );
198
- (0, import_react4.useEffect)(() => {
199
- if (diviner === null) {
200
- setSchemaList(null);
201
- setError(void 0);
202
- }
203
- }, [diviner]);
204
- (0, import_react_async_effect4.useAsyncEffect)(
205
- // eslint-disable-next-line react-hooks/exhaustive-deps, require-await
206
- async (mounted) => {
207
- if (diviner) {
208
- try {
209
- const response = await diviner.divine(query);
210
- if (mounted()) {
211
- setSchemaList(response?.[0]);
212
- setError(void 0);
213
- }
214
- } catch (e) {
215
- setError(e);
216
- setSchemaList(void 0);
217
- }
218
- }
219
- },
220
- [diviner, divinerError, query]
221
- );
222
- return [schemaList, error];
223
- };
224
-
225
- // src/hooks/useSchemaStats.tsx
226
- var import_react_async_effect5 = require("@xylabs/react-async-effect");
227
- var import_diviner_schema_stats_model = require("@xyo-network/diviner-schema-stats-model");
228
- var import_node_core_types = require("@xyo-network/node-core-types");
229
- var import_react_diviner2 = require("@xyo-network/react-diviner");
230
- var import_react5 = require("react");
231
- var useSchemaStats = (statsAddress, nameOrAddress = import_node_core_types.TYPES.SchemaStatsDiviner.description) => {
232
- const [refresh, setRefresh] = (0, import_react5.useState)(1);
233
- const [diviner, divinerError] = (0, import_react_diviner2.useDivinerFromNode)(nameOrAddress);
234
- const [error, setError] = (0, import_react5.useState)();
235
- const refreshHistory = () => setRefresh((previous) => previous + 1);
236
- const [schemaList, setSchemaList] = (0, import_react5.useState)();
237
- const query = (0, import_react5.useMemo)(
238
- () => ({
239
- address: statsAddress,
240
- schema: import_diviner_schema_stats_model.SchemaStatsQuerySchema
241
- }),
242
- [statsAddress]
243
- );
244
- (0, import_react_async_effect5.useAsyncEffect)(
245
- // eslint-disable-next-line react-hooks/exhaustive-deps
246
- async (mounted) => {
247
- if (diviner) {
248
- if (divinerError) {
249
- if (mounted()) {
250
- setError(divinerError);
251
- setSchemaList(void 0);
252
- }
253
- } else {
254
- try {
255
- const schemas = (await diviner.divine([query])).filter(import_diviner_schema_stats_model.isSchemaStatsPayload);
256
- if (mounted()) {
257
- setSchemaList(schemas);
258
- setError(void 0);
259
- }
260
- } catch (ex) {
261
- setError(ex);
262
- setSchemaList(void 0);
263
- }
264
- }
265
- }
266
- },
267
- [diviner, refresh, divinerError, query]
268
- );
269
- return [schemaList, error, refreshHistory];
270
- };
271
-
272
- // src/contexts/Schema/Provider/Memory.tsx
273
- var import_jsx_runtime2 = require("react/jsx-runtime");
274
- var SchemaMemoryProvider = ({ defaultSchema, knownSchemaList = [], ...props }) => {
275
- const [schema, setSchema] = (0, import_react6.useState)(defaultSchema);
276
- const [schemaList, setSchemaList] = (0, import_react6.useState)(knownSchemaList);
277
- const [fetchedSchemaStats] = useSchemaStats();
278
- (0, import_react6.useEffect)(() => {
279
- if (fetchedSchemaStats) {
280
- const schemaList2 = (0, import_lodash.compact)(fetchedSchemaStats.map(({ name }) => name));
281
- setSchemaList(schemaList2);
282
- }
283
- }, [fetchedSchemaStats]);
284
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaContext.Provider, { value: { provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }, ...props });
285
- };
286
-
287
- // src/contexts/Schema/Provider/Route.tsx
288
- var import_react7 = require("react");
289
- var import_react_router_dom = require("react-router-dom");
290
-
291
- // src/contexts/Schema/use.ts
292
- var import_react_shared2 = require("@xyo-network/react-shared");
293
- var useSchema = (required = false) => {
294
- return (0, import_react_shared2.useContextEx)(SchemaContext, "Schema", required);
295
- };
296
-
297
- // src/contexts/Schema/Provider/Route.tsx
298
- var import_jsx_runtime3 = require("react/jsx-runtime");
299
- var SchemaRouteProviderInner = ({ children }) => {
300
- const { schema, setSchema, schemaList } = useSchema();
301
- const [params, setParams] = (0, import_react_router_dom.useSearchParams)();
302
- const routeSchema = params.get("schema");
303
- const setSchemaParam = (0, import_react7.useCallback)(
304
- (schema2) => {
305
- if (schema2) {
306
- params.set("schema", schema2);
307
- setParams(params, { replace: true });
308
- setSchema?.(schema2);
309
- } else {
310
- params.delete("network");
311
- }
312
- },
313
- [params, setParams, setSchema]
314
- );
315
- const setSchemaLocal = (0, import_react7.useCallback)(
316
- (schema2) => {
317
- setSchemaParam(schema2);
318
- setSchema?.(schema2);
319
- },
320
- [setSchemaParam, setSchema]
321
- );
322
- (0, import_react7.useEffect)(() => {
323
- if (routeSchema !== schema) {
324
- if (routeSchema === void 0 && schema !== void 0) {
325
- setSchemaLocal(schema);
326
- } else if (routeSchema) {
327
- setSchema?.(routeSchema);
328
- }
329
- }
330
- }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
331
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
332
- };
333
- var SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
334
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SchemaRouteProviderInner, { ...props }) });
335
- };
336
-
337
- // src/components/SelectEx/SchemaSelectEx.tsx
338
- var import_jsx_runtime4 = require("react/jsx-runtime");
339
- var SchemaSelectEx = ({ onChange, ...props }) => {
340
- const { schema, setSchema, schemaList } = useSchema(false);
341
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
342
- import_react_select.SelectEx,
343
- {
344
- variant: "outlined",
345
- size: "small",
346
- value: schema ?? "none",
347
- onChange: (event, child) => {
348
- if (event.target.value !== schema) {
349
- onChange?.(event, child);
350
- setSchema?.(event.target.value);
351
- }
352
- },
353
- renderValue: (value) => {
354
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { children: value === "none" ? "- None -" : value });
355
- },
356
- ...props,
357
- children: [
358
- schemaList?.map((schema2, index) => {
359
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.MenuItem, { value: schema2, children: schema2 }, index);
360
- }),
361
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.MenuItem, { value: "none", children: "- None -" }, "none")
362
- ]
363
- }
364
- );
365
- };
366
- // Annotate the CommonJS export names for ESM import in node:
367
- 0 && (module.exports = {
368
- SchemaContext,
369
- SchemaMemoryProvider,
370
- SchemaProperty,
371
- SchemaRouteProvider,
372
- SchemaSelectEx,
373
- useGetSchemaPayload,
374
- useSchema,
375
- useSchemaDefinitions,
376
- useSchemaList,
377
- useSchemaStats
378
- });
379
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts","../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":["export * from './components'\nexport * from './contexts'\nexport * from './hooks'\n","import NewReleasesIcon from '@mui/icons-material/NewReleases'\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew'\nimport VerifiedIcon from '@mui/icons-material/Verified'\nimport { IconButton } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { LinkEx } from '@xylabs/react-link'\nimport { EventDispatch, EventNoun, useEvent } from '@xyo-network/react-event'\nimport { Property, PropertyProps, PropertyValue } from '@xyo-network/react-property'\nimport { SchemaCache, SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { forwardRef, 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 // eslint-disable-next-line react-hooks/exhaustive-deps\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 = forwardRef<HTMLDivElement, SchemaPropertyProps>(\n ({ showLinkNames = true, showOpenNewWindowLink = true, showStatusIcon = true, titleProps, value, ...props }, forwardedRef) => {\n const resolvedSchema = useResolveSchema(value)\n const [buttonRef, buttonDispatch] = useEvent<HTMLButtonElement>(undefined)\n const [divRef, divDispatch] = useEvent<HTMLDivElement>(undefined)\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 ref={forwardedRef} title=\"Schema\" value={value} tip=\"Schema sent with the payload\" titleProps={titleProps} {...props}>\n {value && showStatusIcon ? (\n resolvedSchema === null ? (\n <IconButton ref={buttonRef} size=\"small\" onClick={() => onClick(buttonDispatch)}>\n <NewReleasesIcon color=\"warning\" fontSize=\"inherit\" />\n </IconButton>\n ) : resolvedSchema === undefined ? (\n <IconButton ref={buttonRef} size=\"small\" onClick={() => onClick(buttonDispatch)}>\n <NewReleasesIcon color=\"disabled\" fontSize=\"inherit\" />\n </IconButton>\n ) : (\n <IconButton rel=\"noopener noreferrer\" size=\"small\" target=\"_blank\" href={resolvedSchema?.huri?.href ?? ''}>\n <VerifiedIcon color=\"success\" fontSize=\"inherit\" />\n </IconButton>\n )\n ) : null}\n {value ? (\n <>\n {showLinkNames ? (\n <LinkEx display=\"block\" width=\"100%\" sx={{ cursor: 'pointer' }}>\n <PropertyValue ref={divRef} value={value} title=\"view schema\" onClick={() => onClick(divDispatch)} />\n </LinkEx>\n ) : (\n <PropertyValue ref={divRef} value={value} title=\"view schema\" onClick={() => onClick(divDispatch)} />\n )}\n {showOpenNewWindowLink ? (\n <IconButton ref={buttonRef} size=\"small\" onClick={() => onClick(buttonDispatch, true)}>\n <OpenInNewIcon fontSize=\"inherit\" />\n </IconButton>\n ) : null}\n </>\n ) : null}\n </Property>\n )\n },\n)\n\nSchemaProperty.displayName = 'SchemaProperty'\n","import { MenuItem, Typography } from '@mui/material'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\n\nimport { useSchema } from '../../contexts'\n\nexport type SchemaSelectExProps = SelectExProps<string>\n\nexport const SchemaSelectEx: React.FC<SchemaSelectExProps> = ({ onChange, ...props }) => {\n const { schema, setSchema, schemaList } = useSchema(false)\n\n return (\n <SelectEx\n variant=\"outlined\"\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 '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\n","import { compact } from '@xylabs/lodash'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { useSchemaStats } from '../../../hooks'\nimport { SchemaContext } from '../Context'\nimport { SchemaProviderProps } from './Props'\n\nexport const SchemaMemoryProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ defaultSchema, knownSchemaList = [], ...props }) => {\n const [schema, setSchema] = useState(defaultSchema)\n const [schemaList, setSchemaList] = useState<string[] | undefined>(knownSchemaList)\n const [fetchedSchemaStats] = useSchemaStats()\n\n useEffect(() => {\n if (fetchedSchemaStats) {\n const schemaList = compact(fetchedSchemaStats.map(({ name }) => name))\n setSchemaList(schemaList)\n }\n }, [fetchedSchemaStats])\n\n return <SchemaContext.Provider value={{ provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }} {...props} />\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { SchemaCache, SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { 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<ModuleError>()\n const [schemaCacheEntry, setSchemaCacheEntry] = useState<SchemaCacheEntry | null | undefined>()\n const [schemaLocal, setSchemaLocal] = useState<string>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\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({ message: error.message, schema: ModuleErrorSchema, sources: [] })\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: schemaCacheEntry\n ? new PayloadBuilder<SchemaPayload>(schemaCacheEntry?.payload).fields(schemaCacheEntry.payload).build()\n : schemaCacheEntry,\n xyoError,\n }\n}\n\nexport { useGetSchemaPayload }\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport { 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 // eslint-disable-next-line react-hooks/exhaustive-deps\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 { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaListPayload, SchemaListQueryPayload, SchemaListQuerySchema } from '@xyo-network/diviner-schema-list-model'\nimport { useDivinerFromNode } from '@xyo-network/react-diviner'\nimport { useEffect, useMemo, useState } from 'react'\n\nexport const useSchemaList = (address?: string, nameOrAddress = 'SchemaListDiviner'): [SchemaListPayload | null | undefined, Error | undefined] => {\n const [schemaList, setSchemaList] = useState<SchemaListPayload | null>()\n const [error, setError] = useState<Error>()\n const [diviner, divinerError] = useDivinerFromNode(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 useEffect(() => {\n if (diviner === null) {\n setSchemaList(null)\n setError(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps, require-await\n async (mounted) => {\n if (diviner) {\n try {\n const response = (await diviner.divine(query)) as SchemaListPayload[]\n if (mounted()) {\n setSchemaList(response?.[0])\n setError(undefined)\n }\n } catch (e) {\n setError(e as Error)\n setSchemaList(undefined)\n }\n }\n },\n [diviner, divinerError, query],\n )\n return [schemaList, error]\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { isSchemaStatsPayload, SchemaStatsPayload, SchemaStatsQueryPayload, SchemaStatsQuerySchema } from '@xyo-network/diviner-schema-stats-model'\nimport { TYPES } from '@xyo-network/node-core-types'\nimport { useDivinerFromNode } from '@xyo-network/react-diviner'\nimport { Dispatch, SetStateAction, useMemo, useState } from 'react'\n\nexport const useSchemaStats = (\n statsAddress?: string,\n nameOrAddress = TYPES.SchemaStatsDiviner.description,\n): [SchemaStatsPayload[] | undefined, Error | undefined, Dispatch<SetStateAction<number>>] => {\n const [refresh, setRefresh] = useState(1)\n const [diviner, divinerError] = useDivinerFromNode(nameOrAddress)\n const [error, setError] = useState<Error>()\n const refreshHistory = () => setRefresh((previous) => previous + 1)\n\n const [schemaList, setSchemaList] = useState<SchemaStatsPayload[]>()\n\n const query: SchemaStatsQueryPayload = useMemo(\n () => ({\n address: statsAddress,\n schema: SchemaStatsQuerySchema,\n }),\n [statsAddress],\n )\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (diviner) {\n if (divinerError) {\n if (mounted()) {\n setError(divinerError)\n setSchemaList(undefined)\n }\n } else {\n try {\n const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload)\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 { WithChildren } from '@xylabs/react-shared'\nimport { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { SchemaContext } from '../Context'\nimport { useSchema } from '../use'\nimport { SchemaMemoryProvider } from './Memory'\nimport { SchemaProviderProps } from './Props'\n\nconst SchemaRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const { schema, setSchema, schemaList } = 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 return <SchemaContext.Provider value={{ provided: true, schema, schemaList, setSchema: setSchemaLocal }}>{children}</SchemaContext.Provider>\n}\n\nexport const SchemaRouteProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ knownSchemaList, defaultSchema, ...props }) => {\n return (\n <SchemaMemoryProvider knownSchemaList={knownSchemaList} defaultSchema={defaultSchema}>\n <SchemaRouteProviderInner {...props} />\n </SchemaMemoryProvider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContext } from './Context'\nimport { SchemaContextState } from './State'\n\nexport const useSchema = (required = false) => {\n return useContextEx<SchemaContextState>(SchemaContext, 'Schema', required)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,yBAA4B;AAC5B,uBAA0B;AAC1B,sBAAyB;AACzB,sBAA2B;AAC3B,gCAA+B;AAC/B,wBAAuB;AACvB,yBAAmD;AACnD,4BAAuD;AACvD,0BAA8C;AAC9C,mBAAqC;AAgDvB;AAvCd,IAAM,mBAAmB,CAAC,WAAoB;AAC5C,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAkC;AAC5D;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,QAAQ;AACV,cAAMA,SAAQ,MAAM,gCAAY,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,qBAAiB;AAAA,EAC5B,CAAC,EAAE,gBAAgB,MAAM,wBAAwB,MAAM,iBAAiB,MAAM,YAAY,OAAO,GAAG,MAAM,GAAG,iBAAiB;AAC5H,UAAM,iBAAiB,iBAAiB,KAAK;AAC7C,UAAM,CAAC,WAAW,cAAc,QAAI,6BAA4B,MAAS;AACzE,UAAM,CAAC,QAAQ,WAAW,QAAI,6BAAyB,MAAS;AAEhE,UAAM,UAAU,CAAC,UAAsD,gBAAgB,UAAU;AAC/F;AAAA,QACE;AAAA,QACA;AAAA,QACA,KAAK,UAAU;AAAA,UACb;AAAA,UACA,QAAQ;AAAA,QACV,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WACE,6CAAC,kCAAS,KAAK,cAAc,OAAM,UAAS,OAAc,KAAI,gCAA+B,YAAyB,GAAG,OACtH;AAAA,eAAS,iBACR,mBAAmB,OACjB,4CAAC,8BAAW,KAAK,WAAW,MAAK,SAAQ,SAAS,MAAM,QAAQ,cAAc,GAC5E,sDAAC,mBAAAC,SAAA,EAAgB,OAAM,WAAU,UAAS,WAAU,GACtD,IACE,mBAAmB,SACrB,4CAAC,8BAAW,KAAK,WAAW,MAAK,SAAQ,SAAS,MAAM,QAAQ,cAAc,GAC5E,sDAAC,mBAAAA,SAAA,EAAgB,OAAM,YAAW,UAAS,WAAU,GACvD,IAEA,4CAAC,8BAAW,KAAI,uBAAsB,MAAK,SAAQ,QAAO,UAAS,MAAM,gBAAgB,MAAM,QAAQ,IACrG,sDAAC,gBAAAC,SAAA,EAAa,OAAM,WAAU,UAAS,WAAU,GACnD,IAEA;AAAA,MACH,QACC,4EACG;AAAA,wBACC,4CAAC,4BAAO,SAAQ,SAAQ,OAAM,QAAO,IAAI,EAAE,QAAQ,UAAU,GAC3D,sDAAC,uCAAc,KAAK,QAAQ,OAAc,OAAM,eAAc,SAAS,MAAM,QAAQ,WAAW,GAAG,GACrG,IAEA,4CAAC,uCAAc,KAAK,QAAQ,OAAc,OAAM,eAAc,SAAS,MAAM,QAAQ,WAAW,GAAG;AAAA,QAEpG,wBACC,4CAAC,8BAAW,KAAK,WAAW,MAAK,SAAQ,SAAS,MAAM,QAAQ,gBAAgB,IAAI,GAClF,sDAAC,iBAAAC,SAAA,EAAc,UAAS,WAAU,GACpC,IACE;AAAA,SACN,IACE;AAAA,OACN;AAAA,EAEJ;AACF;AAEA,eAAe,cAAc;;;AC1F7B,IAAAC,mBAAqC;AACrC,0BAAwC;;;ACDxC,0BAAgC;AAIzB,IAAM,oBAAgB,qCAAoC;;;ACJjE,oBAAwB;AAExB,IAAAC,gBAAoC;;;ACFpC,IAAAC,6BAA+B;AAC/B,6BAA+B;AAC/B,2BAA+C;AAC/C,IAAAC,uBAA8C;AAE9C,IAAAC,gBAAyB;AAKzB,IAAM,sBAAsB,CAAC,WAAoB;AAC/C,QAAM,CAAC,UAAU,WAAW,QAAI,wBAAS,KAAK;AAC9C,QAAM,CAAC,UAAU,QAAQ,QAAI,wBAAsB;AACnD,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,wBAA8C;AAC9F,QAAM,CAAC,aAAa,cAAc,QAAI,wBAAiB;AAEvD;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,YAAM,eAAe,CAAC,YAAY,CAAC,oBAAoB,CAAC;AACxD,YAAM,gBAAgB,WAAW;AAEjC,UAAK,UAAU,gBAAkB,UAAU,eAAgB;AACzD,YAAI;AACF,gBAAMC,oBAAmB,MAAM,iCAAY,SAAS,IAAI,MAAM;AAC9D,cAAI,QAAQ,GAAG;AACb,gCAAoBA,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,EAAE,SAAS,MAAM,SAAS,QAAQ,wCAAmB,SAAS,CAAC,EAAE,CAAC;AAAA,UAC7E;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,eAAe,mBACX,IAAI,sCAA8B,kBAAkB,OAAO,EAAE,OAAO,iBAAiB,OAAO,EAAE,MAAM,IACpG;AAAA,IACJ;AAAA,EACF;AACF;;;ACpDA,IAAAC,6BAA+B;AAC/B,IAAAC,uBAA4B;AAE5B,IAAAC,gBAAyB;AAIlB,IAAM,uBAAuB,CAAC,eAA2D;AAC9F,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,wBAA0B;AACtE;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,YAAY;AACd,cAAM,iBAAiB,MAAM,QAAQ,WAAW,YAAY,IAAI,CAAC,EAAE,KAAK,MAAM,iCAAY,SAAS,IAAI,IAAI,CAAC,CAAC;AAC7G,YAAI,QAAQ,GAAG;AACb;AAAA,YACE,eACG,IAAI,CAAC,WAAY,OAAO,WAAW,cAAc,OAAO,OAAO,UAAU,MAAU,EACnF,OAAO,CAAC,SAAS,SAAS,UAAa,SAAS,IAAI;AAAA,UACzD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AACA,SAAO;AACT;;;AC1BA,IAAAC,6BAA+B;AAC/B,uCAAiF;AACjF,2BAAmC;AACnC,IAAAC,gBAA6C;AAEtC,IAAM,gBAAgB,CAAC,SAAkB,gBAAgB,wBAAmF;AACjJ,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAmC;AACvE,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAgB;AAC1C,QAAM,CAAC,SAAS,YAAY,QAAI,yCAAmB,aAAa;AAEhE,QAAM,YAA8C;AAAA,IAClD,MACE,UACI;AAAA,MACE;AAAA,QACE;AAAA,QACA,QAAQ;AAAA,MACV;AAAA,IACF,IACA;AAAA,IACN,CAAC,OAAO;AAAA,EACV;AAEA,+BAAU,MAAM;AACd,QAAI,YAAY,MAAM;AACpB,oBAAc,IAAI;AAClB,eAAS,MAAS;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,SAAS;AACX,YAAI;AACF,gBAAM,WAAY,MAAM,QAAQ,OAAO,KAAK;AAC5C,cAAI,QAAQ,GAAG;AACb,0BAAc,WAAW,CAAC,CAAC;AAC3B,qBAAS,MAAS;AAAA,UACpB;AAAA,QACF,SAAS,GAAG;AACV,mBAAS,CAAU;AACnB,wBAAc,MAAS;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,SAAS,cAAc,KAAK;AAAA,EAC/B;AACA,SAAO,CAAC,YAAY,KAAK;AAC3B;;;ACjDA,IAAAC,6BAA+B;AAC/B,wCAA0G;AAC1G,6BAAsB;AACtB,IAAAC,wBAAmC;AACnC,IAAAC,gBAA4D;AAErD,IAAM,iBAAiB,CAC5B,cACA,gBAAgB,6BAAM,mBAAmB,gBACmD;AAC5F,QAAM,CAAC,SAAS,UAAU,QAAI,wBAAS,CAAC;AACxC,QAAM,CAAC,SAAS,YAAY,QAAI,0CAAmB,aAAa;AAChE,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAgB;AAC1C,QAAM,iBAAiB,MAAM,WAAW,CAAC,aAAa,WAAW,CAAC;AAElE,QAAM,CAAC,YAAY,aAAa,QAAI,wBAA+B;AAEnE,QAAM,YAAiC;AAAA,IACrC,OAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAEA;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,SAAS;AACX,YAAI,cAAc;AAChB,cAAI,QAAQ,GAAG;AACb,qBAAS,YAAY;AACrB,0BAAc,MAAS;AAAA,UACzB;AAAA,QACF,OAAO;AACL,cAAI;AACF,kBAAM,WAAW,MAAM,QAAQ,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,sDAAoB;AAC3E,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;;;AJhCS,IAAAC,sBAAA;AAZF,IAAM,uBAAoE,CAAC,EAAE,eAAe,kBAAkB,CAAC,GAAG,GAAG,MAAM,MAAM;AACtI,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAAS,aAAa;AAClD,QAAM,CAAC,YAAY,aAAa,QAAI,wBAA+B,eAAe;AAClF,QAAM,CAAC,kBAAkB,IAAI,eAAe;AAE5C,+BAAU,MAAM;AACd,QAAI,oBAAoB;AACtB,YAAMC,kBAAa,uBAAQ,mBAAmB,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC;AACrE,oBAAcA,WAAU;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,kBAAkB,CAAC;AAEvB,SAAO,6CAAC,cAAc,UAAd,EAAuB,OAAO,EAAE,UAAU,MAAM,QAAQ,YAAY,mBAAmB,YAAY,WAAW,cAAc,GAAI,GAAG,OAAO;AACpJ;;;AKpBA,IAAAC,gBAAuC;AACvC,8BAAgC;;;ACFhC,IAAAC,uBAA6B;AAKtB,IAAM,YAAY,CAAC,WAAW,UAAU;AAC7C,aAAO,mCAAiC,eAAe,UAAU,QAAQ;AAC3E;;;AD6CS,IAAAC,sBAAA;AA3CT,IAAM,2BAAmD,CAAC,EAAE,SAAS,MAAM;AACzE,QAAM,EAAE,QAAQ,WAAW,WAAW,IAAI,UAAU;AAEpD,QAAM,CAAC,QAAQ,SAAS,QAAI,yCAAgB;AAE5C,QAAM,cAAc,OAAO,IAAI,QAAQ;AAGvC,QAAM,qBAAiB;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,qBAAiB;AAAA,IACrB,CAACA,YAAmB;AAClB,qBAAeA,OAAM;AACrB,kBAAYA,OAAM;AAAA,IACpB;AAAA,IACA,CAAC,gBAAgB,SAAS;AAAA,EAC5B;AAGA,+BAAU,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,SAAO,6CAAC,cAAc,UAAd,EAAuB,OAAO,EAAE,UAAU,MAAM,QAAQ,YAAY,WAAW,eAAe,GAAI,UAAS;AACrH;AAEO,IAAM,sBAAmE,CAAC,EAAE,iBAAiB,eAAe,GAAG,MAAM,MAAM;AAChI,SACE,6CAAC,wBAAqB,iBAAkC,eACtD,uDAAC,4BAA0B,GAAG,OAAO,GACvC;AAEJ;;;APlDI,IAAAC,sBAAA;AAJG,IAAM,iBAAgD,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AACvF,QAAM,EAAE,QAAQ,WAAW,WAAW,IAAI,UAAU,KAAK;AAEzD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,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,6CAAC,+BAAY,oBAAU,SAAS,aAAa,OAAM;AAAA,MAC5D;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,oBAAY,IAAI,CAACC,SAAQ,UAAU;AAClC,iBACE,6CAAC,6BAAqB,OAAOA,SAC1B,UAAAA,WADY,KAEf;AAAA,QAEJ,CAAC;AAAA,QACD,6CAAC,6BAAoB,OAAM,QAAO,wBAApB,MAEd;AAAA;AAAA;AAAA,EACF;AAEJ;","names":["entry","NewReleasesIcon","VerifiedIcon","OpenInNewIcon","import_material","import_react","import_react_async_effect","import_schema_cache","import_react","schemaCacheEntry","import_react_async_effect","import_schema_cache","import_react","import_react_async_effect","import_react","import_react_async_effect","import_react_diviner","import_react","import_jsx_runtime","schemaList","import_react","import_react_shared","import_jsx_runtime","schema","import_jsx_runtime","schema"]}