{"version":3,"file":"Provider.cjs","sources":["../../../../src/lib/Provider/Provider.tsx"],"sourcesContent":["import type {FC, ReactNode} from 'react';\nimport {useMemo} from 'react';\nimport {RootThemeProvider} from 'css-vars-hook';\n\nimport type {PublicThemeType} from '@/lib/Theme';\nimport {theme, themePodil} from '@/lib/Theme';\nimport {DialogProvider} from '@/lib/Dialog';\nimport {NotificationProvider} from '@/lib/Notification';\nimport {ToastProvider} from '@/lib/Toast';\nimport {DrawerProvider} from '@/lib/Drawer';\nimport {convertTheme} from '@/internal/utils/convertThemeVarName.ts';\n\nimport classes from './Provider.module.css';\n\nexport type Props = {\n    children?: ReactNode;\n    /** Provide an object with theme colors and sizes parameters */\n    theme?: PublicThemeType;\n};\n\nexport const Provider: FC<Props> = ({children, theme: themeProp = themePodil}) => {\n    const normalizedTheme = useMemo(() => {\n        return convertTheme({...theme, ...themeProp});\n    }, [themeProp]);\n    return (\n        <RootThemeProvider theme={normalizedTheme} className={classes.provider}>\n            <DialogProvider>\n                <NotificationProvider>\n                    <ToastProvider>\n                        <DrawerProvider>{children}</DrawerProvider>\n                    </ToastProvider>\n                </NotificationProvider>\n            </DialogProvider>\n        </RootThemeProvider>\n    );\n};\n"],"names":["Provider","children","themeProp","themePodil","normalizedTheme","useMemo","convertTheme","theme","RootThemeProvider","classes","jsx","DialogProvider","NotificationProvider","ToastProvider","DrawerProvider"],"mappings":"wgBAoBaA,EAAsB,CAAC,CAAC,SAAAC,EAAU,MAAOC,EAAYC,EAAAA,SAAgB,CAC9E,MAAMC,EAAkBC,EAAAA,QAAQ,IACrBC,EAAAA,aAAa,CAAC,GAAGC,QAAO,GAAGL,EAAU,EAC7C,CAACA,CAAS,CAAC,EACd,aACKM,EAAAA,kBAAA,CAAkB,MAAOJ,EAAiB,UAAWK,UAAQ,SAC1D,SAAAC,EAAAA,IAACC,EAAAA,eAAA,CACG,eAACC,uBAAA,CACG,SAAAF,EAAAA,IAACG,iBACG,SAAAH,EAAAA,IAACI,iBAAA,CAAgB,SAAAb,EAAS,CAAA,CAC9B,CAAA,CACJ,EACJ,CAAA,CACJ,CAER"}