{"version":3,"file":"Container.mjs","sources":["../../../src/components/Container/Container.tsx"],"sourcesContent":["import {\n  Box,\n  BoxProps,\n  createVarsResolver,\n  ElementProps,\n  factory,\n  Factory,\n  getSize,\n  RaikouSize,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../core';\nimport { ContainerRootStyle } from './Container.css';\n\nexport type ContainerStylesNames = 'root';\nexport type ContainerCssVariables = {\n  root: '--container-size';\n};\n\nexport interface ContainerProps\n  extends BoxProps,\n    StylesApiProps<ContainerFactory>,\n    ElementProps<'div'> {\n  /** Sets `max-width` of the container, value is not responsive – it is the same for all screen sizes. Numbers are converted to rem. Ignored when `fluid` prop is set. `'md'` by default */\n  size?: RaikouSize | (string & {}) | number;\n\n  /** Determines whether the container should take 100% of its parent width. If set, `size` prop is ignored. `false` by default. */\n  fluid?: boolean;\n}\n\nexport type ContainerFactory = Factory<{\n  props: ContainerProps;\n  ref: HTMLDivElement;\n  stylesNames: ContainerStylesNames;\n  vars: ContainerCssVariables;\n}>;\n\nconst defaultProps: Partial<ContainerProps> = {};\n\nconst varsResolver = createVarsResolver<ContainerFactory>((_, { size, fluid }) => ({\n  root: {\n    '--container-size': fluid ? undefined : getSize(size, 'container-size'),\n  },\n}));\n\nexport const Container = factory<ContainerFactory>((_props, ref) => {\n  const props = useProps('Container', defaultProps, _props);\n  const { classNames, className, style, styles, unstyled, vars, fluid, mod, ...others } = props;\n\n  const getStyles = useStyles<ContainerFactory>({\n    name: 'Container',\n    classes: {\n      root: ContainerRootStyle,\n    },\n    props,\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    vars,\n    varsResolver,\n  });\n\n  return <Box ref={ref} mod={[{ fluid }, mod]} {...getStyles('root')} {...others} />;\n});\n\nContainer.displayName = '@raikou/core/Container';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAsCA,MAAM,eAAwC,EAAC;AAE/C,MAAM,eAAe,kBAAqC,CAAA,CAAC,GAAG,EAAE,IAAA,EAAM,OAAa,MAAA;AAAA,EACjF,IAAM,EAAA;AAAA,IACJ,kBAAoB,EAAA,KAAA,GAAQ,KAAY,CAAA,GAAA,OAAA,CAAQ,MAAM,gBAAgB;AAAA;AAE1E,CAAE,CAAA,CAAA;AAEK,MAAM,SAAY,GAAA,OAAA,CAA0B,CAAC,MAAA,EAAQ,GAAQ,KAAA;AAClE,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,WAAa,EAAA,YAAA,EAAc,MAAM,CAAA;AACxD,EAAM,MAAA,EAAE,UAAY,EAAA,SAAA,EAAW,KAAO,EAAA,MAAA,EAAQ,QAAU,EAAA,IAAA,EAAM,KAAO,EAAA,GAAA,EAAK,GAAG,MAAA,EAAW,GAAA,KAAA;AAExF,EAAA,MAAM,YAAY,SAA4B,CAAA;AAAA,IAC5C,IAAM,EAAA,WAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,IAAM,EAAA;AAAA,KACR;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBAAQ,GAAA,CAAA,GAAA,EAAA,EAAI,GAAU,EAAA,GAAA,EAAK,CAAC,EAAE,KAAA,EAAS,EAAA,GAAG,GAAI,GAAG,SAAA,CAAU,MAAM,CAAA,EAAI,GAAG,MAAQ,EAAA,CAAA;AAClF,CAAC;AAED,SAAA,CAAU,WAAc,GAAA,wBAAA;;;;"}