@pnp/sp 2.7.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/LICENSE +25 -25
  2. package/appcatalog/index.d.ts +8 -8
  3. package/appcatalog/index.js +30 -30
  4. package/appcatalog/types.d.ts +81 -81
  5. package/appcatalog/types.js +177 -177
  6. package/appcatalog/web.d.ts +16 -16
  7. package/appcatalog/web.js +6 -6
  8. package/attachments/index.d.ts +2 -2
  9. package/attachments/index.js +2 -2
  10. package/attachments/item.d.ts +12 -12
  11. package/attachments/item.js +4 -4
  12. package/attachments/types.d.ts +92 -92
  13. package/attachments/types.js +240 -240
  14. package/batch.d.ts +17 -17
  15. package/batch.js +223 -223
  16. package/batch.js.map +1 -1
  17. package/clientside-pages/funcs.d.ts +22 -22
  18. package/clientside-pages/funcs.js +25 -25
  19. package/clientside-pages/index.d.ts +2 -2
  20. package/clientside-pages/index.js +2 -2
  21. package/clientside-pages/types.d.ts +496 -494
  22. package/clientside-pages/types.d.ts.map +1 -1
  23. package/clientside-pages/types.js +1496 -1485
  24. package/clientside-pages/types.js.map +1 -1
  25. package/clientside-pages/web.d.ts +41 -41
  26. package/clientside-pages/web.js +57 -57
  27. package/column-defaults/folder.d.ts +27 -27
  28. package/column-defaults/folder.js +82 -82
  29. package/column-defaults/index.d.ts +3 -3
  30. package/column-defaults/index.js +2 -2
  31. package/column-defaults/list.d.ts +19 -19
  32. package/column-defaults/list.js +198 -198
  33. package/column-defaults/types.d.ts +21 -21
  34. package/column-defaults/types.js +1 -1
  35. package/comments/clientside-page.d.ts +57 -57
  36. package/comments/clientside-page.d.ts.map +1 -1
  37. package/comments/clientside-page.js +136 -136
  38. package/comments/index.d.ts +2 -2
  39. package/comments/index.js +2 -2
  40. package/comments/item.d.ts +29 -29
  41. package/comments/item.js +47 -47
  42. package/comments/types.d.ts +107 -107
  43. package/comments/types.d.ts.map +1 -1
  44. package/comments/types.js +145 -145
  45. package/comments/types.js.map +1 -1
  46. package/content-types/index.d.ts +4 -4
  47. package/content-types/index.js +4 -4
  48. package/content-types/item.d.ts +12 -12
  49. package/content-types/item.js +4 -4
  50. package/content-types/list.d.ts +12 -12
  51. package/content-types/list.js +4 -4
  52. package/content-types/types.d.ts +107 -107
  53. package/content-types/types.js +166 -166
  54. package/content-types/web.d.ts +12 -12
  55. package/content-types/web.js +4 -4
  56. package/decorators.d.ts +11 -11
  57. package/decorators.js +28 -28
  58. package/features/index.d.ts +3 -3
  59. package/features/index.js +3 -3
  60. package/features/site.d.ts +12 -12
  61. package/features/site.js +4 -4
  62. package/features/types.d.ts +47 -47
  63. package/features/types.js +109 -109
  64. package/features/web.d.ts +12 -12
  65. package/features/web.js +4 -4
  66. package/fields/index.d.ts +4 -4
  67. package/fields/index.js +4 -4
  68. package/fields/list.d.ts +12 -12
  69. package/fields/list.js +4 -4
  70. package/fields/types.d.ts +368 -361
  71. package/fields/types.d.ts.map +1 -1
  72. package/fields/types.js +624 -609
  73. package/fields/types.js.map +1 -1
  74. package/fields/web.d.ts +17 -17
  75. package/fields/web.js +5 -5
  76. package/files/folder.d.ts +12 -12
  77. package/files/folder.js +4 -4
  78. package/files/index.d.ts +4 -4
  79. package/files/index.js +4 -4
  80. package/files/item.d.ts +12 -12
  81. package/files/item.js +4 -4
  82. package/files/types.d.ts +421 -421
  83. package/files/types.js +853 -853
  84. package/files/types.js.map +1 -1
  85. package/files/web.d.ts +35 -35
  86. package/files/web.js +15 -15
  87. package/folders/index.d.ts +4 -4
  88. package/folders/index.js +4 -4
  89. package/folders/item.d.ts +9 -9
  90. package/folders/item.js +4 -4
  91. package/folders/list.d.ts +12 -12
  92. package/folders/list.js +4 -4
  93. package/folders/types.d.ts +207 -207
  94. package/folders/types.js +433 -433
  95. package/folders/types.js.map +1 -1
  96. package/folders/web.d.ts +39 -39
  97. package/folders/web.js +15 -15
  98. package/forms/index.d.ts +2 -2
  99. package/forms/index.js +2 -2
  100. package/forms/list.d.ts +9 -9
  101. package/forms/list.js +4 -4
  102. package/forms/types.d.ts +35 -35
  103. package/forms/types.js +41 -41
  104. package/hubsites/index.d.ts +12 -12
  105. package/hubsites/index.js +15 -15
  106. package/hubsites/site.d.ts +26 -26
  107. package/hubsites/site.js +39 -39
  108. package/hubsites/types.d.ts +55 -55
  109. package/hubsites/types.js +53 -53
  110. package/hubsites/web.d.ts +21 -21
  111. package/hubsites/web.js +23 -23
  112. package/index.d.ts +14 -14
  113. package/index.js +13 -13
  114. package/items/index.d.ts +2 -2
  115. package/items/index.js +2 -2
  116. package/items/list.d.ts +9 -9
  117. package/items/list.js +4 -4
  118. package/items/types.d.ts +226 -219
  119. package/items/types.d.ts.map +1 -1
  120. package/items/types.js +549 -511
  121. package/items/types.js.map +1 -1
  122. package/lists/index.d.ts +2 -2
  123. package/lists/index.js +2 -2
  124. package/lists/types.d.ts +495 -495
  125. package/lists/types.js +522 -522
  126. package/lists/types.js.map +1 -1
  127. package/lists/web.d.ts +43 -43
  128. package/lists/web.js +27 -27
  129. package/navigation/index.d.ts +8 -8
  130. package/navigation/index.js +14 -14
  131. package/navigation/types.d.ts +154 -154
  132. package/navigation/types.js +219 -219
  133. package/navigation/web.d.ts +13 -13
  134. package/navigation/web.js +4 -4
  135. package/odata.d.ts +5 -5
  136. package/odata.js +90 -90
  137. package/odata.js.map +1 -1
  138. package/operations.d.ts +9 -9
  139. package/operations.js +63 -63
  140. package/package.json +4 -4
  141. package/presets/all.d.ts +72 -72
  142. package/presets/all.js +72 -72
  143. package/presets/core.d.ts +11 -11
  144. package/presets/core.js +11 -11
  145. package/profiles/index.d.ts +7 -7
  146. package/profiles/index.js +13 -13
  147. package/profiles/types.d.ts +357 -357
  148. package/profiles/types.js +454 -454
  149. package/readme.md +21 -21
  150. package/regional-settings/content-type.d.ts +7 -7
  151. package/regional-settings/content-type.js +4 -4
  152. package/regional-settings/field.d.ts +7 -7
  153. package/regional-settings/field.js +4 -4
  154. package/regional-settings/funcs.d.ts +2 -2
  155. package/regional-settings/funcs.js +8 -8
  156. package/regional-settings/index.d.ts +6 -6
  157. package/regional-settings/index.js +6 -6
  158. package/regional-settings/list.d.ts +7 -7
  159. package/regional-settings/list.js +4 -4
  160. package/regional-settings/types.d.ts +111 -111
  161. package/regional-settings/types.js +159 -159
  162. package/regional-settings/user-custom-actions.d.ts +7 -7
  163. package/regional-settings/user-custom-actions.js +4 -4
  164. package/regional-settings/web.d.ts +12 -12
  165. package/regional-settings/web.js +7 -7
  166. package/related-items/index.d.ts +1 -1
  167. package/related-items/index.js +1 -1
  168. package/related-items/types.d.ts +76 -76
  169. package/related-items/types.js +103 -103
  170. package/related-items/web.d.ts +12 -12
  171. package/related-items/web.js +9 -9
  172. package/rest.d.ts +44 -44
  173. package/rest.js +72 -72
  174. package/search/index.d.ts +30 -30
  175. package/search/index.js +25 -25
  176. package/search/query.d.ts +62 -62
  177. package/search/query.js +302 -302
  178. package/search/suggest.d.ts +76 -76
  179. package/search/suggest.js +66 -66
  180. package/search/types.d.ts +426 -426
  181. package/search/types.js +57 -57
  182. package/security/funcs.d.ts +43 -43
  183. package/security/funcs.js +142 -142
  184. package/security/index.d.ts +4 -4
  185. package/security/index.js +4 -4
  186. package/security/item.d.ts +7 -7
  187. package/security/item.js +14 -14
  188. package/security/list.d.ts +7 -7
  189. package/security/list.js +14 -14
  190. package/security/types.d.ts +318 -318
  191. package/security/types.js +399 -399
  192. package/security/web.d.ts +9 -9
  193. package/security/web.js +15 -15
  194. package/sharepointqueryable.d.ts +135 -135
  195. package/sharepointqueryable.js +265 -265
  196. package/sharing/file.d.ts +18 -18
  197. package/sharing/file.d.ts.map +1 -1
  198. package/sharing/file.js +116 -15
  199. package/sharing/file.js.map +1 -1
  200. package/sharing/folder.d.ts +9 -9
  201. package/sharing/folder.js +136 -136
  202. package/sharing/funcs.d.ts +62 -62
  203. package/sharing/funcs.js +239 -239
  204. package/sharing/funcs.js.map +1 -1
  205. package/sharing/index.d.ts +5 -5
  206. package/sharing/index.js +5 -5
  207. package/sharing/item.d.ts +16 -16
  208. package/sharing/item.js +15 -15
  209. package/sharing/types.d.ts +583 -583
  210. package/sharing/types.js +113 -113
  211. package/sharing/web.d.ts +19 -19
  212. package/sharing/web.js +76 -76
  213. package/site-designs/index.d.ts +8 -8
  214. package/site-designs/index.js +14 -14
  215. package/site-designs/types.d.ts +319 -319
  216. package/site-designs/types.js +203 -203
  217. package/site-designs/web.d.ts +25 -25
  218. package/site-designs/web.js +11 -11
  219. package/site-groups/index.d.ts +2 -2
  220. package/site-groups/index.js +2 -2
  221. package/site-groups/types.d.ts +89 -89
  222. package/site-groups/types.js +125 -125
  223. package/site-groups/web.d.ts +40 -40
  224. package/site-groups/web.js +30 -30
  225. package/site-scripts/index.d.ts +9 -9
  226. package/site-scripts/index.js +15 -15
  227. package/site-scripts/list.d.ts +12 -12
  228. package/site-scripts/list.js +24 -24
  229. package/site-scripts/types.d.ts +183 -183
  230. package/site-scripts/types.js +141 -141
  231. package/site-scripts/web.d.ts +13 -13
  232. package/site-scripts/web.js +5 -5
  233. package/site-users/index.d.ts +2 -2
  234. package/site-users/index.js +2 -2
  235. package/site-users/types.d.ts +138 -138
  236. package/site-users/types.js +122 -122
  237. package/site-users/web.d.ts +31 -31
  238. package/site-users/web.js +27 -27
  239. package/sites/index.d.ts +7 -7
  240. package/sites/index.js +13 -13
  241. package/sites/types.d.ts +147 -147
  242. package/sites/types.js +321 -321
  243. package/social/index.d.ts +10 -10
  244. package/social/index.js +13 -13
  245. package/social/types.d.ts +309 -309
  246. package/social/types.js +322 -322
  247. package/sphttpclient.d.ts +18 -18
  248. package/sphttpclient.js +189 -189
  249. package/splibconfig.d.ts +22 -22
  250. package/splibconfig.js +13 -13
  251. package/sputilities/index.d.ts +7 -7
  252. package/sputilities/index.js +13 -13
  253. package/sputilities/types.d.ts +130 -130
  254. package/sputilities/types.js +118 -118
  255. package/subscriptions/index.d.ts +2 -2
  256. package/subscriptions/index.js +2 -2
  257. package/subscriptions/list.d.ts +13 -13
  258. package/subscriptions/list.js +4 -4
  259. package/subscriptions/types.d.ts +54 -54
  260. package/subscriptions/types.js +111 -111
  261. package/taxonomy/index.d.ts +7 -7
  262. package/taxonomy/index.js +13 -13
  263. package/taxonomy/types.d.ts +200 -200
  264. package/taxonomy/types.js +347 -347
  265. package/taxonomy/types.js.map +1 -1
  266. package/telemetry.d.ts +12 -12
  267. package/telemetry.js +48 -48
  268. package/types.d.ts +218 -218
  269. package/types.js +79 -79
  270. package/user-custom-actions/index.d.ts +4 -4
  271. package/user-custom-actions/index.js +4 -4
  272. package/user-custom-actions/list.d.ts +12 -12
  273. package/user-custom-actions/list.js +4 -4
  274. package/user-custom-actions/site.d.ts +12 -12
  275. package/user-custom-actions/site.js +4 -4
  276. package/user-custom-actions/types.d.ts +82 -82
  277. package/user-custom-actions/types.js +93 -93
  278. package/user-custom-actions/web.d.ts +15 -15
  279. package/user-custom-actions/web.js +4 -4
  280. package/utils/escapeQueryStrValue.d.ts +1 -1
  281. package/utils/escapeQueryStrValue.js +19 -19
  282. package/utils/extractweburl.d.ts +1 -1
  283. package/utils/extractweburl.js +15 -15
  284. package/utils/file-names.d.ts +17 -17
  285. package/utils/file-names.js +38 -38
  286. package/utils/metadata.d.ts +5 -5
  287. package/utils/metadata.js +5 -5
  288. package/utils/objectToSPKeyValueCollection.d.ts +20 -20
  289. package/utils/objectToSPKeyValueCollection.js +16 -16
  290. package/utils/toResourcePath.d.ts +7 -7
  291. package/utils/toResourcePath.js +6 -6
  292. package/utils/toabsoluteurl.d.ts +7 -7
  293. package/utils/toabsoluteurl.js +61 -61
  294. package/views/index.d.ts +2 -2
  295. package/views/index.js +2 -2
  296. package/views/list.d.ts +23 -23
  297. package/views/list.js +8 -8
  298. package/views/types.d.ts +140 -140
  299. package/views/types.js +184 -184
  300. package/webparts/file.d.ts +15 -15
  301. package/webparts/file.js +6 -6
  302. package/webparts/index.d.ts +2 -2
  303. package/webparts/index.js +2 -2
  304. package/webparts/types.d.ts +83 -83
  305. package/webparts/types.js +117 -117
  306. package/webs/index.d.ts +16 -16
  307. package/webs/index.js +16 -16
  308. package/webs/types.d.ts +210 -210
  309. package/webs/types.js +295 -295
