UNPKG

reflexy

Version:

Flexbox layout react components

21 lines (20 loc) 593 B
/* eslint-disable dot-notation */ import React from 'react'; import '@js-toolkit/utils/types'; import { REFLEXY_KEY } from './utils'; const REACT_MEMO_TYPE = Symbol.for('react.memo'); export function isFlex(component) { // React component if (typeof component === 'function') { const flex = component; return flex[REFLEXY_KEY] != null; } if (component['$$typeof'] === REACT_MEMO_TYPE) { return isFlex(component.type); } // React element if (React.isValidElement(component)) { return isFlex(component.type); } return false; }