{"version":3,"file":"Paper.cjs","sources":["../../../src/components/Paper/Paper.tsx"],"sourcesContent":["import {\n  Box,\n  BoxProps,\n  createVarsResolver,\n  getRadius,\n  getShadow,\n  polymorphicFactory,\n  PolymorphicFactory,\n  RaikouRadius,\n  RaikouShadow,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../core';\nimport { PaperRootStyle } from './Paper.css';\n\nexport type PaperStylesNames = 'root';\nexport type PaperCssVariables = {\n  root: '--paper-radius' | '--paper-shadow';\n};\n\nexport interface PaperBaseProps {\n  /** Key of `theme.shadows` or any valid CSS value to set `box-shadow`, `none` by default */\n  shadow?: RaikouShadow;\n\n  /** Key of `theme.radius` or any valid CSS value to set border-radius, numbers are converted to rem, `theme.defaultRadius` by default */\n  radius?: RaikouRadius;\n\n  /** Determines whether the paper should have border, border color depends on color scheme, `false` by default */\n  withBorder?: boolean;\n}\n\nexport interface PaperProps extends BoxProps, PaperBaseProps, StylesApiProps<PaperFactory> {}\n\nexport type PaperFactory = PolymorphicFactory<{\n  props: PaperProps;\n  defaultComponent: 'div';\n  defaultRef: HTMLDivElement;\n  stylesNames: PaperStylesNames;\n  vars: PaperCssVariables;\n}>;\n\nconst defaultProps: Partial<PaperProps> = {};\n\nconst varsResolver = createVarsResolver<PaperFactory>((_, { radius, shadow }) => ({\n  root: {\n    '--paper-radius': radius === undefined ? undefined : getRadius(radius),\n    '--paper-shadow': getShadow(shadow),\n  },\n}));\n\nexport const Paper = polymorphicFactory<PaperFactory>((_props, ref) => {\n  const props = useProps('Paper', defaultProps, _props);\n  const {\n    classNames,\n    className,\n    style,\n    styles,\n    unstyled,\n    withBorder,\n    vars,\n    radius,\n    shadow,\n    variant,\n    mod,\n    ...others\n  } = props;\n\n  const getStyles = useStyles<PaperFactory>({\n    name: 'Paper',\n    props,\n    classes: {\n      root: PaperRootStyle,\n    },\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    vars,\n    varsResolver,\n  });\n\n  return (\n    <Box\n      ref={ref}\n      mod={[{ 'data-with-border': withBorder }, mod]}\n      {...getStyles('root')}\n      variant={variant}\n      {...others}\n    />\n  );\n});\n\nPaper.displayName = '@raikou/core/Paper';\n"],"names":["createVarsResolver","getRadius","getShadow","polymorphicFactory","useProps","useStyles","PaperRootStyle","jsx","Box"],"mappings":";;;;;;;;;;;;;;;AA0CA,MAAM,eAAoC,EAAC;AAE3C,MAAM,eAAeA,qCAAiC,CAAA,CAAC,GAAG,EAAE,MAAA,EAAQ,QAAc,MAAA;AAAA,EAChF,IAAM,EAAA;AAAA,IACJ,gBAAkB,EAAA,MAAA,KAAW,KAAY,CAAA,GAAA,KAAA,CAAA,GAAYC,kBAAU,MAAM,CAAA;AAAA,IACrE,gBAAA,EAAkBC,kBAAU,MAAM;AAAA;AAEtC,CAAE,CAAA,CAAA;AAEK,MAAM,KAAQ,GAAAC,qCAAA,CAAiC,CAAC,MAAA,EAAQ,GAAQ,KAAA;AACrE,EAAA,MAAM,KAAQ,GAAAC,iBAAA,CAAS,OAAS,EAAA,YAAA,EAAc,MAAM,CAAA;AACpD,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,YAAYC,mBAAwB,CAAA;AAAA,IACxC,IAAM,EAAA,OAAA;AAAA,IACN,KAAA;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAAC;AAAA,KACR;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EACE,uBAAAC,cAAA;AAAA,IAACC,OAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAK,CAAC,EAAE,kBAAoB,EAAA,UAAA,IAAc,GAAG,CAAA;AAAA,MAC5C,GAAG,UAAU,MAAM,CAAA;AAAA,MACpB,OAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AAED,KAAA,CAAM,WAAc,GAAA,oBAAA;;;;"}