@microsoft/sp-module-interfaces 1.20.2 → 1.21.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/index-internal-beta.d.ts +47 -1
  2. package/dist/index-internal-public.d.ts +8 -1
  3. package/dist/index-internal.d.ts +748 -15
  4. package/dist/tsdoc-metadata.json +1 -1
  5. package/lib-commonjs/index.d.ts +1 -0
  6. package/lib-commonjs/index.d.ts.map +1 -1
  7. package/lib-commonjs/index.js +1 -0
  8. package/lib-commonjs/manifestSchemaValidator.d.ts +3 -0
  9. package/lib-commonjs/manifestSchemaValidator.d.ts.map +1 -1
  10. package/lib-commonjs/manifestSchemaValidator.js +52 -1
  11. package/lib-commonjs/manifestSchemas/IAdaptiveCardExtensionManifest.d.ts +6 -0
  12. package/lib-commonjs/manifestSchemas/IAdaptiveCardExtensionManifest.d.ts.map +1 -1
  13. package/lib-commonjs/manifestSchemas/IClientSideComponentManifest.d.ts +1 -1
  14. package/lib-commonjs/manifestSchemas/IClientSideComponentManifest.d.ts.map +1 -1
  15. package/lib-commonjs/manifestSchemas/IClientSideWebPartManifest.d.ts +35 -0
  16. package/lib-commonjs/manifestSchemas/IClientSideWebPartManifest.d.ts.map +1 -1
  17. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.d.ts +76 -0
  18. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.d.ts.map +1 -0
  19. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.js +3 -0
  20. package/lib-commonjs/manifestSchemas/examples/prefab_1.manifest.d.ts +4 -0
  21. package/lib-commonjs/manifestSchemas/examples/prefab_1.manifest.d.ts.map +1 -0
  22. package/lib-commonjs/manifestSchemas/examples/prefab_1.manifest.js +334 -0
  23. package/lib-commonjs/manifestSchemas/examples/prefab_2.manifest.d.ts +4 -0
  24. package/lib-commonjs/manifestSchemas/examples/prefab_2.manifest.d.ts.map +1 -0
  25. package/lib-commonjs/manifestSchemas/examples/prefab_2.manifest.js +339 -0
  26. package/lib-commonjs/manifestSchemas/examples/prefabapp.manifest.json +345 -0
  27. package/lib-commonjs/manifestSchemas/jsonSchemas/adaptive-card-extension-manifest.schema.json +8 -0
  28. package/lib-commonjs/manifestSchemas/jsonSchemas/client-side-component-manifest.schema.json +5 -2
  29. package/lib-commonjs/manifestSchemas/jsonSchemas/client-side-web-part-manifest.schema.json +23 -0
  30. package/lib-commonjs/manifestSchemas/jsonSchemas/prefab-app-manifest.schema.json +72 -0
  31. package/lib-commonjs/manifestSchemas/remote/draft-04.schema.json +137 -0
  32. package/lib-commonjs/manifestSchemas/remote/site-design-script-actions.schema.json +1158 -0
  33. package/package.json +8 -7
@@ -2,7 +2,7 @@
2
2
  * Type of client-side component.
3
3
  * @public
4
4
  */
5
- export declare type ComponentType = 'Application' | 'WebPart' | 'Library' | 'Extension' | 'AdaptiveCardExtension';
5
+ export declare type ComponentType = 'Application' | 'WebPart' | 'Library' | 'Extension' | 'AdaptiveCardExtension' | 'Prefab';
6
6
 
7
7
  /**
8
8
  * The type of client-side extension. Used by IClientSideExtensionManifest.extensionType.
@@ -11,9 +11,259 @@ export declare type ComponentType = 'Application' | 'WebPart' | 'Library' | 'Ext
11
11
  */
12
12
  export declare type ExtensionType = 'Unknown' | 'ApplicationCustomizer' | 'FieldCustomizer' | 'ListViewCommandSet' | 'SearchQueryModifier';
13
13
 
