{"version":3,"file":"get-variables.cjs","sources":["../../../../../src/components/AppShell/AppShellMediaStyles/get-variables/get-variables.ts"],"sourcesContent":["import { em, getSortedBreakpoints, keys, RaikouTheme } from '../../../../core';\nimport type { AppShellProps } from '../../AppShell';\nimport { assignAsideVariables } from '../assign-aside-variables/assign-aside-variables';\nimport { assignFooterVariables } from '../assign-footer-variables/assign-footer-variables';\nimport { assignHeaderVariables } from '../assign-header-variables/assign-header-variables';\nimport { assignIconListVariables } from '../assign-iconlist-variables/assign-iconlist-variables';\nimport { assignNavbarVariables } from '../assign-navbar-variables/assign-navbar-variables';\nimport { assignPaddingVariables } from '../assign-padding-variables/assign-padding-variables';\n\nexport type CSSVariables = Record<`--${string}`, string | undefined>;\nexport type MediaQueryVariables = Record<string, Record<`--${string}`, string | undefined>>;\n\ninterface GetVariablesInput {\n  navbar: AppShellProps['navbar'] | undefined;\n  header: AppShellProps['header'] | undefined;\n  footer: AppShellProps['footer'] | undefined;\n  aside: AppShellProps['aside'] | undefined;\n  iconList: AppShellProps['iconList'] | undefined;\n  padding: AppShellProps['padding'] | undefined;\n  theme: RaikouTheme;\n}\n\nexport function getVariables({\n  navbar,\n  header,\n  footer,\n  aside,\n  iconList,\n  padding,\n  theme,\n}: GetVariablesInput) {\n  const minMediaStyles: MediaQueryVariables = {};\n  const maxMediaStyles: MediaQueryVariables = {};\n  const baseStyles: CSSVariables = {};\n\n  assignNavbarVariables({\n    baseStyles,\n    minMediaStyles,\n    maxMediaStyles,\n    navbar,\n    theme,\n  });\n\n  assignAsideVariables({\n    baseStyles,\n    minMediaStyles,\n    maxMediaStyles,\n    aside,\n    theme,\n  });\n\n  assignHeaderVariables({ baseStyles, minMediaStyles, header, iconList, navbar });\n  assignFooterVariables({ baseStyles, minMediaStyles, footer });\n  assignIconListVariables({ baseStyles, minMediaStyles, maxMediaStyles, iconList, theme });\n  assignPaddingVariables({ baseStyles, minMediaStyles, padding });\n\n  const minMedia = getSortedBreakpoints(keys(minMediaStyles), theme.breakpoints).map(\n    (breakpoint) => ({\n      query: `(min-width: ${em(breakpoint.px)})`,\n      styles: minMediaStyles[breakpoint.value],\n    })\n  );\n\n  const maxMedia = getSortedBreakpoints(keys(maxMediaStyles), theme.breakpoints).map(\n    (breakpoint) => ({\n      query: `(max-width: ${em(breakpoint.px)})`,\n      styles: maxMediaStyles[breakpoint.value],\n    })\n  );\n\n  const media = [...minMedia, ...maxMedia];\n\n  return { baseStyles, media };\n}\n"],"names":["assignNavbarVariables","assignAsideVariables","assignHeaderVariables","assignFooterVariables","assignIconListVariables","assignPaddingVariables","getSortedBreakpoints","keys","em"],"mappings":";;;;;;;;;;;;;;;;;;;AAsBO,SAAS,YAAa,CAAA;AAAA,EAC3B,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAsB,EAAA;AACpB,EAAA,MAAM,iBAAsC,EAAC;AAC7C,EAAA,MAAM,iBAAsC,EAAC;AAC7C,EAAA,MAAM,aAA2B,EAAC;AAElC,EAAsBA,2CAAA,CAAA;AAAA,IACpB,UAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAqBC,yCAAA,CAAA;AAAA,IACnB,UAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAAC,2CAAA,CAAsB,EAAE,UAAY,EAAA,cAAA,EAAgB,MAAQ,EAAA,QAAA,EAAU,QAAQ,CAAA;AAC9E,EAAAC,2CAAA,CAAsB,EAAE,UAAA,EAAY,cAAgB,EAAA,MAAA,EAAQ,CAAA;AAC5D,EAAAC,+CAAA,CAAwB,EAAE,UAAY,EAAA,cAAA,EAAgB,cAAgB,EAAA,QAAA,EAAU,OAAO,CAAA;AACvF,EAAAC,6CAAA,CAAuB,EAAE,UAAA,EAAY,cAAgB,EAAA,OAAA,EAAS,CAAA;AAE9D,EAAA,MAAM,WAAWC,yCAAqB,CAAAC,SAAA,CAAK,cAAc,CAAG,EAAA,KAAA,CAAM,WAAW,CAAE,CAAA,GAAA;AAAA,IAC7E,CAAC,UAAgB,MAAA;AAAA,MACf,KAAO,EAAA,CAAA,YAAA,EAAeC,MAAG,CAAA,UAAA,CAAW,EAAE,CAAC,CAAA,CAAA,CAAA;AAAA,MACvC,MAAA,EAAQ,cAAe,CAAA,UAAA,CAAW,KAAK;AAAA,KACzC;AAAA,GACF;AAEA,EAAA,MAAM,WAAWF,yCAAqB,CAAAC,SAAA,CAAK,cAAc,CAAG,EAAA,KAAA,CAAM,WAAW,CAAE,CAAA,GAAA;AAAA,IAC7E,CAAC,UAAgB,MAAA;AAAA,MACf,KAAO,EAAA,CAAA,YAAA,EAAeC,MAAG,CAAA,UAAA,CAAW,EAAE,CAAC,CAAA,CAAA,CAAA;AAAA,MACvC,MAAA,EAAQ,cAAe,CAAA,UAAA,CAAW,KAAK;AAAA,KACzC;AAAA,GACF;AAEA,EAAA,MAAM,KAAQ,GAAA,CAAC,GAAG,QAAA,EAAU,GAAG,QAAQ,CAAA;AAEvC,EAAO,OAAA,EAAE,YAAY,KAAM,EAAA;AAC7B;;;;"}