@reckona/mreact-compat 0.0.144 → 0.0.146

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
- import { Fragment } from "./jsx-runtime.js";
1
+ import { Fragment, REACTIVE_TEXT_BINDING_META } from "./jsx-runtime.js";
2
2
  import type { ElementType, ReactCompatElement, ReactCompatNode } from "./element.js";
3
3
  import type { JSXIntrinsicAttributes, JSXIntrinsicElements } from "./jsx-runtime.js";
4
4
  export { Fragment };
5
+ export { REACTIVE_TEXT_BINDING_META };
5
6
  export type { FormEvent, FormEventHandler, JSXEvent, JSXEventHandler, JSXHTMLAttributes, JSXIntrinsicAttributes, JSXIntrinsicElements, } from "./jsx-runtime.js";
6
7
  export declare namespace JSX {
7
8
  interface Element extends ReactCompatElement {
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAO,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,yBAAiB,GAAG,CAAC;IACnB,UAAiB,OAAQ,SAAQ,kBAAkB;KAAG;IAEtD,UAAiB,mBAAoB,SAAQ,sBAAsB;KAAG;IAEtE,UAAiB,iBAAkB,SAAQ,oBAAoB;KAAG;CACnE;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,KAAK,EAAE,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,IAAI,EAChF,GAAG,EAAE,OAAO,EACZ,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACb,kBAAkB,CAAC,CAAC,CAAC,CAEvB"}
1
+ {"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,0BAA0B,EAE3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,CAAC;AACtC,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,yBAAiB,GAAG,CAAC;IACnB,UAAiB,OAAQ,SAAQ,kBAAkB;KAAG;IAEtD,UAAiB,mBAAoB,SAAQ,sBAAsB;KAAG;IAEtE,UAAiB,iBAAkB,SAAQ,oBAAoB;KAAG;CACnE;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,KAAK,EAAE,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,IAAI,EAChF,GAAG,EAAE,OAAO,EACZ,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACb,kBAAkB,CAAC,CAAC,CAAC,CAEvB"}
@@ -1,5 +1,6 @@
1
- import { Fragment, jsx } from "./jsx-runtime.js";
1
+ import { Fragment, REACTIVE_TEXT_BINDING_META, jsx, } from "./jsx-runtime.js";
2
2
  export { Fragment };
3
+ export { REACTIVE_TEXT_BINDING_META };
3
4
  export function jsxDEV(type, props, key, _isStaticChildren, _source, _self) {
4
5
  return jsx(type, props, key);
5
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAWjD,OAAO,EAAE,QAAQ,EAAE,CAAC;AAmBpB,MAAM,UAAU,MAAM,CACpB,IAAoB,EACpB,KAAgF,EAChF,GAAY,EACZ,iBAA0B,EAC1B,OAAgB,EAChB,KAAc;IAEd,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC","sourcesContent":["import { Fragment, jsx } from \"./jsx-runtime.js\";\nimport type {\n ElementType,\n ReactCompatElement,\n ReactCompatNode,\n} from \"./element.js\";\nimport type {\n JSXIntrinsicAttributes,\n JSXIntrinsicElements,\n} from \"./jsx-runtime.js\";\n\nexport { Fragment };\nexport type {\n FormEvent,\n FormEventHandler,\n JSXEvent,\n JSXEventHandler,\n JSXHTMLAttributes,\n JSXIntrinsicAttributes,\n JSXIntrinsicElements,\n} from \"./jsx-runtime.js\";\n\nexport namespace JSX {\n export interface Element extends ReactCompatElement {}\n\n export interface IntrinsicAttributes extends JSXIntrinsicAttributes {}\n\n export interface IntrinsicElements extends JSXIntrinsicElements {}\n}\n\nexport function jsxDEV<P extends Record<string, unknown>>(\n type: ElementType<P>,\n props: (P & { children?: ReactCompatNode; key?: unknown; ref?: unknown }) | null,\n key: unknown,\n _isStaticChildren: boolean,\n _source: unknown,\n _self: unknown,\n): ReactCompatElement<P> {\n return jsx(type, props, key);\n}\n"]}
1
+ {"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,0BAA0B,EAC1B,GAAG,GACJ,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAmBtC,MAAM,UAAU,MAAM,CACpB,IAAoB,EACpB,KAAgF,EAChF,GAAY,EACZ,iBAA0B,EAC1B,OAAgB,EAChB,KAAc;IAEd,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC","sourcesContent":["import {\n Fragment,\n REACTIVE_TEXT_BINDING_META,\n jsx,\n} from \"./jsx-runtime.js\";\nimport type {\n ElementType,\n ReactCompatElement,\n ReactCompatNode,\n} from \"./element.js\";\nimport type {\n JSXIntrinsicAttributes,\n JSXIntrinsicElements,\n} from \"./jsx-runtime.js\";\n\nexport { Fragment };\nexport { REACTIVE_TEXT_BINDING_META };\nexport type {\n FormEvent,\n FormEventHandler,\n JSXEvent,\n JSXEventHandler,\n JSXHTMLAttributes,\n JSXIntrinsicAttributes,\n JSXIntrinsicElements,\n} from \"./jsx-runtime.js\";\n\nexport namespace JSX {\n export interface Element extends ReactCompatElement {}\n\n export interface IntrinsicAttributes extends JSXIntrinsicAttributes {}\n\n export interface IntrinsicElements extends JSXIntrinsicElements {}\n}\n\nexport function jsxDEV<P extends Record<string, unknown>>(\n type: ElementType<P>,\n props: (P & { children?: ReactCompatNode; key?: unknown; ref?: unknown }) | null,\n key: unknown,\n _isStaticChildren: boolean,\n _source: unknown,\n _self: unknown,\n): ReactCompatElement<P> {\n return jsx(type, props, key);\n}\n"]}
@@ -1,6 +1,7 @@
1
- import { Fragment } from "./element.js";
1
+ import { Fragment, REACTIVE_TEXT_BINDING_META } from "./element.js";
2
2
  import type { ElementType, ReactCompatElement, ReactCompatNode } from "./element.js";
3
3
  export { Fragment };
4
+ export { REACTIVE_TEXT_BINDING_META };
4
5
  export type JSXEvent<TCurrentTarget extends EventTarget, TEvent extends Event = Event> = TEvent & {
5
6
  readonly currentTarget: TCurrentTarget;
6
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { createElementFromJsxConfig, Fragment } from "./element.js";
1
+ import { createElementFromJsxConfig, Fragment, REACTIVE_TEXT_BINDING_META, } from "./element.js";
2
2
  export { Fragment };
3
+ export { REACTIVE_TEXT_BINDING_META };
3
4
  export function jsx(type, props, key) {
4
5
  return createElementFromJsx(type, props, key);
5
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAOpE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAyEpB,MAAM,UAAU,GAAG,CACjB,IAAoB,EACpB,KAAgF,EAChF,GAAa;IAEb,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,IAAoB,EACpB,KAAgF,EAChF,GAAa;IAEb,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAoB,EACpB,KAAgF,EAChF,GAAY;IAEZ,OAAO,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import { createElementFromJsxConfig, Fragment } from \"./element.js\";\nimport type {\n ElementType,\n ReactCompatElement,\n ReactCompatNode,\n} from \"./element.js\";\n\nexport { Fragment };\n\nexport type JSXEvent<\n TCurrentTarget extends EventTarget,\n TEvent extends Event = Event,\n> = TEvent & {\n readonly currentTarget: TCurrentTarget;\n};\n\nexport type JSXEventHandler<\n TCurrentTarget extends EventTarget,\n TEvent extends Event = Event,\n> = (event: JSXEvent<TCurrentTarget, TEvent>) => unknown;\n\nexport type FormEvent<TCurrentTarget extends EventTarget = Element> = JSXEvent<\n TCurrentTarget,\n SubmitEvent\n>;\n\nexport type FormEventHandler<TCurrentTarget extends EventTarget = Element> =\n JSXEventHandler<TCurrentTarget, SubmitEvent>;\n\nexport interface JSXDOMAttributes<TElement extends EventTarget> {\n children?: ReactCompatNode;\n onClick?: JSXEventHandler<TElement, MouseEvent>;\n onChange?: JSXEventHandler<TElement, Event>;\n onInput?: JSXEventHandler<TElement, InputEvent>;\n onSubmit?: JSXEventHandler<TElement, SubmitEvent>;\n}\n\nexport interface JSXHTMLAttributes<TElement extends HTMLElement>\n extends JSXDOMAttributes<TElement> {\n [attributeName: string]: unknown;\n}\n\nexport interface JSXIntrinsicAttributes {\n key?: unknown;\n ref?: unknown;\n}\n\nexport interface JSXIntrinsicElements {\n form: JSXHTMLAttributes<HTMLFormElement> & {\n onSubmit?: JSXEventHandler<HTMLFormElement, SubmitEvent>;\n };\n input: JSXHTMLAttributes<HTMLInputElement>;\n button: JSXHTMLAttributes<HTMLButtonElement>;\n textarea: JSXHTMLAttributes<HTMLTextAreaElement>;\n select: JSXHTMLAttributes<HTMLSelectElement>;\n option: JSXHTMLAttributes<HTMLOptionElement>;\n a: JSXHTMLAttributes<HTMLAnchorElement>;\n img: JSXHTMLAttributes<HTMLImageElement>;\n main: JSXHTMLAttributes<HTMLElement>;\n div: JSXHTMLAttributes<HTMLDivElement>;\n span: JSXHTMLAttributes<HTMLSpanElement>;\n [elementName: string]: Record<string, unknown>;\n}\n\nexport namespace JSX {\n export interface Element extends ReactCompatElement {}\n\n export interface IntrinsicAttributes extends JSXIntrinsicAttributes {}\n\n export interface IntrinsicElements extends JSXIntrinsicElements {}\n}\n\ndeclare global {\n namespace JSX {\n interface Element extends ReactCompatElement {}\n interface IntrinsicAttributes extends JSXIntrinsicAttributes {}\n interface IntrinsicElements extends JSXIntrinsicElements {}\n }\n}\n\nexport function jsx<P extends Record<string, unknown>>(\n type: ElementType<P>,\n props: (P & { children?: ReactCompatNode; key?: unknown; ref?: unknown }) | null,\n key?: unknown,\n): ReactCompatElement<P> {\n return createElementFromJsx(type, props, key);\n}\n\nexport function jsxs<P extends Record<string, unknown>>(\n type: ElementType<P>,\n props: (P & { children?: ReactCompatNode; key?: unknown; ref?: unknown }) | null,\n key?: unknown,\n): ReactCompatElement<P> {\n return createElementFromJsx(type, props, key);\n}\n\nfunction createElementFromJsx<P extends Record<string, unknown>>(\n type: ElementType<P>,\n props: (P & { children?: ReactCompatNode; key?: unknown; ref?: unknown }) | null,\n key: unknown,\n): ReactCompatElement<P> {\n return createElementFromJsxConfig(type, props, key);\n}\n"]}
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,QAAQ,EACR,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAyEtC,MAAM,UAAU,GAAG,CACjB,IAAoB,EACpB,KAAgF,EAChF,GAAa;IAEb,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,IAAoB,EACpB,KAAgF,EAChF,GAAa;IAEb,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAoB,EACpB,KAAgF,EAChF,GAAY;IAEZ,OAAO,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import {\n createElementFromJsxConfig,\n Fragment,\n REACTIVE_TEXT_BINDING_META,\n} from \"./element.js\";\nimport type {\n ElementType,\n ReactCompatElement,\n ReactCompatNode,\n} from \"./element.js\";\n\nexport { Fragment };\nexport { REACTIVE_TEXT_BINDING_META };\n\nexport type JSXEvent<\n TCurrentTarget extends EventTarget,\n TEvent extends Event = Event,\n> = TEvent & {\n readonly currentTarget: TCurrentTarget;\n};\n\nexport type JSXEventHandler<\n TCurrentTarget extends EventTarget,\n TEvent extends Event = Event,\n> = (event: JSXEvent<TCurrentTarget, TEvent>) => unknown;\n\nexport type FormEvent<TCurrentTarget extends EventTarget = Element> = JSXEvent<\n TCurrentTarget,\n SubmitEvent\n>;\n\nexport type FormEventHandler<TCurrentTarget extends EventTarget = Element> =\n JSXEventHandler<TCurrentTarget, SubmitEvent>;\n\nexport interface JSXDOMAttributes<TElement extends EventTarget> {\n children?: ReactCompatNode;\n onClick?: JSXEventHandler<TElement, MouseEvent>;\n onChange?: JSXEventHandler<TElement, Event>;\n onInput?: JSXEventHandler<TElement, InputEvent>;\n onSubmit?: JSXEventHandler<TElement, SubmitEvent>;\n}\n\nexport interface JSXHTMLAttributes<TElement extends HTMLElement>\n extends JSXDOMAttributes<TElement> {\n [attributeName: string]: unknown;\n}\n\nexport interface JSXIntrinsicAttributes {\n key?: unknown;\n ref?: unknown;\n}\n\nexport interface JSXIntrinsicElements {\n form: JSXHTMLAttributes<HTMLFormElement> & {\n onSubmit?: JSXEventHandler<HTMLFormElement, SubmitEvent>;\n };\n input: JSXHTMLAttributes<HTMLInputElement>;\n button: JSXHTMLAttributes<HTMLButtonElement>;\n textarea: JSXHTMLAttributes<HTMLTextAreaElement>;\n select: JSXHTMLAttributes<HTMLSelectElement>;\n option: JSXHTMLAttributes<HTMLOptionElement>;\n a: JSXHTMLAttributes<HTMLAnchorElement>;\n img: JSXHTMLAttributes<HTMLImageElement>;\n main: JSXHTMLAttributes<HTMLElement>;\n div: JSXHTMLAttributes<HTMLDivElement>;\n span: JSXHTMLAttributes<HTMLSpanElement>;\n [elementName: string]: Record<string, unknown>;\n}\n\nexport namespace JSX {\n export interface Element extends ReactCompatElement {}\n\n export interface IntrinsicAttributes extends JSXIntrinsicAttributes {}\n\n export interface IntrinsicElements extends JSXIntrinsicElements {}\n}\n\ndeclare global {\n namespace JSX {\n interface Element extends ReactCompatElement {}\n interface IntrinsicAttributes extends JSXIntrinsicAttributes {}\n interface IntrinsicElements extends JSXIntrinsicElements {}\n }\n}\n\nexport function jsx<P extends Record<string, unknown>>(\n type: ElementType<P>,\n props: (P & { children?: ReactCompatNode; key?: unknown; ref?: unknown }) | null,\n key?: unknown,\n): ReactCompatElement<P> {\n return createElementFromJsx(type, props, key);\n}\n\nexport function jsxs<P extends Record<string, unknown>>(\n type: ElementType<P>,\n props: (P & { children?: ReactCompatNode; key?: unknown; ref?: unknown }) | null,\n key?: unknown,\n): ReactCompatElement<P> {\n return createElementFromJsx(type, props, key);\n}\n\nfunction createElementFromJsx<P extends Record<string, unknown>>(\n type: ElementType<P>,\n props: (P & { children?: ReactCompatNode; key?: unknown; ref?: unknown }) | null,\n key: unknown,\n): ReactCompatElement<P> {\n return createElementFromJsxConfig(type, props, key);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"AAwBA,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAapB,OAAO,EAOL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AAyBxB,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,aAAa,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC3B,GACL,IAAI,CAwCN"}
1
+ {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"AAwBA,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAapB,OAAO,EAOL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AAyBxB,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,aAAa,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC3B,GACL,IAAI,CAyCN"}
@@ -29,6 +29,7 @@ export function renderIntoContainer(container, element, runtime, options = {}) {
29
29
  scope.before?.parentNode?.removeChild(scope.before);
30
30
  scope.after?.parentNode?.removeChild(scope.after);
31
31
  }
32
+ runtime.idMode = "client";
32
33
  committed = true;
33
34
  }