14
- /* Excluded from this release type: IAdaptiveCardExtensionManifest */
14
+ /**
15
+ * @beta
16
+ */
17
+ export declare interface IAdaptiveCardExtensionManifest<TProperties> extends IClientSideComponentManifest {
18
+ /* Excluded from this release type: connectedTeamsAppId */
19
+ /* Excluded from this release type: isPendingTeamsAppSync */
20
+ /* Excluded from this release type: connectedSPFXAppId */
21
+ /**
22
+ * Definition: An array defining what host types are supported
23
+ *
24
+ *
25
+ * @remarks
26
+ * Usage: Use this array to define all hosts that are supported.
27
+ *
28
+ */
29
+ supportedHosts?: ReadonlyArray<'Dashboard'>;
30
+ /**
31
+ * Definition: If true, this ACE supports and has been tested for theme variants experience.
32
+ *
33
+ * @remarks
34
+ * Usage: Use this flag if a ACE supports theme variants and has been tested as such.
35
+ * In order to support theme variants, ACEs must have the capability to render correctly in the context
36
+ * of a theme variant. An ACE may or may not need to be updated to support theme variants, but should
37
+ * always be tested before enabling this flag. By default no ACEs support theme variants.
38
+ *
39
+ */
40
+ supportsThemeVariants?: boolean;
41
+ /**
42
+ * An untyped property bag for experimental flags not ready for production.
43
+ *
44
+ */
45
+ experimentalData?: {
46
+ [key: string]: any;
47
+ };
48
+ /**
49
+ * If true, this AdaptiveCardExtension should not be displayed in the modern SharePoint toolbox.
50
+ *
51
+ * @remarks
52
+ * Usage: Use this flag if it is not appropriate to display a AdaptiveCardExtension in the modern toolbox. By default,
53
+ * all AdaptiveCardExtensions are enabled to be displayed in the toolbox if supportedHosts contains 'SharePointWebPart'
54
+ * Such AdaptiveCardExtensions can be provisioned on pages though API or be added to the page in a pre configured way.
55
+ */
56
+ hiddenFromToolbox?: boolean;
57
+ /* Excluded from this release type: isolationLevel */
58
+ /**
59
+ * The scope of the personalization on how an AdaptiveCardExtension can be personalized by an end user.
60
+ *
61
+ * @beta
62
+ */
63
+ personalization?: 'Disallow' | 'Allow';
64
+ /**
65
+ * Definition:
66
+ * - If true, the AdaptiveCardExtension will be disposed and reloaded when the AdaptiveCardExtension data is updated by an external source.
67
+ * - If false, the AdaptiveCardExtension data will be deserialized and the properties of the AdaptiveCardExtension will be updated,
68
+ * onAfterPropertiesUpdatedExternally will be executed.
69
+ * - If undefined, AdaptiveCardExtensions developed with SPFx version below 1.9 will default to true and AdaptiveCardExtensions developed with
70
+ * a SPFx version 1.9 or greater will default to false.
71
+ *
72
+ * @remarks
73
+ * By default, onAfterPropertiesUpdatedExternally will re-render the AdaptiveCardExtension. If your AdaptiveCardExtension requires specialized
74
+ * logic, then it is recommended to override onAfterPropertiesUpdatedExternally.
75
+ */
76
+ useFallbackWhenPropertiesUpdatedExternally?: boolean;
77
+ /**
78
+ * A AdaptiveCardExtension can have pre-configured properties like the title, description, iconImageUrl, officeFabricIconFontName, toolbox group name
79
+ * and AdaptiveCardExtension specific custom properties. And there can be multiple instances of these pre-configured properties.
80
+ *
81
+ * @remarks
82
+ * This helps support scenarios where an organization may want to present multiple pre-configured entries
83
+ * for a AdaptiveCardExtension in the Toolbox. Each entry is expected to configure the AdaptiveCardExtension with a different set
84
+ * of pre-configured properties. A developer may decide to seed some initial values for these properties
85
+ * but an organization admin can go ahead and customize these properties per the needs of his/her organization.
86
+ * The properties can also be modified by the author of the page.
87
+ *
88
+ * Usage: help display a AdaptiveCardExtension in the Toolbox, PropertyPane and the initial rendering of the AdaptiveCardExtension.
89
+ *
90
+ * Type: JSON object
91
+ *
92
+ * Supported values: Array of `IClientSideWebPartManifestEntry` objects.
93
+ *
94
+ * Example:
95
+ * ```
96
+ * [{
97
+ * "groupId": "5c03119e-3074-46fd-976b-c60198311f70",
98
+ * "group": { "default": "Advanced" },
99
+ * "title": { "id": "$./ManifestStrings.resx:PrimaryTextL1Template;" },
100
+ * "description": { "id": "$./ManifestStrings.resx:PrimaryTextL1TemplateDescription;" },
101
+ * "officeFabricIconFontName": "Balloons",
102
+ * "properties": {
103
+ * "templateType": "primaryText",
104
+ * "title": "Primary Text",
105
+ * "primaryText": "Basic card",
106
+ * "description": "This is an example.",
107
+ * "cardSize": "Medium"
108
+ * }
109
+ * }]
110
+ * ```
111
+ */
112
+ preconfiguredEntries: IAdaptiveCardExtensionManifestEntry<TProperties>[];
113
+ }
15
114
 
