@microsoft/sp-module-interfaces 1.21.1 → 1.22.0-beta.2

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 (78) hide show
  1. package/dist/index-internal-beta.d.ts +17 -0
  2. package/dist/index-internal-public.d.ts +16 -0
  3. package/dist/index-internal.d.ts +724 -14
  4. package/lib-commonjs/index.js +1 -2
  5. package/lib-commonjs/manifestHelpers.js +1 -1
  6. package/lib-commonjs/manifestSchemaValidator.js +1 -1
  7. package/lib-commonjs/manifestSchemas/IAdaptiveCardExtensionManifest.js +1 -1
  8. package/lib-commonjs/manifestSchemas/IClientSideApplicationManifest.js +1 -1
  9. package/lib-commonjs/manifestSchemas/IClientSideAssemblyManifest.js +1 -1
  10. package/lib-commonjs/manifestSchemas/IClientSideComponentLoaderConfiguration.js +1 -1
  11. package/lib-commonjs/manifestSchemas/IClientSideComponentManifest.js +1 -1
  12. package/lib-commonjs/manifestSchemas/IClientSideExtensionManifest.js +1 -1
  13. package/lib-commonjs/manifestSchemas/IClientSideLibraryManifest.js +1 -1
  14. package/lib-commonjs/manifestSchemas/IClientSideManifestBase.js +1 -1
  15. package/lib-commonjs/manifestSchemas/IClientSideMultiVersionManifest.js +1 -1
  16. package/lib-commonjs/manifestSchemas/IClientSideWebPartManifest.js +1 -1
  17. package/lib-commonjs/manifestSchemas/ICommandSetExtensionManifest.js +1 -1
  18. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.js +1 -1
  19. package/lib-commonjs/manifestSchemas/ManifestType.js +1 -1
  20. package/lib-commonjs/manifestSchemas/examples/application_1.manifest.js +1 -1
  21. package/lib-commonjs/manifestSchemas/examples/application_2.manifest.js +1 -1
  22. package/lib-commonjs/manifestSchemas/examples/application_3.manifest.js +1 -1
  23. package/lib-commonjs/manifestSchemas/examples/assembly_1.manifest.js +1 -1
  24. package/lib-commonjs/manifestSchemas/examples/commandSet_1.manifest.js +1 -1
  25. package/lib-commonjs/manifestSchemas/examples/extension_1.manifest.js +1 -1
  26. package/lib-commonjs/manifestSchemas/examples/extension_2.manifest.js +1 -1
  27. package/lib-commonjs/manifestSchemas/examples/extension_3.manifest.js +1 -1
  28. package/lib-commonjs/manifestSchemas/examples/extension_4.manifest.js +1 -1
  29. package/lib-commonjs/manifestSchemas/examples/library_1.manifest.js +1 -1
  30. package/lib-commonjs/manifestSchemas/examples/multi-version_1.manifest.js +1 -1
  31. package/lib-commonjs/manifestSchemas/examples/prefab_1.manifest.js +1 -1
  32. package/lib-commonjs/manifestSchemas/examples/prefab_2.manifest.js +1 -1
  33. package/lib-commonjs/manifestSchemas/examples/webpart.manifest.json +62 -0
  34. package/lib-commonjs/manifestSchemas/examples/webpart_1.manifest.js +63 -1
  35. package/lib-commonjs/manifestSchemas/examples/webpart_2.manifest.js +63 -1
  36. package/lib-commonjs/manifestSchemas/jsonSchemas/client-side-component-loader-configuration.schema.json +6 -1
  37. package/lib-commonjs/manifestSchemas/jsonSchemas/client-side-web-part-manifest.schema.json +59 -0
  38. package/lib-commonjs/manifestSchemas/jsonSchemas/component-fallback-version.schema.json +106 -0
  39. package/lib-dts/index.d.ts +1 -1
  40. package/lib-dts/manifestSchemas/IClientSideComponentLoaderConfiguration.d.ts +76 -0
  41. package/lib-dts/manifestSchemas/IClientSideWebPartManifest.d.ts +80 -0
  42. package/lib-dts/tsdoc-metadata.json +1 -1
  43. package/lib-esm/index.js +1 -2
  44. package/lib-esm/manifestHelpers.js +1 -1
  45. package/lib-esm/manifestSchemaValidator.js +1 -1
  46. package/lib-esm/manifestSchemas/IAdaptiveCardExtensionManifest.js +1 -1
  47. package/lib-esm/manifestSchemas/IClientSideApplicationManifest.js +1 -1
  48. package/lib-esm/manifestSchemas/IClientSideAssemblyManifest.js +1 -1
  49. package/lib-esm/manifestSchemas/IClientSideComponentLoaderConfiguration.js +1 -1
  50. package/lib-esm/manifestSchemas/IClientSideComponentManifest.js +1 -1
  51. package/lib-esm/manifestSchemas/IClientSideExtensionManifest.js +1 -1
  52. package/lib-esm/manifestSchemas/IClientSideLibraryManifest.js +1 -1
  53. package/lib-esm/manifestSchemas/IClientSideManifestBase.js +1 -1
  54. package/lib-esm/manifestSchemas/IClientSideMultiVersionManifest.js +1 -1
  55. package/lib-esm/manifestSchemas/IClientSideWebPartManifest.js +1 -1
  56. package/lib-esm/manifestSchemas/ICommandSetExtensionManifest.js +1 -1
  57. package/lib-esm/manifestSchemas/IPrefabAppManifest.js +1 -1
  58. package/lib-esm/manifestSchemas/ManifestType.js +1 -1
  59. package/lib-esm/manifestSchemas/examples/application_1.manifest.js +1 -1
  60. package/lib-esm/manifestSchemas/examples/application_2.manifest.js +1 -1
  61. package/lib-esm/manifestSchemas/examples/application_3.manifest.js +1 -1
  62. package/lib-esm/manifestSchemas/examples/assembly_1.manifest.js +1 -1
  63. package/lib-esm/manifestSchemas/examples/commandSet_1.manifest.js +1 -1
  64. package/lib-esm/manifestSchemas/examples/extension_1.manifest.js +1 -1
  65. package/lib-esm/manifestSchemas/examples/extension_2.manifest.js +1 -1
  66. package/lib-esm/manifestSchemas/examples/extension_3.manifest.js +1 -1
  67. package/lib-esm/manifestSchemas/examples/extension_4.manifest.js +1 -1
  68. package/lib-esm/manifestSchemas/examples/library_1.manifest.js +1 -1
  69. package/lib-esm/manifestSchemas/examples/multi-version_1.manifest.js +1 -1
  70. package/lib-esm/manifestSchemas/examples/prefab_1.manifest.js +1 -1
  71. package/lib-esm/manifestSchemas/examples/prefab_2.manifest.js +1 -1
  72. package/lib-esm/manifestSchemas/examples/webpart.manifest.json +62 -0
  73. package/lib-esm/manifestSchemas/examples/webpart_1.manifest.js +63 -1
  74. package/lib-esm/manifestSchemas/examples/webpart_2.manifest.js +63 -1
  75. package/lib-esm/manifestSchemas/jsonSchemas/client-side-component-loader-configuration.schema.json +6 -1
  76. package/lib-esm/manifestSchemas/jsonSchemas/client-side-web-part-manifest.schema.json +59 -0
  77. package/lib-esm/manifestSchemas/jsonSchemas/component-fallback-version.schema.json +106 -0
  78. package/package.json +4 -4
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  _export_star(require("./manifestSchemas/IClientSideApplicationManifest"), exports);
6
6
  _export_star(require("./manifestSchemas/IClientSideAssemblyManifest"), exports);
