{"version":3,"sources":["../src/Hidden.jsx"],"names":["Hidden"],"mappings":"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","file":"Hidden.mjs","sourcesContent":["/* eslint-disable react/jsx-filename-extension */\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { generateAtomics } from './generateAtomics';\n\nconst hiddenAtomics = generateAtomics(({ theme }) => {\n  const conditions = {};\n\n  for (let i = 0; i < theme.breakpoints.keys.length; i += 1) {\n    const breakpoint = theme.breakpoints.keys[i];\n    conditions[`${theme.breakpoints.keys[i]}Only`] = theme.breakpoints.only(breakpoint);\n    conditions[`${theme.breakpoints.keys[i]}Up`] = theme.breakpoints.up(breakpoint);\n    conditions[`${theme.breakpoints.keys[i]}Down`] = theme.breakpoints.down(breakpoint);\n  }\n\n  return {\n    conditions,\n    properties: {\n      display: ['none'],\n    },\n  };\n});\n\nconst Hidden = React.forwardRef(function Hidden(\n  { className, component = 'div', style, ...props },\n  ref,\n) {\n  const other = {};\n  const breakpointProps = {};\n  Object.keys(props).forEach((key) => {\n    if (key.endsWith('Up') || key.endsWith('Down')) {\n      breakpointProps[key] = 'none';\n    } else if (key === 'only') {\n      if (typeof props[key] === 'string') {\n        breakpointProps[`${props[key]}Only`] = 'none';\n      }\n      if (Array.isArray(props[key])) {\n        props[key].forEach((val) => {\n          breakpointProps[`${val}Only`] = 'none';\n        });\n      }\n    } else {\n      other[key] = props[key];\n    }\n  });\n  const stackClasses = hiddenAtomics({ display: breakpointProps });\n  const Component = component;\n  return (\n    <Component\n      ref={ref}\n      className={clsx(stackClasses.className, className)}\n      style={{ ...style, ...stackClasses.style }}\n      {...other}\n    />\n  );\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Hidden.propTypes = {\n    /**\n     * The content of the component.\n     */\n    children: PropTypes.node,\n    /**\n     * @ignore\n     */\n    className: PropTypes.string,\n    /**\n     * The component used for the root node.\n     * Either a string to use a HTML element or a component.\n     */\n    component: PropTypes.elementType,\n    /**\n     * If `true`, screens this size and down are hidden.\n     */\n    lgDown: PropTypes.bool,\n    /**\n     * If `true`, screens this size and up are hidden.\n     */\n    lgUp: PropTypes.bool,\n    /**\n     * If `true`, screens this size and down are hidden.\n     */\n    mdDown: PropTypes.bool,\n    /**\n     * If `true`, screens this size and up are hidden.\n     */\n    mdUp: PropTypes.bool,\n    /**\n     * Hide the given breakpoint(s).\n     */\n    only: PropTypes.oneOfType([\n      PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n      PropTypes.arrayOf(PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])),\n    ]),\n    /**\n     * If `true`, screens this size and down are hidden.\n     */\n    smDown: PropTypes.bool,\n    /**\n     * If `true`, screens this size and up are hidden.\n     */\n    smUp: PropTypes.bool,\n    /**\n     * @ignore\n     */\n    style: PropTypes.object,\n    /**\n     * If `true`, screens this size and down are hidden.\n     */\n    xlDown: PropTypes.bool,\n    /**\n     * If `true`, screens this size and up are hidden.\n     */\n    xlUp: PropTypes.bool,\n    /**\n     * If `true`, screens this size and down are hidden.\n     */\n    xsDown: PropTypes.bool,\n    /**\n     * If `true`, screens this size and up are hidden.\n     */\n    xsUp: PropTypes.bool,\n  };\n}\n\nexport default Hidden;\n"]}