import { type ReactNode } from "react"; import NCoreUIKitLocalize from "./localize"; import NCoreUIKitSnackBar from "./snackBar"; import NCoreUIKitDialog from "./dialog"; import NCoreUIKitModal from "./modal"; import NCoreUIKitTheme from "./theme"; import NCoreUIKitToast from "./toast"; import { type NCoreUIKitConfig } from "../types"; import { Host } from "../helpers/portalize"; class CoreContext { NCoreUIKitLocalize: NCoreUIKitLocalize; NCoreUIKitSnackBar: NCoreUIKitSnackBar; NCoreUIKitTheme: NCoreUIKitTheme; NCoreUIKitDialog: NCoreUIKitDialog; NCoreUIKitModal: NCoreUIKitModal; NCoreUIKitToast: NCoreUIKitToast; constructor(initialState: T) { this.NCoreUIKitTheme = new NCoreUIKitTheme({ initialSelectedActiveSharpness: initialState.initialSelectedActiveSharpness, initialSelectedGapPropagation: initialState.initialSelectedGapPropagation, initialSelectedPalette: initialState.initialSelectedPalette, initialSelectedTheme: initialState.initialSelectedTheme, projectThemes: initialState.projectThemes }); this.NCoreUIKitLocalize = new NCoreUIKitLocalize({ initialSelectedLocale: initialState.initialSelectedLocale, projectLocales: initialState.projectLocales }); this.NCoreUIKitModal = new NCoreUIKitModal({ data: [] }); this.NCoreUIKitToast = new NCoreUIKitToast({ data: [] }); this.NCoreUIKitSnackBar = new NCoreUIKitSnackBar({ data: [] }); this.NCoreUIKitDialog = new NCoreUIKitDialog({ data: [] }); } Provider = ({ children }: { children: ReactNode }) => { const LocalizeContext = this.NCoreUIKitLocalize; const SnackBarContext = this.NCoreUIKitSnackBar; const DialogContext = this.NCoreUIKitDialog; const ModalContext = this.NCoreUIKitModal; const ToastContext = this.NCoreUIKitToast; const ThemeContext = this.NCoreUIKitTheme; return {children} ; }; }; export default CoreContext;