7
- _export_star(require("./manifestSchemas/IClientSideComponentLoaderConfiguration"), exports);
8
7
  _export_star(require("./manifestSchemas/IClientSideComponentManifest"), exports);
9
8
  _export_star(require("./manifestSchemas/IClientSideExtensionManifest"), exports);
10
9
  _export_star(require("./manifestSchemas/IClientSideLibraryManifest"), exports);
@@ -29,4 +28,4 @@ function _export_star(from, to) {
29
28
  return from;
30
29
  }
31
30
 
32
- //#sourceMappingUrl=./index.js.map
31
+ //# sourceMappingURL=./index.js.map
@@ -29,4 +29,4 @@ function isPath(config) {
29
29
  return config.type === 'path';
30
30
  }
31
31
 
32
- //#sourceMappingUrl=./manifestHelpers.js.map
32
+ //# sourceMappingURL=./manifestHelpers.js.map
@@ -153,4 +153,4 @@ class ManifestValidator {
153
153
  }
154
154
  }
155
155
 
156
- //#sourceMappingUrl=./manifestSchemaValidator.js.map
156
+ //# sourceMappingURL=./manifestSchemaValidator.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./IAdaptiveCardExtensionManifest.js.map
6
+ //# sourceMappingURL=./IAdaptiveCardExtensionManifest.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./IClientSideApplicationManifest.js.map
6
+ //# sourceMappingURL=./IClientSideApplicationManifest.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./IClientSideAssemblyManifest.js.map
6
+ //# sourceMappingURL=./IClientSideAssemblyManifest.js.map
@@ -8,4 +8,4 @@ Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
 