16
- /* Excluded from this release type: IAdaptiveCardExtensionManifestEntry */
115
+ /**
116
+ * This interface specifies the set of properties that can be pre-configured by a AdaptiveCardExtension developer. Each
117
+ * pre-configured instance of the AdaptiveCardExtension will need a copy of these properties. Organization admins and
118
+ * content authors can modify these properties on a need basis.
119
+ *
120
+ * @beta
121
+ */
122
+ export declare interface IAdaptiveCardExtensionManifestEntry<TProperties> {
123
+ /**
124
+ * Size of the AdaptiveCardExtension when it is rendered. This is value must be one of the supported CardSizes
125
+ * ["Medium", "Large"] defined in the sp-adaptive-card-base project.
126
+ */
127
+ cardSize: string;
128
+ /**
129
+ * Title of the AdaptiveCardExtension represented as a single a dictionary of locale keys to title values. This
130
+ * value will be displayed to the user in the toolbox.
131
+ *
132
+ * @remarks
133
+ * This title should be used in the Toolbox and other display areas. The AdaptiveCardExtension developer may give
134
+ * an initial title to the AdaptiveCardExtension. The organization admin and page author will have the ability to
135
+ * change this title as per need.
136
+ *
137
+ * Usage: display the name of the AdaptiveCardExtension in the toolbox, web part gallery and the page.
138
+ *
139
+ * Supported values: a dictionary of locale keys to strings. Should always have a `'default'` key.
140
+ *
141
+ * Example: `"My Webpart"`
142
+ * ```
143
+ * {
144
+ * "default": "My WebPart"
145
+ * "en-us": "My WebPart",
146
+ * "fr-fr": "Ma WebPart",
147
+ * "zh": "我的 web 部件"
148
+ * }
149
+ * ```
150
+ */
151
+ title: ILocalizedString;
152
+ /**
153
+ * Description of the AdaptiveCardExtension represented as a dictionary of locale keys to description values. This
154
+ * value will be displayed to the user in the toolbox. This description should be used in the Toolbox tooltip and
155
+ * other display areas.
156
+ *
157
+ * @remarks
158
+ * The AdaptiveCardExtension developer may give an initial description to the AdaptiveCardExtension. The organization
159
+ * admin and page author will have the ability to change this description as per need.
160
+ *
161
+ * Usage: display the description of the AdaptiveCardExtension in the toolbox tooltip, web part gallery and the page.
162
+ *
163
+ * Supported values: a dictionary of locale keys to strings. Should always have a `'default'` key.
164
+ *
165
+ * Example: `"A tool for displaying neat information."`
166
+ *
167
+ * ```
168
+ * {
169
+ * "default": "A tool for displaying neat information.",
170
+ * "en-us": "A tool for displaying neat information.",
171
+ * "fr-fr": "Un outil d'affichage des informations soignées.",
172
+ * "zh": "用於顯示整潔資訊的工具。"
173
+ * }
174
+ * ```
175
+ */
176
+ description: ILocalizedString;
177
+ /**
178
+ * The icon for the AdaptiveCardExtension, to be displayed in the toolbox, represented as a character name in the
179
+ * Office 365 icon font file.
180
+ *
181
+ * @remarks
182
+ * The icon font is specified here: {@link https://aka.ms/uifabric-icons} If this field has
183
+ * a value, the {@link IClientSideWebPartManifestEntry.iconImageUrl} field will be ignored.
184
+ *
185
+ * Supported values: Any character name in the Office 365 Icon Font.
186
+ *
187
+ * Example: "graph"
188
+ */
189
+ officeFabricIconFontName?: string;
190
+ /**
191
+ * The icon for the AdaptiveCardExtension, to be displayed in the toolbox, represented an image URL. The image at the
192
+ * URL must be exactly 40x28 px (SPPPLAT VSO#218660 to fix the size of the icon image).
193
+ *
194
+ * @remarks
195
+ * If the {@link IClientSideWebPartManifestEntry.officeFabricIconFontName} field does not have a value,
196
+ * this field must have a value. This value can be an absolute URL (e.g. `"http://example.com/icons/my-icon.png"`) or
197
+ * a relative file path (e.g. `"./icons/my-icon.png"`). In the latter case, the path will be resolved relative to
198
+ * the folder containing the input manifest. The icon file will be copied to the deployment folder like an asset,
199
+ * and the output manifest's iconImageUrl will be replaced with a URL relative to the URL used to load all other
200
+ * assets (the loaderConfig.internalModuleBaseUrls property).
201
+ *
202
+ * Supported values: Any absolute URL.
203
+ *
204
+ * Example: `"https://contoso.akamaihd.net/files/myWebpartIcon.png"`
205
+ */
206
+ iconImageUrl?: string;
207
+ /**
208
+ * The group id to determine which modern group contains the AdaptiveCardExtension in modern site page. The SharePoint
209
+ * Framework reserves group ids for predefined groups. The developer can pick one from those groups. If the developer
210
+ * fills an id not in the predefined groups, it falls back to Other group.
211
+ *
212
+ * @remarks
213
+ *
214
+ * Supported values: the GUID from PredefinedGroup list
215
+ *
216
+ * Example: `"cf066440-0614-43d6-98ae-0b31cf14c7c3"`
217
+ *
218
+ * @beta
219
+ */
220
+ groupId: PredefinedGroup | string;
221
+ /**
222
+ * This field is used to tag a AdaptiveCardExtension with keywords that are different from the AdaptiveCardExtension group name.
223
+ * Tags can be used for categorization and searching of AdaptiveCardExtensions. For example, in the toolbox.
224
+ *
225
+ * @remarks
226
+ *
227
+ * Example `[{ "default": "image" }, { "default": "media" }, { "default": "picture" }, ...]`
228
+ *
229
+ * @beta
230
+ */
231
+ tags?: ILocalizedString[];
232
+ /**
233
+ * Definition: Use this field to specify the data version of the pre-configured data provided to the AdaptiveCardExtension.
234
+ * Note that data version is different from the version field in the manifest.
235
+ *
236
+ * @remarks
237
+ * The manifest version is used to control the versioning of the AdaptiveCardExtension code, while data version is used
238
+ * to control the versioning of the serialized data of the AdaptiveCardExtension. Refer to dataVersion field of your
239
+ * AdaptiveCardExtension for more information.
240
+ *
241
+ * Usage: versioning and evolving the serialized data of the AdaptiveCardExtension
242
+ *
243
+ * Type: string representing a {@link http://semver.org | semantic version} with only two parts
244
+ *
245
+ * Supported values: MAJOR.MINOR
246
+ *
247
+ * Example: `"1.0"`
248
+ */
249
+ dataVersion?: string;
250
+ /**
251
+ * Every AdaptiveCardExtension is expected to have some custom properties. For example, a page AdaptiveCardExtension might define
252
+ * properties for the page URL and caption text. A list AdaptiveCardExtension may have the list ID and list title as its
253
+ * properties, and so on.
254
+ *
255
+ * @remarks
256
+ *
257
+ * The SharePoint Framework passes these properties to the AdaptiveCardExtensions when they are loaded. The AdaptiveCardExtension developer
258
+ * fully controls the schema for these properties. The AdaptiveCardExtension developer should follow versioning rules when
259
+ * updating the properties.
260
+ *
261
+ * Usage: rendering of the AdaptiveCardExtension
262
+ *
263
+ * Example: `{"imageSource": "https://contoso.akamaihd.net/files/contosoLogo.jpg", "captionText": "Contoso logo"}"`
264
+ */
265
+ properties: TProperties;
266
+ }
17
267
 
