@reckona/mreact-compat 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -0
  3. package/dist/class-component.d.ts +48 -0
  4. package/dist/class-component.d.ts.map +1 -0
  5. package/dist/class-component.js +186 -0
  6. package/dist/class-component.js.map +1 -0
  7. package/dist/context.d.ts +31 -0
  8. package/dist/context.d.ts.map +1 -0
  9. package/dist/context.js +83 -0
  10. package/dist/context.js.map +1 -0
  11. package/dist/devtools.d.ts +5 -0
  12. package/dist/devtools.d.ts.map +1 -0
  13. package/dist/devtools.js +839 -0
  14. package/dist/devtools.js.map +1 -0
  15. package/dist/dom-children.d.ts +3 -0
  16. package/dist/dom-children.d.ts.map +1 -0
  17. package/dist/dom-children.js +23 -0
  18. package/dist/dom-children.js.map +1 -0
  19. package/dist/dom-props.d.ts +4 -0
  20. package/dist/dom-props.d.ts.map +1 -0
  21. package/dist/dom-props.js +266 -0
  22. package/dist/dom-props.js.map +1 -0
  23. package/dist/element.d.ts +94 -0
  24. package/dist/element.d.ts.map +1 -0
  25. package/dist/element.js +160 -0
  26. package/dist/element.js.map +1 -0
  27. package/dist/event-listeners.d.ts +12 -0
  28. package/dist/event-listeners.d.ts.map +1 -0
  29. package/dist/event-listeners.js +11 -0
  30. package/dist/event-listeners.js.map +1 -0
  31. package/dist/event-replay.d.ts +18 -0
  32. package/dist/event-replay.d.ts.map +1 -0
  33. package/dist/event-replay.js +94 -0
  34. package/dist/event-replay.js.map +1 -0
  35. package/dist/event-types.d.ts +19 -0
  36. package/dist/event-types.d.ts.map +1 -0
  37. package/dist/event-types.js +2 -0
  38. package/dist/event-types.js.map +1 -0
  39. package/dist/events.d.ts +6 -0
  40. package/dist/events.d.ts.map +1 -0
  41. package/dist/events.js +306 -0
  42. package/dist/events.js.map +1 -0
  43. package/dist/fiber-child.d.ts +4 -0
  44. package/dist/fiber-child.d.ts.map +1 -0
  45. package/dist/fiber-child.js +262 -0
  46. package/dist/fiber-child.js.map +1 -0
  47. package/dist/fiber-commit.d.ts +4 -0
  48. package/dist/fiber-commit.d.ts.map +1 -0
  49. package/dist/fiber-commit.js +54 -0
  50. package/dist/fiber-commit.js.map +1 -0
  51. package/dist/fiber-flags.d.ts +15 -0
  52. package/dist/fiber-flags.d.ts.map +1 -0
  53. package/dist/fiber-flags.js +18 -0
  54. package/dist/fiber-flags.js.map +1 -0
  55. package/dist/fiber-host.d.ts +16 -0
  56. package/dist/fiber-host.d.ts.map +1 -0
  57. package/dist/fiber-host.js +892 -0
  58. package/dist/fiber-host.js.map +1 -0
  59. package/dist/fiber-lanes.d.ts +30 -0
  60. package/dist/fiber-lanes.d.ts.map +1 -0
  61. package/dist/fiber-lanes.js +71 -0
  62. package/dist/fiber-lanes.js.map +1 -0
  63. package/dist/fiber-reconciler.d.ts +8 -0
  64. package/dist/fiber-reconciler.d.ts.map +1 -0
  65. package/dist/fiber-reconciler.js +385 -0
  66. package/dist/fiber-reconciler.js.map +1 -0
  67. package/dist/fiber-scheduler.d.ts +37 -0
  68. package/dist/fiber-scheduler.d.ts.map +1 -0
  69. package/dist/fiber-scheduler.js +307 -0
  70. package/dist/fiber-scheduler.js.map +1 -0
  71. package/dist/fiber-work-loop.d.ts +21 -0
  72. package/dist/fiber-work-loop.d.ts.map +1 -0
  73. package/dist/fiber-work-loop.js +116 -0
  74. package/dist/fiber-work-loop.js.map +1 -0
  75. package/dist/fiber.d.ts +50 -0
  76. package/dist/fiber.d.ts.map +1 -0
  77. package/dist/fiber.js +73 -0
  78. package/dist/fiber.js.map +1 -0
  79. package/dist/flight-decoder.d.ts +8 -0
  80. package/dist/flight-decoder.d.ts.map +1 -0
  81. package/dist/flight-decoder.js +132 -0
  82. package/dist/flight-decoder.js.map +1 -0
  83. package/dist/flight-element-builder.d.ts +6 -0
  84. package/dist/flight-element-builder.d.ts.map +1 -0
  85. package/dist/flight-element-builder.js +56 -0
  86. package/dist/flight-element-builder.js.map +1 -0
  87. package/dist/flight-parser.d.ts +3 -0
  88. package/dist/flight-parser.d.ts.map +1 -0
  89. package/dist/flight-parser.js +508 -0
  90. package/dist/flight-parser.js.map +1 -0
  91. package/dist/flight-protocol.d.ts +11 -0
  92. package/dist/flight-protocol.d.ts.map +1 -0
  93. package/dist/flight-protocol.js +61 -0
  94. package/dist/flight-protocol.js.map +1 -0
  95. package/dist/flight-types.d.ts +98 -0
  96. package/dist/flight-types.d.ts.map +1 -0
  97. package/dist/flight-types.js +2 -0
  98. package/dist/flight-types.js.map +1 -0
  99. package/dist/flight.d.ts +26 -0
  100. package/dist/flight.d.ts.map +1 -0
  101. package/dist/flight.js +66 -0
  102. package/dist/flight.js.map +1 -0
  103. package/dist/hooks.d.ts +214 -0
  104. package/dist/hooks.d.ts.map +1 -0
  105. package/dist/hooks.js +1296 -0
  106. package/dist/hooks.js.map +1 -0
  107. package/dist/hydration.d.ts +34 -0
  108. package/dist/hydration.d.ts.map +1 -0
  109. package/dist/hydration.js +164 -0
  110. package/dist/hydration.js.map +1 -0
  111. package/dist/index.d.ts +9 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +6 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/internal.d.ts +2 -0
  116. package/dist/internal.d.ts.map +1 -0
  117. package/dist/internal.js +2 -0
  118. package/dist/internal.js.map +1 -0
  119. package/dist/jsx-dev-runtime.d.ts +19 -0
  120. package/dist/jsx-dev-runtime.d.ts.map +1 -0
  121. package/dist/jsx-dev-runtime.js +6 -0
  122. package/dist/jsx-dev-runtime.js.map +1 -0
  123. package/dist/jsx-runtime.d.ts +24 -0
  124. package/dist/jsx-runtime.d.ts.map +1 -0
  125. package/dist/jsx-runtime.js +21 -0
  126. package/dist/jsx-runtime.js.map +1 -0
  127. package/dist/prop-comparison.d.ts +6 -0
  128. package/dist/prop-comparison.d.ts.map +1 -0
  129. package/dist/prop-comparison.js +28 -0
  130. package/dist/prop-comparison.js.map +1 -0
  131. package/dist/reconcile-types.d.ts +10 -0
  132. package/dist/reconcile-types.d.ts.map +1 -0
  133. package/dist/reconcile-types.js +2 -0
  134. package/dist/reconcile-types.js.map +1 -0
  135. package/dist/reconciler.d.ts +7 -0
  136. package/dist/reconciler.d.ts.map +1 -0
  137. package/dist/reconciler.js +318 -0
  138. package/dist/reconciler.js.map +1 -0
  139. package/dist/render.d.ts +7 -0
  140. package/dist/render.d.ts.map +1 -0
  141. package/dist/render.js +4 -0
  142. package/dist/render.js.map +1 -0
  143. package/dist/root.d.ts +44 -0
  144. package/dist/root.d.ts.map +1 -0
  145. package/dist/root.js +278 -0
  146. package/dist/root.js.map +1 -0
  147. package/dist/scheduler.d.ts +30 -0
  148. package/dist/scheduler.d.ts.map +1 -0
  149. package/dist/scheduler.js +90 -0
  150. package/dist/scheduler.js.map +1 -0
  151. package/dist/suspense.d.ts +8 -0
  152. package/dist/suspense.d.ts.map +1 -0
  153. package/dist/suspense.js +164 -0
  154. package/dist/suspense.js.map +1 -0
  155. package/dist/thenable.d.ts +2 -0
  156. package/dist/thenable.d.ts.map +1 -0
  157. package/dist/thenable.js +6 -0
  158. package/dist/thenable.js.map +1 -0
  159. package/dist/url-safety.d.ts +2 -0
  160. package/dist/url-safety.d.ts.map +1 -0
  161. package/dist/url-safety.js +2 -0
  162. package/dist/url-safety.js.map +1 -0
  163. package/package.json +65 -0