11
- //#sourceMappingUrl=./IClientSideComponentLoaderConfiguration.js.map
11
+ //# sourceMappingURL=./IClientSideComponentLoaderConfiguration.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./IClientSideComponentManifest.js.map
6
+ //# sourceMappingURL=./IClientSideComponentManifest.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./IClientSideExtensionManifest.js.map
6
+ //# sourceMappingURL=./IClientSideExtensionManifest.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./IClientSideLibraryManifest.js.map
6
+ //# sourceMappingURL=./IClientSideLibraryManifest.js.map
@@ -7,4 +7,4 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
 
10
- //#sourceMappingUrl=./IClientSideManifestBase.js.map
10
+ //# sourceMappingURL=./IClientSideManifestBase.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./IClientSideMultiVersionManifest.js.map
6
+ //# sourceMappingURL=./IClientSideMultiVersionManifest.js.map
@@ -69,4 +69,4 @@ var PredefinedGroup;
69
69
  */ PredefinedGroup["Local"] = "8b7bf6f1-a56a-4aa3-8657-7eb6e7e6af61";
70
70
  })(PredefinedGroup || (PredefinedGroup = {}));
71
71
 
72
- //#sourceMappingUrl=./IClientSideWebPartManifest.js.map
72
+ //# sourceMappingURL=./IClientSideWebPartManifest.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./ICommandSetExtensionManifest.js.map
6
+ //# sourceMappingURL=./ICommandSetExtensionManifest.js.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //#sourceMappingUrl=./IPrefabAppManifest.js.map
6
+ //# sourceMappingURL=./IPrefabAppManifest.js.map
@@ -22,4 +22,4 @@ var ManifestType;
22
22
  */ ManifestType["container"] = "Container";
23
23
  })(ManifestType || (ManifestType = {}));
24
24
 
25
- //#sourceMappingUrl=./ManifestType.js.map
25
+ //# sourceMappingURL=./ManifestType.js.map
@@ -351,4 +351,4 @@ const appManifest = {
351
351
  };
352
352
  const _default = appManifest;
353
353
 
354
- //#sourceMappingUrl=./application_1.manifest.js.map
354
+ //# sourceMappingURL=./application_1.manifest.js.map
@@ -54,4 +54,4 @@ const appManifest = {
54
54
  };
55
55
  const _default = appManifest;
56
56
 
57
- //#sourceMappingUrl=./application_2.manifest.js.map
57
+ //# sourceMappingURL=./application_2.manifest.js.map
@@ -49,4 +49,4 @@ const appManifest = {
49
49
  };
50
50
  const _default = appManifest;
51
51
 
52
- //#sourceMappingUrl=./application_3.manifest.js.map
52
+ //# sourceMappingURL=./application_3.manifest.js.map
@@ -343,4 +343,4 @@ const assemblyManifest = {
343
343
  };
344
344
  const _default = assemblyManifest;
345
345
 
346
- //#sourceMappingUrl=./assembly_1.manifest.js.map
346
+ //# sourceMappingURL=./assembly_1.manifest.js.map
@@ -49,4 +49,4 @@ const extensionManifest = {
49
49
  };
50
50
  const _default = extensionManifest;
51
51
 
