@zxncij2390/monorepo3 3.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (921) hide show
  1. package/.eslintignore +16 -0
  2. package/.eslintrc.cjs +150 -0
  3. package/.github/ISSUE_TEMPLATE/bug-report.yml +178 -0
  4. package/.github/ISSUE_TEMPLATE/enhancement.yml +99 -0
  5. package/.github/ISSUE_TEMPLATE/question.yml +72 -0
  6. package/.github/ISSUE_TEMPLATE.md +39 -0
  7. package/.github/PULL_REQUEST_TEMPLATE.md +24 -0
  8. package/.github/workflows/lock.yml +18 -0
  9. package/.github/workflows/publish-buildsystem.yml +34 -0
  10. package/.github/workflows/publish-docs.yml +21 -0
  11. package/.github/workflows/publish.yml +40 -0
  12. package/.github/workflows/pull_request.yaml +28 -0
  13. package/.github/workflows/push.yaml +32 -0
  14. package/.github/workflows/v3-nightly.yml +40 -0
  15. package/.mocharc.cjs +68 -0
  16. package/.vscode/launch.json +103 -0
  17. package/.vscode/settings.json +17 -0
  18. package/.vscode/tasks.json +124 -0
  19. package/AUTHORS +13 -0
  20. package/CHANGELOG.md +33 -0
  21. package/CODE_OF_CONDUCT.md +6 -0
  22. package/CONTRIBUTING.md +9 -0
  23. package/LICENSE +25 -0
  24. package/README.md +66 -0
  25. package/buildsystem-config.ts +146 -0
  26. package/debug/launch/graph.ts +20 -0
  27. package/debug/launch/main.ts +38 -0
  28. package/debug/launch/setup.ts +50 -0
  29. package/debug/launch/sp.ts +21 -0
  30. package/debug/launch/tsconfig.json +27 -0
  31. package/debug/serve/main.ts +47 -0
  32. package/debug/serve/plumbing/local-module-resolver-plugin.ts +68 -0
  33. package/debug/serve/plumbing/run.ts +24 -0
  34. package/debug/serve/plumbing/serve.ts +27 -0
  35. package/debug/serve/plumbing/webpack.config.ts +43 -0
  36. package/debug/serve/spa.html +12 -0
  37. package/debug/serve/tsconfig.json +15 -0
  38. package/debug/spfx/.eslintrc.js +352 -0
  39. package/debug/spfx/README.md +73 -0
  40. package/debug/spfx/package-lock.json +57299 -0
  41. package/debug/spfx/package.json +38 -0
  42. package/debug/spfx/pnpjs-local-debug-start.js +19 -0
  43. package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_color.png +0 -0
  44. package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_outline.png +0 -0
  45. package/docs/_theme/main.html +5 -0
  46. package/docs/azidjsclient/index.md +36 -0
  47. package/docs/concepts/adv-clientside-pages.md +169 -0
  48. package/docs/concepts/auth-browser.md +42 -0
  49. package/docs/concepts/auth-nodejs.md +101 -0
  50. package/docs/concepts/auth-spfx.md +76 -0
  51. package/docs/concepts/authentication.md +42 -0
  52. package/docs/concepts/batching-caching.md +77 -0
  53. package/docs/concepts/batching.md +257 -0
  54. package/docs/concepts/calling-other-endpoints.md +213 -0
  55. package/docs/concepts/custom-bundle.md +15 -0
  56. package/docs/concepts/error-handling.md +245 -0
  57. package/docs/concepts/invokable.md +7 -0
  58. package/docs/concepts/nightly-builds.md +19 -0
  59. package/docs/concepts/project-preset.md +123 -0
  60. package/docs/concepts/selective-imports.md +106 -0
  61. package/docs/concepts/typings.md +23 -0
  62. package/docs/contributing/debug-tests.md +76 -0
  63. package/docs/contributing/debugging.md +135 -0
  64. package/docs/contributing/documentation.md +34 -0
  65. package/docs/contributing/extending-the-library.md +223 -0
  66. package/docs/contributing/index.md +22 -0
  67. package/docs/contributing/local-debug-configuration.md +28 -0
  68. package/docs/contributing/npm-scripts.md +148 -0
  69. package/docs/contributing/pull-requests.md +27 -0
  70. package/docs/contributing/settings.md +98 -0
  71. package/docs/contributing/setup-dev-machine.md +36 -0
  72. package/docs/core/behavior-recipes.md +199 -0
  73. package/docs/core/behaviors.md +179 -0
  74. package/docs/core/moments.md +215 -0
  75. package/docs/core/observers.md +100 -0
  76. package/docs/core/storage.md +90 -0
  77. package/docs/core/timeline.md +190 -0
  78. package/docs/core/util.md +191 -0
  79. package/docs/css/extra.css +33 -0
  80. package/docs/getting-started.md +361 -0
  81. package/docs/graph/behaviors.md +267 -0
  82. package/docs/graph/bookings.md +180 -0
  83. package/docs/graph/calendars.md +270 -0
  84. package/docs/graph/cloud-communications.md +40 -0
  85. package/docs/graph/columns.md +125 -0
  86. package/docs/graph/contacts.md +298 -0
  87. package/docs/graph/content-types.md +193 -0
  88. package/docs/graph/directoryobjects.md +106 -0
  89. package/docs/graph/groups.md +164 -0
  90. package/docs/graph/insights.md +151 -0
  91. package/docs/graph/invitations.md +22 -0
  92. package/docs/graph/items.md +38 -0
  93. package/docs/graph/lists.md +87 -0
  94. package/docs/graph/messages.md +20 -0
  95. package/docs/graph/onedrive.md +614 -0
  96. package/docs/graph/outlook.md +82 -0
  97. package/docs/graph/photos.md +71 -0
  98. package/docs/graph/planner.md +249 -0
  99. package/docs/graph/search.md +25 -0
  100. package/docs/graph/shares.md +44 -0
  101. package/docs/graph/sites.md +47 -0
  102. package/docs/graph/subscriptions.md +79 -0
  103. package/docs/graph/teams.md +293 -0
  104. package/docs/graph/users.md +134 -0
  105. package/docs/img/ConsoleListenerColors.png +0 -0
  106. package/docs/img/Logo.png +0 -0
  107. package/docs/img/PnPJS_FluentAPI.gif +0 -0
  108. package/docs/img/SPFx-On-Premesis-2016-1.png +0 -0
  109. package/docs/img/TimelineArchitecture.jpg +0 -0
  110. package/docs/img/csp_copyccvalue.png +0 -0
  111. package/docs/img/csp_networktab.png +0 -0
  112. package/docs/img/office365-header-icon.png +0 -0
  113. package/docs/img/usage-2020-eoy.png +0 -0
  114. package/docs/img/usage-2021-eoy.png +0 -0
  115. package/docs/img/usage-2022-eoy.png +0 -0
  116. package/docs/index.md +56 -0
  117. package/docs/logging/index.md +262 -0
  118. package/docs/msaljsclient/index.md +33 -0
  119. package/docs/news/2020-year-in-review.md +162 -0
  120. package/docs/news/2021-year-in-review.md +148 -0
  121. package/docs/news/2022-year-in-review.md +122 -0
  122. package/docs/nodejs/behaviors.md +164 -0
  123. package/docs/nodejs/sp-extensions.md +99 -0
  124. package/docs/packages.md +53 -0
  125. package/docs/queryable/behaviors.md +496 -0
  126. package/docs/queryable/extensions.md +204 -0
  127. package/docs/queryable/queryable.md +385 -0
  128. package/docs/sp/alias-parameters.md +76 -0
  129. package/docs/sp/alm.md +139 -0
  130. package/docs/sp/attachments.md +157 -0
  131. package/docs/sp/behaviors.md +142 -0
  132. package/docs/sp/clientside-pages.md +1048 -0
  133. package/docs/sp/column-defaults.md +241 -0
  134. package/docs/sp/comments-likes.md +302 -0
  135. package/docs/sp/content-types.md +131 -0
  136. package/docs/sp/context-info.md +67 -0
  137. package/docs/sp/favorites.md +91 -0
  138. package/docs/sp/features.md +83 -0
  139. package/docs/sp/fields.md +668 -0
  140. package/docs/sp/files.md +559 -0
  141. package/docs/sp/folders.md +532 -0
  142. package/docs/sp/forms.md +22 -0
  143. package/docs/sp/groupSiteManager.md +40 -0
  144. package/docs/sp/hubsites.md +140 -0
  145. package/docs/sp/items.md +601 -0
  146. package/docs/sp/lists.md +572 -0
  147. package/docs/sp/navigation.md +171 -0
  148. package/docs/sp/permissions.md +82 -0
  149. package/docs/sp/profiles.md +407 -0
  150. package/docs/sp/publishing-sitepageservice.md +16 -0
  151. package/docs/sp/recycle-bin.md +72 -0
  152. package/docs/sp/regional-settings.md +108 -0
  153. package/docs/sp/related-items.md +136 -0
  154. package/docs/sp/search.md +207 -0
  155. package/docs/sp/security.md +196 -0
  156. package/docs/sp/sharing.md +273 -0
  157. package/docs/sp/site-designs.md +117 -0
  158. package/docs/sp/site-groups.md +144 -0
  159. package/docs/sp/site-scripts.md +123 -0
  160. package/docs/sp/site-users.md +211 -0
  161. package/docs/sp/sites.md +269 -0
  162. package/docs/sp/social.md +182 -0
  163. package/docs/sp/sp-utilities-utility.md +159 -0
  164. package/docs/sp/subscriptions.md +79 -0
  165. package/docs/sp/taxonomy.md +470 -0
  166. package/docs/sp/tenant-properties.md +55 -0
  167. package/docs/sp/user-custom-actions.md +95 -0
  168. package/docs/sp/views.md +226 -0
  169. package/docs/sp/webs.md +947 -0
  170. package/docs/sp-admin/index.md +139 -0
  171. package/docs/transition-guide.md +87 -0
  172. package/docs/v1/404.html +1611 -0
  173. package/docs/v1/assets/fonts/font-awesome.css +4 -0
  174. package/docs/v1/assets/fonts/material-icons.css +13 -0
  175. package/docs/v1/assets/fonts/specimen/FontAwesome.ttf +0 -0
  176. package/docs/v1/assets/fonts/specimen/FontAwesome.woff +0 -0
  177. package/docs/v1/assets/fonts/specimen/FontAwesome.woff2 +0 -0
  178. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.ttf +0 -0
  179. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff +0 -0
  180. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff2 +0 -0
  181. package/docs/v1/assets/images/favicon.png +0 -0
  182. package/docs/v1/assets/images/icons/bitbucket.1b09e088.svg +20 -0
  183. package/docs/v1/assets/images/icons/github.f0b8504a.svg +18 -0
  184. package/docs/v1/assets/images/icons/gitlab.6dd19c00.svg +38 -0
  185. package/docs/v1/assets/javascripts/application.583bbe55.js +1 -0
  186. package/docs/v1/assets/javascripts/lunr/lunr.da.js +1 -0
  187. package/docs/v1/assets/javascripts/lunr/lunr.de.js +1 -0
  188. package/docs/v1/assets/javascripts/lunr/lunr.du.js +1 -0
  189. package/docs/v1/assets/javascripts/lunr/lunr.es.js +1 -0
  190. package/docs/v1/assets/javascripts/lunr/lunr.fi.js +1 -0
  191. package/docs/v1/assets/javascripts/lunr/lunr.fr.js +1 -0
  192. package/docs/v1/assets/javascripts/lunr/lunr.hu.js +1 -0
  193. package/docs/v1/assets/javascripts/lunr/lunr.it.js +1 -0
  194. package/docs/v1/assets/javascripts/lunr/lunr.jp.js +1 -0
  195. package/docs/v1/assets/javascripts/lunr/lunr.multi.js +1 -0
  196. package/docs/v1/assets/javascripts/lunr/lunr.no.js +1 -0
  197. package/docs/v1/assets/javascripts/lunr/lunr.pt.js +1 -0
  198. package/docs/v1/assets/javascripts/lunr/lunr.ro.js +1 -0
  199. package/docs/v1/assets/javascripts/lunr/lunr.ru.js +1 -0
  200. package/docs/v1/assets/javascripts/lunr/lunr.stemmer.support.js +1 -0
  201. package/docs/v1/assets/javascripts/lunr/lunr.sv.js +1 -0
  202. package/docs/v1/assets/javascripts/lunr/lunr.tr.js +1 -0
  203. package/docs/v1/assets/javascripts/lunr/tinyseg.js +1 -0
  204. package/docs/v1/assets/javascripts/modernizr.1aa3b519.js +1 -0
  205. package/docs/v1/assets/stylesheets/application-palette.22915126.css +1176 -0
  206. package/docs/v1/assets/stylesheets/application.451f80e5.css +2552 -0
  207. package/docs/v1/common/docs/adalclient/index.html +1994 -0
  208. package/docs/v1/common/docs/collections/index.html +1786 -0
  209. package/docs/v1/common/docs/custom-httpclientimpl/index.html +1798 -0
  210. package/docs/v1/common/docs/index.html +1787 -0
  211. package/docs/v1/common/docs/libconfig/index.html +1930 -0
  212. package/docs/v1/common/docs/netutil/index.html +1860 -0
  213. package/docs/v1/common/docs/storage/index.html +1850 -0
  214. package/docs/v1/common/docs/util/index.html +2058 -0
  215. package/docs/v1/config-store/docs/configuration/index.html +1730 -0
  216. package/docs/v1/config-store/docs/index.html +1761 -0
  217. package/docs/v1/config-store/docs/providers/index.html +1782 -0
  218. package/docs/v1/documentation/SPFx-On-Premesis-2016/index.html +1720 -0
  219. package/docs/v1/documentation/beta-versions/index.html +1742 -0
  220. package/docs/v1/documentation/css/extra.css +33 -0
  221. package/docs/v1/documentation/debugging/index.html +2098 -0
  222. package/docs/v1/documentation/deployment/index.html +1972 -0
  223. package/docs/v1/documentation/documentation/index.html +1760 -0
  224. package/docs/v1/documentation/getting-started/index.html +2280 -0
  225. package/docs/v1/documentation/getting-started-dev/index.html +1799 -0
  226. package/docs/v1/documentation/gulp-commands/index.html +2100 -0
  227. package/docs/v1/documentation/img/Logo.png +0 -0
  228. package/docs/v1/documentation/img/PnPJS_FluentAPI.gif +0 -0
  229. package/docs/v1/documentation/img/SPFx-On-Premesis-2016-1.png +0 -0
  230. package/docs/v1/documentation/img/office365-header-icon.png +0 -0
  231. package/docs/v1/documentation/img/pnpjs-common-uml.svg +220 -0
  232. package/docs/v1/documentation/img/pnpjs-config-store-uml.svg +56 -0
  233. package/docs/v1/documentation/img/pnpjs-graph-uml.svg +602 -0
  234. package/docs/v1/documentation/img/pnpjs-logging-uml.svg +59 -0
  235. package/docs/v1/documentation/img/pnpjs-nodejs-uml.svg +85 -0
  236. package/docs/v1/documentation/img/pnpjs-odata-uml.svg +253 -0
  237. package/docs/v1/documentation/img/pnpjs-sp-addinhelpers-uml.svg +48 -0
  238. package/docs/v1/documentation/img/pnpjs-sp-clientsvc-uml.svg +167 -0
  239. package/docs/v1/documentation/img/pnpjs-sp-taxonomy-uml.svg +458 -0
  240. package/docs/v1/documentation/img/pnpjs-sp-uml.svg +2833 -0
  241. package/docs/v1/documentation/package-structure/index.html +1875 -0
  242. package/docs/v1/documentation/packages/index.html +1741 -0
  243. package/docs/v1/documentation/polyfill/index.html +1877 -0
  244. package/docs/v1/documentation/theme/main.html +5 -0
  245. package/docs/v1/documentation/transition-guide/index.html +1977 -0
  246. package/docs/v1/graph/docs/contacts/index.html +2080 -0
  247. package/docs/v1/graph/docs/directoryobjects/index.html +1865 -0
  248. package/docs/v1/graph/docs/index.html +1858 -0
  249. package/docs/v1/graph/docs/insights/index.html +1698 -0
  250. package/docs/v1/graph/docs/invitations/index.html +1742 -0
  251. package/docs/v1/graph/docs/onedrive/index.html +2086 -0
  252. package/docs/v1/graph/docs/people/index.html +1664 -0
  253. package/docs/v1/graph/docs/planner/index.html +2097 -0
  254. package/docs/v1/graph/docs/security/index.html +1692 -0
  255. package/docs/v1/graph/docs/sites/index.html +2043 -0
  256. package/docs/v1/graph/docs/subscriptions/index.html +1835 -0
  257. package/docs/v1/graph/docs/teams/index.html +2097 -0
  258. package/docs/v1/index.html +1889 -0
  259. package/docs/v1/logging/docs/index.html +2045 -0
  260. package/docs/v1/nodejs/docs/adal-certificate-fetch-client/index.html +1676 -0
  261. package/docs/v1/nodejs/docs/adal-fetch-client/index.html +1713 -0
  262. package/docs/v1/nodejs/docs/bearer-token-fetch-client/index.html +1712 -0
  263. package/docs/v1/nodejs/docs/index.html +1764 -0
  264. package/docs/v1/nodejs/docs/provider-hosted-app/index.html +1725 -0
  265. package/docs/v1/nodejs/docs/proxy/index.html +1699 -0
  266. package/docs/v1/nodejs/docs/sp-fetch-client/index.html +1895 -0
  267. package/docs/v1/odata/docs/caching/index.html +1988 -0
  268. package/docs/v1/odata/docs/core/index.html +1829 -0
  269. package/docs/v1/odata/docs/index.html +1781 -0
  270. package/docs/v1/odata/docs/odata-batch/index.html +1755 -0
  271. package/docs/v1/odata/docs/parsers/index.html +1862 -0
  272. package/docs/v1/odata/docs/pipeline/index.html +1811 -0
  273. package/docs/v1/odata/docs/queryable/index.html +1967 -0
  274. package/docs/v1/pnpjs/docs/index.html +1814 -0
  275. package/docs/v1/search/search_index.json +1 -0
  276. package/docs/v1/sitemap.xml +428 -0
  277. package/docs/v1/sitemap.xml.gz +0 -0
  278. package/docs/v1/sp/docs/alias-parameters/index.html +1830 -0
  279. package/docs/v1/sp/docs/alm/index.html +1920 -0
  280. package/docs/v1/sp/docs/attachments/index.html +1998 -0
  281. package/docs/v1/sp/docs/client-side-pages/index.html +2031 -0
  282. package/docs/v1/sp/docs/comments-likes/index.html +1958 -0
  283. package/docs/v1/sp/docs/content-types/index.html +1758 -0
  284. package/docs/v1/sp/docs/entity-merging/index.html +1838 -0
  285. package/docs/v1/sp/docs/features/index.html +1824 -0
  286. package/docs/v1/sp/docs/fields/index.html +2031 -0
  287. package/docs/v1/sp/docs/files/index.html +2178 -0
  288. package/docs/v1/sp/docs/index.html +1894 -0
  289. package/docs/v1/sp/docs/items/index.html +2362 -0
  290. package/docs/v1/sp/docs/navigation-service/index.html +1791 -0
  291. package/docs/v1/sp/docs/permissions/index.html +1860 -0
  292. package/docs/v1/sp/docs/profiles/index.html +1794 -0
  293. package/docs/v1/sp/docs/related-items/index.html +1886 -0
  294. package/docs/v1/sp/docs/search/index.html +1830 -0
  295. package/docs/v1/sp/docs/sharing/index.html +2058 -0
  296. package/docs/v1/sp/docs/sitedesigns/index.html +1851 -0
  297. package/docs/v1/sp/docs/sites/index.html +2186 -0
  298. package/docs/v1/sp/docs/social/index.html +2011 -0
  299. package/docs/v1/sp/docs/sp-utilities-utility/index.html +2061 -0
  300. package/docs/v1/sp/docs/tenant-properties/index.html +1795 -0
  301. package/docs/v1/sp/docs/views/index.html +1869 -0
  302. package/docs/v1/sp/docs/webs/index.html +1972 -0
  303. package/docs/v1/sp-addinhelpers/docs/index.html +1771 -0
  304. package/docs/v1/sp-addinhelpers/docs/sp-request-executor-client/index.html +1760 -0
  305. package/docs/v1/sp-addinhelpers/docs/sp-rest-addin/index.html +1711 -0
  306. package/docs/v1/sp-clientsvc/docs/index.html +1736 -0
  307. package/docs/v1/sp-taxonomy/docs/index.html +1887 -0
  308. package/docs/v1/sp-taxonomy/docs/labels/index.html +1827 -0
  309. package/docs/v1/sp-taxonomy/docs/term-groups/index.html +1875 -0
  310. package/docs/v1/sp-taxonomy/docs/term-sets/index.html +1946 -0
  311. package/docs/v1/sp-taxonomy/docs/term-stores/index.html +2111 -0
  312. package/docs/v1/sp-taxonomy/docs/terms/index.html +2036 -0
  313. package/docs/v1/sp-taxonomy/docs/utilities/index.html +1783 -0
  314. package/docs/v2/404.html +2108 -0
  315. package/docs/v2/SPFx-on-premises/index.html +2278 -0
  316. package/docs/v2/_theme/main.html +5 -0
  317. package/docs/v2/adaljsclient/adalclient/index.html +15 -0
  318. package/docs/v2/adaljsclient/index.html +15 -0
  319. package/docs/v2/assets/images/favicon.png +0 -0
  320. package/docs/v2/assets/javascripts/bundle.9554a270.min.js +2 -0
  321. package/docs/v2/assets/javascripts/bundle.9554a270.min.js.map +1 -0
  322. package/docs/v2/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  323. package/docs/v2/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  324. package/docs/v2/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  325. package/docs/v2/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  326. package/docs/v2/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  327. package/docs/v2/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  328. package/docs/v2/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  329. package/docs/v2/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  330. package/docs/v2/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  331. package/docs/v2/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  332. package/docs/v2/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  333. package/docs/v2/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  334. package/docs/v2/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  335. package/docs/v2/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  336. package/docs/v2/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  337. package/docs/v2/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  338. package/docs/v2/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  339. package/docs/v2/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  340. package/docs/v2/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  341. package/docs/v2/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  342. package/docs/v2/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  343. package/docs/v2/assets/javascripts/lunr/tinyseg.min.js +1 -0
  344. package/docs/v2/assets/javascripts/vendor.77e55a48.min.js +30 -0
  345. package/docs/v2/assets/javascripts/vendor.77e55a48.min.js.map +1 -0
  346. package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js +59 -0
  347. package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js.map +1 -0
  348. package/docs/v2/assets/stylesheets/main.38780c08.min.css +3 -0
  349. package/docs/v2/assets/stylesheets/main.38780c08.min.css.map +1 -0
  350. package/docs/v2/assets/stylesheets/palette.3f72e892.min.css +3 -0
  351. package/docs/v2/assets/stylesheets/palette.3f72e892.min.css.map +1 -0
  352. package/docs/v2/authentication/adaljsclient/index.html +2510 -0
  353. package/docs/v2/authentication/bearertokenclient/index.html +2251 -0
  354. package/docs/v2/authentication/client-spa/index.html +2206 -0
  355. package/docs/v2/authentication/client-spfx/index.html +2397 -0
  356. package/docs/v2/authentication/index.html +2307 -0
  357. package/docs/v2/authentication/lambdaclient/index.html +2304 -0
  358. package/docs/v2/authentication/msaljsclient/index.html +2413 -0
  359. package/docs/v2/authentication/server-nodejs/index.html +2404 -0
  360. package/docs/v2/authentication/sp-app-registration/index.html +2273 -0
  361. package/docs/v2/common/collections/index.html +2277 -0
  362. package/docs/v2/common/custom-httpclientimpl/index.html +2300 -0
  363. package/docs/v2/common/index.html +2262 -0
  364. package/docs/v2/common/libconfig/index.html +2413 -0
  365. package/docs/v2/common/netutil/index.html +2350 -0
  366. package/docs/v2/common/storage/index.html +2339 -0
  367. package/docs/v2/common/util/index.html +2638 -0
  368. package/docs/v2/concepts/configuration/index.html +2685 -0
  369. package/docs/v2/concepts/custom-bundle/index.html +2279 -0
  370. package/docs/v2/concepts/error-handling/index.html +2539 -0
  371. package/docs/v2/concepts/ie11-mode/index.html +2278 -0
  372. package/docs/v2/concepts/invokable/index.html +2254 -0
  373. package/docs/v2/concepts/polyfill/index.html +2401 -0
  374. package/docs/v2/concepts/selective-imports/index.html +2360 -0
  375. package/docs/v2/concepts/settings/index.html +2551 -0
  376. package/docs/v2/config-store/configuration/index.html +2226 -0
  377. package/docs/v2/config-store/index.html +2239 -0
  378. package/docs/v2/config-store/providers/index.html +2275 -0
  379. package/docs/v2/contributing/debug-tests/index.html +2323 -0
  380. package/docs/v2/contributing/debugging/index.html +2514 -0
  381. package/docs/v2/contributing/documentation/index.html +2291 -0
  382. package/docs/v2/contributing/extending-the-library/index.html +2521 -0
  383. package/docs/v2/contributing/index.html +2270 -0
  384. package/docs/v2/contributing/local-debug-configuration/index.html +2284 -0
  385. package/docs/v2/contributing/pull-requests/index.html +2261 -0
  386. package/docs/v2/contributing/setup-dev-machine/index.html +2284 -0
  387. package/docs/v2/css/extra.css +33 -0
  388. package/docs/v2/debug-tests/index.html +15 -0
  389. package/docs/v2/debugging/index.html +15 -0
  390. package/docs/v2/documentation/index.html +15 -0
  391. package/docs/v2/getting-started/index.html +2789 -0
  392. package/docs/v2/getting-started-dev/index.html +15 -0
  393. package/docs/v2/graph/calendars/index.html +2569 -0
  394. package/docs/v2/graph/contacts/index.html +2673 -0
  395. package/docs/v2/graph/directoryobjects/index.html +2402 -0
  396. package/docs/v2/graph/groups/index.html +2488 -0
  397. package/docs/v2/graph/index.html +2333 -0
  398. package/docs/v2/graph/insights/index.html +2478 -0
  399. package/docs/v2/graph/invitations/index.html +2273 -0
  400. package/docs/v2/graph/onedrive/index.html +2617 -0
  401. package/docs/v2/graph/outlook/index.html +2363 -0
  402. package/docs/v2/graph/photos/index.html +2351 -0
  403. package/docs/v2/graph/planner/index.html +2628 -0
  404. package/docs/v2/graph/search/index.html +2264 -0
  405. package/docs/v2/graph/subscriptions/index.html +2333 -0
  406. package/docs/v2/graph/teams/index.html +2619 -0
  407. package/docs/v2/graph/users/index.html +2461 -0
  408. package/docs/v2/img/ConsoleListenerColors.png +0 -0
  409. package/docs/v2/img/Logo.png +0 -0
  410. package/docs/v2/img/PnPJS_FluentAPI.gif +0 -0
  411. package/docs/v2/img/SPFx-On-Premesis-2016-1.png +0 -0
  412. package/docs/v2/img/office365-header-icon.png +0 -0
  413. package/docs/v2/img/usage-2020-eoy.png +0 -0
  414. package/docs/v2/index.html +2410 -0
  415. package/docs/v2/logging/index.html +2622 -0
  416. package/docs/v2/news/2020-year-in-review/index.html +2525 -0
  417. package/docs/v2/nodejs/adal-fetch-client/index.html +2204 -0
  418. package/docs/v2/nodejs/bearer-token-fetch-client/index.html +2203 -0
  419. package/docs/v2/nodejs/index.html +2261 -0
  420. package/docs/v2/nodejs/provider-hosted-app/index.html +2220 -0
  421. package/docs/v2/nodejs/proxy/index.html +2238 -0
  422. package/docs/v2/nodejs/sp-extensions/index.html +2362 -0
  423. package/docs/v2/nodejs/sp-fetch-client/index.html +2294 -0
  424. package/docs/v2/nodejs-support/index.html +2398 -0
  425. package/docs/v2/npm-scripts/index.html +2521 -0
  426. package/docs/v2/odata/caching/index.html +2465 -0
  427. package/docs/v2/odata/core/index.html +2322 -0
  428. package/docs/v2/odata/debug/index.html +2358 -0
  429. package/docs/v2/odata/extensions/index.html +2581 -0
  430. package/docs/v2/odata/index.html +2259 -0
  431. package/docs/v2/odata/odata-batch/index.html +2250 -0
  432. package/docs/v2/odata/parsers/index.html +2355 -0
  433. package/docs/v2/odata/pipeline/index.html +2297 -0
  434. package/docs/v2/odata/queryable/index.html +2455 -0
  435. package/docs/v2/packages/index.html +2251 -0
  436. package/docs/v2/pnpjs/index.html +2281 -0
  437. package/docs/v2/search/search_index.json +1 -0
  438. package/docs/v2/sitemap.xml +483 -0
  439. package/docs/v2/sitemap.xml.gz +0 -0
  440. package/docs/v2/sp/alias-parameters/index.html +2330 -0
  441. package/docs/v2/sp/alm/index.html +2433 -0
  442. package/docs/v2/sp/attachments/index.html +2504 -0
  443. package/docs/v2/sp/clientside-pages/index.html +3477 -0
  444. package/docs/v2/sp/column-defaults/index.html +2540 -0
  445. package/docs/v2/sp/comments-likes/index.html +2646 -0
  446. package/docs/v2/sp/content-types/index.html +2462 -0
  447. package/docs/v2/sp/custom-irequestclient/index.html +2339 -0
  448. package/docs/v2/sp/entity-merging/index.html +2325 -0
  449. package/docs/v2/sp/features/index.html +2440 -0
  450. package/docs/v2/sp/fields/index.html +3103 -0
  451. package/docs/v2/sp/files/index.html +2949 -0
  452. package/docs/v2/sp/folders/index.html +2968 -0
  453. package/docs/v2/sp/forms/index.html +2289 -0
  454. package/docs/v2/sp/hubsites/index.html +2485 -0
  455. package/docs/v2/sp/index.html +2328 -0
  456. package/docs/v2/sp/items/index.html +2974 -0
  457. package/docs/v2/sp/lists/index.html +3387 -0
  458. package/docs/v2/sp/navigation/index.html +2535 -0
  459. package/docs/v2/sp/permissions/index.html +2338 -0
  460. package/docs/v2/sp/profiles/index.html +2806 -0
  461. package/docs/v2/sp/regional-settings/index.html +2394 -0
  462. package/docs/v2/sp/related-items/index.html +2417 -0
  463. package/docs/v2/sp/search/index.html +2474 -0
  464. package/docs/v2/sp/security/index.html +2432 -0
  465. package/docs/v2/sp/sharing/index.html +2589 -0
  466. package/docs/v2/sp/site-designs/index.html +2414 -0
  467. package/docs/v2/sp/site-groups/index.html +2504 -0
  468. package/docs/v2/sp/site-scripts/index.html +2433 -0
  469. package/docs/v2/sp/site-users/index.html +2641 -0
  470. package/docs/v2/sp/sites/index.html +2727 -0
  471. package/docs/v2/sp/social/index.html +2517 -0
  472. package/docs/v2/sp/sp-utilities-utility/index.html +2460 -0
  473. package/docs/v2/sp/subscriptions/index.html +2395 -0
  474. package/docs/v2/sp/taxonomy/index.html +2565 -0
  475. package/docs/v2/sp/tenant-properties/index.html +2286 -0
  476. package/docs/v2/sp/user-custom-actions/index.html +2424 -0
  477. package/docs/v2/sp/views/index.html +2652 -0
  478. package/docs/v2/sp/webs/index.html +4190 -0
  479. package/docs/v2/sp-addinhelpers/index.html +2274 -0
  480. package/docs/v2/sp-addinhelpers/sp-request-executor-client/index.html +2253 -0
  481. package/docs/v2/sp-addinhelpers/sp-rest-addin/index.html +2206 -0
  482. package/docs/v2/transition-guide/index.html +2435 -0
  483. package/mkdocs-requirements.txt +2 -0
  484. package/mkdocs.yml +188 -0
  485. package/package.json +96 -0
  486. package/packages/azidjsclient/index.ts +68 -0
  487. package/packages/azidjsclient/package.json +13 -0
  488. package/packages/azidjsclient/tsconfig.json +12 -0
  489. package/packages/core/behaviors/assign-from.ts +17 -0
  490. package/packages/core/behaviors/copy-from.ts +58 -0
  491. package/packages/core/extendable.ts +193 -0
  492. package/packages/core/index.ts +11 -0
  493. package/packages/core/moments.ts +117 -0
  494. package/packages/core/package.json +10 -0
  495. package/packages/core/storage.ts +274 -0
  496. package/packages/core/timeline.ts +387 -0
  497. package/packages/core/tsconfig.json +10 -0
  498. package/packages/core/util.ts +169 -0
  499. package/packages/graph/attachments/conversations.ts +14 -0
  500. package/packages/graph/attachments/index.ts +8 -0
  501. package/packages/graph/attachments/types.ts +37 -0
  502. package/packages/graph/batching.ts +408 -0
  503. package/packages/graph/behaviors/consistency-level.ts +17 -0
  504. package/packages/graph/behaviors/defaults.ts +41 -0
  505. package/packages/graph/behaviors/endpoint.ts +22 -0
  506. package/packages/graph/behaviors/graphbrowser.ts +38 -0
  507. package/packages/graph/behaviors/paged.ts +109 -0
  508. package/packages/graph/behaviors/spfx.ts +46 -0
  509. package/packages/graph/behaviors/telemetry.ts +19 -0
  510. package/packages/graph/bookings/funcs.ts +18 -0
  511. package/packages/graph/bookings/index.ts +62 -0
  512. package/packages/graph/bookings/types.ts +352 -0
  513. package/packages/graph/calendars/funcs.ts +58 -0
  514. package/packages/graph/calendars/groups.ts +19 -0
  515. package/packages/graph/calendars/index.ts +18 -0
  516. package/packages/graph/calendars/types.ts +73 -0
  517. package/packages/graph/calendars/users.ts +28 -0
  518. package/packages/graph/cloud-communications/index.ts +24 -0
  519. package/packages/graph/cloud-communications/types.ts +32 -0
  520. package/packages/graph/cloud-communications/users.ts +15 -0
  521. package/packages/graph/columns/addColumns.ts +28 -0
  522. package/packages/graph/columns/content-types.ts +44 -0
  523. package/packages/graph/columns/index.ts +14 -0
  524. package/packages/graph/columns/lists.ts +33 -0
  525. package/packages/graph/columns/sites.ts +32 -0
  526. package/packages/graph/columns/types.ts +24 -0
  527. package/packages/graph/contacts/index.ts +14 -0
  528. package/packages/graph/contacts/types.ts +126 -0
  529. package/packages/graph/contacts/users.ts +17 -0
  530. package/packages/graph/content-types/index.ts +11 -0
  531. package/packages/graph/content-types/lists.ts +44 -0
  532. package/packages/graph/content-types/sites.ts +70 -0
  533. package/packages/graph/content-types/types.ts +112 -0
  534. package/packages/graph/conversations/groups.ts +20 -0
  535. package/packages/graph/conversations/index.ts +19 -0
  536. package/packages/graph/conversations/types.ts +147 -0
  537. package/packages/graph/decorators.ts +164 -0
  538. package/packages/graph/directory-objects/index.ts +24 -0
  539. package/packages/graph/directory-objects/types.ts +94 -0
  540. package/packages/graph/fi.ts +46 -0
  541. package/packages/graph/graphqueryable.ts +193 -0
  542. package/packages/graph/groups/index.ts +25 -0
  543. package/packages/graph/groups/types.ts +130 -0
  544. package/packages/graph/index.ts +21 -0
  545. package/packages/graph/insights/index.ts +20 -0
  546. package/packages/graph/insights/types.ts +105 -0
  547. package/packages/graph/insights/users.ts +14 -0
  548. package/packages/graph/invitations/index.ts +22 -0
  549. package/packages/graph/invitations/types.ts +41 -0
  550. package/packages/graph/lists/drive.ts +21 -0
  551. package/packages/graph/lists/index.ts +10 -0
  552. package/packages/graph/lists/sites.ts +16 -0
  553. package/packages/graph/lists/types.ts +47 -0
  554. package/packages/graph/members/groups.ts +17 -0
  555. package/packages/graph/members/index.ts +8 -0
  556. package/packages/graph/members/types.ts +40 -0
  557. package/packages/graph/messages/index.ts +14 -0
  558. package/packages/graph/messages/types.ts +46 -0
  559. package/packages/graph/messages/users.ts +27 -0
  560. package/packages/graph/onedrive/funcs.ts +40 -0
  561. package/packages/graph/onedrive/groups.ts +33 -0
  562. package/packages/graph/onedrive/index.ts +48 -0
  563. package/packages/graph/onedrive/sites.ts +35 -0
  564. package/packages/graph/onedrive/types.ts +482 -0
  565. package/packages/graph/onedrive/users.ts +56 -0
  566. package/packages/graph/onenote/index.ts +16 -0
  567. package/packages/graph/onenote/types.ts +119 -0
  568. package/packages/graph/onenote/users.ts +14 -0
  569. package/packages/graph/operations.ts +22 -0
  570. package/packages/graph/outlook/index.ts +11 -0
  571. package/packages/graph/outlook/types.ts +58 -0
  572. package/packages/graph/outlook/users.ts +14 -0
  573. package/packages/graph/package.json +16 -0
  574. package/packages/graph/photos/groups.ts +14 -0
  575. package/packages/graph/photos/index.ts +7 -0
  576. package/packages/graph/photos/types.ts +33 -0
  577. package/packages/graph/photos/users.ts +14 -0
  578. package/packages/graph/planner/groups.ts +14 -0
  579. package/packages/graph/planner/index.ts +42 -0
  580. package/packages/graph/planner/types.ts +213 -0
  581. package/packages/graph/planner/users.ts +14 -0
  582. package/packages/graph/post-install.cjs +20 -0
  583. package/packages/graph/presets/all.ts +42 -0
  584. package/packages/graph/search/index.ts +18 -0
  585. package/packages/graph/search/types.ts +20 -0
  586. package/packages/graph/shares/index.ts +23 -0
  587. package/packages/graph/shares/types.ts +47 -0
  588. package/packages/graph/sites/group.ts +14 -0
  589. package/packages/graph/sites/index.ts +25 -0
  590. package/packages/graph/sites/types.ts +45 -0
  591. package/packages/graph/subscriptions/index.ts +24 -0
  592. package/packages/graph/subscriptions/types.ts +59 -0
  593. package/packages/graph/teams/index.ts +68 -0
  594. package/packages/graph/teams/types.ts +333 -0
  595. package/packages/graph/teams/users.ts +14 -0
  596. package/packages/graph/tsconfig.json +16 -0
  597. package/packages/graph/users/index.ts +34 -0
  598. package/packages/graph/users/types.ts +56 -0
  599. package/packages/graph/utils/type.ts +3 -0
  600. package/packages/logging/index.ts +145 -0
  601. package/packages/logging/listeners.ts +134 -0
  602. package/packages/logging/package.json +10 -0
  603. package/packages/logging/tsconfig.json +7 -0
  604. package/packages/msaljsclient/index.ts +40 -0
  605. package/packages/msaljsclient/package.json +12 -0
  606. package/packages/msaljsclient/tsconfig.json +12 -0
  607. package/packages/nodejs/behaviors/fetch.ts +130 -0
  608. package/packages/nodejs/behaviors/graphdefault.ts +50 -0
  609. package/packages/nodejs/behaviors/msal.ts +24 -0
  610. package/packages/nodejs/behaviors/spdefault.ts +45 -0
  611. package/packages/nodejs/behaviors/stream-parse.ts +7 -0
  612. package/packages/nodejs/index.ts +33 -0
  613. package/packages/nodejs/package.json +17 -0
  614. package/packages/nodejs/sp-extensions/stream.ts +136 -0
  615. package/packages/nodejs/tsconfig.json +28 -0
  616. package/packages/queryable/add-prop.ts +18 -0
  617. package/packages/queryable/behaviors/bearer-token.ts +15 -0
  618. package/packages/queryable/behaviors/browser-fetch.ts +131 -0
  619. package/packages/queryable/behaviors/caching-pessimistic.ts +67 -0
  620. package/packages/queryable/behaviors/caching.ts +149 -0
  621. package/packages/queryable/behaviors/cancelable.ts +264 -0
  622. package/packages/queryable/behaviors/inject-headers.ts +23 -0
  623. package/packages/queryable/behaviors/parsers.ts +134 -0
  624. package/packages/queryable/behaviors/resolvers.ts +28 -0
  625. package/packages/queryable/behaviors/timeout.ts +24 -0
  626. package/packages/queryable/index.ts +19 -0
  627. package/packages/queryable/invokable.ts +42 -0
  628. package/packages/queryable/operations.ts +32 -0
  629. package/packages/queryable/package.json +11 -0
  630. package/packages/queryable/queryable-factory.ts +19 -0
  631. package/packages/queryable/queryable.ts +239 -0
  632. package/packages/queryable/request-builders.ts +20 -0
  633. package/packages/queryable/tsconfig.json +11 -0
  634. package/packages/readme.md +21 -0
  635. package/packages/sp/appcatalog/index.ts +35 -0
  636. package/packages/sp/appcatalog/types.ts +176 -0
  637. package/packages/sp/appcatalog/web.ts +19 -0
  638. package/packages/sp/attachments/index.ts +11 -0
  639. package/packages/sp/attachments/item.ts +17 -0
  640. package/packages/sp/attachments/types.ts +95 -0
  641. package/packages/sp/batching.ts +483 -0
  642. package/packages/sp/behaviors/defaults.ts +38 -0
  643. package/packages/sp/behaviors/request-digest.ts +78 -0
  644. package/packages/sp/behaviors/spbrowser.ts +40 -0
  645. package/packages/sp/behaviors/spfx.ts +83 -0
  646. package/packages/sp/behaviors/telemetry.ts +35 -0
  647. package/packages/sp/clientside-pages/funcs.ts +27 -0
  648. package/packages/sp/clientside-pages/index.ts +27 -0
  649. package/packages/sp/clientside-pages/types.ts +1661 -0
  650. package/packages/sp/clientside-pages/web.ts +93 -0
  651. package/packages/sp/column-defaults/folder.ts +89 -0
  652. package/packages/sp/column-defaults/index.ts +8 -0
  653. package/packages/sp/column-defaults/list.ts +219 -0
  654. package/packages/sp/column-defaults/types.ts +19 -0
  655. package/packages/sp/comments/clientside-page.ts +120 -0
  656. package/packages/sp/comments/index.ts +14 -0
  657. package/packages/sp/comments/item.ts +77 -0
  658. package/packages/sp/comments/types.ts +160 -0
  659. package/packages/sp/content-types/index.ts +17 -0
  660. package/packages/sp/content-types/item.ts +17 -0
  661. package/packages/sp/content-types/list.ts +17 -0
  662. package/packages/sp/content-types/types.ts +181 -0
  663. package/packages/sp/content-types/web.ts +17 -0
  664. package/packages/sp/context-info/index.ts +40 -0
  665. package/packages/sp/decorators.ts +18 -0
  666. package/packages/sp/favorites/index.ts +32 -0
  667. package/packages/sp/favorites/types.ts +187 -0
  668. package/packages/sp/features/index.ts +11 -0
  669. package/packages/sp/features/site.ts +17 -0
  670. package/packages/sp/features/types.ts +73 -0
  671. package/packages/sp/features/web.ts +17 -0
  672. package/packages/sp/fi.ts +46 -0
  673. package/packages/sp/fields/index.ts +22 -0
  674. package/packages/sp/fields/list.ts +17 -0
  675. package/packages/sp/fields/types.ts +648 -0
  676. package/packages/sp/fields/web.ts +23 -0
  677. package/packages/sp/files/folder.ts +17 -0
  678. package/packages/sp/files/index.ts +25 -0
  679. package/packages/sp/files/item.ts +17 -0
  680. package/packages/sp/files/readable-file.ts +40 -0
  681. package/packages/sp/files/types.ts +771 -0
  682. package/packages/sp/files/web.ts +46 -0
  683. package/packages/sp/folders/index.ts +19 -0
  684. package/packages/sp/folders/item.ts +16 -0
  685. package/packages/sp/folders/list.ts +17 -0
  686. package/packages/sp/folders/types.ts +439 -0
  687. package/packages/sp/folders/web.ts +50 -0
  688. package/packages/sp/forms/index.ts +9 -0
  689. package/packages/sp/forms/list.ts +14 -0
  690. package/packages/sp/forms/types.ts +41 -0
  691. package/packages/sp/groupsitemanager/index.ts +18 -0
  692. package/packages/sp/groupsitemanager/types.ts +433 -0
  693. package/packages/sp/hubsites/index.ts +31 -0
  694. package/packages/sp/hubsites/site.ts +43 -0
  695. package/packages/sp/hubsites/types.ts +71 -0
  696. package/packages/sp/hubsites/web.ts +38 -0
  697. package/packages/sp/index.ts +24 -0
  698. package/packages/sp/items/get-all.ts +52 -0
  699. package/packages/sp/items/index.ts +18 -0
  700. package/packages/sp/items/list.ts +14 -0
  701. package/packages/sp/items/types.ts +405 -0
  702. package/packages/sp/lists/index.ts +23 -0
  703. package/packages/sp/lists/types.ts +851 -0
  704. package/packages/sp/lists/web.ts +68 -0
  705. package/packages/sp/navigation/index.ts +35 -0
  706. package/packages/sp/navigation/types.ts +243 -0
  707. package/packages/sp/navigation/web.ts +19 -0
  708. package/packages/sp/operations.ts +33 -0
  709. package/packages/sp/package.json +15 -0
  710. package/packages/sp/post-install.cjs +20 -0
  711. package/packages/sp/presets/all.ts +75 -0
  712. package/packages/sp/profiles/index.ts +30 -0
  713. package/packages/sp/profiles/types.ts +595 -0
  714. package/packages/sp/publishing-sitepageservice/index.ts +22 -0
  715. package/packages/sp/publishing-sitepageservice/types.ts +18 -0
  716. package/packages/sp/recycle-bin/index.ts +36 -0
  717. package/packages/sp/recycle-bin/types.ts +113 -0
  718. package/packages/sp/regional-settings/content-type.ts +11 -0
  719. package/packages/sp/regional-settings/field.ts +11 -0
  720. package/packages/sp/regional-settings/funcs.ts +10 -0
  721. package/packages/sp/regional-settings/index.ts +18 -0
  722. package/packages/sp/regional-settings/list.ts +11 -0
  723. package/packages/sp/regional-settings/types.ts +159 -0
  724. package/packages/sp/regional-settings/user-custom-actions.ts +11 -0
  725. package/packages/sp/regional-settings/web.ts +21 -0
  726. package/packages/sp/related-items/index.ts +7 -0
  727. package/packages/sp/related-items/types.ts +194 -0
  728. package/packages/sp/related-items/web.ts +22 -0
  729. package/packages/sp/search/index.ts +48 -0
  730. package/packages/sp/search/query.ts +254 -0
  731. package/packages/sp/search/suggest.ts +130 -0
  732. package/packages/sp/search/types.ts +480 -0
  733. package/packages/sp/security/funcs.ts +94 -0
  734. package/packages/sp/security/index.ts +21 -0
  735. package/packages/sp/security/item.ts +29 -0
  736. package/packages/sp/security/list.ts +29 -0
  737. package/packages/sp/security/types.ts +440 -0
  738. package/packages/sp/security/web.ts +34 -0
  739. package/packages/sp/sharing/file.ts +75 -0
  740. package/packages/sp/sharing/folder.ts +69 -0
  741. package/packages/sp/sharing/funcs.ts +258 -0
  742. package/packages/sp/sharing/index.ts +27 -0
  743. package/packages/sp/sharing/item.ts +53 -0
  744. package/packages/sp/sharing/types.ts +626 -0
  745. package/packages/sp/sharing/web.ts +109 -0
  746. package/packages/sp/site-designs/index.ts +29 -0
  747. package/packages/sp/site-designs/types.ts +456 -0
  748. package/packages/sp/site-designs/web.ts +41 -0
  749. package/packages/sp/site-groups/index.ts +11 -0
  750. package/packages/sp/site-groups/types.ts +133 -0
  751. package/packages/sp/site-groups/web.ts +73 -0
  752. package/packages/sp/site-scripts/index.ts +27 -0
  753. package/packages/sp/site-scripts/list.ts +27 -0
  754. package/packages/sp/site-scripts/types.ts +243 -0
  755. package/packages/sp/site-scripts/web.ts +24 -0
  756. package/packages/sp/site-users/index.ts +12 -0
  757. package/packages/sp/site-users/types.ts +195 -0
  758. package/packages/sp/site-users/web.ts +56 -0
  759. package/packages/sp/sites/index.ts +26 -0
  760. package/packages/sp/sites/types.ts +422 -0
  761. package/packages/sp/social/index.ts +33 -0
  762. package/packages/sp/social/types.ts +381 -0
  763. package/packages/sp/spqueryable.ts +244 -0
  764. package/packages/sp/sputilities/index.ts +23 -0
  765. package/packages/sp/sputilities/types.ts +197 -0
  766. package/packages/sp/subscriptions/index.ts +10 -0
  767. package/packages/sp/subscriptions/list.ts +18 -0
  768. package/packages/sp/subscriptions/types.ts +107 -0
  769. package/packages/sp/taxonomy/index.ts +50 -0
  770. package/packages/sp/taxonomy/types.ts +508 -0
  771. package/packages/sp/tsconfig.json +16 -0
  772. package/packages/sp/types.ts +283 -0
  773. package/packages/sp/user-custom-actions/index.ts +15 -0
  774. package/packages/sp/user-custom-actions/list.ts +18 -0
  775. package/packages/sp/user-custom-actions/site.ts +18 -0
  776. package/packages/sp/user-custom-actions/types.ts +133 -0
  777. package/packages/sp/user-custom-actions/web.ts +21 -0
  778. package/packages/sp/utils/encode-path-str.ts +29 -0
  779. package/packages/sp/utils/extract-web-url.ts +21 -0
  780. package/packages/sp/utils/file-names.ts +35 -0
  781. package/packages/sp/utils/metadata.ts +5 -0
  782. package/packages/sp/utils/odata-url-from.ts +42 -0
  783. package/packages/sp/utils/to-resource-path.ts +9 -0
  784. package/packages/sp/views/index.ts +14 -0
  785. package/packages/sp/views/list.ts +33 -0
  786. package/packages/sp/views/types.ts +210 -0
  787. package/packages/sp/webparts/file.ts +21 -0
  788. package/packages/sp/webparts/index.ts +11 -0
  789. package/packages/sp/webparts/types.ts +141 -0
  790. package/packages/sp/webs/index.ts +32 -0
  791. package/packages/sp/webs/types.ts +350 -0
  792. package/packages/sp-admin/index.ts +46 -0
  793. package/packages/sp-admin/office-tenant.ts +567 -0
  794. package/packages/sp-admin/package.json +13 -0
  795. package/packages/sp-admin/site-properties.ts +45 -0
  796. package/packages/sp-admin/tenant.ts +595 -0
  797. package/packages/sp-admin/tsconfig.json +20 -0
  798. package/packages/sp-admin/types.ts +1679 -0
  799. package/packages/tsconfig-watch.json +9 -0
  800. package/packages/tsconfig.json +37 -0
  801. package/pre-install.cjs +1 -0
  802. package/samples/custom-bundle-webpack/index.ts +33 -0
  803. package/samples/custom-bundle-webpack/package-lock.json +4601 -0
  804. package/samples/custom-bundle-webpack/package.json +18 -0
  805. package/samples/custom-bundle-webpack/readme.md +102 -0
  806. package/samples/custom-bundle-webpack/tsconfig.json +12 -0
  807. package/samples/custom-bundle-webpack/webpack.config.js +27 -0
  808. package/samples/nodejs-app/.vscode/launch.json +27 -0
  809. package/samples/nodejs-app/.vscode/settings.json +10 -0
  810. package/samples/nodejs-app/.vscode/tasks.json +22 -0
  811. package/samples/nodejs-app/index.ts +63 -0
  812. package/samples/nodejs-app/package-lock.json +259 -0
  813. package/samples/nodejs-app/package.json +21 -0
  814. package/samples/nodejs-app/readme.md +140 -0
  815. package/samples/nodejs-app/tsconfig.json +14 -0
  816. package/samples/nodejs-commonjs/package-lock.json +702 -0
  817. package/samples/nodejs-commonjs/package.json +21 -0
  818. package/samples/nodejs-commonjs/readme.md +58 -0
  819. package/samples/nodejs-commonjs/src/index.ts +23 -0
  820. package/samples/nodejs-commonjs/src/settings.ts +35 -0
  821. package/samples/nodejs-commonjs/tsconfig.json +35 -0
  822. package/samples/project-preset/README.md +73 -0
  823. package/samples/project-preset/package-lock.json +21097 -0
  824. package/samples/project-preset/package.json +29 -0
  825. package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_color.png +0 -0
  826. package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_outline.png +0 -0
  827. package/samples/readme.md +16 -0
  828. package/settings.example.js +57 -0
  829. package/test/args.ts +107 -0
  830. package/test/clean-subsite.ts +36 -0
  831. package/test/core/assumptions.ts +99 -0
  832. package/test/core/storage.ts +60 -0
  833. package/test/core/timeline.ts +205 -0
  834. package/test/core/util.ts +205 -0
  835. package/test/graph/assets/testconvert.docx +0 -0
  836. package/test/graph/batch.ts +125 -0
  837. package/test/graph/calendars.ts +234 -0
  838. package/test/graph/columns.ts +247 -0
  839. package/test/graph/contacts.ts +254 -0
  840. package/test/graph/content-types.ts +206 -0
  841. package/test/graph/directoryobjects.ts +115 -0
  842. package/test/graph/groups.ts +130 -0
  843. package/test/graph/lists.ts +72 -0
  844. package/test/graph/onedrive.ts +365 -0
  845. package/test/graph/outlook.ts +95 -0
  846. package/test/graph/paging.ts +91 -0
  847. package/test/graph/planner.ts +160 -0
  848. package/test/graph/querable.ts +97 -0
  849. package/test/graph/search.ts +4 -0
  850. package/test/graph/shares.ts +26 -0
  851. package/test/graph/sites.ts +40 -0
  852. package/test/graph/teams.ts +76 -0
  853. package/test/graph/utilities/getTestingGraphSPSite.ts +27 -0
  854. package/test/graph/utilities/getValidUser.ts +37 -0
  855. package/test/load-settings.ts +103 -0
  856. package/test/logging/logging.ts +86 -0
  857. package/test/mocha-root-hooks.ts +227 -0
  858. package/test/nodejs/sp-extensions.ts +86 -0
  859. package/test/pnp-test.ts +60 -0
  860. package/test/queryable/add-prop.ts +24 -0
  861. package/test/queryable/behaviors.ts +188 -0
  862. package/test/queryable/invokable.ts +35 -0
  863. package/test/queryable/queryable.ts +118 -0
  864. package/test/sp/alias.ts +46 -0
  865. package/test/sp/appcatalog.ts +142 -0
  866. package/test/sp/assets/helloworld.sppkg +0 -0
  867. package/test/sp/assets/sample_file.jpg +0 -0
  868. package/test/sp/attachments.ts +134 -0
  869. package/test/sp/batch.ts +362 -0
  870. package/test/sp/clientside-pages.ts +426 -0
  871. package/test/sp/column-defaults.ts +225 -0
  872. package/test/sp/comments.ts +202 -0
  873. package/test/sp/content-types.ts +68 -0
  874. package/test/sp/favorites.ts +2 -0
  875. package/test/sp/features.ts +201 -0
  876. package/test/sp/fields.ts +396 -0
  877. package/test/sp/files.ts +338 -0
  878. package/test/sp/folders.ts +242 -0
  879. package/test/sp/forms.ts +22 -0
  880. package/test/sp/groupsitemanager.ts +88 -0
  881. package/test/sp/hubsites.ts +41 -0
  882. package/test/sp/items.ts +179 -0
  883. package/test/sp/lists.ts +319 -0
  884. package/test/sp/navigation.ts +167 -0
  885. package/test/sp/profiles.ts +2 -0
  886. package/test/sp/query-escaping.ts +94 -0
  887. package/test/sp/recycle-bin.ts +1 -0
  888. package/test/sp/regional-settings.ts +58 -0
  889. package/test/sp/related-items.ts +94 -0
  890. package/test/sp/search.ts +39 -0
  891. package/test/sp/security.ts +90 -0
  892. package/test/sp/sharing.ts +313 -0
  893. package/test/sp/site-designs.ts +224 -0
  894. package/test/sp/site-groups.ts +98 -0
  895. package/test/sp/site-scripts.ts +162 -0
  896. package/test/sp/site-users.ts +93 -0
  897. package/test/sp/sites.ts +156 -0
  898. package/test/sp/social.ts +2 -0
  899. package/test/sp/spfx.ts +52 -0
  900. package/test/sp/sputilities.ts +78 -0
  901. package/test/sp/subscriptions.ts +64 -0
  902. package/test/sp/taxonomy.ts +178 -0
  903. package/test/sp/user-custom-actions.ts +31 -0
  904. package/test/sp/views.ts +117 -0
  905. package/test/sp/webparts.ts +38 -0
  906. package/test/sp/webs.ts +249 -0
  907. package/test/test-invokable-props.ts +35 -0
  908. package/test/test-props.ts +90 -0
  909. package/test/test-recording.ts +171 -0
  910. package/test/tsconfig.json +18 -0
  911. package/tools/buildsystem/package-lock.json +4404 -0
  912. package/tools/buildsystem/package.json +56 -0
  913. package/tools/buildsystem/readme.md +23 -0
  914. package/tools/config.js +34 -0
  915. package/tools/local-module-resolver/cjs.ts +33 -0
  916. package/tools/local-module-resolver/esm-debug.ts +2 -0
  917. package/tools/local-module-resolver/esm-test.ts +2 -0
  918. package/tools/local-module-resolver/esm.ts +112 -0
  919. package/tools/local-module-resolver/readme.md +8 -0
  920. package/tsconfig.buildsystem.json +17 -0
  921. package/tsconfig.json +42 -0
