@ghia/react 0.0.0 → 0.11.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 (150) hide show
  1. package/LICENSE +201 -0
  2. package/dist/automation/client.d.ts +2 -0
  3. package/dist/automation/client.d.ts.map +1 -0
  4. package/dist/automation/client.js +2 -0
  5. package/dist/automation/client.js.map +1 -0
  6. package/dist/automation/index.d.ts +2 -0
  7. package/dist/automation/index.d.ts.map +1 -0
  8. package/dist/automation/index.js +2 -0
  9. package/dist/automation/index.js.map +1 -0
  10. package/dist/automation/protocol.d.ts +2 -0
  11. package/dist/automation/protocol.d.ts.map +1 -0
  12. package/dist/automation/protocol.js +2 -0
  13. package/dist/automation/protocol.js.map +1 -0
  14. package/dist/components/animate-presence.d.ts +35 -0
  15. package/dist/components/animate-presence.d.ts.map +1 -0
  16. package/dist/components/animate-presence.js +184 -0
  17. package/dist/components/animate-presence.js.map +1 -0
  18. package/dist/components/button.d.ts +32 -0
  19. package/dist/components/button.d.ts.map +1 -0
  20. package/dist/components/button.js +62 -0
  21. package/dist/components/button.js.map +1 -0
  22. package/dist/components/combobox.d.ts +63 -0
  23. package/dist/components/combobox.d.ts.map +1 -0
  24. package/dist/components/combobox.js +279 -0
  25. package/dist/components/combobox.js.map +1 -0
  26. package/dist/components/dialog.d.ts +49 -0
  27. package/dist/components/dialog.d.ts.map +1 -0
  28. package/dist/components/dialog.js +157 -0
  29. package/dist/components/dialog.js.map +1 -0
  30. package/dist/components/floating.d.ts +54 -0
  31. package/dist/components/floating.d.ts.map +1 -0
  32. package/dist/components/floating.js +199 -0
  33. package/dist/components/floating.js.map +1 -0
  34. package/dist/components/index.d.ts +135 -0
  35. package/dist/components/index.d.ts.map +1 -0
  36. package/dist/components/index.js +190 -0
  37. package/dist/components/index.js.map +1 -0
  38. package/dist/components/layout-group.d.ts +10 -0
  39. package/dist/components/layout-group.d.ts.map +1 -0
  40. package/dist/components/layout-group.js +10 -0
  41. package/dist/components/layout-group.js.map +1 -0
  42. package/dist/components/motion-config.d.ts +24 -0
  43. package/dist/components/motion-config.d.ts.map +1 -0
  44. package/dist/components/motion-config.js +31 -0
  45. package/dist/components/motion-config.js.map +1 -0
  46. package/dist/components/reorder.d.ts +44 -0
  47. package/dist/components/reorder.d.ts.map +1 -0
  48. package/dist/components/reorder.js +123 -0
  49. package/dist/components/reorder.js.map +1 -0
  50. package/dist/components/select.d.ts +61 -0
  51. package/dist/components/select.d.ts.map +1 -0
  52. package/dist/components/select.js +267 -0
  53. package/dist/components/select.js.map +1 -0
  54. package/dist/components/tooltip.d.ts +30 -0
  55. package/dist/components/tooltip.d.ts.map +1 -0
  56. package/dist/components/tooltip.js +138 -0
  57. package/dist/components/tooltip.js.map +1 -0
  58. package/dist/components/universal-style.d.ts +12 -0
  59. package/dist/components/universal-style.d.ts.map +1 -0
  60. package/dist/components/universal-style.js +45 -0
  61. package/dist/components/universal-style.js.map +1 -0
  62. package/dist/components/variant-context.d.ts +4 -0
  63. package/dist/components/variant-context.d.ts.map +1 -0
  64. package/dist/components/variant-context.js +4 -0
  65. package/dist/components/variant-context.js.map +1 -0
  66. package/dist/cpu-throttle.d.ts +3 -0
  67. package/dist/cpu-throttle.d.ts.map +1 -0
  68. package/dist/cpu-throttle.js +2 -0
  69. package/dist/cpu-throttle.js.map +1 -0
  70. package/dist/floating.d.ts +4 -0
  71. package/dist/floating.d.ts.map +1 -0
  72. package/dist/floating.js +3 -0
  73. package/dist/floating.js.map +1 -0
  74. package/dist/hooks/index.d.ts +6 -0
  75. package/dist/hooks/index.d.ts.map +1 -0
  76. package/dist/hooks/index.js +6 -0
  77. package/dist/hooks/index.js.map +1 -0
  78. package/dist/hooks/use-gpuix.d.ts +17 -0
  79. package/dist/hooks/use-gpuix.d.ts.map +1 -0
  80. package/dist/hooks/use-gpuix.js +22 -0
  81. package/dist/hooks/use-gpuix.js.map +1 -0
  82. package/dist/hooks/use-media-query.d.ts +15 -0
  83. package/dist/hooks/use-media-query.d.ts.map +1 -0
  84. package/dist/hooks/use-media-query.js +30 -0
  85. package/dist/hooks/use-media-query.js.map +1 -0
  86. package/dist/hooks/use-motion-value.d.ts +31 -0
  87. package/dist/hooks/use-motion-value.d.ts.map +1 -0
  88. package/dist/hooks/use-motion-value.js +105 -0
  89. package/dist/hooks/use-motion-value.js.map +1 -0
  90. package/dist/hooks/use-text-search.d.ts +16 -0
  91. package/dist/hooks/use-text-search.d.ts.map +1 -0
  92. package/dist/hooks/use-text-search.js +17 -0
  93. package/dist/hooks/use-text-search.js.map +1 -0
  94. package/dist/hooks/use-window-size.d.ts +11 -0
  95. package/dist/hooks/use-window-size.d.ts.map +1 -0
  96. package/dist/hooks/use-window-size.js +20 -0
  97. package/dist/hooks/use-window-size.js.map +1 -0
  98. package/dist/idle-gc.d.ts +3 -0
  99. package/dist/idle-gc.d.ts.map +1 -0
  100. package/dist/idle-gc.js +2 -0
  101. package/dist/idle-gc.js.map +1 -0
  102. package/dist/index.d.ts +47 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +28 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/reconciler/event-registry.d.ts +10 -0
  107. package/dist/reconciler/event-registry.d.ts.map +1 -0
  108. package/dist/reconciler/event-registry.js +32 -0
  109. package/dist/reconciler/event-registry.js.map +1 -0
  110. package/dist/reconciler/host-config.d.ts +68 -0
  111. package/dist/reconciler/host-config.d.ts.map +1 -0
  112. package/dist/reconciler/host-config.js +539 -0
  113. package/dist/reconciler/host-config.js.map +1 -0
  114. package/dist/reconciler/index.d.ts +3 -0
  115. package/dist/reconciler/index.d.ts.map +1 -0
  116. package/dist/reconciler/index.js +3 -0
  117. package/dist/reconciler/index.js.map +1 -0
  118. package/dist/reconciler/motion-bindings.d.ts +5 -0
  119. package/dist/reconciler/motion-bindings.d.ts.map +1 -0
  120. package/dist/reconciler/motion-bindings.js +10 -0
  121. package/dist/reconciler/motion-bindings.js.map +1 -0
  122. package/dist/reconciler/portal.d.ts +24 -0
  123. package/dist/reconciler/portal.d.ts.map +1 -0
  124. package/dist/reconciler/portal.js +32 -0
  125. package/dist/reconciler/portal.js.map +1 -0
  126. package/dist/reconciler/reconciler.d.ts +14 -0
  127. package/dist/reconciler/reconciler.d.ts.map +1 -0
  128. package/dist/reconciler/reconciler.js +126 -0
  129. package/dist/reconciler/reconciler.js.map +1 -0
  130. package/dist/reconciler/renderer.d.ts +42 -0
  131. package/dist/reconciler/renderer.d.ts.map +1 -0
  132. package/dist/reconciler/renderer.js +320 -0
  133. package/dist/reconciler/renderer.js.map +1 -0
  134. package/dist/testing.d.ts +14 -0
  135. package/dist/testing.d.ts.map +1 -0
  136. package/dist/testing.js +47 -0
  137. package/dist/testing.js.map +1 -0
  138. package/dist/types/host.d.ts +215 -0
  139. package/dist/types/host.d.ts.map +1 -0
  140. package/dist/types/host.js +3 -0
  141. package/dist/types/host.js.map +1 -0
  142. package/dist/types/index.d.ts +2 -0
  143. package/dist/types/index.d.ts.map +1 -0
  144. package/dist/types/index.js +2 -0
  145. package/dist/types/index.js.map +1 -0
  146. package/jsx-dev-runtime.d.ts +143 -0
  147. package/jsx-dev-runtime.js +3 -0
  148. package/jsx-runtime.d.ts +145 -0
  149. package/jsx-runtime.js +1 -0
  150. package/package.json +104 -4
