@xyo-network/react-schema 2.81.9 → 2.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/dist/browser/components/Property/SchemaProperty.d.cts +6 -5
  2. package/dist/browser/components/Property/SchemaProperty.d.cts.map +1 -1
  3. package/dist/browser/components/Property/SchemaProperty.d.mts +6 -5
  4. package/dist/browser/components/Property/SchemaProperty.d.mts.map +1 -1
  5. package/dist/browser/components/Property/SchemaProperty.d.ts +6 -5
  6. package/dist/browser/components/Property/SchemaProperty.d.ts.map +1 -1
  7. package/dist/browser/components/Property/index.d.cts +1 -1
  8. package/dist/browser/components/Property/index.d.cts.map +1 -1
  9. package/dist/browser/components/Property/index.d.mts +1 -1
  10. package/dist/browser/components/Property/index.d.mts.map +1 -1
  11. package/dist/browser/components/Property/index.d.ts +1 -1
  12. package/dist/browser/components/Property/index.d.ts.map +1 -1
  13. package/dist/browser/components/SelectEx/SchemaSelectEx.d.cts +1 -0
  14. package/dist/browser/components/SelectEx/SchemaSelectEx.d.cts.map +1 -1
  15. package/dist/browser/components/SelectEx/SchemaSelectEx.d.mts +1 -0
  16. package/dist/browser/components/SelectEx/SchemaSelectEx.d.mts.map +1 -1
  17. package/dist/browser/components/SelectEx/SchemaSelectEx.d.ts +1 -0
  18. package/dist/browser/components/SelectEx/SchemaSelectEx.d.ts.map +1 -1
  19. package/dist/browser/components/SelectEx/index.d.cts +1 -1
  20. package/dist/browser/components/SelectEx/index.d.cts.map +1 -1
  21. package/dist/browser/components/SelectEx/index.d.mts +1 -1
  22. package/dist/browser/components/SelectEx/index.d.mts.map +1 -1
  23. package/dist/browser/components/SelectEx/index.d.ts +1 -1
  24. package/dist/browser/components/SelectEx/index.d.ts.map +1 -1
  25. package/dist/browser/components/index.d.cts +2 -2
  26. package/dist/browser/components/index.d.mts +2 -2
  27. package/dist/browser/components/index.d.ts +2 -2
  28. package/dist/browser/contexts/Schema/Context.d.cts +1 -1
  29. package/dist/browser/contexts/Schema/Context.d.mts +1 -1
  30. package/dist/browser/contexts/Schema/Context.d.ts +1 -1
  31. package/dist/browser/contexts/Schema/Provider/Memory.d.cts +2 -1
  32. package/dist/browser/contexts/Schema/Provider/Memory.d.cts.map +1 -1
  33. package/dist/browser/contexts/Schema/Provider/Memory.d.mts +2 -1
  34. package/dist/browser/contexts/Schema/Provider/Memory.d.mts.map +1 -1
  35. package/dist/browser/contexts/Schema/Provider/Memory.d.ts +2 -1
  36. package/dist/browser/contexts/Schema/Provider/Memory.d.ts.map +1 -1
  37. package/dist/browser/contexts/Schema/Provider/Props.d.cts.map +1 -1
  38. package/dist/browser/contexts/Schema/Provider/Props.d.mts.map +1 -1
  39. package/dist/browser/contexts/Schema/Provider/Props.d.ts.map +1 -1
  40. package/dist/browser/contexts/Schema/Provider/Route.d.cts +2 -1
  41. package/dist/browser/contexts/Schema/Provider/Route.d.cts.map +1 -1
  42. package/dist/browser/contexts/Schema/Provider/Route.d.mts +2 -1
  43. package/dist/browser/contexts/Schema/Provider/Route.d.mts.map +1 -1
  44. package/dist/browser/contexts/Schema/Provider/Route.d.ts +2 -1
  45. package/dist/browser/contexts/Schema/Provider/Route.d.ts.map +1 -1
  46. package/dist/browser/contexts/Schema/Provider/index.d.cts +3 -3
  47. package/dist/browser/contexts/Schema/Provider/index.d.cts.map +1 -1
  48. package/dist/browser/contexts/Schema/Provider/index.d.mts +3 -3
  49. package/dist/browser/contexts/Schema/Provider/index.d.mts.map +1 -1
  50. package/dist/browser/contexts/Schema/Provider/index.d.ts +3 -3
  51. package/dist/browser/contexts/Schema/Provider/index.d.ts.map +1 -1
  52. package/dist/browser/contexts/Schema/index.d.cts +4 -4
  53. package/dist/browser/contexts/Schema/index.d.mts +4 -4
  54. package/dist/browser/contexts/Schema/index.d.ts +4 -4
  55. package/dist/browser/contexts/Schema/use.d.cts +1 -1
  56. package/dist/browser/contexts/Schema/use.d.mts +1 -1
  57. package/dist/browser/contexts/Schema/use.d.ts +1 -1
  58. package/dist/browser/contexts/index.d.cts +1 -1
  59. package/dist/browser/contexts/index.d.mts +1 -1
  60. package/dist/browser/contexts/index.d.ts +1 -1
  61. package/dist/browser/hooks/index.d.cts +4 -4
  62. package/dist/browser/hooks/index.d.cts.map +1 -1
  63. package/dist/browser/hooks/index.d.mts +4 -4
  64. package/dist/browser/hooks/index.d.mts.map +1 -1
  65. package/dist/browser/hooks/index.d.ts +4 -4
  66. package/dist/browser/hooks/index.d.ts.map +1 -1
  67. package/dist/browser/hooks/useGetSchema.d.cts.map +1 -1
  68. package/dist/browser/hooks/useGetSchema.d.mts.map +1 -1
  69. package/dist/browser/hooks/useGetSchema.d.ts.map +1 -1
  70. package/dist/browser/hooks/useSchemaDefinitions.d.cts.map +1 -1
  71. package/dist/browser/hooks/useSchemaDefinitions.d.mts.map +1 -1
  72. package/dist/browser/hooks/useSchemaDefinitions.d.ts.map +1 -1
  73. package/dist/browser/hooks/useSchemaList.d.cts.map +1 -1
  74. package/dist/browser/hooks/useSchemaList.d.mts.map +1 -1
  75. package/dist/browser/hooks/useSchemaList.d.ts.map +1 -1
  76. package/dist/browser/hooks/useSchemaStats.d.cts.map +1 -1
  77. package/dist/browser/hooks/useSchemaStats.d.mts.map +1 -1
  78. package/dist/browser/hooks/useSchemaStats.d.ts.map +1 -1
  79. package/dist/browser/index.cjs +301 -205
  80. package/dist/browser/index.cjs.map +1 -1
  81. package/dist/browser/index.d.cts +3 -3
  82. package/dist/browser/index.d.mts +3 -3
  83. package/dist/browser/index.d.ts +3 -3
  84. package/dist/browser/index.mjs +422 -0
  85. package/dist/browser/index.mjs.map +1 -0
  86. package/dist/neutral/components/Property/SchemaProperty.d.cts +6 -5
  87. package/dist/neutral/components/Property/SchemaProperty.d.cts.map +1 -1
  88. package/dist/neutral/components/Property/SchemaProperty.d.mts +6 -5
  89. package/dist/neutral/components/Property/SchemaProperty.d.mts.map +1 -1
  90. package/dist/neutral/components/Property/SchemaProperty.d.ts +6 -5
  91. package/dist/neutral/components/Property/SchemaProperty.d.ts.map +1 -1
  92. package/dist/neutral/components/Property/index.d.cts +1 -1
  93. package/dist/neutral/components/Property/index.d.cts.map +1 -1
  94. package/dist/neutral/components/Property/index.d.mts +1 -1
  95. package/dist/neutral/components/Property/index.d.mts.map +1 -1
  96. package/dist/neutral/components/Property/index.d.ts +1 -1
  97. package/dist/neutral/components/Property/index.d.ts.map +1 -1
  98. package/dist/neutral/components/SelectEx/SchemaSelectEx.d.cts +1 -0
  99. package/dist/neutral/components/SelectEx/SchemaSelectEx.d.cts.map +1 -1
  100. package/dist/neutral/components/SelectEx/SchemaSelectEx.d.mts +1 -0
  101. package/dist/neutral/components/SelectEx/SchemaSelectEx.d.mts.map +1 -1
  102. package/dist/neutral/components/SelectEx/SchemaSelectEx.d.ts +1 -0
  103. package/dist/neutral/components/SelectEx/SchemaSelectEx.d.ts.map +1 -1
  104. package/dist/neutral/components/SelectEx/index.d.cts +1 -1
  105. package/dist/neutral/components/SelectEx/index.d.cts.map +1 -1
  106. package/dist/neutral/components/SelectEx/index.d.mts +1 -1
  107. package/dist/neutral/components/SelectEx/index.d.mts.map +1 -1
  108. package/dist/neutral/components/SelectEx/index.d.ts +1 -1
  109. package/dist/neutral/components/SelectEx/index.d.ts.map +1 -1
  110. package/dist/neutral/components/index.d.cts +2 -2
  111. package/dist/neutral/components/index.d.mts +2 -2
  112. package/dist/neutral/components/index.d.ts +2 -2
  113. package/dist/neutral/contexts/Schema/Context.d.cts +1 -1
  114. package/dist/neutral/contexts/Schema/Context.d.mts +1 -1
  115. package/dist/neutral/contexts/Schema/Context.d.ts +1 -1
  116. package/dist/neutral/contexts/Schema/Provider/Memory.d.cts +2 -1
  117. package/dist/neutral/contexts/Schema/Provider/Memory.d.cts.map +1 -1
  118. package/dist/neutral/contexts/Schema/Provider/Memory.d.mts +2 -1
  119. package/dist/neutral/contexts/Schema/Provider/Memory.d.mts.map +1 -1
  120. package/dist/neutral/contexts/Schema/Provider/Memory.d.ts +2 -1
  121. package/dist/neutral/contexts/Schema/Provider/Memory.d.ts.map +1 -1
  122. package/dist/neutral/contexts/Schema/Provider/Props.d.cts.map +1 -1
  123. package/dist/neutral/contexts/Schema/Provider/Props.d.mts.map +1 -1
  124. package/dist/neutral/contexts/Schema/Provider/Props.d.ts.map +1 -1
  125. package/dist/neutral/contexts/Schema/Provider/Route.d.cts +2 -1
  126. package/dist/neutral/contexts/Schema/Provider/Route.d.cts.map +1 -1
  127. package/dist/neutral/contexts/Schema/Provider/Route.d.mts +2 -1
  128. package/dist/neutral/contexts/Schema/Provider/Route.d.mts.map +1 -1
  129. package/dist/neutral/contexts/Schema/Provider/Route.d.ts +2 -1
  130. package/dist/neutral/contexts/Schema/Provider/Route.d.ts.map +1 -1
  131. package/dist/neutral/contexts/Schema/Provider/index.d.cts +3 -3
  132. package/dist/neutral/contexts/Schema/Provider/index.d.cts.map +1 -1
  133. package/dist/neutral/contexts/Schema/Provider/index.d.mts +3 -3
  134. package/dist/neutral/contexts/Schema/Provider/index.d.mts.map +1 -1
  135. package/dist/neutral/contexts/Schema/Provider/index.d.ts +3 -3
  136. package/dist/neutral/contexts/Schema/Provider/index.d.ts.map +1 -1
  137. package/dist/neutral/contexts/Schema/index.d.cts +4 -4
  138. package/dist/neutral/contexts/Schema/index.d.mts +4 -4
  139. package/dist/neutral/contexts/Schema/index.d.ts +4 -4
  140. package/dist/neutral/contexts/Schema/use.d.cts +1 -1
  141. package/dist/neutral/contexts/Schema/use.d.mts +1 -1
  142. package/dist/neutral/contexts/Schema/use.d.ts +1 -1
  143. package/dist/neutral/contexts/index.d.cts +1 -1
  144. package/dist/neutral/contexts/index.d.mts +1 -1
  145. package/dist/neutral/contexts/index.d.ts +1 -1
  146. package/dist/neutral/hooks/index.d.cts +4 -4
  147. package/dist/neutral/hooks/index.d.cts.map +1 -1
  148. package/dist/neutral/hooks/index.d.mts +4 -4
  149. package/dist/neutral/hooks/index.d.mts.map +1 -1
  150. package/dist/neutral/hooks/index.d.ts +4 -4
  151. package/dist/neutral/hooks/index.d.ts.map +1 -1
  152. package/dist/neutral/hooks/useGetSchema.d.cts.map +1 -1
  153. package/dist/neutral/hooks/useGetSchema.d.mts.map +1 -1
  154. package/dist/neutral/hooks/useGetSchema.d.ts.map +1 -1
  155. package/dist/neutral/hooks/useSchemaDefinitions.d.cts.map +1 -1
  156. package/dist/neutral/hooks/useSchemaDefinitions.d.mts.map +1 -1
  157. package/dist/neutral/hooks/useSchemaDefinitions.d.ts.map +1 -1
  158. package/dist/neutral/hooks/useSchemaList.d.cts.map +1 -1
  159. package/dist/neutral/hooks/useSchemaList.d.mts.map +1 -1
  160. package/dist/neutral/hooks/useSchemaList.d.ts.map +1 -1
  161. package/dist/neutral/hooks/useSchemaStats.d.cts.map +1 -1
  162. package/dist/neutral/hooks/useSchemaStats.d.mts.map +1 -1
  163. package/dist/neutral/hooks/useSchemaStats.d.ts.map +1 -1
  164. package/dist/neutral/index.cjs +301 -205
  165. package/dist/neutral/index.cjs.map +1 -1
  166. package/dist/neutral/index.d.cts +3 -3
  167. package/dist/neutral/index.d.mts +3 -3
  168. package/dist/neutral/index.d.ts +3 -3
  169. package/dist/neutral/index.mjs +422 -0
  170. package/dist/neutral/index.mjs.map +1 -0
  171. package/dist/node/components/Property/SchemaProperty.d.cts +6 -5
  172. package/dist/node/components/Property/SchemaProperty.d.cts.map +1 -1
  173. package/dist/node/components/Property/SchemaProperty.d.mts +6 -5
  174. package/dist/node/components/Property/SchemaProperty.d.mts.map +1 -1
  175. package/dist/node/components/Property/SchemaProperty.d.ts +6 -5
  176. package/dist/node/components/Property/SchemaProperty.d.ts.map +1 -1
  177. package/dist/node/components/Property/index.d.cts +1 -1
  178. package/dist/node/components/Property/index.d.cts.map +1 -1
  179. package/dist/node/components/Property/index.d.mts +1 -1
  180. package/dist/node/components/Property/index.d.mts.map +1 -1
  181. package/dist/node/components/Property/index.d.ts +1 -1
  182. package/dist/node/components/Property/index.d.ts.map +1 -1
  183. package/dist/node/components/SelectEx/SchemaSelectEx.d.cts +1 -0
  184. package/dist/node/components/SelectEx/SchemaSelectEx.d.cts.map +1 -1
  185. package/dist/node/components/SelectEx/SchemaSelectEx.d.mts +1 -0
  186. package/dist/node/components/SelectEx/SchemaSelectEx.d.mts.map +1 -1
  187. package/dist/node/components/SelectEx/SchemaSelectEx.d.ts +1 -0
  188. package/dist/node/components/SelectEx/SchemaSelectEx.d.ts.map +1 -1
  189. package/dist/node/components/SelectEx/index.d.cts +1 -1
  190. package/dist/node/components/SelectEx/index.d.cts.map +1 -1
  191. package/dist/node/components/SelectEx/index.d.mts +1 -1
  192. package/dist/node/components/SelectEx/index.d.mts.map +1 -1
  193. package/dist/node/components/SelectEx/index.d.ts +1 -1
  194. package/dist/node/components/SelectEx/index.d.ts.map +1 -1
  195. package/dist/node/components/index.d.cts +2 -2
  196. package/dist/node/components/index.d.mts +2 -2
  197. package/dist/node/components/index.d.ts +2 -2
  198. package/dist/node/contexts/Schema/Context.d.cts +1 -1
  199. package/dist/node/contexts/Schema/Context.d.mts +1 -1
  200. package/dist/node/contexts/Schema/Context.d.ts +1 -1
  201. package/dist/node/contexts/Schema/Provider/Memory.d.cts +2 -1
  202. package/dist/node/contexts/Schema/Provider/Memory.d.cts.map +1 -1
  203. package/dist/node/contexts/Schema/Provider/Memory.d.mts +2 -1
  204. package/dist/node/contexts/Schema/Provider/Memory.d.mts.map +1 -1
  205. package/dist/node/contexts/Schema/Provider/Memory.d.ts +2 -1
  206. package/dist/node/contexts/Schema/Provider/Memory.d.ts.map +1 -1
  207. package/dist/node/contexts/Schema/Provider/Props.d.cts.map +1 -1
  208. package/dist/node/contexts/Schema/Provider/Props.d.mts.map +1 -1
  209. package/dist/node/contexts/Schema/Provider/Props.d.ts.map +1 -1
  210. package/dist/node/contexts/Schema/Provider/Route.d.cts +2 -1
  211. package/dist/node/contexts/Schema/Provider/Route.d.cts.map +1 -1
  212. package/dist/node/contexts/Schema/Provider/Route.d.mts +2 -1
  213. package/dist/node/contexts/Schema/Provider/Route.d.mts.map +1 -1
  214. package/dist/node/contexts/Schema/Provider/Route.d.ts +2 -1
  215. package/dist/node/contexts/Schema/Provider/Route.d.ts.map +1 -1
  216. package/dist/node/contexts/Schema/Provider/index.d.cts +3 -3
  217. package/dist/node/contexts/Schema/Provider/index.d.cts.map +1 -1
  218. package/dist/node/contexts/Schema/Provider/index.d.mts +3 -3
  219. package/dist/node/contexts/Schema/Provider/index.d.mts.map +1 -1
  220. package/dist/node/contexts/Schema/Provider/index.d.ts +3 -3
  221. package/dist/node/contexts/Schema/Provider/index.d.ts.map +1 -1
  222. package/dist/node/contexts/Schema/index.d.cts +4 -4
  223. package/dist/node/contexts/Schema/index.d.mts +4 -4
  224. package/dist/node/contexts/Schema/index.d.ts +4 -4
  225. package/dist/node/contexts/Schema/use.d.cts +1 -1
  226. package/dist/node/contexts/Schema/use.d.mts +1 -1
  227. package/dist/node/contexts/Schema/use.d.ts +1 -1
  228. package/dist/node/contexts/index.d.cts +1 -1
  229. package/dist/node/contexts/index.d.mts +1 -1
  230. package/dist/node/contexts/index.d.ts +1 -1
  231. package/dist/node/hooks/index.d.cts +4 -4
  232. package/dist/node/hooks/index.d.cts.map +1 -1
  233. package/dist/node/hooks/index.d.mts +4 -4
  234. package/dist/node/hooks/index.d.mts.map +1 -1
  235. package/dist/node/hooks/index.d.ts +4 -4
  236. package/dist/node/hooks/index.d.ts.map +1 -1
  237. package/dist/node/hooks/useGetSchema.d.cts.map +1 -1
  238. package/dist/node/hooks/useGetSchema.d.mts.map +1 -1
  239. package/dist/node/hooks/useGetSchema.d.ts.map +1 -1
  240. package/dist/node/hooks/useSchemaDefinitions.d.cts.map +1 -1
  241. package/dist/node/hooks/useSchemaDefinitions.d.mts.map +1 -1
  242. package/dist/node/hooks/useSchemaDefinitions.d.ts.map +1 -1
  243. package/dist/node/hooks/useSchemaList.d.cts.map +1 -1
  244. package/dist/node/hooks/useSchemaList.d.mts.map +1 -1
  245. package/dist/node/hooks/useSchemaList.d.ts.map +1 -1
  246. package/dist/node/hooks/useSchemaStats.d.cts.map +1 -1
  247. package/dist/node/hooks/useSchemaStats.d.mts.map +1 -1
  248. package/dist/node/hooks/useSchemaStats.d.ts.map +1 -1
  249. package/dist/node/index.cjs +305 -209
  250. package/dist/node/index.cjs.map +1 -1
  251. package/dist/node/index.d.cts +3 -3
  252. package/dist/node/index.d.mts +3 -3
  253. package/dist/node/index.d.ts +3 -3
  254. package/dist/node/index.mjs +426 -0
  255. package/dist/node/index.mjs.map +1 -0
  256. package/package.json +33 -33
  257. package/src/components/Property/SchemaProperty.stories.tsx +2 -2
  258. package/src/components/Property/SchemaProperty.tsx +40 -29
  259. package/src/components/Property/index.ts +1 -1
  260. package/src/components/SelectEx/SchemaSelectEx.tsx +2 -1
  261. package/src/components/SelectEx/index.ts +1 -1
  262. package/src/components/index.ts +2 -2
  263. package/src/contexts/Schema/Context.ts +1 -1
  264. package/src/contexts/Schema/Provider/Memory.tsx +8 -6
  265. package/src/contexts/Schema/Provider/Route.tsx +13 -11
  266. package/src/contexts/Schema/Provider/index.ts +3 -3
  267. package/src/contexts/Schema/index.ts +4 -4
  268. package/src/contexts/Schema/use.ts +2 -2
  269. package/src/contexts/index.ts +1 -1
  270. package/src/hooks/index.ts +4 -4
  271. package/src/hooks/stories/TestSchemaHooks.stories.tsx +12 -14
  272. package/src/hooks/useGetSchema.stories.tsx +3 -4
  273. package/src/hooks/useGetSchema.tsx +0 -1
  274. package/src/hooks/useSchemaDefinitions.tsx +2 -3
  275. package/src/hooks/useSchemaList.tsx +8 -9
  276. package/src/hooks/useSchemaStats.tsx +1 -2
  277. package/src/index.ts +3 -3
  278. package/dist/browser/index.js +0 -337
  279. package/dist/browser/index.js.map +0 -1
  280. package/dist/neutral/index.js +0 -337
  281. package/dist/neutral/index.js.map +0 -1
  282. package/dist/node/index.js +0 -341
  283. package/dist/node/index.js.map +0 -1
  284. /package/src/contexts/Schema/Provider/{Props.tsx → Props.ts} +0 -0