52
- //#sourceMappingUrl=./commandSet_1.manifest.js.map
52
+ //# sourceMappingURL=./commandSet_1.manifest.js.map
@@ -32,4 +32,4 @@ const extensionManifest = {
32
32
  };
33
33
  const _default = extensionManifest;
34
34
 
35
- //#sourceMappingUrl=./extension_1.manifest.js.map
35
+ //# sourceMappingURL=./extension_1.manifest.js.map
@@ -31,4 +31,4 @@ const extensionManifest = {
31
31
  };
32
32
  const _default = extensionManifest;
33
33
 
34
- //#sourceMappingUrl=./extension_2.manifest.js.map
34
+ //# sourceMappingURL=./extension_2.manifest.js.map
@@ -30,4 +30,4 @@ const extensionManifest = {
30
30
  };
31
31
  const _default = extensionManifest;
32
32
 
33
- //#sourceMappingUrl=./extension_3.manifest.js.map
33
+ //# sourceMappingURL=./extension_3.manifest.js.map
@@ -30,4 +30,4 @@ const extensionManifest = {
30
30
  };
31
31
  const _default = extensionManifest;
32
32
 
33
- //#sourceMappingUrl=./extension_4.manifest.js.map
33
+ //# sourceMappingURL=./extension_4.manifest.js.map
@@ -342,4 +342,4 @@ const libraryManifest = {
342
342
  };
343
343
  const _default = libraryManifest;
344
344
 
345
- //#sourceMappingUrl=./library_1.manifest.js.map
345
+ //# sourceMappingURL=./library_1.manifest.js.map
@@ -680,4 +680,4 @@ const multiVersionManifest = {
680
680
  };
681
681
  const _default = multiVersionManifest;
682
682
 
683
- //#sourceMappingUrl=./multi-version_1.manifest.js.map
683
+ //# sourceMappingURL=./multi-version_1.manifest.js.map
@@ -351,4 +351,4 @@ const prefabManifest = {
351
351
  };
352
352
  const _default = prefabManifest;
353
353
 
354
- //#sourceMappingUrl=./prefab_1.manifest.js.map
354
+ //# sourceMappingURL=./prefab_1.manifest.js.map
@@ -388,4 +388,4 @@ const prefabManifest = {
388
388
  };
389
389
  const _default = prefabManifest;
390
390
 
391
- //#sourceMappingUrl=./prefab_2.manifest.js.map
391
+ //# sourceMappingURL=./prefab_2.manifest.js.map
@@ -323,6 +323,68 @@
323
323
  "path": "nonAmdB.js",
324
324
  "globalName": "nonAmdB",
325
325
  "globalDependencies": ["nonAmdB"]
326
+ },
327
+ "fallbackFlighted": {
328
+ "type": "component",
329
+ "version": "1.2.3",
330
+ "id": "00000000-0000-0000-0000-000000000000",
331
+ "fallbackVersion": {
332
+ "version": "0.0.1",
333
+ "condition": {
334
+ "switchType": "flight",
335
+ "id": 12345
336
+ }
337
+ }
338
+ },
339
+ "fallbackKillSwitched": {
340
+ "type": "component",
341
+ "version": "1.2.3",
342
+ "id": "00000000-0000-0000-0000-000000000000",
343
+ "fallbackVersion": {
344
+ "version": "0.0.1",
345
+ "condition": {
346
+ "switchType": "killswitch",
347
+ "id": "00000000-0000-0000-0000-000000000000"
348
+ }
349
+ }
350
+ },
351
+ "fallbackComplexExpression": {
352
+ "type": "component",
353
+ "version": "1.2.3",
354
+ "id": "00000000-0000-0000-0000-000000000000",
355
+ "fallbackVersion": {
356
+ "version": "0.0.1",
357
+ "condition": {
358
+ "xor": [
359
+ {
360
+ "or": [
361
+ {
362
+ "switchType": "flight",
363
+ "id": 12345
364
+ },
365
+ {
366
+ "not": {
367
+ "switchType": "killswitch",
368
+ "id": "00000000-0000-0000-0000-000000000000"
369
+ }
370
+ }
371
+ ]
372
+ },
373
+ {
374
+ "and": [
375
+ {
376
+ "switchType": "flight",
377
+ "id": 67890
378
+ },
379
+ {
380
+ "switchType": "killswitch",
381
+ "id": "11111111-1111-1111-1111-111111111111"
382
+ }
383
+ ]
384
+ }
385
+ ]
386
+ }
387
+ }
326
388
  }
