@microsoft/sp-module-interfaces 1.21.0-beta.0 → 1.21.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 (158) hide show
  1. package/dist/index-internal-beta.d.ts +15 -3
  2. package/dist/index-internal-public.d.ts +47 -2
  3. package/dist/index-internal.d.ts +15 -3
  4. package/lib-commonjs/index.js +31 -29
  5. package/lib-commonjs/manifestHelpers.js +22 -19
  6. package/lib-commonjs/manifestSchemaValidator.js +70 -84
  7. package/lib-commonjs/manifestSchemas/IAdaptiveCardExtensionManifest.js +5 -2
  8. package/lib-commonjs/manifestSchemas/IClientSideApplicationManifest.js +5 -2
  9. package/lib-commonjs/manifestSchemas/IClientSideAssemblyManifest.js +5 -2
  10. package/lib-commonjs/manifestSchemas/IClientSideComponentLoaderConfiguration.js +11 -3
  11. package/lib-commonjs/manifestSchemas/IClientSideComponentManifest.js +5 -2
  12. package/lib-commonjs/manifestSchemas/IClientSideExtensionManifest.js +5 -2
  13. package/lib-commonjs/manifestSchemas/IClientSideLibraryManifest.js +5 -2
  14. package/lib-commonjs/manifestSchemas/IClientSideManifestBase.js +10 -3
  15. package/lib-commonjs/manifestSchemas/IClientSideMultiVersionManifest.js +5 -2
  16. package/lib-commonjs/manifestSchemas/IClientSideWebPartManifest.js +62 -67
  17. package/lib-commonjs/manifestSchemas/ICommandSetExtensionManifest.js +5 -2
  18. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.js +5 -2
  19. package/lib-commonjs/manifestSchemas/ManifestType.js +18 -13
  20. package/lib-commonjs/manifestSchemas/examples/application_1.manifest.js +24 -6
  21. package/lib-commonjs/manifestSchemas/examples/application_2.manifest.js +28 -7
  22. package/lib-commonjs/manifestSchemas/examples/application_3.manifest.js +22 -5
  23. package/lib-commonjs/manifestSchemas/examples/assembly_1.manifest.js +18 -4
  24. package/lib-commonjs/manifestSchemas/examples/commandSet_1.manifest.js +15 -3
  25. package/lib-commonjs/manifestSchemas/examples/extension_1.manifest.js +15 -3
  26. package/lib-commonjs/manifestSchemas/examples/extension_2.manifest.js +15 -3
  27. package/lib-commonjs/manifestSchemas/examples/extension_3.manifest.js +15 -3
  28. package/lib-commonjs/manifestSchemas/examples/extension_4.manifest.js +15 -3
  29. package/lib-commonjs/manifestSchemas/examples/library_1.manifest.js +18 -4
  30. package/lib-commonjs/manifestSchemas/examples/multi-version_1.manifest.js +24 -6
  31. package/lib-commonjs/manifestSchemas/examples/prefab_1.manifest.js +27 -7
  32. package/lib-commonjs/manifestSchemas/examples/prefab_2.manifest.js +61 -9
  33. package/lib-commonjs/manifestSchemas/examples/prefabapp.manifest.json +37 -3
  34. package/lib-commonjs/manifestSchemas/examples/webpart_1.manifest.js +24 -6
  35. package/lib-commonjs/manifestSchemas/examples/webpart_2.manifest.js +47 -12
  36. package/lib-commonjs/manifestSchemas/jsonSchemas/prefab-app-manifest.schema.json +107 -3
  37. package/{lib-commonjs → lib-dts}/manifestSchemaValidator.d.ts +1 -1
  38. package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideWebPartManifest.d.ts +1 -3
  39. package/lib-dts/manifestSchemas/IPrefabAppManifest.d.ts +255 -0
  40. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/application_1.manifest.d.ts +1 -1
  41. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/application_2.manifest.d.ts +1 -1
  42. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/application_3.manifest.d.ts +1 -1
  43. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/assembly_1.manifest.d.ts +1 -1
  44. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/commandSet_1.manifest.d.ts +1 -1
  45. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/extension_1.manifest.d.ts +1 -1
  46. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/extension_2.manifest.d.ts +1 -1
  47. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/extension_3.manifest.d.ts +1 -1
  48. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/extension_4.manifest.d.ts +1 -1
  49. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/library_1.manifest.d.ts +1 -1
  50. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/multi-version_1.manifest.d.ts +1 -1
  51. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/prefab_1.manifest.d.ts +1 -1
  52. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/prefab_2.manifest.d.ts +1 -1
  53. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/webpart_1.manifest.d.ts +1 -1
  54. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/webpart_2.manifest.d.ts +1 -1
  55. package/{dist → lib-dts}/tsdoc-metadata.json +1 -1
  56. package/lib-esm/index.js +15 -0
  57. package/lib-esm/manifestHelpers.js +21 -0
  58. package/lib-esm/manifestSchemaValidator.js +135 -0
  59. package/lib-esm/manifestSchemas/IAdaptiveCardExtensionManifest.js +9 -0
  60. package/lib-esm/manifestSchemas/IClientSideApplicationManifest.js +5 -0
  61. package/lib-esm/manifestSchemas/IClientSideAssemblyManifest.js +7 -0
  62. package/lib-esm/manifestSchemas/IClientSideComponentLoaderConfiguration.js +17 -0
  63. package/lib-esm/manifestSchemas/IClientSideComponentManifest.js +27 -0
  64. package/lib-esm/manifestSchemas/IClientSideExtensionManifest.js +7 -0
  65. package/lib-esm/manifestSchemas/IClientSideLibraryManifest.js +7 -0
  66. package/lib-esm/manifestSchemas/IClientSideManifestBase.js +7 -0
  67. package/lib-esm/manifestSchemas/IClientSideMultiVersionManifest.js +25 -0
  68. package/lib-esm/manifestSchemas/IClientSideWebPartManifest.js +62 -0
  69. package/lib-esm/manifestSchemas/ICommandSetExtensionManifest.js +8 -0
  70. package/lib-esm/manifestSchemas/IPrefabAppManifest.js +7 -0
  71. package/lib-esm/manifestSchemas/ManifestType.js +15 -0
  72. package/lib-esm/manifestSchemas/examples/application.manifest.json +346 -0
  73. package/lib-esm/manifestSchemas/examples/application_1.manifest.js +344 -0
  74. package/lib-esm/manifestSchemas/examples/application_2.manifest.js +47 -0
  75. package/lib-esm/manifestSchemas/examples/application_3.manifest.js +42 -0
  76. package/lib-esm/manifestSchemas/examples/assembly.manifest.json +331 -0
  77. package/lib-esm/manifestSchemas/examples/assembly_1.manifest.js +336 -0
  78. package/lib-esm/manifestSchemas/examples/commandSet_1.manifest.js +42 -0
  79. package/lib-esm/manifestSchemas/examples/commandset.manifest.json +38 -0
  80. package/lib-esm/manifestSchemas/examples/extension.manifest.json +20 -0
  81. package/lib-esm/manifestSchemas/examples/extension_1.manifest.js +25 -0
  82. package/lib-esm/manifestSchemas/examples/extension_2.manifest.js +24 -0
  83. package/lib-esm/manifestSchemas/examples/extension_3.manifest.js +23 -0
  84. package/lib-esm/manifestSchemas/examples/extension_4.manifest.js +23 -0
  85. package/lib-esm/manifestSchemas/examples/library.manifest.json +330 -0
  86. package/lib-esm/manifestSchemas/examples/library_1.manifest.js +335 -0
  87. package/lib-esm/manifestSchemas/examples/multi-version_1.manifest.js +673 -0
  88. package/lib-esm/manifestSchemas/examples/multi-version_1.manifest.json +336 -0
  89. package/lib-esm/manifestSchemas/examples/prefab_1.manifest.js +344 -0
  90. package/lib-esm/manifestSchemas/examples/prefab_2.manifest.js +381 -0
  91. package/lib-esm/manifestSchemas/examples/prefabapp.manifest.json +379 -0
  92. package/lib-esm/manifestSchemas/examples/webpart.manifest.json +380 -0
  93. package/lib-esm/manifestSchemas/examples/webpart_1.manifest.js +350 -0
  94. package/lib-esm/manifestSchemas/examples/webpart_2.manifest.js +388 -0
  95. package/lib-esm/manifestSchemas/jsonSchemas/adaptive-card-extension-manifest.schema.json +230 -0
  96. package/lib-esm/manifestSchemas/jsonSchemas/any-value.schema.json +8 -0
  97. package/lib-esm/manifestSchemas/jsonSchemas/client-side-application-manifest.schema.json +138 -0
  98. package/lib-esm/manifestSchemas/jsonSchemas/client-side-assembly-manifest.schema.json +45 -0
  99. package/lib-esm/manifestSchemas/jsonSchemas/client-side-component-loader-configuration.schema.json +273 -0
  100. package/lib-esm/manifestSchemas/jsonSchemas/client-side-component-manifest.schema.json +131 -0
  101. package/lib-esm/manifestSchemas/jsonSchemas/client-side-extension-manifest.schema.json +61 -0
  102. package/lib-esm/manifestSchemas/jsonSchemas/client-side-library-manifest.schema.json +39 -0
  103. package/lib-esm/manifestSchemas/jsonSchemas/client-side-manifest-base.schema.json +25 -0
  104. package/lib-esm/manifestSchemas/jsonSchemas/client-side-multi-version-manifest.schema.json +118 -0
  105. package/lib-esm/manifestSchemas/jsonSchemas/client-side-web-part-manifest.schema.json +348 -0
  106. package/lib-esm/manifestSchemas/jsonSchemas/command-set-extension-manifest.schema.json +81 -0
  107. package/lib-esm/manifestSchemas/jsonSchemas/guid.schema.json +6 -0
  108. package/lib-esm/manifestSchemas/jsonSchemas/localized-string.schema.json +33 -0
  109. package/lib-esm/manifestSchemas/jsonSchemas/prefab-app-manifest.schema.json +176 -0
  110. package/lib-esm/manifestSchemas/jsonSchemas/semver.schema.json +8 -0
  111. package/lib-esm/manifestSchemas/remote/draft-04.schema.json +137 -0
  112. package/lib-esm/manifestSchemas/remote/site-design-script-actions.schema.json +1158 -0
  113. package/package.json +27 -7
  114. package/lib-commonjs/index.d.ts.map +0 -1
  115. package/lib-commonjs/manifestHelpers.d.ts.map +0 -1
  116. package/lib-commonjs/manifestSchemaValidator.d.ts.map +0 -1
  117. package/lib-commonjs/manifestSchemas/IAdaptiveCardExtensionManifest.d.ts.map +0 -1
  118. package/lib-commonjs/manifestSchemas/IClientSideApplicationManifest.d.ts.map +0 -1
  119. package/lib-commonjs/manifestSchemas/IClientSideAssemblyManifest.d.ts.map +0 -1
  120. package/lib-commonjs/manifestSchemas/IClientSideComponentLoaderConfiguration.d.ts.map +0 -1
  121. package/lib-commonjs/manifestSchemas/IClientSideComponentManifest.d.ts.map +0 -1
  122. package/lib-commonjs/manifestSchemas/IClientSideExtensionManifest.d.ts.map +0 -1
  123. package/lib-commonjs/manifestSchemas/IClientSideLibraryManifest.d.ts.map +0 -1
  124. package/lib-commonjs/manifestSchemas/IClientSideManifestBase.d.ts.map +0 -1
  125. package/lib-commonjs/manifestSchemas/IClientSideMultiVersionManifest.d.ts.map +0 -1
  126. package/lib-commonjs/manifestSchemas/IClientSideWebPartManifest.d.ts.map +0 -1
  127. package/lib-commonjs/manifestSchemas/ICommandSetExtensionManifest.d.ts.map +0 -1
  128. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.d.ts +0 -76
  129. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.d.ts.map +0 -1
  130. package/lib-commonjs/manifestSchemas/ManifestType.d.ts.map +0 -1
  131. package/lib-commonjs/manifestSchemas/examples/application_1.manifest.d.ts.map +0 -1
  132. package/lib-commonjs/manifestSchemas/examples/application_2.manifest.d.ts.map +0 -1
  133. package/lib-commonjs/manifestSchemas/examples/application_3.manifest.d.ts.map +0 -1
  134. package/lib-commonjs/manifestSchemas/examples/assembly_1.manifest.d.ts.map +0 -1
  135. package/lib-commonjs/manifestSchemas/examples/commandSet_1.manifest.d.ts.map +0 -1
  136. package/lib-commonjs/manifestSchemas/examples/extension_1.manifest.d.ts.map +0 -1
  137. package/lib-commonjs/manifestSchemas/examples/extension_2.manifest.d.ts.map +0 -1
  138. package/lib-commonjs/manifestSchemas/examples/extension_3.manifest.d.ts.map +0 -1
  139. package/lib-commonjs/manifestSchemas/examples/extension_4.manifest.d.ts.map +0 -1
  140. package/lib-commonjs/manifestSchemas/examples/library_1.manifest.d.ts.map +0 -1
  141. package/lib-commonjs/manifestSchemas/examples/multi-version_1.manifest.d.ts.map +0 -1
  142. package/lib-commonjs/manifestSchemas/examples/prefab_1.manifest.d.ts.map +0 -1
  143. package/lib-commonjs/manifestSchemas/examples/prefab_2.manifest.d.ts.map +0 -1
  144. package/lib-commonjs/manifestSchemas/examples/webpart_1.manifest.d.ts.map +0 -1
  145. package/lib-commonjs/manifestSchemas/examples/webpart_2.manifest.d.ts.map +0 -1
  146. /package/{lib-commonjs → lib-dts}/index.d.ts +0 -0
  147. /package/{lib-commonjs → lib-dts}/manifestHelpers.d.ts +0 -0
  148. /package/{lib-commonjs → lib-dts}/manifestSchemas/IAdaptiveCardExtensionManifest.d.ts +0 -0
  149. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideApplicationManifest.d.ts +0 -0
  150. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideAssemblyManifest.d.ts +0 -0
  151. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideComponentLoaderConfiguration.d.ts +0 -0
  152. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideComponentManifest.d.ts +0 -0
  153. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideExtensionManifest.d.ts +0 -0
  154. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideLibraryManifest.d.ts +0 -0
  155. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideManifestBase.d.ts +0 -0
  156. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideMultiVersionManifest.d.ts +0 -0
  157. /package/{lib-commonjs → lib-dts}/manifestSchemas/ICommandSetExtensionManifest.d.ts +0 -0
  158. /package/{lib-commonjs → lib-dts}/manifestSchemas/ManifestType.d.ts +0 -0
