main
js 281 lines 13.9 KB
Raw
1 /**
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 *
7 * @flow
8 */
9
10 // This is a host config that's used for the internal `react-noop-renderer`.
11 //
12 // Its API lets you pass the host config as an argument.
13 // However, inside the `react-reconciler` we treat host config as a module.
14 // This file is a shim between two worlds.
15 //
16 // It works because the `react-reconciler` bundle is wrapped in something like:
17 //
18 // module.exports = function ($$$config) {
19 // /* reconciler code */
20 // }
21 //
22 // So `$$$config` looks like a global variable, but it's
23 // really an argument to a top-level wrapping function.
24
25 export * from 'react-noop-renderer/src/ReactFiberConfigNoop';
26
27 declare const $$$config: $FlowFixMe;
28 export opaque type Type = mixed;
29 export opaque type Props = mixed;
30 export opaque type ActivityInstance = mixed;
31 export opaque type SuspenseInstance = mixed;
32 export opaque type HydratableInstance = mixed;
33 export opaque type UpdatePayload = mixed;
34 export opaque type ChildSet = mixed;
35 export opaque type TimeoutHandle = mixed;
36 export opaque type NoTimeout = mixed;
37 export opaque type RendererInspectionConfig = mixed;
38 export opaque type FormInstance = mixed;
39 export opaque type SuspendedState = mixed;
40 export type RunningViewTransition = mixed;
41 export type ViewTransitionInstance = null | {name: string, ...};
42 export opaque type InstanceMeasurement = mixed;
43 export type EventResponder = any;
44 export type GestureTimeline = any;
45 export type FragmentInstanceType = null;
46
47 export const rendererVersion = $$$config.rendererVersion;
48 export const rendererPackageName = $$$config.rendererPackageName;
49 export const extraDevToolsConfig = $$$config.extraDevToolsConfig;
50
51 export const getPublicInstance = $$$config.getPublicInstance;
52 export const getRootHostContext = $$$config.getRootHostContext;
53 export const getChildHostContext = $$$config.getChildHostContext;
54 export const prepareForCommit = $$$config.prepareForCommit;
55 export const resetAfterCommit = $$$config.resetAfterCommit;
56 export const createInstance = $$$config.createInstance;
57 export const cloneMutableInstance = $$$config.cloneMutableInstance;
58 export const appendInitialChild = $$$config.appendInitialChild;
59 export const finalizeInitialChildren = $$$config.finalizeInitialChildren;
60 export const shouldSetTextContent = $$$config.shouldSetTextContent;
61 export const createTextInstance = $$$config.createTextInstance;
62 export const cloneMutableTextInstance = $$$config.cloneMutableTextInstance;
63 export const scheduleTimeout = $$$config.scheduleTimeout;
64 export const cancelTimeout = $$$config.cancelTimeout;
65 export const noTimeout = $$$config.noTimeout;
66 export const isPrimaryRenderer = $$$config.isPrimaryRenderer;
67 export const warnsIfNotActing = $$$config.warnsIfNotActing;
68 export const supportsMutation = $$$config.supportsMutation;
69 export const supportsPersistence = $$$config.supportsPersistence;
70 export const supportsHydration = $$$config.supportsHydration;
71 export const getInstanceFromNode = $$$config.getInstanceFromNode;
72 export const beforeActiveInstanceBlur = $$$config.beforeActiveInstanceBlur;
73 export const afterActiveInstanceBlur = $$$config.afterActiveInstanceBlur;
74 export const preparePortalMount = $$$config.preparePortalMount;
75 export const prepareScopeUpdate = $$$config.prepareScopeUpdate;
76 export const getInstanceFromScope = $$$config.getInstanceFromScope;
77 export const setCurrentUpdatePriority = $$$config.setCurrentUpdatePriority;
78 export const getCurrentUpdatePriority = $$$config.getCurrentUpdatePriority;
79 export const resolveUpdatePriority = $$$config.resolveUpdatePriority;
80 export const trackSchedulerEvent = $$$config.trackSchedulerEvent;
81 export const resolveEventType = $$$config.resolveEventType;
82 export const resolveEventTimeStamp = $$$config.resolveEventTimeStamp;
83 export const shouldAttemptEagerTransition =
84 $$$config.shouldAttemptEagerTransition;
85 export const detachDeletedInstance = $$$config.detachDeletedInstance;
86 export const requestPostPaintCallback = $$$config.requestPostPaintCallback;
87 export const maySuspendCommit = $$$config.maySuspendCommit;
88 export const maySuspendCommitOnUpdate = $$$config.maySuspendCommitOnUpdate;
89 export const maySuspendCommitInSyncRender =
90 $$$config.maySuspendCommitInSyncRender;
91 export const preloadInstance = $$$config.preloadInstance;
92 export const startSuspendingCommit = $$$config.startSuspendingCommit;
93 export const suspendInstance = $$$config.suspendInstance;
94 export const suspendOnActiveViewTransition =
95 $$$config.suspendOnActiveViewTransition;
96 export const waitForCommitToBeReady = $$$config.waitForCommitToBeReady;
97 export const getSuspendedCommitReason = $$$config.getSuspendedCommitReason;
98 export const NotPendingTransition = $$$config.NotPendingTransition;
99 export const HostTransitionContext = $$$config.HostTransitionContext;
100 export const resetFormInstance = $$$config.resetFormInstance;
101 export const bindToConsole = $$$config.bindToConsole;
102
103 // -------------------
104 // Microtasks
105 // (optional)
106 // -------------------
107 export const supportsMicrotasks = $$$config.supportsMicrotasks;
108 export const scheduleMicrotask = $$$config.scheduleMicrotask;
109
110 // -------------------
111 // Test selectors
112 // (optional)
113 // -------------------
114 export const supportsTestSelectors = $$$config.supportsTestSelectors;
115 export const findFiberRoot = $$$config.findFiberRoot;
116 export const getBoundingRect = $$$config.getBoundingRect;
117 export const getTextContent = $$$config.getTextContent;
118 export const isHiddenSubtree = $$$config.isHiddenSubtree;
119 export const matchAccessibilityRole = $$$config.matchAccessibilityRole;
120 export const setFocusIfFocusable = $$$config.setFocusIfFocusable;
121 export const setupIntersectionObserver = $$$config.setupIntersectionObserver;
122
123 // -------------------
124 // Mutation
125 // (optional)
126 // -------------------
127 export const appendChild = $$$config.appendChild;
128 export const appendChildToContainer = $$$config.appendChildToContainer;
129 export const commitTextUpdate = $$$config.commitTextUpdate;
130 export const commitMount = $$$config.commitMount;
131 export const commitUpdate = $$$config.commitUpdate;
132 export const insertBefore = $$$config.insertBefore;
133 export const insertInContainerBefore = $$$config.insertInContainerBefore;
134 export const removeChild = $$$config.removeChild;
135 export const removeChildFromContainer = $$$config.removeChildFromContainer;
136 export const resetTextContent = $$$config.resetTextContent;
137 export const hideInstance = $$$config.hideInstance;
138 export const hideTextInstance = $$$config.hideTextInstance;
139 export const unhideInstance = $$$config.unhideInstance;
140 export const unhideTextInstance = $$$config.unhideTextInstance;
141 export const applyViewTransitionName = $$$config.applyViewTransitionName;
142 export const restoreViewTransitionName = $$$config.restoreViewTransitionName;
143 export const cancelViewTransitionName = $$$config.cancelViewTransitionName;
144 export const cancelRootViewTransitionName =
145 $$$config.cancelRootViewTransitionName;
146 export const restoreRootViewTransitionName =
147 $$$config.restoreRootViewTransitionName;
148 export const cloneRootViewTransitionContainer =
149 $$$config.cloneRootViewTransitionContainer;
150 export const removeRootViewTransitionClone =
151 $$$config.removeRootViewTransitionClone;
152 export const measureInstance = $$$config.measureInstance;
153 export const measureClonedInstance = $$$config.measureClonedInstance;
154 export const wasInstanceInViewport = $$$config.wasInstanceInViewport;
155 export const hasInstanceChanged = $$$config.hasInstanceChanged;
156 export const hasInstanceAffectedParent = $$$config.hasInstanceAffectedParent;
157 export const startViewTransition = $$$config.startViewTransition;
158 export const startGestureTransition = $$$config.startGestureTransition;
159 export const stopViewTransition = $$$config.stopViewTransition;
160 export const addViewTransitionFinishedListener =
161 $$$config.addViewTransitionFinishedListener;
162 export const getCurrentGestureOffset = $$$config.getCurrentGestureOffset;
163 export const createViewTransitionInstance =
164 $$$config.createViewTransitionInstance;
165 export const clearContainer = $$$config.clearContainer;
166 export const createFragmentInstance = $$$config.createFragmentInstance;
167 export const updateFragmentInstanceFiber =
168 $$$config.updateFragmentInstanceFiber;
169 export const commitNewChildToFragmentInstance =
170 $$$config.commitNewChildToFragmentInstance;
171 export const deleteChildFromFragmentInstance =
172 $$$config.deleteChildFromFragmentInstance;
173
174 // -------------------
175 // Persistence
176 // (optional)
177 // -------------------
178 export const cloneInstance = $$$config.cloneInstance;
179 export const createContainerChildSet = $$$config.createContainerChildSet;
180 export const appendChildToContainerChildSet =
181 $$$config.appendChildToContainerChildSet;
182 export const finalizeContainerChildren = $$$config.finalizeContainerChildren;
183 export const replaceContainerChildren = $$$config.replaceContainerChildren;
184 export const cloneHiddenInstance = $$$config.cloneHiddenInstance;
185 export const cloneHiddenTextInstance = $$$config.cloneHiddenTextInstance;
186
187 // -------------------
188 // Hydration
189 // (optional)
190 // -------------------
191 export const isSuspenseInstancePending = $$$config.isSuspenseInstancePending;
192 export const isSuspenseInstanceFallback = $$$config.isSuspenseInstanceFallback;
193 export const getSuspenseInstanceFallbackErrorDetails =
194 $$$config.getSuspenseInstanceFallbackErrorDetails;
195 export const registerSuspenseInstanceRetry =
196 $$$config.registerSuspenseInstanceRetry;
197 export const canHydrateFormStateMarker = $$$config.canHydrateFormStateMarker;
198 export const isFormStateMarkerMatching = $$$config.isFormStateMarkerMatching;
199 export const getNextHydratableSibling = $$$config.getNextHydratableSibling;
200 export const getNextHydratableSiblingAfterSingleton =
201 $$$config.getNextHydratableSiblingAfterSingleton;
202 export const getFirstHydratableChild = $$$config.getFirstHydratableChild;
203 export const getFirstHydratableChildWithinContainer =
204 $$$config.getFirstHydratableChildWithinContainer;
205 export const getFirstHydratableChildWithinActivityInstance =
206 $$$config.getFirstHydratableChildWithinActivityInstance;
207 export const getFirstHydratableChildWithinSuspenseInstance =
208 $$$config.getFirstHydratableChildWithinSuspenseInstance;
209 export const getFirstHydratableChildWithinSingleton =
210 $$$config.getFirstHydratableChildWithinSingleton;
211 export const canHydrateInstance = $$$config.canHydrateInstance;
212 export const canHydrateTextInstance = $$$config.canHydrateTextInstance;
213 export const canHydrateActivityInstance = $$$config.canHydrateActivityInstance;
214 export const canHydrateSuspenseInstance = $$$config.canHydrateSuspenseInstance;
215 export const hydrateInstance = $$$config.hydrateInstance;
216 export const hydrateTextInstance = $$$config.hydrateTextInstance;
217 export const hydrateActivityInstance = $$$config.hydrateActivityInstance;
218 export const hydrateSuspenseInstance = $$$config.hydrateSuspenseInstance;
219 export const getNextHydratableInstanceAfterActivityInstance =
220 $$$config.getNextHydratableInstanceAfterActivityInstance;
221 export const getNextHydratableInstanceAfterSuspenseInstance =
222 $$$config.getNextHydratableInstanceAfterSuspenseInstance;
223 export const commitHydratedInstance = $$$config.commitHydratedInstance;
224 export const commitHydratedContainer = $$$config.commitHydratedContainer;
225 export const commitHydratedActivityInstance =
226 $$$config.commitHydratedActivityInstance;
227 export const commitHydratedSuspenseInstance =
228 $$$config.commitHydratedSuspenseInstance;
229 export const finalizeHydratedChildren = $$$config.finalizeHydratedChildren;
230 export const flushHydrationEvents = $$$config.flushHydrationEvents;
231 export const clearActivityBoundary = $$$config.clearActivityBoundary;
232 export const clearSuspenseBoundary = $$$config.clearSuspenseBoundary;
233 export const clearActivityBoundaryFromContainer =
234 $$$config.clearActivityBoundaryFromContainer;
235 export const clearSuspenseBoundaryFromContainer =
236 $$$config.clearSuspenseBoundaryFromContainer;
237 export const hideDehydratedBoundary = $$$config.hideDehydratedBoundary;
238 export const unhideDehydratedBoundary = $$$config.unhideDehydratedBoundary;
239 export const shouldDeleteUnhydratedTailInstances =
240 $$$config.shouldDeleteUnhydratedTailInstances;
241 export const diffHydratedPropsForDevWarnings =
242 $$$config.diffHydratedPropsForDevWarnings;
243 export const diffHydratedTextForDevWarnings =
244 $$$config.diffHydratedTextForDevWarnings;
245 export const describeHydratableInstanceForDevWarnings =
246 $$$config.describeHydratableInstanceForDevWarnings;
247 export const validateHydratableInstance = $$$config.validateHydratableInstance;
248 export const validateHydratableTextInstance =
249 $$$config.validateHydratableTextInstance;
250
251 // -------------------
252 // Resources
253 // (optional)
254 // -------------------
255 export type HoistableRoot = mixed;
256 export type Resource = mixed;
257 export const supportsResources = $$$config.supportsResources;
258 export const isHostHoistableType = $$$config.isHostHoistableType;
259 export const getHoistableRoot = $$$config.getHoistableRoot;
260 export const getResource = $$$config.getResource;
261 export const acquireResource = $$$config.acquireResource;
262 export const releaseResource = $$$config.releaseResource;
263 export const hydrateHoistable = $$$config.hydrateHoistable;
264 export const mountHoistable = $$$config.mountHoistable;
265 export const unmountHoistable = $$$config.unmountHoistable;
266 export const createHoistableInstance = $$$config.createHoistableInstance;
267 export const prepareToCommitHoistables = $$$config.prepareToCommitHoistables;
268 export const mayResourceSuspendCommit = $$$config.mayResourceSuspendCommit;
269 export const preloadResource = $$$config.preloadResource;
270 export const suspendResource = $$$config.suspendResource;
271
272 // -------------------
273 // Singletons
274 // (optional)
275 // -------------------
276 export const supportsSingletons = $$$config.supportsSingletons;
277 export const resolveSingletonInstance = $$$config.resolveSingletonInstance;
278 export const acquireSingletonInstance = $$$config.acquireSingletonInstance;
279 export const releaseSingletonInstance = $$$config.releaseSingletonInstance;
280 export const isHostSingletonType = $$$config.isHostSingletonType;
281 export const isSingletonScope = $$$config.isSingletonScope;