34
35
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Activity,\n Fragment,\n ERROR_BOUNDARY_TYPE,\n FORWARD_REF_TYPE,\n Profiler,\n Suspense,\n SuspenseList,\n LAZY_TYPE,\n MEMO_TYPE,\n STRICT_MODE_TYPE,\n isReactCompatElement,\n isReactCompatPortal,\n type ReactCompatElement,\n type ReactCompatNode,\n type ReactCompatPortal,\n} from \"./element.js\";\nimport {\n consumerContext,\n isReactCompatConsumer,\n isReactCompatProvider,\n renderWithContextProvider,\n useContext,\n} from \"./context.js\";\nimport {\n clearRuntimePortalNodes,\n collectRuntimeInstanceKeys,\n hasStableExternalStores,\n restoreRuntimeSnapshot,\n renderWithProfiler,\n renderWithStrictMode,\n renderWithRootRuntime,\n takeRuntimeSnapshot,\n type RootRuntime,\n} from \"./hooks.js\";\nimport { commitDevToolsRoot } from \"./devtools.js\";\nimport { applyPostChildFormProps, applyProps } from \"./dom-props.js\";\nimport { syncChildNodes, syncOwnedChildNodes, syncScopedChildNodes } from \"./dom-children.js\";\nimport { setLogicalEventParent } from \"./events.js\";\nimport {\n createHostElement,\n hostElementMatches,\n isHostElement,\n namespaceForHostChildren,\n namespaceForHostElement,\n type HostNamespace,\n} from \"./dom-host-rules.js\";\nimport {\n getHydrationScope,\n reportElementTextMismatch,\n reportExtraHydrationNodes,\n reportHydrationNodeTypeMismatch,\n reportMissingHydrationNode,\n reportRecoverable,\n type RenderOptions,\n withHydrationComponentStack,\n} from \"./hydration.js\";\nimport {\n isClassComponentType,\n reconcileClassComponent,\n reconcileErrorBoundary,\n} from \"./class-component.js\";\nimport {\n isSuspensePrimaryRenderActive,\n reconcileSuspense,\n reconcileSuspenseList,\n} from \"./suspense.js\";\nimport { areMemoPropsEqual } from \"./prop-comparison.js\";\nimport type { ReconcileResult } from \"./reconcile-types.js\";\n\nconst nodeKeys = new WeakMap<Node, string>();\ntype ReconcileOptions = RenderOptions & { namespace?: HostNamespace };\n\ninterface MemoRenderState {\n props: Record<string, unknown>;\n nodeCount: number;\n instanceKeys: string[];\n}\n\nconst memoRenderStates = new WeakMap<RootRuntime, Map<string, MemoRenderState>>();\n\nexport function renderIntoContainer(\n container: Element,\n element: unknown,\n runtime: RootRuntime,\n options: RenderOptions & {\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n } = {},\n): void {\n for (let attempt = 0; attempt < 25; attempt += 1) {\n runtime.beginRender();\n let committed = false;\n\n try {\n clearRuntimePortalNodes(runtime);\n\n const scope = getHydrationScope(container, options.resumeId);\n const renderOptions = { ...options, eventRoot: container };\n const nodes = reconcileNodeList(\n scope.parent,\n scope.previousNodes,\n element as ReactCompatNode,\n runtime,\n \"0\",\n renderOptions,\n );\n\n if (!hasStableExternalStores(runtime)) {\n continue;\n }\n\n syncScopedChildNodes(scope.parent, scope.before, scope.after, nodes);\n\n if (options.consumeResumeMarkers === true) {\n scope.before?.parentNode?.removeChild(scope.before);\n scope.after?.parentNode?.removeChild(scope.after);\n }\n committed = true;\n } finally {\n runtime.endRender(committed);\n }\n\n runtime.flushEffects();\n commitDevToolsRoot(container, element as ReactCompatNode);\n return;\n }\n\n throw new Error(\"Store unstable.\");\n}\n\nfunction reconcileNodeList(\n parent: ParentNode,\n previousNodes: readonly Node[],\n node: ReactCompatNode,\n runtime: RootRuntime,\n path: string,\n options: ReconcileOptions = {},\n): Node[] {\n const result = reconcileNode(parent, previousNodes, node, runtime, path, options);\n return result.nodes;\n}\n\nfunction reconcileNode(\n parent: ParentNode,\n previousNodes: readonly Node[],\n node: ReactCompatNode,\n runtime: RootRuntime,\n path: string,\n options: ReconcileOptions = {},\n): ReconcileResult {\n if (node === null || node === undefined || typeof node === \"boolean\") {\n return { nodes: [], consumed: 0 };\n }\n\n if (typeof node === \"string\" || typeof node === \"number\") {\n const existing = previousNodes[0];\n const text =\n existing instanceof Text ? existing : document.createTextNode(\"\");\n if (existing === undefined) {\n reportMissingHydrationNode(options, path);\n } else if (!(existing instanceof Text)) {\n reportHydrationNodeTypeMismatch(options, path, \"text\", existing);\n }\n if (existing instanceof Text && existing.data !== String(node)) {\n reportRecoverable(\n options,\n \"text\",\n path,\n new Error(\"Hydration text mismatch.\"),\n );\n }\n text.data = String(node);\n return { nodes: [text], consumed: existing instanceof Text ? 1 : 0 };\n }\n\n if (Array.isArray(node)) {\n return reconcileSequence(parent, previousNodes, node, runtime, path, options);\n }\n\n if (!isReactCompatElement(node)) {\n if (isReactCompatPortal(node)) {\n return reconcilePortal(node, parent, runtime, path, options);\n }\n\n throw new Error(\"Invalid react-compat element.\");\n }\n\n return reconcileElement(parent, previousNodes, node, runtime, path, options);\n}\n\nfunction reconcilePortal(\n portal: ReactCompatPortal,\n parent: ParentNode,\n runtime: RootRuntime,\n path: string,\n options: ReconcileOptions = {},\n): ReconcileResult {\n runtime.portalContainers.add(portal.container);\n setLogicalEventParent(portal.container, parent);\n const previousNodes = Array.from(runtime.portalNodes.get(portal.container) ?? []);\n const nodes = reconcileNodeList(\n portal.container,\n previousNodes,\n portal.children,\n runtime,\n `${path}.portal`,\n { ...options, eventRoot: portal.container },\n );\n syncOwnedChildNodes(portal.container, previousNodes, nodes);\n runtime.portalNodes.set(portal.container, new Set(nodes));\n return { nodes: [], consumed: 0 };\n}\n\nfunction reconcileSequence(\n parent: ParentNode,\n previousNodes: readonly Node[],\n children: readonly ReactCompatNode[],\n runtime: RootRuntime,\n path: string,\n options: RenderOptions = {},\n): ReconcileResult {\n const keyedNodes = collectKeyedNodes(previousNodes);\n const nodes: Node[] = [];\n let previousIndex = 0;\n\n children.forEach((child, index) => {\n const key = getNodeKey(child);\n const previousForChild =\n key === undefined\n ? previousNodes.slice(previousIndex)\n : keyedNodes.size === 0\n ? previousNodes.slice(previousIndex)\n : keyedNodes.get(key) === undefined\n ? []\n : [keyedNodes.get(key) as Node];\n const result = reconcileNode(\n parent,\n previousForChild,\n child,\n runtime,\n `${path}.${getNodePathSegment(child, index)}`,\n options,\n );\n\n if (key === undefined || keyedNodes.size === 0) {\n previousIndex += result.consumed;\n }\n\n for (const childNode of result.nodes) {\n if (key !== undefined) {\n nodeKeys.set(childNode, key);\n }\n\n nodes.push(childNode);\n }\n });\n\n return { nodes, consumed: nodes.length };\n}\n\nfunction reconcileElement(\n parent: ParentNode,\n previousNodes: readonly Node[],\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n options: ReconcileOptions = {},\n): ReconcileResult {\n if (element.type === Fragment) {\n return reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.f`,\n options,\n );\n }\n\n if (element.type === Activity) {\n const children =\n (element.props as { mode?: unknown }).mode === \"hidden\"\n ? null\n : element.props.children;\n return reconcileNode(\n parent,\n previousNodes,\n children,\n runtime,\n `${path}.activity`,\n options,\n );\n }\n\n if (element.type === Profiler) {\n return renderWithProfiler(\n runtime,\n `${path}.profiler`,\n element.props,\n () =>\n reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.profiler`,\n options,\n ),\n );\n }\n\n if (element.type === STRICT_MODE_TYPE) {\n const snapshot = takeRuntimeSnapshot(runtime);\n try {\n reconcileNode(\n parent,\n [],\n element.props.children,\n runtime,\n `${path}.strict.preview`,\n options,\n );\n } finally {\n restoreRuntimeSnapshot(runtime, snapshot);\n }\n\n return renderWithStrictMode(runtime, () =>\n reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.strict`,\n options,\n ),\n );\n }\n\n if (element.type === Suspense) {\n return reconcileSuspense(\n parent,\n previousNodes,\n element,\n runtime,\n path,\n options,\n reconcileNode,\n );\n }\n\n if (element.type === SuspenseList) {\n return reconcileSuspenseList(\n parent,\n previousNodes,\n element,\n runtime,\n path,\n options,\n reconcileNode,\n reconcileSequence,\n );\n }\n\n if (element.type === ERROR_BOUNDARY_TYPE) {\n return reconcileErrorBoundary(\n parent,\n previousNodes,\n element,\n runtime,\n path,\n options,\n reconcileNode,\n );\n }\n\n const elementType = element.type;\n\n if (isReactCompatProvider(elementType)) {\n return renderWithContextProvider(\n elementType,\n element.props.value,\n () =>\n reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.p`,\n options,\n ),\n );\n }\n\n if (isReactCompatConsumer(elementType)) {\n const children = element.props.children;\n const render =\n typeof children === \"function\"\n ? (children as (value: unknown) => ReactCompatNode)\n : () => null;\n return reconcileNode(\n parent,\n previousNodes,\n render(useContext(consumerContext(elementType))),\n runtime,\n `${path}.consumer`,\n options,\n );\n }\n\n if (isForwardRefType(elementType)) {\n return renderWithRootRuntime(runtime, path, () =>\n reconcileNode(\n parent,\n previousNodes,\n elementType.render(element.props, element.ref),\n runtime,\n `${path}.forwardRef`,\n options,\n ),\n elementType,\n );\n }\n\n if (isMemoType(elementType)) {\n const memoPath = `${path}.memo`;\n const memoStates = getMemoRenderStates(runtime);\n const previousMemoState = memoStates.get(memoPath);\n\n if (\n previousMemoState !== undefined &&\n previousNodes.length >= previousMemoState.nodeCount &&\n !hasDirtyInstance(runtime, previousMemoState.instanceKeys) &&\n areMemoPropsEqual(elementType, previousMemoState.props, element.props)\n ) {\n markActiveInstanceKeys(runtime, previousMemoState.instanceKeys);\n return {\n nodes: previousNodes.slice(0, previousMemoState.nodeCount),\n consumed: previousMemoState.nodeCount,\n };\n }\n\n const result = reconcileElement(\n parent,\n previousNodes,\n {\n ...element,\n type: elementType.type,\n },\n runtime,\n memoPath,\n options,\n );\n memoStates.set(memoPath, {\n props: { ...element.props },\n nodeCount: result.nodes.length,\n instanceKeys: collectInstanceKeys(runtime, memoPath),\n });\n return result;\n }\n\n if (isLazyType(elementType)) {\n if (elementType.status === \"resolved\" && elementType.resolved !== undefined) {\n return reconcileElement(\n parent,\n previousNodes,\n { ...element, type: elementType.resolved },\n runtime,\n `${path}.lazy`,\n options,\n );\n }\n\n if (elementType.status === \"rejected\") {\n throw elementType.error;\n }\n\n if (elementType.status === \"uninitialized\") {\n elementType.status = \"pending\";\n elementType.promise = elementType\n .load()\n .then((module) => {\n elementType.status = \"resolved\";\n elementType.resolved = module.default;\n runtime.rerender();\n })\n .catch((error: unknown) => {\n elementType.status = \"rejected\";\n elementType.error = error;\n runtime.rerender();\n });\n }\n\n if (isSuspensePrimaryRenderActive()) {\n throw elementType.promise;\n }\n\n return { nodes: [], consumed: 0 };\n }\n\n if (isClassComponentType(elementType)) {\n return reconcileClassComponent(\n parent,\n previousNodes,\n elementType,\n element.props,\n runtime,\n path,\n options,\n reconcileNode,\n (instance) => {\n applyRef(element.ref, instance);\n },\n );\n }\n\n if (typeof elementType === \"function\") {\n const functionComponent = elementType as (\n props: Record<string, unknown>,\n ) => ReactCompatNode;\n return renderWithRootRuntime(runtime, path, () =>\n reconcileNode(\n parent,\n previousNodes,\n functionComponent(element.props),\n runtime,\n `${path}.0`,\n withHydrationComponentStack(options, getComponentName(functionComponent)),\n ),\n functionComponent,\n );\n }\n\n if (typeof elementType !== \"string\") {\n throw new Error(\"Invalid react-compat element type.\");\n }\n\n const elementNamespace = namespaceForHostElement(options.namespace ?? \"html\", elementType);\n const childNamespace = namespaceForHostChildren(elementNamespace, elementType);\n const existing = previousNodes[0];\n if (existing === undefined) {\n reportMissingHydrationNode(options, path);\n } else if (!isHostElement(existing)) {\n reportHydrationNodeTypeMismatch(options, path, `<${elementType}>`, existing);\n }\n if (\n isHostElement(existing) &&\n !hostElementMatches(existing, elementType, elementNamespace)\n ) {\n reportRecoverable(\n options,\n \"tag\",\n path,\n new Error(\n `Hydration tag mismatch: expected <${elementType}> but found <${existing.tagName.toLowerCase()}>.`,\n ),\n );\n reportElementTextMismatch(options, `${path}.c`, existing, element.props.children);\n }\n const domElement =\n isHostElement(existing) &&\n hostElementMatches(existing, elementType, elementNamespace)\n ? existing\n : createHostElement(document, elementType, options.namespace ?? \"html\");\n\n applyProps(domElement, element.props, path, {\n ...options,\n preserveHydrationAttributes:\n options.hydration !== undefined &&\n isHostElement(existing) &&\n hostElementMatches(existing, elementType, elementNamespace),\n });\n const previousChildNodes = Array.from(domElement.childNodes);\n const childResult = reconcileNode(\n domElement,\n previousChildNodes,\n element.props.children,\n runtime,\n `${path}.c`,\n { ...options, namespace: childNamespace },\n );\n reportExtraHydrationNodes(\n options,\n `${path}.c`,\n previousChildNodes,\n childResult.consumed,\n );\n if (!shouldPreserveContentEditableChildren(domElement, element.props, childResult.nodes)) {\n syncChildNodes(domElement, childResult.nodes);\n }\n applyPostChildFormProps(domElement, element.props);\n applyRef(element.ref, domElement);\n return { nodes: [domElement], consumed: existing === undefined ? 0 : 1 };\n}\n\nfunction shouldPreserveContentEditableChildren(\n element: Element,\n props: Record<string, unknown>,\n childNodes: readonly Node[],\n): boolean {\n void childNodes;\n\n if (\n !element.hasAttribute(\"contenteditable\") ||\n element.getAttribute(\"contenteditable\") === \"false\"\n ) {\n return false;\n }\n\n const children = props.children;\n return (\n children === undefined ||\n children === null ||\n children === false ||\n (Array.isArray(children) && children.length === 0)\n );\n}\n\nfunction collectKeyedNodes(nodes: readonly Node[]): Map<string, Node> {\n const keyedNodes = new Map<string, Node>();\n\n for (const node of nodes) {\n const key = nodeKeys.get(node);\n\n if (key !== undefined) {\n keyedNodes.set(key, node);\n }\n }\n\n return keyedNodes;\n}\n\nfunction getNodePathSegment(node: ReactCompatNode, index: number): string {\n const key = getNodeKey(node);\n return key === undefined ? String(index) : `k:${key}`;\n}\n\nfunction getNodeKey(node: ReactCompatNode): string | undefined {\n return isReactCompatElement(node) && node.key !== null\n ? node.key\n : undefined;\n}\n\nfunction getComponentName(component: Function): string {\n return component.name === \"\" ? \"Anonymous\" : component.name;\n}\n\nfunction isForwardRefType(\n value: unknown,\n): value is { $$typeof: typeof FORWARD_REF_TYPE; render: (props: Record<string, unknown>, ref: unknown) => ReactCompatNode } {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === FORWARD_REF_TYPE\n );\n}\n\nfunction isMemoType(\n value: unknown,\n): value is {\n $$typeof: typeof MEMO_TYPE;\n type: ReactCompatElement[\"type\"];\n compare?: (\n previous: Record<string, unknown>,\n next: Record<string, unknown>,\n ) => boolean;\n} {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === MEMO_TYPE\n );\n}\n\nfunction getMemoRenderStates(runtime: RootRuntime): Map<string, MemoRenderState> {\n const existing = memoRenderStates.get(runtime);\n\n if (existing !== undefined) {\n return existing;\n }\n\n const created = new Map<string, MemoRenderState>();\n memoRenderStates.set(runtime, created);\n return created;\n}\n\nfunction collectInstanceKeys(runtime: RootRuntime, prefix: string): string[] {\n return collectRuntimeInstanceKeys(runtime, prefix);\n}\n\nfunction markActiveInstanceKeys(runtime: RootRuntime, keys: readonly string[]): void {\n for (const key of keys) {\n runtime.activeInstanceKeys?.add(key);\n }\n}\n\nfunction hasDirtyInstance(runtime: RootRuntime, keys: readonly string[]): boolean {\n return keys.some(\n (key) =>\n (runtime.instances.get(key) as { dirty?: boolean } | undefined)?.dirty === true,\n );\n}\n\nfunction isLazyType(\n value: unknown,\n): value is {\n $$typeof: typeof LAZY_TYPE;\n load: () => Promise<{ default: ReactCompatElement[\"type\"] }>;\n status: \"uninitialized\" | \"pending\" | \"resolved\" | \"rejected\";\n promise?: Promise<void>;\n resolved?: ReactCompatElement[\"type\"];\n error?: unknown;\n} {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === LAZY_TYPE\n );\n}\n\nfunction applyRef(ref: unknown, node: unknown): void {\n if (typeof ref === \"function\") {\n ref(node);\n return;\n }\n\n if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n (ref as { current: unknown }).current = node;\n }\n}\n"]}
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Activity,\n Fragment,\n ERROR_BOUNDARY_TYPE,\n FORWARD_REF_TYPE,\n Profiler,\n Suspense,\n SuspenseList,\n LAZY_TYPE,\n MEMO_TYPE,\n STRICT_MODE_TYPE,\n isReactCompatElement,\n isReactCompatPortal,\n type ReactCompatElement,\n type ReactCompatNode,\n type ReactCompatPortal,\n} from \"./element.js\";\nimport {\n consumerContext,\n isReactCompatConsumer,\n isReactCompatProvider,\n renderWithContextProvider,\n useContext,\n} from \"./context.js\";\nimport {\n clearRuntimePortalNodes,\n collectRuntimeInstanceKeys,\n hasStableExternalStores,\n restoreRuntimeSnapshot,\n renderWithProfiler,\n renderWithStrictMode,\n renderWithRootRuntime,\n takeRuntimeSnapshot,\n type RootRuntime,\n} from \"./hooks.js\";\nimport { commitDevToolsRoot } from \"./devtools.js\";\nimport { applyPostChildFormProps, applyProps } from \"./dom-props.js\";\nimport { syncChildNodes, syncOwnedChildNodes, syncScopedChildNodes } from \"./dom-children.js\";\nimport { setLogicalEventParent } from \"./events.js\";\nimport {\n createHostElement,\n hostElementMatches,\n isHostElement,\n namespaceForHostChildren,\n namespaceForHostElement,\n type HostNamespace,\n} from \"./dom-host-rules.js\";\nimport {\n getHydrationScope,\n reportElementTextMismatch,\n reportExtraHydrationNodes,\n reportHydrationNodeTypeMismatch,\n reportMissingHydrationNode,\n reportRecoverable,\n type RenderOptions,\n withHydrationComponentStack,\n} from \"./hydration.js\";\nimport {\n isClassComponentType,\n reconcileClassComponent,\n reconcileErrorBoundary,\n} from \"./class-component.js\";\nimport {\n isSuspensePrimaryRenderActive,\n reconcileSuspense,\n reconcileSuspenseList,\n} from \"./suspense.js\";\nimport { areMemoPropsEqual } from \"./prop-comparison.js\";\nimport type { ReconcileResult } from \"./reconcile-types.js\";\n\nconst nodeKeys = new WeakMap<Node, string>();\ntype ReconcileOptions = RenderOptions & { namespace?: HostNamespace };\n\ninterface MemoRenderState {\n props: Record<string, unknown>;\n nodeCount: number;\n instanceKeys: string[];\n}\n\nconst memoRenderStates = new WeakMap<RootRuntime, Map<string, MemoRenderState>>();\n\nexport function renderIntoContainer(\n container: Element,\n element: unknown,\n runtime: RootRuntime,\n options: RenderOptions & {\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n } = {},\n): void {\n for (let attempt = 0; attempt < 25; attempt += 1) {\n runtime.beginRender();\n let committed = false;\n\n try {\n clearRuntimePortalNodes(runtime);\n\n const scope = getHydrationScope(container, options.resumeId);\n const renderOptions = { ...options, eventRoot: container };\n const nodes = reconcileNodeList(\n scope.parent,\n scope.previousNodes,\n element as ReactCompatNode,\n runtime,\n \"0\",\n renderOptions,\n );\n\n if (!hasStableExternalStores(runtime)) {\n continue;\n }\n\n syncScopedChildNodes(scope.parent, scope.before, scope.after, nodes);\n\n if (options.consumeResumeMarkers === true) {\n scope.before?.parentNode?.removeChild(scope.before);\n scope.after?.parentNode?.removeChild(scope.after);\n }\n runtime.idMode = \"client\";\n committed = true;\n } finally {\n runtime.endRender(committed);\n }\n\n runtime.flushEffects();\n commitDevToolsRoot(container, element as ReactCompatNode);\n return;\n }\n\n throw new Error(\"Store unstable.\");\n}\n\nfunction reconcileNodeList(\n parent: ParentNode,\n previousNodes: readonly Node[],\n node: ReactCompatNode,\n runtime: RootRuntime,\n path: string,\n options: ReconcileOptions = {},\n): Node[] {\n const result = reconcileNode(parent, previousNodes, node, runtime, path, options);\n return result.nodes;\n}\n\nfunction reconcileNode(\n parent: ParentNode,\n previousNodes: readonly Node[],\n node: ReactCompatNode,\n runtime: RootRuntime,\n path: string,\n options: ReconcileOptions = {},\n): ReconcileResult {\n if (node === null || node === undefined || typeof node === \"boolean\") {\n return { nodes: [], consumed: 0 };\n }\n\n if (typeof node === \"string\" || typeof node === \"number\") {\n const existing = previousNodes[0];\n const text =\n existing instanceof Text ? existing : document.createTextNode(\"\");\n if (existing === undefined) {\n reportMissingHydrationNode(options, path);\n } else if (!(existing instanceof Text)) {\n reportHydrationNodeTypeMismatch(options, path, \"text\", existing);\n }\n if (existing instanceof Text && existing.data !== String(node)) {\n reportRecoverable(\n options,\n \"text\",\n path,\n new Error(\"Hydration text mismatch.\"),\n );\n }\n text.data = String(node);\n return { nodes: [text], consumed: existing instanceof Text ? 1 : 0 };\n }\n\n if (Array.isArray(node)) {\n return reconcileSequence(parent, previousNodes, node, runtime, path, options);\n }\n\n if (!isReactCompatElement(node)) {\n if (isReactCompatPortal(node)) {\n return reconcilePortal(node, parent, runtime, path, options);\n }\n\n throw new Error(\"Invalid react-compat element.\");\n }\n\n return reconcileElement(parent, previousNodes, node, runtime, path, options);\n}\n\nfunction reconcilePortal(\n portal: ReactCompatPortal,\n parent: ParentNode,\n runtime: RootRuntime,\n path: string,\n options: ReconcileOptions = {},\n): ReconcileResult {\n runtime.portalContainers.add(portal.container);\n setLogicalEventParent(portal.container, parent);\n const previousNodes = Array.from(runtime.portalNodes.get(portal.container) ?? []);\n const nodes = reconcileNodeList(\n portal.container,\n previousNodes,\n portal.children,\n runtime,\n `${path}.portal`,\n { ...options, eventRoot: portal.container },\n );\n syncOwnedChildNodes(portal.container, previousNodes, nodes);\n runtime.portalNodes.set(portal.container, new Set(nodes));\n return { nodes: [], consumed: 0 };\n}\n\nfunction reconcileSequence(\n parent: ParentNode,\n previousNodes: readonly Node[],\n children: readonly ReactCompatNode[],\n runtime: RootRuntime,\n path: string,\n options: RenderOptions = {},\n): ReconcileResult {\n const keyedNodes = collectKeyedNodes(previousNodes);\n const nodes: Node[] = [];\n let previousIndex = 0;\n\n children.forEach((child, index) => {\n const key = getNodeKey(child);\n const previousForChild =\n key === undefined\n ? previousNodes.slice(previousIndex)\n : keyedNodes.size === 0\n ? previousNodes.slice(previousIndex)\n : keyedNodes.get(key) === undefined\n ? []\n : [keyedNodes.get(key) as Node];\n const result = reconcileNode(\n parent,\n previousForChild,\n child,\n runtime,\n `${path}.${getNodePathSegment(child, index)}`,\n options,\n );\n\n if (key === undefined || keyedNodes.size === 0) {\n previousIndex += result.consumed;\n }\n\n for (const childNode of result.nodes) {\n if (key !== undefined) {\n nodeKeys.set(childNode, key);\n }\n\n nodes.push(childNode);\n }\n });\n\n return { nodes, consumed: nodes.length };\n}\n\nfunction reconcileElement(\n parent: ParentNode,\n previousNodes: readonly Node[],\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n options: ReconcileOptions = {},\n): ReconcileResult {\n if (element.type === Fragment) {\n return reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.f`,\n options,\n );\n }\n\n if (element.type === Activity) {\n const children =\n (element.props as { mode?: unknown }).mode === \"hidden\"\n ? null\n : element.props.children;\n return reconcileNode(\n parent,\n previousNodes,\n children,\n runtime,\n `${path}.activity`,\n options,\n );\n }\n\n if (element.type === Profiler) {\n return renderWithProfiler(\n runtime,\n `${path}.profiler`,\n element.props,\n () =>\n reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.profiler`,\n options,\n ),\n );\n }\n\n if (element.type === STRICT_MODE_TYPE) {\n const snapshot = takeRuntimeSnapshot(runtime);\n try {\n reconcileNode(\n parent,\n [],\n element.props.children,\n runtime,\n `${path}.strict.preview`,\n options,\n );\n } finally {\n restoreRuntimeSnapshot(runtime, snapshot);\n }\n\n return renderWithStrictMode(runtime, () =>\n reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.strict`,\n options,\n ),\n );\n }\n\n if (element.type === Suspense) {\n return reconcileSuspense(\n parent,\n previousNodes,\n element,\n runtime,\n path,\n options,\n reconcileNode,\n );\n }\n\n if (element.type === SuspenseList) {\n return reconcileSuspenseList(\n parent,\n previousNodes,\n element,\n runtime,\n path,\n options,\n reconcileNode,\n reconcileSequence,\n );\n }\n\n if (element.type === ERROR_BOUNDARY_TYPE) {\n return reconcileErrorBoundary(\n parent,\n previousNodes,\n element,\n runtime,\n path,\n options,\n reconcileNode,\n );\n }\n\n const elementType = element.type;\n\n if (isReactCompatProvider(elementType)) {\n return renderWithContextProvider(\n elementType,\n element.props.value,\n () =>\n reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.p`,\n options,\n ),\n );\n }\n\n if (isReactCompatConsumer(elementType)) {\n const children = element.props.children;\n const render =\n typeof children === \"function\"\n ? (children as (value: unknown) => ReactCompatNode)\n : () => null;\n return reconcileNode(\n parent,\n previousNodes,\n render(useContext(consumerContext(elementType))),\n runtime,\n `${path}.consumer`,\n options,\n );\n }\n\n if (isForwardRefType(elementType)) {\n return renderWithRootRuntime(runtime, path, () =>\n reconcileNode(\n parent,\n previousNodes,\n elementType.render(element.props, element.ref),\n runtime,\n `${path}.forwardRef`,\n options,\n ),\n elementType,\n );\n }\n\n if (isMemoType(elementType)) {\n const memoPath = `${path}.memo`;\n const memoStates = getMemoRenderStates(runtime);\n const previousMemoState = memoStates.get(memoPath);\n\n if (\n previousMemoState !== undefined &&\n previousNodes.length >= previousMemoState.nodeCount &&\n !hasDirtyInstance(runtime, previousMemoState.instanceKeys) &&\n areMemoPropsEqual(elementType, previousMemoState.props, element.props)\n ) {\n markActiveInstanceKeys(runtime, previousMemoState.instanceKeys);\n return {\n nodes: previousNodes.slice(0, previousMemoState.nodeCount),\n consumed: previousMemoState.nodeCount,\n };\n }\n\n const result = reconcileElement(\n parent,\n previousNodes,\n {\n ...element,\n type: elementType.type,\n },\n runtime,\n memoPath,\n options,\n );\n memoStates.set(memoPath, {\n props: { ...element.props },\n nodeCount: result.nodes.length,\n instanceKeys: collectInstanceKeys(runtime, memoPath),\n });\n return result;\n }\n\n if (isLazyType(elementType)) {\n if (elementType.status === \"resolved\" && elementType.resolved !== undefined) {\n return reconcileElement(\n parent,\n previousNodes,\n { ...element, type: elementType.resolved },\n runtime,\n `${path}.lazy`,\n options,\n );\n }\n\n if (elementType.status === \"rejected\") {\n throw elementType.error;\n }\n\n if (elementType.status === \"uninitialized\") {\n elementType.status = \"pending\";\n elementType.promise = elementType\n .load()\n .then((module) => {\n elementType.status = \"resolved\";\n elementType.resolved = module.default;\n runtime.rerender();\n })\n .catch((error: unknown) => {\n elementType.status = \"rejected\";\n elementType.error = error;\n runtime.rerender();\n });\n }\n\n if (isSuspensePrimaryRenderActive()) {\n throw elementType.promise;\n }\n\n return { nodes: [], consumed: 0 };\n }\n\n if (isClassComponentType(elementType)) {\n return reconcileClassComponent(\n parent,\n previousNodes,\n elementType,\n element.props,\n runtime,\n path,\n options,\n reconcileNode,\n (instance) => {\n applyRef(element.ref, instance);\n },\n );\n }\n\n if (typeof elementType === \"function\") {\n const functionComponent = elementType as (\n props: Record<string, unknown>,\n ) => ReactCompatNode;\n return renderWithRootRuntime(runtime, path, () =>\n reconcileNode(\n parent,\n previousNodes,\n functionComponent(element.props),\n runtime,\n `${path}.0`,\n withHydrationComponentStack(options, getComponentName(functionComponent)),\n ),\n functionComponent,\n );\n }\n\n if (typeof elementType !== \"string\") {\n throw new Error(\"Invalid react-compat element type.\");\n }\n\n const elementNamespace = namespaceForHostElement(options.namespace ?? \"html\", elementType);\n const childNamespace = namespaceForHostChildren(elementNamespace, elementType);\n const existing = previousNodes[0];\n if (existing === undefined) {\n reportMissingHydrationNode(options, path);\n } else if (!isHostElement(existing)) {\n reportHydrationNodeTypeMismatch(options, path, `<${elementType}>`, existing);\n }\n if (\n isHostElement(existing) &&\n !hostElementMatches(existing, elementType, elementNamespace)\n ) {\n reportRecoverable(\n options,\n \"tag\",\n path,\n new Error(\n `Hydration tag mismatch: expected <${elementType}> but found <${existing.tagName.toLowerCase()}>.`,\n ),\n );\n reportElementTextMismatch(options, `${path}.c`, existing, element.props.children);\n }\n const domElement =\n isHostElement(existing) &&\n hostElementMatches(existing, elementType, elementNamespace)\n ? existing\n : createHostElement(document, elementType, options.namespace ?? \"html\");\n\n applyProps(domElement, element.props, path, {\n ...options,\n preserveHydrationAttributes:\n options.hydration !== undefined &&\n isHostElement(existing) &&\n hostElementMatches(existing, elementType, elementNamespace),\n });\n const previousChildNodes = Array.from(domElement.childNodes);\n const childResult = reconcileNode(\n domElement,\n previousChildNodes,\n element.props.children,\n runtime,\n `${path}.c`,\n { ...options, namespace: childNamespace },\n );\n reportExtraHydrationNodes(\n options,\n `${path}.c`,\n previousChildNodes,\n childResult.consumed,\n );\n if (!shouldPreserveContentEditableChildren(domElement, element.props, childResult.nodes)) {\n syncChildNodes(domElement, childResult.nodes);\n }\n applyPostChildFormProps(domElement, element.props);\n applyRef(element.ref, domElement);\n return { nodes: [domElement], consumed: existing === undefined ? 0 : 1 };\n}\n\nfunction shouldPreserveContentEditableChildren(\n element: Element,\n props: Record<string, unknown>,\n childNodes: readonly Node[],\n): boolean {\n void childNodes;\n\n if (\n !element.hasAttribute(\"contenteditable\") ||\n element.getAttribute(\"contenteditable\") === \"false\"\n ) {\n return false;\n }\n\n const children = props.children;\n return (\n children === undefined ||\n children === null ||\n children === false ||\n (Array.isArray(children) && children.length === 0)\n );\n}\n\nfunction collectKeyedNodes(nodes: readonly Node[]): Map<string, Node> {\n const keyedNodes = new Map<string, Node>();\n\n for (const node of nodes) {\n const key = nodeKeys.get(node);\n\n if (key !== undefined) {\n keyedNodes.set(key, node);\n }\n }\n\n return keyedNodes;\n}\n\nfunction getNodePathSegment(node: ReactCompatNode, index: number): string {\n const key = getNodeKey(node);\n return key === undefined ? String(index) : `k:${key}`;\n}\n\nfunction getNodeKey(node: ReactCompatNode): string | undefined {\n return isReactCompatElement(node) && node.key !== null\n ? node.key\n : undefined;\n}\n\nfunction getComponentName(component: Function): string {\n return component.name === \"\" ? \"Anonymous\" : component.name;\n}\n\nfunction isForwardRefType(\n value: unknown,\n): value is { $$typeof: typeof FORWARD_REF_TYPE; render: (props: Record<string, unknown>, ref: unknown) => ReactCompatNode } {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === FORWARD_REF_TYPE\n );\n}\n\nfunction isMemoType(\n value: unknown,\n): value is {\n $$typeof: typeof MEMO_TYPE;\n type: ReactCompatElement[\"type\"];\n compare?: (\n previous: Record<string, unknown>,\n next: Record<string, unknown>,\n ) => boolean;\n} {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === MEMO_TYPE\n );\n}\n\nfunction getMemoRenderStates(runtime: RootRuntime): Map<string, MemoRenderState> {\n const existing = memoRenderStates.get(runtime);\n\n if (existing !== undefined) {\n return existing;\n }\n\n const created = new Map<string, MemoRenderState>();\n memoRenderStates.set(runtime, created);\n return created;\n}\n\nfunction collectInstanceKeys(runtime: RootRuntime, prefix: string): string[] {\n return collectRuntimeInstanceKeys(runtime, prefix);\n}\n\nfunction markActiveInstanceKeys(runtime: RootRuntime, keys: readonly string[]): void {\n for (const key of keys) {\n runtime.activeInstanceKeys?.add(key);\n }\n}\n\nfunction hasDirtyInstance(runtime: RootRuntime, keys: readonly string[]): boolean {\n return keys.some(\n (key) =>\n (runtime.instances.get(key) as { dirty?: boolean } | undefined)?.dirty === true,\n );\n}\n\nfunction isLazyType(\n value: unknown,\n): value is {\n $$typeof: typeof LAZY_TYPE;\n load: () => Promise<{ default: ReactCompatElement[\"type\"] }>;\n status: \"uninitialized\" | \"pending\" | \"resolved\" | \"rejected\";\n promise?: Promise<void>;\n resolved?: ReactCompatElement[\"type\"];\n error?: unknown;\n} {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === LAZY_TYPE\n );\n}\n\nfunction applyRef(ref: unknown, node: unknown): void {\n if (typeof ref === \"function\") {\n ref(node);\n return;\n }\n\n if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n (ref as { current: unknown }).current = node;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUpD,OAAO,EAIL,KAAK,6BAA6B,EAEnC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAqB3B,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,6BAA6B,KAChC,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,CAAC;CACvE;AAID,wBAAgB,UAAU,CACxB,SAAS,EAAE,OAAO,EAClB,OAAO,GAAE,WAAgB,GACxB,IAAI,CAuCN;AAyGD,wBAAgB,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAIzE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAEjD;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,kBAAuB,GAC/B,IAAI,CA2EN;AAcD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,OAAO,EAClB,OAAO,GAAE,6BAAkC,GAC1C,sBAAsB,CA0ExB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAYlE"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUpD,OAAO,EAIL,KAAK,6BAA6B,EAEnC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAqB3B,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,6BAA6B,KAChC,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,CAAC;CACvE;AAID,wBAAgB,UAAU,CACxB,SAAS,EAAE,OAAO,EAClB,OAAO,GAAE,WAAgB,GACxB,IAAI,CAuCN;AA2GD,wBAAgB,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAIzE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAEjD;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,kBAAuB,GAC/B,IAAI,CA2FN;AAcD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,OAAO,EAClB,OAAO,GAAE,6BAAkC,GAC1C,sBAAsB,CA0ExB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAYlE"}
package/dist/root.js CHANGED
@@ -60,6 +60,7 @@ function renderHostFiberIntoContainer(container, fiberRoot, runtime, element) {
60
60
  collectPortalNodes(fiberRoot.current, runtime);
61
61
  removeStalePortalNodes(portalSnapshot, runtime);
62
62
  commitDevToolsRoot(container, fiberRoot);
63
+ runtime.idMode = "client";
63
64
  committed = true;
64
65
  return finishedWork;
65
66
  }
