IClientSideWebPartManifest interface

The client-side SharePoint framework identifies a Web Part by its manifest. All Web Parts are expected to have a manifest.

Extends

Remarks

The manifest is a schematized JSON blob that is used in multiple parts of the SharePoint infrastructure to identify, load and process a Web Part. The schema for this manifest is completely owned and versioned by Microsoft. There are some required properties in the manifest and some optional properties. Optional properties need to be provided only if the Web Part needs the specific functionality. An invalid manifest could lead to issues with Web Part loading and functionality problems.

Properties

canUpdateConfiguration

Indicates whether the web part uses the property pane to update the configuration of the web part.

disabledOnClassicSharepoint

If true, this web part is disabled on SharePoint classic pages

hiddenFromToolbox

If true, this web part should not be displayed in the modern SharePoint toolbox.

imagePreviewUrl

Definition: Url of the image image used for preview

preconfiguredEntries

A Web Part can have pre-configured properties like the title, description, toolbox group name and Web Part specific custom properties. And there can be multiple instances of these pre-configured properties.

supportedHosts

Definition: An array defining what host types are supported

supportsFullBleed

Definition: If true, this web part supports and has been tested for full bleed experience.

supportsSelfFramingInTeams

Definition: If true, notifies that the web part will render an iframe with a page from the same SharePoint tenant (domain). Example: display a SharePoint Page in an iframe.

supportsThemeVariants

Definition: If true, this web part supports and has been tested for theme variants experience.

Property Details

canUpdateConfiguration

Indicates whether the web part uses the property pane to update the configuration of the web part.

canUpdateConfiguration?: boolean;

Property Value

boolean

Remarks

Default value is true if the property is not explicitly defined.

disabledOnClassicSharepoint

If true, this web part is disabled on SharePoint classic pages

disabledOnClassicSharepoint?: boolean;

Property Value

boolean

Remarks

Certain web parts may not be required on or apply to SharePoint classic pages. This flag helps control that. If this flag is true, the web part will not appear in the classic page web part gallery.

hiddenFromToolbox

If true, this web part should not be displayed in the modern SharePoint toolbox.

hiddenFromToolbox?: boolean;

Property Value

boolean

Remarks

Usage: Use this flag if it is not appropriate to display a web part in the modern toolbox. This property is not used in Classic SharePoint. By default, all web parts are enabled to be displayed in the toolbox. Such web parts can be provisioned on pages though API or be added to the page in a pre configured way.

imagePreviewUrl

Definition: Url of the image image used for preview

imagePreviewUrl?: string;

Property Value

string

Remarks

Usage: Use this string to specify that a preview image should be used instead of a preview rendering of the web part. This can either be a absolute url or a relative URL which will be resolved based on the internal base module url

preconfiguredEntries

A Web Part can have pre-configured properties like the title, description, toolbox group name and Web Part specific custom properties. And there can be multiple instances of these pre-configured properties.

preconfiguredEntries: IClientSideWebPartManifestEntry<TProperties>[];

Property Value

Remarks

This helps support scenarios where an organization may want to present multiple pre-configured entries for a Web Part in the Toolbox. Each entry is expected to configure the Web Part with a different set of pre-configured properties. A developer may decide to seed some initial values for these properties but an organization admin can go ahead and customize these properties per the needs of his/her organization. The properties can also be modified by the author of the page.

Usage: help display a Web Part in the Toolbox, PropertyPane and the initial rendering of the Web Part.

Type: JSON object

Supported values: Array of IClientSideWebPartManifestEntry objects.

Example:

  [{
     title:"Image Web Part",
     description: "This Web Part displays an image",
     group: "Media",
     iconFontName: "image",
     properties: {
       imageSource: "https://contoso.akamaihd.net/files/mountRainier.jpg",
       captionText: "Mount Rainier"
     }
   }]

supportedHosts

Definition: An array defining what host types are supported

supportedHosts?: Array<'SharePointFullPage' | 'SharePointWebPart' | 'TeamsTab' | 'TeamsPersonalApp' | 'TeamsMeetingApp'>;

Property Value

Array<'SharePointFullPage' | 'SharePointWebPart' | 'TeamsTab' | 'TeamsPersonalApp' | 'TeamsMeetingApp'>

Remarks

Usage: Use this array to define all hosts that are supported. The default value is SharePointWebPart if nothing is provided. If SharePointFullPage is added the solution will be available when adding full page apps. If SharePointWebPart is added the solution will be available when adding webparts to a page. If TeamsTab, TeamsPersonalApp, or TeamsMeetingApp is added the solution will be available when using teams. TeamsMeetingApp cannot be used with TeamsTab or TeamsPersonalTab.

supportsFullBleed

Definition: If true, this web part supports and has been tested for full bleed experience.

supportsFullBleed?: boolean;

Property Value

boolean

Remarks

Usage: Use this flag if a web part supports full bleed experience and has been tested as such. In this context, full bleed is a term used to denote that the web part takes the whole width of the containing page. Full bleed experiences require special treatment and testing. By default no web parts support full bleed experiences.

supportsSelfFramingInTeams

Definition: If true, notifies that the web part will render an iframe with a page from the same SharePoint tenant (domain). Example: display a SharePoint Page in an iframe.

supportsSelfFramingInTeams?: boolean;

Property Value

boolean

Remarks

Usage: Use this flag if a web part will render an iframe with a page from the same SharePoint tenant (domain) and will be hosted as a Teams application (supportedHosts contains any of Teams hosts).

supportsThemeVariants

Definition: If true, this web part supports and has been tested for theme variants experience.

supportsThemeVariants?: boolean;

Property Value

boolean

Remarks

Usage: Use this flag if a web part supports theme variants and has been tested as such. In order to support theme variants, web parts must have the capability to render correctly in the context of a theme variant. A web part may or may not need to be updated to support theme variants, but should always be tested before enabling this flag. By default no web parts support theme variants.