@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,1048 @@
1
+ # @pnp/sp/clientside-pages
2
+
3
+ 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.
4
+
5
+ [![Selective Imports Banner](https://img.shields.io/badge/Selective%20Imports-informational.svg)](../concepts/selective-imports.md)
6
+
7
+ ## Create a new Page
8
+
9
+ You can create a new client-side page in several ways, all are equivalent.
10
+
11
+ ### Create using IWeb.addClientsidePage
12
+
13
+ ```TypeScript
14
+ import { spfi, SPFI } from "@pnp/sp";
15
+ import "@pnp/sp/webs";
16
+ import "@pnp/sp/clientside-pages/web";
17
+ import { PromotedState } from "@pnp/sp/clientside-pages";
18
+
19
+ const sp = spfi(...);
20
+
21
+ // Create a page providing a file name
22
+ const page = await sp.web.addClientsidePage("mypage1");
23
+
24
+ // ... other operations on the page as outlined below
25
+
26
+ // the page is initially not published, you must publish it so it appears for others users
27
+ await page.save();
28
+
29
+ // include title and page layout
30
+ const page2 = await sp.web.addClientsidePage("mypage", "My Page Title", "Article");
31
+
32
+ // you must publish the new page
33
+ await page2.save();
34
+
35
+ // include title, page layout, and specifying the publishing status (Added in 2.0.4)
36
+ const page3 = await sp.web.addClientsidePage("mypage", "My Page Title", "Article", PromotedState.PromoteOnPublish);
37
+
38
+ // you must publish the new page, after which the page will immediately be promoted to a news article
39
+ await page3.save();
40
+ ```
41
+
42
+ ### Create using CreateClientsidePage method
43
+
44
+ ```TypeScript
45
+ import { spfi } from "@pnp/sp";
46
+ import "@pnp/sp/webs";
47
+ import { Web } from "@pnp/sp/webs";
48
+ import { CreateClientsidePage, PromotedState } from "@pnp/sp/clientside-pages";
49
+
50
+ const sp = spfi(...);
51
+
52
+ const page1 = await CreateClientsidePage(sp.web, "mypage2", "My Page Title");
53
+
54
+ // you must publish the new page
55
+ await page1.save(true);
56
+
57
+ // specify the page layout type parameter
58
+ const page2 = await CreateClientsidePage(sp.web, "mypage3", "My Page Title", "Article");
59
+
60
+ // you must publish the new page
61
+ await page2.save();
62
+
63
+ // specify the page layout type parameter while also specifying the publishing status (Added in 2.0.4)
64
+ const page2half = await CreateClientsidePage(sp.web, "mypage3", "My Page Title", "Article", PromotedState.PromoteOnPublish);
65
+
66
+ // you must publish the new page, after which the page will immediately be promoted to a news article
67
+ await page2half.save();
68
+
69
+ // use the web factory to create a page in a specific web
70
+ const page3 = await CreateClientsidePage(Web([sp, "https://{absolute web url}"]), "mypage4", "My Page Title");
71
+
72
+ // you must publish the new page
73
+ await page3.save();
74
+ ```
75
+
76
+ ### Create using IWeb.addFullPageApp
77
+
78
+ Using this method you can easily create a full page app page given the component id. Don't forget the page will not be published and you will need to call save.
79
+
80
+ ```TypeScript
81
+ import { spfi } from "@pnp/sp";
82
+ import "@pnp/sp/webs";
83
+ import "@pnp/sp/clientside-pages";
84
+
85
+ const sp = spfi(...);
86
+
87
+ const page = await sp.web.addFullPageApp("name333", "My Title", "2CE4E250-B997-11EB-A9D2-C9D2FF95D000");
88
+ // ... other page actions
89
+ // you must save the page to publish it
90
+ await page.save();
91
+ ```
92
+
93
+ ## Load Pages
94
+
95
+ There are a few ways to load pages, each of which results in an IClientsidePage instance being returned.
96
+
97
+ ### Load using IWeb.loadClientsidePage
98
+
99
+ This method takes a _server relative_ path to the page to load.
100
+
101
+ ```TypeScript
102
+ import { spfi } from "@pnp/sp";
103
+ import "@pnp/sp/webs";
104
+ import { Web } from "@pnp/sp/webs";
105
+ import "@pnp/sp/clientside-pages/web";
106
+
107
+ const sp = spfi(...);
108
+
109
+ // use from the sp.web fluent chain
110
+ const page = await sp.web.loadClientsidePage("/sites/dev/sitepages/mypage3.aspx");
111
+
112
+ // use the web factory to target a specific web
113
+ const page2 = await Web([sp.web, "https://{absolute web url}"]).loadClientsidePage("/sites/dev/sitepages/mypage3.aspx");
114
+ ```
115
+
116
+ ### Load using ClientsidePageFromFile
117
+
118
+ This method takes an IFile instance and loads an IClientsidePage instance.
119
+
120
+ ```TypeScript
121
+ import { spfi } from "@pnp/sp";
122
+ import { ClientsidePageFromFile } from "@pnp/sp/clientside-pages";
123
+ import "@pnp/sp/webs";
124
+ import "@pnp/sp/files/web";
125
+
126
+ const sp = spfi(...);
127
+
128
+ const page = await ClientsidePageFromFile(sp.web.getFileByServerRelativePath("/sites/dev/sitepages/mypage3.aspx"));
129
+ ```
130
+
131
+ ## Edit Sections and Columns
132
+
133
+ 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 `page` that is understood to be an IClientsidePage instance which is either created or loaded as outlined in previous sections.
134
+
135
+ ```TypeScript
136
+ import { spfi } from "@pnp/sp";
137
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
138
+
139
+ const sp = spfi(...);
140
+
141
+ // our page instance
142
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
143
+
144
+ // add two columns with factor 6 - this is a two column layout as the total factor in a section should add up to 12
145
+ const section1 = page.addSection();
146
+ section1.addColumn(6);
147
+ section1.addColumn(6);
148
+
149
+ // create a three column layout in a new section
150
+ const section2 = page.addSection();
151
+ section2.addColumn(4);
152
+ section2.addColumn(4);
153
+ section2.addColumn(4);
154
+
155
+ // publish our changes
156
+ await page.save();
157
+ ```
158
+
159
+ ### Manipulate Sections and Columns
160
+
161
+ ```TypeScript
162
+ import { spfi } from "@pnp/sp";
163
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
164
+
165
+ const sp = spfi(...);
166
+
167
+ // our page instance
168
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
169
+
170
+ // drop all the columns in this section
171
+ // this will also DELETE all controls contained in the columns
172
+ page.sections[1].columns.length = 0;
173
+
174
+ // create a new column layout
175
+ page.sections[1].addColumn(4);
176
+ page.sections[1].addColumn(8);
177
+
178
+ // publish our changes
179
+ await page.save();
180
+ ```
181
+
182
+ ### Vertical Section
183
+
184
+ The vertical section, if on the page, is stored within the sections array. However, you access it slightly differently to make things easier.
185
+
186
+ ```TypeScript
187
+ import { spfi } from "@pnp/sp";
188
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
189
+
190
+ const sp = spfi(...);
191
+
192
+ // our page instance
193
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
194
+
195
+ // add or get a vertical section (handles case where section already exists)
196
+ const vertSection = page.addVerticalSection();
197
+
198
+ // ****************************************************************
199
+
200
+ // if you know or want to test if a vertical section is present:
201
+ if (page.hasVerticalSection) {
202
+
203
+ // access the vertical section (this method will NOT create the section if it does not exist)
204
+ page.verticalSection.addControl(new ClientsideText("hello"));
205
+ } else {
206
+
207
+ const vertSection = page.addVerticalSection();
208
+ vertSection.addControl(new ClientsideText("hello"));
209
+ }
210
+ ```
211
+
212
+ ### Reorder Sections
213
+
214
+ ```TypeScript
215
+ import { spfi } from "@pnp/sp";
216
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
217
+
218
+ const sp = spfi(...);
219
+
220
+ // our page instance
221
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
222
+
223
+ // swap the order of two sections
224
+ // this will preserve the controls within the columns
225
+ page.sections = [page.sections[1], page.sections[0]];
226
+
227
+ // publish our changes
228
+ await page.save();
229
+ ```
230
+
231
+ ### Reorder Columns
232
+
233
+ The sections and columns are arrays, so normal array operations work as expected
234
+
235
+ ```TypeScript
236
+ import { spfi } from "@pnp/sp";
237
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
238
+
239
+ const sp = spfi(...);
240
+
241
+ // our page instance
242
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
243
+
244
+ // swap the order of two columns
245
+ // this will preserve the controls within the columns
246
+ page.sections[1].columns = [page.sections[1].columns[1], page.sections[1].columns[0]];
247
+
248
+ // publish our changes
249
+ await page.save();
250
+ ```
251
+
252
+ ## Clientside Controls
253
+
254
+ Once you have your sections and columns defined you will want to add/edit controls within those columns.
255
+
256
+ ### Add Text Content
257
+
258
+ ```TypeScript
259
+ import { spfi } from "@pnp/sp";
260
+ import { ClientsideText, IClientsidePage } from "@pnp/sp/clientside-pages";
261
+
262
+ const sp = spfi(...);
263
+
264
+ // our page instance
265
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
266
+
267
+ page.addSection().addControl(new ClientsideText("@pnp/sp is a great library!"));
268
+
269
+ await page.save();
270
+ ```
271
+
272
+ ### Add Controls
273
+
274
+ Adding controls involves loading the available client-side part definitions from the server or creating a text part.
275
+
276
+ ```TypeScript
277
+ import "@pnp/sp/webs";
278
+ import "@pnp/sp/clientside-pages/web";
279
+ import { spfi } from "@pnp/sp";
280
+ import { ClientsideWebpart } from "@pnp/sp/clientside-pages";
281
+
282
+ const sp = spfi(...);
283
+
284
+ // this will be a ClientsidePageComponent array
285
+ // this can be cached on the client in production scenarios
286
+ const partDefs = await sp.web.getClientsideWebParts();
287
+
288
+ // find the definition we want, here by id
289
+ const partDef = partDefs.filter(c => c.Id === "490d7c76-1824-45b2-9de3-676421c997fa");
290
+
291
+ // optionally ensure you found the def
292
+ if (partDef.length < 1) {
293
+ // we didn't find it so we throw an error
294
+ throw new Error("Could not find the web part");
295
+ }
296
+
297
+ // create a ClientWebPart instance from the definition
298
+ const part = ClientsideWebpart.fromComponentDef(partDef[0]);
299
+
300
+ // 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.
301
+ // 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
302
+ // the properties correctly
303
+ part.setProperties<{ embedCode: string }>({
304
+ embedCode: "https://www.youtube.com/watch?v=IWQFZ7Lx-rg",
305
+ });
306
+
307
+ // we add that part to a new section
308
+ page.addSection().addControl(part);
309
+
310
+ await page.save();
311
+ ```
312
+
313
+ ### Handle Different Webpart's Settings
314
+
315
+ 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.
316
+
317
+ ```TypeScript
318
+ import { spfi } from "@pnp/sp";
319
+ import { ClientsideWebpart } from "@pnp/sp/clientside-pages";
320
+ import "@pnp/sp/webs";
321
+
322
+ // we create a class to wrap our functionality in a reusable way
323
+ class ListWebpart extends ClientsideWebpart {
324
+
325
+ constructor(control: ClientsideWebpart) {
326
+ super((<any>control).json);
327
+ }
328
+
329
+ // add property getter/setter for what we need, in this case "listTitle" within searchablePlainTexts
330
+ public get DisplayTitle(): string {
331
+ return this.json.webPartData?.serverProcessedContent?.searchablePlainTexts?.listTitle || "";
332
+ }
333
+
334
+ public set DisplayTitle(value: string) {
335
+ this.json.webPartData.serverProcessedContent.searchablePlainTexts.listTitle = value;
336
+ }
337
+ }
338
+
339
+ const sp = spfi(...);
340
+
341
+ // now we load our page
342
+ const page = await sp.web.loadClientsidePage("/sites/dev/SitePages/List-Web-Part.aspx");
343
+
344
+ // get our part and pass it to the constructor of our wrapper class
345
+ const part = new ListWebpart(page.sections[0].columns[0].getControl(0));
346
+
347
+ part.DisplayTitle = "My New Title!";
348
+
349
+ await page.save();
350
+ ```
351
+
352
+ > 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.
353
+
354
+ ## Page Operations
355
+
356
+ There are other operation you can perform on a page in addition to manipulating the content.
357
+
358
+ ### pageLayout
359
+
360
+ You can get and set the page layout. Changing the layout after creating the page may have side effects and should be done cautiously.
361
+
362
+ ```TypeScript
363
+ import { spfi } from "@pnp/sp";
364
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
365
+
366
+ const sp = spfi(...);
367
+
368
+ // our page instance
369
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
370
+
371
+ // get the current value
372
+ const value = page.pageLayout;
373
+
374
+ // set the value
375
+ page.pageLayout = "Article";
376
+ await page.save();
377
+ ```
378
+
379
+ ### bannerImageUrl
380
+
381
+ ```TypeScript
382
+ import { spfi } from "@pnp/sp";
383
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
384
+
385
+ const sp = spfi(...);
386
+
387
+ // our page instance
388
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
389
+
390
+ // get the current value
391
+ const value = page.bannerImageUrl;
392
+
393
+ // set the value
394
+ page.bannerImageUrl = "/server/relative/path/to/image.png";
395
+ await page.save();
396
+ ```
397
+
398
+ > Banner images need to exist within the same site collection as the page where you want to use them.
399
+
400
+ ### thumbnailUrl
401
+
402
+ Allows you to set the thumbnail used for the page independently of the banner.
403
+
404
+ > If you set the bannerImageUrl property and not thumbnailUrl the thumbnail will be reset to match the banner, mimicking the UI functionality.
405
+
406
+ ```TypeScript
407
+ import { spfi } from "@pnp/sp";
408
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
409
+
410
+ const sp = spfi(...);
411
+
412
+ // our page instance
413
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
414
+
415
+ // get the current value
416
+ const value = page.thumbnailUrl;
417
+
418
+ // set the value
419
+ page.thumbnailUrl = "/server/relative/path/to/image.png";
420
+ await page.save();
421
+ ```
422
+
423
+ ### topicHeader
424
+
425
+ ```TypeScript
426
+ import { spfi } from "@pnp/sp";
427
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
428
+
429
+ const sp = spfi(...);
430
+
431
+ // our page instance
432
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
433
+
434
+ // get the current value
435
+ const value = page.topicHeader;
436
+
437
+ // set the value
438
+ page.topicHeader = "My cool header!";
439
+ await page.save();
440
+
441
+ // clear the topic header and hide it
442
+ page.topicHeader = "";
443
+ await page.save();
444
+ ```
445
+
446
+ ### title
447
+
448
+ ```TypeScript
449
+ import { spfi } from "@pnp/sp";
450
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
451
+
452
+ const sp = spfi(...);
453
+
454
+ // our page instance
455
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
456
+
457
+ // get the current value
458
+ const value = page.title;
459
+
460
+ // set the value
461
+ page.title = "My page title";
462
+ await page.save();
463
+ ```
464
+
465
+ ### description
466
+
467
+ > Descriptions are limited to 255 chars
468
+
469
+ ```TypeScript
470
+ import { spfi } from "@pnp/sp";
471
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
472
+
473
+ const sp = spfi(...);
474
+
475
+ // our page instance
476
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
477
+
478
+ // get the current value
479
+ const value = page.description;
480
+
481
+ // set the value
482
+ page.description = "A description";
483
+ await page.save();
484
+ ```
485
+
486
+ ### layoutType
487
+
488
+ Sets the layout type of the page. The valid values are: "FullWidthImage", "NoImage", "ColorBlock", "CutInShape"
489
+
490
+ ```TypeScript
491
+ import { spfi } from "@pnp/sp";
492
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
493
+
494
+ const sp = spfi(...);
495
+
496
+ // our page instance
497
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
498
+
499
+ // get the current value
500
+ const value = page.layoutType;
501
+
502
+ // set the value
503
+ page.layoutType = "ColorBlock";
504
+ await page.save();
505
+ ```
506
+
507
+ ### headerTextAlignment
508
+
509
+ Sets the header text alignment to one of "Left" or "Center"
510
+
511
+ ```TypeScript
512
+ import { spfi } from "@pnp/sp";
513
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
514
+
515
+ const sp = spfi(...);
516
+
517
+ // our page instance
518
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
519
+
520
+ // get the current value
521
+ const value = page.headerTextAlignment;
522
+
523
+ // set the value
524
+ page.headerTextAlignment = "Center";
525
+ await page.save();
526
+ ```
527
+
528
+ ### showTopicHeader
529
+
530
+ Sets if the topic header is displayed on a page.
531
+
532
+ ```TypeScript
533
+ import { spfi } from "@pnp/sp";
534
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
535
+
536
+ const sp = spfi(...);
537
+
538
+ // our page instance
539
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
540
+
541
+ // get the current value
542
+ const value = page.showTopicHeader;
543
+
544
+ // show the header
545
+ page.showTopicHeader = true;
546
+ await page.save();
547
+
548
+ // hide the header
549
+ page.showTopicHeader = false;
550
+ await page.save();
551
+ ```
552
+
553
+ ### showPublishDate
554
+
555
+ Sets if the publish date is displayed on a page.
556
+
557
+ ```TypeScript
558
+ import { spfi } from "@pnp/sp";
559
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
560
+ const sp = spfi(...);
561
+
562
+ // our page instance
563
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
564
+
565
+ // get the current value
566
+ const value = page.showPublishDate;
567
+
568
+ // show the date
569
+ page.showPublishDate = true;
570
+ await page.save();
571
+
572
+ // hide the date
573
+ page.showPublishDate = false;
574
+ await page.save();
575
+ ```
576
+
577
+ ### Get / Set author details
578
+
579
+ ```TypeScript
580
+ import { spfi } from "@pnp/sp";
581
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
582
+ import "@pnp/sp/clientside-pages";
583
+ import "@pnp/sp/site-users";
584
+
585
+ const sp = spfi(...);
586
+
587
+ // our page instance
588
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
589
+
590
+ // get the author details (string | null)
591
+ const value = page.authorByLine;
592
+
593
+ // set the author by user id
594
+ const user = await sp.web.currentUser.select("Id", "LoginName")();
595
+ const userId = user.Id;
596
+ const userLogin = user.LoginName;
597
+
598
+ await page.setAuthorById(userId);
599
+ await page.save();
600
+
601
+ await page.setAuthorByLoginName(userLogin);
602
+ await page.save();
603
+ ```
604
+
605
+ > you must still save the page after setting the author to persist your changes as shown in the example.
606
+
607
+ ### load
608
+
609
+ Loads the page from the server. This will overwrite any local unsaved changes.
610
+
611
+ ```TypeScript
612
+ import { spfi } from "@pnp/sp";
613
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
614
+
615
+ const sp = spfi(...);
616
+
617
+ // our page instance
618
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
619
+
620
+ await page.load();
621
+ ```
622
+
623
+ ### save
624
+
625
+ >![Known Issue Banner](https://img.shields.io/badge/Known%20Issue-important.svg) Uncustomized home pages (i.e the home page that is generated with a site out of the box) cannot be updated by this library without becoming corrupted.
626
+
627
+ Saves any changes to the page, optionally keeping them in draft state.
628
+
629
+ ```TypeScript
630
+ import { spfi } from "@pnp/sp";
631
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
632
+
633
+ const sp = spfi(...);
634
+
635
+ // our page instance
636
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
637
+
638
+ // changes are published
639
+ await page.save();
640
+
641
+ // changes remain in draft
642
+ await page.save(false);
643
+ ```
644
+
645
+ ### discardPageCheckout
646
+
647
+ Discards any current checkout of the page by the current user.
648
+
649
+ ```TypeScript
650
+ import { spfi } from "@pnp/sp";
651
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
652
+
653
+ const sp = spfi(...);
654
+
655
+ // our page instance
656
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
657
+
658
+ await page.discardPageCheckout();
659
+ ```
660
+
661
+ ### schedulePublish
662
+
663
+ Schedules the page for publishing.
664
+
665
+ ```TypeScript
666
+ import { spfi } from "@pnp/sp";
667
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
668
+
669
+ const sp = spfi(...);
670
+
671
+ // our page instance
672
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
673
+
674
+ // date and time to publish the page in UTC.
675
+ const publishDate = new Date("1/1/1901");
676
+
677
+ const scheduleVersion: string = await page.schedulePublish(publishDate);
678
+ ```
679
+
680
+ ### promoteToNews
681
+
682
+ Promotes the page as a news article.
683
+
684
+ ```TypeScript
685
+ import { spfi } from "@pnp/sp";
686
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
687
+
688
+ const sp = spfi(...);
689
+
690
+ // our page instance
691
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
692
+
693
+ await page.promoteToNews();
694
+ ```
695
+
696
+ ### enableComments & disableComments
697
+
698
+ Used to control the availability of comments on a page.
699
+
700
+ [![Known Issue Banner](https://img.shields.io/badge/Known%20Issue-important.svg)](https://github.com/pnp/pnpjs/issues/1383)
701
+
702
+ ```TypeScript
703
+ import { spfi } from "@pnp/sp";
704
+ // you need to import the comments sub-module or use the all preset
705
+ import "@pnp/sp/comments/clientside-page";
706
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
707
+
708
+ const sp = spfi(...);
709
+
710
+ // our page instance
711
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
712
+
713
+ // turn on comments
714
+ await page.enableComments();
715
+
716
+ // turn off comments
717
+ await page.disableComments();
718
+ ```
719
+
720
+ ### findControlById
721
+
722
+ Finds a control within the page by id.
723
+
724
+ ```TypeScript
725
+ import { spfi } from "@pnp/sp";
726
+ import { IClientsidePage, ClientsideText } from "@pnp/sp/clientside-pages";
727
+
728
+ const sp = spfi(...);
729
+
730
+ // our page instance
731
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
732
+
733
+ const control = page.findControlById("06d4cdf6-bce6-4200-8b93-667a1b0a6c9d");
734
+
735
+ // you can also type the control
736
+ const control = page.findControlById<ClientsideText>("06d4cdf6-bce6-4200-8b93-667a1b0a6c9d");
737
+ ```
738
+
739
+ ### findControl
740
+
741
+ Finds a control within the page using the supplied delegate. Can also be used to iterate through all controls in the page.
742
+
743
+ ```TypeScript
744
+ import { spfi } from "@pnp/sp";
745
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
746
+
747
+ const sp = spfi(...);
748
+
749
+ // our page instance
750
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
751
+
752
+ // find the first control whose order is 9
753
+ const control = page.findControl((c) => c.order === 9);
754
+
755
+ // iterate all the controls and output the id to the console
756
+ page.findControl((c) => {
757
+ console.log(c.id);
758
+ return false;
759
+ });
760
+ ```
761
+
762
+ ### like & unlike
763
+
764
+ Updates the page's like value for the current user.
765
+
766
+ ```TypeScript
767
+ // our page instance
768
+ const page: IClientsidePage;
769
+
770
+ // like this page
771
+ await page.like();
772
+
773
+ // unlike this page
774
+ await page.unlike();
775
+ ```
776
+
777
+ ### getLikedByInformation
778
+
779
+ Gets the likes information for this page.
780
+
781
+ ```TypeScript
782
+ // our page instance
783
+ const page: IClientsidePage;
784
+
785
+ const info = await page.getLikedByInformation();
786
+ ```
787
+
788
+ ### copy
789
+
790
+ Creates a copy of the page, including all controls.
791
+
792
+ ```TypeScript
793
+ import { spfi } from "@pnp/sp";
794
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
795
+ import "@pnp/sp/webs";
796
+
797
+ const sp = spfi(...);
798
+
799
+ // our page instance
800
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
801
+
802
+ // creates a published copy of the page
803
+ const pageCopy = await page.copy(sp.web, "newpagename", "New Page Title");
804
+
805
+ // creates a draft (unpublished) copy of the page
806
+ const pageCopy2 = await page.copy(sp.web, "newpagename", "New Page Title", false);
807
+
808
+ // edits to pageCopy2 ...
809
+
810
+ // publish the page
811
+ pageCopy2.save();
812
+ ```
813
+
814
+ ### copyTo
815
+
816
+ Copies the contents of a page to another existing page instance.
817
+
818
+ ```TypeScript
819
+ import { spfi } from "@pnp/sp";
820
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
821
+ import "@pnp/sp/webs";
822
+
823
+ const sp = spfi(...);
824
+
825
+ // our page instances, loaded in any of the ways shown above
826
+ const source: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
827
+ const target: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/target.aspx");
828
+ const target2: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/target2.aspx");
829
+
830
+ // creates a published copy of the page
831
+ await source.copyTo(target);
832
+
833
+ // creates a draft (unpublished) copy of the page
834
+ await source.copyTo(target2, false);
835
+
836
+ // edits to target2...
837
+
838
+ // publish the page
839
+ target2.save();
840
+ ```
841
+
842
+ ### setBannerImage
843
+
844
+ 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.
845
+
846
+ > Banner images need to exist within the same site collection as the page where you want to use them.
847
+
848
+ ```TypeScript
849
+ import { spfi } from "@pnp/sp";
850
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
851
+
852
+ const sp = spfi(...);
853
+
854
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
855
+
856
+ page.setBannerImage("/server/relative/path/to/image.png");
857
+
858
+ // save the changes
859
+ await page.save();
860
+
861
+ // set additional props
862
+ page.setBannerImage("/server/relative/path/to/image.png", {
863
+ altText: "Image description",
864
+ imageSourceType: 2,
865
+ translateX: 30,
866
+ translateY: 1234,
867
+ });
868
+
869
+ // save the changes
870
+ await page.save();
871
+ ```
872
+
873
+ 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 `file` - likely from a file input or similar.
874
+
875
+ ```TypeScript
876
+ import { join } from "path";
877
+ import { createReadStream } from "fs";
878
+ import { spfi, SPFI, SPFx } from "@pnp/sp";
879
+ import { SPDefault } from "@pnp/nodejs";
880
+ import { LogLevel } from "@pnp/logging";
881
+
882
+ import "@pnp/sp/webs";
883
+ import "@pnp/sp/files";
884
+ import "@pnp/sp/folders";
885
+ import "@pnp/sp/clientside-pages";
886
+
887
+ const buffer = readFileSync("c:/temp/key.pem");
888
+
889
+ const config:any = {
890
+ auth: {
891
+ authority: "https://login.microsoftonline.com/{my tenant}/",
892
+ clientId: "{application (client) id}",
893
+ clientCertificate: {
894
+ thumbprint: "{certificate thumbprint, displayed in AAD}",
895
+ privateKey: buffer.toString(),
896
+ },
897
+ },
898
+ system: {
899
+ loggerOptions: {
900
+ loggerCallback(loglevel: any, message: any, containsPii: any) {
901
+ console.log(message);
902
+ },
903
+ piiLoggingEnabled: false,
904
+ logLevel: LogLevel.Verbose
905
+ }
906
+ }
907
+ };
908
+
909
+ // configure your node options
910
+ const sp = spfi('{site url}').using(SPDefault({
911
+ baseUrl: '{site url}',
912
+ msal: {
913
+ config: config,
914
+ scopes: [ 'https://{my tenant}.sharepoint.com/.default' ]
915
+ }
916
+ }));
917
+
918
+
919
+ // add the banner image
920
+ const dirname = join("C:/path/to/file", "img-file.jpg");
921
+
922
+ const chunkedFile = createReadStream(dirname);
923
+
924
+ const far = await sp.web.getFolderByServerRelativePath("/sites/dev/Shared Documents").files.addChunked( "banner.jpg", chunkedFile );
925
+
926
+ // add the page
927
+ const page = await sp.web.addClientsidePage("MyPage", "Page Title");
928
+
929
+ // set the banner image
930
+ page.setBannerImage(far.data.ServerRelativeUrl);
931
+
932
+ // publish the page
933
+ await page.save();
934
+ ```
935
+
936
+ ### setBannerImageFromExternalUrl
937
+
938
+ 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.
939
+
940
+ ```TypeScript
941
+ import { spfi } from "@pnp/sp";
942
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
943
+
944
+ const sp = spfi(...);
945
+
946
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
947
+
948
+ // you must await this method
949
+ await page.setBannerImageFromExternalUrl("https://absolute.url/to/my/image.jpg");
950
+
951
+ // save the changes
952
+ await page.save();
953
+ ```
954
+
955
+ You can optionally supply additional props for the banner image, these match the properties when calling [setBannerImage](#setbannerimage)
956
+
957
+ ```TypeScript
958
+ import { spfi } from "@pnp/sp";
959
+ import { IClientsidePage } from "@pnp/sp/clientside-pages";
960
+
961
+ const sp = spfi(...);
962
+
963
+ const page: IClientsidePage = await sp.web.loadClientsidePage("/sites/dev/sitepages/home.aspx");
964
+
965
+ // you must await this method
966
+ await page.setBannerImageFromExternalUrl("https://absolute.url/to/my/image.jpg", {
967
+ altText: "Image description",
968
+ imageSourceType: 2,
969
+ translateX: 30,
970
+ translateY: 1234,
971
+ });
972
+
973
+ // save the changes
974
+ await page.save();
975
+ ```
976
+
977
+ ### recycle
978
+
979
+ Allows you to recycle a page without first needing to use getItem
980
+
981
+ ```TypeScript
982
+ // our page instance
983
+ const page: IClientsidePage;
984
+ // you must await this method
985
+ await page.recycle();
986
+ ```
987
+
988
+ ### delete
989
+
990
+ Allows you to delete a page without first needing to use getItem
991
+
992
+ ```TypeScript
993
+ // our page instance
994
+ const page: IClientsidePage;
995
+ // you must await this method
996
+ await page.delete();
997
+ ```
998
+
999
+ ### saveAsTemplate
1000
+
1001
+ Save page as a template from which other pages can be created. If it doesn't exist a special folder "Templates" will be added to the doc lib
1002
+
1003
+ ```TypeScript
1004
+ // our page instance
1005
+ const page: IClientsidePage;
1006
+ // you must await this method
1007
+ await page.saveAsTemplate();
1008
+ // save a template, but don't publish it allowing you to make changes before it is available to users
1009
+ // you
1010
+ await page.saveAsTemplate(false);
1011
+ // ... changes to the page
1012
+ // you must publish the template so it is available
1013
+ await page.save();
1014
+ ```
1015
+
1016
+ ### share
1017
+
1018
+ Allows sharing a page with one or more email addresses, optionall including a message in the email
1019
+
1020
+ ```TypeScript
1021
+ // our page instance
1022
+ const page: IClientsidePage;
1023
+ // you must await this method
1024
+ await page.share(["email@place.com", "email2@otherplace.com"]);
1025
+ // optionally include a message
1026
+ await page.share(["email@place.com", "email2@otherplace.com"], "Please check out this cool page!");
1027
+ ```
1028
+
1029
+ ## Add Repost Page
1030
+
1031
+ You can use the `addRepostPage` method to add a report page. The method returns the absolute url of the created page. All properties are optional but it is recommended to include as much as possible to improve the quality of the repost card's display.
1032
+
1033
+ ```TypeScript
1034
+ import { spfi } from "@pnp/sp";
1035
+ import "@pnp/sp/webs";
1036
+ import "@pnp/sp/clientside-pages";
1037
+
1038
+ const sp = spfi(...);
1039
+ const page = await sp.web.addRepostPage({
1040
+ BannerImageUrl: "https://some.absolute/path/to/an/image.jpg",
1041
+ IsBannerImageUrlExternal: true,
1042
+ Description: "My Description",
1043
+ Title: "This is my title!",
1044
+ OriginalSourceUrl: "https://absolute/path/to/article",
1045
+ });
1046
+ ```
1047
+
1048
+ > To specify an existing item in another list all of the four properties OriginalSourceSiteId, OriginalSourceWebId, OriginalSourceListId, and OriginalSourceItemId are required.