@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
@@ -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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/sp-module-interfaces",
3
- "version": "1.21.1",
3
+ "version": "1.22.0-beta.2",
4
4
  "description": "SharePoint Framework module interfaces",
5
5
  "license": "https://aka.ms/spfx/license",
6
6
  "homepage": "http://aka.ms/spfx",
@@ -34,13 +34,13 @@
34
34
  "tsdocFlavor": "AEDoc"
35
35
  },
36
36
  "dependencies": {
37
- "@rushstack/node-core-library": "5.12.0",
37
+ "@rushstack/node-core-library": "5.14.0",
38
38
  "z-schema": "6.0.2"
39
39
  },
40
40
  "devDependencies": {
41
- "@rushstack/heft": "0.71.0",
41
+ "@rushstack/heft": "0.74.3",
42
42
  "eslint": "8.57.1",
43
- "@msinternal/internal-node-rig": "0.1.0"
43
+ "@msinternal/internal-no-asset-postprocess-node-rig": "0.1.0"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "heft test --clean",