@@ -0,0 +1,318 @@
1
+ import { Activity, Fragment, ERROR_BOUNDARY_TYPE, FORWARD_REF_TYPE, Profiler, Suspense, SuspenseList, LAZY_TYPE, MEMO_TYPE, STRICT_MODE_TYPE, isReactCompatElement, isReactCompatPortal, } from "./element.js";
2
+ import { isReactCompatConsumer, isReactCompatProvider, renderWithContextProvider, useContext, } from "./context.js";
3
+ import { hasStableExternalStores, restoreRuntimeSnapshot, renderWithProfiler, renderWithStrictMode, renderWithRootRuntime, takeRuntimeSnapshot, } from "./hooks.js";
4
+ import { commitDevToolsRoot } from "./devtools.js";
5
+ import { applyPostChildFormProps, applyProps } from "./dom-props.js";
6
+ import { syncChildNodes, syncScopedChildNodes } from "./dom-children.js";
7
+ import { setLogicalEventParent } from "./events.js";
8
+ import { getHydrationScope, reportElementTextMismatch, reportExtraHydrationNodes, reportHydrationNodeTypeMismatch, reportMissingHydrationNode, reportRecoverable, withHydrationComponentStack, } from "./hydration.js";
9
+ import { isClassComponentType, reconcileClassComponent, reconcileErrorBoundary, } from "./class-component.js";
10
+ import { isSuspensePrimaryRenderActive, reconcileSuspense, reconcileSuspenseList, } from "./suspense.js";
11
+ import { areMemoPropsEqual } from "./prop-comparison.js";
12
+ const nodeKeys = new WeakMap();
13
+ const memoRenderStates = new WeakMap();
14
+ export function renderIntoContainer(container, element, runtime, options = {}) {
15
+ for (let attempt = 0; attempt < 25; attempt += 1) {
16
+ runtime.beginRender();
17
+ let committed = false;
18
+ try {
19
+ for (const portalContainer of runtime.portalContainers) {
20
+ portalContainer.replaceChildren();
21
+ }
22
+ runtime.portalContainers.clear();
23
+ const scope = getHydrationScope(container, options.resumeId);
24
+ const renderOptions = { ...options, eventRoot: container };
25
+ const nodes = reconcileNodeList(scope.parent, scope.previousNodes, element, runtime, "0", renderOptions);
26
+ if (!hasStableExternalStores(runtime)) {
27
+ continue;
28
+ }
29
+ syncScopedChildNodes(scope.parent, scope.before, scope.after, nodes);
30
+ if (options.consumeResumeMarkers === true) {
31
+ scope.before?.parentNode?.removeChild(scope.before);
32
+ scope.after?.parentNode?.removeChild(scope.after);
33
+ }
34
+ committed = true;
35
+ }
36
+ finally {
37
+ runtime.endRender(committed);
38
+ }
39
+ runtime.flushEffects();
40
+ commitDevToolsRoot(container, element);
41
+ return;
42
+ }
43
+ throw new Error("Store unstable.");
44
+ }
45
+ function reconcileNodeList(parent, previousNodes, node, runtime, path, options = {}) {
46
+ const result = reconcileNode(parent, previousNodes, node, runtime, path, options);
47
+ return result.nodes;
48
+ }
49
+ function reconcileNode(parent, previousNodes, node, runtime, path, options = {}) {
50
+ if (node === null || node === undefined || typeof node === "boolean") {
51
+ return { nodes: [], consumed: 0 };
52
+ }
53
+ if (typeof node === "string" || typeof node === "number") {
54
+ const existing = previousNodes[0];
55
+ const text = existing instanceof Text ? existing : document.createTextNode("");
56
+ if (existing === undefined) {
57
+ reportMissingHydrationNode(options, path);
58
+ }
59
+ else if (!(existing instanceof Text)) {
60
+ reportHydrationNodeTypeMismatch(options, path, "text", existing);
61
+ }
62
+ if (existing instanceof Text && existing.data !== String(node)) {
63
+ reportRecoverable(options, "text", path, new Error("Hydration text mismatch."));
64
+ }
65
+ text.data = String(node);
66
+ return { nodes: [text], consumed: existing instanceof Text ? 1 : 0 };
67
+ }
68
+ if (Array.isArray(node)) {
69
+ return reconcileSequence(parent, previousNodes, node, runtime, path, options);
70
+ }
71
+ if (!isReactCompatElement(node)) {
72
+ if (isReactCompatPortal(node)) {
73
+ return reconcilePortal(node, parent, runtime, path, options);
74
+ }
75
+ throw new Error("Invalid react-compat element.");
76
+ }
77
+ return reconcileElement(parent, previousNodes, node, runtime, path, options);
78
+ }
79
+ function reconcilePortal(portal, parent, runtime, path, options = {}) {
80
+ runtime.portalContainers.add(portal.container);
81
+ setLogicalEventParent(portal.container, parent);
82
+ const nodes = reconcileNodeList(portal.container, Array.from(portal.container.childNodes), portal.children, runtime, `${path}.portal`, { ...options, eventRoot: portal.container });
83
+ syncChildNodes(portal.container, nodes);
84
+ return { nodes: [], consumed: 0 };
85
+ }
86
+ function reconcileSequence(parent, previousNodes, children, runtime, path, options = {}) {
87
+ const keyedNodes = collectKeyedNodes(previousNodes);
88
+ const nodes = [];
89
+ let previousIndex = 0;
90
+ children.forEach((child, index) => {
91
+ const key = getNodeKey(child);
92
+ const previousForChild = key === undefined
93
+ ? previousNodes.slice(previousIndex)
94
+ : keyedNodes.size === 0
95
+ ? previousNodes.slice(previousIndex)
96
+ : keyedNodes.get(key) === undefined
97
+ ? []
98
+ : [keyedNodes.get(key)];
99
+ const result = reconcileNode(parent, previousForChild, child, runtime, `${path}.${getNodePathSegment(child, index)}`, options);
100
+ if (key === undefined || keyedNodes.size === 0) {
101
+ previousIndex += result.consumed;
102
+ }
103
+ for (const childNode of result.nodes) {
104
+ if (key !== undefined) {
105
+ nodeKeys.set(childNode, key);
106
+ }
107
+ nodes.push(childNode);
108
+ }
109
+ });
110
+ return { nodes, consumed: nodes.length };
111
+ }
112
+ function reconcileElement(parent, previousNodes, element, runtime, path, options = {}) {
113
+ if (element.type === Fragment) {
114
+ return reconcileNode(parent, previousNodes, element.props.children, runtime, `${path}.f`, options);
115
+ }
116
+ if (element.type === Activity) {
117
+ const children = element.props.mode === "hidden"
118
+ ? null
119
+ : element.props.children;
120
+ return reconcileNode(parent, previousNodes, children, runtime, `${path}.activity`, options);
121
+ }
122
+ if (element.type === Profiler) {
123
+ return renderWithProfiler(runtime, `${path}.profiler`, element.props, () => reconcileNode(parent, previousNodes, element.props.children, runtime, `${path}.profiler`, options));
124
+ }
125
+ if (element.type === STRICT_MODE_TYPE) {
126
+ const snapshot = takeRuntimeSnapshot(runtime);
127
+ try {
128
+ reconcileNode(parent, [], element.props.children, runtime, `${path}.strict.preview`, options);
129
+ }
130
+ finally {
131
+ restoreRuntimeSnapshot(runtime, snapshot);
132
+ }
133
+ return renderWithStrictMode(runtime, () => reconcileNode(parent, previousNodes, element.props.children, runtime, `${path}.strict`, options));
134
+ }
135
+ if (element.type === Suspense) {
136
+ return reconcileSuspense(parent, previousNodes, element, runtime, path, options, reconcileNode);
137
+ }
138
+ if (element.type === SuspenseList) {
139
+ return reconcileSuspenseList(parent, previousNodes, element, runtime, path, options, reconcileNode, reconcileSequence);
140
+ }
141
+ if (element.type === ERROR_BOUNDARY_TYPE) {
142
+ return reconcileErrorBoundary(parent, previousNodes, element, runtime, path, options, reconcileNode);
143
+ }
144
+ const elementType = element.type;
145
+ if (isReactCompatProvider(elementType)) {
146
+ return renderWithContextProvider(elementType, element.props.value, () => reconcileNode(parent, previousNodes, element.props.children, runtime, `${path}.p`, options));
147
+ }
148
+ if (isReactCompatConsumer(elementType)) {
149
+ const children = element.props.children;
150
+ const render = typeof children === "function"
151
+ ? children
152
+ : () => null;
153
+ return reconcileNode(parent, previousNodes, render(useContext(elementType.context)), runtime, `${path}.consumer`, options);
154
+ }
155
+ if (isForwardRefType(elementType)) {
156
+ return renderWithRootRuntime(runtime, path, () => reconcileNode(parent, previousNodes, elementType.render(element.props, element.ref), runtime, `${path}.forwardRef`, options));
157
+ }
158
+ if (isMemoType(elementType)) {
159
+ const memoPath = `${path}.memo`;
160
+ const memoStates = getMemoRenderStates(runtime);
161
+ const previousMemoState = memoStates.get(memoPath);
162
+ if (previousMemoState !== undefined &&
163
+ previousNodes.length >= previousMemoState.nodeCount &&
164
+ !hasDirtyInstance(runtime, previousMemoState.instanceKeys) &&
165
+ areMemoPropsEqual(elementType, previousMemoState.props, element.props)) {
166
+ markActiveInstanceKeys(runtime, previousMemoState.instanceKeys);
167
+ return {
168
+ nodes: previousNodes.slice(0, previousMemoState.nodeCount),
169
+ consumed: previousMemoState.nodeCount,
170
+ };
171
+ }
172
+ const result = reconcileElement(parent, previousNodes, {
173
+ ...element,
174
+ type: elementType.type,
175
+ }, runtime, memoPath, options);
176
+ memoStates.set(memoPath, {
177
+ props: { ...element.props },
178
+ nodeCount: result.nodes.length,
179
+ instanceKeys: collectInstanceKeys(runtime, memoPath),
180
+ });
181
+ return result;
182
+ }
183
+ if (isLazyType(elementType)) {
184
+ if (elementType.status === "resolved" && elementType.resolved !== undefined) {
185
+ return reconcileElement(parent, previousNodes, { ...element, type: elementType.resolved }, runtime, `${path}.lazy`, options);
186
+ }
187
+ if (elementType.status === "rejected") {
188
+ throw elementType.error;
189
+ }
190
+ if (elementType.status === "uninitialized") {
191
+ elementType.status = "pending";
192
+ elementType.promise = elementType
193
+ .load()
194
+ .then((module) => {
195
+ elementType.status = "resolved";
196
+ elementType.resolved = module.default;
197
+ runtime.rerender();
198
+ })
199
+ .catch((error) => {
200
+ elementType.status = "rejected";
201
+ elementType.error = error;
202
+ runtime.rerender();
203
+ });
204
+ }
205
+ if (isSuspensePrimaryRenderActive()) {
206
+ throw elementType.promise;
207
+ }
208
+ return { nodes: [], consumed: 0 };
209
+ }
210
+ if (isClassComponentType(elementType)) {
211
+ return reconcileClassComponent(parent, previousNodes, elementType, element.props, runtime, path, options, reconcileNode, (instance) => {
212
+ applyRef(element.ref, instance);
213
+ });
214
+ }
215
+ if (typeof elementType === "function") {
216
+ const functionComponent = elementType;
217
+ return renderWithRootRuntime(runtime, path, () => reconcileNode(parent, previousNodes, functionComponent(element.props), runtime, `${path}.0`, withHydrationComponentStack(options, getComponentName(functionComponent))));
218
+ }
219
+ if (typeof elementType !== "string") {
220
+ throw new Error("Invalid react-compat element type.");
221
+ }
222
+ const existing = previousNodes[0];
223
+ if (existing === undefined) {
224
+ reportMissingHydrationNode(options, path);
225
+ }
226
+ else if (!(existing instanceof HTMLElement)) {
227
+ reportHydrationNodeTypeMismatch(options, path, `<${elementType}>`, existing);
228
+ }
229
+ if (existing instanceof HTMLElement &&
230
+ existing.tagName.toLowerCase() !== elementType) {
231
+ reportRecoverable(options, "tag", path, new Error(`Hydration tag mismatch: expected <${elementType}> but found <${existing.tagName.toLowerCase()}>.`));
232
+ reportElementTextMismatch(options, `${path}.c`, existing, element.props.children);
233
+ }
234
+ const domElement = existing instanceof HTMLElement &&
235
+ existing.tagName.toLowerCase() === elementType
236
+ ? existing
237
+ : document.createElement(elementType);
238
+ applyProps(domElement, element.props, path, {
239
+ ...options,
240
+ preserveHydrationAttributes: options.hydration !== undefined &&
241
+ existing instanceof HTMLElement &&
242
+ existing.tagName.toLowerCase() === elementType,
243
+ });
244
+ const previousChildNodes = Array.from(domElement.childNodes);
245
+ const childResult = reconcileNode(domElement, previousChildNodes, element.props.children, runtime, `${path}.c`, options);
246
+ reportExtraHydrationNodes(options, `${path}.c`, previousChildNodes, childResult.consumed);
247
+ syncChildNodes(domElement, childResult.nodes);
248
+ applyPostChildFormProps(domElement, element.props);
249
+ applyRef(element.ref, domElement);
250
+ return { nodes: [domElement], consumed: existing === undefined ? 0 : 1 };
251
+ }
252
+ function collectKeyedNodes(nodes) {
253
+ const keyedNodes = new Map();
254
+ for (const node of nodes) {
255
+ const key = nodeKeys.get(node);
256
+ if (key !== undefined) {
257
+ keyedNodes.set(key, node);
258
+ }
259
+ }
260
+ return keyedNodes;
261
+ }
262
+ function getNodePathSegment(node, index) {
263
+ const key = getNodeKey(node);
264
+ return key === undefined ? String(index) : `k:${key}`;
265
+ }
266
+ function getNodeKey(node) {
267
+ return isReactCompatElement(node) && node.key !== null
268
+ ? node.key
269
+ : undefined;
270
+ }
271
+ function getComponentName(component) {
272
+ return component.name === "" ? "Anonymous" : component.name;
273
+ }
274
+ function isForwardRefType(value) {
275
+ return (typeof value === "object" &&
276
+ value !== null &&
277
+ value.$$typeof === FORWARD_REF_TYPE);
278
+ }
279
+ function isMemoType(value) {
280
+ return (typeof value === "object" &&
281
+ value !== null &&
282
+ value.$$typeof === MEMO_TYPE);
283
+ }
284
+ function getMemoRenderStates(runtime) {
285
+ const existing = memoRenderStates.get(runtime);
286
+ if (existing !== undefined) {
287
+ return existing;
288
+ }
289
+ const created = new Map();
290
+ memoRenderStates.set(runtime, created);
291
+ return created;
292
+ }
293
+ function collectInstanceKeys(runtime, prefix) {
294
+ return Array.from(runtime.instances.keys()).filter((key) => key === prefix || key.startsWith(`${prefix}.`));
295
+ }
296
+ function markActiveInstanceKeys(runtime, keys) {
297
+ for (const key of keys) {
298
+ runtime.activeInstanceKeys?.add(key);
299
+ }
300
+ }
301
+ function hasDirtyInstance(runtime, keys) {
302
+ return keys.some((key) => runtime.instances.get(key)?.dirty === true);
303
+ }
304
+ function isLazyType(value) {
305
+ return (typeof value === "object" &&
306
+ value !== null &&
307
+ value.$$typeof === LAZY_TYPE);
308
+ }
309
+ function applyRef(ref, node) {
310
+ if (typeof ref === "function") {
311
+ ref(node);
312
+ return;
313
+ }
314
+ if (typeof ref === "object" && ref !== null && "current" in ref) {
315
+ ref.current = node;
316
+ }
317
+ }
318
+ //# sourceMappingURL=reconciler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GAIpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GAEpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,0BAA0B,EAC1B,iBAAiB,EAEjB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAgB,CAAC;AAQ7C,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAA6C,CAAC;AAElF,MAAM,UAAU,mBAAmB,CACjC,SAAkB,EAClB,OAAgB,EAChB,OAAoB,EACpB,UAGI,EAAE;IAEN,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC;YACH,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACvD,eAAe,CAAC,eAAe,EAAE,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAEjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,iBAAiB,CAC7B,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,aAAa,EACnB,OAA0B,EAC1B,OAAO,EACP,GAAG,EACH,aAAa,CACd,CAAC;YAEF,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAErE,IAAI,OAAO,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBAC1C,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpD,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,kBAAkB,CAAC,SAAS,EAAE,OAA0B,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAkB,EAClB,aAA8B,EAC9B,IAAqB,EACrB,OAAoB,EACpB,IAAY,EACZ,UAAyB,EAAE;IAE3B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAClF,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CACpB,MAAkB,EAClB,aAA8B,EAC9B,IAAqB,EACrB,OAAoB,EACpB,IAAY,EACZ,UAAyB,EAAE;IAE3B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,GACR,QAAQ,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,CAAC,CAAC,QAAQ,YAAY,IAAI,CAAC,EAAE,CAAC;YACvC,+BAA+B,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,QAAQ,YAAY,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,iBAAiB,CACf,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI,KAAK,CAAC,0BAA0B,CAAC,CACtC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,eAAe,CACtB,MAAyB,EACzB,MAAkB,EAClB,OAAoB,EACpB,IAAY,EACZ,UAAyB,EAAE;IAE3B,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,iBAAiB,CAC7B,MAAM,CAAC,SAAS,EAChB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EACvC,MAAM,CAAC,QAAQ,EACf,OAAO,EACP,GAAG,IAAI,SAAS,EAChB,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAC5C,CAAC;IACF,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAkB,EAClB,aAA8B,EAC9B,QAAoC,EACpC,OAAoB,EACpB,IAAY,EACZ,UAAyB,EAAE;IAE3B,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,gBAAgB,GACpB,GAAG,KAAK,SAAS;YACf,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC;YACpC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;gBACrB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC;gBACpC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAS,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,aAAa,CAC1B,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,GAAG,IAAI,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAC7C,OAAO,CACR,CAAC;QAEF,IAAI,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/C,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAkB,EAClB,aAA8B,EAC9B,OAA2B,EAC3B,OAAoB,EACpB,IAAY,EACZ,UAAyB,EAAE;IAE3B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,aAAa,CAClB,MAAM,EACN,aAAa,EACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EACtB,OAAO,EACP,GAAG,IAAI,IAAI,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GACX,OAAO,CAAC,KAA4B,CAAC,IAAI,KAAK,QAAQ;YACrD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,OAAO,aAAa,CAClB,MAAM,EACN,aAAa,EACb,QAAQ,EACR,OAAO,EACP,GAAG,IAAI,WAAW,EAClB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,kBAAkB,CACvB,OAAO,EACP,GAAG,IAAI,WAAW,EAClB,OAAO,CAAC,KAAK,EACb,GAAG,EAAE,CACH,aAAa,CACX,MAAM,EACN,aAAa,EACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EACtB,OAAO,EACP,GAAG,IAAI,WAAW,EAClB,OAAO,CACR,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,aAAa,CACX,MAAM,EACN,EAAE,EACF,OAAO,CAAC,KAAK,CAAC,QAAQ,EACtB,OAAO,EACP,GAAG,IAAI,iBAAiB,EACxB,OAAO,CACR,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,CACxC,aAAa,CACX,MAAM,EACN,aAAa,EACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EACtB,OAAO,EACP,GAAG,IAAI,SAAS,EAChB,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CACtB,MAAM,EACN,aAAa,EACb,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,aAAa,CACd,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO,qBAAqB,CAC1B,MAAM,EACN,aAAa,EACb,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,aAAa,EACb,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACzC,OAAO,sBAAsB,CAC3B,MAAM,EACN,aAAa,EACb,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,aAAa,CACd,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjC,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,OAAO,yBAAyB,CAC9B,WAAW,EACX,OAAO,CAAC,KAAK,CAAC,KAAK,EACnB,GAAG,EAAE,CACH,aAAa,CACX,MAAM,EACN,aAAa,EACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EACtB,OAAO,EACP,GAAG,IAAI,IAAI,EACX,OAAO,CACR,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QACxC,MAAM,MAAM,GACV,OAAO,QAAQ,KAAK,UAAU;YAC5B,CAAC,CAAE,QAAgD;YACnD,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACjB,OAAO,aAAa,CAClB,MAAM,EACN,aAAa,EACb,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EACvC,OAAO,EACP,GAAG,IAAI,WAAW,EAClB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAC/C,aAAa,CACX,MAAM,EACN,aAAa,EACb,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAC9C,OAAO,EACP,GAAG,IAAI,aAAa,EACpB,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAC;QAChC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnD,IACE,iBAAiB,KAAK,SAAS;YAC/B,aAAa,CAAC,MAAM,IAAI,iBAAiB,CAAC,SAAS;YACnD,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC;YAC1D,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EACtE,CAAC;YACD,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO;gBACL,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC;gBAC1D,QAAQ,EAAE,iBAAiB,CAAC,SAAS;aACtC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAC7B,MAAM,EACN,aAAa,EACb;YACE,GAAG,OAAO;YACV,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,EACD,OAAO,EACP,QAAQ,EACR,OAAO,CACR,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;YACvB,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;YAC3B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YAC9B,YAAY,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC;SACrD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5E,OAAO,gBAAgB,CACrB,MAAM,EACN,aAAa,EACb,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,EAC1C,OAAO,EACP,GAAG,IAAI,OAAO,EACd,OAAO,CACR,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YAC3C,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC;YAC/B,WAAW,CAAC,OAAO,GAAG,WAAW;iBAC9B,IAAI,EAAE;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC;gBAChC,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;gBACtC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxB,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC;gBAChC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC1B,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,6BAA6B,EAAE,EAAE,CAAC;YACpC,MAAM,WAAW,CAAC,OAAO,CAAC;QAC5B,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,uBAAuB,CAC5B,MAAM,EACN,aAAa,EACb,WAAW,EACX,OAAO,CAAC,KAAK,EACb,OAAO,EACP,IAAI,EACJ,OAAO,EACP,aAAa,EACb,CAAC,QAAQ,EAAE,EAAE;YACX,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,iBAAiB,GAAG,WAEN,CAAC;QACrB,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAC/C,aAAa,CACX,MAAM,EACN,aAAa,EACb,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAChC,OAAO,EACP,GAAG,IAAI,IAAI,EACX,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAC1E,CACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,CAAC,CAAC,QAAQ,YAAY,WAAW,CAAC,EAAE,CAAC;QAC9C,+BAA+B,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,WAAW,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/E,CAAC;IACD,IACE,QAAQ,YAAY,WAAW;QAC/B,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,EAC9C,CAAC;QACD,iBAAiB,CACf,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,KAAK,CACP,qCAAqC,WAAW,gBAAgB,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CACnG,CACF,CAAC;QACF,yBAAyB,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,UAAU,GACd,QAAQ,YAAY,WAAW;QAC/B,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW;QAC5C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAE1C,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE;QAC1C,GAAG,OAAO;QACV,2BAA2B,EACzB,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,QAAQ,YAAY,WAAW;YAC/B,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW;KACjD,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,aAAa,CAC/B,UAAU,EACV,kBAAkB,EAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EACtB,OAAO,EACP,GAAG,IAAI,IAAI,EACX,OAAO,CACR,CAAC;IACF,yBAAyB,CACvB,OAAO,EACP,GAAG,IAAI,IAAI,EACX,kBAAkB,EAClB,WAAW,CAAC,QAAQ,CACrB,CAAC;IACF,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9C,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClC,OAAO,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAsB;IAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgB,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAqB,EAAE,KAAa;IAC9D,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,IAAqB;IACvC,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;QACpD,CAAC,CAAC,IAAI,CAAC,GAAG;QACV,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAmB;IAC3C,OAAO,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAgC,CAAC,QAAQ,KAAK,gBAAgB,CAChE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,KAAc;IASd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAgC,CAAC,QAAQ,KAAK,SAAS,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoB;IAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoB,EAAE,MAAc;IAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACzD,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAoB,EAAE,IAAuB;IAC3E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAoB,EAAE,IAAuB;IACrE,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,GAAG,EAAE,EAAE,CACL,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAqC,EAAE,KAAK,KAAK,IAAI,CAClF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,KAAc;IASd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAgC,CAAC,QAAQ,KAAK,SAAS,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,GAAY,EAAE,IAAa;IAC3C,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,CAAC;QACV,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QAC/D,GAA4B,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { createRoot, createStreamingHydrationRoot, flushSync, hydrateRoot, render, unmountComponentAtNode, } from "./root.js";
2
+ export type { HydrateRootOptions, Root, RootOptions, SelectiveHydrationBoundary, SelectiveHydrationOptions, StreamingHydrationRoot, StreamingHydrationRootOptions, } from "./root.js";
3
+ export { applyStreamingHydrationFragments } from "./hydration.js";
4
+ export { enableEventHydrationManifestReplay, enableHydrationEventReplay, queueHydrationEvent, readEventHydrationManifest, } from "./event-replay.js";
5
+ export type { EventHydrationManifest, EventHydrationManifestEntry, } from "./event-replay.js";
6
+ export type { HydrationRecoverableErrorInfo } from "./hydration.js";
7
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,4BAA4B,EAC5B,SAAS,EACT,WAAW,EACX,MAAM,EACN,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,kBAAkB,EAClB,IAAI,EACJ,WAAW,EACX,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/render.js ADDED
@@ -0,0 +1,4 @@
1
+ export { createRoot, createStreamingHydrationRoot, flushSync, hydrateRoot, render, unmountComponentAtNode, } from "./root.js";
2
+ export { applyStreamingHydrationFragments } from "./hydration.js";
3
+ export { enableEventHydrationManifestReplay, enableHydrationEventReplay, queueHydrationEvent, readEventHydrationManifest, } from "./event-replay.js";
4
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,4BAA4B,EAC5B,SAAS,EACT,WAAW,EACX,MAAM,EACN,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAUnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC"}
package/dist/root.d.ts ADDED
@@ -0,0 +1,44 @@
1
+ import type { ReactCompatNode } from "./element.js";
2
+ import { type HydrationRecoverableErrorInfo } from "./hydration.js";
3
+ import { type EventHydrationManifest } from "./event-replay.js";
4
+ export interface Root {
5
+ render(element: ReactCompatNode): void;
6
+ unmount(): void;
7
+ }
8
+ export interface RootOptions {
9
+ identifierPrefix?: string;
10
+ }
11
+ export interface HydrateRootOptions {
12
+ onRecoverableError?: (error: Error, info: HydrationRecoverableErrorInfo) => void;
13
+ resumeId?: string;
14
+ consumeResumeMarkers?: boolean;
15
+ identifierPrefix?: string;
16
+ }
17
+ export interface StreamingHydrationRoot {
18
+ hydrate(element: ReactCompatNode, options?: HydrateRootOptions): Root;
19
+ dispose(): void;
20
+ }
21
+ export interface StreamingHydrationRootOptions {
22
+ manifest?: EventHydrationManifest;
23
+ manifestRoot?: ParentNode;
24
+ fragmentRoot?: ParentNode;
25
+ applyOutOfOrderFragments?: boolean;
26
+ observeOutOfOrderFragments?: boolean;
27
+ selectiveHydration?: SelectiveHydrationOptions;
28
+ }
29
+ export interface SelectiveHydrationOptions {
30
+ element?: ReactCompatNode;
31
+ options?: HydrateRootOptions | ((event: Event) => HydrateRootOptions);
32
+ boundaries?: Record<string, SelectiveHydrationBoundary>;
33
+ }
34
+ export interface SelectiveHydrationBoundary {
35
+ element: ReactCompatNode;
36
+ options?: HydrateRootOptions | ((event: Event) => HydrateRootOptions);
37
+ }
38
+ export declare function createRoot(container: Element, options?: RootOptions): Root;
39
+ export declare function render(element: ReactCompatNode, container: Element): void;
40
+ export declare function flushSync<T>(callback: () => T): T;
41
+ export declare function hydrateRoot(container: Element, element: ReactCompatNode, options?: HydrateRootOptions): Root;
42
+ export declare function createStreamingHydrationRoot(container: Element, options?: StreamingHydrationRootOptions): StreamingHydrationRoot;
43
+ export declare function unmountComponentAtNode(container: Element): boolean;
44
+ //# sourceMappingURL=root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AASpD,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,CAsCN;AA6FD,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,CA0EN;AAcD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,OAAO,EAClB,OAAO,GAAE,6BAAkC,GAC1C,sBAAsB,CA0ExB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAYlE"}