18
268
  /* Excluded from this release type: ICapabilityCollection */
19
269
 
@@ -37,7 +287,120 @@ export declare interface IClientSideAssemblyManifest extends IClientSideComponen
37
287
  rootComponentId: string;
38
288
  }
39
289
 
40
- /* Excluded from this release type: IClientSideComponentLoaderConfiguration */
290
+ /**
291
+ * This interface describes how a client-side component is to be loaded and initialized by a SharePoint client
292
+ * framework. It contains all data for loading an entrypoint script and its dependency scripts.
293
+ *
294
+ * @beta
295
+ */
296
+ export declare interface IClientSideComponentLoaderConfiguration {
297
+ /**
298
+ * This is an array of fully-qualified paths to be prepended to each of the script resource paths with the
299
+ * "internal" or "localized" type. If one fails to load, the loader will attempt to load from the next until there
300
+ * are no base paths remaining.
301
+ *
302
+ * @remarks
303
+ * All "internal" and "localized" script resources that do not have fully-qualified URLs
304
+ * as their "path" field values must be hosted under each of the paths listed in this property. For example, if an
305
+ * internal module's "path" field value is `"master_2015-04-20/my-application.bundle_1928f8a0.js"` and this field's
306
+ * value is `[ "https://contoso.akamaihd.net/files/", "https://contoso.msecnd.net/files/" ]`, the loader will first
307
+ * attempt to load this script resource from the URL
308
+ * `"https://contoso.akamaihd.net/files/master_2015-04-20/my-application.bundle_1928f8a0.js"`. If loading from
309
+ * that URL fails, the loader will then attempt to load this script resource from
310
+ * `"https://contoso.msecnd.net/files/master_2015-04-20/my-application.bundle_1928f8a0.js"`. If that URL fails
311
+ * to load, the component will fail to load and an error will be returned. It is important to note that the support
312
+ * for multiple base URLs is purely for failover support. This means that all files must be present on all hosts
313
+ * listed in this field.
314
+ *
315
+ * Usage: Base URLs for script resources with the "internal" or "localized" type.
316
+ *
317
+ * Supported values: Any URL that contains all internal scripts referenced in the "scriptResources" dictionary.
318
+ *
319
+ * Example: `[ "https://contoso.akamaihd.net/files/", "https://contoso.msecnd.net/files/" ]`
320
+ */
321
+ internalModuleBaseUrls: string[];
322
+ /**
323
+ * This is the ID of one of the entries in the "scriptResources" dictionary.
324
+ *
325
+ * @remarks
326
+ * The loader will download and evaluate the script resource referenced in this field, resolve all dependencies
327
+ * against the keys in the "scriptResources", and return the exported object to the loader's calling function.
328
+ * The entry referenced in the "scriptResources" dictionary must be of the "internal" or the "localized" type.
329
+ *
330
+ * Supported values: An entry in the "scriptResources" dictionary that defines the base exported module of the
331
+ * component.
332
+ *
333
+ * Example: `"myApplication.bundle"`
334
+ */
335
+ entryModuleId: string;
336
+ /**
337
+ * The module referenced by the "entryModuleId" field may export an object with several fields.
338
+ *
339
+ * @remarks
340
+ * This value optionally references the name of a field on the object exported by the module referenced by the
341
+ * `entryModuleId` field. When this field has a value, the value of the referenced field on the object exported
342
+ * by the module referenced by the `entryModuleId` field is returned when this manifest is loaded instead of
343
+ * the base exported object. For example, if entryModuleId refers to a module with with a top-level export of
344
+ * `{ foo: 'bar', baz: 123 }` and:
345
+ *
346
+ * - if this field is unset, the value returned by the module loader is `{ foo: 'bar', baz: 123 }`
347
+ *
348
+ * - if this field is set to `foo`, the value returned by the module loader is `bar`
349
+ *
350
+ * - if this field is set to `bar`, the value returned by the module loader is undefined (as `bar` is not a key in
351
+ * the top-level export).
352
+ *
353
+ * Example: `mySpWebpart`
354
+ */
355
+ exportName?: string;
356
+ /**
357
+ * This is a dictionary of named script resources. `path` and `localizedPath` modules may reference each
358
+ * other and `manifest` modules are expected to be provided by the framework runtime. The resource named in the
359
+ * `entryModuleId` must contain the component's exported object.
360
+ *
361
+ * @remarks
362
+ *
363
+ * Supported values: A dictionary of named script resources.
364
+ *
365
+ * Example:
366
+ *
367
+ * ```
368
+ * {
369
+ * "myApplication.bundle": {
370
+ * "type": "path",
371
+ * "path": "master_2015-04-20/my-application.bundle_1928f8a0.js"
372
+ * },
373
+ * "@microsoft/sp-client-base": {
374
+ * "type": "component",
375
+ * "id": "af59c2b3-2da7-41fd-8b72-3939817960af",
376
+ * "version": "latest"
377
+ * },
378
+ * "@microsoft/sp-client-preview": {
379
+ * "type": "component",
380
+ * "id": "4d5eb168-6729-49a8-aec7-0e397f486b6e",
381
+ * "version": "latest"
382
+ * },
383
+ * "jQuery": {
384
+ * "type": "component",
385
+ * "id": "00000000-0000-0000-0000-000000000000",
386
+ * "version": "2.2.4",
387
+ * "path": "https://code.jquery.com/jquery-2.2.4.min.js"
388
+ * },
389
+ * "myApplication_strings": {
390
+ * "type": "localizedPath",
391
+ * "defaultPath": "master_2015-04-20/my-application_strings_default_af378e0d.js",
392
+ * "paths": {
393
+ * "en-us": "master_2015-04-20/my-application_strings_en-us_d38ff012.js",
394
+ * "fr-fr": "master_2015-04-20/my-application_strings_fr-fr_138af7e4.js"
395
+ * }
396
+ * }
397
+ * }
398
+ * ```
399
+ */
400
+ scriptResources: {
401
+ [name: string]: IModuleConfiguration;
402
+ };
403
+ }
41
404
 
