{"version":3,"file":"GridVariables.mjs","sources":["../../../src/components/Grid/GridVariables.tsx"],"sourcesContent":["import {\n  filterProps,\n  getBaseValue,\n  getSortedBreakpoints,\n  getSpacing,\n  InlineStyles,\n  keys,\n  useRaikouTheme,\n} from '../../core';\nimport type { GridProps } from './Grid';\nimport type { GridBreakpoints } from './Grid.context';\n\ninterface GridVariablesProps extends GridProps {\n  selector: string;\n}\n\nexport function GridVariables({ gutter, selector, breakpoints, type }: GridVariablesProps) {\n  const theme = useRaikouTheme();\n  const _breakpoints = breakpoints || theme.breakpoints;\n\n  const baseStyles: Record<string, string | undefined> = filterProps({\n    '--grid-gutter': getSpacing(getBaseValue(gutter)),\n  });\n\n  const queries = keys(_breakpoints).reduce<Record<string, Record<string, any>>>(\n    (acc, breakpoint) => {\n      if (!acc[breakpoint]) {\n        acc[breakpoint] = {};\n      }\n\n      if (typeof gutter === 'object' && gutter[breakpoint] !== undefined) {\n        acc[breakpoint]['--grid-gutter'] = getSpacing(gutter[breakpoint]);\n      }\n\n      return acc;\n    },\n    {}\n  );\n\n  const sortedBreakpoints = getSortedBreakpoints(keys(queries), _breakpoints).filter(\n    (breakpoint) => keys(queries[breakpoint.value]).length > 0\n  );\n\n  const values = sortedBreakpoints.map((breakpoint) => ({\n    query:\n      type === 'container'\n        ? `raikou-grid (min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`\n        : `(min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`,\n    styles: queries[breakpoint.value],\n  }));\n\n  return (\n    <InlineStyles\n      styles={baseStyles}\n      media={type === 'container' ? undefined : values}\n      container={type === 'container' ? values : undefined}\n      selector={selector}\n    />\n  );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgBO,SAAS,cAAc,EAAE,MAAA,EAAQ,QAAU,EAAA,WAAA,EAAa,MAA4B,EAAA;AACzF,EAAA,MAAM,QAAQ,cAAe,EAAA;AAC7B,EAAM,MAAA,YAAA,GAAe,eAAe,KAAM,CAAA,WAAA;AAE1C,EAAA,MAAM,aAAiD,WAAY,CAAA;AAAA,IACjE,eAAiB,EAAA,UAAA,CAAW,YAAa,CAAA,MAAM,CAAC;AAAA,GACjD,CAAA;AAED,EAAM,MAAA,OAAA,GAAU,IAAK,CAAA,YAAY,CAAE,CAAA,MAAA;AAAA,IACjC,CAAC,KAAK,UAAe,KAAA;AACnB,MAAI,IAAA,CAAC,GAAI,CAAA,UAAU,CAAG,EAAA;AACpB,QAAI,GAAA,CAAA,UAAU,IAAI,EAAC;AAAA;AAGrB,MAAA,IAAI,OAAO,MAAW,KAAA,QAAA,IAAY,MAAO,CAAA,UAAU,MAAM,KAAW,CAAA,EAAA;AAClE,QAAA,GAAA,CAAI,UAAU,CAAE,CAAA,eAAe,IAAI,UAAW,CAAA,MAAA,CAAO,UAAU,CAAC,CAAA;AAAA;AAGlE,MAAO,OAAA,GAAA;AAAA,KACT;AAAA,IACA;AAAC,GACH;AAEA,EAAA,MAAM,oBAAoB,oBAAqB,CAAA,IAAA,CAAK,OAAO,CAAA,EAAG,YAAY,CAAE,CAAA,MAAA;AAAA,IAC1E,CAAC,eAAe,IAAK,CAAA,OAAA,CAAQ,WAAW,KAAK,CAAC,EAAE,MAAS,GAAA;AAAA,GAC3D;AAEA,EAAA,MAAM,MAAS,GAAA,iBAAA,CAAkB,GAAI,CAAA,CAAC,UAAgB,MAAA;AAAA,IACpD,KACE,EAAA,IAAA,KAAS,WACL,GAAA,CAAA,wBAAA,EAA2B,YAAa,CAAA,UAAA,CAAW,KAA8B,CAAC,CAClF,CAAA,CAAA,GAAA,CAAA,YAAA,EAAe,YAAa,CAAA,UAAA,CAAW,KAA8B,CAAC,CAAA,CAAA,CAAA;AAAA,IAC5E,MAAA,EAAQ,OAAQ,CAAA,UAAA,CAAW,KAAK;AAAA,GAChC,CAAA,CAAA;AAEF,EACE,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,MAAQ,EAAA,UAAA;AAAA,MACR,KAAA,EAAO,IAAS,KAAA,WAAA,GAAc,KAAY,CAAA,GAAA,MAAA;AAAA,MAC1C,SAAA,EAAW,IAAS,KAAA,WAAA,GAAc,MAAS,GAAA,KAAA,CAAA;AAAA,MAC3C;AAAA;AAAA,GACF;AAEJ;;;;"}