327
389
  }
328
390
  },
@@ -338,6 +338,68 @@ const webpartManifest = {
338
338
  globalDependencies: [
339
339
  'nonAmdB'
340
340
  ]
341
+ },
342
+ fallbackFlighted: {
343
+ type: 'component',
344
+ version: '1.2.3',
345
+ id: '00000000-0000-0000-0000-000000000000',
346
+ fallbackVersion: {
347
+ version: '0.0.1',
348
+ condition: {
349
+ switchType: 'flight',
350
+ id: 12345
351
+ }
352
+ }
353
+ },
354
+ fallbackKillSwitched: {
355
+ type: 'component',
356
+ version: '1.2.3',
357
+ id: '00000000-0000-0000-0000-000000000000',
358
+ fallbackVersion: {
359
+ version: '0.0.1',
360
+ condition: {
361
+ switchType: 'killswitch',
362
+ id: '00000000-0000-0000-0000-000000000000'
363
+ }
364
+ }
365
+ },
366
+ fallbackComplexExpression: {
367
+ type: 'component',
368
+ version: '1.2.3',
369
+ id: '00000000-0000-0000-0000-000000000000',
370
+ fallbackVersion: {
371
+ version: '0.0.1',
372
+ condition: {
373
+ xor: [
374
+ {
375
+ or: [
376
+ {
377
+ switchType: 'flight',
378
+ id: 12345
379
+ },
380
+ {
381
+ not: {
382
+ switchType: 'killswitch',
383
+ id: '00000000-0000-0000-0000-000000000000'
384
+ }
385
+ }
386
+ ]
387
+ },
388
+ {
389
+ and: [
390
+ {
391
+ switchType: 'flight',
392
+ id: 67890
393
+ },
394
+ {
395
+ switchType: 'killswitch',
396
+ id: '11111111-1111-1111-1111-111111111111'
397
+ }
398
+ ]
399
+ }
400
+ ]
401
+ }
402
+ }
341
403
  }
342
404
  }
343
405
  },
@@ -357,4 +419,4 @@ const webpartManifest = {
357
419
  };
358
420
  const _default = webpartManifest;
359
421
 
360
- //#sourceMappingUrl=./webpart_1.manifest.js.map
422
+ //# sourceMappingURL=./webpart_1.manifest.js.map
@@ -337,6 +337,68 @@ const webpartManifest = {
337
337
  globalDependencies: [
338
338
  'nonAmdB'
339
339
  ]
340
+ },
341
+ fallbackFlighted: {
342
+ type: 'component',
343
+ version: '1.2.3',
344
+ id: '00000000-0000-0000-0000-000000000000',
345
+ fallbackVersion: {
346
+ version: '0.0.1',
347
+ condition: {
348
+ switchType: 'flight',
349
+ id: 12345
350
+ }
351
+ }
352
+ },
353
+ fallbackKillSwitched: {
354
+ type: 'component',
355
+ version: '1.2.3',
356
+ id: '00000000-0000-0000-0000-000000000000',
357
+ fallbackVersion: {
358
+ version: '0.0.1',
359
+ condition: {
360
+ switchType: 'killswitch',
361
+ id: '00000000-0000-0000-0000-000000000000'
362
+ }
363
+ }
364
+ },
365
+ fallbackComplexExpression: {
366
+ type: 'component',
367
+ version: '1.2.3',
368
+ id: '00000000-0000-0000-0000-000000000000',
369
+ fallbackVersion: {
370
+ version: '0.0.1',
371
+ condition: {
372
+ xor: [
373
+ {
374
+ or: [
375
+ {
376
+ switchType: 'flight',
377
+ id: 12345
378
+ },
379
+ {
380
+ not: {
381
+ switchType: 'killswitch',
382
+ id: '00000000-0000-0000-0000-000000000000'
383
+ }
384
+ }
385
+ ]
386
+ },
387
+ {
388
+ and: [
389
+ {
390
+ switchType: 'flight',
391
+ id: 67890
392
+ },
393
+ {
394
+ switchType: 'killswitch',
395
+ id: '11111111-1111-1111-1111-111111111111'
396
+ }
397
+ ]
398
+ }
399
+ ]
400
+ }
401
+ }
340
402
  }