42
405
  /**
43
406
  * All client-side components built on the SharePoint framework need a valid component manifest. This interface
@@ -146,7 +509,19 @@ export declare interface IClientSideComponentManifest extends IClientSideManifes
146
509
  * Usage: Requires Custom Script to be allowed in order for this component to be installed and run.
147
510
  */
148
511
  requiresCustomScript?: boolean;
149
- /* Excluded from this release type: loaderConfig */
512
+ /**
513
+ * This portion of the configuration describes how the component is to be loaded and initialized by a
514
+ * client. It contains an enumeration of scripts that the component requires along with a single
515
+ * entry point script.
516
+ *
517
+ * @remarks
518
+ * Usage: Loading a component.
519
+ *
520
+ * See `IClientSideComponentLoaderConfiguration` for more information and examples.
521
+ *
522
+ * @beta
523
+ */
524
+ loaderConfig: IClientSideComponentLoaderConfiguration;
150
525
  /* Excluded from this release type: isolatedDomain */
151
526
  /* Excluded from this release type: storeAppId */
152
527
  /* Excluded from this release type: mpnId */
@@ -359,6 +734,22 @@ export declare interface IClientSideWebPartManifest<TProperties> extends IClient
359
734
  * and will be hosted as a Teams application (supportedHosts contains any of Teams hosts).
360
735
  */
361
736
  supportsSelfFramingInTeams?: boolean;
737
+ /**
738
+ * Definition: Defines the default sizing of webpart in flexible sections, as well as if it supports dynamic resizing.
739
+ * Example:
740
+ * ```
741
+ * flexibleLayoutSizing: {
742
+ * supportsDynamicResizing: false,
743
+ * defaultColumnWidth: 22,
744
+ * defaultRowHeight: 21
745
+ * }
746
+ * ```
747
+ * @remarks
748
+ * Ensure this remains up to date with IFlexibleControlSizingData in FlexibleControl.types.ts
749
+ *
750
+ * @beta
751
+ */
752
+ flexibleLayoutSizing?: IFlexibleLayoutSizing;
362
753
  }
363
754
 
364
755
  /**
@@ -448,9 +839,42 @@ export declare interface IClientSideWebPartManifestEntry<TProperties> {
448
839
  * Example: `"https://contoso.akamaihd.net/files/myWebpartIcon.png"`
449
840
  */
450
841
  iconImageUrl?: string;