@@ -0,0 +1,539 @@
1
+ /// Host config for React's reconciler — mutation-based protocol.
2
+ ///
3
+ /// Each reconciler callback (createInstance, appendChild, commitUpdate, etc.)
4
+ /// makes a direct napi call to the Rust retained tree. No JSON serialization
5
+ /// of the full element tree. Only changed elements cross the FFI boundary.
6
+ import { createContext } from "react";
7
+ import { DefaultEventPriority } from "react-reconciler/constants.js";
8
+ import { assertSvgPlacement, createElementMethods, defineScrollMembers, blurHostElement, createWebviewMethods, eventTypesWithOverrides, focusHostElement, HOST_BINDING, hostElementMatches, isReservedProp, readBoundingClientRect, sameMutationValue, serializeCustomProp, forwardsCustomProp, readTextControlSelection, requestFormSubmit, selectTextControl, setTextControlSelectionRange, splitMotionStyle, syncNativeviewListeners, } from "@ghia/native/host";
9
+ const NoEventPriority = 0;
10
+ /**
11
+ * React DOM listens to `focusin` and `focusout` for `onFocus` and `onBlur`, so
12
+ * they bubble. React has no `onFocusIn` or `onFocusOut`.
13
+ */
14
+ const EVENT_TYPE_BY_PROP = eventTypesWithOverrides({
15
+ onFocus: "focusin",
16
+ onBlur: "focusout",
17
+ onFocusIn: null,
18
+ onFocusOut: null,
19
+ // A `<nativeview>`'s handlers take the pointer and nothing, not an event: see `syncNativeviewListeners`.
20
+ onAttach: null,
21
+ onDetach: null,
22
+ });
23
+ import { syncMotionBindings } from "./motion-bindings.js";
24
+ import { registerEventListener, unregisterEventListener, unregisterEventHandlers, } from "./event-registry.js";
25
+ let currentUpdatePriority = NoEventPriority;
26
+ const hostNodeStates = new WeakMap();
27
+ function isPublicInstance(instance) {
28
+ return Boolean(instance.focus && instance.blur && instance.matches);
29
+ }
30
+ function attachHostMethods(instance) {
31
+ if (isPublicInstance(instance))
32
+ return instance;
33
+ const state = hostNodeStates.get(instance);
34
+ if (!state) {
35
+ throw new Error(`Host element ${instance.id} was handed out before it was mounted.`);
36
+ }
37
+ const container = state.container;
38
+ defineScrollMembers(instance, () => ({
39
+ renderer: container.nativeRenderer,
40
+ id: instance.id,
41
+ }));
42
+ Object.assign(instance, createElementMethods(container.nativeRenderer, instance.id));
43
+ instance.focus = (options) => focusHostElement(container.nativeRenderer, instance.id, options);
44
+ instance.blur = () => blurHostElement(container.nativeRenderer, instance.id);
45
+ instance.matches = (selector) => hostElementMatches(container.nativeRenderer, instance.id, selector);
46
+ instance.getBoundingClientRect = () => readBoundingClientRect(container.nativeRenderer, instance.id);
47
+ instance[HOST_BINDING] = () => state.mounted
48
+ ? { renderer: container.nativeRenderer, mutations: container.renderer }
49
+ : undefined;
50
+ if (instance.type === "input" || instance.type === "textarea") {
51
+ attachTextControlMethods(instance, container);
52
+ }
53
+ else if (instance.type === "form") {
54
+ const form = instance;
55
+ form.requestSubmit = () => requestFormSubmit({
56
+ id: form.id,
57
+ nativeRenderer: container.nativeRenderer,
58
+ flushMutations: () => container.renderer.flushMutations(),
59
+ });
60
+ }
61
+ else if (instance.type === "webview") {
62
+ Object.assign(instance, createWebviewMethods({
63
+ id: instance.id,
64
+ nativeRenderer: container.nativeRenderer,
65
+ flushMutations: () => container.renderer.flushMutations(),
66
+ }));
67
+ }
68
+ else if (instance.type === "img") {
69
+ const img = instance;
70
+ img.setImage = (bytes) => {
71
+ container.nativeRenderer.setImage?.(img.id, bytes);
72
+ };
73
+ img.setImagePixels = (width, height, pixels, options) => {
74
+ container.nativeRenderer.setImagePixels?.(img.id, width, height, pixels, options?.format);
75
+ };
76
+ }
77
+ if (!isPublicInstance(instance)) {
78
+ throw new Error(`Host element ${instance.id} is missing its focus methods.`);
79
+ }
80
+ return instance;
81
+ }
82
+ function attachTextControlMethods(control, container) {
83
+ const host = {
84
+ id: control.id,
85
+ nativeRenderer: container.nativeRenderer,
86
+ flushMutations: () => container.renderer.flushMutations(),
87
+ };
88
+ control.select = () => selectTextControl(host);
89
+ control.setSelectionRange = (start, end, direction) => setTextControlSelectionRange(host, start, end, direction);
90
+ Object.defineProperties(control, {
91
+ selectionStart: { get: () => readTextControlSelection(host).start },
92
+ selectionEnd: { get: () => readTextControlSelection(host).end },
93
+ selectionDirection: { get: () => readTextControlSelection(host).direction },
94
+ });
95
+ }
96
+ function adopt(parent, child) {
97
+ if (!("type" in child))
98
+ return;
99
+ if (parent)
100
+ child.parentId = parent.id;
101
+ else
102
+ delete child.parentId;
103
+ }
104
+ function stateFor(node) {
105
+ const state = hostNodeStates.get(node);
106
+ if (!state) {
107
+ throw new Error(`GPUIX host node ${node.id} does not belong to a root`);
108
+ }
109
+ return state;
110
+ }
111
+ function containerFor(node) {
112
+ return stateFor(node).container;
113
+ }
114
+ function rendererFor(node) {
115
+ return containerFor(node).renderer;
116
+ }
117
+ function nextId(container) {
118
+ return ++container.ids.nextElementId;
119
+ }
120
+ /** SVG shapes exist only inside an `<svg>`; text and other elements go anywhere. */
121
+ function assertPlacement(parent, child) {
122
+ if ("type" in child)
123
+ assertSvgPlacement(parent?.type, child.type);
124
+ }
125
+ // ── Event wiring helpers ─────────────────────────────────────────────
126
+ function syncEventListeners(container, id, type, props) {
127
+ const record = props;
128
+ if (type === "nativeview")
129
+ syncNativeviewProps(container, id, record);
130
+ for (const propName in record) {
131
+ const eventType = EVENT_TYPE_BY_PROP.get(propName);
132
+ const handler = record[propName];
133
+ if (eventType && handler) {
134
+ registerEventListener(container.eventHandlers, container.renderer, id, eventType, handler);
135
+ }
136
+ }
137
+ }
138
+ function syncNativeviewProps(container, id, props) {
139
+ syncNativeviewListeners(container.eventHandlers, container.renderer, id, props.onAttach, props.onDetach);
140
+ }
141
+ function diffNativeviewProps(container, id, oldProps, newProps) {
142
+ const previous = oldProps;
143
+ const next = newProps;
144
+ if (previous.onAttach === next.onAttach && previous.onDetach === next.onDetach)
145
+ return;
146
+ syncNativeviewProps(container, id, next);
147
+ }
148
+ /**
149
+ * Walks the props an element has, not every event GPUIX knows: this runs for
150
+ * each re-rendered host element, and most have a few props and no handlers.
151
+ */
152
+ function diffEventListeners(container, id, oldProps, newProps) {
153
+ const previous = oldProps;
154
+ const next = newProps;
155
+ for (const propName in next) {
156
+ const eventType = EVENT_TYPE_BY_PROP.get(propName);
157
+ if (!eventType)
158
+ continue;
159
+ const oldHandler = previous[propName];
160
+ const newHandler = next[propName];
161
+ if (oldHandler && !newHandler) {
162
+ unregisterEventListener(container.eventHandlers, container.renderer, id, eventType);
163
+ }
164
+ else if (newHandler && newHandler !== oldHandler) {
165
+ registerEventListener(container.eventHandlers, container.renderer, id, eventType, newHandler);
166
+ }
167
+ }
168
+ for (const propName in previous) {
169
+ if (propName in next)
170
+ continue;
171
+ const eventType = EVENT_TYPE_BY_PROP.get(propName);
172
+ if (eventType && previous[propName]) {
173
+ unregisterEventListener(container.eventHandlers, container.renderer, id, eventType);
174
+ }
175
+ }
176
+ }
177
+ // ── Style helper ─────────────────────────────────────────────────────
178
+ const NO_STYLE = {};
179
+ function sendStyle(renderer, id, props) {
180
+ const style = splitMotionStyle(props.style).style;
181
+ if (style == null || Object.keys(style).length === 0)
182
+ return;
183
+ renderer.setStyle(id, style);
184
+ }
185
+ /**
186
+ * Whether two `style` props reach Rust as the same payload. An absent style and
187
+ * an empty one are the same, and so are two objects holding the same values
188
+ * (a motion value counts as the same only when it is the same value, as it is
189
+ * bound by identity):
190
+ * `style={{ ... }}` is a new object on every render, so reference equality
191
+ * alone would resend every styled element on every commit.
192
+ *
193
+ * Like React DOM, this does not see a style object mutated in place and passed
194
+ * again. Pass a new object when a style changes.
195
+ */
196
+ function sameStyle(left, right) {
197
+ return left === right || sameMutationValue(left ?? NO_STYLE, right ?? NO_STYLE);
198
+ }
199
+ /** The style a hidden element keeps: its own, minus the states, plus `visibility: hidden`. */
200
+ function hiddenStyle(style) {
201
+ // Hover and active go, because a hidden element must stay hidden. A hover
202
+ // style that sets `visibility` would otherwise paint an element React
203
+ // asked to hide.
204
+ const { hover: _hover, active: _active, ...base } = splitMotionStyle(style).style ?? {};
205
+ return { ...base, visibility: "hidden" };
206
+ }
207
+ // ── Custom prop forwarding ───────────────────────────────────────────
208
+ // Props that are handled by the reconciler directly (not forwarded as custom props).
209
+ /** Send all custom props to Rust for non-built-in element types. */
210
+ function syncCustomProps(renderer, id, type, props) {
211
+ for (const [key, value] of Object.entries(props)) {
212
+ if (isReservedProp(key))
213
+ continue;
214
+ if (!forwardsCustomProp(type, key))
215
+ continue;
216
+ renderer.setCustomProp(id, key, serializeCustomProp(value));
217
+ }
218
+ }
219
+ /**
220
+ * Diff and send changed custom props to Rust.
221
+ *
222
+ * Compared by value after serialization: a handler or an inline object is new on
223
+ * every render, and a function serializes to `null` either way, so resending it
224
+ * would only make Rust parse and discard the same value again.
225
+ */
226
+ function diffCustomProps(renderer, id, type, oldProps, newProps) {
227
+ const previous = oldProps;
228
+ const next = newProps;
229
+ // Updated or added props
230
+ for (const key in next) {
231
+ if (isReservedProp(key))
232
+ continue;
233
+ if (!forwardsCustomProp(type, key))
234
+ continue;
235
+ const value = next[key];
236
+ const oldValue = previous[key];
237
+ if (value === oldValue)
238
+ continue;
239
+ const serialized = serializeCustomProp(value);
240
+ if (key in previous &&
241
+ sameMutationValue(serializeCustomProp(oldValue), serialized)) {
242
+ continue;
243
+ }
244
+ renderer.setCustomProp(id, key, serialized);
245
+ }
246
+ // Removed props
247
+ for (const key in previous) {
248
+ if (isReservedProp(key))
249
+ continue;
250
+ if (!forwardsCustomProp(type, key))
251
+ continue;
252
+ if (!(key in next))
253
+ renderer.setCustomProp(id, key, null);
254
+ }
255
+ }
256
+ /**
257
+ * Materialize a render-phase host node only after React places its subtree in
258
+ * the commit phase. Abandoned concurrent renders stay as collectable JS
259
+ * objects and never enter the native mutation queue.
260
+ */
261
+ function materialize(node) {
262
+ const state = stateFor(node);
263
+ if (state.mounted)
264
+ return state;
265
+ const renderer = state.container.renderer;
266
+ if ("type" in node) {
267
+ renderer.createElement(node.id, node.type);
268
+ state.container.instances.set(node.id, node);
269
+ if (state.hidden)
270
+ renderer.setStyle(node.id, hiddenStyle(node.props.style));
271
+ else
272
+ sendStyle(renderer, node.id, node.props);
273
+ syncMotionBindings(state.container, node.id, node.props.style, node.type);
274
+ syncEventListeners(state.container, node.id, node.type, node.props);
275
+ syncCustomProps(renderer, node.id, node.type, node.props);
276
+ }
277
+ else {
278
+ renderer.createElement(node.id, "text");
279
+ renderer.setText(node.id, node.text);
280
+ }
281
+ state.mounted = true;
282
+ if (state.initialChildren) {
283
+ for (const child of state.initialChildren) {
284
+ materialize(child);
285
+ renderer.appendChild(node.id, child.id);
286
+ }
287
+ state.initialChildren = undefined;
288
+ }
289
+ return state;
290
+ }
291
+ /** What a `ref` gives for the mounted element `id`, or `undefined` once it is gone. */
292
+ export function publicInstanceById(container, id) {
293
+ const instance = container.instances.get(id);
294
+ return instance && attachHostMethods(instance);
295
+ }
296
+ const portalContainers = new WeakMap();
297
+ /**
298
+ * The container a portal into `target` mounts through.
299
+ *
300
+ * Cached per target because React compares a portal's `containerInfo` by
301
+ * identity, and a new object on every render would unmount and remount the
302
+ * portal's whole subtree.
303
+ */
304
+ export function portalContainerFor(target) {
305
+ let container = portalContainers.get(target);
306
+ if (!container) {
307
+ container = Object.assign(Object.create(stateFor(target).container), {
308
+ portalTarget: target,
309
+ });
310
+ portalContainers.set(target, container);
311
+ }
312
+ return container;
313
+ }
314
+ // ── Host config ──────────────────────────────────────────────────────
315
+ export const hostConfig = {
316
+ supportsMutation: true,
317
+ supportsPersistence: false,
318
+ supportsHydration: false,
319
+ // React creates host nodes while rendering and may abandon that work in
320
+ // concurrent mode. Keep the description in JS; materialize it only from a
321
+ // commit-phase placement callback.
322
+ createInstance(type, props, rootContainerInstance, _hostContext) {
323
+ const instance = {
324
+ id: nextId(rootContainerInstance),
325
+ type,
326
+ props,
327
+ };
328
+ hostNodeStates.set(instance, {
329
+ container: rootContainerInstance,
330
+ mounted: false,
331
+ hidden: false,
332
+ });
333
+ return instance;
334
+ },
335
+ appendChild(parent, child) {
336
+ assertPlacement(parent, child);
337
+ const parentState = materialize(parent);
338
+ materialize(child);
339
+ adopt(parent, child);
340
+ parentState.container.renderer.appendChild(parent.id, child.id);
341
+ },
342
+ // React only calls this from the deletion path, never to move a node, so the
343
+ // child is gone for good and has to be freed here. Detaching alone leaked
344
+ // every removed text node: `detachDeletedInstance` runs for host components
345
+ // only, so nothing else would ever destroy a `HostText`.
346
+ removeChild(parent, child) {
347
+ const container = containerFor(parent);
348
+ const destroyed = container.renderer.destroyElement(child.id);
349
+ for (const id of destroyed) {
350
+ unregisterEventHandlers(container.eventHandlers, id);
351
+ }
352
+ },
353
+ insertBefore(parent, child, beforeChild) {
354
+ assertPlacement(parent, child);
355
+ const parentState = materialize(parent);
356
+ materialize(child);
357
+ adopt(parent, child);
358
+ parentState.container.renderer.insertBefore(parent.id, child.id, beforeChild.id);
359
+ },
360
+ // A window's root has one child, so there is nothing to order. A portal's
361
+ // children share their target with whatever else it holds, and React places
362
+ // one before another whenever their keys reorder.
363
+ insertInContainerBefore(container, child, beforeChild) {
364
+ const target = container.portalTarget;
365
+ if (!target)
366
+ return;
367
+ assertPlacement(target, child);
368
+ materialize(child);
369
+ adopt(target, child);
370
+ container.renderer.insertBefore(target.id, child.id, beforeChild.id);
371
+ },
372
+ removeChildFromContainer(parent, child) {
373
+ const destroyed = parent.renderer.destroyElement(child.id);
374
+ for (const id of destroyed) {
375
+ unregisterEventHandlers(parent.eventHandlers, id);
376
+ }
377
+ },
378
+ prepareForCommit(_containerInfo) {
379
+ return null;
380
+ },
381
+ // Batch flush point: flushMutations() sends all queued mutations to Rust
382
+ // in a single applyBatch() FFI call. This is the end of React's synchronous
383
+ // commit phase — all mutations from this render are flushed together.
384
+ // An error thrown here is not caught per fiber like the rest of the commit:
385
+ // React leaves its `isFlushingWork` flag set, and from then on no root in the
386
+ // process commits a synchronous update. Report it as the root's uncaught
387
+ // error instead, like a component's.
388
+ resetAfterCommit(containerInfo) {
389
+ try {
390
+ containerInfo.renderer.flushMutations();
391
+ }
392
+ catch (error) {
393
+ containerInfo.onUncaughtError(error instanceof Error ? error : new Error(String(error)), {});
394
+ }
395
+ },
396
+ getRootHostContext(_rootContainerInstance) {
397
+ return { isInsideText: false };
398
+ },
399
+ getChildHostContext(parentHostContext, type, _rootContainerInstance) {
400
+ const isInsideText = type === "text" || type === "span";
401
+ return { ...parentHostContext, isInsideText };
402
+ },
403
+ shouldSetTextContent(_type, _props) {
404
+ return false;
405
+ },
406
+ createTextInstance(text, rootContainerInstance, _hostContext) {
407
+ const instance = {
408
+ id: nextId(rootContainerInstance),
409
+ text,
410
+ parentId: null,
411
+ };
412
+ hostNodeStates.set(instance, {
413
+ container: rootContainerInstance,
414
+ mounted: false,
415
+ hidden: false,
416
+ });
417
+ return instance;
418
+ },
419
+ scheduleTimeout: setTimeout,
420
+ cancelTimeout: clearTimeout,
421
+ noTimeout: -1,
422
+ shouldAttemptEagerTransition() {
423
+ return false;
424
+ },
425
+ finalizeInitialChildren(_instance, _type, _props, _rootContainerInstance, _hostContext) {
426
+ return false;
427
+ },
428
+ commitMount(_instance, _type, _props, _internalInstanceHandle) { },
429
+ commitUpdate(instance, _type, oldProps, newProps, _internalInstanceHandle) {
430
+ const state = stateFor(instance);
431
+ const { container } = state;
432
+ // `commitUpdate` runs for every host element whose props object is new,
433
+ // which is every element a parent re-rendered. Most of those did not change
434
+ // their style, so send it only when it did.
435
+ if (!sameStyle(oldProps.style, newProps.style)) {
436
+ container.renderer.setStyle(instance.id, state.hidden ? hiddenStyle(newProps.style) : (splitMotionStyle(newProps.style).style ?? {}));
437
+ syncMotionBindings(container, instance.id, newProps.style, instance.type);
438
+ }
439
+ diffEventListeners(container, instance.id, oldProps, newProps);
440
+ if (instance.type === "nativeview") {
441
+ diffNativeviewProps(container, instance.id, oldProps, newProps);
442
+ }
443
+ // Custom prop diff (for non-div/text elements)
444
+ diffCustomProps(container.renderer, instance.id, instance.type, oldProps, newProps);
445
+ instance.props = newProps;
446
+ },
447
+ commitTextUpdate(textInstance, _oldText, newText) {
448
+ rendererFor(textInstance).setText(textInstance.id, newText);
449
+ textInstance.text = newText;
450
+ },
451
+ appendChildToContainer(container, child) {
452
+ const target = container.portalTarget;
453
+ assertPlacement(target, child);
454
+ materialize(child);
455
+ adopt(target, child);
456
+ if (target) {
457
+ materialize(target);
458
+ container.renderer.appendChild(target.id, child.id);
459
+ }
460
+ else {
461
+ container.renderer.setRoot(child.id);
462
+ }
463
+ },
464
+ appendInitialChild(parent, child) {
465
+ assertPlacement(parent, child);
466
+ adopt(parent, child);
467
+ const state = stateFor(parent);
468
+ state.initialChildren ??= [];
469
+ state.initialChildren.push(child);
470
+ },
471
+ hideInstance(instance) {
472
+ // Keep the element's own style. `visibility: hidden` skips the paint and
473
+ // keeps the layout box, so replacing the whole style here would collapse
474
+ // the box and lose every other style on the element.
475
+ stateFor(instance).hidden = true;
476
+ rendererFor(instance).setStyle(instance.id, hiddenStyle(instance.props.style));
477
+ },
478
+ unhideInstance(instance, props) {
479
+ stateFor(instance).hidden = false;
480
+ rendererFor(instance).setStyle(instance.id, splitMotionStyle(props.style).style ?? {});
481
+ },
482
+ hideTextInstance(_textInstance) { },
483
+ unhideTextInstance(_textInstance, _text) { },
484
+ clearContainer(_container) { },
485
+ setCurrentUpdatePriority(newPriority) {
486
+ currentUpdatePriority = newPriority;
487
+ },
488
+ getCurrentUpdatePriority: () => currentUpdatePriority,
489
+ resolveUpdatePriority() {
490
+ if (currentUpdatePriority !== NoEventPriority) {
491
+ return currentUpdatePriority;
492
+ }
493
+ return DefaultEventPriority;
494
+ },
495
+ maySuspendCommit() {
496
+ return false;
497
+ },
498
+ NotPendingTransition: null,
499
+ HostTransitionContext: createContext(null),
500
+ resetFormInstance() { },
501
+ requestPostPaintCallback() { },
502
+ trackSchedulerEvent() { },
503
+ resolveEventType() {
504
+ return null;
505
+ },
506
+ resolveEventTimeStamp() {
507
+ return -1.1;
508
+ },
509
+ preloadInstance() {
510
+ return true;
511
+ },
512
+ startSuspendingCommit() { },
513
+ suspendInstance() { },
514
+ waitForCommitToBeReady() {
515
+ return null;
516
+ },
517
+ detachDeletedInstance(instance) {
518
+ const container = containerFor(instance);
519
+ const destroyed = container.renderer.destroyElement(instance.id);
520
+ for (const id of destroyed) {
521
+ unregisterEventHandlers(container.eventHandlers, id);
522
+ }
523
+ },
524
+ getPublicInstance(instance) {
525
+ return attachHostMethods(instance);
526
+ },
527
+ preparePortalMount(_containerInfo) { },
528
+ isPrimaryRenderer: true,
529
+ getInstanceFromNode() {
530
+ return null;
531
+ },
532
+ beforeActiveInstanceBlur() { },
533
+ afterActiveInstanceBlur() { },
534
+ prepareScopeUpdate() { },
535
+ getInstanceFromScope() {
536
+ return null;
537
+ },
538
+ };
539
+ //# sourceMappingURL=host-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-config.js","sourceRoot":"","sources":["../../src/reconciler/host-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./reconciler.js";
2
+ export * from "./renderer.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reconciler/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./reconciler.js";
2
+ export * from "./renderer.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reconciler/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { Container, Props } from "../types/host.js";
2
+ export declare function syncMotionBindings(container: Container, id: number, style: Props["style"], type: string): void;
3
+ /** Runs once the mutation batch has been applied, with the ids it destroyed. */
4
+ export declare function releaseMotionBindings(container: Container, destroyed: readonly number[]): void;
5
+ //# sourceMappingURL=motion-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion-bindings.d.ts","sourceRoot":"","sources":["../../src/reconciler/motion-bindings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9G;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAG9F"}
@@ -0,0 +1,10 @@
1
+ import { retireMotionBindings, runMotionReleases, splitMotionStyle, syncMotionBindings as syncBindings, } from "@ghia/native/host";
2
+ export function syncMotionBindings(container, id, style, type) {
3
+ syncBindings(container, container.renderer, id, splitMotionStyle(style).motionValues, type);
4
+ }
5
+ /** Runs once the mutation batch has been applied, with the ids it destroyed. */
6
+ export function releaseMotionBindings(container, destroyed) {
7
+ retireMotionBindings(container, destroyed);
8
+ runMotionReleases(container);
9
+ }
10
+ //# sourceMappingURL=motion-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion-bindings.js","sourceRoot":"","sources":["../../src/reconciler/motion-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,IAAI,YAAY,GACnC,MAAM,mBAAmB,CAAA;AAG1B,MAAM,UAAU,kBAAkB,CAAC,SAAoB,EAAE,EAAU,EAAE,KAAqB,EAAE,IAAY;IACtG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AAC7F,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,SAAoB,EAAE,SAA4B;IACtF,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAC1C,iBAAiB,CAAC,SAAS,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { ReactNode } from "react";
2
+ import type { PublicInstance } from "../types/host.js";
3
+ /**
4
+ * Render `children` as children of `target`, an element that is already
5
+ * mounted, in the order React places them. The content keeps the context of the
6
+ * component that called `createPortal`, as in React DOM.
7
+ *
8
+ * Take `target` from a `ref` and render the portal once it is set: a portal
9
+ * into an element that is not mounted yet has nowhere to attach.
10
+ *
11
+ * ```tsx
12
+ * const [layer, setLayer] = useState<PublicInstance | null>(null)
13
+ * return (
14
+ * <>
15
+ * <div ref={setLayer} style={{ position: "absolute", inset: 0 }} />
16
+ * {layer && createPortal(<Toast />, layer)}
17
+ * </>
18
+ * )
19
+ * ```
20
+ *
21
+ * `target` must belong to the same root as the caller.
22
+ */
23
+ export declare function createPortal(children: ReactNode, target: PublicInstance, key?: string | null): ReactNode;
24
+ //# sourceMappingURL=portal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../src/reconciler/portal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,cAAc,EACtB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAClB,SAAS,CAQX"}