{"version":3,"sources":["../src/styled.js"],"names":["StyledComponent"],"mappings":"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","file":"chunk-AFZBAV6Q.mjs","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport isPropValid from '@emotion/is-prop-valid';\n\nfunction getVariantClasses({ ownerState = {}, ...componentProps }, variants) {\n  const variantClasses = variants\n    .filter(({ props: variantProps }) =>\n      typeof variantProps === 'function'\n        ? variantProps({ ...componentProps, ...ownerState, ownerState })\n        : Object.entries(variantProps).every(([propKey, propValue]) => {\n            return ownerState[propKey] === propValue || componentProps[propKey] === propValue;\n          }),\n    )\n    .map(({ className }) => className);\n  return variantClasses;\n}\n\nfunction isHtmlTag(tag) {\n  return (\n    typeof tag === 'string' &&\n    // 96 is one less than the char code\n    // for \"a\" so this is checking that\n    // it's a lowercase character\n    tag.charCodeAt(0) > 96\n  );\n}\n\nconst slotShouldForwardProp = (key) => key !== 'as' && key !== 'ownerState';\nconst rootShouldForwardProp = (key) => slotShouldForwardProp(key) && key !== 'classes';\n\n/**\n * @typedef {(propKey: string) => boolean} ShouldForwardProp\n */\n\n/**\n * This is the runtime `styled` function that finally renders the component\n * after transpilation through WyW-in-JS. It makes sure to add the base classes,\n * variant classes if they satisfy the prop value and also adds dynamic css\n * variables at runtime, if any.\n * @param {string | Function} tag\n * @param {Object} componentMeta\n * @param {string} componentMeta.name\n * @param {string} componentMeta.slot\n * @param {ShouldForwardProp} componentMeta.shouldForwardProp\n * @param {Object} componentMeta.defaultProps Default props object copied over and inlined from theme object\n */\nexport default function styled(tag, componentMeta = {}) {\n  const { name, slot, shouldForwardProp } = componentMeta;\n\n  let finalShouldForwardProp = shouldForwardProp;\n  if (!shouldForwardProp) {\n    if (isHtmlTag(tag)) {\n      finalShouldForwardProp = isPropValid;\n    } else if (slot === 'Root' || slot === 'root') {\n      finalShouldForwardProp = rootShouldForwardProp;\n    } else {\n      finalShouldForwardProp = slotShouldForwardProp;\n    }\n  }\n  let shouldUseAs = !finalShouldForwardProp('as');\n  if (typeof tag !== 'string' && tag.__styled_by_pigment_css) {\n    // If the tag is a Pigment styled component,\n    // render the styled component and pass the `as` prop down\n    shouldUseAs = false;\n  }\n  /**\n   * This is the runtime `styled` function that finally renders the component\n   * after transpilation through WyW-in-JS. It makes sure to add the base classes,\n   * variant classes if they satisfy the prop value and also adds dynamic css\n   * variables at runtime, if any.\n   * @param {string | Function} tag\n   * @param {Object} options\n   * @param {string} options.displayName Set by WyW-in-JS. Mostly is same as the variable name. For this code, ```const Comp = styled(...)(...)```, `displayName` will be `Comp`.\n   * @param {string[]} options.classes List of class names that reference the inline css object styles.\n   * @param {Object} options.vars Dynamically generated css variables inlined directly on the element for runtime styling.\n   * @param {Object[]} options.variants\n   * @param {Object} options.variants.props\n   * @param {string} options.variants.className Classname generated for this specific variant through styled processor.\n   * @param {string} options.name\n   * @param {string} options.slot\n   * @param {ShouldForwardProp} options.shouldForwardProp\n   */\n  function scopedStyledWithOptions(options = {}) {\n    const { displayName, classes = [], vars: cssVars = {}, variants = [] } = options;\n\n    const StyledComponent = React.forwardRef(function StyledComponent(inProps, ref) {\n      const { className, sx, style, ownerState, ...props } = inProps;\n      const Component = (shouldUseAs && inProps.as) || tag;\n      const varStyles = Object.entries(cssVars).reduce(\n        (acc, [cssVariable, [variableFunction, isUnitLess]]) => {\n          const value = variableFunction(inProps);\n          if (typeof value === 'undefined') {\n            return acc;\n          }\n          if (typeof value === 'string' || isUnitLess) {\n            acc[`--${cssVariable}`] = value;\n          } else {\n            acc[`--${cssVariable}`] = `${value}px`;\n          }\n          return acc;\n        },\n        {},\n      );\n\n      const finalClassName = clsx(classes, className, getVariantClasses(inProps, variants));\n\n      if (inProps.as && !shouldForwardProp) {\n        // Reassign `shouldForwardProp` if incoming `as` prop is a React component\n        if (!isHtmlTag(Component)) {\n          if (slot === 'Root' || slot === 'root') {\n            finalShouldForwardProp = rootShouldForwardProp;\n          } else {\n            finalShouldForwardProp = slotShouldForwardProp;\n          }\n        }\n      }\n\n      const newProps = {};\n      // eslint-disable-next-line no-restricted-syntax\n      for (const key in props) {\n        if (shouldUseAs && key === 'as') {\n          continue;\n        }\n\n        if (finalShouldForwardProp(key) || (!shouldUseAs && key === 'as')) {\n          newProps[key] = props[key];\n        }\n      }\n\n      return (\n        <Component\n          {...newProps}\n          // pass down `ownerState` to nested styled components\n          {...(Component.__styled_by_pigment_css && { ownerState })}\n          ref={ref}\n          className={finalClassName}\n          style={{\n            ...varStyles,\n            ...style,\n          }}\n        />\n      );\n    });\n\n    let componentName = displayName;\n    if (!componentName && name) {\n      componentName = `${name}${slot ? `-${slot}` : ''}`;\n    }\n    StyledComponent.displayName = `Styled(${componentName})`;\n    StyledComponent.__styled_by_pigment_css = true;\n\n    return StyledComponent;\n  }\n\n  return scopedStyledWithOptions;\n}\n"]}