@ptolemy2002/react-proxy-context 2.5.0 → 2.6.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.
package/README.md CHANGED
@@ -33,9 +33,9 @@ type ProxyContextChangeSubscriber<T> = {
33
33
  reinitCallback: OnChangeReinitCallback<T>;
34
34
  };
35
35
 
36
- type ProxyContextProviderProps<T> = {
36
+ type ProxyContextProviderProps<T, InputT = T> = {
37
37
  children: ReactNode;
38
- value: T | ProxyContextValueWrapper<T>;
38
+ value: InputT | ProxyContextValueWrapper<T>;
39
39
  onChangeProp?: OnChangePropCallback<T>;
40
40
  onChangeReinit?: OnChangeReinitCallback<T>;
41
41
  proxyRef?: React.MutableRefObject<T>;
@@ -45,6 +45,22 @@ type UseProxyContextResult<T> = HookResultData<{
45
45
  value: T;
46
46
  set: (newObj: T) => T;
47
47
  }, readonly [T, (newObj: T) => T]>;
48
+
49
+ // ArrayWithOptional is internal
50
+ type ArrayWithOptional<AR extends unknown[], AO extends unknown[]> = AR | [...AR, ...AO];
51
+
52
+ type UseProxyContextArgs<T> = ArrayWithOptional<
53
+ [
54
+ ProxyContext<T>,
55
+ ], ArrayWithOptional<
56
+ [Dependency<T>[] | null],
57
+ ArrayWithOptional<
58
+ [OnChangePropCallback<T>], ArrayWithOptional<
59
+ [OnChangeReinitCallback<T>], [boolean]
60
+ >
61
+ >
62
+ >
63
+ >;
48
64
  ```
49
65
 
50
66
  ## Classes
@@ -100,12 +116,13 @@ Creates a new instance of the ProxyContext, essentially to be used as the contex
100
116
  #### Returns
101
117
  `ProxyContext<T>` - The context object that can be used in a provider.
102
118
 
103
- ### createProxyContextProvider<T extends object | null>
119
+ ### createProxyContextProvider<T extends object | null, InputT = T>
104
120
  #### Description
105
121
  Creates a new proxy context provider component with the specified type. `ProxyContextProvider` is no longer used due to a TypeScript limitation that prevents the context type from being inferred.
106
122
 
107
123
  #### Parameters
108
124
  - `contextClass` (`ProxyContext<T>`): The context class that was created using `createProxyContext`.
125
+ - `transformInput` (`(input: InputT) => T`): A function that transforms the input value into the desired type `T`. This is useful when the input type differs from the context type, allowing for custom initialization logic. By default, this function simply casts the input to type `T`.
109
126
 
110
127
  #### Returns
111
128
  `React.MemoExoticComponent<FunctionComponent<ProxyContextProviderProps<T> & { renderDeps?: any[] }>>` - The provider component that can be used in the React tree. The resulting component is memoized to prevent unnecessary re-renders, but the `renderDeps` prop can be used to force a re-render when the specified dependencies change (necessary when working with the children prop).
@@ -116,6 +133,23 @@ The component has the following props:
116
133
  - `onChangeReinit` (`OnChangeReinitCallback<T>`): A function that is called whenever the context is reinitialized. The first parameter is the current value of the context, the second parameter is the previous value of the context, and the third parameter is a boolean indicating whether this is the first initialization. Also called on first initialization, with the previous value being `undefined` if you passed in a raw value instead of a `ProxyContextValueWrapper`. This is useful for listening to changes in the provider's parent component.
117
134
  - `proxyRef` (`React.MutableRefObject<T>`): A ref object that is assigned the proxy object of the context. This is useful for accessing the proxy object directly by the provider's parent component.
118
135
 
136
+ ### createOnChangeProp<T>
137
+ #### Description
138
+ A helper function that creates an `OnChangePropCallback` function. This should never be necessary, but there are some cases where TypeScript cannot infer the type of the callback arguments correctly, so wrapping with this would make sense.
139
+
140
+ #### Parameters
141
+ - `f` (`OnChangePropCallback<T>`): The function to wrap.
142
+
143
+ ### createOnChangeReinit<T>
144
+ #### Description
145
+ A helper function that creates an `OnChangeReinitCallback` function. This should never be necessary, but there are some cases where TypeScript cannot infer the type of the callback arguments correctly, so wrapping with this would make sense.
146
+
147
+ #### Parameters
148
+ - `f` (`OnChangeReinitCallback<T>`): The function to wrap.
149
+
150
+ #### Returns
151
+ `OnChangeReinitCallback<T>` - The same function that was passed in.
152
+
119
153
  ## Hooks
120
154
  The following hooks are available in the library:
121
155
 
package/dist/main.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Context, ReactNode } from 'react';
2
2
  import { HookResultData } from '@ptolemy2002/react-hook-result';
3
+ type ArrayWithOptional<AR extends unknown[], AO extends unknown[]> = AR | [...AR, ...AO];
3
4
  export type ContextWithName<T> = Context<T> & {
4
5
  name: string;
5
6
  };
@@ -9,9 +10,9 @@ export declare function createProxyContext<T>(name: string): ProxyContext<T>;
9
10
  export type Dependency<_T, T = Exclude<_T, null | undefined>> = keyof T | (<K extends keyof T>(prop: K, current: T[K], prev: T[K], obj: T) => boolean) | null | undefined | false | [keyof T, ...PropertyKey[]];
10
11
  export declare function evaluateDependency<T>(dep: Dependency<T>): Exclude<Dependency<T>, any[]>;
11
12
  export type ProxyContext<T> = ContextWithName<ProxyContextValueWrapper<T> | undefined>;
12
- export type ProxyContextProviderProps<T> = {
13
+ export type ProxyContextProviderProps<T, InputT = T> = {
13
14
  children: ReactNode;
14
- value: T | ProxyContextValueWrapper<T>;
15
+ value: InputT | ProxyContextValueWrapper<T>;
15
16
  onChangeProp?: OnChangePropCallback<T>;
16
17
  onChangeReinit?: OnChangeReinitCallback<T>;
17
18
  proxyRef?: React.MutableRefObject<T>;
@@ -33,11 +34,23 @@ export declare class ProxyContextValueWrapper<T> {
33
34
  get(): T;
34
35
  set(newObj: T): T;
35
36
  }
36
- export declare function createProxyContextProvider<T extends object | null>(contextClass: ProxyContext<T>): import('react').MemoExoticComponent<import('react').FunctionComponent<ProxyContextProviderProps<T> & {
37
+ export declare function createProxyContextProvider<T extends object | null, InputT = T>(contextClass: ProxyContext<T>, transformInput?: (input: InputT) => T): import('react').MemoExoticComponent<import('react').FunctionComponent<ProxyContextProviderProps<T, InputT> & {
37
38
  renderDeps?: unknown[] | null | false;
38
39
  }>>;
39
40
  export type UseProxyContextResult<T> = HookResultData<{
40
41
  value: T;
41
42
  set: (newObj: T) => T;
42
43
  }, readonly [T, (newObj: T) => T]>;
43
- export declare function useProxyContext<T>(contextClass: ProxyContext<T>, deps?: Dependency<T>[] | null, onChangeProp?: OnChangePropCallback<T>, onChangeReinit?: OnChangeReinitCallback<T>, listenReinit?: boolean): UseProxyContextResult<T>;
44
+ export type UseProxyContextArgs<T> = ArrayWithOptional<[
45
+ ProxyContext<T>
46
+ ], ArrayWithOptional<[
47
+ Dependency<T>[] | null
48
+ ], ArrayWithOptional<[
49
+ OnChangePropCallback<T>
50
+ ], ArrayWithOptional<[
51
+ OnChangeReinitCallback<T>
52
+ ], [boolean]>>>>;
53
+ export declare function useProxyContext<T>(...[contextClass, deps, onChangeProp, onChangeReinit, listenReinit]: UseProxyContextArgs<T>): UseProxyContextResult<T>;
54
+ export declare function createOnChangeReinit<T>(f: OnChangeReinitCallback<T>): OnChangeReinitCallback<T>;
55
+ export declare function createOnChangeProp<T>(f: OnChangePropCallback<T>): OnChangePropCallback<T>;
56
+ export {};
package/dist/main.js CHANGED
@@ -1,12 +1,12 @@
1
1
  var dr = Object.defineProperty;
2
- var pr = (h, a, c) => a in h ? dr(h, a, { enumerable: !0, configurable: !0, writable: !0, value: c }) : h[a] = c;
3
- var X = (h, a, c) => pr(h, typeof a != "symbol" ? a + "" : a, c);
4
- import Oe, { createContext as br, useRef as Ce, useImperativeHandle as hr, useEffect as yr, useContext as mr, useCallback as Er, useSyncExternalStore as gr } from "react";
5
- import { nanoid as _r } from "nanoid";
2
+ var pr = (h, a, f) => a in h ? dr(h, a, { enumerable: !0, configurable: !0, writable: !0, value: f }) : h[a] = f;
3
+ var X = (h, a, f) => pr(h, typeof a != "symbol" ? a + "" : a, f);
4
+ import we, { createContext as br, useRef as Ce, useImperativeHandle as hr, useEffect as yr, useContext as gr, useCallback as mr, useSyncExternalStore as Er } from "react";
5
+ import { nanoid as Rr } from "nanoid";
6
6
  import Y from "is-callable";
7
- import Rr from "@ptolemy2002/react-force-rerender";
7
+ import _r from "@ptolemy2002/react-force-rerender";
8
8
  import Tr from "@ptolemy2002/react-hook-result";
9
- import { partialMemo as Sr } from "@ptolemy2002/react-utils";
9
+ import { partialMemo as Pr } from "@ptolemy2002/react-utils";
10
10
  var Q = { exports: {} }, $ = {};
11
11
  /**
12
12
  * @license React
@@ -17,19 +17,19 @@ var Q = { exports: {} }, $ = {};
17
17
  * This source code is licensed under the MIT license found in the
18
18
  * LICENSE file in the root directory of this source tree.
19
19
  */
20
- var Pe;
21
- function xr() {
22
- if (Pe) return $;
23
- Pe = 1;
24
- var h = Oe, a = Symbol.for("react.element"), c = Symbol.for("react.fragment"), p = Object.prototype.hasOwnProperty, s = h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, b = { key: !0, ref: !0, __self: !0, __source: !0 };
25
- function i(v, d, x) {
26
- var E, T = {}, P = null, k = null;
27
- x !== void 0 && (P = "" + x), d.key !== void 0 && (P = "" + d.key), d.ref !== void 0 && (k = d.ref);
28
- for (E in d) p.call(d, E) && !b.hasOwnProperty(E) && (T[E] = d[E]);
29
- if (v && v.defaultProps) for (E in d = v.defaultProps, d) T[E] === void 0 && (T[E] = d[E]);
30
- return { $$typeof: a, type: v, key: P, ref: k, props: T, _owner: s.current };
20
+ var xe;
21
+ function Sr() {
22
+ if (xe) return $;
23
+ xe = 1;
24
+ var h = we, a = Symbol.for("react.element"), f = Symbol.for("react.fragment"), v = Object.prototype.hasOwnProperty, d = h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, c = { key: !0, ref: !0, __self: !0, __source: !0 };
25
+ function l(u, p, S) {
26
+ var m, T = {}, x = null, k = null;
27
+ S !== void 0 && (x = "" + S), p.key !== void 0 && (x = "" + p.key), p.ref !== void 0 && (k = p.ref);
28
+ for (m in p) v.call(p, m) && !c.hasOwnProperty(m) && (T[m] = p[m]);
29
+ if (u && u.defaultProps) for (m in p = u.defaultProps, p) T[m] === void 0 && (T[m] = p[m]);
30
+ return { $$typeof: a, type: u, key: x, ref: k, props: T, _owner: d.current };
31
31
  }
32
- return $.Fragment = c, $.jsx = i, $.jsxs = i, $;
32
+ return $.Fragment = f, $.jsx = l, $.jsxs = l, $;
33
33
  }
34
34
  var W = {};
35
35
  /**
@@ -41,10 +41,10 @@ var W = {};
41
41
  * This source code is licensed under the MIT license found in the
42
42
  * LICENSE file in the root directory of this source tree.
43
43
  */
44
- var we;
45
- function Pr() {
46
- return we || (we = 1, process.env.NODE_ENV !== "production" && function() {
47
- var h = Oe, a = Symbol.for("react.element"), c = Symbol.for("react.portal"), p = Symbol.for("react.fragment"), s = Symbol.for("react.strict_mode"), b = Symbol.for("react.profiler"), i = Symbol.for("react.provider"), v = Symbol.for("react.context"), d = Symbol.for("react.forward_ref"), x = Symbol.for("react.suspense"), E = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), P = Symbol.for("react.lazy"), k = Symbol.for("react.offscreen"), ee = Symbol.iterator, ke = "@@iterator";
44
+ var Oe;
45
+ function xr() {
46
+ return Oe || (Oe = 1, process.env.NODE_ENV !== "production" && function() {
47
+ var h = we, a = Symbol.for("react.element"), f = Symbol.for("react.portal"), v = Symbol.for("react.fragment"), d = Symbol.for("react.strict_mode"), c = Symbol.for("react.profiler"), l = Symbol.for("react.provider"), u = Symbol.for("react.context"), p = Symbol.for("react.forward_ref"), S = Symbol.for("react.suspense"), m = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), x = Symbol.for("react.lazy"), k = Symbol.for("react.offscreen"), ee = Symbol.iterator, ke = "@@iterator";
48
48
  function je(e) {
49
49
  if (e === null || typeof e != "object")
50
50
  return null;
@@ -52,7 +52,7 @@ function Pr() {
52
52
  return typeof r == "function" ? r : null;
53
53
  }
54
54
  var j = h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
55
- function g(e) {
55
+ function E(e) {
56
56
  {
57
57
  for (var r = arguments.length, t = new Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++)
58
58
  t[n - 1] = arguments[n];
@@ -61,18 +61,18 @@ function Pr() {
61
61
  }
62
62
  function De(e, r, t) {
63
63
  {
64
- var n = j.ReactDebugCurrentFrame, l = n.getStackAddendum();
65
- l !== "" && (r += "%s", t = t.concat([l]));
66
- var f = t.map(function(u) {
67
- return String(u);
64
+ var n = j.ReactDebugCurrentFrame, s = n.getStackAddendum();
65
+ s !== "" && (r += "%s", t = t.concat([s]));
66
+ var b = t.map(function(o) {
67
+ return String(o);
68
68
  });
69
- f.unshift("Warning: " + r), Function.prototype.apply.call(console[e], console, f);
69
+ b.unshift("Warning: " + r), Function.prototype.apply.call(console[e], console, b);
70
70
  }
71
71
  }
72
72
  var Fe = !1, Ae = !1, Ie = !1, $e = !1, We = !1, re;
73
73
  re = Symbol.for("react.module.reference");
74
74
  function Ye(e) {
75
- return !!(typeof e == "string" || typeof e == "function" || e === p || e === b || We || e === s || e === x || e === E || $e || e === k || Fe || Ae || Ie || typeof e == "object" && e !== null && (e.$$typeof === P || e.$$typeof === T || e.$$typeof === i || e.$$typeof === v || e.$$typeof === d || // This needs to include all possible module reference object
75
+ return !!(typeof e == "string" || typeof e == "function" || e === v || e === c || We || e === d || e === S || e === m || $e || e === k || Fe || Ae || Ie || typeof e == "object" && e !== null && (e.$$typeof === x || e.$$typeof === T || e.$$typeof === l || e.$$typeof === u || e.$$typeof === p || // This needs to include all possible module reference object
76
76
  // types supported by any Flight configuration anywhere since
77
77
  // we don't know which Flight build this will end up being used
78
78
  // with.
@@ -82,50 +82,50 @@ function Pr() {
82
82
  var n = e.displayName;
83
83
  if (n)
84
84
  return n;
85
- var l = r.displayName || r.name || "";
86
- return l !== "" ? t + "(" + l + ")" : t;
85
+ var s = r.displayName || r.name || "";
86
+ return s !== "" ? t + "(" + s + ")" : t;
87
87
  }
88
88
  function te(e) {
89
89
  return e.displayName || "Context";
90
90
  }
91
- function w(e) {
91
+ function O(e) {
92
92
  if (e == null)
93
93
  return null;
94
- if (typeof e.tag == "number" && g("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
94
+ if (typeof e.tag == "number" && E("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
95
95
  return e.displayName || e.name || null;
96
96
  if (typeof e == "string")
97
97
  return e;
98
98
  switch (e) {
99
- case p:
99
+ case v:
100
100
  return "Fragment";
101
- case c:
101
+ case f:
102
102
  return "Portal";
103
- case b:
103
+ case c:
104
104
  return "Profiler";
105
- case s:
105
+ case d:
106
106
  return "StrictMode";
107
- case x:
107
+ case S:
108
108
  return "Suspense";
109
- case E:
109
+ case m:
110
110
  return "SuspenseList";
111
111
  }
112
112
  if (typeof e == "object")
113
113
  switch (e.$$typeof) {
114
- case v:
114
+ case u:
115
115
  var r = e;
116
116
  return te(r) + ".Consumer";
117
- case i:
117
+ case l:
118
118
  var t = e;
119
119
  return te(t._context) + ".Provider";
120
- case d:
120
+ case p:
121
121
  return Ve(e, e.render, "ForwardRef");
122
122
  case T:
123
123
  var n = e.displayName || null;
124
- return n !== null ? n : w(e.type) || "Memo";
125
- case P: {
126
- var l = e, f = l._payload, u = l._init;
124
+ return n !== null ? n : O(e.type) || "Memo";
125
+ case x: {
126
+ var s = e, b = s._payload, o = s._init;
127
127
  try {
128
- return w(u(f));
128
+ return O(o(b));
129
129
  } catch {
130
130
  return null;
131
131
  }
@@ -133,7 +133,7 @@ function Pr() {
133
133
  }
134
134
  return null;
135
135
  }
136
- var O = Object.assign, A = 0, ne, ae, ie, oe, ue, se, ce;
136
+ var w = Object.assign, A = 0, ne, ae, ie, oe, ue, se, ce;
137
137
  function le() {
138
138
  }
139
139
  le.__reactDisabledLog = !0;
@@ -169,30 +169,30 @@ function Pr() {
169
169
  writable: !0
170
170
  };
171
171
  Object.defineProperties(console, {
172
- log: O({}, e, {
172
+ log: w({}, e, {
173
173
  value: ne
174
174
  }),
175
- info: O({}, e, {
175
+ info: w({}, e, {
176
176
  value: ae
177
177
  }),
178
- warn: O({}, e, {
178
+ warn: w({}, e, {
179
179
  value: ie
180
180
  }),
181
- error: O({}, e, {
181
+ error: w({}, e, {
182
182
  value: oe
183
183
  }),
184
- group: O({}, e, {
184
+ group: w({}, e, {
185
185
  value: ue
186
186
  }),
187
- groupCollapsed: O({}, e, {
187
+ groupCollapsed: w({}, e, {
188
188
  value: se
189
189
  }),
190
- groupEnd: O({}, e, {
190
+ groupEnd: w({}, e, {
191
191
  value: ce
192
192
  })
193
193
  });
194
194
  }
195
- A < 0 && g("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
195
+ A < 0 && E("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
196
196
  }
197
197
  }
198
198
  var N = j.ReactCurrentDispatcher, B;
@@ -201,8 +201,8 @@ function Pr() {
201
201
  if (B === void 0)
202
202
  try {
203
203
  throw Error();
204
- } catch (l) {
205
- var n = l.stack.trim().match(/\n( *(at )?)/);
204
+ } catch (s) {
205
+ var n = s.stack.trim().match(/\n( *(at )?)/);
206
206
  B = n && n[1] || "";
207
207
  }
208
208
  return `
@@ -224,63 +224,63 @@ function Pr() {
224
224
  }
225
225
  var n;
226
226
  J = !0;
227
- var l = Error.prepareStackTrace;
227
+ var s = Error.prepareStackTrace;
228
228
  Error.prepareStackTrace = void 0;
229
- var f;
230
- f = N.current, N.current = null, Le();
229
+ var b;
230
+ b = N.current, N.current = null, Le();
231
231
  try {
232
232
  if (r) {
233
- var u = function() {
233
+ var o = function() {
234
234
  throw Error();
235
235
  };
236
- if (Object.defineProperty(u.prototype, "props", {
236
+ if (Object.defineProperty(o.prototype, "props", {
237
237
  set: function() {
238
238
  throw Error();
239
239
  }
240
240
  }), typeof Reflect == "object" && Reflect.construct) {
241
241
  try {
242
- Reflect.construct(u, []);
243
- } catch (R) {
244
- n = R;
242
+ Reflect.construct(o, []);
243
+ } catch (_) {
244
+ n = _;
245
245
  }
246
- Reflect.construct(e, [], u);
246
+ Reflect.construct(e, [], o);
247
247
  } else {
248
248
  try {
249
- u.call();
250
- } catch (R) {
251
- n = R;
249
+ o.call();
250
+ } catch (_) {
251
+ n = _;
252
252
  }
253
- e.call(u.prototype);
253
+ e.call(o.prototype);
254
254
  }
255
255
  } else {
256
256
  try {
257
257
  throw Error();
258
- } catch (R) {
259
- n = R;
258
+ } catch (_) {
259
+ n = _;
260
260
  }
261
261
  e();
262
262
  }
263
- } catch (R) {
264
- if (R && n && typeof R.stack == "string") {
265
- for (var o = R.stack.split(`
266
- `), _ = n.stack.split(`
267
- `), y = o.length - 1, m = _.length - 1; y >= 1 && m >= 0 && o[y] !== _[m]; )
268
- m--;
269
- for (; y >= 1 && m >= 0; y--, m--)
270
- if (o[y] !== _[m]) {
271
- if (y !== 1 || m !== 1)
263
+ } catch (_) {
264
+ if (_ && n && typeof _.stack == "string") {
265
+ for (var i = _.stack.split(`
266
+ `), R = n.stack.split(`
267
+ `), y = i.length - 1, g = R.length - 1; y >= 1 && g >= 0 && i[y] !== R[g]; )
268
+ g--;
269
+ for (; y >= 1 && g >= 0; y--, g--)
270
+ if (i[y] !== R[g]) {
271
+ if (y !== 1 || g !== 1)
272
272
  do
273
- if (y--, m--, m < 0 || o[y] !== _[m]) {
274
- var S = `
275
- ` + o[y].replace(" at new ", " at ");
276
- return e.displayName && S.includes("<anonymous>") && (S = S.replace("<anonymous>", e.displayName)), typeof e == "function" && L.set(e, S), S;
273
+ if (y--, g--, g < 0 || i[y] !== R[g]) {
274
+ var P = `
275
+ ` + i[y].replace(" at new ", " at ");
276
+ return e.displayName && P.includes("<anonymous>") && (P = P.replace("<anonymous>", e.displayName)), typeof e == "function" && L.set(e, P), P;
277
277
  }
278
- while (y >= 1 && m >= 0);
278
+ while (y >= 1 && g >= 0);
279
279
  break;
280
280
  }
281
281
  }
282
282
  } finally {
283
- J = !1, N.current = f, Me(), Error.prepareStackTrace = l;
283
+ J = !1, N.current = b, Me(), Error.prepareStackTrace = s;
284
284
  }
285
285
  var F = e ? e.displayName || e.name : "", C = F ? V(F) : "";
286
286
  return typeof e == "function" && L.set(e, C), C;
@@ -300,21 +300,21 @@ function Pr() {
300
300
  if (typeof e == "string")
301
301
  return V(e);
302
302
  switch (e) {
303
- case x:
303
+ case S:
304
304
  return V("Suspense");
305
- case E:
305
+ case m:
306
306
  return V("SuspenseList");
307
307
  }
308
308
  if (typeof e == "object")
309
309
  switch (e.$$typeof) {
310
- case d:
310
+ case p:
311
311
  return Ne(e.render);
312
312
  case T:
313
313
  return M(e.type, r, t);
314
- case P: {
315
- var n = e, l = n._payload, f = n._init;
314
+ case x: {
315
+ var n = e, s = n._payload, b = n._init;
316
316
  try {
317
- return M(f(l), r, t);
317
+ return M(b(s), r, t);
318
318
  } catch {
319
319
  }
320
320
  }
@@ -329,22 +329,22 @@ function Pr() {
329
329
  } else
330
330
  de.setExtraStackFrame(null);
331
331
  }
332
- function Je(e, r, t, n, l) {
332
+ function Je(e, r, t, n, s) {
333
333
  {
334
- var f = Function.call.bind(I);
335
- for (var u in e)
336
- if (f(e, u)) {
337
- var o = void 0;
334
+ var b = Function.call.bind(I);
335
+ for (var o in e)
336
+ if (b(e, o)) {
337
+ var i = void 0;
338
338
  try {
339
- if (typeof e[u] != "function") {
340
- var _ = Error((n || "React class") + ": " + t + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
341
- throw _.name = "Invariant Violation", _;
339
+ if (typeof e[o] != "function") {
340
+ var R = Error((n || "React class") + ": " + t + " type `" + o + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[o] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
341
+ throw R.name = "Invariant Violation", R;
342
342
  }
343
- o = e[u](r, u, n, t, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
343
+ i = e[o](r, o, n, t, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
344
344
  } catch (y) {
345
- o = y;
345
+ i = y;
346
346
  }
347
- o && !(o instanceof Error) && (U(l), g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", n || "React class", t, u, typeof o), U(null)), o instanceof Error && !(o.message in ve) && (ve[o.message] = !0, U(l), g("Failed %s type: %s", t, o.message), U(null));
347
+ i && !(i instanceof Error) && (U(s), E("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", n || "React class", t, o, typeof i), U(null)), i instanceof Error && !(i.message in ve) && (ve[i.message] = !0, U(s), E("Failed %s type: %s", t, i.message), U(null));
348
348
  }
349
349
  }
350
350
  }
@@ -370,14 +370,14 @@ function Pr() {
370
370
  }
371
371
  function be(e) {
372
372
  if (Ge(e))
373
- return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Ke(e)), pe(e);
373
+ return E("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Ke(e)), pe(e);
374
374
  }
375
375
  var he = j.ReactCurrentOwner, ze = {
376
376
  key: !0,
377
377
  ref: !0,
378
378
  __self: !0,
379
379
  __source: !0
380
- }, ye, me;
380
+ }, ye, ge;
381
381
  function He(e) {
382
382
  if (I.call(e, "ref")) {
383
383
  var r = Object.getOwnPropertyDescriptor(e, "ref").get;
@@ -400,7 +400,7 @@ function Pr() {
400
400
  function Qe(e, r) {
401
401
  {
402
402
  var t = function() {
403
- ye || (ye = !0, g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r));
403
+ ye || (ye = !0, E("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r));
404
404
  };
405
405
  t.isReactWarning = !0, Object.defineProperty(e, "key", {
406
406
  get: t,
@@ -411,7 +411,7 @@ function Pr() {
411
411
  function er(e, r) {
412
412
  {
413
413
  var t = function() {
414
- me || (me = !0, g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r));
414
+ ge || (ge = !0, E("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r));
415
415
  };
416
416
  t.isReactWarning = !0, Object.defineProperty(e, "ref", {
417
417
  get: t,
@@ -419,70 +419,70 @@ function Pr() {
419
419
  });
420
420
  }
421
421
  }
422
- var rr = function(e, r, t, n, l, f, u) {
423
- var o = {
422
+ var rr = function(e, r, t, n, s, b, o) {
423
+ var i = {
424
424
  // This tag allows us to uniquely identify this as a React Element
425
425
  $$typeof: a,
426
426
  // Built-in properties that belong on the element
427
427
  type: e,
428
428
  key: r,
429
429
  ref: t,
430
- props: u,
430
+ props: o,
431
431
  // Record the component responsible for creating this element.
432
- _owner: f
432
+ _owner: b
433
433
  };
434
- return o._store = {}, Object.defineProperty(o._store, "validated", {
434
+ return i._store = {}, Object.defineProperty(i._store, "validated", {
435
435
  configurable: !1,
436
436
  enumerable: !1,
437
437
  writable: !0,
438
438
  value: !1
439
- }), Object.defineProperty(o, "_self", {
439
+ }), Object.defineProperty(i, "_self", {
440
440
  configurable: !1,
441
441
  enumerable: !1,
442
442
  writable: !1,
443
443
  value: n
444
- }), Object.defineProperty(o, "_source", {
444
+ }), Object.defineProperty(i, "_source", {
445
445
  configurable: !1,
446
446
  enumerable: !1,
447
447
  writable: !1,
448
- value: l
449
- }), Object.freeze && (Object.freeze(o.props), Object.freeze(o)), o;
448
+ value: s
449
+ }), Object.freeze && (Object.freeze(i.props), Object.freeze(i)), i;
450
450
  };
451
- function tr(e, r, t, n, l) {
451
+ function tr(e, r, t, n, s) {
452
452
  {
453
- var f, u = {}, o = null, _ = null;
454
- t !== void 0 && (be(t), o = "" + t), Xe(r) && (be(r.key), o = "" + r.key), He(r) && (_ = r.ref, Ze(r, l));
455
- for (f in r)
456
- I.call(r, f) && !ze.hasOwnProperty(f) && (u[f] = r[f]);
453
+ var b, o = {}, i = null, R = null;
454
+ t !== void 0 && (be(t), i = "" + t), Xe(r) && (be(r.key), i = "" + r.key), He(r) && (R = r.ref, Ze(r, s));
455
+ for (b in r)
456
+ I.call(r, b) && !ze.hasOwnProperty(b) && (o[b] = r[b]);
457
457
  if (e && e.defaultProps) {
458
458
  var y = e.defaultProps;
459
- for (f in y)
460
- u[f] === void 0 && (u[f] = y[f]);
459
+ for (b in y)
460
+ o[b] === void 0 && (o[b] = y[b]);
461
461
  }
462
- if (o || _) {
463
- var m = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
464
- o && Qe(u, m), _ && er(u, m);
462
+ if (i || R) {
463
+ var g = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
464
+ i && Qe(o, g), R && er(o, g);
465
465
  }
466
- return rr(e, o, _, l, n, he.current, u);
466
+ return rr(e, i, R, s, n, he.current, o);
467
467
  }
468
468
  }
469
- var K = j.ReactCurrentOwner, Ee = j.ReactDebugCurrentFrame;
469
+ var K = j.ReactCurrentOwner, me = j.ReactDebugCurrentFrame;
470
470
  function D(e) {
471
471
  if (e) {
472
472
  var r = e._owner, t = M(e.type, e._source, r ? r.type : null);
473
- Ee.setExtraStackFrame(t);
473
+ me.setExtraStackFrame(t);
474
474
  } else
475
- Ee.setExtraStackFrame(null);
475
+ me.setExtraStackFrame(null);
476
476
  }
477
477
  var G;
478
478
  G = !1;
479
479
  function z(e) {
480
480
  return typeof e == "object" && e !== null && e.$$typeof === a;
481
481
  }
482
- function ge() {
482
+ function Ee() {
483
483
  {
484
484
  if (K.current) {
485
- var e = w(K.current.type);
485
+ var e = O(K.current.type);
486
486
  if (e)
487
487
  return `
488
488
 
@@ -494,10 +494,10 @@ Check the render method of \`` + e + "`.";
494
494
  function nr(e) {
495
495
  return "";
496
496
  }
497
- var _e = {};
497
+ var Re = {};
498
498
  function ar(e) {
499
499
  {
500
- var r = ge();
500
+ var r = Ee();
501
501
  if (!r) {
502
502
  var t = typeof e == "string" ? e : e.displayName || e.name;
503
503
  t && (r = `
@@ -507,17 +507,17 @@ Check the top-level render call using <` + t + ">.");
507
507
  return r;
508
508
  }
509
509
  }
510
- function Re(e, r) {
510
+ function _e(e, r) {
511
511
  {
512
512
  if (!e._store || e._store.validated || e.key != null)
513
513
  return;
514
514
  e._store.validated = !0;
515
515
  var t = ar(r);
516
- if (_e[t])
516
+ if (Re[t])
517
517
  return;
518
- _e[t] = !0;
518
+ Re[t] = !0;
519
519
  var n = "";
520
- e && e._owner && e._owner !== K.current && (n = " It was passed a child from " + w(e._owner.type) + "."), D(e), g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', t, n), D(null);
520
+ e && e._owner && e._owner !== K.current && (n = " It was passed a child from " + O(e._owner.type) + "."), D(e), E('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', t, n), D(null);
521
521
  }
522
522
  }
523
523
  function Te(e, r) {
@@ -527,15 +527,15 @@ Check the top-level render call using <` + t + ">.");
527
527
  if (q(e))
528
528
  for (var t = 0; t < e.length; t++) {
529
529
  var n = e[t];
530
- z(n) && Re(n, r);
530
+ z(n) && _e(n, r);
531
531
  }
532
532
  else if (z(e))
533
533
  e._store && (e._store.validated = !0);
534
534
  else if (e) {
535
- var l = je(e);
536
- if (typeof l == "function" && l !== e.entries)
537
- for (var f = l.call(e), u; !(u = f.next()).done; )
538
- z(u.value) && Re(u.value, r);
535
+ var s = je(e);
536
+ if (typeof s == "function" && s !== e.entries)
537
+ for (var b = s.call(e), o; !(o = b.next()).done; )
538
+ z(o.value) && _e(o.value, r);
539
539
  }
540
540
  }
541
541
  }
@@ -547,21 +547,21 @@ Check the top-level render call using <` + t + ">.");
547
547
  var t;
548
548
  if (typeof r == "function")
549
549
  t = r.propTypes;
550
- else if (typeof r == "object" && (r.$$typeof === d || // Note: Memo only checks outer props here.
550
+ else if (typeof r == "object" && (r.$$typeof === p || // Note: Memo only checks outer props here.
551
551
  // Inner props are checked in the reconciler.
552
552
  r.$$typeof === T))
553
553
  t = r.propTypes;
554
554
  else
555
555
  return;
556
556
  if (t) {
557
- var n = w(r);
557
+ var n = O(r);
558
558
  Je(t, e.props, "prop", n, e);
559
559
  } else if (r.PropTypes !== void 0 && !G) {
560
560
  G = !0;
561
- var l = w(r);
562
- g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", l || "Unknown");
561
+ var s = O(r);
562
+ E("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", s || "Unknown");
563
563
  }
564
- typeof r.getDefaultProps == "function" && !r.getDefaultProps.isReactClassApproved && g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
564
+ typeof r.getDefaultProps == "function" && !r.getDefaultProps.isReactClassApproved && E("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
565
565
  }
566
566
  }
567
567
  function or(e) {
@@ -569,70 +569,70 @@ Check the top-level render call using <` + t + ">.");
569
569
  for (var r = Object.keys(e.props), t = 0; t < r.length; t++) {
570
570
  var n = r[t];
571
571
  if (n !== "children" && n !== "key") {
572
- D(e), g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", n), D(null);
572
+ D(e), E("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", n), D(null);
573
573
  break;
574
574
  }
575
575
  }
576
- e.ref !== null && (D(e), g("Invalid attribute `ref` supplied to `React.Fragment`."), D(null));
576
+ e.ref !== null && (D(e), E("Invalid attribute `ref` supplied to `React.Fragment`."), D(null));
577
577
  }
578
578
  }
579
- var Se = {};
580
- function xe(e, r, t, n, l, f) {
579
+ var Pe = {};
580
+ function Se(e, r, t, n, s, b) {
581
581
  {
582
- var u = Ye(e);
583
- if (!u) {
584
- var o = "";
585
- (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (o += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
586
- var _ = nr();
587
- _ ? o += _ : o += ge();
582
+ var o = Ye(e);
583
+ if (!o) {
584
+ var i = "";
585
+ (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (i += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
586
+ var R = nr();
587
+ R ? i += R : i += Ee();
588
588
  var y;
589
- e === null ? y = "null" : q(e) ? y = "array" : e !== void 0 && e.$$typeof === a ? (y = "<" + (w(e.type) || "Unknown") + " />", o = " Did you accidentally export a JSX literal instead of a component?") : y = typeof e, g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", y, o);
589
+ e === null ? y = "null" : q(e) ? y = "array" : e !== void 0 && e.$$typeof === a ? (y = "<" + (O(e.type) || "Unknown") + " />", i = " Did you accidentally export a JSX literal instead of a component?") : y = typeof e, E("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", y, i);
590
590
  }
591
- var m = tr(e, r, t, l, f);
592
- if (m == null)
593
- return m;
594
- if (u) {
595
- var S = r.children;
596
- if (S !== void 0)
591
+ var g = tr(e, r, t, s, b);
592
+ if (g == null)
593
+ return g;
594
+ if (o) {
595
+ var P = r.children;
596
+ if (P !== void 0)
597
597
  if (n)
598
- if (q(S)) {
599
- for (var F = 0; F < S.length; F++)
600
- Te(S[F], e);
601
- Object.freeze && Object.freeze(S);
598
+ if (q(P)) {
599
+ for (var F = 0; F < P.length; F++)
600
+ Te(P[F], e);
601
+ Object.freeze && Object.freeze(P);
602
602
  } else
603
- g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
603
+ E("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
604
604
  else
605
- Te(S, e);
605
+ Te(P, e);
606
606
  }
607
607
  if (I.call(r, "key")) {
608
- var C = w(e), R = Object.keys(r).filter(function(vr) {
608
+ var C = O(e), _ = Object.keys(r).filter(function(vr) {
609
609
  return vr !== "key";
610
- }), H = R.length > 0 ? "{key: someKey, " + R.join(": ..., ") + ": ...}" : "{key: someKey}";
611
- if (!Se[C + H]) {
612
- var fr = R.length > 0 ? "{" + R.join(": ..., ") + ": ...}" : "{}";
613
- g(`A props object containing a "key" prop is being spread into JSX:
610
+ }), H = _.length > 0 ? "{key: someKey, " + _.join(": ..., ") + ": ...}" : "{key: someKey}";
611
+ if (!Pe[C + H]) {
612
+ var fr = _.length > 0 ? "{" + _.join(": ..., ") + ": ...}" : "{}";
613
+ E(`A props object containing a "key" prop is being spread into JSX:
614
614
  let props = %s;
615
615
  <%s {...props} />
616
616
  React keys must be passed directly to JSX without using spread:
617
617
  let props = %s;
618
- <%s key={someKey} {...props} />`, H, C, fr, C), Se[C + H] = !0;
618
+ <%s key={someKey} {...props} />`, H, C, fr, C), Pe[C + H] = !0;
619
619
  }
620
620
  }
621
- return e === p ? or(m) : ir(m), m;
621
+ return e === v ? or(g) : ir(g), g;
622
622
  }
623
623
  }
624
624
  function ur(e, r, t) {
625
- return xe(e, r, t, !0);
625
+ return Se(e, r, t, !0);
626
626
  }
627
627
  function sr(e, r, t) {
628
- return xe(e, r, t, !1);
628
+ return Se(e, r, t, !1);
629
629
  }
630
630
  var cr = sr, lr = ur;
631
- W.Fragment = p, W.jsx = cr, W.jsxs = lr;
631
+ W.Fragment = v, W.jsx = cr, W.jsxs = lr;
632
632
  }()), W;
633
633
  }
634
- process.env.NODE_ENV === "production" ? Q.exports = xr() : Q.exports = Pr();
635
- var wr = Q.exports;
634
+ process.env.NODE_ENV === "production" ? Q.exports = Sr() : Q.exports = xr();
635
+ var Or = Q.exports;
636
636
  function $r(h) {
637
637
  if (typeof Proxy > "u") throw new Error("Proxy is not supported in this environment.");
638
638
  const a = br(
@@ -640,15 +640,15 @@ function $r(h) {
640
640
  );
641
641
  return a.name = h, a;
642
642
  }
643
- function Or(h) {
643
+ function wr(h) {
644
644
  if (Array.isArray(h)) {
645
- const [a, ...c] = h;
646
- return (p, s, b) => {
647
- if (p !== a) return !1;
648
- let i = s, v = b;
649
- for (const d of c)
650
- i = i == null ? void 0 : i[d], v = v == null ? void 0 : v[d];
651
- return i !== v;
645
+ const [a, ...f] = h;
646
+ return (v, d, c) => {
647
+ if (v !== a) return !1;
648
+ let l = d, u = c;
649
+ for (const p of f)
650
+ l = l == null ? void 0 : l[p], u = u == null ? void 0 : u[p];
651
+ return l !== u;
652
652
  };
653
653
  }
654
654
  return h;
@@ -659,113 +659,127 @@ class Z {
659
659
  X(this, "changeSubscribers", {});
660
660
  this.set(a);
661
661
  }
662
- subscribe(a, c, p) {
663
- const s = _r();
664
- return this.changeSubscribers[s] = {
665
- id: s,
666
- deps: p,
662
+ subscribe(a, f, v) {
663
+ const d = Rr();
664
+ return this.changeSubscribers[d] = {
665
+ id: d,
666
+ deps: v,
667
667
  propCallback: a,
668
- reinitCallback: c
669
- }, s;
668
+ reinitCallback: f
669
+ }, d;
670
670
  }
671
671
  unsubscribe(a) {
672
672
  delete this.changeSubscribers[a];
673
673
  }
674
- emitChange(a, c, p) {
675
- Object.values(this.changeSubscribers).forEach((s) => {
676
- var i;
677
- const b = (i = s.deps) == null ? void 0 : i.map(Or);
678
- (!b || b.includes(a) && p !== c || b.some(
679
- (v) => Y(v) && v(a, c, p, this.value)
680
- )) && s.propCallback(a, c, p);
674
+ emitChange(a, f, v) {
675
+ Object.values(this.changeSubscribers).forEach((d) => {
676
+ var l;
677
+ const c = (l = d.deps) == null ? void 0 : l.map(wr);
678
+ (!c || c.includes(a) && v !== f || c.some(
679
+ (u) => Y(u) && u(a, f, v, this.value)
680
+ )) && d.propCallback(a, f, v);
681
681
  });
682
682
  }
683
- emitReinit(a, c, p = !1) {
684
- Object.values(this.changeSubscribers).forEach((s) => {
685
- s.reinitCallback(a, c, p);
683
+ emitReinit(a, f, v = !1) {
684
+ Object.values(this.changeSubscribers).forEach((d) => {
685
+ d.reinitCallback(a, f, v);
686
686
  });
687
687
  }
688
688
  get() {
689
689
  return this.value;
690
690
  }
691
691
  set(a) {
692
- const c = this;
692
+ const f = this;
693
693
  if (a !== this.value) {
694
- const p = this.value;
694
+ const v = this.value;
695
695
  a != null ? this.value = new Proxy(a, {
696
- get: function(s, b) {
697
- const i = Reflect.get(s, b, a);
698
- return Y(i) ? i.bind(c.value) : i;
696
+ get: function(d, c) {
697
+ const l = Reflect.get(d, c, a);
698
+ return Y(l) ? l.bind(f.value) : l;
699
699
  },
700
- set: (s, b, i) => {
701
- const v = b, d = s[v];
702
- return Reflect.set(s, v, i, a), i = s[v], this.emitChange(v, i, d), !0;
700
+ set: (d, c, l) => {
701
+ const u = c, p = d[u];
702
+ return Reflect.set(d, u, l, a), l = d[u], this.emitChange(u, l, p), !0;
703
703
  }
704
- }) : this.value = a, this.emitReinit(this.value, p);
704
+ }) : this.value = a, this.emitReinit(this.value, v);
705
705
  }
706
706
  return this.value;
707
707
  }
708
708
  }
709
- function Wr(h) {
710
- return Sr(
709
+ function Wr(h, a = (f) => f) {
710
+ return Pr(
711
711
  ({
712
- children: a,
713
- value: c,
714
- onChangeProp: p,
715
- onChangeReinit: s,
716
- proxyRef: b
712
+ children: f,
713
+ value: v,
714
+ onChangeProp: d,
715
+ onChangeReinit: c,
716
+ proxyRef: l
717
717
  }) => {
718
- const i = Ce(void 0);
719
- i.current === void 0 && (i.current = c instanceof Z ? c : new Z(c), s == null || s(i.current.get(), c instanceof Z ? c.get() : void 0, !0));
720
- const v = Rr();
721
- return hr(b, () => i.current.get(), [i.current.get()]), yr(() => {
722
- const d = i.current.subscribe(
723
- p ?? (() => {
718
+ const u = Ce(void 0);
719
+ u.current === void 0 && (u.current = v instanceof Z ? v : new Z(a(v)), c == null || c(u.current.get(), v instanceof Z ? v.get() : void 0, !0));
720
+ const p = _r();
721
+ return hr(l, () => u.current.get(), [u.current.get()]), yr(() => {
722
+ const S = u.current.subscribe(
723
+ d ?? (() => {
724
724
  }),
725
- (...x) => {
726
- Y(s) && s(...x), v();
725
+ (...m) => {
726
+ Y(c) && c(...m), p();
727
727
  },
728
728
  null
729
729
  );
730
730
  return () => {
731
- i.current.unsubscribe(d);
731
+ u.current.unsubscribe(S);
732
732
  };
733
- }, [p, s, v]), /* @__PURE__ */ wr.jsx(h.Provider, { value: i.current, children: a });
733
+ }, [d, c, p]), /* @__PURE__ */ Or.jsx(h.Provider, { value: u.current, children: f });
734
734
  },
735
735
  ["children", "onChangeProp", "onChangeReinit", "proxyRef"],
736
736
  h.name + ".Provider"
737
737
  );
738
738
  }
739
- function Yr(h, a = [], c, p, s = !0) {
740
- const b = mr(h);
741
- if (b === void 0)
739
+ function Yr(...[
740
+ h,
741
+ a = [],
742
+ f,
743
+ v,
744
+ d = !0
745
+ ]) {
746
+ const c = gr(h);
747
+ if (c === void 0)
742
748
  throw new Error(`No ${h.name} provider found.`);
743
- const i = Ce({ value: b }), v = Er((x) => {
744
- const E = b.subscribe(
745
- (T, P, k) => {
746
- i.current = { value: b }, x(), Y(c) && c(T, P, k);
749
+ const l = Ce({ value: c }), u = mr((S) => {
750
+ const m = c.subscribe(
751
+ (T, x, k) => {
752
+ l.current = { value: c }, S(), Y(f) && f(T, x, k);
747
753
  },
748
- (T, P) => {
749
- s && (i.current = { value: b }, x()), Y(p) && p(T, P);
754
+ (T, x) => {
755
+ d && (l.current = { value: c }, S()), Y(v) && v(T, x);
750
756
  },
751
757
  a
752
758
  );
753
- return () => b.unsubscribe(E);
754
- }, [a, s, c, p, b]), d = gr(
755
- v,
756
- () => i.current,
757
- () => i.current
759
+ return () => c.unsubscribe(m);
760
+ }, [a, d, f, v, c]), p = Er(
761
+ u,
762
+ () => l.current,
763
+ () => l.current
758
764
  );
759
765
  return new Tr(
760
766
  // The binding is necessary to fix a strange issue I'm having.
761
- { value: d.value.get(), set: d.value.set.bind(d.value) },
767
+ { value: p.value.get(), set: p.value.set.bind(p.value) },
762
768
  ["value", "set"]
763
769
  );
764
770
  }
771
+ function Vr(h) {
772
+ return h;
773
+ }
774
+ function Lr(h) {
775
+ return h;
776
+ }
765
777
  export {
766
778
  Z as ProxyContextValueWrapper,
779
+ Lr as createOnChangeProp,
780
+ Vr as createOnChangeReinit,
767
781
  $r as createProxyContext,
768
782
  Wr as createProxyContextProvider,
769
- Or as evaluateDependency,
783
+ wr as evaluateDependency,
770
784
  Yr as useProxyContext
771
785
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ptolemy2002/react-proxy-context",
3
3
  "private": false,
4
- "version": "2.5.0",
4
+ "version": "2.6.1",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",