451
- /* Excluded from this release type: groupId */
452
- /* Excluded from this release type: group */
453
- /* Excluded from this release type: tags */
842
+ /**
843
+ * The group id to determine which modern group contains the web part in modern site page. The SharePoint
844
+ * Framework reserves group ids for predefined groups. The developer can pick one from those groups. If the developer
845
+ * fills an id not in the predefined groups, it falls back to Other group.
846
+ *
847
+ * @remarks
848
+ *
849
+ * Supported values: the GUID from PredefinedGroup list
850
+ *
851
+ * Example: `"cf066440-0614-43d6-98ae-0b31cf14c7c3"`
852
+ *
853
+ * @beta
854
+ */
855
+ groupId: PredefinedGroup | string;
856
+ /**
857
+ * The group name in web part picker to contain the web part in the classic page. If no value is provided,
858
+ * then the web part will be displayed in the Miscellaneous group.
859
+ *
860
+ * @remarks
861
+ *
862
+ * Example: `{ "default": "Media and Content" }`
863
+ *
864
+ * @beta
865
+ */
866
+ group?: ILocalizedString;
867
+ /**
868
+ * This field is used to tag a web part with keywords that are different from the web part group name.
869
+ * Tags can be used for categorization and searching of web parts. For example, in the web part toolbox.
870
+ *
871
+ * @remarks
872
+ *
873
+ * Example `[{ "default": "image" }, { "default": "media" }, { "default": "picture" }, ...]`
874
+ *
875
+ * @beta
876
+ */
877
+ tags?: ILocalizedString[];
454
878
  /**
455
879
  * Definition: Use this field to specify the data version of the pre-configured data provided to the web part.
456
880
  * Note that data version is different from the version field in the manifest.
@@ -582,11 +1006,144 @@ export declare interface ICommandSetExtensionManifest extends IClientSideExtensi
582
1006
  };
583
1007
  }
584
1008
 
585
- /* Excluded from this release type: IComponentModuleConfiguration */
1009
+ /**
1010
+ * This is the interface for a script module with the "component" type. Modules of this type will be provided via
1011
+ * manifests. In order for the dependency to be loaded, the manifest must be available on the site.
1012
+ *
1013
+ * @beta
1014
+ */
1015
+ export declare interface IComponentModuleConfiguration extends IModuleConfigurationBase {
1016
+ type: 'component';
1017
+ /**
1018
+ * The version of the framework-supplied component to be loaded. For framework runtime component such as
1019
+ * `@microsoft/sp-client-base`, it is recommended the version of the framework component the component was developed
1020
+ * against be specified.
1021
+ *
1022
+ * @remarks
1023
+ *
1024
+ * Supported values: string representing a {@link http://semver.org | semantic version}, or "latest".
1025
+ *
1026
+ * Example: `"2.2.4"`
1027
+ */
1028
+ version: string;
1029
+ /**
1030
+ * The ID of the framework-supplied component to be loaded.
1031
+ *
1032
+ * @remarks
1033
+ *
1034
+ * Supported values: string representing a component's ID.
1035
+ *
1036
+ * Example: `"0d910c1c-13b9-4e1c-9aa4-b008c5e42d7d"`
1037
+ */
1038
+ id: string;
1039
+ /**
1040
+ * A path to the framework-supplied component in case the framework fails to load the requested version.
1041
+ *
1042
+ * @remarks
1043
+ * This must be either a fully-qualified URL, or a path under the paths specified in the `internalModuleBaseUrls`
1044
+ * field. If this field is not specified and the version is not available in the framework runtime, the closest
1045
+ * matching version of the component will be provided instead.
1046
+ *
1047
+ * Supported values: The path to the component either as a fully-qualified URL or as a path under the
1048
+ * paths provided in the "internalModuleBaseUrls" field.
1049
+ *
1050
+ * Example: `"https://code.jquery.com/jquery-2.2.4.min.js"`
1051
+ */
1052
+ failoverPath?: string | IIntegrityPath;
1053
+ }
1054
+
1055
+ /**
1056
+ * Flexible layout sizing data
1057
+ * @beta
1058
+ */
1059
+ export declare interface IFlexibleLayoutSizing {
1060
+ /**
1061
+ * If true webpart can resize to any width between minimum and 70 columns
1062
+ * Otherwise webpart is slot resized to 22, 34, 48, or 70 columns
1063
+ */
1064
+ supportsDynamicResizing?: boolean;
1065
+ /**
1066
+ * Default column width for the webpart, used by drop hint
1067
+ */
1068
+ defaultColumnWidth?: number;
1069
+ /**
1070
+ * Default row height for the webpart, used by drop hint
1071
+ */
1072
+ defaultRowHeight?: number;
1073
+ }
586
1074
 
587
- /* Excluded from this release type: IIntegrityPath */
1075
+ /**
1076
+ * A path with the subresource integrity hash of the resource.
1077
+ *
1078
+ * @beta
1079
+ */
1080
+ export declare interface IIntegrityPath {
1081
+ /**
1082
+ * The path to the resource.
1083
+ */
1084
+ path: string;
1085
+ /**
1086
+ * The subresource integrity hash of the resource referenced in {@link IIntegrityPath.path}.
1087
+ */
1088
+ integrity?: string;
1089
+ }
588
1090
 