@@ -0,0 +1,3477 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+
10
+ <link rel="canonical" href="https://pnp.github.io/pnpjs/sp/clientside-pages/">
11
+
12
+
13
+ <link rel="shortcut icon" href="../../assets/images/favicon.png">
14
+ <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-6.0.2">
15
+
16
+
17
+
18
+ <title>Client-side Pages - PnP/PnPjs</title>
19
+
20
+
21
+
22
+ <link rel="stylesheet" href="../../assets/stylesheets/main.38780c08.min.css">
23
+
24
+
25
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.3f72e892.min.css">
26
+
27
+
28
+
29
+ <meta name="theme-color" content="#2094f3">
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+ <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
38
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
39
+ <style>body,input{font-family:"Roboto",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono",SFMono-Regular,Consolas,Menlo,monospace}</style>
40
+
41
+
42
+
43
+
44
+ <link rel="stylesheet" href="../../css/extra.css">
45
+
46
+
47
+ <img src="https://telemetry.sharepointpnp.com/@pnp/pnpjs/ghpages/pnpjs/sp/clientside-pages/" alt="spacer" width="1" height="1" />
48
+
49
+
50
+ </head>
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+ <body dir="ltr" data-md-color-scheme="" data-md-color-primary="blue" data-md-color-accent="">
59
+
60
+
61
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
62
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
63
+ <label class="md-overlay" for="__drawer"></label>
64
+ <div data-md-component="skip">
65
+
66
+
67
+ <a href="#pnpspclientside-pages" class="md-skip">
68
+ Skip to content
69
+ </a>
70
+
71
+ </div>
72
+ <div data-md-component="announce">
73
+
74
+ </div>
75
+
76
+ <header class="md-header" data-md-component="header">
77
+ <nav class="md-header-nav md-grid" aria-label="Header">
78
+ <a href="https://pnp.github.io/pnpjs/" title="PnP/PnPjs" class="md-header-nav__button md-logo" aria-label="PnP/PnPjs">
79
+
80
+ <img src="../../img/Logo.png" alt="logo">
81
+
82
+ </a>
83
+ <label class="md-header-nav__button md-icon" for="__drawer">
84
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
85
+ </label>
86
+ <div class="md-header-nav__title" data-md-component="header-title">
87
+
88
+ <div class="md-header-nav__ellipsis">
89
+ <span class="md-header-nav__topic md-ellipsis">
90
+ PnP/PnPjs
91
+ </span>
92
+ <span class="md-header-nav__topic md-ellipsis">
93
+
94
+ Client-side Pages
95
+
96
+ </span>
97
+ </div>
98
+
99
+ </div>
100
+
101
+ <label class="md-header-nav__button md-icon" for="__search">
102
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
103
+ </label>
104
+
105
+ <div class="md-search" data-md-component="search" role="dialog">
106
+ <label class="md-search__overlay" for="__search"></label>
107
+ <div class="md-search__inner" role="search">
108
+ <form class="md-search__form" name="search">
109
+ <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active">
110
+ <label class="md-search__icon md-icon" for="__search">
111
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
112
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
113
+ </label>
114
+ <button type="reset" class="md-search__icon md-icon" aria-label="Clear" data-md-component="search-reset" tabindex="-1">
115
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
116
+ </button>
117
+ </form>
118
+ <div class="md-search__output">
119
+ <div class="md-search__scrollwrap" data-md-scrollfix>
120
+ <div class="md-search-result" data-md-component="search-result">
121
+ <div class="md-search-result__meta">
122
+ Initializing search
123
+ </div>
124
+ <ol class="md-search-result__list"></ol>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ </div>
130
+
131
+
132
+ <div class="md-header-nav__source">
133
+
134
+ <a href="https://github.com/pnp/pnpjs/" title="Go to repository" class="md-source">
135
+ <div class="md-source__icon md-icon">
136
+
137
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 40.45a28.87 28.87 0 00-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 01-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 000 40.81l195.61 195.6a28.86 28.86 0 0040.8 0l194.69-194.69a28.86 28.86 0 000-40.81z"/></svg>
138
+ </div>
139
+ <div class="md-source__repository">
140
+ GitHub
141
+ </div>
142
+ </a>
143
+ </div>
144
+
145
+ </nav>
146
+ </header>
147
+
148
+ <div class="md-container" data-md-component="container">
149
+
150
+
151
+
152
+
153
+ <main class="md-main" data-md-component="main">
154
+ <div class="md-main__inner md-grid">
155
+
156
+
157
+ <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
158
+ <div class="md-sidebar__scrollwrap">
159
+ <div class="md-sidebar__inner">
160
+ <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
161
+ <label class="md-nav__title" for="__drawer">
162
+ <a href="https://pnp.github.io/pnpjs/" title="PnP/PnPjs" class="md-nav__button md-logo" aria-label="PnP/PnPjs">
163
+
164
+ <img src="../../img/Logo.png" alt="logo">
165
+
166
+ </a>
167
+ PnP/PnPjs
168
+ </label>
169
+
170
+ <div class="md-nav__source">
171
+
172
+ <a href="https://github.com/pnp/pnpjs/" title="Go to repository" class="md-source">
173
+ <div class="md-source__icon md-icon">
174
+
175
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 40.45a28.87 28.87 0 00-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 01-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 000 40.81l195.61 195.6a28.86 28.86 0 0040.8 0l194.69-194.69a28.86 28.86 0 000-40.81z"/></svg>
176
+ </div>
177
+ <div class="md-source__repository">
178
+ GitHub
179
+ </div>
180
+ </a>
181
+ </div>
182
+
183
+ <ul class="md-nav__list" data-md-scrollfix>
184
+
185
+
186
+
187
+
188
+
189
+
190
+ <li class="md-nav__item">
191
+ <a href="../.." class="md-nav__link">
192
+ Home
193
+ </a>
194
+ </li>
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+ <li class="md-nav__item">
203
+ <a href="../../getting-started/" class="md-nav__link">
204
+ Getting Started
205
+ </a>
206
+ </li>
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+ <li class="md-nav__item">
215
+ <a href="../../news/2020-year-in-review/" class="md-nav__link">
216
+ 2020 Year In Review
217
+ </a>
218
+ </li>
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+ <li class="md-nav__item md-nav__item--nested">
227
+
228
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
229
+
230
+ <label class="md-nav__link" for="nav-4">
231
+ General
232
+ <span class="md-nav__icon md-icon"></span>
233
+ </label>
234
+ <nav class="md-nav" aria-label="General" data-md-level="1">
235
+ <label class="md-nav__title" for="nav-4">
236
+ <span class="md-nav__icon md-icon"></span>
237
+ General
238
+ </label>
239
+ <ul class="md-nav__list" data-md-scrollfix>
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+ <li class="md-nav__item">
248
+ <a href="../../getting-started/" class="md-nav__link">
249
+ Getting Started
250
+ </a>
251
+ </li>
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+ <li class="md-nav__item">
260
+ <a href="../../transition-guide/" class="md-nav__link">
261
+ Transition Guide
262
+ </a>
263
+ </li>
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ <li class="md-nav__item">
272
+ <a href="../../npm-scripts/" class="md-nav__link">
273
+ Npm Scripts
274
+ </a>
275
+ </li>
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+ <li class="md-nav__item">
284
+ <a href="../../SPFx-on-premises/" class="md-nav__link">
285
+ SPFx On-Premises
286
+ </a>
287
+ </li>
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+ <li class="md-nav__item">
296
+ <a href="../../nodejs-support/" class="md-nav__link">
297
+ Working in Nodejs
298
+ </a>
299
+ </li>
300
+
301
+
302
+ </ul>
303
+ </nav>
304
+ </li>
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+ <li class="md-nav__item md-nav__item--nested">
313
+
314
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
315
+
316
+ <label class="md-nav__link" for="nav-5">
317
+ Library Concepts
318
+ <span class="md-nav__icon md-icon"></span>
319
+ </label>
320
+ <nav class="md-nav" aria-label="Library Concepts" data-md-level="1">
321
+ <label class="md-nav__title" for="nav-5">
322
+ <span class="md-nav__icon md-icon"></span>
323
+ Library Concepts
324
+ </label>
325
+ <ul class="md-nav__list" data-md-scrollfix>
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+ <li class="md-nav__item">
334
+ <a href="../../concepts/configuration/" class="md-nav__link">
335
+ Configuration
336
+ </a>
337
+ </li>
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+ <li class="md-nav__item">
346
+ <a href="../../concepts/selective-imports/" class="md-nav__link">
347
+ Selective Imports
348
+ </a>
349
+ </li>
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+ <li class="md-nav__item">
358
+ <a href="../../concepts/custom-bundle/" class="md-nav__link">
359
+ Custom Bundle
360
+ </a>
361
+ </li>
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+ <li class="md-nav__item">
370
+ <a href="../../concepts/ie11-mode/" class="md-nav__link">
371
+ IE11 Mode
372
+ </a>
373
+ </li>
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+ <li class="md-nav__item">
382
+ <a href="../../concepts/invokable/" class="md-nav__link">
383
+ Invokables
384
+ </a>
385
+ </li>
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+ <li class="md-nav__item">
394
+ <a href="../../concepts/polyfill/" class="md-nav__link">
395
+ Polyfills
396
+ </a>
397
+ </li>
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+ <li class="md-nav__item">
406
+ <a href="../../concepts/settings/" class="md-nav__link">
407
+ Settings
408
+ </a>
409
+ </li>
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+ <li class="md-nav__item">
418
+ <a href="../../concepts/error-handling/" class="md-nav__link">
419
+ Error Handling
420
+ </a>
421
+ </li>
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+ <li class="md-nav__item md-nav__item--nested">
430
+
431
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5-9" type="checkbox" id="nav-5-9">
432
+
433
+ <label class="md-nav__link" for="nav-5-9">
434
+ Authentication
435
+ <span class="md-nav__icon md-icon"></span>
436
+ </label>
437
+ <nav class="md-nav" aria-label="Authentication" data-md-level="2">
438
+ <label class="md-nav__title" for="nav-5-9">
439
+ <span class="md-nav__icon md-icon"></span>
440
+ Authentication
441
+ </label>
442
+ <ul class="md-nav__list" data-md-scrollfix>
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+ <li class="md-nav__item">
451
+ <a href="../../authentication/" class="md-nav__link">
452
+ Getting Started
453
+ </a>
454
+ </li>
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+ <li class="md-nav__item">
463
+ <a href="../../authentication/client-spfx/" class="md-nav__link">
464
+ SPFx Auth
465
+ </a>
466
+ </li>
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+ <li class="md-nav__item">
475
+ <a href="../../authentication/msaljsclient/" class="md-nav__link">
476
+ MSAL Client
477
+ </a>
478
+ </li>
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+ <li class="md-nav__item">
487
+ <a href="../../authentication/adaljsclient/" class="md-nav__link">
488
+ ADAL Client
489
+ </a>
490
+ </li>
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+ <li class="md-nav__item">
499
+ <a href="../../authentication/client-spa/" class="md-nav__link">
500
+ SPA Auth
501
+ </a>
502
+ </li>
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+ <li class="md-nav__item">
511
+ <a href="../../authentication/server-nodejs/" class="md-nav__link">
512
+ NodeJS Auth
513
+ </a>
514
+ </li>
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+ <li class="md-nav__item">
523
+ <a href="../../authentication/sp-app-registration/" class="md-nav__link">
524
+ SP App Reg
525
+ </a>
526
+ </li>
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+ <li class="md-nav__item">
535
+ <a href="../../authentication/bearertokenclient/" class="md-nav__link">
536
+ Bearer Token Client
537
+ </a>
538
+ </li>
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+ <li class="md-nav__item">
547
+ <a href="../../authentication/lambdaclient/" class="md-nav__link">
548
+ Lambda Token Client
549
+ </a>
550
+ </li>
551
+
552
+
553
+ </ul>
554
+ </nav>
555
+ </li>
556
+
557
+
558
+ </ul>
559
+ </nav>
560
+ </li>
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
571
+
572
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6" checked>
573
+
574
+ <label class="md-nav__link" for="nav-6">
575
+ Packages
576
+ <span class="md-nav__icon md-icon"></span>
577
+ </label>
578
+ <nav class="md-nav" aria-label="Packages" data-md-level="1">
579
+ <label class="md-nav__title" for="nav-6">
580
+ <span class="md-nav__icon md-icon"></span>
581
+ Packages
582
+ </label>
583
+ <ul class="md-nav__list" data-md-scrollfix>
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+ <li class="md-nav__item">
592
+ <a href="../../packages/" class="md-nav__link">
593
+ Packages
594
+ </a>
595
+ </li>
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+ <li class="md-nav__item md-nav__item--nested">
604
+
605
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-2" type="checkbox" id="nav-6-2">
606
+
607
+ <label class="md-nav__link" for="nav-6-2">
608
+ common
609
+ <span class="md-nav__icon md-icon"></span>
610
+ </label>
611
+ <nav class="md-nav" aria-label="common" data-md-level="2">
612
+ <label class="md-nav__title" for="nav-6-2">
613
+ <span class="md-nav__icon md-icon"></span>
614
+ common
615
+ </label>
616
+ <ul class="md-nav__list" data-md-scrollfix>
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+ <li class="md-nav__item">
625
+ <a href="../../common/" class="md-nav__link">
626
+ common
627
+ </a>
628
+ </li>
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+ <li class="md-nav__item">
637
+ <a href="../../common/collections/" class="md-nav__link">
638
+ collections
639
+ </a>
640
+ </li>
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+ <li class="md-nav__item">
649
+ <a href="../../common/custom-httpclientimpl/" class="md-nav__link">
650
+ Custom HttpClientImpl
651
+ </a>
652
+ </li>
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+ <li class="md-nav__item">
661
+ <a href="../../common/libconfig/" class="md-nav__link">
662
+ libconfig
663
+ </a>
664
+ </li>
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+ <li class="md-nav__item">
673
+ <a href="../../common/netutil/" class="md-nav__link">
674
+ netutil
675
+ </a>
676
+ </li>
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+ <li class="md-nav__item">
685
+ <a href="../../common/storage/" class="md-nav__link">
686
+ storage
687
+ </a>
688
+ </li>
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+ <li class="md-nav__item">
697
+ <a href="../../common/util/" class="md-nav__link">
698
+ util
699
+ </a>
700
+ </li>
701
+
702
+
703
+ </ul>
704
+ </nav>
705
+ </li>
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+ <li class="md-nav__item md-nav__item--nested">
714
+
715
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-3" type="checkbox" id="nav-6-3">
716
+
717
+ <label class="md-nav__link" for="nav-6-3">
718
+ config-store
719
+ <span class="md-nav__icon md-icon"></span>
720
+ </label>
721
+ <nav class="md-nav" aria-label="config-store" data-md-level="2">
722
+ <label class="md-nav__title" for="nav-6-3">
723
+ <span class="md-nav__icon md-icon"></span>
724
+ config-store
725
+ </label>
726
+ <ul class="md-nav__list" data-md-scrollfix>
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+ <li class="md-nav__item">
735
+ <a href="../../config-store/" class="md-nav__link">
736
+ config-store
737
+ </a>
738
+ </li>
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+ <li class="md-nav__item">
747
+ <a href="../../config-store/configuration/" class="md-nav__link">
748
+ configuration
749
+ </a>
750
+ </li>
751
+
752
+
753
+
754
+
755
+
756
+
757
+
758
+ <li class="md-nav__item">
759
+ <a href="../../config-store/providers/" class="md-nav__link">
760
+ providers
761
+ </a>
762
+ </li>
763
+
764
+
765
+ </ul>
766
+ </nav>
767
+ </li>
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+ <li class="md-nav__item md-nav__item--nested">
776
+
777
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-4" type="checkbox" id="nav-6-4">
778
+
779
+ <label class="md-nav__link" for="nav-6-4">
780
+ graph
781
+ <span class="md-nav__icon md-icon"></span>
782
+ </label>
783
+ <nav class="md-nav" aria-label="graph" data-md-level="2">
784
+ <label class="md-nav__title" for="nav-6-4">
785
+ <span class="md-nav__icon md-icon"></span>
786
+ graph
787
+ </label>
788
+ <ul class="md-nav__list" data-md-scrollfix>
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+ <li class="md-nav__item">
797
+ <a href="../../graph/" class="md-nav__link">
798
+ graph
799
+ </a>
800
+ </li>
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+ <li class="md-nav__item">
809
+ <a href="../../graph/groups/" class="md-nav__link">
810
+ groups
811
+ </a>
812
+ </li>
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+ <li class="md-nav__item">
821
+ <a href="../../graph/insights/" class="md-nav__link">
822
+ insights
823
+ </a>
824
+ </li>
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+ <li class="md-nav__item">
833
+ <a href="../../graph/contacts/" class="md-nav__link">
834
+ contacts
835
+ </a>
836
+ </li>
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+ <li class="md-nav__item">
845
+ <a href="../../graph/calendars/" class="md-nav__link">
846
+ calendars
847
+ </a>
848
+ </li>
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+ <li class="md-nav__item">
857
+ <a href="../../graph/directoryobjects/" class="md-nav__link">
858
+ directory objects
859
+ </a>
860
+ </li>
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+ <li class="md-nav__item">
869
+ <a href="../../graph/invitations/" class="md-nav__link">
870
+ invitations
871
+ </a>
872
+ </li>
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+ <li class="md-nav__item">
881
+ <a href="../../graph/onedrive/" class="md-nav__link">
882
+ onedrive
883
+ </a>
884
+ </li>
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+ <li class="md-nav__item">
893
+ <a href="../../graph/outlook/" class="md-nav__link">
894
+ outlook
895
+ </a>
896
+ </li>
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+ <li class="md-nav__item">
905
+ <a href="../../graph/photos/" class="md-nav__link">
906
+ photos
907
+ </a>
908
+ </li>
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+ <li class="md-nav__item">
917
+ <a href="../../graph/planner/" class="md-nav__link">
918
+ planner
919
+ </a>
920
+ </li>
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+ <li class="md-nav__item">
929
+ <a href="../../graph/search/" class="md-nav__link">
930
+ search
931
+ </a>
932
+ </li>
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+ <li class="md-nav__item">
941
+ <a href="../../graph/subscriptions/" class="md-nav__link">
942
+ subscriptions
943
+ </a>
944
+ </li>
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+ <li class="md-nav__item">
953
+ <a href="../../graph/teams/" class="md-nav__link">
954
+ teams
955
+ </a>
956
+ </li>
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+ <li class="md-nav__item">
965
+ <a href="../../graph/users/" class="md-nav__link">
966
+ users
967
+ </a>
968
+ </li>
969
+
970
+
971
+ </ul>
972
+ </nav>
973
+ </li>
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+ <li class="md-nav__item">
982
+ <a href="../../logging/" class="md-nav__link">
983
+ logging
984
+ </a>
985
+ </li>
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+ <li class="md-nav__item md-nav__item--nested">
994
+
995
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-6" type="checkbox" id="nav-6-6">
996
+
997
+ <label class="md-nav__link" for="nav-6-6">
998
+ nodejs
999
+ <span class="md-nav__icon md-icon"></span>
1000
+ </label>
1001
+ <nav class="md-nav" aria-label="nodejs" data-md-level="2">
1002
+ <label class="md-nav__title" for="nav-6-6">
1003
+ <span class="md-nav__icon md-icon"></span>
1004
+ nodejs
1005
+ </label>
1006
+ <ul class="md-nav__list" data-md-scrollfix>
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+ <li class="md-nav__item">
1015
+ <a href="../../nodejs/" class="md-nav__link">
1016
+ nodejs
1017
+ </a>
1018
+ </li>
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+ <li class="md-nav__item">
1027
+ <a href="../../nodejs/sp-fetch-client/" class="md-nav__link">
1028
+ SPFetchClient
1029
+ </a>
1030
+ </li>
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+ <li class="md-nav__item">
1039
+ <a href="../../nodejs/adal-fetch-client/" class="md-nav__link">
1040
+ AdalFetchClient
1041
+ </a>
1042
+ </li>
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+ <li class="md-nav__item">
1051
+ <a href="../../nodejs/bearer-token-fetch-client/" class="md-nav__link">
1052
+ BearerTokenFetchClient
1053
+ </a>
1054
+ </li>
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+ <li class="md-nav__item">
1063
+ <a href="../../nodejs/provider-hosted-app/" class="md-nav__link">
1064
+ ProviderHostedRequestContext
1065
+ </a>
1066
+ </li>
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+ <li class="md-nav__item">
1075
+ <a href="../../nodejs/sp-extensions/" class="md-nav__link">
1076
+ sp Extensions
1077
+ </a>
1078
+ </li>
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+ <li class="md-nav__item">
1087
+ <a href="../../nodejs/proxy/" class="md-nav__link">
1088
+ proxy
1089
+ </a>
1090
+ </li>
1091
+
1092
+
1093
+ </ul>
1094
+ </nav>
1095
+ </li>
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+ <li class="md-nav__item md-nav__item--nested">
1104
+
1105
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-7" type="checkbox" id="nav-6-7">
1106
+
1107
+ <label class="md-nav__link" for="nav-6-7">
1108
+ odata
1109
+ <span class="md-nav__icon md-icon"></span>
1110
+ </label>
1111
+ <nav class="md-nav" aria-label="odata" data-md-level="2">
1112
+ <label class="md-nav__title" for="nav-6-7">
1113
+ <span class="md-nav__icon md-icon"></span>
1114
+ odata
1115
+ </label>
1116
+ <ul class="md-nav__list" data-md-scrollfix>
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+ <li class="md-nav__item">
1125
+ <a href="../../odata/" class="md-nav__link">
1126
+ odata
1127
+ </a>
1128
+ </li>
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+ <li class="md-nav__item">
1137
+ <a href="../../odata/caching/" class="md-nav__link">
1138
+ caching
1139
+ </a>
1140
+ </li>
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+ <li class="md-nav__item">
1149
+ <a href="../../odata/core/" class="md-nav__link">
1150
+ core
1151
+ </a>
1152
+ </li>
1153
+
1154
+
1155
+
1156
+
1157
+
1158
+
1159
+
1160
+ <li class="md-nav__item">
1161
+ <a href="../../odata/odata-batch/" class="md-nav__link">
1162
+ OData Batching
1163
+ </a>
1164
+ </li>
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+ <li class="md-nav__item">
1173
+ <a href="../../odata/extensions/" class="md-nav__link">
1174
+ Extending an OData library
1175
+ </a>
1176
+ </li>
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+ <li class="md-nav__item">
1185
+ <a href="../../odata/debug/" class="md-nav__link">
1186
+ Debugging Proxy Objects
1187
+ </a>
1188
+ </li>
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+ <li class="md-nav__item">
1197
+ <a href="../../odata/parsers/" class="md-nav__link">
1198
+ Parsers
1199
+ </a>
1200
+ </li>
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+ <li class="md-nav__item">
1209
+ <a href="../../odata/pipeline/" class="md-nav__link">
1210
+ Pipeline
1211
+ </a>
1212
+ </li>
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+ <li class="md-nav__item">
1221
+ <a href="../../odata/queryable/" class="md-nav__link">
1222
+ Queryable
1223
+ </a>
1224
+ </li>
1225
+
1226
+
1227
+ </ul>
1228
+ </nav>
1229
+ </li>
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+ <li class="md-nav__item md-nav__item--nested">
1238
+
1239
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-8" type="checkbox" id="nav-6-8">
1240
+
1241
+ <label class="md-nav__link" for="nav-6-8">
1242
+ pnpjs
1243
+ <span class="md-nav__icon md-icon"></span>
1244
+ </label>
1245
+ <nav class="md-nav" aria-label="pnpjs" data-md-level="2">
1246
+ <label class="md-nav__title" for="nav-6-8">
1247
+ <span class="md-nav__icon md-icon"></span>
1248
+ pnpjs
1249
+ </label>
1250
+ <ul class="md-nav__list" data-md-scrollfix>
1251
+
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+ <li class="md-nav__item">
1259
+ <a href="../../pnpjs/" class="md-nav__link">
1260
+ pnpjs
1261
+ </a>
1262
+ </li>
1263
+
1264
+
1265
+ </ul>
1266
+ </nav>
1267
+ </li>
1268
+
1269
+
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1278
+
1279
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-9" type="checkbox" id="nav-6-9" checked>
1280
+
1281
+ <label class="md-nav__link" for="nav-6-9">
1282
+ sp
1283
+ <span class="md-nav__icon md-icon"></span>
1284
+ </label>
1285
+ <nav class="md-nav" aria-label="sp" data-md-level="2">
1286
+ <label class="md-nav__title" for="nav-6-9">
1287
+ <span class="md-nav__icon md-icon"></span>
1288
+ sp
1289
+ </label>
1290
+ <ul class="md-nav__list" data-md-scrollfix>
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+ <li class="md-nav__item">
1299
+ <a href="../" class="md-nav__link">
1300
+ sp
1301
+ </a>
1302
+ </li>
1303
+
1304
+
1305
+
1306
+
1307
+
1308
+
1309
+
1310
+ <li class="md-nav__item">
1311
+ <a href="../alias-parameters/" class="md-nav__link">
1312
+ Alias Parameters
1313
+ </a>
1314
+ </li>
1315
+
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+ <li class="md-nav__item">
1323
+ <a href="../alm/" class="md-nav__link">
1324
+ ALM api
1325
+ </a>
1326
+ </li>
1327
+
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+ <li class="md-nav__item">
1335
+ <a href="../attachments/" class="md-nav__link">
1336
+ Attachments
1337
+ </a>
1338
+ </li>
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+
1346
+
1347
+
1348
+ <li class="md-nav__item md-nav__item--active">
1349
+
1350
+ <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
1351
+
1352
+
1353
+
1354
+
1355
+ <label class="md-nav__link md-nav__link--active" for="__toc">
1356
+ Client-side Pages
1357
+ <span class="md-nav__icon md-icon"></span>
1358
+ </label>
1359
+
1360
+ <a href="./" class="md-nav__link md-nav__link--active">
1361
+ Client-side Pages
1362
+ </a>
1363
+
1364
+
1365
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+ <label class="md-nav__title" for="__toc">
1372
+ <span class="md-nav__icon md-icon"></span>
1373
+ Table of contents
1374
+ </label>
1375
+ <ul class="md-nav__list" data-md-scrollfix>
1376
+
1377
+ <li class="md-nav__item">
1378
+ <a href="#create-a-new-page" class="md-nav__link">
1379
+ Create a new Page
1380
+ </a>
1381
+
1382
+ <nav class="md-nav" aria-label="Create a new Page">
1383
+ <ul class="md-nav__list">
1384
+
1385
+ <li class="md-nav__item">
1386
+ <a href="#create-using-iwebaddclientsidepage" class="md-nav__link">
1387
+ Create using IWeb.addClientsidePage
1388
+ </a>
1389
+
1390
+ </li>
1391
+
1392
+ <li class="md-nav__item">
1393
+ <a href="#create-using-createclientsidepage-method" class="md-nav__link">
1394
+ Create using CreateClientsidePage method
1395
+ </a>
1396
+
1397
+ </li>
1398
+
1399
+ </ul>
1400
+ </nav>
1401
+
1402
+ </li>
1403
+
1404
+ <li class="md-nav__item">
1405
+ <a href="#load-pages" class="md-nav__link">
1406
+ Load Pages
1407
+ </a>
1408
+
1409
+ <nav class="md-nav" aria-label="Load Pages">
1410
+ <ul class="md-nav__list">
1411
+
1412
+ <li class="md-nav__item">
1413
+ <a href="#load-using-iwebloadclientsidepage" class="md-nav__link">
1414
+ Load using IWeb.loadClientsidePage
1415
+ </a>
1416
+
1417
+ </li>
1418
+
1419
+ <li class="md-nav__item">
1420
+ <a href="#load-using-clientsidepagefromfile" class="md-nav__link">
1421
+ Load using ClientsidePageFromFile
1422
+ </a>
1423
+
1424
+ </li>
1425
+
1426
+ </ul>
1427
+ </nav>
1428
+
1429
+ </li>
1430
+
1431
+ <li class="md-nav__item">
1432
+ <a href="#edit-sections-and-columns" class="md-nav__link">
1433
+ Edit Sections and Columns
1434
+ </a>
1435
+
1436
+ <nav class="md-nav" aria-label="Edit Sections and Columns">
1437
+ <ul class="md-nav__list">
1438
+
1439
+ <li class="md-nav__item">
1440
+ <a href="#manipulate-sections-and-columns" class="md-nav__link">
1441
+ Manipulate Sections and Columns
1442
+ </a>
1443
+
1444
+ </li>
1445
+
1446
+ <li class="md-nav__item">
1447
+ <a href="#vertical-section" class="md-nav__link">
1448
+ Vertical Section
1449
+ </a>
1450
+
1451
+ </li>
1452
+
1453
+ <li class="md-nav__item">
1454
+ <a href="#reorder-sections" class="md-nav__link">
1455
+ Reorder Sections
1456
+ </a>
1457
+
1458
+ </li>
1459
+
1460
+ <li class="md-nav__item">
1461
+ <a href="#reorder-columns" class="md-nav__link">
1462
+ Reorder Columns
1463
+ </a>
1464
+
1465
+ </li>
1466
+
1467
+ </ul>
1468
+ </nav>
1469
+
1470
+ </li>
1471
+
1472
+ <li class="md-nav__item">
1473
+ <a href="#clientside-controls" class="md-nav__link">
1474
+ Clientside Controls
1475
+ </a>
1476
+
1477
+ <nav class="md-nav" aria-label="Clientside Controls">
1478
+ <ul class="md-nav__list">
1479
+
1480
+ <li class="md-nav__item">
1481
+ <a href="#add-text-content" class="md-nav__link">
1482
+ Add Text Content
1483
+ </a>
1484
+
1485
+ </li>
1486
+
1487
+ <li class="md-nav__item">
1488
+ <a href="#add-controls" class="md-nav__link">
1489
+ Add Controls
1490
+ </a>
1491
+
1492
+ </li>
1493
+
1494
+ <li class="md-nav__item">
1495
+ <a href="#handle-different-webparts-settings" class="md-nav__link">
1496
+ Handle Different Webpart's Settings
1497
+ </a>
1498
+
1499
+ </li>
1500
+
1501
+ </ul>
1502
+ </nav>
1503
+
1504
+ </li>
1505
+
1506
+ <li class="md-nav__item">
1507
+ <a href="#page-operations" class="md-nav__link">
1508
+ Page Operations
1509
+ </a>
1510
+
1511
+ <nav class="md-nav" aria-label="Page Operations">
1512
+ <ul class="md-nav__list">
1513
+
1514
+ <li class="md-nav__item">
1515
+ <a href="#pagelayout" class="md-nav__link">
1516
+ pageLayout
1517
+ </a>
1518
+
1519
+ </li>
1520
+
1521
+ <li class="md-nav__item">
1522
+ <a href="#bannerimageurl" class="md-nav__link">
1523
+ bannerImageUrl
1524
+ </a>
1525
+
1526
+ </li>
1527
+
1528
+ <li class="md-nav__item">
1529
+ <a href="#thumbnailurl" class="md-nav__link">
1530
+ thumbnailUrl
1531
+ </a>
1532
+
1533
+ </li>
1534
+
1535
+ <li class="md-nav__item">
1536
+ <a href="#topicheader" class="md-nav__link">
1537
+ topicHeader
1538
+ </a>
1539
+
1540
+ </li>
1541
+
1542
+ <li class="md-nav__item">
1543
+ <a href="#title" class="md-nav__link">
1544
+ title
1545
+ </a>
1546
+
1547
+ </li>
1548
+
1549
+ <li class="md-nav__item">
1550
+ <a href="#description" class="md-nav__link">
1551
+ description
1552
+ </a>
1553
+
1554
+ </li>
1555
+
1556
+ <li class="md-nav__item">
1557
+ <a href="#layouttype" class="md-nav__link">
1558
+ layoutType
1559
+ </a>
1560
+
1561
+ </li>
1562
+
1563
+ <li class="md-nav__item">
1564
+ <a href="#headertextalignment" class="md-nav__link">
1565
+ headerTextAlignment
1566
+ </a>
1567
+
1568
+ </li>
1569
+
1570
+ <li class="md-nav__item">
1571
+ <a href="#showtopicheader" class="md-nav__link">
1572
+ showTopicHeader
1573
+ </a>
1574
+
1575
+ </li>
1576
+
1577
+ <li class="md-nav__item">
1578
+ <a href="#showpublishdate" class="md-nav__link">
1579
+ showPublishDate
1580
+ </a>
1581
+
1582
+ </li>
1583
+
1584
+ <li class="md-nav__item">
1585
+ <a href="#get-set-author-details" class="md-nav__link">
1586
+ Get / Set author details
1587
+ </a>
1588
+
1589
+ </li>
1590
+
1591
+ <li class="md-nav__item">
1592
+ <a href="#load" class="md-nav__link">
1593
+ load
1594
+ </a>
1595
+
1596
+ </li>
1597
+
1598
+ <li class="md-nav__item">
1599
+ <a href="#save" class="md-nav__link">
1600
+ save
1601
+ </a>
1602
+
1603
+ </li>
1604
+
1605
+ <li class="md-nav__item">
1606
+ <a href="#discardpagecheckout" class="md-nav__link">
1607
+ discardPageCheckout
1608
+ </a>
1609
+
1610
+ </li>
1611
+
1612
+ <li class="md-nav__item">
1613
+ <a href="#promotetonews" class="md-nav__link">
1614
+ promoteToNews
1615
+ </a>
1616
+
1617
+ </li>
1618
+
1619
+ <li class="md-nav__item">
1620
+ <a href="#enablecomments-disablecomments" class="md-nav__link">
1621
+ enableComments &amp; disableComments
1622
+ </a>
1623
+
1624
+ </li>
1625
+
1626
+ <li class="md-nav__item">
1627
+ <a href="#findcontrolbyid" class="md-nav__link">
1628
+ findControlById
1629
+ </a>
1630
+
1631
+ </li>
1632
+
1633
+ <li class="md-nav__item">
1634
+ <a href="#findcontrol" class="md-nav__link">
1635
+ findControl
1636
+ </a>
1637
+
1638
+ </li>
1639
+
1640
+ <li class="md-nav__item">
1641
+ <a href="#like-unlike" class="md-nav__link">
1642
+ like &amp; unlike
1643
+ </a>
1644
+
1645
+ </li>
1646
+
1647
+ <li class="md-nav__item">
1648
+ <a href="#getlikedbyinformation" class="md-nav__link">
1649
+ getLikedByInformation
1650
+ </a>
1651
+
1652
+ </li>
1653
+
1654
+ <li class="md-nav__item">
1655
+ <a href="#copy" class="md-nav__link">
1656
+ copy
1657
+ </a>
1658
+
1659
+ </li>
1660
+
1661
+ <li class="md-nav__item">
1662
+ <a href="#copyto" class="md-nav__link">
1663
+ copyTo
1664
+ </a>
1665
+
1666
+ </li>
1667
+
1668
+ <li class="md-nav__item">
1669
+ <a href="#setbannerimage" class="md-nav__link">
1670
+ setBannerImage
1671
+ </a>
1672
+
1673
+ </li>
1674
+
1675
+ <li class="md-nav__item">
1676
+ <a href="#setbannerimagefromexternalurl" class="md-nav__link">
1677
+ setBannerImageFromExternalUrl
1678
+ </a>
1679
+
1680
+ </li>
1681
+
1682
+ </ul>
1683
+ </nav>
1684
+
1685
+ </li>
1686
+
1687
+ </ul>
1688
+
1689
+ </nav>
1690
+
1691
+ </li>
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+ <li class="md-nav__item">
1700
+ <a href="../column-defaults/" class="md-nav__link">
1701
+ Column Defaults
1702
+ </a>
1703
+ </li>
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+ <li class="md-nav__item">
1712
+ <a href="../comments-likes/" class="md-nav__link">
1713
+ Comments and Likes
1714
+ </a>
1715
+ </li>
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+ <li class="md-nav__item">
1724
+ <a href="../content-types/" class="md-nav__link">
1725
+ Content Types
1726
+ </a>
1727
+ </li>
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+ <li class="md-nav__item">
1736
+ <a href="../entity-merging/" class="md-nav__link">
1737
+ Entity Merging
1738
+ </a>
1739
+ </li>
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+ <li class="md-nav__item">
1748
+ <a href="../features/" class="md-nav__link">
1749
+ Features
1750
+ </a>
1751
+ </li>
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+ <li class="md-nav__item">
1760
+ <a href="../fields/" class="md-nav__link">
1761
+ Fields
1762
+ </a>
1763
+ </li>
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+ <li class="md-nav__item">
1772
+ <a href="../files/" class="md-nav__link">
1773
+ Files
1774
+ </a>
1775
+ </li>
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+ <li class="md-nav__item">
1784
+ <a href="../folders/" class="md-nav__link">
1785
+ Folders
1786
+ </a>
1787
+ </li>
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+ <li class="md-nav__item">
1796
+ <a href="../forms/" class="md-nav__link">
1797
+ Forms
1798
+ </a>
1799
+ </li>
1800
+
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+ <li class="md-nav__item">
1808
+ <a href="../hubsites/" class="md-nav__link">
1809
+ Hubsites
1810
+ </a>
1811
+ </li>
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+ <li class="md-nav__item">
1820
+ <a href="../items/" class="md-nav__link">
1821
+ List Items
1822
+ </a>
1823
+ </li>
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+ <li class="md-nav__item">
1832
+ <a href="../lists/" class="md-nav__link">
1833
+ Lists
1834
+ </a>
1835
+ </li>
1836
+
1837
+
1838
+
1839
+
1840
+
1841
+
1842
+
1843
+ <li class="md-nav__item">
1844
+ <a href="../navigation/" class="md-nav__link">
1845
+ Navigation
1846
+ </a>
1847
+ </li>
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+ <li class="md-nav__item">
1856
+ <a href="../permissions/" class="md-nav__link">
1857
+ Permissions
1858
+ </a>
1859
+ </li>
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+ <li class="md-nav__item">
1868
+ <a href="../profiles/" class="md-nav__link">
1869
+ Profiles
1870
+ </a>
1871
+ </li>
1872
+
1873
+
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+ <li class="md-nav__item">
1880
+ <a href="../regional-settings/" class="md-nav__link">
1881
+ Regional Settings
1882
+ </a>
1883
+ </li>
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+ <li class="md-nav__item">
1892
+ <a href="../related-items/" class="md-nav__link">
1893
+ Related Items
1894
+ </a>
1895
+ </li>
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+ <li class="md-nav__item">
1904
+ <a href="../search/" class="md-nav__link">
1905
+ Search
1906
+ </a>
1907
+ </li>
1908
+
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+ <li class="md-nav__item">
1916
+ <a href="../security/" class="md-nav__link">
1917
+ Security
1918
+ </a>
1919
+ </li>
1920
+
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+ <li class="md-nav__item">
1928
+ <a href="../sharing/" class="md-nav__link">
1929
+ Sharing
1930
+ </a>
1931
+ </li>
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+ <li class="md-nav__item">
1940
+ <a href="../site-designs/" class="md-nav__link">
1941
+ Site Designs
1942
+ </a>
1943
+ </li>
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+ <li class="md-nav__item">
1952
+ <a href="../site-groups/" class="md-nav__link">
1953
+ Site Groups
1954
+ </a>
1955
+ </li>
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+
1963
+ <li class="md-nav__item">
1964
+ <a href="../site-scripts/" class="md-nav__link">
1965
+ Site Scripts
1966
+ </a>
1967
+ </li>
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+ <li class="md-nav__item">
1976
+ <a href="../site-users/" class="md-nav__link">
1977
+ Site Users
1978
+ </a>
1979
+ </li>
1980
+
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+
1987
+ <li class="md-nav__item">
1988
+ <a href="../sites/" class="md-nav__link">
1989
+ Sites
1990
+ </a>
1991
+ </li>
1992
+
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+ <li class="md-nav__item">
2000
+ <a href="../social/" class="md-nav__link">
2001
+ Social
2002
+ </a>
2003
+ </li>
2004
+
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+ <li class="md-nav__item">
2012
+ <a href="../sp-utilities-utility/" class="md-nav__link">
2013
+ SP.Utilities.Utility
2014
+ </a>
2015
+ </li>
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+ <li class="md-nav__item">
2024
+ <a href="../subscriptions/" class="md-nav__link">
2025
+ Subscriptions
2026
+ </a>
2027
+ </li>
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+ <li class="md-nav__item">
2036
+ <a href="../taxonomy/" class="md-nav__link">
2037
+ Taxonomy
2038
+ </a>
2039
+ </li>
2040
+
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+
2047
+ <li class="md-nav__item">
2048
+ <a href="../tenant-properties/" class="md-nav__link">
2049
+ Tenant Properties
2050
+ </a>
2051
+ </li>
2052
+
2053
+
2054
+
2055
+
2056
+
2057
+
2058
+
2059
+ <li class="md-nav__item">
2060
+ <a href="../user-custom-actions/" class="md-nav__link">
2061
+ User custom actions
2062
+ </a>
2063
+ </li>
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+ <li class="md-nav__item">
2072
+ <a href="../views/" class="md-nav__link">
2073
+ Views
2074
+ </a>
2075
+ </li>
2076
+
2077
+
2078
+
2079
+
2080
+
2081
+
2082
+
2083
+ <li class="md-nav__item">
2084
+ <a href="../webs/" class="md-nav__link">
2085
+ Webs
2086
+ </a>
2087
+ </li>
2088
+
2089
+
2090
+
2091
+
2092
+
2093
+
2094
+
2095
+ <li class="md-nav__item">
2096
+ <a href="../custom-irequestclient/" class="md-nav__link">
2097
+ Custom Request Client
2098
+ </a>
2099
+ </li>
2100
+
2101
+
2102
+ </ul>
2103
+ </nav>
2104
+ </li>
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+ <li class="md-nav__item md-nav__item--nested">
2113
+
2114
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-10" type="checkbox" id="nav-6-10">
2115
+
2116
+ <label class="md-nav__link" for="nav-6-10">
2117
+ sp-addinhelpers
2118
+ <span class="md-nav__icon md-icon"></span>
2119
+ </label>
2120
+ <nav class="md-nav" aria-label="sp-addinhelpers" data-md-level="2">
2121
+ <label class="md-nav__title" for="nav-6-10">
2122
+ <span class="md-nav__icon md-icon"></span>
2123
+ sp-addinhelpers
2124
+ </label>
2125
+ <ul class="md-nav__list" data-md-scrollfix>
2126
+
2127
+
2128
+
2129
+
2130
+
2131
+
2132
+
2133
+ <li class="md-nav__item">
2134
+ <a href="../../sp-addinhelpers/" class="md-nav__link">
2135
+ sp-addinhelpers
2136
+ </a>
2137
+ </li>
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+
2144
+
2145
+ <li class="md-nav__item">
2146
+ <a href="../../sp-addinhelpers/sp-request-executor-client/" class="md-nav__link">
2147
+ SPRequestExecutorClient
2148
+ </a>
2149
+ </li>
2150
+
2151
+
2152
+
2153
+
2154
+
2155
+
2156
+
2157
+ <li class="md-nav__item">
2158
+ <a href="../../sp-addinhelpers/sp-rest-addin/" class="md-nav__link">
2159
+ SPRestAddIn
2160
+ </a>
2161
+ </li>
2162
+
2163
+
2164
+ </ul>
2165
+ </nav>
2166
+ </li>
2167
+
2168
+
2169
+ </ul>
2170
+ </nav>
2171
+ </li>
2172
+
2173
+
2174
+
2175
+
2176
+
2177
+
2178
+
2179
+ <li class="md-nav__item md-nav__item--nested">
2180
+
2181
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
2182
+
2183
+ <label class="md-nav__link" for="nav-7">
2184
+ Contributing
2185
+ <span class="md-nav__icon md-icon"></span>
2186
+ </label>
2187
+ <nav class="md-nav" aria-label="Contributing" data-md-level="1">
2188
+ <label class="md-nav__title" for="nav-7">
2189
+ <span class="md-nav__icon md-icon"></span>
2190
+ Contributing
2191
+ </label>
2192
+ <ul class="md-nav__list" data-md-scrollfix>
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+
2200
+ <li class="md-nav__item">
2201
+ <a href="../../contributing/" class="md-nav__link">
2202
+ Contributing
2203
+ </a>
2204
+ </li>
2205
+
2206
+
2207
+
2208
+
2209
+
2210
+
2211
+
2212
+ <li class="md-nav__item">
2213
+ <a href="../../contributing/setup-dev-machine/" class="md-nav__link">
2214
+ Setup Dev Machine
2215
+ </a>
2216
+ </li>
2217
+
2218
+
2219
+
2220
+
2221
+
2222
+
2223
+
2224
+ <li class="md-nav__item">
2225
+ <a href="../../contributing/local-debug-configuration/" class="md-nav__link">
2226
+ Local Debug Configuration
2227
+ </a>
2228
+ </li>
2229
+
2230
+
2231
+
2232
+
2233
+
2234
+
2235
+
2236
+ <li class="md-nav__item">
2237
+ <a href="../../contributing/debugging/" class="md-nav__link">
2238
+ Debugging
2239
+ </a>
2240
+ </li>
2241
+
2242
+
2243
+
2244
+
2245
+
2246
+
2247
+
2248
+ <li class="md-nav__item">
2249
+ <a href="../../contributing/extending-the-library/" class="md-nav__link">
2250
+ Extending the library
2251
+ </a>
2252
+ </li>
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+ <li class="md-nav__item">
2261
+ <a href="../../contributing/debug-tests/" class="md-nav__link">
2262
+ Writing Tests
2263
+ </a>
2264
+ </li>
2265
+
2266
+
2267
+
2268
+
2269
+
2270
+
2271
+
2272
+ <li class="md-nav__item">
2273
+ <a href="../../contributing/documentation/" class="md-nav__link">
2274
+ Update Documentation
2275
+ </a>
2276
+ </li>
2277
+
2278
+
2279
+
2280
+
2281
+
2282
+
2283
+
2284
+ <li class="md-nav__item">
2285
+ <a href="../../contributing/pull-requests/" class="md-nav__link">
2286
+ Submit a Pull Request
2287
+ </a>
2288
+ </li>
2289
+
2290
+
2291
+ </ul>
2292
+ </nav>
2293
+ </li>
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+
2300
+
2301
+ <li class="md-nav__item md-nav__item--nested">
2302
+
2303
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
2304
+
2305
+ <label class="md-nav__link" for="nav-8">
2306
+ Version 1 Docs
2307
+ <span class="md-nav__icon md-icon"></span>
2308
+ </label>
2309
+ <nav class="md-nav" aria-label="Version 1 Docs" data-md-level="1">
2310
+ <label class="md-nav__title" for="nav-8">
2311
+ <span class="md-nav__icon md-icon"></span>
2312
+ Version 1 Docs
2313
+ </label>
2314
+ <ul class="md-nav__list" data-md-scrollfix>
2315
+
2316
+
2317
+
2318
+
2319
+
2320
+
2321
+
2322
+ <li class="md-nav__item">
2323
+ <a href="../../v1/" class="md-nav__link">
2324
+ Home
2325
+ </a>
2326
+ </li>
2327
+
2328
+
2329
+ </ul>
2330
+ </nav>
2331
+ </li>
2332
+
2333
+
2334
+
2335
+
2336
+
2337
+
2338
+
2339
+ <li class="md-nav__item md-nav__item--nested">
2340
+
2341
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
2342
+
2343
+ <label class="md-nav__link" for="nav-9">
2344
+ Version 2 Docs
2345
+ <span class="md-nav__icon md-icon"></span>
2346
+ </label>
2347
+ <nav class="md-nav" aria-label="Version 2 Docs" data-md-level="1">
2348
+ <label class="md-nav__title" for="nav-9">
2349
+ <span class="md-nav__icon md-icon"></span>
2350
+ Version 2 Docs
2351
+ </label>
2352
+ <ul class="md-nav__list" data-md-scrollfix>
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+ <li class="md-nav__item">
2361
+ <a href="../../v2/index.html" class="md-nav__link">
2362
+ Home
2363
+ </a>
2364
+ </li>
2365
+
2366
+
2367
+ </ul>
2368
+ </nav>
2369
+ </li>
2370
+
2371
+
2372
+ </ul>
2373
+ </nav>
2374
+ </div>
2375
+ </div>
2376
+ </div>
2377
+
2378
+
2379
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
2380
+ <div class="md-sidebar__scrollwrap">
2381
+ <div class="md-sidebar__inner">
2382
+
2383
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2384
+
2385
+
2386
+
2387
+
2388
+
2389
+ <label class="md-nav__title" for="__toc">
2390
+ <span class="md-nav__icon md-icon"></span>
2391
+ Table of contents
2392
+ </label>
2393
+ <ul class="md-nav__list" data-md-scrollfix>
2394
+
2395
+ <li class="md-nav__item">
2396
+ <a href="#create-a-new-page" class="md-nav__link">
2397
+ Create a new Page
2398
+ </a>
2399
+
2400
+ <nav class="md-nav" aria-label="Create a new Page">
2401
+ <ul class="md-nav__list">
2402
+
2403
+ <li class="md-nav__item">
2404
+ <a href="#create-using-iwebaddclientsidepage" class="md-nav__link">
2405
+ Create using IWeb.addClientsidePage
2406
+ </a>
2407
+
2408
+ </li>
2409
+
2410
+ <li class="md-nav__item">
2411
+ <a href="#create-using-createclientsidepage-method" class="md-nav__link">
2412
+ Create using CreateClientsidePage method
2413
+ </a>
2414
+
2415
+ </li>
2416
+
2417
+ </ul>
2418
+ </nav>
2419
+
2420
+ </li>
2421
+
2422
+ <li class="md-nav__item">
2423
+ <a href="#load-pages" class="md-nav__link">
2424
+ Load Pages
2425
+ </a>
2426
+
2427
+ <nav class="md-nav" aria-label="Load Pages">
2428
+ <ul class="md-nav__list">
2429
+
2430
+ <li class="md-nav__item">
2431
+ <a href="#load-using-iwebloadclientsidepage" class="md-nav__link">
2432
+ Load using IWeb.loadClientsidePage
2433
+ </a>
2434
+
2435
+ </li>
2436
+
2437
+ <li class="md-nav__item">
2438
+ <a href="#load-using-clientsidepagefromfile" class="md-nav__link">
2439
+ Load using ClientsidePageFromFile
2440
+ </a>
2441
+
2442
+ </li>
2443
+
2444
+ </ul>
2445
+ </nav>
2446
+
2447
+ </li>
2448
+
2449
+ <li class="md-nav__item">
2450
+ <a href="#edit-sections-and-columns" class="md-nav__link">
2451
+ Edit Sections and Columns
2452
+ </a>
2453
+
2454
+ <nav class="md-nav" aria-label="Edit Sections and Columns">
2455
+ <ul class="md-nav__list">
2456
+
2457
+ <li class="md-nav__item">
2458
+ <a href="#manipulate-sections-and-columns" class="md-nav__link">
2459
+ Manipulate Sections and Columns
2460
+ </a>
2461
+
2462
+ </li>
2463
+
2464
+ <li class="md-nav__item">
2465
+ <a href="#vertical-section" class="md-nav__link">
2466
+ Vertical Section
2467
+ </a>
2468
+
2469
+ </li>
2470
+
2471
+ <li class="md-nav__item">
2472
+ <a href="#reorder-sections" class="md-nav__link">
2473
+ Reorder Sections
2474
+ </a>
2475
+
2476
+ </li>
2477
+
2478
+ <li class="md-nav__item">
2479
+ <a href="#reorder-columns" class="md-nav__link">
2480
+ Reorder Columns
2481
+ </a>
2482
+
2483
+ </li>
2484
+
2485
+ </ul>
2486
+ </nav>
2487
+
2488
+ </li>
2489
+
2490
+ <li class="md-nav__item">
2491
+ <a href="#clientside-controls" class="md-nav__link">
2492
+ Clientside Controls
2493
+ </a>
2494
+
2495
+ <nav class="md-nav" aria-label="Clientside Controls">
2496
+ <ul class="md-nav__list">
2497
+
2498
+ <li class="md-nav__item">
2499
+ <a href="#add-text-content" class="md-nav__link">
2500
+ Add Text Content
2501
+ </a>
2502
+
2503
+ </li>
2504
+
2505
+ <li class="md-nav__item">
2506
+ <a href="#add-controls" class="md-nav__link">
2507
+ Add Controls
2508
+ </a>
2509
+
2510
+ </li>
2511
+
2512
+ <li class="md-nav__item">
2513
+ <a href="#handle-different-webparts-settings" class="md-nav__link">
2514
+ Handle Different Webpart's Settings
2515
+ </a>
2516
+
2517
+ </li>
2518
+
2519
+ </ul>
2520
+ </nav>
2521
+
2522
+ </li>
2523
+
2524
+ <li class="md-nav__item">
2525
+ <a href="#page-operations" class="md-nav__link">
2526
+ Page Operations
2527
+ </a>
2528
+
2529
+ <nav class="md-nav" aria-label="Page Operations">
2530
+ <ul class="md-nav__list">
2531
+
2532
+ <li class="md-nav__item">
2533
+ <a href="#pagelayout" class="md-nav__link">
2534
+ pageLayout
2535
+ </a>
2536
+
2537
+ </li>
2538
+
2539
+ <li class="md-nav__item">
2540
+ <a href="#bannerimageurl" class="md-nav__link">
2541
+ bannerImageUrl
2542
+ </a>
2543
+
2544
+ </li>
2545
+
2546
+ <li class="md-nav__item">
2547
+ <a href="#thumbnailurl" class="md-nav__link">
2548
+ thumbnailUrl
2549
+ </a>
2550
+
2551
+ </li>
2552
+
2553
+ <li class="md-nav__item">
2554
+ <a href="#topicheader" class="md-nav__link">
2555
+ topicHeader
2556
+ </a>
2557
+
2558
+ </li>
2559
+
2560
+ <li class="md-nav__item">
2561
+ <a href="#title" class="md-nav__link">
2562
+ title
2563
+ </a>
2564
+
2565
+ </li>
2566
+
2567
+ <li class="md-nav__item">
2568
+ <a href="#description" class="md-nav__link">
2569
+ description
2570
+ </a>
2571
+
2572
+ </li>
2573
+
2574
+ <li class="md-nav__item">
2575
+ <a href="#layouttype" class="md-nav__link">
2576
+ layoutType
2577
+ </a>
2578
+
2579
+ </li>
2580
+
2581
+ <li class="md-nav__item">
2582
+ <a href="#headertextalignment" class="md-nav__link">
2583
+ headerTextAlignment
2584
+ </a>
2585
+
2586
+ </li>
2587
+
2588
+ <li class="md-nav__item">
2589
+ <a href="#showtopicheader" class="md-nav__link">
2590
+ showTopicHeader
2591
+ </a>
2592
+
2593
+ </li>
2594
+
2595
+ <li class="md-nav__item">
2596
+ <a href="#showpublishdate" class="md-nav__link">
2597
+ showPublishDate
2598
+ </a>
2599
+
2600
+ </li>
2601
+
2602
+ <li class="md-nav__item">
2603
+ <a href="#get-set-author-details" class="md-nav__link">
2604
+ Get / Set author details
2605
+ </a>
2606
+
2607
+ </li>
2608
+
2609
+ <li class="md-nav__item">
2610
+ <a href="#load" class="md-nav__link">
2611
+ load
2612
+ </a>
2613
+
2614
+ </li>
2615
+
2616
+ <li class="md-nav__item">
2617
+ <a href="#save" class="md-nav__link">
2618
+ save
2619
+ </a>
2620
+
2621
+ </li>
2622
+
2623
+ <li class="md-nav__item">
2624
+ <a href="#discardpagecheckout" class="md-nav__link">
2625
+ discardPageCheckout
2626
+ </a>
2627
+
2628
+ </li>
2629
+
2630
+ <li class="md-nav__item">
2631
+ <a href="#promotetonews" class="md-nav__link">
2632
+ promoteToNews
2633
+ </a>
2634
+
2635
+ </li>
2636
+
2637
+ <li class="md-nav__item">
2638
+ <a href="#enablecomments-disablecomments" class="md-nav__link">
2639
+ enableComments &amp; disableComments
2640
+ </a>
2641
+
2642
+ </li>
2643
+
2644
+ <li class="md-nav__item">
2645
+ <a href="#findcontrolbyid" class="md-nav__link">
2646
+ findControlById
2647
+ </a>
2648
+
2649
+ </li>
2650
+
2651
+ <li class="md-nav__item">
2652
+ <a href="#findcontrol" class="md-nav__link">
2653
+ findControl
2654
+ </a>
2655
+
2656
+ </li>
2657
+
2658
+ <li class="md-nav__item">
2659
+ <a href="#like-unlike" class="md-nav__link">
2660
+ like &amp; unlike
2661
+ </a>
2662
+
2663
+ </li>
2664
+
2665
+ <li class="md-nav__item">
2666
+ <a href="#getlikedbyinformation" class="md-nav__link">
2667
+ getLikedByInformation
2668
+ </a>
2669
+
2670
+ </li>
2671
+
2672
+ <li class="md-nav__item">
2673
+ <a href="#copy" class="md-nav__link">
2674
+ copy
2675
+ </a>
2676
+
2677
+ </li>
2678
+
2679
+ <li class="md-nav__item">
2680
+ <a href="#copyto" class="md-nav__link">
2681
+ copyTo
2682
+ </a>
2683
+
2684
+ </li>
2685
+
2686
+ <li class="md-nav__item">
2687
+ <a href="#setbannerimage" class="md-nav__link">
2688
+ setBannerImage
2689
+ </a>
2690
+
2691
+ </li>
2692
+
2693
+ <li class="md-nav__item">
2694
+ <a href="#setbannerimagefromexternalurl" class="md-nav__link">
2695
+ setBannerImageFromExternalUrl
2696
+ </a>
2697
+
2698
+ </li>
2699
+
2700
+ </ul>
2701
+ </nav>
2702
+
2703
+ </li>
2704
+
2705
+ </ul>
2706
+
2707
+ </nav>
2708
+ </div>
2709
+ </div>
2710
+ </div>
2711
+
2712
+
2713
+ <div class="md-content">
2714
+ <article class="md-content__inner md-typeset">
2715
+
2716
+
2717
+ <a href="https://github.com/pnp/pnpjs/tree/version-2/docs/sp/clientside-pages.md" title="Edit this page" class="md-content__button md-icon">
2718
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
2719
+ </a>
2720
+
2721
+
2722
+ <h1 id="pnpspclientside-pages">@pnp/sp/clientside-pages<a class="headerlink" href="#pnpspclientside-pages" title="Permanent link">&para;</a></h1>
2723
+ <p>The 'clientside-pages' module allows you to create, edit, and delete modern SharePoint pages. There are methods to update the page settings and add/remove client-side web parts.</p>
2724
+ <p><a href="../../concepts/selective-imports/"><img alt="Selective Imports Banner" src="https://img.shields.io/badge/Selective%20Imports-informational.svg" /></a></p>
2725
+ <table>
2726
+ <thead>
2727
+ <tr>
2728
+ <th>Scenario</th>
2729
+ <th>Import Statement</th>
2730
+ </tr>
2731
+ </thead>
2732
+ <tbody>
2733
+ <tr>
2734
+ <td>Selective 1</td>
2735
+ <td>import { sp } from "@pnp/sp";<br />import { ClientsidePageFromFile, ClientsideText, ClientsideWebpartPropertyTypes, CreateClientsidePage, ClientsideWebpart, IClientsidePage } from "@pnp/sp/clientside-pages";</td>
2736
+ </tr>
2737
+ <tr>
2738
+ <td>Selective 2</td>
2739
+ <td>import { sp } from "@pnp/sp";<br />import "@pnp/sp/clientside-pages";</td>
2740
+ </tr>
2741
+ <tr>
2742
+ <td>Preset: All</td>
2743
+ <td>import { sp, ClientsidePageFromFile, ClientsideText, ClientsideWebpartPropertyTypes, CreateClientsidePage, ClientsideWebpart, IClientsidePage } from "@pnp/sp/presets/all";</td>
2744
+ </tr>
2745
+ </tbody>
2746
+ </table>
2747
+ <h2 id="create-a-new-page">Create a new Page<a class="headerlink" href="#create-a-new-page" title="Permanent link">&para;</a></h2>
2748
+ <p>You can create a new client-side page in several ways, all are equivalent.</p>
2749
+ <h3 id="create-using-iwebaddclientsidepage">Create using IWeb.addClientsidePage<a class="headerlink" href="#create-using-iwebaddclientsidepage" title="Permanent link">&para;</a></h3>
2750
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2751
+ import &quot;@pnp/sp/webs&quot;;
2752
+ import &quot;@pnp/sp/clientside-pages/web&quot;;
2753
+ import { PromotedState } from &quot;@pnp/sp/clientside-pages&quot;;
2754
+
2755
+ // Create a page providing a file name
2756
+ const page = await sp.web.addClientsidePage(&quot;mypage1&quot;);
2757
+
2758
+ // ... other operations on the page as outlined below
2759
+
2760
+ // the page is initially not published, you must publish it so it appears for others users
2761
+ await page.save();
2762
+
2763
+ // include title and page layout
2764
+ const page2 = await sp.web.addClientsidePage(&quot;mypage&quot;, &quot;My Page Title&quot;, &quot;Article&quot;);
2765
+
2766
+ // you must publish the new page
2767
+ await page2.save();
2768
+
2769
+ // include title, page layout, and specifying the publishing status (Added in 2.0.4)
2770
+ const page3 = await sp.web.addClientsidePage(&quot;mypage&quot;, &quot;My Page Title&quot;, &quot;Article&quot;, PromotedState.PromoteOnPublish);
2771
+
2772
+ // you must publish the new page, after which the page will immediately be promoted to a news article
2773
+ await page3.save();
2774
+ </code></pre>
2775
+ <h3 id="create-using-createclientsidepage-method">Create using CreateClientsidePage method<a class="headerlink" href="#create-using-createclientsidepage-method" title="Permanent link">&para;</a></h3>
2776
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2777
+ import &quot;@pnp/sp/webs&quot;;
2778
+ import { Web } from &quot;@pnp/sp/webs&quot;;
2779
+ import { CreateClientsidePage, PromotedState } from &quot;@pnp/sp/clientside-pages&quot;;
2780
+
2781
+ const page1 = await CreateClientsidePage(sp.web, &quot;mypage2&quot;, &quot;My Page Title&quot;);
2782
+
2783
+ // you must publish the new page
2784
+ await page1.save(true);
2785
+
2786
+ // specify the page layout type parameter
2787
+ const page2 = await CreateClientsidePage(sp.web, &quot;mypage3&quot;, &quot;My Page Title&quot;, &quot;Article&quot;);
2788
+
2789
+ // you must publish the new page
2790
+ await page2.save();
2791
+
2792
+ // specify the page layout type parameter while also specifying the publishing status (Added in 2.0.4)
2793
+ const page2half = await CreateClientsidePage(sp.web, &quot;mypage3&quot;, &quot;My Page Title&quot;, &quot;Article&quot;, PromotedState.PromoteOnPublish);
2794
+
2795
+ // you must publish the new page, after which the page will immediately be promoted to a news article
2796
+ await page2half.save();
2797
+
2798
+ // use the web factory to create a page in a specific web
2799
+ const page3 = await CreateClientsidePage(Web(&quot;https://{absolute web url}&quot;), &quot;mypage4&quot;, &quot;My Page Title&quot;);
2800
+
2801
+ // you must publish the new page
2802
+ await page3.save();
2803
+ </code></pre>
2804
+ <h2 id="load-pages">Load Pages<a class="headerlink" href="#load-pages" title="Permanent link">&para;</a></h2>
2805
+ <p>There are a few ways to load pages, each of which results in an IClientsidePage instance being returned.</p>
2806
+ <h3 id="load-using-iwebloadclientsidepage">Load using IWeb.loadClientsidePage<a class="headerlink" href="#load-using-iwebloadclientsidepage" title="Permanent link">&para;</a></h3>
2807
+ <p>This method takes a <em>server relative</em> path to the page to load.</p>
2808
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2809
+ import &quot;@pnp/sp/webs&quot;;
2810
+ import { Web } from &quot;@pnp/sp/webs&quot;;
2811
+ import &quot;@pnp/sp/clientside-pages/web&quot;;
2812
+
2813
+ // use from the sp.web fluent chain
2814
+ const page = await sp.web.loadClientsidePage(&quot;/sites/dev/sitepages/mypage3.aspx&quot;);
2815
+
2816
+ // use the web factory to target a specific web
2817
+ const page2 = await Web(&quot;https://{absolute web url}&quot;).loadClientsidePage(&quot;/sites/dev/sitepages/mypage3.aspx&quot;);
2818
+ </code></pre>
2819
+ <h3 id="load-using-clientsidepagefromfile">Load using ClientsidePageFromFile<a class="headerlink" href="#load-using-clientsidepagefromfile" title="Permanent link">&para;</a></h3>
2820
+ <p>This method takes an IFile instance and loads an IClientsidePage instance.</p>
2821
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2822
+ import { ClientsidePageFromFile } from &quot;@pnp/sp/clientside-pages&quot;;
2823
+ import &quot;@pnp/sp/webs&quot;;
2824
+ import &quot;@pnp/sp/files/web&quot;;
2825
+
2826
+ const page = await ClientsidePageFromFile(sp.web.getFileByServerRelativePath(&quot;/sites/dev/sitepages/mypage3.aspx&quot;));
2827
+ </code></pre>
2828
+ <h2 id="edit-sections-and-columns">Edit Sections and Columns<a class="headerlink" href="#edit-sections-and-columns" title="Permanent link">&para;</a></h2>
2829
+ <p>Client-side pages are made up of sections, columns, and controls. Sections contain columns which contain controls. There are methods to operate on these within the page, in addition to the standard array methods available in JavaScript. These samples use a variable <code>page</code> that is understood to be an IClientsidePage instance which is either created or loaded as outlined in previous sections.</p>
2830
+ <pre><code class="language-TypeScript">// our page instance
2831
+ const page: IClientsidePage;
2832
+
2833
+ // add two columns with factor 6 - this is a two column layout as the total factor in a section should add up to 12
2834
+ const section1 = page.addSection();
2835
+ section1.addColumn(6);
2836
+ section1.addColumn(6);
2837
+
2838
+ // create a three column layout in a new section
2839
+ const section2 = page.addSection();
2840
+ section2.addColumn(4);
2841
+ section2.addColumn(4);
2842
+ section2.addColumn(4);
2843
+
2844
+ // publish our changes
2845
+ await page.save();
2846
+ </code></pre>
2847
+ <h3 id="manipulate-sections-and-columns">Manipulate Sections and Columns<a class="headerlink" href="#manipulate-sections-and-columns" title="Permanent link">&para;</a></h3>
2848
+ <pre><code class="language-TypeScript">// our page instance
2849
+ const page: IClientsidePage;
2850
+
2851
+ // drop all the columns in this section
2852
+ // this will also DELETE all controls contained in the columns
2853
+ page.sections[1].columns.length = 0;
2854
+
2855
+ // create a new column layout
2856
+ page.sections[1].addColumn(4);
2857
+ page.sections[1].addColumn(8);
2858
+
2859
+ // publish our changes
2860
+ await page.save();
2861
+ </code></pre>
2862
+ <h3 id="vertical-section">Vertical Section<a class="headerlink" href="#vertical-section" title="Permanent link">&para;</a></h3>
2863
+ <p>The vertical section, if on the page, is stored within the sections array. However, you access it slightly differently to make things easier.</p>
2864
+ <pre><code class="language-TypeScript">// our page instance
2865
+ const page: IClientsidePage;
2866
+
2867
+ // add or get a vertical section (handles case where section already exists)
2868
+ const vertSection = page.addVerticalSection();
2869
+
2870
+ // ****************************************************************
2871
+
2872
+ // if you know or want to test if a vertical section is present:
2873
+ if (page.hasVerticalSection) {
2874
+
2875
+ // access the vertical section (this method will NOT create the section if it does not exist)
2876
+ page.verticalSection.addControl(new ClientsideText(&quot;hello&quot;));
2877
+ } else {
2878
+
2879
+ const vertSection = page.addVerticalSection();
2880
+ vertSection.addControl(new ClientsideText(&quot;hello&quot;));
2881
+ }
2882
+ </code></pre>
2883
+ <h3 id="reorder-sections">Reorder Sections<a class="headerlink" href="#reorder-sections" title="Permanent link">&para;</a></h3>
2884
+ <pre><code class="language-TypeScript">// our page instance
2885
+ const page: IClientsidePage;
2886
+
2887
+ // swap the order of two sections
2888
+ // this will preserve the controls within the columns
2889
+ page.sections = [page.sections[1], page.sections[0]];
2890
+
2891
+ // publish our changes
2892
+ await page.save();
2893
+ </code></pre>
2894
+ <h3 id="reorder-columns">Reorder Columns<a class="headerlink" href="#reorder-columns" title="Permanent link">&para;</a></h3>
2895
+ <p>The sections and columns are arrays, so normal array operations work as expected</p>
2896
+ <pre><code class="language-TypeScript">// our page instance
2897
+ const page: IClientsidePage;
2898
+
2899
+ // swap the order of two columns
2900
+ // this will preserve the controls within the columns
2901
+ page.sections[1].columns = [page.sections[1].columns[1], page.sections[1].columns[0]];
2902
+
2903
+ // publish our changes
2904
+ await page.save();
2905
+ </code></pre>
2906
+ <h2 id="clientside-controls">Clientside Controls<a class="headerlink" href="#clientside-controls" title="Permanent link">&para;</a></h2>
2907
+ <p>Once you have your sections and columns defined you will want to add/edit controls within those columns.</p>
2908
+ <h3 id="add-text-content">Add Text Content<a class="headerlink" href="#add-text-content" title="Permanent link">&para;</a></h3>
2909
+ <pre><code class="language-TypeScript">import { ClientsideText } from &quot;@pnp/sp/clientside-pages&quot;;
2910
+
2911
+ // our page instance
2912
+ const page: IClientsidePage;
2913
+
2914
+ page.addSection().addControl(new ClientsideText(&quot;@pnp/sp is a great library!&quot;));
2915
+
2916
+ await page.save();
2917
+ </code></pre>
2918
+ <h3 id="add-controls">Add Controls<a class="headerlink" href="#add-controls" title="Permanent link">&para;</a></h3>
2919
+ <p>Adding controls involves loading the available client-side part definitions from the server or creating a text part.</p>
2920
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2921
+ import &quot;@pnp/sp/webs&quot;;
2922
+ import &quot;@pnp/sp/clientside-pages/web&quot;;
2923
+ import { ClientsideWebpart } from &quot;@pnp/sp/clientside-pages&quot;;
2924
+
2925
+ // this will be a ClientsidePageComponent array
2926
+ // this can be cached on the client in production scenarios
2927
+ const partDefs = await sp.web.getClientsideWebParts();
2928
+
2929
+ // find the definition we want, here by id
2930
+ const partDef = partDefs.filter(c =&gt; c.Id === &quot;490d7c76-1824-45b2-9de3-676421c997fa&quot;);
2931
+
2932
+ // optionally ensure you found the def
2933
+ if (partDef.length &lt; 1) {
2934
+ // we didn't find it so we throw an error
2935
+ throw new Error(&quot;Could not find the web part&quot;);
2936
+ }
2937
+
2938
+ // create a ClientWebPart instance from the definition
2939
+ const part = ClientsideWebpart.fromComponentDef(partDef[0]);
2940
+
2941
+ // set the properties on the web part. Here for the embed web part we only have to supply an embedCode - in this case a YouTube video.
2942
+ // the structure of the properties varies for each web part and each version of a web part, so you will need to ensure you are setting
2943
+ // the properties correctly
2944
+ part.setProperties&lt;{ embedCode: string }&gt;({
2945
+ embedCode: &quot;https://www.youtube.com/watch?v=IWQFZ7Lx-rg&quot;,
2946
+ });
2947
+
2948
+ // we add that part to a new section
2949
+ page.addSection().addControl(part);
2950
+
2951
+ await page.save();
2952
+ </code></pre>
2953
+ <h3 id="handle-different-webparts-settings">Handle Different Webpart's Settings<a class="headerlink" href="#handle-different-webparts-settings" title="Permanent link">&para;</a></h3>
2954
+ <p>There are many ways that client side web parts are implemented and we can't provide handling within the library for all possibilities. This example shows how to handle a property set within the serverProcessedContent, in this case a List part's display title.</p>
2955
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2956
+ import &quot;@pnp/sp/webs&quot;;
2957
+ import { ClientsideWebpart } from &quot;@pnp/sp/clientside-pages&quot;;
2958
+
2959
+ // we create a class to wrap our functionality in a reusable way
2960
+ class ListWebpart extends ClientsideWebpart {
2961
+
2962
+ constructor(control: ClientsideWebpart) {
2963
+ super((&lt;any&gt;control).json);
2964
+ }
2965
+
2966
+ // add property getter/setter for what we need, in this case &quot;listTitle&quot; within searchablePlainTexts
2967
+ public get DisplayTitle(): string {
2968
+ return this.json.webPartData?.serverProcessedContent?.searchablePlainTexts?.listTitle || &quot;&quot;;
2969
+ }
2970
+
2971
+ public set DisplayTitle(value: string) {
2972
+ this.json.webPartData.serverProcessedContent.searchablePlainTexts.listTitle = value;
2973
+ }
2974
+ }
2975
+
2976
+ // now we load our page
2977
+ const page = await sp.web.loadClientsidePage(&quot;/sites/dev/SitePages/List-Web-Part.aspx&quot;);
2978
+
2979
+ // get our part and pass it to the constructor of our wrapper class
2980
+ const part = new ListWebpart(page.sections[0].columns[0].getControl(0));
2981
+
2982
+ part.DisplayTitle = &quot;My New Title!&quot;;
2983
+
2984
+ await page.save();
2985
+ </code></pre>
2986
+ <blockquote>
2987
+ <p>Unfortunately each webpart can be authored differently, so there isn't a way to know how the setting for a given webpart are stored without loading it and examining the properties.</p>
2988
+ </blockquote>
2989
+ <h2 id="page-operations">Page Operations<a class="headerlink" href="#page-operations" title="Permanent link">&para;</a></h2>
2990
+ <p>There are other operation you can perform on a page in addition to manipulating the content.</p>
2991
+ <h3 id="pagelayout">pageLayout<a class="headerlink" href="#pagelayout" title="Permanent link">&para;</a></h3>
2992
+ <p>You can get and set the page layout. Changing the layout after creating the page may have side effects and should be done cautiously.</p>
2993
+ <pre><code class="language-TypeScript">// our page instance
2994
+ const page: IClientsidePage;
2995
+
2996
+ // get the current value
2997
+ const value = page.pageLayout;
2998
+
2999
+ // set the value
3000
+ page.pageLayout = &quot;Article&quot;;
3001
+ await page.save();
3002
+ </code></pre>
3003
+ <h3 id="bannerimageurl">bannerImageUrl<a class="headerlink" href="#bannerimageurl" title="Permanent link">&para;</a></h3>
3004
+ <pre><code class="language-TypeScript">// our page instance
3005
+ const page: IClientsidePage;
3006
+
3007
+ // get the current value
3008
+ const value = page.bannerImageUrl;
3009
+
3010
+ // set the value
3011
+ page.bannerImageUrl = &quot;/server/relative/path/to/image.png&quot;;
3012
+ await page.save();
3013
+ </code></pre>
3014
+ <blockquote>
3015
+ <p>Banner images need to exist within the same site collection as the page where you want to use them.</p>
3016
+ </blockquote>
3017
+ <h3 id="thumbnailurl">thumbnailUrl<a class="headerlink" href="#thumbnailurl" title="Permanent link">&para;</a></h3>
3018
+ <p>Allows you to set the thumbnail used for the page independently of the banner.</p>
3019
+ <blockquote>
3020
+ <p>If you set the bannerImageUrl property and not thumbnailUrl the thumbnail will be reset to match the banner, mimicking the UI functionality.</p>
3021
+ </blockquote>
3022
+ <pre><code class="language-TypeScript">// our page instance
3023
+ const page: IClientsidePage;
3024
+
3025
+ // get the current value
3026
+ const value = page.thumbnailUrl;
3027
+
3028
+ // set the value
3029
+ page.thumbnailUrl = &quot;/server/relative/path/to/image.png&quot;;
3030
+ await page.save();
3031
+ </code></pre>
3032
+ <h3 id="topicheader">topicHeader<a class="headerlink" href="#topicheader" title="Permanent link">&para;</a></h3>
3033
+ <pre><code class="language-TypeScript">// our page instance
3034
+ const page: IClientsidePage;
3035
+
3036
+ // get the current value
3037
+ const value = page.topicHeader;
3038
+
3039
+ // set the value
3040
+ page.topicHeader = &quot;My cool header!&quot;;
3041
+ await page.save();
3042
+
3043
+ // clear the topic header and hide it
3044
+ page.topicHeader = &quot;&quot;;
3045
+ await page.save();
3046
+ </code></pre>
3047
+ <h3 id="title">title<a class="headerlink" href="#title" title="Permanent link">&para;</a></h3>
3048
+ <pre><code class="language-TypeScript">// our page instance
3049
+ const page: IClientsidePage;
3050
+
3051
+ // get the current value
3052
+ const value = page.title;
3053
+
3054
+ // set the value
3055
+ page.title = &quot;My page title&quot;;
3056
+ await page.save();
3057
+ </code></pre>
3058
+ <h3 id="description">description<a class="headerlink" href="#description" title="Permanent link">&para;</a></h3>
3059
+ <blockquote>
3060
+ <p>Descriptions are limited to 255 chars</p>
3061
+ </blockquote>
3062
+ <pre><code class="language-TypeScript">// our page instance
3063
+ const page: IClientsidePage;
3064
+
3065
+ // get the current value
3066
+ const value = page.description;
3067
+
3068
+ // set the value
3069
+ page.description = &quot;A description&quot;;
3070
+ await page.save();
3071
+ </code></pre>
3072
+ <h3 id="layouttype">layoutType<a class="headerlink" href="#layouttype" title="Permanent link">&para;</a></h3>
3073
+ <p>Sets the layout type of the page. The valid values are: "FullWidthImage", "NoImage", "ColorBlock", "CutInShape"</p>
3074
+ <pre><code class="language-TypeScript">// our page instance
3075
+ const page: IClientsidePage;
3076
+
3077
+ // get the current value
3078
+ const value = page.layoutType;
3079
+
3080
+ // set the value
3081
+ page.layoutType = &quot;ColorBlock&quot;;
3082
+ await page.save();
3083
+ </code></pre>
3084
+ <h3 id="headertextalignment">headerTextAlignment<a class="headerlink" href="#headertextalignment" title="Permanent link">&para;</a></h3>
3085
+ <p>Sets the header text alignment to one of "Left" or "Center"</p>
3086
+ <pre><code class="language-TypeScript">// our page instance
3087
+ const page: IClientsidePage;
3088
+
3089
+ // get the current value
3090
+ const value = page.headerTextAlignment;
3091
+
3092
+ // set the value
3093
+ page.headerTextAlignment = &quot;Center&quot;;
3094
+ await page.save();
3095
+ </code></pre>
3096
+ <h3 id="showtopicheader">showTopicHeader<a class="headerlink" href="#showtopicheader" title="Permanent link">&para;</a></h3>
3097
+ <p>Sets if the topic header is displayed on a page.</p>
3098
+ <pre><code class="language-TypeScript">// our page instance
3099
+ const page: IClientsidePage;
3100
+
3101
+ // get the current value
3102
+ const value = page.showTopicHeader;
3103
+
3104
+ // show the header
3105
+ page.showTopicHeader = true;
3106
+ await page.save();
3107
+
3108
+ // hide the header
3109
+ page.showTopicHeader = false;
3110
+ await page.save();
3111
+ </code></pre>
3112
+ <h3 id="showpublishdate">showPublishDate<a class="headerlink" href="#showpublishdate" title="Permanent link">&para;</a></h3>
3113
+ <p>Sets if the publish date is displayed on a page.</p>
3114
+ <pre><code class="language-TypeScript">// our page instance
3115
+ const page: IClientsidePage;
3116
+
3117
+ // get the current value
3118
+ const value = page.showPublishDate;
3119
+
3120
+ // show the date
3121
+ page.showPublishDate = true;
3122
+ await page.save();
3123
+
3124
+ // hide the date
3125
+ page.showPublishDate = false;
3126
+ await page.save();
3127
+ </code></pre>
3128
+ <h3 id="get-set-author-details">Get / Set author details<a class="headerlink" href="#get-set-author-details" title="Permanent link">&para;</a></h3>
3129
+ <p><em>Added in 2.0.4</em></p>
3130
+ <pre><code class="language-TypeScript">// our page instance
3131
+ const page: IClientsidePage;
3132
+
3133
+ // get the author details (string | null)
3134
+ const value = page.authorByLine;
3135
+
3136
+ // set the author by user id
3137
+ const user = await web.currentUser.select(&quot;Id&quot;, &quot;LoginName&quot;)();
3138
+ const userId = user.Id;
3139
+ const userLogin = user.LoginName;
3140
+
3141
+ await page.setAuthorById(userId);
3142
+ await page.save();
3143
+
3144
+ await page.setAuthorByLoginName(userLogin);
3145
+ await page.save();
3146
+ </code></pre>
3147
+ <blockquote>
3148
+ <p>you must still save the page after setting the author to persist your changes as shown in the example.</p>
3149
+ </blockquote>
3150
+ <h3 id="load">load<a class="headerlink" href="#load" title="Permanent link">&para;</a></h3>
3151
+ <p>Loads the page from the server. This will overwrite any local unsaved changes.</p>
3152
+ <pre><code class="language-TypeScript">// our page instance
3153
+ const page: IClientsidePage;
3154
+
3155
+ await page.load();
3156
+ </code></pre>
3157
+ <h3 id="save">save<a class="headerlink" href="#save" title="Permanent link">&para;</a></h3>
3158
+ <p>Saves any changes to the page, optionally keeping them in draft state.</p>
3159
+ <pre><code class="language-TypeScript">// our page instance
3160
+ const page: IClientsidePage;
3161
+
3162
+ // changes are published
3163
+ await page.save();
3164
+
3165
+ // changes remain in draft
3166
+ await page.save(false);
3167
+ </code></pre>
3168
+ <h3 id="discardpagecheckout">discardPageCheckout<a class="headerlink" href="#discardpagecheckout" title="Permanent link">&para;</a></h3>
3169
+ <p>Discards any current checkout of the page by the current user.</p>
3170
+ <pre><code class="language-TypeScript">// our page instance
3171
+ const page: IClientsidePage;
3172
+
3173
+ await page.discardPageCheckout();
3174
+ </code></pre>
3175
+ <h3 id="promotetonews">promoteToNews<a class="headerlink" href="#promotetonews" title="Permanent link">&para;</a></h3>
3176
+ <p>Promotes the page as a news article.</p>
3177
+ <pre><code class="language-TypeScript">// our page instance
3178
+ const page: IClientsidePage;
3179
+
3180
+ await page.promoteToNews();
3181
+ </code></pre>
3182
+ <h3 id="enablecomments-disablecomments">enableComments &amp; disableComments<a class="headerlink" href="#enablecomments-disablecomments" title="Permanent link">&para;</a></h3>
3183
+ <p>Used to control the availability of comments on a page.</p>
3184
+ <p><a href="https://github.com/pnp/pnpjs/issues/1383"><img alt="Known Issue Banner" src="https://img.shields.io/badge/Known%20Issue-important.svg" /></a></p>
3185
+ <pre><code class="language-TypeScript">// you need to import the comments sub-module or use the all preset
3186
+ import &quot;@pnp/sp/comments/clientside-page&quot;;
3187
+
3188
+ // our page instance
3189
+ const page: IClientsidePage;
3190
+
3191
+ // turn on comments
3192
+ await page.enableComments();
3193
+
3194
+ // turn off comments
3195
+ await page.disableComments();
3196
+ </code></pre>
3197
+ <h3 id="findcontrolbyid">findControlById<a class="headerlink" href="#findcontrolbyid" title="Permanent link">&para;</a></h3>
3198
+ <p>Finds a control within the page by id.</p>
3199
+ <pre><code class="language-TypeScript">import { ClientsideText } from &quot;@pnp/sp/clientside-pages&quot;;
3200
+
3201
+ // our page instance
3202
+ const page: IClientsidePage;
3203
+
3204
+ const control = page.findControlById(&quot;06d4cdf6-bce6-4200-8b93-667a1b0a6c9d&quot;);
3205
+
3206
+ // you can also type the control
3207
+ const control = page.findControlById&lt;ClientsideText&gt;(&quot;06d4cdf6-bce6-4200-8b93-667a1b0a6c9d&quot;);
3208
+ </code></pre>
3209
+ <h3 id="findcontrol">findControl<a class="headerlink" href="#findcontrol" title="Permanent link">&para;</a></h3>
3210
+ <p>Finds a control within the page using the supplied delegate. Can also be used to iterate through all controls in the page.</p>
3211
+ <pre><code class="language-TypeScript">// our page instance
3212
+ const page: IClientsidePage;
3213
+
3214
+ // find the first control whose order is 9
3215
+ const control = page.findControl((c) =&gt; c.order === 9);
3216
+
3217
+ // iterate all the controls and output the id to the console
3218
+ page.findControl((c) =&gt; {
3219
+ console.log(c.id);
3220
+ return false;
3221
+ });
3222
+ </code></pre>
3223
+ <h3 id="like-unlike">like &amp; unlike<a class="headerlink" href="#like-unlike" title="Permanent link">&para;</a></h3>
3224
+ <p>Updates the page's like value for the current user.</p>
3225
+ <pre><code class="language-TypeScript">// our page instance
3226
+ const page: IClientsidePage;
3227
+
3228
+ // like this page
3229
+ await page.like();
3230
+
3231
+ // unlike this page
3232
+ await page.unlike();
3233
+ </code></pre>
3234
+ <h3 id="getlikedbyinformation">getLikedByInformation<a class="headerlink" href="#getlikedbyinformation" title="Permanent link">&para;</a></h3>
3235
+ <p>Gets the likes information for this page.</p>
3236
+ <pre><code class="language-TypeScript">// our page instance
3237
+ const page: IClientsidePage;
3238
+
3239
+ const info = await page.getLikedByInformation();
3240
+ </code></pre>
3241
+ <h3 id="copy">copy<a class="headerlink" href="#copy" title="Permanent link">&para;</a></h3>
3242
+ <p>Creates a copy of the page, including all controls.</p>
3243
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
3244
+ import &quot;@pnp/sp/webs&quot;;
3245
+
3246
+ // our page instance
3247
+ const page: IClientsidePage;
3248
+
3249
+ // creates a published copy of the page
3250
+ const pageCopy = await page.copy(sp.web, &quot;newpagename&quot;, &quot;New Page Title&quot;);
3251
+
3252
+ // creates a draft (unpublished) copy of the page
3253
+ const pageCopy2 = await page.copy(sp.web, &quot;newpagename&quot;, &quot;New Page Title&quot;, false);
3254
+
3255
+ // edits to pageCopy2 ...
3256
+
3257
+ // publish the page
3258
+ pageCopy2.save();
3259
+ </code></pre>
3260
+ <h3 id="copyto">copyTo<a class="headerlink" href="#copyto" title="Permanent link">&para;</a></h3>
3261
+ <p>Copies the contents of a page to another existing page instance.</p>
3262
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
3263
+ import &quot;@pnp/sp/webs&quot;;
3264
+
3265
+ // our page instances, loaded in any of the ways shown above
3266
+ const source: IClientsidePage;
3267
+ const target: IClientsidePage;
3268
+ const target2: IClientsidePage;
3269
+
3270
+ // creates a published copy of the page
3271
+ await source.copyTo(target);
3272
+
3273
+ // creates a draft (unpublished) copy of the page
3274
+ await source.copyTo(target2, false);
3275
+
3276
+ // edits to target2...
3277
+
3278
+ // publish the page
3279
+ target2.save();
3280
+ </code></pre>
3281
+ <h3 id="setbannerimage">setBannerImage<a class="headerlink" href="#setbannerimage" title="Permanent link">&para;</a></h3>
3282
+ <p>Sets the banner image url and optionally additional properties. Allows you to set additional properties if needed, if you do not need to set the additional properties they are equivalent.</p>
3283
+ <blockquote>
3284
+ <p>Banner images need to exist within the same site collection as the page where you want to use them.</p>
3285
+ </blockquote>
3286
+ <pre><code class="language-TypeScript">// our page instance
3287
+ const page: IClientsidePage;
3288
+
3289
+ page.setBannerImage(&quot;/server/relative/path/to/image.png&quot;);
3290
+
3291
+ // save the changes
3292
+ await page.save();
3293
+
3294
+ // set additional props
3295
+ page.setBannerImage(&quot;/server/relative/path/to/image.png&quot;, {
3296
+ altText: &quot;Image description&quot;,
3297
+ imageSourceType: 2,
3298
+ translateX: 30,
3299
+ translateY: 1234,
3300
+ });
3301
+
3302
+ // save the changes
3303
+ await page.save();
3304
+ </code></pre>
3305
+ <p>This sample shows the full process of adding a page, image file, and setting the banner image in nodejs. The same code would work in a browser with an update on how you get the <code>file</code> - likely from a file input or similar.</p>
3306
+ <pre><code class="language-TypeScript">import { SPFetchClient } from &quot;@pnp/nodejs&quot;;
3307
+ import { join } from &quot;path&quot;;
3308
+ import { readFileSync } from &quot;fs&quot;;
3309
+ import { sp } from &quot;@pnp/sp&quot;;
3310
+ import &quot;@pnp/sp/webs&quot;;
3311
+ import &quot;@pnp/sp/files&quot;;
3312
+ import &quot;@pnp/sp/folders&quot;;
3313
+ import &quot;@pnp/sp/clientside-pages&quot;;
3314
+
3315
+ // configure your node options
3316
+ sp.setup({
3317
+ sp: {
3318
+ fetchClientFactory: () =&gt; {
3319
+ return new SPFetchClient(&quot;{Site Url}&quot;, &quot;{Client Id}&quot;, &quot;{Client Secret}&quot;);
3320
+ },
3321
+ },
3322
+ });
3323
+
3324
+ // add the banner image
3325
+ const dirname = join(&quot;C:/path/to/file&quot;, &quot;img-file.jpg&quot;);
3326
+ const file: Uint8Array = new Uint8Array(readFileSync(dirname));
3327
+ const far = await sp.web.getFolderByServerRelativeUrl(&quot;/sites/dev/Shared Documents&quot;).files.add(&quot;banner.jpg&quot;, file, true);
3328
+
3329
+ // add the page
3330
+ const page = await sp.web.addClientsidePage(&quot;MyPage&quot;, &quot;Page Title&quot;);
3331
+
3332
+ // set the banner image
3333
+ page.setBannerImage(far.data.ServerRelativeUrl);
3334
+
3335
+ // publish the page
3336
+ await page.save();
3337
+ </code></pre>
3338
+ <h3 id="setbannerimagefromexternalurl">setBannerImageFromExternalUrl<a class="headerlink" href="#setbannerimagefromexternalurl" title="Permanent link">&para;</a></h3>
3339
+ <p><em>Added in 2.0.12</em></p>
3340
+ <p>Allows you to set the banner image from a source outside the current site collection. The image file will be copied to the SiteAssets library and referenced from there.</p>
3341
+ <pre><code class="language-TypeScript">// our page instance
3342
+ const page: IClientsidePage;
3343
+
3344
+ // you must await this method
3345
+ await page.setBannerImageFromExternalUrl(&quot;https://absolute.url/to/my/image.jpg&quot;);
3346
+
3347
+ // save the changes
3348
+ await page.save();
3349
+ </code></pre>
3350
+ <p>You can optionally supply additional props for the banner image, these match the properties when calling <a href="#setbannerimage">setBannerImage</a></p>
3351
+ <pre><code class="language-TypeScript">// our page instance
3352
+ const page: IClientsidePage;
3353
+
3354
+ // you must await this method
3355
+ await page.setBannerImageFromExternalUrl(&quot;https://absolute.url/to/my/image.jpg&quot;, {
3356
+ altText: &quot;Image description&quot;,
3357
+ imageSourceType: 2,
3358
+ translateX: 30,
3359
+ translateY: 1234,
3360
+ });
3361
+
3362
+ // save the changes
3363
+ await page.save();
3364
+ </code></pre>
3365
+
3366
+
3367
+
3368
+
3369
+
3370
+
3371
+
3372
+ </article>
3373
+ </div>
3374
+ </div>
3375
+ </main>
3376
+
3377
+
3378
+ <footer class="md-footer">
3379
+
3380
+ <div class="md-footer-nav">
3381
+ <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
3382
+
3383
+ <a href="../attachments/" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
3384
+ <div class="md-footer-nav__button md-icon">
3385
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
3386
+ </div>
3387
+ <div class="md-footer-nav__title">
3388
+ <div class="md-ellipsis">
3389
+ <span class="md-footer-nav__direction">
3390
+ Previous
3391
+ </span>
3392
+ Attachments
3393
+ </div>
3394
+ </div>
3395
+ </a>
3396
+
3397
+
3398
+ <a href="../column-defaults/" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
3399
+ <div class="md-footer-nav__title">
3400
+ <div class="md-ellipsis">
3401
+ <span class="md-footer-nav__direction">
3402
+ Next
3403
+ </span>
3404
+ Column Defaults
3405
+ </div>
3406
+ </div>
3407
+ <div class="md-footer-nav__button md-icon">
3408
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
3409
+ </div>
3410
+ </a>
3411
+
3412
+ </nav>
3413
+ </div>
3414
+
3415
+ <div class="md-footer-meta md-typeset">
3416
+ <div class="md-footer-meta__inner md-grid">
3417
+ <div class="md-footer-copyright">
3418
+
3419
+ Made with
3420
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
3421
+ Material for MkDocs
3422
+ </a>
3423
+ </div>
3424
+
3425
+ <div class="md-footer-social">
3426
+
3427
+
3428
+
3429
+
3430
+
3431
+
3432
+ <a href="https://twitter.com/m365pnpjs" target="_blank" rel="noopener" title="twitter.com" class="md-footer-social__link">
3433
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
3434
+ </a>
3435
+
3436
+
3437
+
3438
+
3439
+
3440
+
3441
+ <a href="http://aka.ms/sppnp-videos" target="_blank" rel="noopener" title="aka.ms" class="md-footer-social__link">
3442
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
3443
+ </a>
3444
+
3445
+
3446
+
3447
+
3448
+
3449
+
3450
+ <a href="https://aka.ms/sppnp" target="_blank" rel="noopener" title="aka.ms" class="md-footer-social__link">
3451
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"/></svg>
3452
+ </a>
3453
+
3454
+ </div>
3455
+
3456
+ </div>
3457
+ </div>
3458
+ </footer>
3459
+
3460
+ </div>
3461
+
3462
+ <script src="../../assets/javascripts/vendor.77e55a48.min.js"></script>
3463
+ <script src="../../assets/javascripts/bundle.9554a270.min.js"></script><script id="__lang" type="application/json">{"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}</script>
3464
+
3465
+ <script>
3466
+ app = initialize({
3467
+ base: "../..",
3468
+ features: [],
3469
+ search: Object.assign({
3470
+ worker: "../../assets/javascripts/worker/search.4ac00218.min.js"
3471
+ }, typeof search !== "undefined" && search)
3472
+ })
3473
+ </script>
3474
+
3475
+
3476
+ </body>
3477
+ </html>