@@ -0,0 +1,39 @@
1
+ {
2
+ "id": "client-side-library-manifest.schema.json",
3
+ "title": "Client-side library manifest",
4
+ "description": "A client-side library is a library containing reusable JavaScript code and/or resources.",
5
+
6
+ "type": "object",
7
+ "allOf": [
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "$schema": { "type": "string" },
12
+
13
+ "manifestVersion": { "$ref": "any-value.schema.json" },
14
+ "id": { "$ref": "any-value.schema.json" },
15
+ "alias": { "$ref": "any-value.schema.json" },
16
+ "version": { "$ref": "any-value.schema.json" },
17
+ "loaderConfig": { "$ref": "any-value.schema.json" },
18
+ "componentType": { "$ref": "any-value.schema.json" },
19
+ "preloadComponents": { "$ref": "any-value.schema.json" }
20
+ },
21
+ "additionalProperties": false
22
+ },
23
+ {
24
+ "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest"
25
+ },
26
+ {
27
+ "type": "object",
28
+ "required": ["componentType"],
29
+ "properties": {
30
+ "componentType": {
31
+ "type": "string",
32
+ "enum": ["Library"]
33
+ }
34
+ },
35
+
36
+ "additionalProperties": true
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "id": "client-side-manifest-base.schema.json",
3
+ "title": "Client-side component manifest base",
4
+ "description": "Properties common to all deployable manifests.",
5
+
6
+ "type": "object",
7
+ "required": ["id", "manifestVersion"],
8
+
9
+ "properties": {
10
+ "manifestVersion": {
11
+ "type": "integer",
12
+ "title": "Manifest Version",
13
+ "description": "Version of the component manifest schema. The value of this field is controlled by Microsoft. The purpose of this field is to help manage upgrades of the component manifest schema. A component developer needs to only confirm that they are using the correct value per the manifest schema. Please read the \"manifest upgrade rules\" for more details on when the schema could change. Note, manifest schema version upgrade will be considered a big API change event and will be advertised broadly.",
14
+ "minimum": 2
15
+ },
16
+
17
+ "id": {
18
+ "$ref": "guid.schema.json",
19
+ "title": "ID",
20
+ "description": "A universally unique component id. Each client side component is required to have this id. Once an id has been used for a component, it cannot be changed. A change in this value is treated same as the creation of a new component. Two components are never expected to have the same id."
21
+ }
22
+ },
23
+
24
+ "additionalProperties": true
25
+ }
@@ -0,0 +1,118 @@
1
+ {
2
+ "id": "client-side-multi-version-manifest.schema.json",
3
+ "title": "Client-side multi-version manifest",
4
+ "description": "Multi-version manifests are defined by this schema.",
5
+
6
+ "type": "object",
7
+ "allOf": [
8
+ {
9
+ "oneOf": [
10
+ {
11
+ "type": "object",
12
+ "required": ["versions"],
13
+ "additionalProperties": true,
14
+ "properties": {
15
+ "versions": {
16
+ "title": "Versions",
17
+ "description": "A mapping of version numbers to manifests. This field is used to roll all versions of a component together into a single manifest.",
18
+ "type": "object",
19
+ "patternProperties": {
20
+ "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$": {
21
+ "$ref": "client-side-application-manifest.schema.json"
22
+ }
23
+ }
24
+ }
25
+ }
26
+ },
27
+ {
28
+ "type": "object",
29
+ "required": ["versions"],
30
+ "additionalProperties": true,
31
+ "properties": {
32
+ "versions": {
33
+ "title": "Versions",
34
+ "description": "A mapping of version numbers to manifests. This field is used to roll all versions of a component together into a single manifest.",
35
+ "type": "object",
36
+ "patternProperties": {
37
+ "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$": {
38
+ "$ref": "client-side-assembly-manifest.schema.json"
39
+ }
40
+ }
41
+ }
42
+ }
43
+ },
44
+ {
45
+ "type": "object",
46
+ "required": ["versions"],
47
+ "additionalProperties": true,
48
+ "properties": {
49
+ "versions": {
50
+ "title": "Versions",
51
+ "description": "A mapping of version numbers to manifests. This field is used to roll all versions of a component together into a single manifest.",
52
+ "type": "object",
53
+ "patternProperties": {
54
+ "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$": {
55
+ "$ref": "client-side-extension-manifest.schema.json"
56
+ }
57
+ }
58
+ }
59
+ }
60
+ },
61
+ {
62
+ "type": "object",
63
+ "required": ["versions"],
64
+ "additionalProperties": true,
65
+ "properties": {
66
+ "versions": {
67
+ "title": "Versions",
68
+ "description": "A mapping of version numbers to manifests. This field is used to roll all versions of a component together into a single manifest.",
69
+ "type": "object",
70
+ "patternProperties": {
71
+ "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$": {
72
+ "$ref": "client-side-library-manifest.schema.json"
73
+ }
74
+ }
75
+ }
76
+ }
77
+ },
78
+ {
79
+ "type": "object",
80
+ "required": ["versions"],
81
+ "additionalProperties": true,
82
+ "properties": {
83
+ "versions": {
84
+ "title": "Versions",
85
+ "description": "A mapping of version numbers to manifests. This field is used to roll all versions of a component together into a single manifest.",
86
+ "type": "object",
87
+ "patternProperties": {
88
+ "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$": {
89
+ "$ref": "client-side-web-part-manifest.schema.json"
90
+ }
91
+ }
92
+ }
93
+ }
94
+ },
95
+ {
96
+ "type": "object",
97
+ "required": ["versions"],
98
+ "additionalProperties": true,
99
+ "properties": {
100
+ "versions": {
101
+ "title": "Versions",
102
+ "description": "A mapping of version numbers to manifests. This field is used to roll all versions of a component together into a single manifest.",
103
+ "type": "object",
104
+ "patternProperties": {
105
+ "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$": {
106
+ "$ref": "command-set-extension-manifest.schema.json"
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
112
+ ]
113
+ },
114
+ {
115
+ "$ref": "client-side-manifest-base.schema.json"
116
+ }
117
+ ]
118
+ }
@@ -0,0 +1,348 @@
1
+ {
2
+ "id": "client-side-web-part-manifest.schema.json",
3
+ "title": "Client-side webpart manifest",
4
+ "description": "A client-side webpart is a drop-in control that is part of the end user page authoring experience.",
5
+
6
+ "definitions": {
7
+ "propertyNamesArray": {
8
+ "type": "array",
9
+ "minItems": 0,
10
+ "items": {
11
+ "type": "string",
12
+ "minLength": 1
13
+ }
14
+ },
15
+
16
+ "predefinedGroups": {
17
+ "oneOf": [
18
+ {
19
+ "title": "Text, media, and content",
20
+ "description": "This group includes web parts that display text, multi-media, documents, information from the web, and other rich content.",
21
+ "type": "string",
22
+ "pattern": "^cf066440-0614-43d6-98ae-0b31cf14c7c3$"
23
+ },
24
+ {
25
+ "title": "Documents, lists, and libraries",
26
+ "description": "This group includes web parts that organize, group, and filter content to help users discover information.",
27
+ "type": "string",
28
+ "pattern": "^1edbd9a8-0bfb-4aa2-9afd-14b8c45dd489$"
29
+ },
30
+ {
31
+ "title": "Feeds",
32
+ "description": "This group includes web parts that facilitate information sharing, team work, and social interactions.",
33
+ "type": "string",
34
+ "pattern": "^75e22ed5-fa14-4829-850a-c890608aca2d$"
35
+ },
36
+ {
37
+ "title": "News, people and events",
38
+ "description": "This group includes web parts that empower team productivity with the use of planning and process tools.",
39
+ "type": "string",
40
+ "pattern": "^1bc7927e-4a5e-4520-b540-71305c79c20a$"
41
+ },
42
+ {
43
+ "title": "Data Analysis",
44
+ "description": "This group includes web parts for tracking and analyzing data, and for integrating business flow with pages.",
45
+ "type": "string",
46
+ "pattern": "^4aca9e90-eff5-4fa1-bac7-728f5f157b66$"
47
+ },
48
+ {
49
+ "title": "Regional information",
50
+ "description": "This group includes web parts that display information based on current region and geographical location",
51
+ "type": "string",
52
+ "pattern": "^cfc8bda5-cb9b-49e3-8526-2ee6e52b256a$"
53
+ },
54
+ {
55
+ "title": "Advanced",
56
+ "description": "This group includes web parts not in other categories.",
57
+ "type": "string",
58
+ "pattern": "^5c03119e-3074-46fd-976b-c60198311f70$"
59
+ }
60
+ ]
61
+ }
62
+ },
63
+
64
+ "type": "object",
65
+ "allOf": [
66
+ {
67
+ "type": "object",
68
+ "properties": {
69
+ "$schema": { "type": "string" },
70
+
71
+ "manifestVersion": { "$ref": "any-value.schema.json" },
72
+ "id": { "$ref": "any-value.schema.json" },
73
+ "alias": { "$ref": "any-value.schema.json" },
74
+ "properties": { "$ref": "any-value.schema.json" },
75
+ "version": { "$ref": "any-value.schema.json" },
76
+ "loaderConfig": { "$ref": "any-value.schema.json" },
77
+ "preconfiguredEntries": { "$ref": "any-value.schema.json" },
78
+ "componentType": { "$ref": "any-value.schema.json" },
79
+ "searchablePropertyNames": { "$ref": "any-value.schema.json" },
80
+ "linkPropertyNames": { "$ref": "any-value.schema.json" },
81
+ "imageLinkPropertyNames": { "$ref": "any-value.schema.json" },
82
+ "preloadComponents": { "$ref": "any-value.schema.json" },
83
+ "requiredCapabilities": { "$ref": "any-value.schema.json" },
84
+ "requiresCustomScript": { "$ref": "any-value.schema.json" },
85
+ "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" },
86
+ "loadLegacyFabricCss": { "$ref": "any-value.schema.json" },
87
+ "canUpdateConfiguration": {
88
+ "type": "boolean",
89
+ "title": "Can Update Configuration",
90
+ "description": "If set to \"true\", this web part uses the property pane to update the configuration of a web part."
91
+ },
92
+ "disabledOnClassicSharepoint": {
93
+ "type": "boolean",
94
+ "title": "Disabled On Classic Sharepoint",
95
+ "description": "If set to \"true\", this web part is disabled on Classic Sharepoint pages."
96
+ },
97
+ "experimentalData": {
98
+ "type": "object",
99
+ "title": "Experimental property bag",
100
+ "description": "Only use for properties not ready for production."
101
+ },
102
+ "hiddenFromToolbox": {
103
+ "type": "boolean",
104
+ "title": "Hidden from the modern SharePoint toolbox",
105
+ "description": "If set to \"true\", this web part will not be visible on the modern SharePoint toolbox."
106
+ },
107
+ "supportsFullBleed": {
108
+ "type": "boolean",
109
+ "title": "Supports full bleed display experience",
110
+ "description": "If set to \"true\", this web part supports and has been tested for full bleed experience."
111
+ },
112
+ "isolationLevel": {
113
+ "type": "string",
114
+ "title": "Isolation Level",
115
+ "description": "Describes the level of isolation needed for the \"WebPart\".",
116
+ "enum": ["None", "DOMIsolation", "DomainIsolation"]
117
+ },
118
+ "supportsThemeVariants": {
119
+ "type": "boolean",
120
+ "title": "Supports theme variants experience",
121
+ "description": "If set to \"true\", this web part supports and has been tested for the theme variants experience."
122
+ },
123
+ "useFallbackWhenPropertiesUpdatedExternally": {
124
+ "type": "boolean",
125
+ "title": "Use fallback when properties updated externally",
126
+ "description": "If true, the web part will be disposed and reloaded when the web part data is updated by an external source. If false, the web part data will be deserialized and the properties of the web part will be updated, onAfterPropertiesUpdatedExternally will be executed. If undefined, web parts developed with SPFx version below 1.9 will default to true and web parts developed with a SPFx version 1.9 or greater will default to false."
127
+ },
128
+ "supportedHosts": {
129
+ "description": "An array indicates the web part supports any of following hosts. If this property is missing the default is SharePointFullPage",
130
+ "type": "array",
131
+ "items": {
132
+ "type": "string",
133
+ "enum": [
134
+ "SharePointFullPage",
135
+ "SharePointWebPart",
136
+ "TeamsTab",
137
+ "TeamsPersonalApp",
138
+ "TeamsMeetingApp"
139
+ ]
140
+ }
141
+ },
142
+ "supportsSelfFramingInTeams": {
143
+ "type": "boolean",
144
+ "title": "Allow to iframe pages from the same SharePoint tenant (domain)",
145
+ "description": "If set to \"true\", this web part can have iframed pages from the same tenant (domain). The flag is only applicable to web parts that are hosted as Teams applications."
146
+ },
147
+ "flexibleLayoutSizing": {
148
+ "type": "object",
149
+ "title": "Flexible Layout Sizing Data",
150
+ "description": "Defines the default column width, row height, and dynamic resize support for the webpart when in a flexible layout.",
151
+ "properties": {
152
+ "supportsDynamicResizing": {
153
+ "type": "boolean",
154
+ "title": "Supports Dynamic Resizing",
155
+ "description": "If set to \"true\", this web part can resize to any width between minimum and total number of columns. Otherwise, it follows slot sizing logic."
156
+ },
157
+ "defaultColumnWidth": {
158
+ "type": "number",
159
+ "title": "Default Column Width",
160
+ "description": "The default width for the web part measured in number of flexible layout columns"
161
+ },
162
+ "defaultRowHeight": {
163
+ "type": "number",
164
+ "title": "Default Row Height",
165
+ "description": "The default height for the web part measured in number of flexible layout rows."
166
+ }
167
+ },
168
+ "additionalProperties": false
169
+ }
170
+ },
171
+ "additionalProperties": false
172
+ },
173
+ {
174
+ "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest"
175
+ },
176
+ {
177
+ "type": "object",
178
+ "required": ["preconfiguredEntries", "componentType"],
179
+ "properties": {
180
+ "componentType": {
181
+ "type": "string",
182
+ "enum": ["WebPart"]
183
+ },
184
+
185
+ "searchablePropertyNames": {
186
+ "title": "Searchable Property Names",
187
+ "description": "List of names of Web Part properties that need to be indexed for search.",
188
+ "$ref": "#/definitions/propertyNamesArray"
189
+ },
190
+
191
+ "linkPropertyNames": {
192
+ "title": "Link Property Names",
193
+ "description": "(Deprecated) Please use Web Part propertiesMetadata field instead.",
194
+ "$ref": "#/definitions/propertyNamesArray"
195
+ },
196
+
197
+ "imageLinkPropertyNames": {
198
+ "title": "Image Link Property Names",
199
+ "description": "(Deprecated) Please use Web Part propertiesMetadata field instead.",
200
+ "$ref": "#/definitions/propertyNamesArray"
201
+ },
202
+
203
+ "requiredCapabilities": {
204
+ "title": "Required Capabilities",
205
+ "description": "The set of capabilities this web part requires from the host page in order to be usable. If the host does not support one of the required capabilities, the web part will not be visible in the toolbox.",
206
+ "type": "object",
207
+ "additionalProperties": false,
208
+ "properties": {
209
+ "BingMapsKey": {
210
+ "description": "A boolean flag indicates if the web part requires the Bing maps key to be available in the site. The Bing maps credential key can be used to show the Bing maps control according to a provided coordinate.",
211
+ "type": "boolean"
212
+ },
213
+ "AuthenticationModel": {
214
+ "description": "An array indicates the web part requires any of following authentication models to be available in the site. The authentication model can be used to connect to Microsoft Graph, O365 connecter, etc.",
215
+ "type": "array",
216
+ "items": {
217
+ "type": "string",
218
+ "enum": ["OpenIDConnect", "Federated"]
219
+ }
220
+ }
221
+ }
222
+ },
223
+
224
+ "preconfiguredEntries": {
225
+ "title": "Pre-configured Entries",
226
+ "description": "A Web Part can have pre-configured properties like the title, description, toolbox group name and Web Part specific custom properties.",
227
+ "type": "array",
228
+ "minItems": 1,
229
+ "items": {
230
+ "description": "This interface specifies the set of properties that can be pre-configured by a Web Part developer. Each pre-configured instance of the Web Part will need a copy of these properties. Organization admins and content authors can modify these properties on a need basis.",
231
+ "type": "object",
232
+
233
+ "properties": {
234
+ "title": {
235
+ "title": "Title",
236
+ "description": "Title of the web part represented as a single a dictionary of locale keys to title values. This value will be displayed to the user in the toolbox. A dictionary must contain a \"default\" key. This title should be used in the Toolbox and other display areas. The Web Part developer may give an initial title to the webpart. The organization admin and page author will have the ability to change this title as per need.",
237
+ "$ref": "localized-string.schema.json"
238
+ },
239
+
240
+ "description": {
241
+ "title": "Description",
242
+ "description": "Description of the web part represented as a dictionary of locale keys to description values. This value will be displayed to the user in the toolbox. A dictionary must contain a 'default' key. This description should be used in the Toolbox tooltip and other display areas. The Web Part developer may give an initial description to the webpart. The organization admin and page author will have the ability to change this description as per need.",
243
+ "$ref": "localized-string.schema.json"
244
+ },
245
+
246
+ "officeFabricIconFontName": {
247
+ "title": "Office Fabric Icon Name",
248
+ "description": " The icon for the Web Part, to be displayed in the toolbox, represented as a character name in the Office 365 icon font file. The icon font is specified here: https://aka.ms/uifabric-icons. If this field has a value, the 'iconImageUrl' field will be ignored.",
249
+ "type": "string",
250
+ "minLength": 1
251
+ },
252
+
253
+ "iconImageUrl": {
254
+ "title": "Icon Image URL",
255
+ "description": " The icon for the WebPart, to be displayed in the toolbox, represented an image URL. The image at the URL must be exactly 38x38 px. If the 'officeFabricIconName' field does not have a value, this field must have a value.",
256
+ "type": "string",
257
+ "minLength": 10
258
+ },
259
+
260
+ "fullPageAppIconImageUrl": {
261
+ "title": "App Page Icon Image URL",
262
+ "description": "The icon for the Application pages, to be displayed in the new Page experience, represented an image URL. The image at the URL should be approximately 195x110 px. If this field is not defined then the iconimageUrl is used instead.",
263
+ "type": "string",
264
+ "minLength": 10
265
+ },
266
+
267
+ "groupId": {
268
+ "title": "Group ID",
269
+ "description": "The group id to determine which modern group contains the web part in modern site page. The SharePoint Framework reserves group ids for predefined groups. The developer can pick one from those groups. If the developer fills an id not in the predefined groups, it falls back to Other group.",
270
+ "type": "string",
271
+ "anyOf": [
272
+ {
273
+ "title": "Predefined Group",
274
+ "$ref": "#/definitions/predefinedGroups"
275
+ },
276
+ {
277
+ "description": "If the group ID is not from the predefined group list, the web part will go to Other group.",
278
+ "$ref": "guid.schema.json"
279
+ }
280
+ ]
281
+ },
282
+
283
+ "group": {
284
+ "title": "Group",
285
+ "description": "The group name in web part picker to contain the web part in the classic page. If no value is provided, then the web part will be displayed in the Miscellaneous group.",
286
+ "$ref": "localized-string.schema.json"
287
+ },
288
+
289
+ "tags": {
290
+ "title": "Tags",
291
+ "description": "This field is used to tag a web part with keywords that are different from the web part group name. Tags can be used for categorization and searching of web parts. For example, in the web part toolbox.",
292
+ "type": "array",
293
+ "maxItems": 10,
294
+ "items": {
295
+ "$ref": "localized-string.schema.json"
296
+ }
297
+ },
298
+
299
+ "properties": {
300
+ "title": "Properties",
301
+ "description": "Every Web Part is expected to have some custom properties. e.g. an image Web Part may have the image url and caption text as custom properties, a list Web Part may have the list id and list title as custom properties, and so on.",
302
+ "$ref": "any-value.schema.json"
303
+ },
304
+
305
+ "dataVersion": {
306
+ "title": "Data Version",
307
+ "description": "Set a data version for this preconfigured entry. This is optional and can be used in cases where the SPPKG is updated independently from code (e.g. hosted on a CDN). Web Parts can read this value for backwards compatibility with out of date default properties.",
308
+ "$ref": "any-value.schema.json"
309
+ }
310
+ },
311
+
312
+ "anyOf": [
313
+ {
314
+ "required": ["title", "description", "officeFabricIconFontName", "groupId", "properties"]
315
+ },
316
+ {
317
+ "required": ["title", "description", "iconImageUrl", "groupId", "properties"]
318
+ },
319
+ {
320
+ "required": ["title", "description", "fullPageAppIconImageUrl", "groupId", "properties"]
321
+ }
322
+ ],
323
+
324
+ "additionalProperties": false
325
+ }
326
+ },
327
+
328
+ "propertiesMetadata": {
329
+ "additionalProperties": false,
330
+ "type": "object",
331
+ "required": ["current"],
332
+ "properties": {
333
+ "current": {
334
+ "type": "object",
335
+ "additionalProperties": true
336
+ }
337
+ }
338
+ },
339
+ "jsonSchema": {
340
+ "additionalProperties": true,
341
+ "type": "object"
342
+ }
343
+ },
344
+
345
+ "additionalProperties": true
346
+ }
347
+ ]
348
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "id": "command-set-extension-manifest.schema.json",
3
+ "title": "Command set extension manifest",
4
+ "description": "A client-side extension that defines a set of custom commands that can be shown in a menu, tool bar, etc.",
5
+
6
+ "type": "object",
7
+ "allOf": [
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "$schema": { "type": "string" },
12
+
13
+ "manifestVersion": { "$ref": "any-value.schema.json" },
14
+ "id": { "$ref": "any-value.schema.json" },
15
+ "alias": { "$ref": "any-value.schema.json" },
16
+ "version": { "$ref": "any-value.schema.json" },
17
+ "loaderConfig": { "$ref": "any-value.schema.json" },
18
+ "componentType": { "$ref": "any-value.schema.json" },
19
+ "preloadComponents": { "$ref": "any-value.schema.json" },
20
+ "requiresCustomScript": { "$ref": "any-value.schema.json" },
21
+ "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" },
22
+ "extensionType": {
23
+ "title": "Client-side Extension Type",
24
+ "description": "For a command set, the extension type must be one of these values: ListViewCommandSet",
25
+ "type": "string",
26
+ "enum": ["ListViewCommandSet"]
27
+ },
28
+ "items": { "$ref": "any-value.schema.json" }
29
+ },
30
+ "additionalProperties": false
31
+ },
32
+ {
33
+ "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest"
34
+ },
35
+ {
36
+ "$ref": "client-side-extension-manifest.schema.json#/definitions/clientSideExtensionManifest"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "required": ["items"],
41
+ "properties": {
42
+ "items": {
43
+ "type": "object",
44
+ "title": "Items",
45
+ "description": "A table of items defined by this command set. The object key is the Item ID. The Item ID is a unique identifier that event handlers use to recognize the item. The identifier must consist of upper-case letters, numbers, and underscores. Example: \"SHOW_INFO\"",
46
+ "patternProperties": {
47
+ "^[A-Z0-9_]+$": {
48
+ "type": "object",
49
+ "required": ["title", "type"],
50
+ "properties": {
51
+ "title": {
52
+ "title": "Title",
53
+ "description": "A short label to be displayed by the associated button, menu item, etc. Example: \"Show information\"",
54
+ "$ref": "localized-string.schema.json"
55
+ },
56
+ "type": {
57
+ "type": "string",
58
+ "enum": ["command"],
59
+ "title": "Type",
60
+ "description": "Type of the item. Currently only \"command\" is allowed."
61
+ },
62
+ "ariaLabel": {
63
+ "title": "ARIA Label",
64
+ "description": "Custom accessibility text for the browser's \"aria-label\" attribute. If omitted, the title property will be used by default.",
65
+ "$ref": "localized-string.schema.json"
66
+ },
67
+ "iconImageUrl": {
68
+ "type": "string",
69
+ "title": "Icon Image URL",
70
+ "description": "An optional URL for an image to be displayed next to the item. The requirements for this image are defined by the type of extension; some extension types may not display the image at all."
71
+ }
72
+ },
73
+ "additionalProperties": false
74
+ }
75
+ }
76
+ }
77
+ },
78
+ "additionalProperties": true
79
+ }
80
+ ]
81
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "id": "guid.schema.json",
3
+
4
+ "type": "string",
5
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
6
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "id": "localized-string.schema.json",
3
+
4
+ "type": "object",
5
+ "oneOf": [
6
+ {
7
+ "required": ["default"]
8
+ },
9
+ {
10
+ "required": ["id"]
11
+ }
12
+ ],
13
+ "properties": {
14
+ "default": {
15
+ "title": "Default string",
16
+ "description": "String to be used if a locale doesn't exist",
17
+ "type": "string",
18
+ "minLength": 1
19
+ },
20
+ "id": {
21
+ "title": "Id for the localized string",
22
+ "description": "Id for the localized string in the form '$<moduleName>:<expression>;'",
23
+ "type": "string",
24
+ "minLength": 1,
25
+ "pattern": "^\\$[^:]+:.+;$"
26
+ }
27
+ },
28
+ "additionalProperties": {
29
+ "title": "Localized string",
30
+ "type": "string",
31
+ "minLength": 1
32
+ }
33
+ }