@@ -1,495 +1,497 @@
1
- import { IQueryable } from "@pnp/odata";
2
- import { ITypedHash } from "@pnp/common";
3
- import { IFile } from "../files/types.js";
4
- import { IItem } from "../items/types.js";
5
- import { _SharePointQueryable, ISharePointQueryable } from "../sharepointqueryable.js";
6
- import { IWeb } from "../webs/types.js";
7
- import "../files/web.js";
8
- import "../comments/item.js";
9
- /**
10
- * Page promotion state
11
- */
12
- export declare const enum PromotedState {
13
- /**
14
- * Regular client side page
15
- */
16
- NotPromoted = 0,
17
- /**
18
- * Page that will be promoted as news article after publishing
19
- */
20
- PromoteOnPublish = 1,
21
- /**
22
- * Page that is promoted as news article
23
- */
24
- Promoted = 2
25
- }
26
- /**
27
- * Type describing the available page layout types for client side "modern" pages
28
- */
29
- export declare type ClientsidePageLayoutType = "Article" | "Home" | "SingleWebPartAppPage" | "RepostPage";
30
- /**
31
- * Column size factor. Max value is 12 (= one column), other options are 8,6,4 or 0
32
- */
33
- export declare type CanvasColumnFactor = 0 | 2 | 4 | 6 | 8 | 12;
34
- /**
35
- * Represents the data and methods associated with client side "modern" pages
36
- */
37
- export declare class _ClientsidePage extends _SharePointQueryable {
38
- protected json?: Partial<IPageData>;
39
- sections: CanvasSection[];
40
- commentsDisabled: boolean;
41
- private _pageSettings;
42
- private _layoutPart;
43
- private _bannerImageDirty;
44
- private _bannerImageThumbnailUrlDirty;
45
- /**
46
- * PLEASE DON'T USE THIS CONSTRUCTOR DIRECTLY, thank you 🐇
47
- */
48
- constructor(baseUrl: string | ISharePointQueryable, path?: string, json?: Partial<IPageData>, noInit?: boolean, sections?: CanvasSection[], commentsDisabled?: boolean);
49
- private static getDefaultLayoutPart;
50
- get pageLayout(): ClientsidePageLayoutType;
51
- set pageLayout(value: ClientsidePageLayoutType);
52
- get bannerImageUrl(): string;
53
- set bannerImageUrl(value: string);
54
- get thumbnailUrl(): string;
55
- set thumbnailUrl(value: string);
56
- get topicHeader(): string;
57
- set topicHeader(value: string);
58
- get title(): string;
59
- set title(value: string);
60
- get reservedHeight(): number;
61
- set reservedHeight(value: number);
62
- get description(): string;
63
- set description(value: string);
64
- get layoutType(): LayoutType;
65
- set layoutType(value: LayoutType);
66
- get headerTextAlignment(): TextAlignment;
67
- set headerTextAlignment(value: TextAlignment);
68
- get showTopicHeader(): boolean;
69
- set showTopicHeader(value: boolean);
70
- get showPublishDate(): boolean;
71
- set showPublishDate(value: boolean);
72
- get hasVerticalSection(): boolean;
73
- get authorByLine(): string | null;
74
- get verticalSection(): CanvasSection | null;
75
- /**
76
- * Add a section to this page
77
- */
78
- addSection(): CanvasSection;
79
- /**
80
- * Add a section to this page
81
- */
82
- addVerticalSection(): CanvasSection;
83
- /**
84
- * Loads this instance from the appropriate JSON data
85
- *
86
- * @param pageData JSON data to load (replaces any existing data)
87
- */
88
- fromJSON(pageData: Partial<IPageData>): this;
89
- /**
90
- * Loads this page's content from the server
91
- */
92
- load(): Promise<IClientsidePage>;
93
- /**
94
- * Persists the content changes (sections, columns, and controls) [does not work with batching]
95
- *
96
- * @param publish If true the page is published, if false the changes are persisted to SharePoint but not published [Default: true]
97
- */
98
- save(publish?: boolean): Promise<boolean>;
99
- /**
100
- * Discards the checkout of this page
101
- */
102
- discardPageCheckout(): Promise<void>;
103
- /**
104
- * Promotes this page as a news item
105
- */
106
- promoteToNews(): Promise<boolean>;
107
- /**
108
- * Finds a control by the specified instance id
109
- *
110
- * @param id Instance id of the control to find
111
- */
112
- findControlById<T extends ColumnControl<any> = ColumnControl<any>>(id: string): T;
113
- /**
114
- * Finds a control within this page's control tree using the supplied predicate
115
- *
116
- * @param predicate Takes a control and returns true or false, if true that control is returned by findControl
117
- */
118
- findControl<T extends ColumnControl<any> = ColumnControl<any>>(predicate: (c: ColumnControl<any>) => boolean): T;
119
- /**
120
- * Creates a new page with all of the content copied from this page
121
- *
122
- * @param web The web where we will create the copy
123
- * @param pageName The file name of the new page
124
- * @param title The title of the new page
125
- * @param publish If true the page will be published (Default: true)
126
- */
127
- copy(web: IWeb, pageName: string, title: string, publish?: boolean, promotedState?: PromotedState): Promise<IClientsidePage>;
128
- /**
129
- * Copies the content from this page to the supplied page instance NOTE: fully overwriting any previous content!!
130
- *
131
- * @param page Page whose content we replace with this page's content
132
- * @param publish If true the page will be published after the copy, if false it will be saved but left unpublished (Default: true)
133
- */
134
- copyTo(page: IClientsidePage, publish?: boolean): Promise<IClientsidePage>;
135
- /**
136
- * Sets the modern page banner image
137
- *
138
- * @param url Url of the image to display
139
- * @param altText Alt text to describe the image
140
- * @param bannerProps Additional properties to control display of the banner
141
- */
142
- setBannerImage(url: string, props?: IBannerImageProps): void;
143
- /**
144
- * Sets the banner image url from an external source. You must call save to persist the changes
145
- *
146
- * @param url absolute url of the external file
147
- * @param props optional set of properties to control display of the banner image
148
- */
149
- setBannerImageFromExternalUrl(url: string, props?: IBannerImageProps): Promise<void>;
150
- /**
151
- * Sets the authors for this page from the supplied list of user integer ids
152
- *
153
- * @param authorId The integer id of the user to set as the author
154
- */
155
- setAuthorById(authorId: number): Promise<void>;
156
- /**
157
- * Sets the authors for this page from the supplied list of user integer ids
158
- *
159
- * @param authorLoginName The login name of the user (ex: i:0#.f|membership|name@tenant.com)
160
- */
161
- setAuthorByLoginName(authorLoginName: string): Promise<void>;
162
- /**
163
- * Gets the list item associated with this clientside page
164
- *
165
- * @param selects Specific set of fields to include when getting the item
166
- */
167
- getItem<T>(...selects: string[]): Promise<IItem & T>;
168
- /**
169
- * Recycle this page
170
- */
171
- recycle(): Promise<void>;
172
- /**
173
- * Delete this page
174
- */
175
- delete(): Promise<void>;
176
- /**
177
- * Saves a copy of this page as a template in this library's Templates folder
178
- *
179
- * @param publish If true the template is published, false the template is not published (default: true)
180
- * @returns IClientsidePage instance representing the new template page
181
- */
182
- saveAsTemplate(publish?: boolean): Promise<IClientsidePage>;
183
- /**
184
- * Share this Page's Preview content by Email
185
- *
186
- * @param emails Set of emails to which the preview is shared
187
- * @param message The message to include
188
- * @returns void
189
- */
190
- share(emails: string[], message: string): Promise<void>;
191
- /**
192
- * Extends this queryable from the provided parent
193
- *
194
- * @param parent Parent queryable from which we will derive a base url
195
- * @param path Additional path
196
- */
197
- protected assign(parent: IQueryable<any>, path?: string): void;
198
- protected getCanvasContent1(): string;
199
- protected getLayoutWebpartsContent(): string;
200
- protected setControls(controls: IClientsideControlBaseData[]): void;
201
- protected getControls(): IClientsideControlBaseData[];
202
- private getEmphasisObj;
203
- private promoteNewsImpl;
204
- /**
205
- * Merges the control into the tree of sections and columns for this page
206
- *
207
- * @param control The control to merge
208
- */
209
- private mergePartToTree;
210
- /**
211
- * Merges the supplied column into the tree
212
- *
213
- * @param column Column to merge
214
- * @param position The position data for the column
215
- */
216
- private mergeColumnToTree;
217
- /**
218
- * Handle the logic to get or create a section based on the supplied order and layoutIndex
219
- *
220
- * @param order Section order
221
- * @param layoutIndex Layout Index (1 === normal, 2 === vertical section)
222
- * @param emphasis The section emphasis
223
- */
224
- private getOrCreateSection;
225
- /**
226
- * Based on issue #1690 we need to take special case actions to ensure some things
227
- * can be saved properly without breaking existing pages.
228
- *
229
- * @param control The control we are ensuring is "ready" to be saved
230
- */
231
- private specialSaveHandling;
232
- }
233
- export interface IClientsidePage extends _ClientsidePage {
234
- }
235
- /**
236
- * Loads a client side page from the supplied IFile instance
237
- *
238
- * @param file Source IFile instance
239
- */
240
- export declare const ClientsidePageFromFile: (file: IFile) => Promise<IClientsidePage>;
241
- /**
242
- * Creates a new client side page
243
- *
244
- * @param web The web or list
245
- * @param pageName The name of the page (filename)
246
- * @param title The page's title
247
- * @param PageLayoutType Layout to use when creating the page
248
- */
249
- export declare const CreateClientsidePage: (web: IWeb, pageName: string, title: string, PageLayoutType?: ClientsidePageLayoutType, promotedState?: PromotedState) => Promise<IClientsidePage>;
250
- export declare class CanvasSection {
251
- protected page: IClientsidePage;
252
- columns: CanvasColumn[];
253
- private _emphasis;
254
- /**
255
- * Used to track this object inside the collection at runtime
256
- */
257
- private _memId;
258
- private _order;
259
- private _layoutIndex;
260
- constructor(page: IClientsidePage, order: number, layoutIndex: number, columns?: CanvasColumn[], _emphasis?: 0 | 1 | 2 | 3);
261
- get order(): number;
262
- set order(value: number);
263
- get layoutIndex(): number;
264
- set layoutIndex(value: number);
265
- /**
266
- * Default column (this.columns[0]) for this section
267
- */
268
- get defaultColumn(): CanvasColumn;
269
- /**
270
- * Adds a new column to this section
271
- */
272
- addColumn(factor: CanvasColumnFactor, layoutIndex?: number): CanvasColumn;
273
- /**
274
- * Adds a control to the default column for this section
275
- *
276
- * @param control Control to add to the default column
277
- */
278
- addControl(control: ColumnControl<any>): this;
279
- get emphasis(): 0 | 1 | 2 | 3;
280
- set emphasis(value: 0 | 1 | 2 | 3);
281
- /**
282
- * Removes this section and all contained columns and controls from the collection
283
- */
284
- remove(): void;
285
- }
286
- export declare class CanvasColumn {
287
- protected json: IClientsidePageColumnData;
288
- controls: ColumnControl<any>[];
289
- static Default: IClientsidePageColumnData;
290
- private _section;
291
- private _memId;
292
- constructor(json?: IClientsidePageColumnData, controls?: ColumnControl<any>[]);
293
- get data(): IClientsidePageColumnData;
294
- get section(): CanvasSection;
295
- set section(section: CanvasSection);
296
- get order(): number;
297
- set order(value: number);
298
- get factor(): CanvasColumnFactor;
299
- set factor(value: CanvasColumnFactor);
300
- addControl(control: ColumnControl<any>): this;
301
- getControl<T extends ColumnControl<any>>(index: number): T;
302
- remove(): void;
303
- }
304
- export declare abstract class ColumnControl<T extends ICanvasControlBaseData> {
305
- protected json: T;
306
- private _column;
307
- constructor(json: T);
308
- abstract get order(): number;
309
- abstract set order(value: number);
310
- get id(): string;
311
- get data(): T;
312
- get column(): CanvasColumn | null;
313
- set column(value: CanvasColumn);
314
- remove(): void;
315
- protected setData(data: T): void;
316
- protected abstract onColumnChange(col: CanvasColumn): void;
317
- }
318
- export declare class ClientsideText extends ColumnControl<IClientsideTextData> {
319
- static Default: IClientsideTextData;
320
- constructor(text: string, json?: IClientsideTextData);
321
- get text(): string;
322
- set text(value: string);
323
- get order(): number;
324
- set order(value: number);
325
- protected onColumnChange(col: CanvasColumn): void;
326
- }
327
- export declare class ClientsideWebpart extends ColumnControl<IClientsideWebPartData> {
328
- static Default: IClientsideWebPartData;
329
- constructor(json?: IClientsideWebPartData);
330
- static fromComponentDef(definition: IClientsidePageComponent): ClientsideWebpart;
331
- get title(): string;
332
- set title(value: string);
333
- get description(): string;
334
- set description(value: string);
335
- get order(): number;
336
- set order(value: number);
337
- get height(): number;
338
- set height(value: number);
339
- get width(): number;
340
- set width(value: number);
341
- get dataVersion(): string;
342
- set dataVersion(value: string);
343
- setProperties<T = any>(properties: T): this;
344
- getProperties<T = any>(): T;
345
- protected onColumnChange(col: CanvasColumn): void;
346
- protected import(component: IClientsidePageComponent): void;
347
- }
348
- export interface IPageData {
349
- readonly "odata.metadata": string;
350
- readonly "odata.type": "SP.Publishing.SitePage";
351
- readonly "odata.id": string;
352
- readonly "odata.editLink": string;
353
- AbsoluteUrl: string;
354
- AuthorByline: string[] | null;
355
- BannerImageUrl: string;
356
- BannerThumbnailUrl: string;
357
- ContentTypeId: null | string;
358
- Description: string;
359
- DoesUserHaveEditPermission: boolean;
360
- FileName: string;
361
- readonly FirstPublished: string;
362
- readonly Id: number;
363
- IsPageCheckedOutToCurrentUser: boolean;
364
- IsWebWelcomePage: boolean;
365
- readonly Modified: string;
366
- PageLayoutType: ClientsidePageLayoutType;
367
- Path: {
368
- DecodedUrl: string;
369
- };
370
- PromotedState: number;
371
- Title: string;
372
- TopicHeader: null | string;
373
- readonly UniqueId: string;
374
- Url: string;
375
- readonly Version: string;
376
- readonly VersionInfo: {
377
- readonly LastVersionCreated: string;
378
- readonly LastVersionCreatedBy: string;
379
- };
380
- AlternativeUrlMap: string;
381
- CanvasContent1: string;
382
- LayoutWebpartsContent: string;
383
- }
384
- /**
385
- * Client side webpart object (retrieved via the _api/web/GetClientSideWebParts REST call)
386
- */
387
- export interface IClientsidePageComponent {
388
- /**
389
- * Component type for client side webpart object
390
- */
391
- ComponentType: number;
392
- /**
393
- * Id for client side webpart object
394
- */
395
- Id: string;
396
- /**
397
- * Manifest for client side webpart object
398
- */
399
- Manifest: string;
400
- /**
401
- * Manifest type for client side webpart object
402
- */
403
- ManifestType: number;
404
- /**
405
- * Name for client side webpart object
406
- */
407
- Name: string;
408
- /**
409
- * Status for client side webpart object
410
- */
411
- Status: number;
412
- }
413
- export interface IClientsideControlBaseData {
414
- controlType: number;
415
- }
416
- export interface ICanvasControlBaseData extends IClientsideControlBaseData {
417
- id: string;
418
- emphasis: IClientControlEmphasis;
419
- displayMode: number;
420
- }
421
- export interface IClientsidePageSettingsSlice extends IClientsideControlBaseData {
422
- htmlAttributes?: string[];
423
- pageSettingsSlice: {
424
- "isDefaultDescription": boolean;
425
- "isDefaultThumbnail": boolean;
426
- };
427
- }
428
- export interface IClientsidePageColumnData extends IClientsideControlBaseData {
429
- controlType: 0;
430
- displayMode: number;
431
- emphasis: IClientControlEmphasis;
432
- position: IPosition;
433
- }
434
- interface IPosition {
435
- zoneIndex: number;
436
- sectionIndex: number;
437
- controlIndex?: number;
438
- sectionFactor?: CanvasColumnFactor;
439
- layoutIndex: number;
440
- }
441
- export interface IClientsideTextData extends ICanvasControlBaseData {
442
- controlType: 4;
443
- position: IPosition;
444
- anchorComponentId: string;
445
- editorType: "CKEditor";
446
- addedFromPersistedData: boolean;
447
- innerHTML: string;
448
- }
449
- export interface IClientsideWebPartData<PropertiesType = any> extends ICanvasControlBaseData {
450
- controlType: 3;
451
- position: IPosition;
452
- webPartId: string;
453
- reservedHeight: number;
454
- reservedWidth: number;
455
- addedFromPersistedData: boolean;
456
- webPartData: {
457
- id: string;
458
- instanceId: string;
459
- title: string;
460
- description: string;
461
- serverProcessedContent?: {
462
- "htmlStrings": ITypedHash<string>;
463
- "searchablePlainTexts": ITypedHash<string>;
464
- "imageSources": ITypedHash<string>;
465
- "links": ITypedHash<string>;
466
- };
467
- dataVersion: string;
468
- properties: PropertiesType;
469
- };
470
- }
471
- export interface IClientControlEmphasis {
472
- zoneEmphasis?: 0 | 1 | 2 | 3;
473
- }
474
- export declare type LayoutType = "FullWidthImage" | "NoImage" | "ColorBlock" | "CutInShape";
475
- export declare type TextAlignment = "Left" | "Center";
476
- export interface IBannerImageProps {
477
- altText?: string;
478
- imageSourceType?: number;
479
- translateX?: number;
480
- translateY?: number;
481
- }
482
- export interface IRepostPage {
483
- Description?: string;
484
- IsBannerImageUrlExternal?: boolean;
485
- OriginalSourceListId?: string;
486
- ShouldSaveAsDraft?: boolean;
487
- OriginalSourceSiteId?: string;
488
- BannerImageUrl?: string;
489
- Title?: string;
490
- OriginalSourceItemId?: string;
491
- OriginalSourceUrl?: string;
492
- OriginalSourceWebId?: string;
493
- }
494
- export {};
1
+ import { IQueryable } from "@pnp/odata";
2
+ import { ITypedHash } from "@pnp/common";
3
+ import { IFile } from "../files/types.js";
4
+ import { IItem } from "../items/types.js";
5
+ import { _SharePointQueryable, ISharePointQueryable } from "../sharepointqueryable.js";
6
+ import { IWeb } from "../webs/types.js";
7
+ import "../files/web.js";
8
+ import "../comments/item.js";
9
+ /**
10
+ * Page promotion state
11
+ */
12
+ export declare const enum PromotedState {
13
+ /**
14
+ * Regular client side page
15
+ */
16
+ NotPromoted = 0,
17
+ /**
18
+ * Page that will be promoted as news article after publishing
19
+ */
20
+ PromoteOnPublish = 1,
21
+ /**
22
+ * Page that is promoted as news article
23
+ */
24
+ Promoted = 2
25
+ }
26
+ /**
27
+ * Type describing the available page layout types for client side "modern" pages
28
+ */
29
+ export declare type ClientsidePageLayoutType = "Article" | "Home" | "SingleWebPartAppPage" | "RepostPage";
30
+ /**
31
+ * Column size factor. Max value is 12 (= one column), other options are 8,6,4 or 0
32
+ */
33
+ export declare type CanvasColumnFactor = 0 | 2 | 4 | 6 | 8 | 12;
34
+ /**
35
+ * Represents the data and methods associated with client side "modern" pages
36
+ */
37
+ export declare class _ClientsidePage extends _SharePointQueryable {
38
+ protected json?: Partial<IPageData>;
39
+ sections: CanvasSection[];
40
+ commentsDisabled: boolean;
41
+ private _pageSettings;
42
+ private _layoutPart;
43
+ private _bannerImageDirty;
44
+ private _bannerImageThumbnailUrlDirty;
45
+ /**
46
+ * PLEASE DON'T USE THIS CONSTRUCTOR DIRECTLY, thank you 🐇
47
+ */
48
+ constructor(baseUrl: string | ISharePointQueryable, path?: string, json?: Partial<IPageData>, noInit?: boolean, sections?: CanvasSection[], commentsDisabled?: boolean);
49
+ private static getDefaultLayoutPart;
50
+ get pageLayout(): ClientsidePageLayoutType;
51
+ set pageLayout(value: ClientsidePageLayoutType);
52
+ get bannerImageUrl(): string;
53
+ set bannerImageUrl(value: string);
54
+ get thumbnailUrl(): string;
55
+ set thumbnailUrl(value: string);
56
+ get topicHeader(): string;
57
+ set topicHeader(value: string);
58
+ get title(): string;
59
+ set title(value: string);
60
+ get reservedHeight(): number;
61
+ set reservedHeight(value: number);
62
+ get description(): string;
63
+ set description(value: string);
64
+ get layoutType(): LayoutType;
65
+ set layoutType(value: LayoutType);
66
+ get headerTextAlignment(): TextAlignment;
67
+ set headerTextAlignment(value: TextAlignment);
68
+ get showTopicHeader(): boolean;
69
+ set showTopicHeader(value: boolean);
70
+ get showPublishDate(): boolean;
71
+ set showPublishDate(value: boolean);
72
+ get hasVerticalSection(): boolean;
73
+ get authorByLine(): string | null;
74
+ get verticalSection(): CanvasSection | null;
75
+ /**
76
+ * Add a section to this page
77
+ */
78
+ addSection(): CanvasSection;
79
+ /**
80
+ * Add a section to this page
81
+ */
82
+ addVerticalSection(): CanvasSection;
83
+ /**
84
+ * Loads this instance from the appropriate JSON data
85
+ *
86
+ * @param pageData JSON data to load (replaces any existing data)
87
+ */
88
+ fromJSON(pageData: Partial<IPageData>): this;
89
+ /**
90
+ * Loads this page's content from the server
91
+ */
92
+ load(): Promise<IClientsidePage>;
93
+ /**
94
+ * Persists the content changes (sections, columns, and controls) [does not work with batching]
95
+ *
96
+ * @param publish If true the page is published, if false the changes are persisted to SharePoint but not published [Default: true]
97
+ */
98
+ save(publish?: boolean): Promise<boolean>;
99
+ /**
100
+ * Discards the checkout of this page
101
+ */
102
+ discardPageCheckout(): Promise<void>;
103
+ /**
104
+ * Promotes this page as a news item
105
+ */
106
+ promoteToNews(): Promise<boolean>;
107
+ /**
108
+ * Finds a control by the specified instance id
109
+ *
110
+ * @param id Instance id of the control to find
111
+ */
112
+ findControlById<T extends ColumnControl<any> = ColumnControl<any>>(id: string): T;
113
+ /**
114
+ * Finds a control within this page's control tree using the supplied predicate
115
+ *
116
+ * @param predicate Takes a control and returns true or false, if true that control is returned by findControl
117
+ */
118
+ findControl<T extends ColumnControl<any> = ColumnControl<any>>(predicate: (c: ColumnControl<any>) => boolean): T;
119
+ /**
120
+ * Creates a new page with all of the content copied from this page
121
+ *
122
+ * @param web The web where we will create the copy
123
+ * @param pageName The file name of the new page
124
+ * @param title The title of the new page
125
+ * @param publish If true the page will be published (Default: true)
126
+ */
127
+ copy(web: IWeb, pageName: string, title: string, publish?: boolean, promotedState?: PromotedState): Promise<IClientsidePage>;
128
+ /**
129
+ * Copies the content from this page to the supplied page instance NOTE: fully overwriting any previous content!!
130
+ *
131
+ * @param page Page whose content we replace with this page's content
132
+ * @param publish If true the page will be published after the copy, if false it will be saved but left unpublished (Default: true)
133
+ */
134
+ copyTo(page: IClientsidePage, publish?: boolean): Promise<IClientsidePage>;
135
+ /**
136
+ * Sets the modern page banner image
137
+ *
138
+ * @param url Url of the image to display
139
+ * @param altText Alt text to describe the image
140
+ * @param bannerProps Additional properties to control display of the banner
141
+ */
142
+ setBannerImage(url: string, props?: IBannerImageProps): void;
143
+ /**
144
+ * Sets the banner image url from an external source. You must call save to persist the changes
145
+ *
146
+ * @param url absolute url of the external file
147
+ * @param props optional set of properties to control display of the banner image
148
+ */
149
+ setBannerImageFromExternalUrl(url: string, props?: IBannerImageProps): Promise<void>;
150
+ /**
151
+ * Sets the authors for this page from the supplied list of user integer ids
152
+ *
153
+ * @param authorId The integer id of the user to set as the author
154
+ */
155
+ setAuthorById(authorId: number): Promise<void>;
156
+ /**
157
+ * Sets the authors for this page from the supplied list of user integer ids
158
+ *
159
+ * @param authorLoginName The login name of the user (ex: i:0#.f|membership|name@tenant.com)
160
+ */
161
+ setAuthorByLoginName(authorLoginName: string): Promise<void>;
162
+ /**
163
+ * Gets the list item associated with this clientside page
164
+ *
165
+ * @param selects Specific set of fields to include when getting the item
166
+ */
167
+ getItem<T>(...selects: string[]): Promise<IItem & T>;
168
+ /**
169
+ * Recycle this page
170
+ */
171
+ recycle(): Promise<void>;
172
+ /**
173
+ * Delete this page
174
+ */
175
+ delete(): Promise<void>;
176
+ /**
177
+ * Saves a copy of this page as a template in this library's Templates folder
178
+ *
179
+ * @param publish If true the template is published, false the template is not published (default: true)
180
+ * @returns IClientsidePage instance representing the new template page
181
+ */
182
+ saveAsTemplate(publish?: boolean): Promise<IClientsidePage>;
183
+ /**
184
+ * Share this Page's Preview content by Email
185
+ *
186
+ * @param emails Set of emails to which the preview is shared
187
+ * @param message The message to include
188
+ * @returns void
189
+ */
190
+ share(emails: string[], message: string): Promise<void>;
191
+ /**
192
+ * Extends this queryable from the provided parent
193
+ *
194
+ * @param parent Parent queryable from which we will derive a base url
195
+ * @param path Additional path
196
+ */
197
+ protected assign(parent: IQueryable<any>, path?: string): void;
198
+ protected getCanvasContent1(): string;
199
+ protected getLayoutWebpartsContent(): string;
200
+ protected setControls(controls: IClientsideControlBaseData[]): void;
201
+ protected getControls(): IClientsideControlBaseData[];
202
+ private getEmphasisObj;
203
+ private promoteNewsImpl;
204
+ /**
205
+ * Merges the control into the tree of sections and columns for this page
206
+ *
207
+ * @param control The control to merge
208
+ */
209
+ private mergePartToTree;
210
+ /**
211
+ * Merges the supplied column into the tree
212
+ *
213
+ * @param column Column to merge
214
+ * @param position The position data for the column
215
+ */
216
+ private mergeColumnToTree;
217
+ /**
218
+ * Handle the logic to get or create a section based on the supplied order and layoutIndex
219
+ *
220
+ * @param order Section order
221
+ * @param layoutIndex Layout Index (1 === normal, 2 === vertical section)
222
+ * @param emphasis The section emphasis
223
+ */
224
+ private getOrCreateSection;
225
+ /**
226
+ * Based on issue #1690 we need to take special case actions to ensure some things
227
+ * can be saved properly without breaking existing pages.
228
+ *
229
+ * @param control The control we are ensuring is "ready" to be saved
230
+ */
231
+ private specialSaveHandling;
232
+ }
233
+ export interface IClientsidePage extends _ClientsidePage {
234
+ }
235
+ /**
236
+ * Loads a client side page from the supplied IFile instance
237
+ *
238
+ * @param file Source IFile instance
239
+ */
240
+ export declare const ClientsidePageFromFile: (file: IFile) => Promise<IClientsidePage>;
241
+ /**
242
+ * Creates a new client side page
243
+ *
244
+ * @param web The web or list
245
+ * @param pageName The name of the page (filename)
246
+ * @param title The page's title
247
+ * @param PageLayoutType Layout to use when creating the page
248
+ */
249
+ export declare const CreateClientsidePage: (web: IWeb, pageName: string, title: string, PageLayoutType?: ClientsidePageLayoutType, promotedState?: PromotedState) => Promise<IClientsidePage>;
250
+ export declare class CanvasSection {
251
+ protected page: IClientsidePage;
252
+ columns: CanvasColumn[];
253
+ private _emphasis;
254
+ /**
255
+ * Used to track this object inside the collection at runtime
256
+ */
257
+ private _memId;
258
+ private _order;
259
+ private _layoutIndex;
260
+ constructor(page: IClientsidePage, order: number, layoutIndex: number, columns?: CanvasColumn[], _emphasis?: 0 | 1 | 2 | 3);
261
+ get order(): number;
262
+ set order(value: number);
263
+ get layoutIndex(): number;
264
+ set layoutIndex(value: number);
265
+ /**
266
+ * Default column (this.columns[0]) for this section
267
+ */
268
+ get defaultColumn(): CanvasColumn;
269
+ /**
270
+ * Adds a new column to this section
271
+ */
272
+ addColumn(factor: CanvasColumnFactor, layoutIndex?: number): CanvasColumn;
273
+ /**
274
+ * Adds a control to the default column for this section
275
+ *
276
+ * @param control Control to add to the default column
277
+ */
278
+ addControl(control: ColumnControl<any>): this;
279
+ get emphasis(): 0 | 1 | 2 | 3;
280
+ set emphasis(value: 0 | 1 | 2 | 3);
281
+ /**
282
+ * Removes this section and all contained columns and controls from the collection
283
+ */
284
+ remove(): void;
285
+ }
286
+ export declare class CanvasColumn {
287
+ protected json: IClientsidePageColumnData;
288
+ controls: ColumnControl<any>[];
289
+ static Default: IClientsidePageColumnData;
290
+ private _section;
291
+ private _memId;
292
+ constructor(json?: IClientsidePageColumnData, controls?: ColumnControl<any>[]);
293
+ get data(): IClientsidePageColumnData;
294
+ get section(): CanvasSection;
295
+ set section(section: CanvasSection);
296
+ get order(): number;
297
+ set order(value: number);
298
+ get factor(): CanvasColumnFactor;
299
+ set factor(value: CanvasColumnFactor);
300
+ addControl(control: ColumnControl<any>): this;
301
+ getControl<T extends ColumnControl<any>>(index: number): T;
302
+ remove(): void;
303
+ }
304
+ export declare abstract class ColumnControl<T extends ICanvasControlBaseData> {
305
+ protected json: T;
306
+ private _column;
307
+ constructor(json: T);
308
+ abstract get order(): number;
309
+ abstract set order(value: number);
310
+ get id(): string;
311
+ get data(): T;
312
+ get column(): CanvasColumn | null;
313
+ set column(value: CanvasColumn);
314
+ remove(): void;
315
+ protected setData(data: T): void;
316
+ protected abstract onColumnChange(col: CanvasColumn): void;
317
+ }
318
+ export declare class ClientsideText extends ColumnControl<IClientsideTextData> {
319
+ static Default: IClientsideTextData;
320
+ constructor(text: string, json?: IClientsideTextData);
321
+ get text(): string;
322
+ set text(value: string);
323
+ get order(): number;
324
+ set order(value: number);
325
+ protected onColumnChange(col: CanvasColumn): void;
326
+ }
327
+ export declare class ClientsideWebpart extends ColumnControl<IClientsideWebPartData> {
328
+ static Default: IClientsideWebPartData;
329
+ constructor(json?: IClientsideWebPartData);
330
+ static fromComponentDef(definition: IClientsidePageComponent): ClientsideWebpart;
331
+ get title(): string;
332
+ set title(value: string);
333
+ get description(): string;
334
+ set description(value: string);
335
+ get order(): number;
336
+ set order(value: number);
337
+ get height(): number;
338
+ set height(value: number);
339
+ get width(): number;
340
+ set width(value: number);
341
+ get dataVersion(): string;
342
+ set dataVersion(value: string);
343
+ setProperties<T = any>(properties: T): this;
344
+ setServerProcessedContent<T = any>(properties: T): this;
345
+ getProperties<T = any>(): T;
346
+ getServerProcessedContent<T = any>(): T;
347
+ protected onColumnChange(col: CanvasColumn): void;
348
+ protected import(component: IClientsidePageComponent): void;
349
+ }
350
+ export interface IPageData {
351
+ readonly "odata.metadata": string;
352
+ readonly "odata.type": "SP.Publishing.SitePage";
353
+ readonly "odata.id": string;
354
+ readonly "odata.editLink": string;
355
+ AbsoluteUrl: string;
356
+ AuthorByline: string[] | null;
357
+ BannerImageUrl: string;
358
+ BannerThumbnailUrl: string;
359
+ ContentTypeId: null | string;
360
+ Description: string;
361
+ DoesUserHaveEditPermission: boolean;
362
+ FileName: string;
363
+ readonly FirstPublished: string;
364
+ readonly Id: number;
365
+ IsPageCheckedOutToCurrentUser: boolean;
366
+ IsWebWelcomePage: boolean;
367
+ readonly Modified: string;
368
+ PageLayoutType: ClientsidePageLayoutType;
369
+ Path: {
370
+ DecodedUrl: string;
371
+ };
372
+ PromotedState: number;
373
+ Title: string;
374
+ TopicHeader: null | string;
375
+ readonly UniqueId: string;
376
+ Url: string;
377
+ readonly Version: string;
378
+ readonly VersionInfo: {
379
+ readonly LastVersionCreated: string;
380
+ readonly LastVersionCreatedBy: string;
381
+ };
382
+ AlternativeUrlMap: string;
383
+ CanvasContent1: string;
384
+ LayoutWebpartsContent: string;
385
+ }
386
+ /**
387
+ * Client side webpart object (retrieved via the _api/web/GetClientSideWebParts REST call)
388
+ */
389
+ export interface IClientsidePageComponent {
390
+ /**
391
+ * Component type for client side webpart object
392
+ */
393
+ ComponentType: number;
394
+ /**
395
+ * Id for client side webpart object
396
+ */
397
+ Id: string;
398
+ /**
399
+ * Manifest for client side webpart object
400
+ */
401
+ Manifest: string;
402
+ /**
403
+ * Manifest type for client side webpart object
404
+ */
405
+ ManifestType: number;
406
+ /**
407
+ * Name for client side webpart object
408
+ */
409
+ Name: string;
410
+ /**
411
+ * Status for client side webpart object
412
+ */
413
+ Status: number;
414
+ }
415
+ export interface IClientsideControlBaseData {
416
+ controlType: number;
417
+ }
418
+ export interface ICanvasControlBaseData extends IClientsideControlBaseData {
419
+ id: string;
420
+ emphasis: IClientControlEmphasis;
421
+ displayMode: number;
422
+ }
423
+ export interface IClientsidePageSettingsSlice extends IClientsideControlBaseData {
424
+ htmlAttributes?: string[];
425
+ pageSettingsSlice: {
426
+ "isDefaultDescription": boolean;
427
+ "isDefaultThumbnail": boolean;
428
+ };
429
+ }
430
+ export interface IClientsidePageColumnData extends IClientsideControlBaseData {
431
+ controlType: 0;
432
+ displayMode: number;
433
+ emphasis: IClientControlEmphasis;
434
+ position: IPosition;
435
+ }
436
+ interface IPosition {
437
+ zoneIndex: number;
438
+ sectionIndex: number;
439
+ controlIndex?: number;
440
+ sectionFactor?: CanvasColumnFactor;
441
+ layoutIndex: number;
442
+ }
443
+ export interface IClientsideTextData extends ICanvasControlBaseData {
444
+ controlType: 4;
445
+ position: IPosition;
446
+ anchorComponentId: string;
447
+ editorType: "CKEditor";
448
+ addedFromPersistedData: boolean;
449
+ innerHTML: string;
450
+ }
451
+ export interface IClientsideWebPartData<PropertiesType = any> extends ICanvasControlBaseData {
452
+ controlType: 3;
453
+ position: IPosition;
454
+ webPartId: string;
455
+ reservedHeight: number;
456
+ reservedWidth: number;
457
+ addedFromPersistedData: boolean;
458
+ webPartData: {
459
+ id: string;
460
+ instanceId: string;
461
+ title: string;
462
+ description: string;
463
+ serverProcessedContent?: {
464
+ htmlStrings?: ITypedHash<string>;
465
+ searchablePlainTexts?: ITypedHash<string>;
466
+ imageSources?: ITypedHash<string>;
467
+ links?: ITypedHash<string>;
468
+ };
469
+ dataVersion: string;
470
+ properties: PropertiesType;
471
+ };
472
+ }
473
+ export interface IClientControlEmphasis {
474
+ zoneEmphasis?: 0 | 1 | 2 | 3;
475
+ }
476
+ export declare type LayoutType = "FullWidthImage" | "NoImage" | "ColorBlock" | "CutInShape";
477
+ export declare type TextAlignment = "Left" | "Center";
478
+ export interface IBannerImageProps {
479
+ altText?: string;
480
+ imageSourceType?: number;
481
+ translateX?: number;
482
+ translateY?: number;
483
+ }
484
+ export interface IRepostPage {
485
+ Description?: string;
486
+ IsBannerImageUrlExternal?: boolean;
487
+ OriginalSourceListId?: string;
488
+ ShouldSaveAsDraft?: boolean;
489
+ OriginalSourceSiteId?: string;
490
+ BannerImageUrl?: string;
491
+ Title?: string;
492
+ OriginalSourceItemId?: string;
493
+ OriginalSourceUrl?: string;
494
+ OriginalSourceWebId?: string;
495
+ }
496
+ export {};
495
497
  //# sourceMappingURL=types.d.ts.map