@reckona/mreact-compat 0.0.171 → 0.0.173

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 (58) hide show
  1. package/dist/devtools.js +2 -0
  2. package/dist/devtools.js.map +1 -1
  3. package/dist/dom-host-rules.d.ts.map +1 -1
  4. package/dist/dom-host-rules.js +4 -1
  5. package/dist/dom-host-rules.js.map +1 -1
  6. package/dist/dom-props.js +2 -1
  7. package/dist/dom-props.js.map +1 -1
  8. package/dist/element.d.ts +13 -1
  9. package/dist/element.d.ts.map +1 -1
  10. package/dist/element.js +30 -2
  11. package/dist/element.js.map +1 -1
  12. package/dist/fiber-commit.js +2 -1
  13. package/dist/fiber-commit.js.map +1 -1
  14. package/dist/fiber-host.d.ts +1 -1
  15. package/dist/fiber-host.d.ts.map +1 -1
  16. package/dist/fiber-host.js +1 -1
  17. package/dist/fiber-host.js.map +1 -1
  18. package/dist/fiber.d.ts +2 -1
  19. package/dist/fiber.d.ts.map +1 -1
  20. package/dist/fiber.js +2 -0
  21. package/dist/fiber.js.map +1 -1
  22. package/dist/hooks.d.ts +9 -0
  23. package/dist/hooks.d.ts.map +1 -1
  24. package/dist/hooks.js +127 -44
  25. package/dist/hooks.js.map +1 -1
  26. package/dist/host-reconciler.d.ts +2 -0
  27. package/dist/host-reconciler.d.ts.map +1 -1
  28. package/dist/host-reconciler.js +696 -55
  29. package/dist/host-reconciler.js.map +1 -1
  30. package/dist/jsx-dev-runtime.d.ts +3 -1
  31. package/dist/jsx-dev-runtime.d.ts.map +1 -1
  32. package/dist/jsx-dev-runtime.js +3 -1
  33. package/dist/jsx-dev-runtime.js.map +1 -1
  34. package/dist/jsx-runtime.d.ts +4 -2
  35. package/dist/jsx-runtime.d.ts.map +1 -1
  36. package/dist/jsx-runtime.js +9 -1
  37. package/dist/jsx-runtime.js.map +1 -1
  38. package/dist/reactive-prop-cell.d.ts +13 -0
  39. package/dist/reactive-prop-cell.d.ts.map +1 -0
  40. package/dist/reactive-prop-cell.js +36 -0
  41. package/dist/reactive-prop-cell.js.map +1 -0
  42. package/dist/root.d.ts.map +1 -1
  43. package/dist/root.js +8 -5
  44. package/dist/root.js.map +1 -1
  45. package/package.json +3 -3
  46. package/src/devtools.ts +2 -0
  47. package/src/dom-host-rules.ts +4 -1
  48. package/src/dom-props.ts +2 -1
  49. package/src/element.ts +60 -3
  50. package/src/fiber-commit.ts +3 -1
  51. package/src/fiber-host.ts +2 -0
  52. package/src/fiber.ts +4 -0
  53. package/src/hooks.ts +187 -46
  54. package/src/host-reconciler.ts +1031 -70
  55. package/src/jsx-dev-runtime.ts +4 -0
  56. package/src/jsx-runtime.ts +16 -0
  57. package/src/reactive-prop-cell.ts +67 -0
  58. package/src/root.ts +14 -4
package/dist/element.d.ts CHANGED
@@ -5,6 +5,7 @@ export declare const MEMO_TYPE: unique symbol;
5
5
  export declare const LAZY_TYPE: unique symbol;
6
6
  export declare const STRICT_MODE_TYPE: unique symbol;
7
7
  export declare const PORTAL_TYPE: unique symbol;
8
+ export declare const REACTIVE_DOM_BLOCK_TYPE: unique symbol;
8
9
  /** Symbol used to group JSX children without adding a host element. */
9
10
  export declare const Fragment: unique symbol;
10
11
  /** Symbol used to suspend rendering while async content resolves. */
@@ -18,6 +19,8 @@ export declare const Profiler: unique symbol;
18
19
  export declare const HOST_CHILDREN_ONLY_PROPS_META: unique symbol;
19
20
  /** Metadata key that links a state value to a reactive text binding. */
20
21
  export declare const REACTIVE_TEXT_BINDING_META: unique symbol;