@@ -1,341 +0,0 @@
1
- // src/components/Property/SchemaProperty.tsx
2
- import { NewReleases as NewReleasesIcon, OpenInNew as OpenInNewIcon, Verified as VerifiedIcon } from "@mui/icons-material";
3
- import { IconButton } from "@mui/material";
4
- import { useAsyncEffect } from "@xylabs/react-async-effect";
5
- import { LinkEx } from "@xylabs/react-link";
6
- import { useEvent } from "@xyo-network/react-event";
7
- import { Property, PropertyValue } from "@xyo-network/react-property";
8
- import { SchemaCache } from "@xyo-network/schema-cache";
9
- import { forwardRef, useState } from "react";
10
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
- var useResolveSchema = (schema) => {
12
- const [entry, setEntry] = useState();
13
- useAsyncEffect(
14
- // eslint-disable-next-line react-hooks/exhaustive-deps
15
- async (mounted) => {
16
- if (schema) {
17
- const entry2 = await SchemaCache.instance.get(schema);
18
- if (mounted()) {
19
- setEntry(entry2);
20
- }
21
- }
22
- },
23
- [schema]
24
- );
25
- return entry;
26
- };
27
- var SchemaProperty = forwardRef(
28
- ({ showLinkNames = true, showOpenNewWindowLink = true, showStatusIcon = true, titleProps, value, ...props }, forwardedRef) => {
29
- var _a;
30
- const resolvedSchema = useResolveSchema(value);
31
- const [buttonRef, buttonDispatch] = useEvent();
32
- const [divRef, divDispatch] = useEvent();
33
- const onClick = (dispatch, openNewWindow = false) => {
34
- dispatch == null ? void 0 : dispatch(
35
- "schema",
36
- "click",
37
- JSON.stringify({
38
- openNewWindow,
39
- schema: value
40
- })
41
- );
42
- };
43
- return /* @__PURE__ */ jsxs(Property, { ref: forwardedRef, title: "Schema", value, tip: "Schema sent with the payload", titleProps, ...props, children: [
44
- value && showStatusIcon ? resolvedSchema === null ? /* @__PURE__ */ jsx(IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch), children: /* @__PURE__ */ jsx(NewReleasesIcon, { color: "warning", fontSize: "inherit" }) }) : resolvedSchema === void 0 ? /* @__PURE__ */ jsx(IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch), children: /* @__PURE__ */ jsx(NewReleasesIcon, { color: "disabled", fontSize: "inherit" }) }) : /* @__PURE__ */ jsx(IconButton, { rel: "noopener noreferrer", size: "small", target: "_blank", href: ((_a = resolvedSchema == null ? void 0 : resolvedSchema.huri) == null ? void 0 : _a.href) ?? "", children: /* @__PURE__ */ jsx(VerifiedIcon, { color: "success", fontSize: "inherit" }) }) : null,
45
- value ? /* @__PURE__ */ jsxs(Fragment, { children: [
46
- showLinkNames ? /* @__PURE__ */ jsx(LinkEx, { display: "block", width: "100%", sx: { cursor: "pointer" }, children: /* @__PURE__ */ jsx(PropertyValue, { ref: divRef, value, title: "view schema", onClick: () => onClick(divDispatch) }) }) : /* @__PURE__ */ jsx(PropertyValue, { ref: divRef, value, title: "view schema", onClick: () => onClick(divDispatch) }),
47
- showOpenNewWindowLink ? /* @__PURE__ */ jsx(IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch, true), children: /* @__PURE__ */ jsx(OpenInNewIcon, { fontSize: "inherit" }) }) : null
48
- ] }) : null
49
- ] });
50
- }
51
- );
52
- SchemaProperty.displayName = "SchemaProperty";
53
-
54
- // src/components/SelectEx/SchemaSelectEx.tsx
55
- import { MenuItem, Typography } from "@mui/material";
56
- import { SelectEx } from "@xylabs/react-select";
57
-
58
- // src/contexts/Schema/Context.ts
59
- import { createContextEx } from "@xyo-network/react-shared";
60
- var SchemaContext = createContextEx();
61
-
62
- // src/contexts/Schema/Provider/Memory.tsx
63
- import { compact } from "@xylabs/lodash";
64
- import { useEffect as useEffect2, useState as useState6 } from "react";
65
-
66
- // src/hooks/useGetSchema.tsx
67
- import { useAsyncEffect as useAsyncEffect2 } from "@xylabs/react-async-effect";
68
- import { PayloadBuilder } from "@xyo-network/payload-builder";
69
- import { ModuleErrorSchema } from "@xyo-network/payload-model";
70
- import { SchemaCache as SchemaCache2 } from "@xyo-network/schema-cache";
71
- import { useState as useState2 } from "react";
72
- var useGetSchemaPayload = (schema) => {
73
- const [notFound, setNotFound] = useState2(false);
74
- const [xyoError, setError] = useState2();
75
- const [schemaCacheEntry, setSchemaCacheEntry] = useState2();
76
- const [schemaLocal, setSchemaLocal] = useState2();
77
- useAsyncEffect2(
78
- // eslint-disable-next-line react-hooks/exhaustive-deps
79
- async (mounted) => {
80
- const firstRequest = !notFound && !schemaCacheEntry && !xyoError;
81
- const schemaChanged = schema !== schemaLocal;
82
- if (schema && firstRequest || schema && schemaChanged) {
83
- try {
84
- const schemaCacheEntry2 = await SchemaCache2.instance.get(schema);
85
- if (mounted()) {
86
- setSchemaCacheEntry(schemaCacheEntry2);
87
- setNotFound(schemaCacheEntry2 === null || schemaCacheEntry2 === void 0);
88
- }
89
- } catch (e) {
90
- const error = e;
91
- console.error(e);
92
- if (mounted()) {
93
- setError({ message: error.message, schema: ModuleErrorSchema, sources: [] });
94
- }
95
- }
96
- }
97
- if (schemaChanged) {
98
- setSchemaLocal(schema);
99
- }
100
- },
101
- [xyoError, notFound, schema, schemaLocal, schemaCacheEntry]
102
- );
103
- return {
104
- notFound,
105
- schemaHuri: schemaCacheEntry == null ? void 0 : schemaCacheEntry.huri,
106
- schemaPayload: schemaCacheEntry ? new PayloadBuilder(schemaCacheEntry == null ? void 0 : schemaCacheEntry.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,
107
- xyoError
108
- };
109
- };
110
-
111
- // src/hooks/useSchemaDefinitions.tsx
112
- import { useAsyncEffect as useAsyncEffect3 } from "@xylabs/react-async-effect";
113
- import { SchemaCache as SchemaCache3 } from "@xyo-network/schema-cache";
114
- import { useState as useState3 } from "react";
115
- var useSchemaDefinitions = (schemaList) => {
116
- const [schemaPayloads, setSchemaPayloads] = useState3();
117
- useAsyncEffect3(
118
- // eslint-disable-next-line react-hooks/exhaustive-deps
119
- async (mounted) => {
120
- if (schemaList) {
121
- const promiseResults = await Promise.allSettled(schemaList == null ? void 0 : schemaList.map(({ name }) => SchemaCache3.instance.get(name)));
122
- if (mounted()) {
123
- setSchemaPayloads(
124
- promiseResults.map((result) => {
125
- var _a;
126
- return result.status === "fulfilled" ? (_a = result.value) == null ? void 0 : _a.payload : void 0;
127
- }).filter((item) => item !== void 0 && item !== null)
128
- );
129
- }
130
- }
131
- },
132
- [schemaList]
133
- );
134
- return schemaPayloads;
135
- };
136
-
137
- // src/hooks/useSchemaList.tsx
138
- import { useAsyncEffect as useAsyncEffect4 } from "@xylabs/react-async-effect";
139
- import { SchemaListQuerySchema } from "@xyo-network/diviner-schema-list-model";
140
- import { useWeakDivinerFromNode } from "@xyo-network/react-diviner";
141
- import { useEffect, useMemo, useState as useState4 } from "react";
142
- var useSchemaList = (address, nameOrAddress = "SchemaListDiviner") => {
143
- const [schemaList, setSchemaList] = useState4();
144
- const [error, setError] = useState4();
145
- const [diviner, divinerError] = useWeakDivinerFromNode(nameOrAddress);
146
- const query = useMemo(
147
- () => address ? [
148
- {
149
- address,
150
- schema: SchemaListQuerySchema
151
- }
152
- ] : void 0,
153
- [address]
154
- );
155
- useEffect(() => {
156
- if (diviner === null) {
157
- setSchemaList(null);
158
- setError(void 0);
159
- }
160
- }, [diviner]);
161
- useAsyncEffect4(
162
- // eslint-disable-next-line react-hooks/exhaustive-deps, require-await
163
- async (mounted) => {
164
- const divinerInstance = diviner == null ? void 0 : diviner.deref();
165
- if (divinerInstance) {
166
- try {
167
- const response = await divinerInstance.divine(query);
168
- if (mounted()) {
169
- setSchemaList(response == null ? void 0 : response[0]);
170
- setError(void 0);
171
- }
172
- } catch (e) {
173
- setError(e);
174
- setSchemaList(void 0);
175
- }
176
- }
177
- },
178
- [diviner, divinerError, query]
179
- );
180
- return [schemaList, error];
181
- };
182
-
183
- // src/hooks/useSchemaStats.tsx
184
- import { useAsyncEffect as useAsyncEffect5 } from "@xylabs/react-async-effect";
185
- import {
186
- SchemaStatsDivinerSchema,
187
- SchemaStatsQuerySchema
188
- } from "@xyo-network/diviner-schema-stats-model";
189
- import { TYPES } from "@xyo-network/node-core-types";
190
- import { isPayloadOfSchemaTypeWithMeta } from "@xyo-network/payload-model";
191
- import { useWeakDivinerFromNode as useWeakDivinerFromNode2 } from "@xyo-network/react-diviner";
192
- import { useMemo as useMemo2, useState as useState5 } from "react";
193
- var useSchemaStats = (statsAddress, nameOrAddress = TYPES.SchemaStatsDiviner) => {
194
- const [refresh, setRefresh] = useState5(1);
195
- const [diviner, divinerError] = useWeakDivinerFromNode2(nameOrAddress);
196
- const [error, setError] = useState5();
197
- const refreshHistory = () => setRefresh((previous) => previous + 1);
198
- const [schemaList, setSchemaList] = useState5();
199
- const query = useMemo2(
200
- () => ({
201
- address: statsAddress,
202
- schema: SchemaStatsQuerySchema
203
- }),
204
- [statsAddress]
205
- );
206
- useAsyncEffect5(
207
- // eslint-disable-next-line react-hooks/exhaustive-deps
208
- async (mounted) => {
209
- const instance = diviner == null ? void 0 : diviner.deref();
210
- if (instance) {
211
- if (divinerError) {
212
- if (mounted()) {
213
- setError(divinerError);
214
- setSchemaList(void 0);
215
- }
216
- } else {
217
- try {
218
- const schemas = (await instance.divine([query])).filter(isPayloadOfSchemaTypeWithMeta(SchemaStatsDivinerSchema));
219
- if (mounted()) {
220
- setSchemaList(schemas);
221
- setError(void 0);
222
- }
223
- } catch (ex) {
224
- setError(ex);
225
- setSchemaList(void 0);
226
- }
227
- }
228
- }
229
- },
230
- [diviner, refresh, divinerError, query]
231
- );
232
- return [schemaList, error, refreshHistory];
233
- };
234
-
235
- // src/contexts/Schema/Provider/Memory.tsx
236
- import { jsx as jsx2 } from "react/jsx-runtime";
237
- var SchemaMemoryProvider = ({ defaultSchema, knownSchemaList = [], ...props }) => {
238
- const [schema, setSchema] = useState6(defaultSchema);
239
- const [schemaList, setSchemaList] = useState6(knownSchemaList);
240
- const [fetchedSchemaStats] = useSchemaStats();
241
- useEffect2(() => {
242
- if (fetchedSchemaStats) {
243
- const schemaList2 = compact(fetchedSchemaStats.map(({ name }) => name));
244
- setSchemaList(schemaList2);
245
- }
246
- }, [fetchedSchemaStats]);
247
- return /* @__PURE__ */ jsx2(SchemaContext.Provider, { value: { provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }, ...props });
248
- };
249
-
250
- // src/contexts/Schema/Provider/Route.tsx
251
- import { useCallback, useEffect as useEffect3 } from "react";
252
- import { useSearchParams } from "react-router-dom";
253
-
254
- // src/contexts/Schema/use.ts
255
- import { useContextEx } from "@xyo-network/react-shared";
256
- var useSchema = (required = false) => {
257
- return useContextEx(SchemaContext, "Schema", required);
258
- };
259
-
260
- // src/contexts/Schema/Provider/Route.tsx
261
- import { jsx as jsx3 } from "react/jsx-runtime";
262
- var SchemaRouteProviderInner = ({ children }) => {
263
- const { schema, setSchema, schemaList } = useSchema();
264
- const [params, setParams] = useSearchParams();
265
- const routeSchema = params.get("schema");
266
- const setSchemaParam = useCallback(
267
- (schema2) => {
268
- if (schema2) {
269
- params.set("schema", schema2);
270
- setParams(params, { replace: true });
271
- setSchema == null ? void 0 : setSchema(schema2);
272
- } else {
273
- params.delete("network");
274
- }
275
- },
276
- [params, setParams, setSchema]
277
- );
278
- const setSchemaLocal = useCallback(
279
- (schema2) => {
280
- setSchemaParam(schema2);
281
- setSchema == null ? void 0 : setSchema(schema2);
282
- },
283
- [setSchemaParam, setSchema]
284
- );
285
- useEffect3(() => {
286
- if (routeSchema !== schema) {
287
- if (routeSchema === void 0 && schema !== void 0) {
288
- setSchemaLocal(schema);
289
- } else if (routeSchema) {
290
- setSchema == null ? void 0 : setSchema(routeSchema);
291
- }
292
- }
293
- }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
294
- return /* @__PURE__ */ jsx3(SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
295
- };
296
- var SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
297
- return /* @__PURE__ */ jsx3(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ jsx3(SchemaRouteProviderInner, { ...props }) });
298
- };
299
-
300
- // src/components/SelectEx/SchemaSelectEx.tsx
301
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
302
- var SchemaSelectEx = ({ onChange, variant = "outlined", ...props }) => {
303
- const { schema, setSchema, schemaList } = useSchema(false);
304
- return /* @__PURE__ */ jsxs2(
305
- SelectEx,
306
- {
307
- variant,
308
- size: "small",
309
- value: schema ?? "none",
310
- onChange: (event, child) => {
311
- if (event.target.value !== schema) {
312
- onChange == null ? void 0 : onChange(event, child);
313
- setSchema == null ? void 0 : setSchema(event.target.value);
314
- }
315
- },
316
- renderValue: (value) => {
317
- return /* @__PURE__ */ jsx4(Typography, { children: value === "none" ? "- None -" : value });
318
- },
319
- ...props,
320
- children: [
321
- schemaList == null ? void 0 : schemaList.map((schema2, index) => {
322
- return /* @__PURE__ */ jsx4(MenuItem, { value: schema2, children: schema2 }, index);
323
- }),
324
- /* @__PURE__ */ jsx4(MenuItem, { value: "none", children: "- None -" }, "none")
325
- ]
326
- }
327
- );
328
- };
329
- export {
330
- SchemaContext,
331
- SchemaMemoryProvider,
332
- SchemaProperty,
333
- SchemaRouteProvider,
334
- SchemaSelectEx,
335
- useGetSchemaPayload,
336
- useSchema,
337
- useSchemaDefinitions,
338
- useSchemaList,
339
- useSchemaStats
340
- };
341
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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 { NewReleases as NewReleasesIcon, OpenInNew as OpenInNewIcon, Verified as VerifiedIcon } from '@mui/icons-material'\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>()\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 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 : <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 : <PropertyValue ref={divRef} value={value} title=\"view schema\" onClick={() => onClick(divDispatch)} />}\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/index.js'\n\nexport type SchemaSelectExProps = SelectExProps<string>\n\nexport const SchemaSelectEx: React.FC<SchemaSelectExProps> = ({ onChange, variant = 'outlined', ...props }) => {\n const { schema, setSchema, schemaList } = 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 '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State.js'\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/index.js'\nimport { SchemaContext } from '../Context.js'\nimport { SchemaProviderProps } from './Props.js'\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:\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 { 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 { Address } from '@xylabs/hex'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaListPayload, SchemaListQueryPayload, SchemaListQuerySchema } from '@xyo-network/diviner-schema-list-model'\nimport { WithMeta } from '@xyo-network/payload-model'\nimport { useWeakDivinerFromNode } from '@xyo-network/react-diviner'\nimport { useEffect, useMemo, useState } from 'react'\n\nexport const useSchemaList = (address?: Address, nameOrAddress = 'SchemaListDiviner'): [SchemaListPayload | null | undefined, Error | undefined] => {\n const [schemaList, setSchemaList] = useState<SchemaListPayload | null>()\n const [error, setError] = useState<Error>()\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 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 const divinerInstance = diviner?.deref()\n if (divinerInstance) {\n try {\n const response = (await divinerInstance.divine(query)) as WithMeta<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 { Address } from '@xylabs/hex'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport {\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n SchemaStatsQuerySchema,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { TYPES } from '@xyo-network/node-core-types'\nimport { isPayloadOfSchemaTypeWithMeta, WithMeta, WithSources } from '@xyo-network/payload-model'\nimport { useWeakDivinerFromNode } from '@xyo-network/react-diviner'\nimport { Dispatch, SetStateAction, 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<WithMeta<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 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(isPayloadOfSchemaTypeWithMeta(SchemaStatsDivinerSchema)) as WithSources<\n WithMeta<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 { WithChildren } from '@xylabs/react-shared'\nimport { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { SchemaContext } from '../Context.js'\nimport { useSchema } from '../use.js'\nimport { SchemaMemoryProvider } from './Memory.js'\nimport { SchemaProviderProps } from './Props.js'\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.js'\nimport { SchemaContextState } from './State.js'\n\nexport const useSchema = (required = false) => {\n return useContextEx<SchemaContextState>(SchemaContext, 'Schema', required)\n}\n"],"mappings":"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","names":["entry","useEffect","useState","useAsyncEffect","SchemaCache","useState","schemaCacheEntry","useAsyncEffect","SchemaCache","useState","useAsyncEffect","useState","useAsyncEffect","useWeakDivinerFromNode","useMemo","useState","jsx","useState","useEffect","schemaList","useEffect","jsx","schema","useEffect","jsx","jsxs","schema"]}