{"version":3,"file":"EnvironmentProvider.cjs","sources":["../../../src/hooks/useEnvironment/EnvironmentProvider.tsx"],"sourcesContent":["'use client'\n\nimport { type FC, type ReactNode, useContext } from 'react'\n\nimport { defaultMediaQuery } from '../../themes'\nimport { useMediaQueries } from '../useMediaQueries'\nimport { useTheme } from '../useTheme'\n\nimport { type Environment, EnvironmentContext } from './useEnvironment'\n\ntype Props = {\n  children: ReactNode\n  environment?: Partial<Environment>\n}\n\nexport const EnvironmentProvider: FC<Props> = ({ children, environment }) => {\n  const theme = useTheme()\n  const inheritedEnvironment = useContext(EnvironmentContext)\n  const matches = useMediaQueries(theme?.mediaQuery ?? defaultMediaQuery)\n\n  const baseEnvironment = {\n    ...inheritedEnvironment,\n    ...environment,\n  }\n\n  const state: Environment = {\n    ...baseEnvironment,\n    mobile: baseEnvironment.mobile ?? matches.SCREEN_SMALL,\n    matches: baseEnvironment.matches ?? matches,\n  }\n\n  return <EnvironmentContext.Provider value={state}>{children}</EnvironmentContext.Provider>\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAeO;AACL;AACA;;AAGA;AACE;AACA;;AAGF;AACE;AACA;AACA;;;AAIJ;;"}