341
403
  }
342
404
  },
@@ -395,4 +457,4 @@ const webpartManifest = {
395
457
  };
396
458
  const _default = webpartManifest;
397
459
 
398
- //#sourceMappingUrl=./webpart_2.manifest.js.map
460
+ //# sourceMappingURL=./webpart_2.manifest.js.map
@@ -105,7 +105,8 @@
105
105
  "shouldNotPreload": { "$ref": "any-value.schema.json" },
106
106
  "version": { "$ref": "any-value.schema.json" },
107
107
  "id": { "$ref": "any-value.schema.json" },
108
- "failoverPath": { "$ref": "any-value.schema.json" }
108
+ "failoverPath": { "$ref": "any-value.schema.json" },
109
+ "fallbackVersion": { "$ref": "any-value.schema.json" }
109
110
  },
110
111
  "additionalProperties": false
111
112
  },
@@ -145,6 +146,10 @@
145
146
  "title": "Failover Path",
146
147
  "description": "A path to the framework-supplied module in case the framework fails to load the requested version. This must be either a fully-qualified URL, or a path under the paths specified in the \"internalModuleBaseUrls\" field. If this field is not specified and the version is not available in the framework runtime, the closest matching version of the module will be provided instead.",
147
148
  "$ref": "#/definitions/path"
149
+ },
150
+
151
+ "fallbackVersion": {
152
+ "$ref": "component-fallback-version.schema.json"
148
153
  }
149
154
  },
150
155
  "additionalProperties": true
@@ -166,6 +166,65 @@
166
166
  }
167
167
  },
168
168
  "additionalProperties": false
169
+ },
170
+ "idleLoadComponents": {
171
+ "description": "A list of components that can be loaded on idle for performance optimization. These components generally used to support rendering the web part.",
172
+ "type": "array",
173
+ "items": {
174
+ "type": "object",
175
+ "additionalProperties": false,
176
+ "properties": {
177
+ "displayMode": {
178
+ "type": "string",
179
+ "enum": ["edit", "read"]
180
+ },
181
+ "priority": {
182
+ "type": "string",
183
+ "enum": ["high", "low"]
184
+ },
185
+ "componentId": {
186
+ "type": "string"
187
+ }
188
+ },
189
+ "required": ["priority", "componentId"]
190
+ }
191
+ },
192
+ "aiProperties": {
193
+ "type": "object",
194
+ "title": "References to AI properties and mapping definitions.",
195
+ "description": "Supports definition of web part AI properties and its mapping with existing property bag",
196
+ "required": ["structure", "mapping"],
197
+ "properties": {
198
+ "structure": {
199
+ "type": "object",
200
+ "title": "AI properties structure",
201
+ "description": "The structure of AI properties for the web part.",
202
+ "additionalProperties": false,
203
+ "required": ["id"],
204
+ "properties": {
205
+ "id": {
206
+ "type": "string",
207
+ "description": "The identifier for the AI properties structure.",
208
+ "pattern": "^\\$[^:]+:.+;$"
209
+ }
210
+ }
211
+ },
212
+ "mapping": {
213
+ "type": "object",
214
+ "title": "AI properties mapping",
215
+ "description": "The mapping of AI properties to existing property bag.",
216
+ "additionalProperties": false,
217
+ "required": ["id"],
218
+ "properties": {
219
+ "id": {
220
+ "type": "string",
221
+ "description": "The identifier for the AI properties mapping.",
222
+ "pattern": "^\\$[^:]+:.+;$"
223
+ }
224
+ }
225
+ }
226
+ },
227
+ "additionalProperties": false
169
228
  }
170
229
  },
171
230
  "additionalProperties": false