589
- /* Excluded from this release type: ILocalizedPathModuleConfiguration */
1091
+ /**
1092
+ * This is the interface for a script module with the "localizedPath" type.
1093
+ *
1094
+ * @remarks
1095
+ * Modules of this type must be provided by the component developer. These script resources are similar to those of
1096
+ * the "path" type, but they may be present at a number of different paths, to be selected by the user's locale.
1097
+ * Paths in this module type are loaded exactly the same way as "internal" modules are.
1098
+ *
1099
+ * @beta
1100
+ */
1101
+ export declare interface ILocalizedPathModuleConfiguration extends IModuleConfigurationBase {
1102
+ type: 'localizedPath';
1103
+ /**
1104
+ * A path to this module's default locale javascript resource either as a fully-qualified URL or as a
1105
+ * path under the paths provided in the "internalModuleBaseUrls" field.
1106
+ *
1107
+ * @remarks
1108
+ * If the user's locale does not resolve to one of the paths specified in the "paths" field, the path in this
1109
+ * field is used. Paths in this module type are treated exactly the same way paths in modules of the "internal"
1110
+ * type are treated.
1111
+ *
1112
+ * Supported values: The path to the default locale version of the module either as a fully-qualified URL or as a path
1113
+ * under the paths provided in the "internalModuleBaseUrls" field.
1114
+ *
1115
+ * Example: `"master_2015-04-20/my-application_strings_default_af378e0d.js"`
1116
+ */
1117
+ defaultPath: string | IIntegrityPath;
1118
+ /**
1119
+ * This is a dictionary of locale keys (in the `"ll-cc"` format) to paths to this module's locale
1120
+ * javascript resource either as a fully-qualified URL or as a path under the paths provided in the
1121
+ * `"internalModuleBaseUrls"` field.
1122
+ *
1123
+ * @remarks
1124
+ * The loader will attempt to resolve the user's locale to one of the paths provided by this field, and will load
1125
+ * the script resource under that path. If the user's locale does not resolve to one of the paths specified in this
1126
+ * field, the path in `"defaultPath"` field is used. For example, if the user's locale is `"en-gb"`, and this field's
1127
+ * value contains the keys `[ "en-us", "en-gb", "fr-fr" ]`, the path specified by the `"en-gb"` key will be used.
1128
+ * If the user's locale is "en-gb", and this field's value contains the keys `[ "en-us", "fr-fr" ]`, the path
1129
+ * specified by the `"en-us"` key will be used. If the user's locale is `"en-gb"`, and this field's value contains
1130
+ * the keys `[ "es-es", "fr-fr" ]`, the path specified by the "defaultPath" field will be used.
1131
+ * Paths in this module type are treated exactly the same way paths in modules of the "internal" type are treated.
1132
+ *
1133
+ * Supported values: A dictionary of locale-to-path mappings.
1134
+ *
1135
+ * Example:
1136
+ * ```
1137
+ * {
1138
+ * "en-us": "master_2015-04-20/my-application_strings_en-us_d38ff012.js",
1139
+ * "fr-fr": "master_2015-04-20/my-application_strings_fr-fr_138af7e4.js"
1140
+ * }
1141
+ * ```
1142
+ */
1143
+ paths?: {
1144
+ [locale: string]: string | IIntegrityPath;
1145
+ };
1146
+ }
590
1147
 
591
1148
  /**
592
1149
  * A set of localized strings.
@@ -634,16 +1191,192 @@ export declare interface ILocalizedString {
634
1191
  [locale: string]: string | undefined;
635
1192
  }
636
1193
 
637
- /* Excluded from this release type: IModuleConfiguration */
1194
+ /**
1195
+ * @beta
1196
+ */
1197
+ export declare type IModuleConfiguration = IComponentModuleConfiguration | IPathModuleConfiguration | ILocalizedPathModuleConfiguration;
638
1198
 
639
- /* Excluded from this release type: IModuleConfigurationBase */
1199
+ /**
1200
+ * This is the base interface for a script module's definition.
1201
+ *
1202
+ * @beta
1203
+ */
1204
+ export declare interface IModuleConfigurationBase {
1205
+ /**
1206
+ * The type of the script block. `"component"` modules come from a component,
1207
+ * `"path"` and `"localizedPath"` modules must be available on the paths provided in
1208
+ * the `"internalModuleBaseUrls"` field.
1209
+ *
1210
+ * @remarks
1211
+ *
1212
+ * Modules with the `"path"` type use the `IPathModuleConfiguration` interface.
1213
+ *
1214
+ * Modules with the `"component"` type use the `IComponentModuleConfiguration` interface.
1215
+ * Modules with the "localizedPath" type use the `ILocalizedPathModuleConfiguration` interface.
1216
+ *
1217
+ * Supported values: `"component"`, `"path"`, `"localizedPath"`
1218
+ *
1219
+ * Example: `"localized"`
1220
+ */
1221
+ type: 'component' | 'path' | 'localizedPath';
1222
+ /**
1223
+ * If set to `true`, this module should not be preloaded when loading the component.
1224
+ *
1225
+ * @remarks
1226
+ * The most common case for setting this property to "true" is when a module is defined in a manifest,
1227
+ * but is not required for the module referenced in "entryModuleId" to load. Modules may be defined that
1228
+ * are loaded asynchronously, and these modules do not need to be preloaded. This field implicitly defaults
1229
+ * to `false`.
1230
+ *
1231
+ * Usage: Instructs the module loader to not preload this module.
1232
+ */
1233
+ shouldNotPreload?: boolean;
1234
+ }
1235
+
1236
+ /**
1237
+ * This is the interface for a script module with the "path" type. Modules of this type must be provided by the
1238
+ * component developer.
1239
+ *
1240
+ * @beta
1241
+ */
1242
+ export declare interface IPathModuleConfiguration extends IModuleConfigurationBase {
1243
+ type: 'path';
1244
+ /**
1245
+ * A path to this module's javascript resource either as a fully-qualified URL or as a path under the
1246
+ * paths provided in the `internalModuleBaseUrls` field.
1247
+ *
1248
+ * @remarks
1249
+ *
1250
+ * For example, if this field's value is `"master_2015-04-20/my-application.bundle_1928f8a0.js"` and
1251
+ * the `"internalModuleBaseUrls"` field's value is
1252
+ * `[ "https://contoso.akamaihd.net/files/", "https://contoso.msecnd.net/files/" ]`, the loader will
1253
+ * first attempt to load this script resource from the URL
1254
+ * `"https://contoso.akamaihd.net/files/master_2015-04-20/my-application.bundle_1928f8a0.js"`.
1255
+ * If loading from that URL fails, the loader will then attempt to load this script resource from
1256
+ * `"https://contoso.msecnd.net/files/master_2015-04-20/my-application.bundle_1928f8a0.js"`.
1257
+ * If that URL fails to load, the component will fail to load and an error will be returned.
1258
+ *
1259
+ * Supported values: The path to the module either as a fully-qualified URL or as a path under the
1260
+ * paths provided in the "internalModuleBaseUrls" field.
1261
+ *
1262
+ * Example: `"master_2015-04-20/my-application.bundle_1928f8a0.js"`
1263
+ */
1264
+ path: string | IIntegrityPath;
1265
+ /**
1266
+ * If this property is specified, this module is considered non-AMD and
1267
+ * the module loader will not expect "define" or "require" to be called.
1268
+ *
1269
+ * @remarks
1270
+ * In order to load scripts that don't follow the AMD/module-pattern where "define" or "require" is
1271
+ * called and dependencies are explicitly listed and exports are explicitly returned, the module loader needs to
1272
+ * know which global variable must be examined. If this property is specified, this module is considered non-AMD and
1273
+ * the module loader will not expect "define" or "require" to be called. Instead, it will wait for the script to
1274
+ * finish loading and examine the global variable specified in this field.
1275
+ *
1276
+ * Supported values: Variable names that are expected to be populated after this module is loaded. For example,
1277
+ * if this module is describing jQuery, this value should probably be "$". If an empty string is specified,
1278
+ * the module loader will throw an exception and the component will fail to load.
1279
+ *
1280
+ * Example: `"$"`
1281
+ */
1282
+ globalName?: string;
1283
+ /**
1284
+ * For non-AMD/module-pattern scripts that have dependencies (for example, jQuery plugins), the module
1285
+ * loader will ensure that those dependencies are already loaded.
1286
+ *
1287
+ * @remarks
1288
+ * Entries in the array specified in this field must refer to other non-AMD modules in this component. This field
1289
+ * is not required to have a value for non-AMD modules. If any values are specified that do not refer to other
1290
+ * modules in the same component manifest that this module is specified, the module loader will throw an exception
1291
+ * and the component will fail to load.
1292
+ *
1293
+ * Supported values: Names of other non-AMD-pattern modules in this loader configuration, as specified by the key
1294
+ * `IClientSideComponentLoaderConfiguration.scriptResources[]`
1295
+ *
1296
+ * Example: `["jquery"]`
1297
+ */
1298
+ globalDependencies?: string[];
1299
+ }
640
1300
 
