koval-ui
Version:
React components collection with minimalistic design. Supports theming, layout, and input validation.
1 lines • 2.03 kB
Source Map (JSON)
{"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,WAAgB,CACxE,MAAAC,EAAkBC,EAAAA,QAAQ,IACrBC,eAAa,CAAC,GAAGC,QAAO,GAAGL,EAAU,EAC7C,CAACA,CAAS,CAAC,EACd,aACKM,EAAkB,kBAAA,CAAA,MAAOJ,EAAiB,UAAWK,UAAQ,SAC1D,SAACC,EAAAA,IAAAC,EAAAA,eAAA,CACG,eAACC,uBACG,CAAA,SAAAF,EAAA,IAACG,iBACG,SAACH,EAAA,IAAAI,iBAAA,CAAgB,SAAAb,EAAS,CAC9B,CAAA,CAAA,CACJ,EACJ,CACJ,CAAA,CAER"}