# IPartialContextProvider

## Definition

```tsx
export interface IPartialContextProvider {
    environment: string,
    root: string,

    fullAccountUrl: string;
    lucyUrl: string;
    apiKey: string;
    onLogout?: () => void,

    language?: string
    enabledLanguages?: Language[]

    themeName?: string,
    customThemes?: ICustomThemes,
    theme?: IThemeProps,
    setTheme?: (name: string, config: IThemeProps, type: ThemeType) => void
    themeType?: ThemeType

    userKey: string;
    loginType?: string,
    appRoles?: { [app: string]: string[] }
    userDetails?: UserDetails;
    userSiteTimeZoneName?: string,
    userTimezoneCode?: string,
    userSiteTimeZoneOffsetInSeconds?: number,
    userSiteKey?: string,
    userSiteName?: string,
    userSiteImageKey?: string,
    userDataFormat?: string,
    userTimeFormat?: string,
    userCurrencyFormat?: string,

    scriptFiles: Record<string, string[]>,
    navigationLinks: NavigationLink[],
    routes: Routes,
    configuredPages: ConfiguredPage[]

    isLoading?: boolean,
    loadingMessage?: string
    setLoading?: (isLoading: boolean, message?: string) => void

    marketplaceUrl?: string,
    loadWidgetsFromIviva?: boolean
    widgetSearchAPI?: string

    maxFileUploadSize?: number

    // this is to track analytics
    trackAnalytics?: (event: string, data?: { [key: string]: any }) => void,

    // this will be used by uxp-report-engine
    loaded?: (instanceId: string, uxpFunctions?: IUXPFunctions) => void,

    spacingMode?: any
    title?: string

    // view overrides for pluggable views
    viewOverrides?: Record<string, ViewOverride>
    setViewOverrides?: (overrides: Record<string, ViewOverride>) => void
}
```

## Usage

```tsx
import { IPartialContextProvider } from 'uxp/components';
```

## Related Types

* [Language](https://help.iviva.com/uxp/v5/additional-resources/types/language)
* [ICustomThemes](https://help.iviva.com/uxp/v5/additional-resources/types/icustomthemes)
* [IThemeProps](https://help.iviva.com/uxp/v5/additional-resources/types/ithemeprops)
* [ThemeType](https://help.iviva.com/uxp/v5/additional-resources/types/themetype)
* [UserDetails](https://help.iviva.com/uxp/v5/additional-resources/types/userdetails)
* [NavigationLink](https://help.iviva.com/uxp/v5/additional-resources/types/navigationlink)
* [Routes](https://help.iviva.com/uxp/v5/additional-resources/types/routes)
* [ConfiguredPage](https://help.iviva.com/uxp/v5/additional-resources/types/configuredpage)
* [ComponentType](https://help.iviva.com/uxp/v5/additional-resources/types/componenttype)
* [IUXPFunctions](https://help.iviva.com/uxp/v5/additional-resources/types/iuxpfunctions)
* [ViewOverride](https://help.iviva.com/uxp/v5/additional-resources/types/viewoverride)
