@xyo-network/react-payload-plugin-resolver 6.2.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,59 +1,68 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/contexts/PayloadPluginResolver/Context.ts
5
2
  import { createContextEx } from "@xylabs/react-shared";
6
3
  var PayloadPluginResolverContext = createContextEx();
7
4
 
8
5
  // src/contexts/PayloadPluginResolver/Provider.tsx
9
- import React, { useMemo, useState } from "react";
10
- var PayloadPluginResolverProvider = /* @__PURE__ */ __name(({ resolver: resolverProp, required = false, children }) => {
6
+ import { useMemo, useState } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ var PayloadPluginResolverProvider = ({
9
+ resolver: resolverProp,
10
+ required = false,
11
+ children
12
+ }) => {
11
13
  const [resolver, setResolver] = useState(resolverProp);
12
14
  const value = useMemo(() => ({
13
15
  provided: true,
14
16
  resolver,
15
17
  setResolver
16
- }), [
17
- resolver,
18
- setResolver
19
- ]);
20
- return /* @__PURE__ */ React.createElement(PayloadPluginResolverContext, {
21
- value
22
- }, resolver ? children : required ? null : children);
23
- }, "PayloadPluginResolverProvider");
18
+ }), [resolver, setResolver]);
19
+ return /* @__PURE__ */ jsx(
20
+ PayloadPluginResolverContext,
21
+ {
22
+ value,
23
+ children: resolver ? children : required ? null : children
24
+ }
25
+ );
26
+ };
24
27
 
25
28
  // src/contexts/PayloadPluginResolver/use.ts
26
29
  import { useContextEx } from "@xylabs/react-shared";
27
- var usePayloadPluginResolver = /* @__PURE__ */ __name((required = false) => {
30
+ var usePayloadPluginResolver = (required = false) => {
28
31
  return useContextEx(PayloadPluginResolverContext, "PayloadPluginResolver", required);
29
- }, "usePayloadPluginResolver");
32
+ };
30
33
 
31
34
  // src/contexts/PayloadRenderPluginResolver/Context.ts
32
35
  import { createContextEx as createContextEx2 } from "@xylabs/react-shared";
33
36
  var PayloadRenderPluginResolverContext = createContextEx2();
34
37
 
35
38
  // src/contexts/PayloadRenderPluginResolver/Provider.tsx
36
- import React2, { useMemo as useMemo2, useState as useState2 } from "react";
37
- var PayloadRenderPluginResolverProvider = /* @__PURE__ */ __name(({ resolver: resolverProp, required = false, children }) => {
39
+ import { useMemo as useMemo2, useState as useState2 } from "react";
40
+ import { jsx as jsx2 } from "react/jsx-runtime";
41
+ var PayloadRenderPluginResolverProvider = ({
42
+ resolver: resolverProp,
43
+ required = false,
44
+ children
45
+ }) => {
38
46
  const [resolver, setResolver] = useState2(resolverProp);
39
47
  const value = useMemo2(() => ({
40
48
  resolver,
41
49
  provided: true,
42
50
  setResolver
43
- }), [
44
- resolver,
45
- setResolver
46
- ]);
47
- return /* @__PURE__ */ React2.createElement(PayloadRenderPluginResolverContext, {
48
- value
49
- }, resolver ? children : required ? null : children);
50
- }, "PayloadRenderPluginResolverProvider");
51
+ }), [resolver, setResolver]);
52
+ return /* @__PURE__ */ jsx2(
53
+ PayloadRenderPluginResolverContext,
54
+ {
55
+ value,
56
+ children: resolver ? children : required ? null : children
57
+ }
58
+ );
59
+ };
51
60
 
52
61
  // src/contexts/PayloadRenderPluginResolver/use.ts
53
62
  import { useContextEx as useContextEx2 } from "@xylabs/react-shared";
54
- var usePayloadRenderPluginResolver = /* @__PURE__ */ __name((required = false) => {
63
+ var usePayloadRenderPluginResolver = (required = false) => {
55
64
  return useContextEx2(PayloadRenderPluginResolverContext, "PayloadRenderPluginResolver", required);
56
- }, "usePayloadRenderPluginResolver");
65
+ };
57
66
 
58
67
  // src/contexts/PayloadSetPluginResolver/Context.ts
59
68
  import { createContextEx as createContextEx3 } from "@xylabs/react-shared";
@@ -61,31 +70,35 @@ var PayloadSetPluginResolverContext = createContextEx3();
61
70
 