@@ -0,0 +1,106 @@
1
+ {
2
+ "id": "component-fallback-version.schema.json",
3
+ "title": "Component Fallback Version",
4
+ "description": "Represents a fallback version of a component that can be used under certain logical conditions, including flight and killswitch checks.",
5
+ "type": "object",
6
+ "required": ["version", "condition"],
7
+ "properties": {
8
+ "version": {
9
+ "description": "The version of the component to be used as a fallback.",
10
+ "oneOf": [{ "$ref": "semver.schema.json" }]
11
+ },
12
+ "condition": {
13
+ "description": "The condition under which the fallback version should be used. Supports logical operators and flight/killswitch checks.",
14
+ "$ref": "#/definitions/operatorOrSwitch"
15
+ }
16
+ },
17
+ "definitions": {
18
+ "operatorOrSwitch": {
19
+ "oneOf": [
20
+ {
21
+ "type": "object",
22
+ "required": ["and"],
23
+ "properties": {
24
+ "and": {
25
+ "type": "array",
26
+ "minItems": 1,
27
+ "items": { "$ref": "#/definitions/operatorOrSwitch" }
28
+ }
29
+ },
30
+ "additionalProperties": false
31
+ },
32
+ {
33
+ "type": "object",
34
+ "required": ["or"],
35
+ "properties": {
36
+ "or": {
37
+ "type": "array",
38
+ "minItems": 1,
39
+ "items": { "$ref": "#/definitions/operatorOrSwitch" }
40
+ }
41
+ },
42
+ "additionalProperties": false
43
+ },
44
+ {
45
+ "type": "object",
46
+ "required": ["xor"],
47
+ "properties": {
48
+ "xor": {
49
+ "type": "array",
50
+ "minItems": 2,
51
+ "maxItems": 2,
52
+ "items": { "$ref": "#/definitions/operatorOrSwitch" }
53
+ }
54
+ },
55
+ "additionalProperties": false
56
+ },
57
+ {
58
+ "type": "object",
59
+ "required": ["not"],
60
+ "properties": {
61
+ "not": { "$ref": "#/definitions/operatorOrSwitch" }
62
+ },
63
+ "additionalProperties": false
64
+ },
65
+ { "$ref": "#/definitions/flightOrKillSwitch" }
66
+ ]
67
+ },
68
+ "flightOrKillSwitch": {
69
+ "oneOf": [
70
+ {
71
+ "type": "object",
72
+ "required": ["switchType", "id"],
73
+ "properties": {
74
+ "switchType": {
75
+ "type": "string",
76
+ "enum": ["flight"],
77
+ "description": "Indicates this is a flight check."
78
+ },
79
+ "id": {
80
+ "type": "integer",
81
+ "description": "The numeric ID of the flight."
82
+ }
83
+ },
84
+ "additionalProperties": false
85
+ },
86
+ {
87
+ "type": "object",
88
+ "required": ["switchType", "id"],
89
+ "properties": {
90
+ "switchType": {
91
+ "type": "string",
92
+ "enum": ["killswitch"],
93
+ "description": "Indicates this is a killswitch check."
94
+ },
95
+ "id": {
96
+ "$ref": "guid.schema.json",
97
+ "description": "The GUID of the killswitch."
98
+ }
99
+ },
100
+ "additionalProperties": false
101
+ }
102
+ ]
103
+ }
104
+ },
105
+ "additionalProperties": false
106
+ }
@@ -1,6 +1,6 @@
1
1
  export * from './manifestSchemas/IClientSideApplicationManifest';
2
2
  export * from './manifestSchemas/IClientSideAssemblyManifest';
3
- export * from './manifestSchemas/IClientSideComponentLoaderConfiguration';
3
+ export type { IClientSideComponentLoaderConfiguration, IModuleConfiguration, IIntegrityPath, IModuleConfigurationBase, IComponentModuleConfiguration, IPathModuleConfiguration, ILocalizedPathModuleConfiguration, IComponentFallbackVersion as _IComponentFallbackVersion, IOperatorOrSwitch as _IOperatorOrSwitch, IFlightOrKillSwitch as _IFlightOrKillSwitch, IFlightedComponent as _IFlightedComponent, IKillSwitchComponent as _IKillSwitchComponent } from './manifestSchemas/IClientSideComponentLoaderConfiguration';
4
4
  export * from './manifestSchemas/IClientSideComponentManifest';
5
5
  export * from './manifestSchemas/IClientSideExtensionManifest';
6
6
  export * from './manifestSchemas/IClientSideLibraryManifest';