22
+ /** Metadata key that links compiler-owned DOM blocks to component state. */
23
+ export declare const REACTIVE_STATE_BINDING_META: unique symbol;
21
24
  export interface ReactCompatProviderType {
22
25
  $$typeof: symbol;
23
26
  context: unknown;
@@ -27,7 +30,7 @@ export interface ReactCompatContextProviderShorthand {
27
30
  Consumer: unknown;
28
31
  }
29
32
  /** Element type accepted by createElement, JSX, and renderer entrypoints. */
30
- export type ElementType<P = Record<string, unknown>> = string | typeof Fragment | typeof Suspense | typeof SuspenseList | typeof Activity | typeof Profiler | typeof ERROR_BOUNDARY_TYPE | typeof STRICT_MODE_TYPE | ReactCompatContextProviderShorthand | ReactCompatProviderType | ForwardRefType<P> | MemoType<P> | LazyType<P> | ((props: P) => ReactCompatNode | PromiseLike<ReactCompatNode>) | (new (props: P) => {
33
+ export type ElementType<P = Record<string, unknown>> = string | typeof Fragment | typeof Suspense | typeof SuspenseList | typeof Activity | typeof Profiler | typeof ERROR_BOUNDARY_TYPE | typeof REACTIVE_DOM_BLOCK_TYPE | typeof STRICT_MODE_TYPE | ReactCompatContextProviderShorthand | ReactCompatProviderType | ForwardRefType<P> | MemoType<P> | LazyType<P> | ((props: P) => ReactCompatNode | PromiseLike<ReactCompatNode>) | (new (props: P) => {
31
34
  render(): ReactCompatNode;
32
35
  });
33
36
  /** Element-shaped renderable value accepted regardless of its original prop shape. */
@@ -64,6 +67,15 @@ export interface ReactCompatPortal {
64
67
  children: ReactCompatNode;
65
68
  key: string | null;
66
69
  }
70
+ export interface ReactiveDomBlockResult {
71
+ node: ChildNode;
72
+ dispose?: (() => void) | undefined;
73
+ }
74
+ export type ReactiveDomBlockRender<P = unknown> = (props: P) => ReactiveDomBlockResult;
75
+ export interface ReactiveDomBlockProps {
76
+ render: ReactiveDomBlockRender;
77
+ blockProps?: Record<string, unknown> | undefined;
78
+ }
67
79
  /** Creates a React-compatible element from a type, config object, and children. */
68
80
  export declare function createElement<P extends object>(type: ElementType<P>, config: (P & ReactReservedProps) | null, ...children: ReactCompatNode[]): ReactCompatElement<P>;
69
81
  /** Creates a React-compatible element from JSX runtime arguments. */
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
package/dist/element.js CHANGED
@@ -5,6 +5,7 @@ export const MEMO_TYPE = Symbol.for("react.memo");
5
5
  export const LAZY_TYPE = Symbol.for("react.lazy");
6
6
  export const STRICT_MODE_TYPE = Symbol.for("react.strict_mode");
7
7
  export const PORTAL_TYPE = Symbol.for("react.portal");
8
+ export const REACTIVE_DOM_BLOCK_TYPE = Symbol.for("modular.react.reactive_dom_block");
8
9
  const REACT_COMPAT_PROVIDER_TYPE = Symbol.for("react.context");
9
10
  /** Symbol used to group JSX children without adding a host element. */
10
11
  export const Fragment = Symbol.for("react.fragment");
@@ -19,15 +20,16 @@ export const Profiler = Symbol.for("react.profiler");
19
20
  export const HOST_CHILDREN_ONLY_PROPS_META = Symbol.for("modular.react.host_children_only_props_meta");
20
21
  /** Metadata key that links a state value to a reactive text binding. */
21
22
  export const REACTIVE_TEXT_BINDING_META = Symbol.for("modular.react.reactive_text_binding_meta");
23
+ /** Metadata key that links compiler-owned DOM blocks to component state. */
24
+ export const REACTIVE_STATE_BINDING_META = Symbol.for("modular.react.reactive_state_binding_meta");
22
25
  const hasOwnProperty = Object.prototype.hasOwnProperty;
23
26
  export function createElement(type, config) {
24
27
  const childCount = arguments.length - 2;
25
28
  if (typeof type === "string") {
26
29
  const key = config?.key === undefined ? null : String(config.key);
27
30
  const ref = config?.ref ?? null;
28
- const props = copyCreateElementProps(config);
31
+ const props = copyHostCreateElementProps(config);
29
32
  assignCreateElementChildren(props, childCount, arguments);
30
- setHostOwnPropsMeta(props);
31
33
  return {
32
34
  $$typeof: REACT_COMPAT_ELEMENT_TYPE,
33
35
  type,
@@ -195,6 +197,32 @@ function copyCreateElementProps(source) {
195
197
  copyInternalElementSymbolProps(source, props);
196
198
  return props;
197
199
  }
200
+ function copyHostCreateElementProps(source) {
201
+ const props = {};
202
+ if (source === null || source === undefined) {
203
+ props[HOST_CHILDREN_ONLY_PROPS_META] = true;
204
+ return props;
205
+ }
206
+ let hasNonChildrenProp = false;
207
+ const stringSource = source;
208
+ for (const name in source) {
209
+ if (!hasOwnProperty.call(source, name)) {
210
+ continue;
211
+ }
212
+ if (name !== "key" &&
213
+ name !== "ref" &&
214
+ name !== "__self" &&
215
+ name !== "__source") {
216
+ props[name] = stringSource[name];
217
+ hasNonChildrenProp ||= name !== "children";
218
+ }
219
+ }
220
+ copyInternalElementSymbolProps(source, props);
221
+ if (!hasNonChildrenProp) {
222
+ props[HOST_CHILDREN_ONLY_PROPS_META] = true;
223
+ }
224
+ return props;
225
+ }
198
226
  function copyOwnStringElementProps(source, target, omitChildren) {
199
227
  const stringSource = source;
200
228
  for (const name in source) {
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACtD,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC/D,uEAAuE;AACvE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrD,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC9D,yEAAyE;AACzE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrD,kEAAkE;AAClE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CACrD,6CAA6C,CAC9C,CAAC;AACF,wEAAwE;AACxE,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAClD,0CAA0C,CAC3C,CAAC;AACF,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AA8EvD,MAAM,UAAU,aAAa,CAC3B,IAAoB,EACpB,MAAuC;IAEvC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAExC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAE1C,CAAC;QAEF,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE1D,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAE3B,OAAO;YACL,QAAQ,EAAE,yBAAyB;YACnC,IAAI;YACJ,GAAG;YACH,GAAG;YACH,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAClB,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC;IAChC,MAAM,KAAK,GAAG,iBAAiB,CAC7B,cAAc,EACd,sBAAsB,CAAC,MAAM,CAAC,CAG/B,CAAC;IAEF,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAE1D,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,yBAAyB;QACnC,IAAI,EAAE,cAAgC;QACtC,GAAG;QACH,GAAG;QACH,KAAK,EAAE,KAA2C;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAqC,EACrC,UAAkB,EAClB,IAAgB;IAEhB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAoB,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;IAE7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAoB,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,0BAA0B,CACxC,IAAoB,EACpB,MAAwE,EACxE,WAAqB;IAErB,MAAM,cAAc,GAClB,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,GAAG,GAAG,WAAW,KAAK,SAAS;QACnC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACrB,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC;IAChC,MAAM,WAAW,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvG,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;IAClC,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,CAAC,OAAO,cAAc,KAAK,QAAQ;QAC/C,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE,WAAW,CAAC,CAEjD,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,yBAAyB;QACnC,IAAI,EAAE,cAAgC;QACtC,GAAG;QACH,GAAG;QACH,KAAK;KACN,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,oBAAoB,CAClC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAgC,CAAC,QAAQ,KAAK,yBAAyB,CACzE,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAC1B,QAAyB,EACzB,SAAkB,EAClB,GAAa;IAEb,OAAO;QACL,QAAQ,EAAE,WAAW;QACrB,SAAS;QACT,QAAQ;QACR,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAgC,CAAC,QAAQ,KAAK,WAAW,CAC3D,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,SAAS;IACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAyBD,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CACxB,MAAsG;IAEtG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAqC,EAAE,CAAC;AACvF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,IAAI,CAClB,IAAoB,EACpB,OAA2C;IAE3C,OAAO,OAAO,KAAK,SAAS;QAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;QAC/B,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,IAAI,CAClB,IAAgD;IAEhD,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,IAAI;QACJ,MAAM,EAAE,eAAe;KACxB,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE3C,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAC1B,OAA8B,EAC9B,KAA+C,EAC/C,GAAG,QAA2B;IAE9B,MAAM,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxF,MAAM,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAChF,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAEtD,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,SAAgD,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,SAAgD,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACxE,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,yBAAyB;QACnC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG;QACH,GAAG;QACH,KAAK,EAAE,SAA+C;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAiC,EACjC,IAAa,EACb,YAAY,GAAG,KAAK,EACpB,cAAoC,IAAI;IAExC,MAAM,KAAK,GAAiC,EAAE,CAAC;IAE/C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,KAAgC,CAAC;IAC1C,CAAC;IAED,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/B,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAiC;IAEjC,MAAM,KAAK,GAAiC,EAAE,CAAC;IAE/C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,KAAgC,CAAC;IAC1C,CAAC;IAED,MAAM,YAAY,GAAG,MAAiC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACvC,SAAS;QACX,CAAC;QAED,IACE,IAAI,KAAK,KAAK;YACd,IAAI,KAAK,KAAK;YACd,IAAI,KAAK,QAAQ;YACjB,IAAI,KAAK,UAAU,EACnB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAc,EACd,MAA+B,EAC/B,YAAqB;IAErB,MAAM,YAAY,GAAG,MAAiC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACvC,SAAS;QACX,CAAC;QAED,IACE,IAAI,KAAK,KAAK;YACd,IAAI,KAAK,KAAK;YACd,IAAI,KAAK,QAAQ;YACjB,IAAI,KAAK,UAAU;YACnB,CAAC,CAAC,YAAY,IAAI,IAAI,KAAK,UAAU,CAAC,EACtC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAc,EACd,MAAoC;IAEpC,MAAM,YAAY,GAAG,MAAsC,CAAC;IAC5D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAc,EACd,MAAoC;IAEpC,MAAM,YAAY,GAAG,MAAsC,CAAC;IAC5D,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,0BAA0B,CAAC,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAI,IAAoB;IACnD,OAAO,qCAAqC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,QAA2B,CAAC,CAAC,CAAC,IAAI,CAAC;AAChG,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAa,EACb,KAA8B;IAE9B,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAI,IAA+D;QACnF,EAAE,YAAY,CAAC;IAEjB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AASD,SAAS,qCAAqC,CAC5C,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAI,KAAgC,CAAC,QAAQ,CAAC;IAE5D,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QAChB,QAAmC,CAAC,QAAQ,KAAK,0BAA0B,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA8B;IACzD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,KAAoD,CACnD,6BAA6B,CAC9B,GAAG,IAAI,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA8B;IAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,CACD,QAAyB,EACzB,EAAqF;QAErF,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACpD,EAAE,CAAC,KAA6D,EAAE,KAAK,CAAC,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,CACL,QAAyB,EACzB,EAAwF;QAExF,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9C,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,QAAyB;QAC7B,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,QAAyB;QAC/B,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,QAAyB;QAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAyD,CAAC;IAC1E,CAAC;CACF,CAAC;AAEF,SAAS,YAAY,CACnB,QAAyB;IAEzB,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CACrC,CAAC,KAAK,EAAiE,EAAE,CACvE,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAyB;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpB,CAAC;AAQD,kEAAkE;AAClE,MAAM,UAAU,mBAAmB,CACjC,OAA6B,EAC7B,QAAyB;IAEzB,OAAO,aAAa,CAAC,mBAAmB,EAAE;QACxC,GAAG,OAAO;QACV,QAAQ;KACT,CAAC,CAAC;AACL,CAAC","sourcesContent":["export const REACT_COMPAT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\");\nexport const ERROR_BOUNDARY_TYPE = Symbol.for(\"modular.react.error_boundary\");\nexport const FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\");\nexport const MEMO_TYPE = Symbol.for(\"react.memo\");\nexport const LAZY_TYPE = Symbol.for(\"react.lazy\");\nexport const STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\");\nexport const PORTAL_TYPE = Symbol.for(\"react.portal\");\nconst REACT_COMPAT_PROVIDER_TYPE = Symbol.for(\"react.context\");\n/** Symbol used to group JSX children without adding a host element. */\nexport const Fragment = Symbol.for(\"react.fragment\");\n/** Symbol used to suspend rendering while async content resolves. */\nexport const Suspense = Symbol.for(\"react.suspense\");\n/** Symbol used to coordinate multiple suspense boundaries. */\nexport const SuspenseList = Symbol.for(\"react.suspense_list\");\n/** Symbol used to mark activity boundaries in React-compatible trees. */\nexport const Activity = Symbol.for(\"react.activity\");\n/** Symbol used to measure render work with profiler callbacks. */\nexport const Profiler = Symbol.for(\"react.profiler\");\nexport const HOST_CHILDREN_ONLY_PROPS_META = Symbol.for(\n \"modular.react.host_children_only_props_meta\",\n);\n/** Metadata key that links a state value to a reactive text binding. */\nexport const REACTIVE_TEXT_BINDING_META = Symbol.for(\n \"modular.react.reactive_text_binding_meta\",\n);\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nexport interface ReactCompatProviderType {\n $$typeof: symbol;\n context: unknown;\n}\n\nexport interface ReactCompatContextProviderShorthand {\n Provider: ReactCompatProviderType;\n Consumer: unknown;\n}\n\n/** Element type accepted by createElement, JSX, and renderer entrypoints. */\nexport type ElementType<P = Record<string, unknown>> =\n | string\n | typeof Fragment\n | typeof Suspense\n | typeof SuspenseList\n | typeof Activity\n | typeof Profiler\n | typeof ERROR_BOUNDARY_TYPE\n | typeof STRICT_MODE_TYPE\n | ReactCompatContextProviderShorthand\n | ReactCompatProviderType\n | ForwardRefType<P>\n | MemoType<P>\n | LazyType<P>\n | ((props: P) => ReactCompatNode | PromiseLike<ReactCompatNode>)\n | (new (props: P) => { render(): ReactCompatNode });\n\n/** Element-shaped renderable value accepted regardless of its original prop shape. */\nexport interface ReactCompatRenderableElement {\n /** React-compatible element marker. */\n $$typeof: typeof REACT_COMPAT_ELEMENT_TYPE;\n /** Host tag, component, or special element type. */\n type: unknown;\n /** Normalized React key. */\n key: string | null;\n /** Normalized React ref. */\n ref: unknown;\n /** Element props with children widened to the renderable node surface. */\n props: { children?: ReactCompatNode };\n}\n\n/** Renderable value accepted by the React-compatible renderer. */\nexport type ReactCompatNode =\n | ReactCompatRenderableElement\n | ReactCompatPortal\n | string\n | number\n | boolean\n | null\n | undefined\n | ReactCompatNode[];\n\n/** React-compatible element record produced by createElement and JSX transforms. */\nexport interface ReactCompatElement<P = Record<string, unknown>> {\n $$typeof: typeof REACT_COMPAT_ELEMENT_TYPE;\n type: ElementType<P>;\n key: string | null;\n ref: unknown;\n props: P & { children?: ReactCompatNode };\n}\n\n/** Portal record that renders children into an external DOM container. */\nexport interface ReactCompatPortal {\n $$typeof: typeof PORTAL_TYPE;\n container: Element;\n children: ReactCompatNode;\n key: string | null;\n}\n\n/** Creates a React-compatible element from a type, config object, and children. */\nexport function createElement<P extends object>(\n type: ElementType<P>,\n config: (P & ReactReservedProps) | null,\n ...children: ReactCompatNode[]\n): ReactCompatElement<P>;\nexport function createElement<P extends object>(\n type: ElementType<P>,\n config: (P & ReactReservedProps) | null,\n): ReactCompatElement<P> {\n const childCount = arguments.length - 2;\n\n if (typeof type === \"string\") {\n const key = config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const props = copyCreateElementProps(config) as P & {\n children?: ReactCompatNode;\n };\n\n assignCreateElementChildren(props, childCount, arguments);\n\n setHostOwnPropsMeta(props);\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type,\n key,\n ref,\n props,\n };\n }\n\n const normalizedType =\n typeof type === \"object\" && type !== null ? normalizeElementType(type) : type;\n const key = config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const props = applyDefaultProps(\n normalizedType,\n copyCreateElementProps(config),\n ) as P & {\n children?: ReactCompatNode;\n };\n\n assignCreateElementChildren(props, childCount, arguments);\n\n if (typeof normalizedType === \"string\") {\n setHostOwnPropsMeta(props);\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: normalizedType as ElementType<P>,\n key,\n ref,\n props: props as P & { children?: ReactCompatNode },\n };\n}\n\nfunction assignCreateElementChildren(\n props: { children?: ReactCompatNode },\n childCount: number,\n args: IArguments,\n): void {\n if (childCount === 1) {\n props.children = args[2] as ReactCompatNode;\n return;\n }\n\n if (childCount <= 1) {\n return;\n }\n\n const children: ReactCompatNode[] = [];\n children.length = childCount;\n\n for (let index = 0; index < childCount; index += 1) {\n children[index] = args[index + 2] as ReactCompatNode;\n }\n\n props.children = children;\n}\n\n/** Creates a React-compatible element from JSX runtime arguments. */\nexport function createElementFromJsxConfig<P extends object>(\n type: ElementType<P>,\n config: (P & ReactReservedProps & { children?: ReactCompatNode }) | null,\n keyArgument?: unknown,\n): ReactCompatElement<P> {\n const normalizedType =\n typeof type === \"object\" && type !== null ? normalizeElementType(type) : type;\n const key = keyArgument !== undefined\n ? String(keyArgument)\n : config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const hasChildren = config !== null && config !== undefined && hasOwnProperty.call(config, \"children\");\n const children = config?.children;\n const copiedProps = copyElementProps(config, undefined, true);\n const props = (typeof normalizedType === \"string\"\n ? copiedProps\n : applyDefaultProps(normalizedType, copiedProps)) as P & {\n children?: ReactCompatNode;\n };\n\n if (hasChildren) {\n props.children = children;\n }\n\n if (typeof normalizedType === \"string\") {\n setHostOwnPropsMeta(props);\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: normalizedType as ElementType<P>,\n key,\n ref,\n props,\n };\n}\n\n/** Returns true when a value is a React-compatible element record. */\nexport function isReactCompatElement(\n value: unknown,\n): value is ReactCompatElement {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_ELEMENT_TYPE\n );\n}\n\n/** Creates a portal that renders children into a DOM container outside the parent tree. */\nexport function createPortal(\n children: ReactCompatNode,\n container: Element,\n key?: unknown,\n): ReactCompatPortal {\n return {\n $$typeof: PORTAL_TYPE,\n container,\n children,\n key: key === undefined ? null : String(key),\n };\n}\n\n/** Returns true when a value is a React-compatible portal record. */\nexport function isReactCompatPortal(value: unknown): value is ReactCompatPortal {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === PORTAL_TYPE\n );\n}\n\n/** Creates a mutable ref object with a null initial current value. */\nexport function createRef<T>(): { current: T | null } {\n return { current: null };\n}\n\n/** Element type record produced by forwardRef. */\nexport interface ForwardRefType<P = Record<string, unknown>> {\n $$typeof: typeof FORWARD_REF_TYPE;\n render: (props: P, ref: unknown) => ReactCompatNode;\n}\n\n/** Element type record produced by memo. */\nexport interface MemoType<P = Record<string, unknown>> {\n $$typeof: typeof MEMO_TYPE;\n type: ElementType<P>;\n compare?: (previous: P, next: P) => boolean;\n}\n\n/** Element type record produced by lazy. */\nexport interface LazyType<P = Record<string, unknown>> {\n $$typeof: typeof LAZY_TYPE;\n load: () => Promise<{ default: ElementType<P> }>;\n status: \"uninitialized\" | \"pending\" | \"resolved\" | \"rejected\";\n promise?: Promise<void>;\n resolved?: ElementType<P>;\n error?: unknown;\n}\n\n/** Wraps a component so it can receive a ref as the second render argument. */\nexport function forwardRef<P, T>(\n render: (props: P, ref: { current: T | null } | ((value: T | null) => void) | null) => ReactCompatNode,\n): ForwardRefType<P & { ref?: unknown }> {\n return { $$typeof: FORWARD_REF_TYPE, render: render as ForwardRefType<P>[\"render\"] };\n}\n\n/** Wraps an element type with optional prop comparison for memoized renders. */\nexport function memo<P>(\n type: ElementType<P>,\n compare?: (previous: P, next: P) => boolean,\n): MemoType<P> {\n return compare === undefined\n ? { $$typeof: MEMO_TYPE, type }\n : { $$typeof: MEMO_TYPE, type, compare };\n}\n\n/** Creates a lazy element type that resolves its implementation on demand. */\nexport function lazy<P>(\n load: () => Promise<{ default: ElementType<P> }>,\n): LazyType<P> {\n return {\n $$typeof: LAZY_TYPE,\n load,\n status: \"uninitialized\",\n };\n}\n\n/** Symbol used to mark a subtree for strict-mode development checks. */\nexport const StrictMode = STRICT_MODE_TYPE;\n\n/** Clones an existing element with merged props and optional replacement children. */\nexport function cloneElement<P extends object>(\n element: ReactCompatElement<P>,\n props: (Partial<P> & ReactReservedProps) | null,\n ...children: ReactCompatNode[]\n): ReactCompatElement<P> {\n const key = props === null || props.key === undefined ? element.key : String(props.key);\n const ref = props === null || props.ref === undefined ? element.ref : props.ref;\n const nextProps = copyElementProps(props, element.props) as P & {\n children?: ReactCompatNode;\n };\n\n if (children.length === 1) {\n (nextProps as P & { children?: ReactCompatNode }).children = children[0];\n } else if (children.length > 1) {\n (nextProps as P & { children?: ReactCompatNode }).children = children;\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: element.type,\n key,\n ref,\n props: nextProps as P & { children?: ReactCompatNode },\n };\n}\n\nfunction copyElementProps(\n source: object | null | undefined,\n base?: object,\n omitChildren = false,\n copySymbols: boolean | \"internal\" = true,\n): Record<string, unknown> {\n const props: Record<PropertyKey, unknown> = {};\n\n if (base !== undefined) {\n copyOwnStringElementProps(base, props, omitChildren);\n }\n\n if (source === null || source === undefined) {\n return props as Record<string, unknown>;\n }\n\n copyOwnStringElementProps(source, props, omitChildren);\n if (copySymbols === \"internal\") {\n copyInternalElementSymbolProps(source, props);\n } else if (copySymbols) {\n copyOwnSymbolElementProps(source, props);\n }\n return props as Record<string, unknown>;\n}\n\nfunction copyCreateElementProps(\n source: object | null | undefined,\n): Record<string, unknown> {\n const props: Record<PropertyKey, unknown> = {};\n\n if (source === null || source === undefined) {\n return props as Record<string, unknown>;\n }\n\n const stringSource = source as Record<string, unknown>;\n for (const name in source) {\n if (!hasOwnProperty.call(source, name)) {\n continue;\n }\n\n if (\n name !== \"key\" &&\n name !== \"ref\" &&\n name !== \"__self\" &&\n name !== \"__source\"\n ) {\n props[name] = stringSource[name];\n }\n }\n\n copyInternalElementSymbolProps(source, props);\n return props as Record<string, unknown>;\n}\n\nfunction copyOwnStringElementProps(\n source: object,\n target: Record<string, unknown>,\n omitChildren: boolean,\n): void {\n const stringSource = source as Record<string, unknown>;\n for (const name in source) {\n if (!hasOwnProperty.call(source, name)) {\n continue;\n }\n\n if (\n name !== \"key\" &&\n name !== \"ref\" &&\n name !== \"__self\" &&\n name !== \"__source\" &&\n (!omitChildren || name !== \"children\")\n ) {\n target[name] = stringSource[name];\n }\n }\n}\n\nfunction copyOwnSymbolElementProps(\n source: object,\n target: Record<PropertyKey, unknown>,\n): void {\n const symbolSource = source as Record<PropertyKey, unknown>;\n for (const symbol of Object.getOwnPropertySymbols(source)) {\n target[symbol] = symbolSource[symbol];\n }\n}\n\nfunction copyInternalElementSymbolProps(\n source: object,\n target: Record<PropertyKey, unknown>,\n): void {\n const symbolSource = source as Record<PropertyKey, unknown>;\n if (hasOwnProperty.call(source, REACTIVE_TEXT_BINDING_META)) {\n target[REACTIVE_TEXT_BINDING_META] = symbolSource[REACTIVE_TEXT_BINDING_META];\n }\n}\n\nfunction normalizeElementType<P>(type: ElementType<P>): ElementType<P> {\n return isReactCompatContextProviderShorthand(type) ? (type.Provider as ElementType<P>) : type;\n}\n\nfunction applyDefaultProps(\n type: unknown,\n props: Record<string, unknown>,\n): Record<string, unknown> {\n if (typeof type !== \"function\" && (typeof type !== \"object\" || type === null)) {\n return props;\n }\n\n const defaultProps = (type as { defaultProps?: Record<string, unknown> } | undefined)\n ?.defaultProps;\n\n if (defaultProps === undefined) {\n return props;\n }\n\n for (const [name, value] of Object.entries(defaultProps)) {\n if (props[name] === undefined) {\n props[name] = value;\n }\n }\n\n return props;\n}\n\ninterface ReactReservedProps {\n key?: unknown;\n ref?: unknown;\n __self?: unknown;\n __source?: unknown;\n}\n\nfunction isReactCompatContextProviderShorthand(\n value: unknown,\n): value is ReactCompatContextProviderShorthand {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n\n const provider = (value as { Provider?: unknown }).Provider;\n\n return (\n typeof provider === \"object\" &&\n provider !== null &&\n (provider as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_PROVIDER_TYPE\n );\n}\n\nfunction setHostOwnPropsMeta(props: Record<string, unknown>): void {\n if (hostPropsAreChildrenOnly(props)) {\n (props as { [HOST_CHILDREN_ONLY_PROPS_META]?: true })[\n HOST_CHILDREN_ONLY_PROPS_META\n ] = true;\n }\n}\n\nfunction hostPropsAreChildrenOnly(props: Record<string, unknown>): boolean {\n for (const name in props) {\n if (hasOwnProperty.call(props, name) && name !== \"children\") {\n return false;\n }\n }\n\n return true;\n}\n\n/** Alias for checking whether a value is a React-compatible element. */\nexport const isValidElement = isReactCompatElement;\n\n/** Helpers for iterating, counting, flattening, and validating children. */\nexport const Children = {\n map<T>(\n children: ReactCompatNode,\n fn: (child: Exclude<ReactCompatNode, null | undefined | boolean>, index: number) => T,\n ): T[] | null {\n if (children === null || children === undefined) {\n return null;\n }\n\n return flattenChildren(children).map((child, index) =>\n fn(child as Exclude<ReactCompatNode, null | undefined | boolean>, index),\n );\n },\n forEach(\n children: ReactCompatNode,\n fn: (child: Exclude<ReactCompatNode, null | undefined | boolean>, index: number) => void,\n ): void {\n toChildArray(children).forEach((child, index) => {\n fn(child, index);\n });\n },\n count(children: ReactCompatNode): number {\n if (children === null || children === undefined) {\n return 0;\n }\n\n return flattenChildren(children).length;\n },\n toArray(children: ReactCompatNode): Exclude<ReactCompatNode, null | undefined | boolean>[] {\n return toChildArray(children);\n },\n only(children: ReactCompatNode): Exclude<ReactCompatNode, null | undefined | boolean> {\n const array = toChildArray(children);\n\n if (array.length !== 1) {\n throw new Error(\"Expected exactly one child.\");\n }\n\n return array[0] as Exclude<ReactCompatNode, null | undefined | boolean>;\n },\n};\n\nfunction toChildArray(\n children: ReactCompatNode,\n): Exclude<ReactCompatNode, null | undefined | boolean>[] {\n return flattenChildren(children).filter(\n (child): child is Exclude<ReactCompatNode, null | undefined | boolean> =>\n child !== null && child !== undefined && typeof child !== \"boolean\",\n );\n}\n\nfunction flattenChildren(children: ReactCompatNode): ReactCompatNode[] {\n if (Array.isArray(children)) {\n return children.flatMap((child) => flattenChildren(child));\n }\n\n return [children];\n}\n\n/** Options used to render and observe a React-compatible error boundary. */\nexport interface ErrorBoundaryOptions {\n fallback: (error: Error) => ReactCompatNode;\n onError?: (error: Error) => void;\n}\n\n/** Creates an error boundary element with a fallback renderer. */\nexport function createErrorBoundary(\n options: ErrorBoundaryOptions,\n children: ReactCompatNode,\n): ReactCompatElement<ErrorBoundaryOptions & { children: ReactCompatNode }> {\n return createElement(ERROR_BOUNDARY_TYPE, {\n ...options,\n children,\n });\n}\n"]}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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","sourcesContent":["export const REACT_COMPAT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\");\nexport const ERROR_BOUNDARY_TYPE = Symbol.for(\"modular.react.error_boundary\");\nexport const FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\");\nexport const MEMO_TYPE = Symbol.for(\"react.memo\");\nexport const LAZY_TYPE = Symbol.for(\"react.lazy\");\nexport const STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\");\nexport const PORTAL_TYPE = Symbol.for(\"react.portal\");\nexport const REACTIVE_DOM_BLOCK_TYPE = Symbol.for(\"modular.react.reactive_dom_block\");\nconst REACT_COMPAT_PROVIDER_TYPE = Symbol.for(\"react.context\");\n/** Symbol used to group JSX children without adding a host element. */\nexport const Fragment = Symbol.for(\"react.fragment\");\n/** Symbol used to suspend rendering while async content resolves. */\nexport const Suspense = Symbol.for(\"react.suspense\");\n/** Symbol used to coordinate multiple suspense boundaries. */\nexport const SuspenseList = Symbol.for(\"react.suspense_list\");\n/** Symbol used to mark activity boundaries in React-compatible trees. */\nexport const Activity = Symbol.for(\"react.activity\");\n/** Symbol used to measure render work with profiler callbacks. */\nexport const Profiler = Symbol.for(\"react.profiler\");\nexport const HOST_CHILDREN_ONLY_PROPS_META = Symbol.for(\n \"modular.react.host_children_only_props_meta\",\n);\n/** Metadata key that links a state value to a reactive text binding. */\nexport const REACTIVE_TEXT_BINDING_META = Symbol.for(\n \"modular.react.reactive_text_binding_meta\",\n);\n/** Metadata key that links compiler-owned DOM blocks to component state. */\nexport const REACTIVE_STATE_BINDING_META = Symbol.for(\n \"modular.react.reactive_state_binding_meta\",\n);\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nexport interface ReactCompatProviderType {\n $$typeof: symbol;\n context: unknown;\n}\n\nexport interface ReactCompatContextProviderShorthand {\n Provider: ReactCompatProviderType;\n Consumer: unknown;\n}\n\n/** Element type accepted by createElement, JSX, and renderer entrypoints. */\nexport type ElementType<P = Record<string, unknown>> =\n | string\n | typeof Fragment\n | typeof Suspense\n | typeof SuspenseList\n | typeof Activity\n | typeof Profiler\n | typeof ERROR_BOUNDARY_TYPE\n | typeof REACTIVE_DOM_BLOCK_TYPE\n | typeof STRICT_MODE_TYPE\n | ReactCompatContextProviderShorthand\n | ReactCompatProviderType\n | ForwardRefType<P>\n | MemoType<P>\n | LazyType<P>\n | ((props: P) => ReactCompatNode | PromiseLike<ReactCompatNode>)\n | (new (props: P) => { render(): ReactCompatNode });\n\n/** Element-shaped renderable value accepted regardless of its original prop shape. */\nexport interface ReactCompatRenderableElement {\n /** React-compatible element marker. */\n $$typeof: typeof REACT_COMPAT_ELEMENT_TYPE;\n /** Host tag, component, or special element type. */\n type: unknown;\n /** Normalized React key. */\n key: string | null;\n /** Normalized React ref. */\n ref: unknown;\n /** Element props with children widened to the renderable node surface. */\n props: { children?: ReactCompatNode };\n}\n\n/** Renderable value accepted by the React-compatible renderer. */\nexport type ReactCompatNode =\n | ReactCompatRenderableElement\n | ReactCompatPortal\n | string\n | number\n | boolean\n | null\n | undefined\n | ReactCompatNode[];\n\n/** React-compatible element record produced by createElement and JSX transforms. */\nexport interface ReactCompatElement<P = Record<string, unknown>> {\n $$typeof: typeof REACT_COMPAT_ELEMENT_TYPE;\n type: ElementType<P>;\n key: string | null;\n ref: unknown;\n props: P & { children?: ReactCompatNode };\n}\n\n/** Portal record that renders children into an external DOM container. */\nexport interface ReactCompatPortal {\n $$typeof: typeof PORTAL_TYPE;\n container: Element;\n children: ReactCompatNode;\n key: string | null;\n}\n\nexport interface ReactiveDomBlockResult {\n node: ChildNode;\n dispose?: (() => void) | undefined;\n}\n\n// The render receives a stable reactive props proxy when the block is created\n// with props (createReactiveDomBlock(render, props)); state-only blocks ignore\n// the argument.\nexport type ReactiveDomBlockRender<P = unknown> = (props: P) => ReactiveDomBlockResult;\n\nexport interface ReactiveDomBlockProps {\n render: ReactiveDomBlockRender;\n // Present when the block bridges its component's props into the reactive\n // runtime; carries the latest props on every re-render so the reconciler can\n // push them into the block's prop cell.\n blockProps?: Record<string, unknown> | undefined;\n}\n\n/** Creates a React-compatible element from a type, config object, and children. */\nexport function createElement<P extends object>(\n type: ElementType<P>,\n config: (P & ReactReservedProps) | null,\n ...children: ReactCompatNode[]\n): ReactCompatElement<P>;\nexport function createElement<P extends object>(\n type: ElementType<P>,\n config: (P & ReactReservedProps) | null,\n): ReactCompatElement<P> {\n const childCount = arguments.length - 2;\n\n if (typeof type === \"string\") {\n const key = config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const props = copyHostCreateElementProps(config) as P & {\n children?: ReactCompatNode;\n };\n\n assignCreateElementChildren(props, childCount, arguments);\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type,\n key,\n ref,\n props,\n };\n }\n\n const normalizedType =\n typeof type === \"object\" && type !== null ? normalizeElementType(type) : type;\n const key = config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const props = applyDefaultProps(\n normalizedType,\n copyCreateElementProps(config),\n ) as P & {\n children?: ReactCompatNode;\n };\n\n assignCreateElementChildren(props, childCount, arguments);\n\n if (typeof normalizedType === \"string\") {\n setHostOwnPropsMeta(props);\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: normalizedType as ElementType<P>,\n key,\n ref,\n props: props as P & { children?: ReactCompatNode },\n };\n}\n\nfunction assignCreateElementChildren(\n props: { children?: ReactCompatNode },\n childCount: number,\n args: IArguments,\n): void {\n if (childCount === 1) {\n props.children = args[2] as ReactCompatNode;\n return;\n }\n\n if (childCount <= 1) {\n return;\n }\n\n const children: ReactCompatNode[] = [];\n children.length = childCount;\n\n for (let index = 0; index < childCount; index += 1) {\n children[index] = args[index + 2] as ReactCompatNode;\n }\n\n props.children = children;\n}\n\n/** Creates a React-compatible element from JSX runtime arguments. */\nexport function createElementFromJsxConfig<P extends object>(\n type: ElementType<P>,\n config: (P & ReactReservedProps & { children?: ReactCompatNode }) | null,\n keyArgument?: unknown,\n): ReactCompatElement<P> {\n const normalizedType =\n typeof type === \"object\" && type !== null ? normalizeElementType(type) : type;\n const key = keyArgument !== undefined\n ? String(keyArgument)\n : config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const hasChildren = config !== null && config !== undefined && hasOwnProperty.call(config, \"children\");\n const children = config?.children;\n const copiedProps = copyElementProps(config, undefined, true);\n const props = (typeof normalizedType === \"string\"\n ? copiedProps\n : applyDefaultProps(normalizedType, copiedProps)) as P & {\n children?: ReactCompatNode;\n };\n\n if (hasChildren) {\n props.children = children;\n }\n\n if (typeof normalizedType === \"string\") {\n setHostOwnPropsMeta(props);\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: normalizedType as ElementType<P>,\n key,\n ref,\n props,\n };\n}\n\n/** Returns true when a value is a React-compatible element record. */\nexport function isReactCompatElement(\n value: unknown,\n): value is ReactCompatElement {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_ELEMENT_TYPE\n );\n}\n\n/** Creates a portal that renders children into a DOM container outside the parent tree. */\nexport function createPortal(\n children: ReactCompatNode,\n container: Element,\n key?: unknown,\n): ReactCompatPortal {\n return {\n $$typeof: PORTAL_TYPE,\n container,\n children,\n key: key === undefined ? null : String(key),\n };\n}\n\n/** Returns true when a value is a React-compatible portal record. */\nexport function isReactCompatPortal(value: unknown): value is ReactCompatPortal {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === PORTAL_TYPE\n );\n}\n\n/** Creates a mutable ref object with a null initial current value. */\nexport function createRef<T>(): { current: T | null } {\n return { current: null };\n}\n\n/** Element type record produced by forwardRef. */\nexport interface ForwardRefType<P = Record<string, unknown>> {\n $$typeof: typeof FORWARD_REF_TYPE;\n render: (props: P, ref: unknown) => ReactCompatNode;\n}\n\n/** Element type record produced by memo. */\nexport interface MemoType<P = Record<string, unknown>> {\n $$typeof: typeof MEMO_TYPE;\n type: ElementType<P>;\n compare?: (previous: P, next: P) => boolean;\n}\n\n/** Element type record produced by lazy. */\nexport interface LazyType<P = Record<string, unknown>> {\n $$typeof: typeof LAZY_TYPE;\n load: () => Promise<{ default: ElementType<P> }>;\n status: \"uninitialized\" | \"pending\" | \"resolved\" | \"rejected\";\n promise?: Promise<void>;\n resolved?: ElementType<P>;\n error?: unknown;\n}\n\n/** Wraps a component so it can receive a ref as the second render argument. */\nexport function forwardRef<P, T>(\n render: (props: P, ref: { current: T | null } | ((value: T | null) => void) | null) => ReactCompatNode,\n): ForwardRefType<P & { ref?: unknown }> {\n return { $$typeof: FORWARD_REF_TYPE, render: render as ForwardRefType<P>[\"render\"] };\n}\n\n/** Wraps an element type with optional prop comparison for memoized renders. */\nexport function memo<P>(\n type: ElementType<P>,\n compare?: (previous: P, next: P) => boolean,\n): MemoType<P> {\n return compare === undefined\n ? { $$typeof: MEMO_TYPE, type }\n : { $$typeof: MEMO_TYPE, type, compare };\n}\n\n/** Creates a lazy element type that resolves its implementation on demand. */\nexport function lazy<P>(\n load: () => Promise<{ default: ElementType<P> }>,\n): LazyType<P> {\n return {\n $$typeof: LAZY_TYPE,\n load,\n status: \"uninitialized\",\n };\n}\n\n/** Symbol used to mark a subtree for strict-mode development checks. */\nexport const StrictMode = STRICT_MODE_TYPE;\n\n/** Clones an existing element with merged props and optional replacement children. */\nexport function cloneElement<P extends object>(\n element: ReactCompatElement<P>,\n props: (Partial<P> & ReactReservedProps) | null,\n ...children: ReactCompatNode[]\n): ReactCompatElement<P> {\n const key = props === null || props.key === undefined ? element.key : String(props.key);\n const ref = props === null || props.ref === undefined ? element.ref : props.ref;\n const nextProps = copyElementProps(props, element.props) as P & {\n children?: ReactCompatNode;\n };\n\n if (children.length === 1) {\n (nextProps as P & { children?: ReactCompatNode }).children = children[0];\n } else if (children.length > 1) {\n (nextProps as P & { children?: ReactCompatNode }).children = children;\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: element.type,\n key,\n ref,\n props: nextProps as P & { children?: ReactCompatNode },\n };\n}\n\nfunction copyElementProps(\n source: object | null | undefined,\n base?: object,\n omitChildren = false,\n copySymbols: boolean | \"internal\" = true,\n): Record<string, unknown> {\n const props: Record<PropertyKey, unknown> = {};\n\n if (base !== undefined) {\n copyOwnStringElementProps(base, props, omitChildren);\n }\n\n if (source === null || source === undefined) {\n return props as Record<string, unknown>;\n }\n\n copyOwnStringElementProps(source, props, omitChildren);\n if (copySymbols === \"internal\") {\n copyInternalElementSymbolProps(source, props);\n } else if (copySymbols) {\n copyOwnSymbolElementProps(source, props);\n }\n return props as Record<string, unknown>;\n}\n\nfunction copyCreateElementProps(\n source: object | null | undefined,\n): Record<string, unknown> {\n const props: Record<PropertyKey, unknown> = {};\n\n if (source === null || source === undefined) {\n return props as Record<string, unknown>;\n }\n\n const stringSource = source as Record<string, unknown>;\n for (const name in source) {\n if (!hasOwnProperty.call(source, name)) {\n continue;\n }\n\n if (\n name !== \"key\" &&\n name !== \"ref\" &&\n name !== \"__self\" &&\n name !== \"__source\"\n ) {\n props[name] = stringSource[name];\n }\n }\n\n copyInternalElementSymbolProps(source, props);\n return props as Record<string, unknown>;\n}\n\nfunction copyHostCreateElementProps(\n source: object | null | undefined,\n): Record<string, unknown> {\n const props: Record<PropertyKey, unknown> = {};\n\n if (source === null || source === undefined) {\n props[HOST_CHILDREN_ONLY_PROPS_META] = true;\n return props as Record<string, unknown>;\n }\n\n let hasNonChildrenProp = false;\n const stringSource = source as Record<string, unknown>;\n for (const name in source) {\n if (!hasOwnProperty.call(source, name)) {\n continue;\n }\n\n if (\n name !== \"key\" &&\n name !== \"ref\" &&\n name !== \"__self\" &&\n name !== \"__source\"\n ) {\n props[name] = stringSource[name];\n hasNonChildrenProp ||= name !== \"children\";\n }\n }\n\n copyInternalElementSymbolProps(source, props);\n if (!hasNonChildrenProp) {\n props[HOST_CHILDREN_ONLY_PROPS_META] = true;\n }\n return props as Record<string, unknown>;\n}\n\nfunction copyOwnStringElementProps(\n source: object,\n target: Record<string, unknown>,\n omitChildren: boolean,\n): void {\n const stringSource = source as Record<string, unknown>;\n for (const name in source) {\n if (!hasOwnProperty.call(source, name)) {\n continue;\n }\n\n if (\n name !== \"key\" &&\n name !== \"ref\" &&\n name !== \"__self\" &&\n name !== \"__source\" &&\n (!omitChildren || name !== \"children\")\n ) {\n target[name] = stringSource[name];\n }\n }\n}\n\nfunction copyOwnSymbolElementProps(\n source: object,\n target: Record<PropertyKey, unknown>,\n): void {\n const symbolSource = source as Record<PropertyKey, unknown>;\n for (const symbol of Object.getOwnPropertySymbols(source)) {\n target[symbol] = symbolSource[symbol];\n }\n}\n\nfunction copyInternalElementSymbolProps(\n source: object,\n target: Record<PropertyKey, unknown>,\n): void {\n const symbolSource = source as Record<PropertyKey, unknown>;\n if (hasOwnProperty.call(source, REACTIVE_TEXT_BINDING_META)) {\n target[REACTIVE_TEXT_BINDING_META] = symbolSource[REACTIVE_TEXT_BINDING_META];\n }\n}\n\nfunction normalizeElementType<P>(type: ElementType<P>): ElementType<P> {\n return isReactCompatContextProviderShorthand(type) ? (type.Provider as ElementType<P>) : type;\n}\n\nfunction applyDefaultProps(\n type: unknown,\n props: Record<string, unknown>,\n): Record<string, unknown> {\n if (typeof type !== \"function\" && (typeof type !== \"object\" || type === null)) {\n return props;\n }\n\n const defaultProps = (type as { defaultProps?: Record<string, unknown> } | undefined)\n ?.defaultProps;\n\n if (defaultProps === undefined) {\n return props;\n }\n\n for (const [name, value] of Object.entries(defaultProps)) {\n if (props[name] === undefined) {\n props[name] = value;\n }\n }\n\n return props;\n}\n\ninterface ReactReservedProps {\n key?: unknown;\n ref?: unknown;\n __self?: unknown;\n __source?: unknown;\n}\n\nfunction isReactCompatContextProviderShorthand(\n value: unknown,\n): value is ReactCompatContextProviderShorthand {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n\n const provider = (value as { Provider?: unknown }).Provider;\n\n return (\n typeof provider === \"object\" &&\n provider !== null &&\n (provider as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_PROVIDER_TYPE\n );\n}\n\nfunction setHostOwnPropsMeta(props: Record<string, unknown>): void {\n if (hostPropsAreChildrenOnly(props)) {\n (props as { [HOST_CHILDREN_ONLY_PROPS_META]?: true })[\n HOST_CHILDREN_ONLY_PROPS_META\n ] = true;\n }\n}\n\nfunction hostPropsAreChildrenOnly(props: Record<string, unknown>): boolean {\n for (const name in props) {\n if (hasOwnProperty.call(props, name) && name !== \"children\") {\n return false;\n }\n }\n\n return true;\n}\n\n/** Alias for checking whether a value is a React-compatible element. */\nexport const isValidElement = isReactCompatElement;\n\n/** Helpers for iterating, counting, flattening, and validating children. */\nexport const Children = {\n map<T>(\n children: ReactCompatNode,\n fn: (child: Exclude<ReactCompatNode, null | undefined | boolean>, index: number) => T,\n ): T[] | null {\n if (children === null || children === undefined) {\n return null;\n }\n\n return flattenChildren(children).map((child, index) =>\n fn(child as Exclude<ReactCompatNode, null | undefined | boolean>, index),\n );\n },\n forEach(\n children: ReactCompatNode,\n fn: (child: Exclude<ReactCompatNode, null | undefined | boolean>, index: number) => void,\n ): void {\n toChildArray(children).forEach((child, index) => {\n fn(child, index);\n });\n },\n count(children: ReactCompatNode): number {\n if (children === null || children === undefined) {\n return 0;\n }\n\n return flattenChildren(children).length;\n },\n toArray(children: ReactCompatNode): Exclude<ReactCompatNode, null | undefined | boolean>[] {\n return toChildArray(children);\n },\n only(children: ReactCompatNode): Exclude<ReactCompatNode, null | undefined | boolean> {\n const array = toChildArray(children);\n\n if (array.length !== 1) {\n throw new Error(\"Expected exactly one child.\");\n }\n\n return array[0] as Exclude<ReactCompatNode, null | undefined | boolean>;\n },\n};\n\nfunction toChildArray(\n children: ReactCompatNode,\n): Exclude<ReactCompatNode, null | undefined | boolean>[] {\n return flattenChildren(children).filter(\n (child): child is Exclude<ReactCompatNode, null | undefined | boolean> =>\n child !== null && child !== undefined && typeof child !== \"boolean\",\n );\n}\n\nfunction flattenChildren(children: ReactCompatNode): ReactCompatNode[] {\n if (Array.isArray(children)) {\n return children.flatMap((child) => flattenChildren(child));\n }\n\n return [children];\n}\n\n/** Options used to render and observe a React-compatible error boundary. */\nexport interface ErrorBoundaryOptions {\n fallback: (error: Error) => ReactCompatNode;\n onError?: (error: Error) => void;\n}\n\n/** Creates an error boundary element with a fallback renderer. */\nexport function createErrorBoundary(\n options: ErrorBoundaryOptions,\n children: ReactCompatNode,\n): ReactCompatElement<ErrorBoundaryOptions & { children: ReactCompatNode }> {\n return createElement(ERROR_BOUNDARY_TYPE, {\n ...options,\n children,\n });\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ChildDeletion } from "./fiber-flags.js";
2
- import { commitHostFiberRoot } from "./fiber-host.js";
2
+ import { commitHostFiberRoot, disposeUnretainedHostFiberResources } from "./fiber-host.js";
3
3
  import { markRootFinished } from "./fiber-lanes.js";
4
4
  import { runWithHostCommit } from "./hooks.js";
5
5
  export function commitFiberRoot(root, options = {}) {
@@ -88,6 +88,7 @@ function detachDeletedFiberSubtrees(fiber, retained) {
88
88
  }
89
89
  }
90
90
  function detachFiberSubtree(fiber, retained) {
91
+ disposeUnretainedHostFiberResources(fiber, retained);
91
92
  const stack = [fiber];
92
93
  const seen = new Set();
93
94
  while (stack.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"fiber-commit.js","sourceRoot":"","sources":["../src/fiber-commit.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Fiber, FiberRoot } from \"./fiber.js\";\nimport { ChildDeletion } from \"./fiber-flags.js\";\nimport { commitHostFiberRoot } from \"./fiber-host.js\";\nimport { markRootFinished } from \"./fiber-lanes.js\";\nimport { runWithHostCommit } from \"./hooks.js\";\nimport type { RenderOptions } from \"./hydration.js\";\n\ninterface RefRecord {\n ref: unknown;\n node: unknown;\n}\n\nexport function commitFiberRoot(\n root: FiberRoot,\n options: RenderOptions = {},\n): void {\n const finishedWork = root.finishedWork;\n\n if (finishedWork === undefined) {\n return;\n }\n\n if (\n root.refCleanupKnown !== true ||\n root.current.hasRefSubtree ||\n finishedWork.hasRefSubtree\n ) {\n runWithHostCommit(() => {\n cleanupDeletedRefs(root.current, finishedWork);\n });\n }\n const shouldCleanupDeletedSubtrees = mayHaveDeletedFiberSubtrees(finishedWork);\n commitHostFiberRoot(root, finishedWork, options);\n if (shouldCleanupDeletedSubtrees) {\n const retainedFibers = collectRetainedFiberPairs(finishedWork);\n detachUnretainedFiberSubtrees(root.current.child, retainedFibers);\n detachDeletedFiberSubtrees(finishedWork, retainedFibers);\n }\n root.current = finishedWork;\n root.current.stateNode = root;\n markRootFinished(root, finishedWork.lanes);\n root.callbackPriority = root.pendingLanes & -root.pendingLanes;\n root.finishedWork = undefined;\n root.workInProgress = undefined;\n root.workInProgressRootRenderLanes = 0;\n}\n\nexport function detachFiberRefs(fiber: Fiber): void {\n for (const record of collectRefRecords(fiber)) {\n detachRef(record.ref);\n }\n}\n\nfunction mayHaveDeletedFiberSubtrees(fiber: Fiber): boolean {\n return ((fiber.flags | fiber.subtreeFlags) & ChildDeletion) !== 0;\n}\n\nfunction collectRetainedFiberPairs(fiber: Fiber | undefined): Set<Fiber> {\n const retained = new Set<Fiber>();\n const stack: Fiber[] = [];\n\n if (fiber !== undefined) {\n stack.push(fiber);\n }\n\n while (stack.length > 0) {\n const current = stack.pop();\n\n if (current === undefined || retained.has(current)) {\n continue;\n }\n\n retained.add(current);\n if (current.alternate !== undefined) {\n retained.add(current.alternate);\n }\n if (current.sibling !== undefined) {\n stack.push(current.sibling);\n }\n if (current.child !== undefined) {\n stack.push(current.child);\n }\n }\n\n return retained;\n}\n\nfunction detachUnretainedFiberSubtrees(\n fiber: Fiber | undefined,\n retained: ReadonlySet<Fiber>,\n): void {\n let cursor = fiber;\n\n while (cursor !== undefined) {\n const next = cursor.sibling;\n if (retained.has(cursor)) {\n detachUnretainedFiberSubtrees(cursor.child, retained);\n } else {\n detachFiberSubtree(cursor, retained);\n }\n cursor = next;\n }\n}\n\nfunction detachDeletedFiberSubtrees(\n fiber: Fiber | undefined,\n retained: ReadonlySet<Fiber>,\n): void {\n let cursor: Fiber | undefined = fiber;\n\n while (cursor !== undefined) {\n if (cursor.deletions !== undefined) {\n for (const deleted of cursor.deletions) {\n detachFiberSubtree(deleted, retained);\n }\n cursor.deletions = undefined;\n }\n\n detachDeletedFiberSubtrees(cursor.child, retained);\n cursor = cursor.sibling;\n }\n}\n\nfunction detachFiberSubtree(fiber: Fiber, retained: ReadonlySet<Fiber>): void {\n const stack = [fiber];\n const seen = new Set<Fiber>();\n\n while (stack.length > 0) {\n const current = stack.pop();\n\n if (current === undefined || seen.has(current) || retained.has(current)) {\n continue;\n }\n\n seen.add(current);\n\n let child = current.child;\n while (child !== undefined) {\n stack.push(child);\n child = child.sibling;\n }\n\n if (current.alternate !== undefined) {\n stack.push(current.alternate);\n }\n\n current.return = undefined;\n current.child = undefined;\n current.sibling = undefined;\n current.alternate = undefined;\n current.pendingProps = undefined;\n current.memoizedProps = undefined;\n current.memoizedState = undefined;\n current.stateNode = undefined;\n current.deletions = undefined;\n }\n}\n\nfunction cleanupDeletedRefs(previous: Fiber, next: Fiber): void {\n const nextRefs = new Set<unknown>();\n\n collectRefRecords(next, nextRefs);\n\n for (const record of collectRefRecords(previous)) {\n if (!nextRefs.has(record.ref)) {\n detachRef(record.ref);\n }\n }\n}\n\nfunction collectRefRecords(\n fiber: Fiber | undefined,\n refs: Set<unknown> = new Set(),\n): RefRecord[] {\n const records: RefRecord[] = [];\n let cursor = fiber;\n\n while (cursor !== undefined) {\n const ref = getFiberRef(cursor);\n\n if (ref !== undefined && ref !== null) {\n refs.add(ref);\n records.push({ ref, node: cursor.stateNode });\n }\n\n records.push(...collectRefRecords(cursor.child, refs));\n cursor = cursor.sibling;\n }\n\n return records;\n}\n\nfunction getFiberRef(fiber: Fiber): unknown {\n const props = (fiber.memoizedProps ?? fiber.pendingProps) as\n | { ref?: unknown }\n | undefined;\n\n return props?.ref;\n}\n\nfunction detachRef(ref: unknown): void {\n if (typeof ref === \"function\") {\n ref(null);\n return;\n }\n\n if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n (ref as { current: unknown }).current = null;\n }\n}\n"]}
1
+ {"version":3,"file":"fiber-commit.js","sourceRoot":"","sources":["../src/fiber-commit.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Fiber, FiberRoot } from \"./fiber.js\";\nimport { ChildDeletion } from \"./fiber-flags.js\";\nimport { commitHostFiberRoot, disposeUnretainedHostFiberResources } from \"./fiber-host.js\";\nimport { markRootFinished } from \"./fiber-lanes.js\";\nimport { runWithHostCommit } from \"./hooks.js\";\nimport type { RenderOptions } from \"./hydration.js\";\n\ninterface RefRecord {\n ref: unknown;\n node: unknown;\n}\n\nexport function commitFiberRoot(\n root: FiberRoot,\n options: RenderOptions = {},\n): void {\n const finishedWork = root.finishedWork;\n\n if (finishedWork === undefined) {\n return;\n }\n\n if (\n root.refCleanupKnown !== true ||\n root.current.hasRefSubtree ||\n finishedWork.hasRefSubtree\n ) {\n runWithHostCommit(() => {\n cleanupDeletedRefs(root.current, finishedWork);\n });\n }\n const shouldCleanupDeletedSubtrees = mayHaveDeletedFiberSubtrees(finishedWork);\n commitHostFiberRoot(root, finishedWork, options);\n if (shouldCleanupDeletedSubtrees) {\n const retainedFibers = collectRetainedFiberPairs(finishedWork);\n detachUnretainedFiberSubtrees(root.current.child, retainedFibers);\n detachDeletedFiberSubtrees(finishedWork, retainedFibers);\n }\n root.current = finishedWork;\n root.current.stateNode = root;\n markRootFinished(root, finishedWork.lanes);\n root.callbackPriority = root.pendingLanes & -root.pendingLanes;\n root.finishedWork = undefined;\n root.workInProgress = undefined;\n root.workInProgressRootRenderLanes = 0;\n}\n\nexport function detachFiberRefs(fiber: Fiber): void {\n for (const record of collectRefRecords(fiber)) {\n detachRef(record.ref);\n }\n}\n\nfunction mayHaveDeletedFiberSubtrees(fiber: Fiber): boolean {\n return ((fiber.flags | fiber.subtreeFlags) & ChildDeletion) !== 0;\n}\n\nfunction collectRetainedFiberPairs(fiber: Fiber | undefined): Set<Fiber> {\n const retained = new Set<Fiber>();\n const stack: Fiber[] = [];\n\n if (fiber !== undefined) {\n stack.push(fiber);\n }\n\n while (stack.length > 0) {\n const current = stack.pop();\n\n if (current === undefined || retained.has(current)) {\n continue;\n }\n\n retained.add(current);\n if (current.alternate !== undefined) {\n retained.add(current.alternate);\n }\n if (current.sibling !== undefined) {\n stack.push(current.sibling);\n }\n if (current.child !== undefined) {\n stack.push(current.child);\n }\n }\n\n return retained;\n}\n\nfunction detachUnretainedFiberSubtrees(\n fiber: Fiber | undefined,\n retained: ReadonlySet<Fiber>,\n): void {\n let cursor = fiber;\n\n while (cursor !== undefined) {\n const next = cursor.sibling;\n if (retained.has(cursor)) {\n detachUnretainedFiberSubtrees(cursor.child, retained);\n } else {\n detachFiberSubtree(cursor, retained);\n }\n cursor = next;\n }\n}\n\nfunction detachDeletedFiberSubtrees(\n fiber: Fiber | undefined,\n retained: ReadonlySet<Fiber>,\n): void {\n let cursor: Fiber | undefined = fiber;\n\n while (cursor !== undefined) {\n if (cursor.deletions !== undefined) {\n for (const deleted of cursor.deletions) {\n detachFiberSubtree(deleted, retained);\n }\n cursor.deletions = undefined;\n }\n\n detachDeletedFiberSubtrees(cursor.child, retained);\n cursor = cursor.sibling;\n }\n}\n\nfunction detachFiberSubtree(fiber: Fiber, retained: ReadonlySet<Fiber>): void {\n disposeUnretainedHostFiberResources(fiber, retained);\n\n const stack = [fiber];\n const seen = new Set<Fiber>();\n\n while (stack.length > 0) {\n const current = stack.pop();\n\n if (current === undefined || seen.has(current) || retained.has(current)) {\n continue;\n }\n\n seen.add(current);\n\n let child = current.child;\n while (child !== undefined) {\n stack.push(child);\n child = child.sibling;\n }\n\n if (current.alternate !== undefined) {\n stack.push(current.alternate);\n }\n\n current.return = undefined;\n current.child = undefined;\n current.sibling = undefined;\n current.alternate = undefined;\n current.pendingProps = undefined;\n current.memoizedProps = undefined;\n current.memoizedState = undefined;\n current.stateNode = undefined;\n current.deletions = undefined;\n }\n}\n\nfunction cleanupDeletedRefs(previous: Fiber, next: Fiber): void {\n const nextRefs = new Set<unknown>();\n\n collectRefRecords(next, nextRefs);\n\n for (const record of collectRefRecords(previous)) {\n if (!nextRefs.has(record.ref)) {\n detachRef(record.ref);\n }\n }\n}\n\nfunction collectRefRecords(\n fiber: Fiber | undefined,\n refs: Set<unknown> = new Set(),\n): RefRecord[] {\n const records: RefRecord[] = [];\n let cursor = fiber;\n\n while (cursor !== undefined) {\n const ref = getFiberRef(cursor);\n\n if (ref !== undefined && ref !== null) {\n refs.add(ref);\n records.push({ ref, node: cursor.stateNode });\n }\n\n records.push(...collectRefRecords(cursor.child, refs));\n cursor = cursor.sibling;\n }\n\n return records;\n}\n\nfunction getFiberRef(fiber: Fiber): unknown {\n const props = (fiber.memoizedProps ?? fiber.pendingProps) as\n | { ref?: unknown }\n | undefined;\n\n return props?.ref;\n}\n\nfunction detachRef(ref: unknown): void {\n if (typeof ref === \"function\") {\n ref(null);\n return;\n }\n\n if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n (ref as { current: unknown }).current = null;\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- export { canRenderHostFiber, commitHostFiberRoot, commitHydratingHostFiberRoot, renderHostFiberRoot, renderHydratingHostFiberRoot, } from "./host-reconciler.js";
1
+ export { canRenderHostFiber, commitHostFiberRoot, commitHydratingHostFiberRoot, disposeHostFiberResources, disposeUnretainedHostFiberResources, renderHostFiberRoot, renderHydratingHostFiberRoot, } from "./host-reconciler.js";
2
2
  //# sourceMappingURL=fiber-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fiber-host.d.ts","sourceRoot":"","sources":["../src/fiber-host.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"fiber-host.d.ts","sourceRoot":"","sources":["../src/fiber-host.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,mCAAmC,EACnC,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { canRenderHostFiber, commitHostFiberRoot, commitHydratingHostFiberRoot, renderHostFiberRoot, renderHydratingHostFiberRoot, } from "./host-reconciler.js";
1
+ export { canRenderHostFiber, commitHostFiberRoot, commitHydratingHostFiberRoot, disposeHostFiberResources, disposeUnretainedHostFiberResources, renderHostFiberRoot, renderHydratingHostFiberRoot, } from "./host-reconciler.js";
2
2
  //# sourceMappingURL=fiber-host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fiber-host.js","sourceRoot":"","sources":["../src/fiber-host.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC","sourcesContent":["export {\n canRenderHostFiber,\n commitHostFiberRoot,\n commitHydratingHostFiberRoot,\n renderHostFiberRoot,\n renderHydratingHostFiberRoot,\n} from \"./host-reconciler.js\";\n"]}
1
+ {"version":3,"file":"fiber-host.js","sourceRoot":"","sources":["../src/fiber-host.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,mCAAmC,EACnC,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC","sourcesContent":["export {\n canRenderHostFiber,\n commitHostFiberRoot,\n commitHydratingHostFiberRoot,\n disposeHostFiberResources,\n disposeUnretainedHostFiberResources,\n renderHostFiberRoot,\n renderHydratingHostFiberRoot,\n} from \"./host-reconciler.js\";\n"]}
package/dist/fiber.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type Flags } from "./fiber-flags.js";
2
2
  import { type Lane, type Lanes } from "./fiber-lanes.js";
3
- export type FiberTag = "host-root" | "host-component" | "host-text" | "fragment" | "function-component" | "forward-ref" | "class-component" | "context-provider" | "context-consumer" | "portal" | "memo" | "lazy" | "profiler" | "strict-mode" | "suspense" | "suspense-list" | "error-boundary";
3
+ export type FiberTag = "host-root" | "host-component" | "host-text" | "fragment" | "function-component" | "forward-ref" | "class-component" | "context-provider" | "context-consumer" | "portal" | "memo" | "lazy" | "profiler" | "reactive-dom-block" | "strict-mode" | "suspense" | "suspense-list" | "error-boundary";
4
4
  export interface Fiber {
5
5
  tag: FiberTag;
6
6
  type: unknown;
@@ -22,6 +22,7 @@ export interface Fiber {
22
22
  childLanes: Lanes;
23
23
  hydrateExisting: boolean;
24
24
  hasRefSubtree: boolean;
25
+ hasDisposableResources: boolean;
25
26
  hostChildListChanged: boolean;
26
27
  }
27
28
  export interface FiberRoot {
@@ -1 +1 @@
1
- {"version":3,"file":"fiber.d.ts","sourceRoot":"","sources":["../src/fiber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAW,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAElE,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,oBAAoB,GACpB,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,aAAa,GACb,UAAU,GACV,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,KAAK,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,SAAS,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,KAAK,CAAC;IACpB,cAAc,EAAE,KAAK,CAAC;IACtB,WAAW,EAAE,KAAK,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC;IACpB,cAAc,EAAE,KAAK,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC;IACvB,cAAc,EAAE,KAAK,GAAG,SAAS,CAAC;IAClC,6BAA6B,EAAE,KAAK,CAAC;IACrC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,QAAQ,EACb,YAAY,GAAE,OAAmB,EACjC,GAAG,CAAC,EAAE,MAAM,GACX,KAAK,CAwBP;AAED,wBAAgB,mBAAmB,IAAI,KAAK,CAE3C;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAqB7D;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,KAAK,EACd,YAAY,EAAE,OAAO,GACpB,KAAK,CA6BP"}
1
+ {"version":3,"file":"fiber.d.ts","sourceRoot":"","sources":["../src/fiber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAW,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAElE,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,oBAAoB,GACpB,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,oBAAoB,GACpB,aAAa,GACb,UAAU,GACV,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,KAAK,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,SAAS,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,KAAK,CAAC;IACpB,cAAc,EAAE,KAAK,CAAC;IACtB,WAAW,EAAE,KAAK,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC;IACpB,cAAc,EAAE,KAAK,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC;IACvB,cAAc,EAAE,KAAK,GAAG,SAAS,CAAC;IAClC,6BAA6B,EAAE,KAAK,CAAC;IACrC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,QAAQ,EACb,YAAY,GAAE,OAAmB,EACjC,GAAG,CAAC,EAAE,MAAM,GACX,KAAK,CAyBP;AAED,wBAAgB,mBAAmB,IAAI,KAAK,CAE3C;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAqB7D;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,KAAK,EACd,YAAY,EAAE,OAAO,GACpB,KAAK,CA8BP"}
package/dist/fiber.js CHANGED
@@ -22,6 +22,7 @@ export function createFiber(tag, pendingProps = undefined, key) {
22
22
  childLanes: NoLanes,
23
23
  hydrateExisting: false,
24
24
  hasRefSubtree: false,
25
+ hasDisposableResources: false,
25
26
  hostChildListChanged: false,
26
27
  };
27
28
  }
@@ -76,6 +77,7 @@ export function createWorkInProgress(current, pendingProps) {
76
77
  workInProgress.childLanes = current.childLanes;
77
78
  workInProgress.hydrateExisting = false;
78
79
  workInProgress.hasRefSubtree = current.hasRefSubtree;
80
+ workInProgress.hasDisposableResources = current.hasDisposableResources;
79
81
  workInProgress.hostChildListChanged = current.hostChildListChanged;
80
82
  return workInProgress;
81
83
  }
package/dist/fiber.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fiber.js","sourceRoot":"","sources":["../src/fiber.ts"],"names":[],"mappings":"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","sourcesContent":["import { NoFlags, type Flags } from \"./fiber-flags.js\";\nimport { NoLanes, type Lane, type Lanes } from \"./fiber-lanes.js\";\n\nexport type FiberTag =\n | \"host-root\"\n | \"host-component\"\n | \"host-text\"\n | \"fragment\"\n | \"function-component\"\n | \"forward-ref\"\n | \"class-component\"\n | \"context-provider\"\n | \"context-consumer\"\n | \"portal\"\n | \"memo\"\n | \"lazy\"\n | \"profiler\"\n | \"strict-mode\"\n | \"suspense\"\n | \"suspense-list\"\n | \"error-boundary\";\n\nexport interface Fiber {\n tag: FiberTag;\n type: unknown;\n key: string | undefined;\n pendingProps: unknown;\n memoizedProps: unknown;\n memoizedState: unknown;\n return: Fiber | undefined;\n child: Fiber | undefined;\n sibling: Fiber | undefined;\n alternate: Fiber | undefined;\n stateNode: unknown;\n flags: Flags;\n subtreeFlags: Flags;\n childListChanged: boolean;\n subtreeChildListChanged: boolean;\n deletions: Fiber[] | undefined;\n lanes: Lanes;\n childLanes: Lanes;\n hydrateExisting: boolean;\n hasRefSubtree: boolean;\n hostChildListChanged: boolean;\n}\n\nexport interface FiberRoot {\n container: Element;\n current: Fiber;\n finishedWork: Fiber | undefined;\n pendingLanes: Lanes;\n suspendedLanes: Lanes;\n pingedLanes: Lanes;\n expiredLanes: Lanes;\n entangledLanes: Lanes;\n callbackNode: unknown;\n callbackPriority: Lane;\n workInProgress: Fiber | undefined;\n workInProgressRootRenderLanes: Lanes;\n workInProgressElement: unknown;\n hydrationState: FiberHydrationState | undefined;\n refCleanupKnown: boolean;\n}\n\nexport interface FiberHydrationState {\n parent: ParentNode;\n nextHydratableNode: Node | null;\n before: ChildNode | null;\n after: ChildNode | null;\n resumeId?: string;\n}\n\nexport function createFiber(\n tag: FiberTag,\n pendingProps: unknown = undefined,\n key?: string,\n): Fiber {\n return {\n tag,\n type: undefined,\n key,\n pendingProps,\n memoizedProps: undefined,\n memoizedState: undefined,\n return: undefined,\n child: undefined,\n sibling: undefined,\n alternate: undefined,\n stateNode: undefined,\n flags: NoFlags,\n subtreeFlags: NoFlags,\n childListChanged: false,\n subtreeChildListChanged: false,\n deletions: undefined,\n lanes: NoLanes,\n childLanes: NoLanes,\n hydrateExisting: false,\n hasRefSubtree: false,\n hostChildListChanged: false,\n };\n}\n\nexport function createHostRootFiber(): Fiber {\n return createFiber(\"host-root\", undefined);\n}\n\nexport function createFiberRoot(container: Element): FiberRoot {\n const current = createHostRootFiber();\n const root: FiberRoot = {\n container,\n current,\n finishedWork: undefined,\n pendingLanes: NoLanes,\n suspendedLanes: NoLanes,\n pingedLanes: NoLanes,\n expiredLanes: NoLanes,\n entangledLanes: NoLanes,\n callbackNode: undefined,\n callbackPriority: NoLanes,\n workInProgress: undefined,\n workInProgressRootRenderLanes: NoLanes,\n workInProgressElement: undefined,\n hydrationState: undefined,\n refCleanupKnown: false,\n };\n current.stateNode = root;\n return root;\n}\n\nexport function createWorkInProgress(\n current: Fiber,\n pendingProps: unknown,\n): Fiber {\n let workInProgress = current.alternate;\n\n if (workInProgress === undefined) {\n workInProgress = createFiber(current.tag, pendingProps, current.key);\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps;\n workInProgress.flags = NoFlags;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.childListChanged = false;\n workInProgress.subtreeChildListChanged = false;\n workInProgress.deletions = undefined;\n }\n\n workInProgress.child = current.child;\n workInProgress.sibling = current.sibling;\n workInProgress.return = current.return;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.lanes = current.lanes;\n workInProgress.childLanes = current.childLanes;\n workInProgress.hydrateExisting = false;\n workInProgress.hasRefSubtree = current.hasRefSubtree;\n workInProgress.hostChildListChanged = current.hostChildListChanged;\n return workInProgress;\n}\n"]}
1
+ {"version":3,"file":"fiber.js","sourceRoot":"","sources":["../src/fiber.ts"],"names":[],"mappings":"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","sourcesContent":["import { NoFlags, type Flags } from \"./fiber-flags.js\";\nimport { NoLanes, type Lane, type Lanes } from \"./fiber-lanes.js\";\n\nexport type FiberTag =\n | \"host-root\"\n | \"host-component\"\n | \"host-text\"\n | \"fragment\"\n | \"function-component\"\n | \"forward-ref\"\n | \"class-component\"\n | \"context-provider\"\n | \"context-consumer\"\n | \"portal\"\n | \"memo\"\n | \"lazy\"\n | \"profiler\"\n | \"reactive-dom-block\"\n | \"strict-mode\"\n | \"suspense\"\n | \"suspense-list\"\n | \"error-boundary\";\n\nexport interface Fiber {\n tag: FiberTag;\n type: unknown;\n key: string | undefined;\n pendingProps: unknown;\n memoizedProps: unknown;\n memoizedState: unknown;\n return: Fiber | undefined;\n child: Fiber | undefined;\n sibling: Fiber | undefined;\n alternate: Fiber | undefined;\n stateNode: unknown;\n flags: Flags;\n subtreeFlags: Flags;\n childListChanged: boolean;\n subtreeChildListChanged: boolean;\n deletions: Fiber[] | undefined;\n lanes: Lanes;\n childLanes: Lanes;\n hydrateExisting: boolean;\n hasRefSubtree: boolean;\n hasDisposableResources: boolean;\n hostChildListChanged: boolean;\n}\n\nexport interface FiberRoot {\n container: Element;\n current: Fiber;\n finishedWork: Fiber | undefined;\n pendingLanes: Lanes;\n suspendedLanes: Lanes;\n pingedLanes: Lanes;\n expiredLanes: Lanes;\n entangledLanes: Lanes;\n callbackNode: unknown;\n callbackPriority: Lane;\n workInProgress: Fiber | undefined;\n workInProgressRootRenderLanes: Lanes;\n workInProgressElement: unknown;\n hydrationState: FiberHydrationState | undefined;\n refCleanupKnown: boolean;\n}\n\nexport interface FiberHydrationState {\n parent: ParentNode;\n nextHydratableNode: Node | null;\n before: ChildNode | null;\n after: ChildNode | null;\n resumeId?: string;\n}\n\nexport function createFiber(\n tag: FiberTag,\n pendingProps: unknown = undefined,\n key?: string,\n): Fiber {\n return {\n tag,\n type: undefined,\n key,\n pendingProps,\n memoizedProps: undefined,\n memoizedState: undefined,\n return: undefined,\n child: undefined,\n sibling: undefined,\n alternate: undefined,\n stateNode: undefined,\n flags: NoFlags,\n subtreeFlags: NoFlags,\n childListChanged: false,\n subtreeChildListChanged: false,\n deletions: undefined,\n lanes: NoLanes,\n childLanes: NoLanes,\n hydrateExisting: false,\n hasRefSubtree: false,\n hasDisposableResources: false,\n hostChildListChanged: false,\n };\n}\n\nexport function createHostRootFiber(): Fiber {\n return createFiber(\"host-root\", undefined);\n}\n\nexport function createFiberRoot(container: Element): FiberRoot {\n const current = createHostRootFiber();\n const root: FiberRoot = {\n container,\n current,\n finishedWork: undefined,\n pendingLanes: NoLanes,\n suspendedLanes: NoLanes,\n pingedLanes: NoLanes,\n expiredLanes: NoLanes,\n entangledLanes: NoLanes,\n callbackNode: undefined,\n callbackPriority: NoLanes,\n workInProgress: undefined,\n workInProgressRootRenderLanes: NoLanes,\n workInProgressElement: undefined,\n hydrationState: undefined,\n refCleanupKnown: false,\n };\n current.stateNode = root;\n return root;\n}\n\nexport function createWorkInProgress(\n current: Fiber,\n pendingProps: unknown,\n): Fiber {\n let workInProgress = current.alternate;\n\n if (workInProgress === undefined) {\n workInProgress = createFiber(current.tag, pendingProps, current.key);\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps;\n workInProgress.flags = NoFlags;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.childListChanged = false;\n workInProgress.subtreeChildListChanged = false;\n workInProgress.deletions = undefined;\n }\n\n workInProgress.child = current.child;\n workInProgress.sibling = current.sibling;\n workInProgress.return = current.return;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.lanes = current.lanes;\n workInProgress.childLanes = current.childLanes;\n workInProgress.hydrateExisting = false;\n workInProgress.hasRefSubtree = current.hasRefSubtree;\n workInProgress.hasDisposableResources = current.hasDisposableResources;\n workInProgress.hostChildListChanged = current.hostChildListChanged;\n return workInProgress;\n}\n"]}
package/dist/hooks.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type Source } from "@reckona/mreact-reactive-core/internal";
1
2
  import { type ReactCompatContextLike } from "./context.js";
2
3
  export interface RootRuntime {
3
4
  currentElement?: unknown;
@@ -129,8 +130,10 @@ export type DevToolsHookValue = {
129
130
  type HookSlot = {
130
131
  kind: "state";
131
132
  value: unknown;
133
+ dispatch?: (value: unknown) => void;
132
134
  hostCommitValue?: unknown;
133
135
  textBinding?: ReactiveTextBinding;
136
+ stateBinding?: ReactiveStateBinding;
134
137
  } | {
135
138
  kind: "action-state";
136
139
  state: unknown;
@@ -147,6 +150,7 @@ type HookSlot = {
147
150
  } | {
148
151
  kind: "store";
149
152
  value: unknown;
153
+ getSnapshot?: () => unknown;
150
154
  hasMounted?: boolean;
151
155
  hostCommitValue?: unknown;
152
156
  } | {
@@ -177,6 +181,11 @@ export interface ReactiveTextBinding {
177
181
  value: unknown;
178
182
  subscribers: Set<Text>;
179
183
  }
184
+ export interface ReactiveStateBinding {
185
+ get(): unknown;
186
+ source: Source;
187
+ value: unknown;
188
+ }
180
189
  /** Flushes React-compatible updates produced inside a test interaction. */
181
190
  export declare function act<T>(callback: () => T): T extends PromiseLike<unknown> ? Promise<void> : void;
182
191
  /** Priority category used while batching an event callback. */
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}