# AddOnContextType

Context type for the AddOnContext, providing add-on data and utility functions.

## Definition

```tsx
interface AddOnContextType {
    /**
     * Base URL for add-on assets stored in S3.
     */
    AddOnS3BaseUrl: string;

    /**
     * Array of available add-ons.
     */
    addOns: IAddOn[];

    /**
     * Array of installed add-ons.
     */
    installedAddOns: IInstalledAddOn[];

    /**
     * Checks if a module ID corresponds to an add-on.
     */
    isAddOn: (moduleId: string) => boolean;

    /**
     * Retrieves details for an add-on by its module ID, or null if not found.
     */
    getAddOnDetails: (moduleId: string) => IAddOn | null;

    /**
     * Checks if an add-on is installed and configured.
     */
    isAddOnInstalledAndConfigured: (moduleId: string) => { installed: boolean; configured: boolean };

    /**
     * Gets the thumbnail image path for an add-on by its module ID, or null if not found.
     */
    getThunmbNailImagePath: (moduleId: string) => string | null;

    /**
     * Checks if configuration is required for an add-on.
     */
    isConfigurationRequired: (moduleId: string) => boolean;

    /**
     * Refreshes the list of installed add-ons.
     */
    refreshInstalledAddOns: () => Promise<void>;

    /**
     * Gets the name of an add-on from a widget or module ID, or null if not found.
     */
    getAddOnName: (widget?: IWidget, moduleId?: string) => string | null;
}
```

## Usage

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

## Related Types

* [IAddOn](https://help.iviva.com/uxp/v5/additional-resources/types/iaddon)
* [IInstalledAddOn](https://help.iviva.com/uxp/v5/additional-resources/types/iinstalledaddon)
* [IWidget](https://help.iviva.com/uxp/v5/additional-resources/types/iwidget)
* [IWidgetConfigs](https://help.iviva.com/uxp/v5/additional-resources/types/iwidgetconfigs)
* [DynamicFormFieldProps](https://help.iviva.com/uxp/v5/additional-resources/types/dynamicformfieldprops)
* [FormValue](https://help.iviva.com/uxp/v5/additional-resources/types/formvalue)
* [IFormData](https://help.iviva.com/uxp/v5/additional-resources/types/iformdata)
* [CustomValidateResponse](https://help.iviva.com/uxp/v5/additional-resources/types/customvalidateresponse)
* [FormSectionProps](https://help.iviva.com/uxp/v5/additional-resources/types/formsectionprops)
* [IConfigPanelProps](https://help.iviva.com/uxp/v5/additional-resources/types/iconfigpanelprops)
* [IContextProvider](https://help.iviva.com/uxp/v5/additional-resources/types/icontextprovider)
* [IPartialContextProvider](https://help.iviva.com/uxp/v5/additional-resources/types/ipartialcontextprovider)
* [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)
* [Environment](https://help.iviva.com/uxp/v5/additional-resources/types/environment)
* [ExecutionOptions](https://help.iviva.com/uxp/v5/additional-resources/types/executionoptions)
* [CachingOptions](https://help.iviva.com/uxp/v5/additional-resources/types/cachingoptions)
* [IDataFunction](https://help.iviva.com/uxp/v5/additional-resources/types/idatafunction)
* [QueryParams](https://help.iviva.com/uxp/v5/additional-resources/types/queryparams)
* [ExecutionResult](https://help.iviva.com/uxp/v5/additional-resources/types/executionresult)
* [ExecuteMicroserviceConfig](https://help.iviva.com/uxp/v5/additional-resources/types/executemicroserviceconfig)
* [ExecuteConfigBase](https://help.iviva.com/uxp/v5/additional-resources/types/executeconfigbase)
* [LucyQueryResult](https://help.iviva.com/uxp/v5/additional-resources/types/lucyqueryresult)
* [IWidgetPreloader](https://help.iviva.com/uxp/v5/additional-resources/types/iwidgetpreloader)