@@ -99,6 +100,7 @@ function renderHydratingHostFiberIntoContainer(container, fiberRoot, runtime, el
99
100
  collectPortalNodes(fiberRoot.current, runtime);
100
101
  removeStalePortalNodes(portalSnapshot, runtime);
101
102
  commitDevToolsRoot(container, fiberRoot);
103
+ runtime.idMode = "client";
102
104
  committed = true;
103
105
  return finishedWork;
104
106
  }
@@ -136,10 +138,15 @@ export function hydrateRoot(container, element, options = {}) {
136
138
  const runtime = createRootRuntime((priority = "sync") => {
137
139
  if (runtime.currentElement !== undefined) {
138
140
  enqueueRootRender(fiberRoot, runtime.currentElement, laneForRenderPriority(priority), () => {
141
+ const useHydratingRerender = runtime.idMode === "server" ||
142
+ renderOptions.resumeId !== undefined ||
143
+ renderOptions.consumeResumeMarkers !== undefined;
139
144
  if (canRenderHostFiber(runtime.currentElement)) {
140
- return renderHydratingHostFiberIntoContainer(container, fiberRoot, runtime, runtime.currentElement, renderOptions);
145
+ return useHydratingRerender
146
+ ? renderHydratingHostFiberIntoContainer(container, fiberRoot, runtime, runtime.currentElement, renderOptions)
147
+ : renderHostFiberIntoContainer(container, fiberRoot, runtime, runtime.currentElement);
141
148
  }
142
- renderIntoContainer(container, runtime.currentElement, runtime, renderOptions);
149
+ renderIntoContainer(container, runtime.currentElement, runtime, useHydratingRerender ? renderOptions : {});
143
150
  });
144
151
  }
145
152
  }, {
package/dist/root.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactCompatNode } from \"./element.js\";\nimport {\n createRootRuntime,\n flushSyncUpdates,\n hasStableExternalStores,\n type RenderPriority,\n type RootRuntime,\n} from \"./hooks.js\";\nimport { removeChildIfPresent } from \"./dom-children.js\";\nimport { commitDevToolsRoot, unmountDevToolsRoot } from \"./devtools.js\";\nimport {\n applyStreamingHydrationFragments,\n findContainingResumeBoundaryId,\n getHydrationScope,\n type HydrationRecoverableErrorInfo,\n type RenderOptions,\n} from \"./hydration.js\";\nimport {\n enableEventHydrationManifestReplay,\n readEventHydrationManifest,\n replayQueuedHydrationEvents,\n type EventHydrationManifest,\n} from \"./event-replay.js\";\nimport {\n ContinuousEventLane,\n SyncLane,\n TransitionLane,\n type Lane,\n} from \"./fiber-lanes.js\";\nimport {\n createContainerFiberRoot,\n enqueueRootRender,\n} from \"./fiber-work-loop.js\";\nimport { commitFiberRoot, detachFiberRefs } from \"./fiber-commit.js\";\nimport {\n canRenderHostFiber,\n commitHydratingHostFiberRoot,\n renderHydratingHostFiberRoot,\n renderHostFiberRoot,\n} from \"./fiber-host.js\";\nimport type { Fiber, FiberRoot } from \"./fiber.js\";\nimport { renderIntoContainer } from \"./reconciler.js\";\n\nexport interface Root {\n render(element: ReactCompatNode): void;\n unmount(): void;\n}\n\nexport interface RootOptions {\n identifierPrefix?: string;\n}\n\nexport interface HydrateRootOptions {\n onRecoverableError?: (\n error: Error,\n info: HydrationRecoverableErrorInfo,\n ) => void;\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n identifierPrefix?: string;\n}\n\nexport interface StreamingHydrationRoot {\n hydrate(element: ReactCompatNode, options?: HydrateRootOptions): Root;\n dispose(): void;\n}\n\nexport interface StreamingHydrationRootOptions {\n manifest?: EventHydrationManifest;\n manifestRoot?: ParentNode;\n fragmentRoot?: ParentNode;\n applyOutOfOrderFragments?: boolean;\n observeOutOfOrderFragments?: boolean;\n selectiveHydration?: SelectiveHydrationOptions;\n}\n\nexport interface SelectiveHydrationOptions {\n element?: ReactCompatNode;\n options?: HydrateRootOptions | ((event: Event) => HydrateRootOptions);\n boundaries?: Record<string, SelectiveHydrationBoundary>;\n}\n\nexport interface SelectiveHydrationBoundary {\n element: ReactCompatNode;\n options?: HydrateRootOptions | ((event: Event) => HydrateRootOptions);\n}\n\nconst legacyRoots = new WeakMap<Element, Root>();\n\nexport function createRoot(\n container: Element,\n options: RootOptions = {},\n): Root {\n const fiberRoot = createContainerFiberRoot(container);\n const runtime = createRootRuntime((priority = \"sync\") => {\n if (runtime.currentElement !== undefined) {\n enqueueRootRender(fiberRoot, runtime.currentElement, laneForRenderPriority(priority), () => {\n if (canRenderHostFiber(runtime.currentElement as ReactCompatNode)) {\n return renderHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n runtime.currentElement as ReactCompatNode,\n );\n }\n\n renderIntoContainer(container, runtime.currentElement, runtime);\n });\n }\n }, options);\n\n return {\n render(element) {\n runtime.currentElement = element;\n enqueueRootRender(fiberRoot, element, SyncLane, () => {\n if (canRenderHostFiber(element)) {\n return renderHostFiberIntoContainer(container, fiberRoot, runtime, element);\n }\n\n renderIntoContainer(container, element, runtime);\n });\n },\n unmount() {\n runtime.currentElement = undefined;\n runtime.dispose();\n detachFiberRefs(fiberRoot.current);\n runtime.instances.clear();\n unmountDevToolsRoot(container);\n clearElementChildren(container);\n },\n };\n}\n\nfunction renderHostFiberIntoContainer(\n container: Element,\n fiberRoot: FiberRoot,\n runtime: RootRuntime,\n element: ReactCompatNode,\n): Fiber {\n for (let attempt = 0; attempt < 25; attempt += 1) {\n const portalSnapshot = beginPortalRender(runtime);\n runtime.beginRender();\n let committed = false;\n\n try {\n const finishedWork = renderHostFiberRoot(fiberRoot, element, runtime);\n\n if (runtime.renderPhaseUpdate) {\n runtime.renderPhaseUpdate = false;\n continue;\n }\n\n if (!hasStableExternalStores(runtime)) {\n continue;\n }\n\n fiberRoot.finishedWork = finishedWork;\n commitFiberRoot(fiberRoot);\n collectPortalNodes(fiberRoot.current, runtime);\n removeStalePortalNodes(portalSnapshot, runtime);\n commitDevToolsRoot(container, fiberRoot);\n committed = true;\n return finishedWork;\n } finally {\n if (!committed) {\n restorePortalRender(runtime, portalSnapshot);\n }\n runtime.endRender(committed);\n if (committed) {\n runtime.flushEffects();\n }\n }\n }\n\n throw new Error(\"Store unstable.\");\n}\n\nfunction renderHydratingHostFiberIntoContainer(\n container: Element,\n fiberRoot: FiberRoot,\n runtime: RootRuntime,\n element: ReactCompatNode,\n options: RenderOptions & {\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n },\n): Fiber {\n for (let attempt = 0; attempt < 25; attempt += 1) {\n const portalSnapshot = beginPortalRender(runtime);\n runtime.beginRender();\n let committed = false;\n\n try {\n const scope = getHydrationScope(container, options.resumeId);\n const finishedWork = renderHydratingHostFiberRoot(\n fiberRoot,\n element,\n runtime,\n scope,\n options,\n );\n\n if (runtime.renderPhaseUpdate) {\n runtime.renderPhaseUpdate = false;\n continue;\n }\n\n if (!hasStableExternalStores(runtime)) {\n continue;\n }\n\n commitHydratingHostFiberRoot(fiberRoot, finishedWork, scope, options);\n fiberRoot.current = finishedWork;\n fiberRoot.current.stateNode = fiberRoot;\n fiberRoot.finishedWork = undefined;\n fiberRoot.workInProgress = undefined;\n fiberRoot.workInProgressRootRenderLanes = 0;\n collectPortalNodes(fiberRoot.current, runtime);\n removeStalePortalNodes(portalSnapshot, runtime);\n commitDevToolsRoot(container, fiberRoot);\n committed = true;\n return finishedWork;\n } finally {\n if (!committed) {\n restorePortalRender(runtime, portalSnapshot);\n }\n runtime.endRender(committed);\n if (committed) {\n runtime.flushEffects();\n }\n }\n }\n\n throw new Error(\"Store unstable.\");\n}\n\nexport function render(element: ReactCompatNode, container: Element): void {\n const root = legacyRoots.get(container) ?? createRoot(container);\n legacyRoots.set(container, root);\n root.render(element);\n}\n\nexport function flushSync<T>(callback: () => T): T {\n return flushSyncUpdates(callback);\n}\n\nexport function hydrateRoot(\n container: Element,\n element: ReactCompatNode,\n options: HydrateRootOptions = {},\n): Root {\n const fiberRoot = createContainerFiberRoot(container);\n const renderOptions: RenderOptions & {\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n } = {\n hydration:\n options.onRecoverableError === undefined\n ? {}\n : { onRecoverableError: options.onRecoverableError },\n ...(options.resumeId === undefined ? {} : { resumeId: options.resumeId }),\n ...(options.consumeResumeMarkers === undefined\n ? {}\n : { consumeResumeMarkers: options.consumeResumeMarkers }),\n };\n const runtime = createRootRuntime((priority = \"sync\") => {\n if (runtime.currentElement !== undefined) {\n enqueueRootRender(fiberRoot, runtime.currentElement, laneForRenderPriority(priority), () => {\n if (canRenderHostFiber(runtime.currentElement as ReactCompatNode)) {\n return renderHydratingHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n runtime.currentElement as ReactCompatNode,\n renderOptions,\n );\n }\n\n renderIntoContainer(container, runtime.currentElement, runtime, renderOptions);\n });\n }\n }, {\n ...(options.identifierPrefix === undefined\n ? {}\n : { identifierPrefix: options.identifierPrefix }),\n idMode: \"server\",\n });\n\n const root: Root = {\n render(nextElement) {\n runtime.currentElement = nextElement;\n enqueueRootRender(fiberRoot, nextElement, SyncLane, () => {\n if (canRenderHostFiber(nextElement)) {\n return renderHostFiberIntoContainer(container, fiberRoot, runtime, nextElement);\n }\n\n renderIntoContainer(container, nextElement, runtime);\n });\n },\n unmount() {\n runtime.currentElement = undefined;\n runtime.dispose();\n detachFiberRefs(fiberRoot.current);\n runtime.instances.clear();\n unmountDevToolsRoot(container);\n clearElementChildren(container);\n },\n };\n\n runtime.currentElement = element;\n enqueueRootRender(fiberRoot, element, SyncLane, () => {\n if (canRenderHostFiber(element)) {\n return renderHydratingHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n element,\n renderOptions,\n );\n }\n\n renderIntoContainer(container, element, runtime, renderOptions);\n });\n replayQueuedHydrationEvents(container);\n return root;\n}\n\nfunction laneForRenderPriority(priority: RenderPriority): Lane {\n if (priority === \"transition\") {\n return TransitionLane;\n }\n\n if (priority === \"continuous\") {\n return ContinuousEventLane;\n }\n\n return SyncLane;\n}\n\nexport function createStreamingHydrationRoot(\n container: Element,\n options: StreamingHydrationRootOptions = {},\n): StreamingHydrationRoot {\n const fragmentRoot = options.fragmentRoot ?? container.ownerDocument;\n const manifestRoot = options.manifestRoot ?? container;\n const manifest = options.manifest ?? readEventHydrationManifest(manifestRoot);\n\n if (options.applyOutOfOrderFragments !== false) {\n applyStreamingHydrationFragments(fragmentRoot);\n }\n\n let hydratedRoot: Root | undefined;\n const hydrate = (\n element: ReactCompatNode,\n hydrateOptions: HydrateRootOptions = {},\n ): Root => {\n if (options.applyOutOfOrderFragments !== false) {\n applyStreamingHydrationFragments(fragmentRoot);\n }\n\n const root = hydrateRoot(container, element, hydrateOptions);\n hydratedRoot = root;\n disposeReplayCaptureOnce();\n return root;\n };\n const disposeReplayCapture = enableEventHydrationManifestReplay(\n container,\n manifest,\n {\n onCapturedEvent(event, target) {\n const selectiveHydration = options.selectiveHydration;\n const selectiveBoundary = resolveSelectiveHydrationBoundary(\n container,\n event,\n target,\n manifest,\n selectiveHydration,\n );\n\n if (selectiveBoundary === undefined || hydratedRoot !== undefined) {\n return;\n }\n\n hydrate(\n selectiveBoundary.element,\n resolveSelectiveHydrationOptions(event, selectiveBoundary),\n );\n },\n },\n );\n const observer =\n options.observeOutOfOrderFragments === true &&\n typeof MutationObserver !== \"undefined\" &&\n fragmentRoot instanceof Node\n ? new MutationObserver(() => {\n applyStreamingHydrationFragments(fragmentRoot);\n })\n : undefined;\n let replayDisposed = false;\n\n observer?.observe(fragmentRoot as Node, { childList: true, subtree: true });\n\n const disposeReplayCaptureOnce = (): void => {\n if (!replayDisposed) {\n disposeReplayCapture();\n replayDisposed = true;\n }\n };\n\n return {\n hydrate,\n dispose() {\n disposeReplayCaptureOnce();\n observer?.disconnect();\n },\n };\n}\n\nexport function unmountComponentAtNode(container: Element): boolean {\n const root = legacyRoots.get(container);\n\n if (root !== undefined) {\n root.unmount();\n legacyRoots.delete(container);\n return true;\n }\n\n const hadChildren = container.childNodes.length > 0;\n clearElementChildren(container);\n return hadChildren;\n}\n\nfunction clearElementChildren(element: Element): void {\n if (typeof element.replaceChildren === \"function\") {\n element.replaceChildren();\n return;\n }\n\n while (element.firstChild !== null) {\n element.removeChild(element.firstChild);\n }\n}\n\nfunction collectPortalNodes(fiber: Fiber | undefined, runtime: RootRuntime): void {\n if (fiber === undefined || runtime.portalContainers.size === 0) {\n return;\n }\n\n const deferredSiblings: Fiber[] = [];\n let cursor: Fiber | undefined = fiber;\n\n while (cursor !== undefined) {\n if (cursor.tag === \"portal\" && cursor.stateNode instanceof Element) {\n const nodes = Array.isArray(cursor.memoizedState)\n ? cursor.memoizedState.filter((node): node is Node => node instanceof Node)\n : [];\n runtime.portalContainers.add(cursor.stateNode);\n const ownedNodes = runtime.portalNodes.get(cursor.stateNode) ?? new Set<Node>();\n for (const node of nodes) {\n ownedNodes.add(node);\n }\n runtime.portalNodes.set(cursor.stateNode, ownedNodes);\n }\n\n if (cursor.child !== undefined) {\n if (cursor.sibling !== undefined) {\n deferredSiblings.push(cursor.sibling);\n }\n cursor = cursor.child;\n continue;\n }\n\n cursor = cursor.sibling ?? deferredSiblings.pop();\n }\n}\n\ninterface PortalRenderSnapshot {\n containers: Set<Element>;\n nodes: Map<Element, Set<Node>>;\n}\n\nfunction beginPortalRender(runtime: RootRuntime): PortalRenderSnapshot {\n const snapshot = {\n containers: new Set(runtime.portalContainers),\n nodes: clonePortalNodes(runtime.portalNodes),\n };\n runtime.portalContainers.clear();\n runtime.portalNodes.clear();\n return snapshot;\n}\n\nfunction restorePortalRender(\n runtime: RootRuntime,\n snapshot: PortalRenderSnapshot,\n): void {\n runtime.portalContainers = snapshot.containers;\n runtime.portalNodes = snapshot.nodes;\n}\n\nfunction removeStalePortalNodes(\n snapshot: PortalRenderSnapshot,\n runtime: RootRuntime,\n): void {\n for (const [container, nodes] of snapshot.nodes) {\n const currentNodes = runtime.portalNodes.get(container);\n\n for (const node of nodes) {\n if (currentNodes?.has(node) !== true) {\n removeChildIfPresent(container, node);\n }\n }\n }\n}\n\nfunction clonePortalNodes(source: Map<Element, Set<Node>>): Map<Element, Set<Node>> {\n const clone = new Map<Element, Set<Node>>();\n\n for (const [container, nodes] of source) {\n clone.set(container, new Set(nodes));\n }\n\n return clone;\n}\n\nfunction resolveSelectiveHydrationBoundary(\n container: Element,\n event: Event,\n target: EventTarget,\n manifest: EventHydrationManifest | undefined,\n selectiveHydration: SelectiveHydrationOptions | undefined,\n): SelectiveHydrationBoundary | undefined {\n if (selectiveHydration === undefined) {\n return undefined;\n }\n\n const resumeId = resolveSelectiveHydrationResumeId(\n container,\n event,\n target,\n manifest,\n );\n const boundary =\n resumeId === undefined ? undefined : selectiveHydration.boundaries?.[resumeId];\n\n if (boundary !== undefined && resumeId !== undefined) {\n return {\n element: boundary.element,\n options: boundary.options ?? { resumeId, consumeResumeMarkers: true },\n };\n }\n\n if (selectiveHydration.element === undefined) {\n return undefined;\n }\n\n return {\n element: selectiveHydration.element,\n ...(selectiveHydration.options === undefined\n ? {}\n : { options: selectiveHydration.options }),\n };\n}\n\nfunction resolveSelectiveHydrationOptions(\n event: Event,\n boundary: SelectiveHydrationBoundary,\n): HydrateRootOptions {\n return typeof boundary.options === \"function\"\n ? boundary.options(event)\n : boundary.options ?? {};\n}\n\nfunction resolveSelectiveHydrationResumeId(\n container: Element,\n event: Event,\n target: EventTarget,\n manifest: EventHydrationManifest | undefined,\n): string | undefined {\n if (!(target instanceof Node) || manifest === undefined) {\n return undefined;\n }\n\n const containingResumeId = findContainingResumeBoundaryId(container, target);\n\n if (containingResumeId === undefined) {\n return undefined;\n }\n\n return manifest.events.some(\n (entry) =>\n entry.event === event.type &&\n getManifestResumeId(entry.id) === containingResumeId,\n )\n ? containingResumeId\n : undefined;\n}\n\nfunction getManifestResumeId(id: string): string {\n return id.split(\":\")[0] ?? id;\n}\n"]}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactCompatNode } from \"./element.js\";\nimport {\n createRootRuntime,\n flushSyncUpdates,\n hasStableExternalStores,\n type RenderPriority,\n type RootRuntime,\n} from \"./hooks.js\";\nimport { removeChildIfPresent } from \"./dom-children.js\";\nimport { commitDevToolsRoot, unmountDevToolsRoot } from \"./devtools.js\";\nimport {\n applyStreamingHydrationFragments,\n findContainingResumeBoundaryId,\n getHydrationScope,\n type HydrationRecoverableErrorInfo,\n type RenderOptions,\n} from \"./hydration.js\";\nimport {\n enableEventHydrationManifestReplay,\n readEventHydrationManifest,\n replayQueuedHydrationEvents,\n type EventHydrationManifest,\n} from \"./event-replay.js\";\nimport {\n ContinuousEventLane,\n SyncLane,\n TransitionLane,\n type Lane,\n} from \"./fiber-lanes.js\";\nimport {\n createContainerFiberRoot,\n enqueueRootRender,\n} from \"./fiber-work-loop.js\";\nimport { commitFiberRoot, detachFiberRefs } from \"./fiber-commit.js\";\nimport {\n canRenderHostFiber,\n commitHydratingHostFiberRoot,\n renderHydratingHostFiberRoot,\n renderHostFiberRoot,\n} from \"./fiber-host.js\";\nimport type { Fiber, FiberRoot } from \"./fiber.js\";\nimport { renderIntoContainer } from \"./reconciler.js\";\n\nexport interface Root {\n render(element: ReactCompatNode): void;\n unmount(): void;\n}\n\nexport interface RootOptions {\n identifierPrefix?: string;\n}\n\nexport interface HydrateRootOptions {\n onRecoverableError?: (\n error: Error,\n info: HydrationRecoverableErrorInfo,\n ) => void;\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n identifierPrefix?: string;\n}\n\nexport interface StreamingHydrationRoot {\n hydrate(element: ReactCompatNode, options?: HydrateRootOptions): Root;\n dispose(): void;\n}\n\nexport interface StreamingHydrationRootOptions {\n manifest?: EventHydrationManifest;\n manifestRoot?: ParentNode;\n fragmentRoot?: ParentNode;\n applyOutOfOrderFragments?: boolean;\n observeOutOfOrderFragments?: boolean;\n selectiveHydration?: SelectiveHydrationOptions;\n}\n\nexport interface SelectiveHydrationOptions {\n element?: ReactCompatNode;\n options?: HydrateRootOptions | ((event: Event) => HydrateRootOptions);\n boundaries?: Record<string, SelectiveHydrationBoundary>;\n}\n\nexport interface SelectiveHydrationBoundary {\n element: ReactCompatNode;\n options?: HydrateRootOptions | ((event: Event) => HydrateRootOptions);\n}\n\nconst legacyRoots = new WeakMap<Element, Root>();\n\nexport function createRoot(\n container: Element,\n options: RootOptions = {},\n): Root {\n const fiberRoot = createContainerFiberRoot(container);\n const runtime = createRootRuntime((priority = \"sync\") => {\n if (runtime.currentElement !== undefined) {\n enqueueRootRender(fiberRoot, runtime.currentElement, laneForRenderPriority(priority), () => {\n if (canRenderHostFiber(runtime.currentElement as ReactCompatNode)) {\n return renderHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n runtime.currentElement as ReactCompatNode,\n );\n }\n\n renderIntoContainer(container, runtime.currentElement, runtime);\n });\n }\n }, options);\n\n return {\n render(element) {\n runtime.currentElement = element;\n enqueueRootRender(fiberRoot, element, SyncLane, () => {\n if (canRenderHostFiber(element)) {\n return renderHostFiberIntoContainer(container, fiberRoot, runtime, element);\n }\n\n renderIntoContainer(container, element, runtime);\n });\n },\n unmount() {\n runtime.currentElement = undefined;\n runtime.dispose();\n detachFiberRefs(fiberRoot.current);\n runtime.instances.clear();\n unmountDevToolsRoot(container);\n clearElementChildren(container);\n },\n };\n}\n\nfunction renderHostFiberIntoContainer(\n container: Element,\n fiberRoot: FiberRoot,\n runtime: RootRuntime,\n element: ReactCompatNode,\n): Fiber {\n for (let attempt = 0; attempt < 25; attempt += 1) {\n const portalSnapshot = beginPortalRender(runtime);\n runtime.beginRender();\n let committed = false;\n\n try {\n const finishedWork = renderHostFiberRoot(fiberRoot, element, runtime);\n\n if (runtime.renderPhaseUpdate) {\n runtime.renderPhaseUpdate = false;\n continue;\n }\n\n if (!hasStableExternalStores(runtime)) {\n continue;\n }\n\n fiberRoot.finishedWork = finishedWork;\n commitFiberRoot(fiberRoot);\n collectPortalNodes(fiberRoot.current, runtime);\n removeStalePortalNodes(portalSnapshot, runtime);\n commitDevToolsRoot(container, fiberRoot);\n runtime.idMode = \"client\";\n committed = true;\n return finishedWork;\n } finally {\n if (!committed) {\n restorePortalRender(runtime, portalSnapshot);\n }\n runtime.endRender(committed);\n if (committed) {\n runtime.flushEffects();\n }\n }\n }\n\n throw new Error(\"Store unstable.\");\n}\n\nfunction renderHydratingHostFiberIntoContainer(\n container: Element,\n fiberRoot: FiberRoot,\n runtime: RootRuntime,\n element: ReactCompatNode,\n options: RenderOptions & {\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n },\n): Fiber {\n for (let attempt = 0; attempt < 25; attempt += 1) {\n const portalSnapshot = beginPortalRender(runtime);\n runtime.beginRender();\n let committed = false;\n\n try {\n const scope = getHydrationScope(container, options.resumeId);\n const finishedWork = renderHydratingHostFiberRoot(\n fiberRoot,\n element,\n runtime,\n scope,\n options,\n );\n\n if (runtime.renderPhaseUpdate) {\n runtime.renderPhaseUpdate = false;\n continue;\n }\n\n if (!hasStableExternalStores(runtime)) {\n continue;\n }\n\n commitHydratingHostFiberRoot(fiberRoot, finishedWork, scope, options);\n fiberRoot.current = finishedWork;\n fiberRoot.current.stateNode = fiberRoot;\n fiberRoot.finishedWork = undefined;\n fiberRoot.workInProgress = undefined;\n fiberRoot.workInProgressRootRenderLanes = 0;\n collectPortalNodes(fiberRoot.current, runtime);\n removeStalePortalNodes(portalSnapshot, runtime);\n commitDevToolsRoot(container, fiberRoot);\n runtime.idMode = \"client\";\n committed = true;\n return finishedWork;\n } finally {\n if (!committed) {\n restorePortalRender(runtime, portalSnapshot);\n }\n runtime.endRender(committed);\n if (committed) {\n runtime.flushEffects();\n }\n }\n }\n\n throw new Error(\"Store unstable.\");\n}\n\nexport function render(element: ReactCompatNode, container: Element): void {\n const root = legacyRoots.get(container) ?? createRoot(container);\n legacyRoots.set(container, root);\n root.render(element);\n}\n\nexport function flushSync<T>(callback: () => T): T {\n return flushSyncUpdates(callback);\n}\n\nexport function hydrateRoot(\n container: Element,\n element: ReactCompatNode,\n options: HydrateRootOptions = {},\n): Root {\n const fiberRoot = createContainerFiberRoot(container);\n const renderOptions: RenderOptions & {\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n } = {\n hydration:\n options.onRecoverableError === undefined\n ? {}\n : { onRecoverableError: options.onRecoverableError },\n ...(options.resumeId === undefined ? {} : { resumeId: options.resumeId }),\n ...(options.consumeResumeMarkers === undefined\n ? {}\n : { consumeResumeMarkers: options.consumeResumeMarkers }),\n };\n const runtime = createRootRuntime((priority = \"sync\") => {\n if (runtime.currentElement !== undefined) {\n enqueueRootRender(fiberRoot, runtime.currentElement, laneForRenderPriority(priority), () => {\n const useHydratingRerender =\n runtime.idMode === \"server\" ||\n renderOptions.resumeId !== undefined ||\n renderOptions.consumeResumeMarkers !== undefined;\n if (canRenderHostFiber(runtime.currentElement as ReactCompatNode)) {\n return useHydratingRerender\n ? renderHydratingHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n runtime.currentElement as ReactCompatNode,\n renderOptions,\n )\n : renderHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n runtime.currentElement as ReactCompatNode,\n );\n }\n\n renderIntoContainer(\n container,\n runtime.currentElement,\n runtime,\n useHydratingRerender ? renderOptions : {},\n );\n });\n }\n }, {\n ...(options.identifierPrefix === undefined\n ? {}\n : { identifierPrefix: options.identifierPrefix }),\n idMode: \"server\",\n });\n\n const root: Root = {\n render(nextElement) {\n runtime.currentElement = nextElement;\n enqueueRootRender(fiberRoot, nextElement, SyncLane, () => {\n if (canRenderHostFiber(nextElement)) {\n return renderHostFiberIntoContainer(container, fiberRoot, runtime, nextElement);\n }\n\n renderIntoContainer(container, nextElement, runtime);\n });\n },\n unmount() {\n runtime.currentElement = undefined;\n runtime.dispose();\n detachFiberRefs(fiberRoot.current);\n runtime.instances.clear();\n unmountDevToolsRoot(container);\n clearElementChildren(container);\n },\n };\n\n runtime.currentElement = element;\n enqueueRootRender(fiberRoot, element, SyncLane, () => {\n if (canRenderHostFiber(element)) {\n return renderHydratingHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n element,\n renderOptions,\n );\n }\n\n renderIntoContainer(container, element, runtime, renderOptions);\n });\n replayQueuedHydrationEvents(container);\n return root;\n}\n\nfunction laneForRenderPriority(priority: RenderPriority): Lane {\n if (priority === \"transition\") {\n return TransitionLane;\n }\n\n if (priority === \"continuous\") {\n return ContinuousEventLane;\n }\n\n return SyncLane;\n}\n\nexport function createStreamingHydrationRoot(\n container: Element,\n options: StreamingHydrationRootOptions = {},\n): StreamingHydrationRoot {\n const fragmentRoot = options.fragmentRoot ?? container.ownerDocument;\n const manifestRoot = options.manifestRoot ?? container;\n const manifest = options.manifest ?? readEventHydrationManifest(manifestRoot);\n\n if (options.applyOutOfOrderFragments !== false) {\n applyStreamingHydrationFragments(fragmentRoot);\n }\n\n let hydratedRoot: Root | undefined;\n const hydrate = (\n element: ReactCompatNode,\n hydrateOptions: HydrateRootOptions = {},\n ): Root => {\n if (options.applyOutOfOrderFragments !== false) {\n applyStreamingHydrationFragments(fragmentRoot);\n }\n\n const root = hydrateRoot(container, element, hydrateOptions);\n hydratedRoot = root;\n disposeReplayCaptureOnce();\n return root;\n };\n const disposeReplayCapture = enableEventHydrationManifestReplay(\n container,\n manifest,\n {\n onCapturedEvent(event, target) {\n const selectiveHydration = options.selectiveHydration;\n const selectiveBoundary = resolveSelectiveHydrationBoundary(\n container,\n event,\n target,\n manifest,\n selectiveHydration,\n );\n\n if (selectiveBoundary === undefined || hydratedRoot !== undefined) {\n return;\n }\n\n hydrate(\n selectiveBoundary.element,\n resolveSelectiveHydrationOptions(event, selectiveBoundary),\n );\n },\n },\n );\n const observer =\n options.observeOutOfOrderFragments === true &&\n typeof MutationObserver !== \"undefined\" &&\n fragmentRoot instanceof Node\n ? new MutationObserver(() => {\n applyStreamingHydrationFragments(fragmentRoot);\n })\n : undefined;\n let replayDisposed = false;\n\n observer?.observe(fragmentRoot as Node, { childList: true, subtree: true });\n\n const disposeReplayCaptureOnce = (): void => {\n if (!replayDisposed) {\n disposeReplayCapture();\n replayDisposed = true;\n }\n };\n\n return {\n hydrate,\n dispose() {\n disposeReplayCaptureOnce();\n observer?.disconnect();\n },\n };\n}\n\nexport function unmountComponentAtNode(container: Element): boolean {\n const root = legacyRoots.get(container);\n\n if (root !== undefined) {\n root.unmount();\n legacyRoots.delete(container);\n return true;\n }\n\n const hadChildren = container.childNodes.length > 0;\n clearElementChildren(container);\n return hadChildren;\n}\n\nfunction clearElementChildren(element: Element): void {\n if (typeof element.replaceChildren === \"function\") {\n element.replaceChildren();\n return;\n }\n\n while (element.firstChild !== null) {\n element.removeChild(element.firstChild);\n }\n}\n\nfunction collectPortalNodes(fiber: Fiber | undefined, runtime: RootRuntime): void {\n if (fiber === undefined || runtime.portalContainers.size === 0) {\n return;\n }\n\n const deferredSiblings: Fiber[] = [];\n let cursor: Fiber | undefined = fiber;\n\n while (cursor !== undefined) {\n if (cursor.tag === \"portal\" && cursor.stateNode instanceof Element) {\n const nodes = Array.isArray(cursor.memoizedState)\n ? cursor.memoizedState.filter((node): node is Node => node instanceof Node)\n : [];\n runtime.portalContainers.add(cursor.stateNode);\n const ownedNodes = runtime.portalNodes.get(cursor.stateNode) ?? new Set<Node>();\n for (const node of nodes) {\n ownedNodes.add(node);\n }\n runtime.portalNodes.set(cursor.stateNode, ownedNodes);\n }\n\n if (cursor.child !== undefined) {\n if (cursor.sibling !== undefined) {\n deferredSiblings.push(cursor.sibling);\n }\n cursor = cursor.child;\n continue;\n }\n\n cursor = cursor.sibling ?? deferredSiblings.pop();\n }\n}\n\ninterface PortalRenderSnapshot {\n containers: Set<Element>;\n nodes: Map<Element, Set<Node>>;\n}\n\nfunction beginPortalRender(runtime: RootRuntime): PortalRenderSnapshot {\n const snapshot = {\n containers: new Set(runtime.portalContainers),\n nodes: clonePortalNodes(runtime.portalNodes),\n };\n runtime.portalContainers.clear();\n runtime.portalNodes.clear();\n return snapshot;\n}\n\nfunction restorePortalRender(\n runtime: RootRuntime,\n snapshot: PortalRenderSnapshot,\n): void {\n runtime.portalContainers = snapshot.containers;\n runtime.portalNodes = snapshot.nodes;\n}\n\nfunction removeStalePortalNodes(\n snapshot: PortalRenderSnapshot,\n runtime: RootRuntime,\n): void {\n for (const [container, nodes] of snapshot.nodes) {\n const currentNodes = runtime.portalNodes.get(container);\n\n for (const node of nodes) {\n if (currentNodes?.has(node) !== true) {\n removeChildIfPresent(container, node);\n }\n }\n }\n}\n\nfunction clonePortalNodes(source: Map<Element, Set<Node>>): Map<Element, Set<Node>> {\n const clone = new Map<Element, Set<Node>>();\n\n for (const [container, nodes] of source) {\n clone.set(container, new Set(nodes));\n }\n\n return clone;\n}\n\nfunction resolveSelectiveHydrationBoundary(\n container: Element,\n event: Event,\n target: EventTarget,\n manifest: EventHydrationManifest | undefined,\n selectiveHydration: SelectiveHydrationOptions | undefined,\n): SelectiveHydrationBoundary | undefined {\n if (selectiveHydration === undefined) {\n return undefined;\n }\n\n const resumeId = resolveSelectiveHydrationResumeId(\n container,\n event,\n target,\n manifest,\n );\n const boundary =\n resumeId === undefined ? undefined : selectiveHydration.boundaries?.[resumeId];\n\n if (boundary !== undefined && resumeId !== undefined) {\n return {\n element: boundary.element,\n options: boundary.options ?? { resumeId, consumeResumeMarkers: true },\n };\n }\n\n if (selectiveHydration.element === undefined) {\n return undefined;\n }\n\n return {\n element: selectiveHydration.element,\n ...(selectiveHydration.options === undefined\n ? {}\n : { options: selectiveHydration.options }),\n };\n}\n\nfunction resolveSelectiveHydrationOptions(\n event: Event,\n boundary: SelectiveHydrationBoundary,\n): HydrateRootOptions {\n return typeof boundary.options === \"function\"\n ? boundary.options(event)\n : boundary.options ?? {};\n}\n\nfunction resolveSelectiveHydrationResumeId(\n container: Element,\n event: Event,\n target: EventTarget,\n manifest: EventHydrationManifest | undefined,\n): string | undefined {\n if (!(target instanceof Node) || manifest === undefined) {\n return undefined;\n }\n\n const containingResumeId = findContainingResumeBoundaryId(container, target);\n\n if (containingResumeId === undefined) {\n return undefined;\n }\n\n return manifest.events.some(\n (entry) =>\n entry.event === event.type &&\n getManifestResumeId(entry.id) === containingResumeId,\n )\n ? containingResumeId\n : undefined;\n}\n\nfunction getManifestResumeId(id: string): string {\n return id.split(\":\")[0] ?? id;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reckona/mreact-compat",
3
- "version": "0.0.144",
3
+ "version": "0.0.146",
4
4
  "description": "React-compatible runtime implementation for mreact.",
