{"version":3,"file":"SimpleGrid.cjs","sources":["../../../src/components/SimpleGrid/SimpleGrid.tsx"],"sourcesContent":["import {\n  Box,\n  BoxProps,\n  ElementProps,\n  Factory,\n  factory,\n  RaikouSpacing,\n  StyleProp,\n  StylesApiProps,\n  useProps,\n  useRandomClassName,\n  useStyles,\n} from '../../core';\nimport { SimpleGridContainerVariables, SimpleGridMediaVariables } from './SimpleGridVariables';\nimport { SimpleGridContainerStyle, SimpleGridRootStyle } from './SimpleGrid.css';\n\nexport type SimpleGridStylesNames = 'root' | 'container';\n\nexport interface SimpleGridProps\n  extends BoxProps,\n    StylesApiProps<SimpleGridFactory>,\n    ElementProps<'div'> {\n  /** Number of columns, `1` by default */\n  cols?: StyleProp<number>;\n\n  /** Spacing between columns, `'md'` by default */\n  spacing?: StyleProp<RaikouSpacing>;\n\n  /** Spacing between rows, `'md'` by default */\n  verticalSpacing?: StyleProp<RaikouSpacing>;\n\n  /** Determines typeof of queries that are used for responsive styles, `'media'` by default */\n  type?: 'media' | 'container';\n}\n\nexport type SimpleGridFactory = Factory<{\n  props: SimpleGridProps;\n  ref: HTMLDivElement;\n  stylesNames: SimpleGridStylesNames;\n}>;\n\nconst defaultProps: Partial<SimpleGridProps> = {\n  cols: 1,\n  spacing: 'md',\n  type: 'media',\n};\n\nexport const SimpleGrid = factory<SimpleGridFactory>((_props, ref) => {\n  const props = useProps('SimpleGrid', defaultProps, _props);\n  const {\n    classNames,\n    className,\n    style,\n    styles,\n    unstyled,\n    vars,\n    cols,\n    verticalSpacing,\n    spacing,\n    type,\n    ...others\n  } = props;\n\n  const getStyles = useStyles<SimpleGridFactory>({\n    name: 'SimpleGrid',\n    classes: {\n      root: SimpleGridRootStyle,\n      container: SimpleGridContainerStyle,\n    },\n    props,\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    vars,\n  });\n\n  const responsiveClassName = useRandomClassName();\n\n  if (type === 'container') {\n    return (\n      <>\n        <SimpleGridContainerVariables {...props} selector={`.${responsiveClassName}`} />\n        <div {...getStyles('container')}>\n          <Box ref={ref} {...getStyles('root', { className: responsiveClassName })} {...others} />\n        </div>\n      </>\n    );\n  }\n\n  return (\n    <>\n      <SimpleGridMediaVariables {...props} selector={`.${responsiveClassName}`} />\n      <Box ref={ref} {...getStyles('root', { className: responsiveClassName })} {...others} />\n    </>\n  );\n});\n\nSimpleGrid.displayName = '@raikou/core/SimpleGrid';\n"],"names":["factory","useProps","useStyles","SimpleGridRootStyle","SimpleGridContainerStyle","useRandomClassName","jsxs","Fragment","jsx","SimpleGridContainerVariables","Box","SimpleGridMediaVariables"],"mappings":";;;;;;;;;;;;;;;AAyCA,MAAM,YAAyC,GAAA;AAAA,EAC7C,IAAM,EAAA,CAAA;AAAA,EACN,OAAS,EAAA,IAAA;AAAA,EACT,IAAM,EAAA;AACR,CAAA;AAEO,MAAM,UAAa,GAAAA,eAAA,CAA2B,CAAC,MAAA,EAAQ,GAAQ,KAAA;AACpE,EAAA,MAAM,KAAQ,GAAAC,iBAAA,CAAS,YAAc,EAAA,YAAA,EAAc,MAAM,CAAA;AACzD,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,eAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,YAAYC,mBAA6B,CAAA;AAAA,IAC7C,IAAM,EAAA,YAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,IAAM,EAAAC,kCAAA;AAAA,MACN,SAAW,EAAAC;AAAA,KACb;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,sBAAsBC,qCAAmB,EAAA;AAE/C,EAAA,IAAI,SAAS,WAAa,EAAA;AACxB,IAAA,uBAEIC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAACC,oDAA8B,GAAG,KAAA,EAAO,QAAU,EAAA,CAAA,CAAA,EAAI,mBAAmB,CAAI,CAAA,EAAA,CAAA;AAAA,qCAC7E,KAAK,EAAA,EAAA,GAAG,UAAU,WAAW,CAAA,EAC5B,yCAACC,OAAI,EAAA,EAAA,GAAA,EAAW,GAAG,SAAU,CAAA,MAAA,EAAQ,EAAE,SAAW,EAAA,mBAAA,EAAqB,CAAI,EAAA,GAAG,QAAQ,CACxF,EAAA;AAAA,KACF,EAAA,CAAA;AAAA;AAIJ,EAAA,uBAEIJ,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAACG,gDAA0B,GAAG,KAAA,EAAO,QAAU,EAAA,CAAA,CAAA,EAAI,mBAAmB,CAAI,CAAA,EAAA,CAAA;AAAA,oBACzEH,cAAA,CAAAE,OAAA,EAAA,EAAI,GAAW,EAAA,GAAG,SAAU,CAAA,MAAA,EAAQ,EAAE,SAAA,EAAW,mBAAoB,EAAC,CAAI,EAAA,GAAG,MAAQ,EAAA;AAAA,GACxF,EAAA,CAAA;AAEJ,CAAC;AAED,UAAA,CAAW,WAAc,GAAA,yBAAA;;;;"}