62
71
  // src/contexts/PayloadSetPluginResolver/Provider.tsx
63
72
  import { useResetState } from "@xylabs/react-hooks";
64
- import React3 from "react";
65
- var PayloadSetPluginResolverProvider = /* @__PURE__ */ __name(({ resolver: resolverProp, required = false, children }) => {
73
+ import { jsx as jsx3 } from "react/jsx-runtime";
74
+ var PayloadSetPluginResolverProvider = ({
75
+ resolver: resolverProp,
76
+ required = false,
77
+ children
78
+ }) => {
66
79
  const [resolver, setResolver] = useResetState(resolverProp);
67
- return /* @__PURE__ */ React3.createElement(PayloadSetPluginResolverContext, {
68
- // eslint-disable-next-line @eslint-react/no-unstable-context-value
69
- value: {
70
- provided: true,
71
- resolver,
72
- setResolver
80
+ return /* @__PURE__ */ jsx3(
81
+ PayloadSetPluginResolverContext,
82
+ {
83
+ value: {
84
+ provided: true,
85
+ resolver,
86
+ setResolver
87
+ },
88
+ children: resolver ? children : required ? null : children
73
89
  }
74
- }, resolver ? children : required ? null : children);
75
- }, "PayloadSetPluginResolverProvider");
90
+ );
91
+ };
76
92
 
77
93
  // src/contexts/PayloadSetPluginResolver/use.ts
78
94
  import { useContextEx as useContextEx3 } from "@xylabs/react-shared";
79
- var usePayloadSetPluginResolver = /* @__PURE__ */ __name((required = false) => {
95
+ var usePayloadSetPluginResolver = (required = false) => {
80
96
  return useContextEx3(PayloadSetPluginResolverContext, "PayloadSetPluginResolver", required);
81
- }, "usePayloadSetPluginResolver");
97
+ };
82
98
 
83
99
  // src/PayloadRenderPluginResolver.ts
84
100
  import { assertEx } from "@xylabs/assert";
85
101
  var PayloadRenderPluginResolver = class {
86
- static {
87
- __name(this, "PayloadRenderPluginResolver");
88
- }
89
102
  plugins = [];
90
103
  schemaDefaultPlugin = /* @__PURE__ */ new Map();
91
104
  list(payload) {
@@ -93,9 +106,7 @@ var PayloadRenderPluginResolver = class {
93
106
  return this.plugins;
94
107
  }
95
108
  const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema);
96
- const result = defaultPlugin ? [
97
- defaultPlugin
98
- ] : [];
109
+ const result = defaultPlugin ? [defaultPlugin] : [];
99
110
  for (const plugin of this.plugins) {
100
111
  if (defaultPlugin !== plugin && plugin.canRender(payload)) {
101
112
  result.push(plugin);
@@ -105,18 +116,15 @@ var PayloadRenderPluginResolver = class {
105
116
  }
106
117
  register(plugin, defaultForSchema) {
107
118
  this.plugins.push(plugin);
108
- if (defaultForSchema) for (const schema of defaultForSchema) {
109
- assertEx(plugin.canRender({
110
- schema
111
- }), () => "Default renderer must be able to render schema");
112
- this.schemaDefaultPlugin.set(schema, plugin);
113
- }
119
+ if (defaultForSchema)
120
+ for (const schema of defaultForSchema) {
121
+ assertEx(plugin.canRender({ schema }), () => "Default renderer must be able to render schema");
122
+ this.schemaDefaultPlugin.set(schema, plugin);
123
+ }
114
124
  return this;
115
125
  }
116
126
  resolve(payload) {
117
- return this.schemaDefaultPlugin.get(payload.schema) ?? [
118
- ...this.plugins.values()
119
- ].find((plugin) => plugin.canRender(payload));
127
+ return this.schemaDefaultPlugin.get(payload.schema) ?? [...this.plugins.values()].find((plugin) => plugin.canRender(payload));
120
128
  }
121
129
  };
122
130
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/contexts/PayloadPluginResolver/Context.ts","../../src/contexts/PayloadPluginResolver/Provider.tsx","../../src/contexts/PayloadPluginResolver/use.ts","../../src/contexts/PayloadRenderPluginResolver/Context.ts","../../src/contexts/PayloadRenderPluginResolver/Provider.tsx","../../src/contexts/PayloadRenderPluginResolver/use.ts","../../src/contexts/PayloadSetPluginResolver/Context.ts","../../src/contexts/PayloadSetPluginResolver/Provider.tsx","../../src/contexts/PayloadSetPluginResolver/use.ts","../../src/PayloadRenderPluginResolver.ts"],"sourcesContent":["import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadPluginResolverState } from './State.ts'\n\nconst PayloadPluginResolverContext = createContextEx<PayloadPluginResolverState>()\n\nexport { PayloadPluginResolverContext }\n","import type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { PayloadPluginResolver } from '@xyo-network/payload-plugin'\nimport React, { useMemo, useState } from 'react'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\nimport type { PayloadPluginResolverState } from './State.ts'\n\nexport type PayloadPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadPluginResolver\n}>\n\nexport const PayloadPluginResolverProvider: React.FC<PayloadPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useState<PayloadPluginResolver>(resolverProp)\n\n const value: PayloadPluginResolverState = useMemo(() => ({\n provided: true, resolver, setResolver,\n }), [resolver, setResolver])\n\n return (\n <PayloadPluginResolverContext\n value={value}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\n\nexport const usePayloadPluginResolver = (required = false) => {\n return useContextEx(PayloadPluginResolverContext, 'PayloadPluginResolver', required)\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\nconst PayloadRenderPluginResolverContext = createContextEx<PayloadRenderPluginResolverState>()\n\nexport { PayloadRenderPluginResolverContext }\n","import type { ContextExProviderProps } from '@xylabs/react-shared'\nimport React, { useMemo, useState } from 'react'\n\nimport type { PayloadRenderPluginResolver } from '../../PayloadRenderPluginResolver.ts'\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\nexport type PayloadRenderPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadRenderPluginResolver\n}>\n\nexport const PayloadRenderPluginResolverProvider: React.FC<PayloadRenderPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useState<PayloadRenderPluginResolver>(resolverProp)\n\n const value: PayloadRenderPluginResolverState = useMemo(() => ({\n resolver, provided: true, setResolver,\n }), [resolver, setResolver])\n\n return (\n <PayloadRenderPluginResolverContext\n value={value}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadRenderPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\n\nexport const usePayloadRenderPluginResolver = (required = false) => {\n return useContextEx(PayloadRenderPluginResolverContext, 'PayloadRenderPluginResolver', required)\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadSetPluginResolverState } from './State.ts'\n\nconst PayloadSetPluginResolverContext = createContextEx<PayloadSetPluginResolverState>()\n\nexport { PayloadSetPluginResolverContext }\n","import { useResetState } from '@xylabs/react-hooks'\nimport type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport React from 'react'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\nexport type PayloadSetPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadSetPluginResolver\n}>\n\nexport const PayloadSetPluginResolverProvider: React.FC<PayloadSetPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useResetState<PayloadSetPluginResolver>(resolverProp)\n\n return (\n <PayloadSetPluginResolverContext\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadSetPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\nexport const usePayloadSetPluginResolver = (required = false) => {\n return useContextEx(PayloadSetPluginResolverContext, 'PayloadSetPluginResolver', required)\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nexport class PayloadRenderPluginResolver {\n protected plugins: PayloadRenderPlugin[] = []\n protected schemaDefaultPlugin = new Map<string, PayloadRenderPlugin>()\n\n list(payload?: Payload) {\n if (!payload) {\n return this.plugins\n }\n const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema)\n const result = defaultPlugin ? [defaultPlugin] : []\n for (const plugin of this.plugins) {\n if (defaultPlugin !== plugin && plugin.canRender(payload)) {\n result.push(plugin)\n }\n }\n return result\n }\n\n register(plugin: PayloadRenderPlugin, defaultForSchema?: string[]) {\n this.plugins.push(plugin)\n if (defaultForSchema)\n for (const schema of defaultForSchema) {\n assertEx(plugin.canRender({ schema }), () => 'Default renderer must be able to render schema')\n this.schemaDefaultPlugin.set(schema, plugin)\n }\n return this\n }\n\n resolve(payload: Payload) {\n return this.schemaDefaultPlugin.get(payload.schema) ?? [...this.plugins.values()].find(plugin => plugin.canRender(payload))\n }\n}\n"],"mappings":"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","names":["createContextEx","PayloadPluginResolverContext","React","useMemo","useState","PayloadPluginResolverProvider","resolver","resolverProp","required","children","setResolver","useState","value","useMemo","provided","PayloadPluginResolverContext","useContextEx","usePayloadPluginResolver","required","useContextEx","PayloadPluginResolverContext","createContextEx","PayloadRenderPluginResolverContext","React","useMemo","useState","PayloadRenderPluginResolverProvider","resolver","resolverProp","required","children","setResolver","useState","value","useMemo","provided","React","PayloadRenderPluginResolverContext","useContextEx","usePayloadRenderPluginResolver","required","useContextEx","PayloadRenderPluginResolverContext","createContextEx","PayloadSetPluginResolverContext","useResetState","React","PayloadSetPluginResolverProvider","resolver","resolverProp","required","children","setResolver","useResetState","React","PayloadSetPluginResolverContext","value","provided","useContextEx","usePayloadSetPluginResolver","required","useContextEx","PayloadSetPluginResolverContext","assertEx","PayloadRenderPluginResolver","plugins","schemaDefaultPlugin","Map","list","payload","defaultPlugin","get","schema","result","plugin","canRender","push","register","defaultForSchema","assertEx","set","resolve","values","find"]}
1
+ {"version":3,"sources":["../../src/contexts/PayloadPluginResolver/Context.ts","../../src/contexts/PayloadPluginResolver/Provider.tsx","../../src/contexts/PayloadPluginResolver/use.ts","../../src/contexts/PayloadRenderPluginResolver/Context.ts","../../src/contexts/PayloadRenderPluginResolver/Provider.tsx","../../src/contexts/PayloadRenderPluginResolver/use.ts","../../src/contexts/PayloadSetPluginResolver/Context.ts","../../src/contexts/PayloadSetPluginResolver/Provider.tsx","../../src/contexts/PayloadSetPluginResolver/use.ts","../../src/PayloadRenderPluginResolver.ts"],"sourcesContent":["import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadPluginResolverState } from './State.ts'\n\nconst PayloadPluginResolverContext = createContextEx<PayloadPluginResolverState>()\n\nexport { PayloadPluginResolverContext }\n","import type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { PayloadPluginResolver } from '@xyo-network/payload-plugin'\nimport React, { useMemo, useState } from 'react'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\nimport type { PayloadPluginResolverState } from './State.ts'\n\nexport type PayloadPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadPluginResolver\n}>\n\nexport const PayloadPluginResolverProvider: React.FC<PayloadPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useState<PayloadPluginResolver>(resolverProp)\n\n const value: PayloadPluginResolverState = useMemo(() => ({\n provided: true, resolver, setResolver,\n }), [resolver, setResolver])\n\n return (\n <PayloadPluginResolverContext\n value={value}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\n\nexport const usePayloadPluginResolver = (required = false) => {\n return useContextEx(PayloadPluginResolverContext, 'PayloadPluginResolver', required)\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\nconst PayloadRenderPluginResolverContext = createContextEx<PayloadRenderPluginResolverState>()\n\nexport { PayloadRenderPluginResolverContext }\n","import type { ContextExProviderProps } from '@xylabs/react-shared'\nimport React, { useMemo, useState } from 'react'\n\nimport type { PayloadRenderPluginResolver } from '../../PayloadRenderPluginResolver.ts'\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\nexport type PayloadRenderPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadRenderPluginResolver\n}>\n\nexport const PayloadRenderPluginResolverProvider: React.FC<PayloadRenderPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useState<PayloadRenderPluginResolver>(resolverProp)\n\n const value: PayloadRenderPluginResolverState = useMemo(() => ({\n resolver, provided: true, setResolver,\n }), [resolver, setResolver])\n\n return (\n <PayloadRenderPluginResolverContext\n value={value}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadRenderPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\n\nexport const usePayloadRenderPluginResolver = (required = false) => {\n return useContextEx(PayloadRenderPluginResolverContext, 'PayloadRenderPluginResolver', required)\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadSetPluginResolverState } from './State.ts'\n\nconst PayloadSetPluginResolverContext = createContextEx<PayloadSetPluginResolverState>()\n\nexport { PayloadSetPluginResolverContext }\n","import { useResetState } from '@xylabs/react-hooks'\nimport type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport React from 'react'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\nexport type PayloadSetPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadSetPluginResolver\n}>\n\nexport const PayloadSetPluginResolverProvider: React.FC<PayloadSetPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useResetState<PayloadSetPluginResolver>(resolverProp)\n\n return (\n <PayloadSetPluginResolverContext\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadSetPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\nexport const usePayloadSetPluginResolver = (required = false) => {\n return useContextEx(PayloadSetPluginResolverContext, 'PayloadSetPluginResolver', required)\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nexport class PayloadRenderPluginResolver {\n protected plugins: PayloadRenderPlugin[] = []\n protected schemaDefaultPlugin = new Map<string, PayloadRenderPlugin>()\n\n list(payload?: Payload) {\n if (!payload) {\n return this.plugins\n }\n const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema)\n const result = defaultPlugin ? [defaultPlugin] : []\n for (const plugin of this.plugins) {\n if (defaultPlugin !== plugin && plugin.canRender(payload)) {\n result.push(plugin)\n }\n }\n return result\n }\n\n register(plugin: PayloadRenderPlugin, defaultForSchema?: string[]) {\n this.plugins.push(plugin)\n if (defaultForSchema)\n for (const schema of defaultForSchema) {\n assertEx(plugin.canRender({ schema }), () => 'Default renderer must be able to render schema')\n this.schemaDefaultPlugin.set(schema, plugin)\n }\n return this\n }\n\n resolve(payload: Payload) {\n return this.schemaDefaultPlugin.get(payload.schema) ?? [...this.plugins.values()].find(plugin => plugin.canRender(payload))\n }\n}\n"],"mappings":"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","names":["createContextEx","useMemo","useState","jsx","useState","useMemo","useContextEx","useContextEx","createContextEx","jsx","useContextEx","useContextEx"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-payload-plugin-resolver",
3
- "version": "6.2.0",
3
+ "version": "7.0.1",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -38,33 +38,37 @@
38
38
  },
39
39
  "module": "dist/browser/index.mjs",
40
40
  "types": "dist/browser/index.d.ts",
41
+ "files": [
42
+ "dist",
43
+ "src"
44
+ ],
41
45
  "dependencies": {
42
- "@xylabs/assert": "^4.15.0",
43
- "@xylabs/react-hooks": "^6.4.0",
44
- "@xylabs/react-shared": "^6.4.0",
45
- "@xyo-network/payload-model": "^4.3.0",
46
- "@xyo-network/payload-plugin": "^4.3.0",
47
- "@xyo-network/payloadset-plugin": "^4.3.0",
48
- "@xyo-network/react-payload-plugin": "^6.2.0"
46
+ "@xylabs/assert": "~5.0.8",
47
+ "@xylabs/react-hooks": "~7.0.1",
48
+ "@xylabs/react-shared": "~7.0.1",
49
+ "@xyo-network/payload-model": "~5.0.5",
50
+ "@xyo-network/payload-plugin": "~5.0.5",
51
+ "@xyo-network/payloadset-plugin": "~5.0.5",
52
+ "@xyo-network/react-payload-plugin": "^7.0.1"
49
53
  },
50
54
  "devDependencies": {
51
- "@emotion/react": "^11.14.0",
52
- "@emotion/styled": "^11.14.1",
53
- "@mui/icons-material": "^7.2.0",
54
- "@mui/material": "^7.2.0",
55
- "@types/react": "^19.1.8",
56
- "@xylabs/ts-scripts-yarn3": "^7.0.1",
57
- "react": "^19.1.1",
58
- "react-dom": "^19.1.1",
59
- "react-router-dom": "^7.7.1",
60
- "typescript": "^5.8.3"
55
+ "@emotion/react": "~11.14.0",
56
+ "@emotion/styled": "~11.14.1",
57
+ "@mui/icons-material": "~7.3.1",
58
+ "@mui/material": "~7.3.1",
59
+ "@types/react": "~19.1.10",
60
+ "@xylabs/ts-scripts-yarn3": "~7.1.1",
61
+ "react": "~19.1.1",
62
+ "react-dom": "~19.1.1",
63
+ "react-router-dom": "~7.8.0",
64
+ "typescript": "~5.9.2"
61
65
  },
62
66
  "peerDependencies": {
63
67
  "@mui/icons-material": ">=6 <8",
64
68
  "@mui/material": ">=6 <8",
65
- "react": "^19",
66
- "react-dom": "^19",
67
- "react-router-dom": "^7"
69
+ "react": "~19",
70
+ "react-dom": "~19",
71
+ "react-router-dom": "~7"
68
72
  },
69
73
  "publishConfig": {
70
74
  "access": "public"
package/typedoc.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "$schema": "https://typedoc.org/schema.json",
3
- "entryPoints": ["src/index.ts"],
4
- "tsconfig": "./tsconfig.typedoc.json"
5
- }
package/xy.config.ts DELETED
@@ -1,10 +0,0 @@
1
- import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
- const config: XyTsupConfig = {
3
- compile: {
4
- browser: { src: true },
5
- node: {},
6
- neutral: {},
7
- },
8
- }
9
-
10
- export default config