Home / Function/ resolveBoxStyle() — react Function Reference

resolveBoxStyle() — react Function Reference

Architecture documentation for the resolveBoxStyle() function in resolveBoxStyle.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  9b82aa86_a9e2_3c74_3fdc_eec03afed36b["resolveBoxStyle()"]
  895b64ec_6219_126e_b7be_a2d6f2c8d780["resolveBoxStyle.js"]
  9b82aa86_a9e2_3c74_3fdc_eec03afed36b -->|defined in| 895b64ec_6219_126e_b7be_a2d6f2c8d780
  style 9b82aa86_a9e2_3c74_3fdc_eec03afed36b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-devtools-shared/src/backend/NativeStyleEditor/resolveBoxStyle.js lines 20–93

export default function resolveBoxStyle(
  prefix: string,
  style: Object,
): BoxStyle | null {
  let hasParts = false;
  const result = {
    bottom: 0,
    left: 0,
    right: 0,
    top: 0,
  };

  const styleForAll = style[prefix];
  if (styleForAll != null) {
    // eslint-disable-next-line no-for-of-loops/no-for-of-loops
    for (const key of Object.keys(result)) {
      result[key] = styleForAll;
    }
    hasParts = true;
  }

  const styleForHorizontal = style[prefix + 'Horizontal'];
  if (styleForHorizontal != null) {
    result.left = styleForHorizontal;
    result.right = styleForHorizontal;
    hasParts = true;
  } else {
    const styleForLeft = style[prefix + 'Left'];
    if (styleForLeft != null) {
      result.left = styleForLeft;
      hasParts = true;
    }

    const styleForRight = style[prefix + 'Right'];
    if (styleForRight != null) {
      result.right = styleForRight;
      hasParts = true;
    }

    const styleForEnd = style[prefix + 'End'];
    if (styleForEnd != null) {
      // TODO RTL support
      result.right = styleForEnd;
      hasParts = true;
    }
    const styleForStart = style[prefix + 'Start'];
    if (styleForStart != null) {
      // TODO RTL support
      result.left = styleForStart;
      hasParts = true;
    }
  }

  const styleForVertical = style[prefix + 'Vertical'];
  if (styleForVertical != null) {
    result.bottom = styleForVertical;
    result.top = styleForVertical;
    hasParts = true;
  } else {
    const styleForBottom = style[prefix + 'Bottom'];
    if (styleForBottom != null) {
      result.bottom = styleForBottom;
      hasParts = true;
    }

    const styleForTop = style[prefix + 'Top'];
    if (styleForTop != null) {
      result.top = styleForTop;
      hasParts = true;
    }
  }

  return hasParts ? result : null;
}

Domain

Subdomains

Frequently Asked Questions

What does resolveBoxStyle() do?
resolveBoxStyle() is a function in the react codebase, defined in packages/react-devtools-shared/src/backend/NativeStyleEditor/resolveBoxStyle.js.
Where is resolveBoxStyle() defined?
resolveBoxStyle() is defined in packages/react-devtools-shared/src/backend/NativeStyleEditor/resolveBoxStyle.js at line 20.

Analyze Your Own Codebase

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

Try Supermodel Free