Home / File/ SuspenseTab.js — react Source File

SuspenseTab.js — react Source File

Architecture documentation for SuspenseTab.js, a javascript file in the react codebase. 28 imports, 1 dependents.

File javascript BabelCompiler Validation 28 imports 1 dependents 7 functions

Entity Profile

Dependency Diagram

graph LR
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60["SuspenseTab.js"]
  9f39024f_b905_9b0f_2fc7_e24785732638["ButtonIcon.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 9f39024f_b905_9b0f_2fc7_e24785732638
  c4e436c2_f97f_ce14_4047_a3741d53d2b6["InspectHostNodesToggle.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> c4e436c2_f97f_ce14_4047_a3741d53d2b6
  8d1aac2b_7bad_9e53_cab3_6414b0d9e4c5["InspectedElementErrorBoundary.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 8d1aac2b_7bad_9e53_cab3_6414b0d9e4c5
  4c0d725a_27bd_a723_3599_a3e75bea5bd3["InspectedElement.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 4c0d725a_27bd_a723_3599_a3e75bea5bd3
  112f19f5_c561_f36f_4f9c_12048819ad24["portaledContent.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 112f19f5_c561_f36f_4f9c_12048819ad24
  99e412e8_4291_b219_15f8_f660472850c6["portaledContent"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 99e412e8_4291_b219_15f8_f660472850c6
  8868485d_cce3_7e60_d365_1fa69b485f2f["SuspenseTab.css"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 8868485d_cce3_7e60_d365_1fa69b485f2f
  0adf488f_cc01_d00c_692a_56c1f4de537f["SuspenseBreadcrumbs.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 0adf488f_cc01_d00c_692a_56c1f4de537f
  f8b1fe94_dac9_3aaf_1437_e00298d4bc69["SuspenseBreadcrumbs"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> f8b1fe94_dac9_3aaf_1437_e00298d4bc69
  cf8221e2_1aa3_8c65_096d_d49b44597f09["SuspenseRects.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> cf8221e2_1aa3_8c65_096d_d49b44597f09
  09a08def_3d86_aab5_1719_24f5fdd9d175["SuspenseTimeline.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 09a08def_3d86_aab5_1719_24f5fdd9d175
  5b70bf89_51e2_a206_5f64_bef911be67c9["SuspenseTimeline"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 5b70bf89_51e2_a206_5f64_bef911be67c9
  e1645ed6_a62a_153d_27fd_691e1a53cb4f["ActivityList.js"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> e1645ed6_a62a_153d_27fd_691e1a53cb4f
  1c876298_f380_e460_56d0_a0a7b509d56d["ActivityList"]
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60 --> 1c876298_f380_e460_56d0_a0a7b509d56d
  style 3249b7c1_ae10_2672_10ce_a66fd0ee6f60 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */
import * as React from 'react';
import {
  useContext,
  useEffect,
  useLayoutEffect,
  useReducer,
  useRef,
  Fragment,
} from 'react';

import {enableActivitySlices} from 'react-devtools-feature-flags';
import {
  localStorageGetItem,
  localStorageSetItem,
} from 'react-devtools-shared/src/storage';
import ButtonIcon, {type IconType} from '../ButtonIcon';
import InspectHostNodesToggle from '../Components/InspectHostNodesToggle';
import InspectedElementErrorBoundary from '../Components/InspectedElementErrorBoundary';
import InspectedElement from '../Components/InspectedElement';
import portaledContent from '../portaledContent';
import styles from './SuspenseTab.css';
import SuspenseBreadcrumbs from './SuspenseBreadcrumbs';
import SuspenseRects from './SuspenseRects';
import SuspenseTimeline from './SuspenseTimeline';
import ActivityList from './ActivityList';
import {
  SuspenseTreeDispatcherContext,
  SuspenseTreeStateContext,
} from './SuspenseTreeContext';
import {BridgeContext, StoreContext, OptionsContext} from '../context';
import Button from '../Button';
import Toggle from '../Toggle';
import typeof {SyntheticPointerEvent} from 'react-dom-bindings/src/events/SyntheticEvent';
import SettingsModal from 'react-devtools-shared/src/devtools/views/Settings/SettingsModal';
import SettingsModalContextToggle from 'react-devtools-shared/src/devtools/views/Settings/SettingsModalContextToggle';
import {SettingsModalContextController} from 'react-devtools-shared/src/devtools/views/Settings/SettingsModalContext';
import {TreeStateContext} from '../Components/TreeContext';

type Orientation = 'horizontal' | 'vertical';

type LayoutActionType =
  | 'ACTION_SET_ACTIVITY_LIST_TOGGLE'
  | 'ACTION_SET_ACTIVITY_LIST_HORIZONTAL_FRACTION'
  | 'ACTION_SET_INSPECTED_ELEMENT_TOGGLE'
  | 'ACTION_SET_INSPECTED_ELEMENT_HORIZONTAL_FRACTION'
  | 'ACTION_SET_INSPECTED_ELEMENT_VERTICAL_FRACTION';
type LayoutAction = {
  type: LayoutActionType,
  payload: any,
};

type LayoutState = {
// ... (589 more lines)

Domain

Subdomains

Frequently Asked Questions

What does SuspenseTab.js do?
SuspenseTab.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in SuspenseTab.js?
SuspenseTab.js defines 7 function(s): LayoutDispatch, SuspenseTab, SynchronizedScrollContainer, ToggleActivityList, ToggleInspectedElement, initLayoutState, layoutReducer.
What does SuspenseTab.js depend on?
SuspenseTab.js imports 28 module(s): ActivityList, ActivityList.js, Button, Button.js, ButtonIcon.js, InspectHostNodesToggle.js, InspectedElement.js, InspectedElementErrorBoundary.js, and 20 more.
What files import SuspenseTab.js?
SuspenseTab.js is imported by 1 file(s): DevTools.js.
Where is SuspenseTab.js in the architecture?
SuspenseTab.js is located at packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseTab.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-shared/src/devtools/views/SuspenseTab).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free