@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,262 @@
1
+ import { ERROR_BOUNDARY_TYPE, FORWARD_REF_TYPE, Fragment, LAZY_TYPE, MEMO_TYPE, STRICT_MODE_TYPE, Suspense, SuspenseList, isReactCompatElement, isReactCompatPortal, } from "./element.js";
2
+ import { isReactCompatConsumer, isReactCompatProvider, } from "./context.js";
3
+ import { isClassComponentType } from "./class-component.js";
4
+ import { ChildDeletion, Placement, Ref, Update } from "./fiber-flags.js";
5
+ import { createFiber, createWorkInProgress } from "./fiber.js";
6
+ import { getPendingProps } from "./prop-comparison.js";
7
+ export function reconcileChildFibers(parent, currentFirstChild, newChildren) {
8
+ const children = normalizeChildren(newChildren);
9
+ const keyed = collectKeyedChildren(currentFirstChild);
10
+ const oldIndexes = collectChildIndexes(currentFirstChild);
11
+ const used = new Set();
12
+ let currentUnkeyed = currentFirstChild;
13
+ let lastPlacedIndex = 0;
14
+ let first;
15
+ let previous;
16
+ for (const child of children) {
17
+ const key = getNodeKey(child);
18
+ const matchedCurrent = key === undefined ? findNextUnkeyedChild(currentUnkeyed) : keyed.get(key);
19
+ const fiber = reconcileSingleChild(parent, matchedCurrent, child, key);
20
+ if (key === undefined) {
21
+ currentUnkeyed = matchedCurrent?.sibling ?? currentUnkeyed?.sibling;
22
+ }
23
+ if (fiber === undefined) {
24
+ if (matchedCurrent !== undefined) {
25
+ used.add(matchedCurrent);
26
+ markChildForDeletion(parent, matchedCurrent);
27
+ }
28
+ continue;
29
+ }
30
+ if (matchedCurrent !== undefined) {
31
+ used.add(matchedCurrent);
32
+ if (fiber.alternate === matchedCurrent) {
33
+ const oldIndex = oldIndexes.get(matchedCurrent) ?? 0;
34
+ if (oldIndex < lastPlacedIndex) {
35
+ fiber.flags |= Placement;
36
+ }
37
+ else {
38
+ lastPlacedIndex = oldIndex;
39
+ }
40
+ }
41
+ else {
42
+ markChildForDeletion(parent, matchedCurrent);
43
+ }
44
+ }
45
+ fiber.lanes |= parent.lanes;
46
+ fiber.return = parent;
47
+ fiber.sibling = undefined;
48
+ if (first === undefined) {
49
+ first = fiber;
50
+ }
51
+ else if (previous !== undefined) {
52
+ previous.sibling = fiber;
53
+ }
54
+ previous = fiber;
55
+ }
56
+ markRemainingChildrenForDeletion(parent, currentFirstChild, used);
57
+ parent.child = first;
58
+ return first;
59
+ }
60
+ function reconcileSingleChild(parent, current, child, key) {
61
+ if (child === null || child === undefined || typeof child === "boolean") {
62
+ return undefined;
63
+ }
64
+ if (typeof child === "string" || typeof child === "number") {
65
+ if (current?.tag === "host-text") {
66
+ const fiber = createWorkInProgress(current, String(child));
67
+ markUpdateEffectIfChanged(fiber, current);
68
+ return fiber;
69
+ }
70
+ const fiber = createFiber("host-text", String(child), key);
71
+ fiber.flags |= Placement;
72
+ fiber.return = parent;
73
+ return fiber;
74
+ }
75
+ if (Array.isArray(child)) {
76
+ if (current?.tag === "fragment") {
77
+ const fiber = createWorkInProgress(current, child);
78
+ markUpdateEffectIfChanged(fiber, current);
79
+ return fiber;
80
+ }
81
+ const fiber = createFiber("fragment", child, key);
82
+ fiber.flags |= Placement;
83
+ fiber.return = parent;
84
+ return fiber;
85
+ }
86
+ if (isReactCompatPortal(child)) {
87
+ if (current?.tag === "portal" && current.stateNode === child.container) {
88
+ const fiber = createWorkInProgress(current, child.children);
89
+ markUpdateEffectIfChanged(fiber, current);
90
+ return fiber;
91
+ }
92
+ const fiber = createFiber("portal", child.children, key);
93
+ fiber.stateNode = child.container;
94
+ fiber.flags |= Placement;
95
+ fiber.return = parent;
96
+ return fiber;
97
+ }
98
+ if (!isReactCompatElement(child)) {
99
+ return undefined;
100
+ }
101
+ if (current !== undefined && canReuseElementFiber(current, child)) {
102
+ const fiber = createWorkInProgress(current, getPendingProps(child));
103
+ markUpdateEffectIfChanged(fiber, current);
104
+ markRefEffectIfChanged(fiber, current);
105
+ return fiber;
106
+ }
107
+ const fiber = createElementFiber(child, key);
108
+ fiber.flags |= Placement;
109
+ fiber.return = parent;
110
+ return fiber;
111
+ }
112
+ function canReuseElementFiber(current, element) {
113
+ if (current.type !== element.type) {
114
+ return false;
115
+ }
116
+ if (typeof element.type === "string") {
117
+ return current.tag === "host-component";
118
+ }
119
+ if (element.type === Fragment) {
120
+ return current.tag === "fragment";
121
+ }
122
+ return current.tag !== "host-component" && current.tag !== "host-text";
123
+ }
124
+ function createElementFiber(element, key) {
125
+ const tag = typeof element.type === "string"
126
+ ? "host-component"
127
+ : element.type === Fragment
128
+ ? "fragment"
129
+ : element.type === Suspense
130
+ ? "suspense"
131
+ : element.type === SuspenseList
132
+ ? "suspense-list"
133
+ : element.type === STRICT_MODE_TYPE
134
+ ? "strict-mode"
135
+ : element.type === ERROR_BOUNDARY_TYPE
136
+ ? "error-boundary"
137
+ : isLazyType(element.type)
138
+ ? "lazy"
139
+ : isReactCompatProvider(element.type)
140
+ ? "context-provider"
141
+ : isReactCompatConsumer(element.type)
142
+ ? "context-consumer"
143
+ : isForwardRefType(element.type)
144
+ ? "forward-ref"
145
+ : isMemoType(element.type)
146
+ ? "memo"
147
+ : isClassComponentType(element.type)
148
+ ? "class-component"
149
+ : "function-component";
150
+ const fiber = createFiber(tag, getPendingProps(element), key);
151
+ fiber.type = element.type;
152
+ return fiber;
153
+ }
154
+ function isForwardRefType(value) {
155
+ return (typeof value === "object" &&
156
+ value !== null &&
157
+ value.$$typeof === FORWARD_REF_TYPE);
158
+ }
159
+ function isMemoType(value) {
160
+ return (typeof value === "object" &&
161
+ value !== null &&
162
+ value.$$typeof === MEMO_TYPE);
163
+ }
164
+ function isLazyType(value) {
165
+ return (typeof value === "object" &&
166
+ value !== null &&
167
+ value.$$typeof === LAZY_TYPE);
168
+ }
169
+ function markChildForDeletion(parent, child) {
170
+ parent.flags |= ChildDeletion;
171
+ parent.deletions = parent.deletions ?? [];
172
+ if (parent.deletions.includes(child)) {
173
+ return;
174
+ }
175
+ parent.deletions.push(child);
176
+ }
177
+ function collectKeyedChildren(firstChild) {
178
+ const keyed = new Map();
179
+ let cursor = firstChild;
180
+ while (cursor !== undefined) {
181
+ if (cursor.key !== undefined) {
182
+ keyed.set(cursor.key, cursor);
183
+ }
184
+ cursor = cursor.sibling;
185
+ }
186
+ return keyed;
187
+ }
188
+ function collectChildIndexes(firstChild) {
189
+ const indexes = new Map();
190
+ let cursor = firstChild;
191
+ let index = 0;
192
+ while (cursor !== undefined) {
193
+ indexes.set(cursor, index);
194
+ cursor = cursor.sibling;
195
+ index += 1;
196
+ }
197
+ return indexes;
198
+ }
199
+ function findNextUnkeyedChild(firstChild) {
200
+ let cursor = firstChild;
201
+ while (cursor !== undefined && cursor.key !== undefined) {
202
+ cursor = cursor.sibling;
203
+ }
204
+ return cursor;
205
+ }
206
+ function markRemainingChildrenForDeletion(parent, firstChild, used) {
207
+ let cursor = firstChild;
208
+ while (cursor !== undefined) {
209
+ if (!used.has(cursor)) {
210
+ markChildForDeletion(parent, cursor);
211
+ }
212
+ cursor = cursor.sibling;
213
+ }
214
+ }
215
+ function normalizeChildren(node) {
216
+ if (node === null || node === undefined || typeof node === "boolean") {
217
+ return [];
218
+ }
219
+ return Array.isArray(node) ? node : [node];
220
+ }
221
+ function getNodeKey(node) {
222
+ return isReactCompatElement(node) && node.key !== null ? node.key : undefined;
223
+ }
224
+ function markUpdateEffectIfChanged(fiber, current) {
225
+ const previousProps = current.memoizedProps === undefined
226
+ ? current.pendingProps
227
+ : current.memoizedProps;
228
+ if (!arePropsEqual(previousProps, fiber.pendingProps)) {
229
+ fiber.flags |= Update;
230
+ }
231
+ }
232
+ function markRefEffectIfChanged(fiber, current) {
233
+ if (getRef(current.memoizedProps ?? current.pendingProps) !==
234
+ getRef(fiber.pendingProps)) {
235
+ fiber.flags |= Ref;
236
+ }
237
+ }
238
+ function getRef(props) {
239
+ return typeof props === "object" && props !== null
240
+ ? props.ref
241
+ : undefined;
242
+ }
243
+ function arePropsEqual(left, right) {
244
+ if (Object.is(left, right)) {
245
+ return true;
246
+ }
247
+ if (typeof left !== "object" ||
248
+ left === null ||
249
+ typeof right !== "object" ||
250
+ right === null) {
251
+ return false;
252
+ }
253
+ const leftRecord = left;
254
+ const rightRecord = right;
255
+ const leftKeys = Object.keys(leftRecord);
256
+ const rightKeys = Object.keys(rightRecord);
257
+ if (leftKeys.length !== rightKeys.length) {
258
+ return false;
259
+ }
260
+ return leftKeys.every((key) => Object.is(leftRecord[key], rightRecord[key]));
261
+ }
262
+ //# sourceMappingURL=fiber-child.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiber-child.js","sourceRoot":"","sources":["../src/fiber-child.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { FiberRoot } from "./fiber.js";
2
+ import type { RenderOptions } from "./hydration.js";
3
+ export declare function commitFiberRoot(root: FiberRoot, options?: RenderOptions): void;
4
+ //# sourceMappingURL=fiber-commit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiber-commit.d.ts","sourceRoot":"","sources":["../src/fiber-commit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,SAAS,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAOpD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,OAAO,GAAE,aAAkB,GAC1B,IAAI,CAgBN"}
@@ -0,0 +1,54 @@
1
+ import { commitHostFiberRoot } from "./fiber-host.js";
2
+ import { markRootFinished } from "./fiber-lanes.js";
3
+ export function commitFiberRoot(root, options = {}) {
4
+ const finishedWork = root.finishedWork;
5
+ if (finishedWork === undefined) {
6
+ return;
7
+ }
8
+ cleanupDeletedRefs(root.current, finishedWork);
9
+ commitHostFiberRoot(root, finishedWork, options);
10
+ root.current = finishedWork;
11
+ root.current.stateNode = root;
12
+ markRootFinished(root, finishedWork.lanes);
13
+ root.callbackPriority = root.pendingLanes & -root.pendingLanes;
14
+ root.finishedWork = undefined;
15
+ root.workInProgress = undefined;
16
+ root.workInProgressRootRenderLanes = 0;
17
+ }
18
+ function cleanupDeletedRefs(previous, next) {
19
+ const nextRefs = new Set();
20
+ collectRefRecords(next, nextRefs);
21
+ for (const record of collectRefRecords(previous)) {
22
+ if (!nextRefs.has(record.ref)) {
23
+ detachRef(record.ref);
24
+ }
25
+ }
26
+ }
27
+ function collectRefRecords(fiber, refs = new Set()) {
28
+ const records = [];
29
+ let cursor = fiber;
30
+ while (cursor !== undefined) {
31
+ const ref = getFiberRef(cursor);
32
+ if (ref !== undefined && ref !== null) {
33
+ refs.add(ref);
34
+ records.push({ ref, node: cursor.stateNode });
35
+ }
36
+ records.push(...collectRefRecords(cursor.child, refs));
37
+ cursor = cursor.sibling;
38
+ }
39
+ return records;
40
+ }
41
+ function getFiberRef(fiber) {
42
+ const props = (fiber.memoizedProps ?? fiber.pendingProps);
43
+ return props?.ref;
44
+ }
45
+ function detachRef(ref) {
46
+ if (typeof ref === "function") {
47
+ ref(null);
48
+ return;
49
+ }
50
+ if (typeof ref === "object" && ref !== null && "current" in ref) {
51
+ ref.current = null;
52
+ }
53
+ }
54
+ //# sourceMappingURL=fiber-commit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiber-commit.js","sourceRoot":"","sources":["../src/fiber-commit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAQpD,MAAM,UAAU,eAAe,CAC7B,IAAe,EACf,UAAyB,EAAE;IAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAEvC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/C,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAC9B,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IAC/D,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,6BAA6B,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAe,EAAE,IAAW;IACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAW,CAAC;IAEpC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAElC,KAAK,MAAM,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAwB,EACxB,OAAqB,IAAI,GAAG,EAAE;IAE9B,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAE3C,CAAC;IAEd,OAAO,KAAK,EAAE,GAAG,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAC7B,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,15 @@
1
+ export type Flags = number;
2
+ export declare const NoFlags = 0;
3
+ export declare const Placement: number;
4
+ export declare const Update: number;
5
+ export declare const Deletion: number;
6
+ export declare const ChildDeletion: number;
7
+ export declare const Ref: number;
8
+ export declare const Visibility: number;
9
+ export declare const Hydrating: number;
10
+ export declare const DidCapture: number;
11
+ export declare const Passive: number;
12
+ export declare const Layout: number;
13
+ export declare function mergeFlags(left: Flags, right: Flags): Flags;
14
+ export declare function includesFlag(flags: Flags, flag: Flags): boolean;
15
+ //# sourceMappingURL=fiber-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiber-flags.d.ts","sourceRoot":"","sources":["../src/fiber-flags.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,SAAS,QAAS,CAAC;AAChC,eAAO,MAAM,MAAM,QAAS,CAAC;AAC7B,eAAO,MAAM,QAAQ,QAAS,CAAC;AAC/B,eAAO,MAAM,aAAa,QAAS,CAAC;AACpC,eAAO,MAAM,GAAG,QAAS,CAAC;AAC1B,eAAO,MAAM,UAAU,QAAS,CAAC;AACjC,eAAO,MAAM,SAAS,QAAS,CAAC;AAChC,eAAO,MAAM,UAAU,QAAS,CAAC;AACjC,eAAO,MAAM,OAAO,QAAS,CAAC;AAC9B,eAAO,MAAM,MAAM,QAAS,CAAC;AAE7B,wBAAgB,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAE3D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAE/D"}
@@ -0,0 +1,18 @@
1
+ export const NoFlags = 0;
2
+ export const Placement = 1 << 0;
3
+ export const Update = 1 << 1;
4
+ export const Deletion = 1 << 2;
5
+ export const ChildDeletion = 1 << 3;
6
+ export const Ref = 1 << 4;
7
+ export const Visibility = 1 << 5;
8
+ export const Hydrating = 1 << 6;
9
+ export const DidCapture = 1 << 7;
10
+ export const Passive = 1 << 8;
11
+ export const Layout = 1 << 9;
12
+ export function mergeFlags(left, right) {
13
+ return left | right;
14
+ }
15
+ export function includesFlag(flags, flag) {
16
+ return (flags & flag) !== NoFlags;
17
+ }
18
+ //# sourceMappingURL=fiber-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiber-flags.js","sourceRoot":"","sources":["../src/fiber-flags.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AACzB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAE7B,MAAM,UAAU,UAAU,CAAC,IAAW,EAAE,KAAY;IAClD,OAAO,IAAI,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAY,EAAE,IAAW;IACpD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO,CAAC;AACpC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ReactCompatNode } from "./element.js";
2
+ import { type Fiber, type FiberRoot } from "./fiber.js";
3
+ import { type RootRuntime } from "./hooks.js";
4
+ import { type HydrationScope, type RenderOptions } from "./hydration.js";
5
+ interface FiberHydrationOptions extends RenderOptions {
6
+ previousNodes?: readonly Node[];
7
+ resumeId?: string;
8
+ consumeResumeMarkers?: boolean;
9
+ }
10
+ export declare function canRenderHostFiber(node: ReactCompatNode): boolean;
11
+ export declare function renderHostFiberRoot(root: FiberRoot, element: ReactCompatNode, runtime?: RootRuntime, options?: FiberHydrationOptions): Fiber;
12
+ export declare function renderHydratingHostFiberRoot(root: FiberRoot, element: ReactCompatNode, runtime: RootRuntime, scope: HydrationScope, options?: FiberHydrationOptions): Fiber;
13
+ export declare function commitHostFiberRoot(root: FiberRoot, finishedWork: Fiber, options?: RenderOptions): void;
14
+ export declare function commitHydratingHostFiberRoot(root: FiberRoot, finishedWork: Fiber, scope: HydrationScope, options?: FiberHydrationOptions): void;
15
+ export {};
16
+ //# sourceMappingURL=fiber-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiber-host.d.ts","sourceRoot":"","sources":["../src/fiber-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAqC,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAQpB,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AAWxB,UAAU,qBAAsB,SAAQ,aAAa;IACnD,aAAa,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAkBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAyEjE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,WAAW,EACrB,OAAO,GAAE,qBAA0B,GAClC,KAAK,CAaP;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,qBAA0B,GAClC,KAAK,CAYP;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,KAAK,EACnB,OAAO,GAAE,aAAkB,GAC1B,IAAI,CAGN;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,KAAK,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,qBAA0B,GAClC,IAAI,CASN"}