UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

52 lines (46 loc) 1.47 kB
'use strict'; var React = require('react'); var clsx = require('clsx'); var Hidden_module = require('./Hidden.module.css.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); /* Normalize the value that is received from the prop `when`. * For array types : ['narrow', 'wide'] -> {narrow: true, wide: true} * For string types: 'narrow' -> {narrow: true} */ function normalize(hiddenViewports) { // For array types if (Array.isArray(hiddenViewports)) { const breakpoints = {}; // ['narrow', 'wide'] -> {narrow: true, wide: true} for (const breakpoint of hiddenViewports) { breakpoints[breakpoint] = true; } return breakpoints; } // For string types // 'narrow' -> {narrow: true} return { [hiddenViewports]: true }; } const Hidden = ({ when, className, style, children }) => { const normalizedStyles = normalize(when); return /*#__PURE__*/React__default.default.createElement("div", { className: clsx.clsx(className, Hidden_module.Hidden), style: { '--hiddenDisplay-narrow': normalizedStyles.narrow ? 'none' : undefined, '--hiddenDisplay-regular': normalizedStyles.regular ? 'none' : undefined, '--hiddenDisplay-wide': normalizedStyles.wide ? 'none' : undefined, ...style } }, children); }; Hidden.displayName = "Hidden"; Hidden.displayName = 'Hidden'; exports.Hidden = Hidden;