5
5
  "keywords": [
6
6
  "compatibility",
@@ -69,7 +69,7 @@
69
69
  "access": "public"
70
70
  },
71
71
  "dependencies": {
72
- "@reckona/mreact-shared": "0.0.144",
73
- "@reckona/mreact-reactive-core": "0.0.144"
72
+ "@reckona/mreact-reactive-core": "0.0.146",
73
+ "@reckona/mreact-shared": "0.0.146"
74
74
  }
75
75
  }
package/src/dom-props.ts CHANGED
@@ -311,33 +311,68 @@ function applyInitialRowProps(
311
311
  export function applyPostChildFormProps(
312
312
  element: Element,
313
313
  props: Record<string, unknown>,
314
+ previousProps?: Record<string, unknown>,
314
315
  ): void {
315
- const value = props.value ?? props.defaultValue;
316
+ if (element instanceof HTMLInputElement) {
317
+ if (hasOwnProp(props, "checked")) {
318
+ const checked = props.checked !== null && props.checked !== undefined && props.checked !== false;
319
+ element.checked = checked;
320
+ element.defaultChecked = checked;
321
+ if (checked) {
322
+ element.setAttribute("checked", "");
323
+ } else {
324
+ element.removeAttribute("checked");
325
+ }
326
+ }
316
327
 
317
- if (value === undefined || value === null) {
328
+ const value = postChildFormValue(props, previousProps);
329
+ if (value !== undefined) {
330
+ element.value = value;
331
+ element.setAttribute("value", value);
332
+ }
318
333
  return;
319
334
  }
320
335
 
321
- if (element instanceof HTMLInputElement) {
322
- element.value = String(value);
323
- element.setAttribute("value", String(value));
336
+ const value = postChildFormValue(props, previousProps);
337
+
338
+ if (value === undefined) {
324
339
  return;
325
340
  }
326
341
 
327
342
  if (element instanceof HTMLTextAreaElement) {
328
- element.value = String(value);
329
- element.textContent = String(value);
343
+ element.value = value;
344
+ element.textContent = value;
330
345
  return;
331
346
  }
332
347
 
333
348
  if (element instanceof HTMLSelectElement) {
334
- const nextValue = String(value);
335
349
  for (const option of Array.from(element.options)) {
336
- option.selected = option.value === nextValue;
350
+ option.selected = option.value === value;
337
351
  }
338
352
  }
339
353
  }
340
354
 
355
+ function postChildFormValue(
356
+ props: Record<string, unknown>,
357
+ previousProps: Record<string, unknown> | undefined,
358
+ ): string | undefined {
359
+ if (hasOwnProp(props, "value")) {
360
+ return props.value === null || props.value === undefined ? "" : String(props.value);
361
+ }
362
+
363
+ if (previousProps === undefined && hasOwnProp(props, "defaultValue")) {
364
+ return props.defaultValue === null || props.defaultValue === undefined
365
+ ? ""
366
+ : String(props.defaultValue);
367
+ }
368
+
369
+ return undefined;
370
+ }
371
+
372
+ function hasOwnProp(props: Record<string, unknown>, name: string): boolean {
373
+ return Object.prototype.hasOwnProperty.call(props, name);
374
+ }
375
+
341
376
  function applyAttribute(
342
377
  element: Element,
343
378
  name: string,