641
- /* Excluded from this release type: IPathModuleConfiguration */
1301
+ /* Excluded from this release type: IPrefabAppManifest */
642
1302
 
643
1303
  /* Excluded from this release type: IPreloadOptions */
644
1304
 
1305
+ /* Excluded from this release type: ISiteScriptActionBase */
1306
+
645
1307
  /* Excluded from this release type: ManifestType */
646
1308
 
647
- /* Excluded from this release type: PredefinedGroup */
1309
+ /**
1310
+ * Predefined web part group.
1311
+ *
1312
+ * @beta
1313
+ */
1314
+ export declare const enum PredefinedGroup {
1315
+ /**
1316
+ * Text, media and content.
1317
+ *
1318
+ * This group includes web parts that display text, multi-media, documents, information from the web, and other
1319
+ * rich content.
1320
+ *
1321
+ * @beta
1322
+ */
1323
+ TextMediaAndContent = "cf066440-0614-43d6-98ae-0b31cf14c7c3",
1324
+ /**
1325
+ * Discovery.
1326
+ *
1327
+ * This group includes web parts that organize, group, and filter content to help users discover information.
1328
+ *
1329
+ * @beta
1330
+ */
1331
+ DocumentsListsAndLibraries = "1edbd9a8-0bfb-4aa2-9afd-14b8c45dd489",
1332
+ /**
1333
+ * Communication and collaboration.
1334
+ *
1335
+ * This group includes web parts that facilitate information sharing, team work, and social interactions.
1336
+ *
1337
+ * @beta
1338
+ */
1339
+ Feeds = "75e22ed5-fa14-4829-850a-c890608aca2d",
1340
+ /**
1341
+ * Planning and process.
1342
+ *
1343
+ * This group includes web parts that empower team productivity with the use of planning and process tools.
1344
+ *
1345
+ * @beta
1346
+ */
1347
+ NewsPeopleAndEvents = "1bc7927e-4a5e-4520-b540-71305c79c20a",
1348
+ /**
1349
+ * Business and intelligence.
1350
+ *
1351
+ * This group includes web parts for tracking and analyzing data, and for integrating business flow with pages.
1352
+ *
1353
+ * @beta
1354
+ */
1355
+ DataAnalysis = "4aca9e90-eff5-4fa1-bac7-728f5f157b66",
1356
+ /**
1357
+ * Regional information
1358
+ *
1359
+ * This group includes web parts that display information based on current region and geographical location
1360
+ *
1361
+ * @beta
1362
+ */
1363
+ RegionalInformation = "cfc8bda5-cb9b-49e3-8526-2ee6e52b256a",
1364
+ /**
1365
+ * Other.
1366
+ *
1367
+ * This group includes web parts not in other groups.
1368
+ *
1369
+ * @beta
1370
+ */
1371
+ Advanced = "5c03119e-3074-46fd-976b-c60198311f70",
1372
+ /**
1373
+ * Other.
1374
+ *
1375
+ * This group includes local web parts.
1376
+ *
1377
+ * @beta
1378
+ */
1379
+ Local = "8b7bf6f1-a56a-4aa3-8657-7eb6e7e6af61"
1380
+ }
648
1381
 
649
1382
  export { }