@pnp/sp 2.8.0 → 2.12.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 (306) 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.d.ts.map +1 -1
  6. package/appcatalog/types.js +177 -177
  7. package/appcatalog/types.js.map +1 -1
  8. package/appcatalog/web.d.ts +16 -16
  9. package/appcatalog/web.js +6 -6
  10. package/attachments/index.d.ts +2 -2
  11. package/attachments/index.js +2 -2
  12. package/attachments/item.d.ts +12 -12
  13. package/attachments/item.js +4 -4
  14. package/attachments/types.d.ts +92 -92
  15. package/attachments/types.js +240 -240
  16. package/batch.d.ts +17 -17
  17. package/batch.js +223 -223
  18. package/clientside-pages/funcs.d.ts +22 -22
  19. package/clientside-pages/funcs.js +25 -25
  20. package/clientside-pages/index.d.ts +2 -2
  21. package/clientside-pages/index.js +2 -2
  22. package/clientside-pages/types.d.ts +496 -494
  23. package/clientside-pages/types.d.ts.map +1 -1
  24. package/clientside-pages/types.js +1496 -1487
  25. package/clientside-pages/types.js.map +1 -1
  26. package/clientside-pages/web.d.ts +41 -41
  27. package/clientside-pages/web.js +57 -57
  28. package/column-defaults/folder.d.ts +27 -27
  29. package/column-defaults/folder.js +82 -82
  30. package/column-defaults/index.d.ts +3 -3
  31. package/column-defaults/index.js +2 -2
  32. package/column-defaults/list.d.ts +19 -19
  33. package/column-defaults/list.js +198 -198
  34. package/column-defaults/types.d.ts +21 -21
  35. package/column-defaults/types.js +1 -1
  36. package/comments/clientside-page.d.ts +57 -57
  37. package/comments/clientside-page.d.ts.map +1 -1
  38. package/comments/clientside-page.js +136 -136
  39. package/comments/index.d.ts +2 -2
  40. package/comments/index.js +2 -2
  41. package/comments/item.d.ts +29 -29
  42. package/comments/item.js +47 -47
  43. package/comments/item.js.map +1 -1
  44. package/comments/types.d.ts +107 -107
  45. package/comments/types.d.ts.map +1 -1
  46. package/comments/types.js +145 -145
  47. package/comments/types.js.map +1 -1
  48. package/content-types/index.d.ts +4 -4
  49. package/content-types/index.js +4 -4
  50. package/content-types/item.d.ts +12 -12
  51. package/content-types/item.js +4 -4
  52. package/content-types/list.d.ts +12 -12
  53. package/content-types/list.js +4 -4
  54. package/content-types/types.d.ts +107 -107
  55. package/content-types/types.js +166 -166
  56. package/content-types/web.d.ts +12 -12
  57. package/content-types/web.js +4 -4
  58. package/decorators.d.ts +11 -11
  59. package/decorators.js +28 -28
  60. package/features/index.d.ts +3 -3
  61. package/features/index.js +3 -3
  62. package/features/site.d.ts +12 -12
  63. package/features/site.js +4 -4
  64. package/features/types.d.ts +47 -47
  65. package/features/types.js +109 -109
  66. package/features/web.d.ts +12 -12
  67. package/features/web.js +4 -4
  68. package/fields/index.d.ts +4 -4
  69. package/fields/index.js +4 -4
  70. package/fields/list.d.ts +12 -12
  71. package/fields/list.js +4 -4
  72. package/fields/types.d.ts +368 -368
  73. package/fields/types.js +624 -624
  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.d.ts.map +1 -1
  110. package/hubsites/types.js +53 -53
  111. package/hubsites/web.d.ts +21 -21
  112. package/hubsites/web.js +23 -23
  113. package/index.d.ts +14 -14
  114. package/index.js +13 -13
  115. package/items/index.d.ts +2 -2
  116. package/items/index.js +2 -2
  117. package/items/list.d.ts +9 -9
  118. package/items/list.js +4 -4
  119. package/items/types.d.ts +226 -226
  120. package/items/types.js +549 -549
  121. package/lists/index.d.ts +2 -2
  122. package/lists/index.js +2 -2
  123. package/lists/types.d.ts +495 -495
  124. package/lists/types.js +522 -522
  125. package/lists/types.js.map +1 -1
  126. package/lists/web.d.ts +43 -43
  127. package/lists/web.js +27 -27
  128. package/navigation/index.d.ts +8 -8
  129. package/navigation/index.js +14 -14
  130. package/navigation/types.d.ts +154 -154
  131. package/navigation/types.js +219 -219
  132. package/navigation/web.d.ts +13 -13
  133. package/navigation/web.js +4 -4
  134. package/odata.d.ts +5 -5
  135. package/odata.js +90 -90
  136. package/odata.js.map +1 -1
  137. package/operations.d.ts +9 -9
  138. package/operations.js +63 -63
  139. package/package.json +4 -4
  140. package/presets/all.d.ts +72 -72
  141. package/presets/all.js +72 -72
  142. package/presets/core.d.ts +11 -11
  143. package/presets/core.js +11 -11
  144. package/profiles/index.d.ts +7 -7
  145. package/profiles/index.js +13 -13
  146. package/profiles/types.d.ts +357 -357
  147. package/profiles/types.js +454 -454
  148. package/readme.md +21 -21
  149. package/regional-settings/content-type.d.ts +7 -7
  150. package/regional-settings/content-type.js +4 -4
  151. package/regional-settings/field.d.ts +7 -7
  152. package/regional-settings/field.js +4 -4
  153. package/regional-settings/funcs.d.ts +2 -2
  154. package/regional-settings/funcs.js +8 -8
  155. package/regional-settings/index.d.ts +6 -6
  156. package/regional-settings/index.js +6 -6
  157. package/regional-settings/list.d.ts +7 -7
  158. package/regional-settings/list.js +4 -4
  159. package/regional-settings/types.d.ts +111 -111
  160. package/regional-settings/types.js +159 -159
  161. package/regional-settings/user-custom-actions.d.ts +7 -7
  162. package/regional-settings/user-custom-actions.js +4 -4
  163. package/regional-settings/web.d.ts +12 -12
  164. package/regional-settings/web.js +7 -7
  165. package/related-items/index.d.ts +1 -1
  166. package/related-items/index.js +1 -1
  167. package/related-items/types.d.ts +76 -76
  168. package/related-items/types.js +103 -103
  169. package/related-items/web.d.ts +12 -12
  170. package/related-items/web.js +9 -9
  171. package/rest.d.ts +44 -44
  172. package/rest.js +72 -72
  173. package/search/index.d.ts +30 -30
  174. package/search/index.js +25 -25
  175. package/search/query.d.ts +62 -62
  176. package/search/query.js +302 -302
  177. package/search/suggest.d.ts +76 -76
  178. package/search/suggest.js +66 -66
  179. package/search/types.d.ts +426 -426
  180. package/search/types.js +57 -57
  181. package/security/funcs.d.ts +43 -43
  182. package/security/funcs.js +142 -142
  183. package/security/index.d.ts +4 -4
  184. package/security/index.js +4 -4
  185. package/security/item.d.ts +7 -7
  186. package/security/item.js +14 -14
  187. package/security/list.d.ts +7 -7
  188. package/security/list.js +14 -14
  189. package/security/types.d.ts +318 -318
  190. package/security/types.js +399 -399
  191. package/security/web.d.ts +9 -9
  192. package/security/web.js +15 -15
  193. package/sharepointqueryable.d.ts +135 -135
  194. package/sharepointqueryable.js +265 -265
  195. package/sharing/file.d.ts +18 -18
  196. package/sharing/file.js +116 -116
  197. package/sharing/folder.d.ts +9 -9
  198. package/sharing/folder.js +136 -136
  199. package/sharing/funcs.d.ts +62 -62
  200. package/sharing/funcs.js +239 -239
  201. package/sharing/funcs.js.map +1 -1
  202. package/sharing/index.d.ts +5 -5
  203. package/sharing/index.js +5 -5
  204. package/sharing/item.d.ts +16 -16
  205. package/sharing/item.js +15 -15
  206. package/sharing/types.d.ts +583 -583
  207. package/sharing/types.js +113 -113
  208. package/sharing/web.d.ts +19 -19
  209. package/sharing/web.js +76 -76
  210. package/site-designs/index.d.ts +8 -8
  211. package/site-designs/index.js +14 -14
  212. package/site-designs/types.d.ts +319 -319
  213. package/site-designs/types.js +203 -203
  214. package/site-designs/web.d.ts +25 -25
  215. package/site-designs/web.js +11 -11
  216. package/site-groups/index.d.ts +2 -2
  217. package/site-groups/index.js +2 -2
  218. package/site-groups/types.d.ts +89 -89
  219. package/site-groups/types.js +125 -125
  220. package/site-groups/web.d.ts +40 -40
  221. package/site-groups/web.js +30 -30
  222. package/site-scripts/index.d.ts +9 -9
  223. package/site-scripts/index.js +15 -15
  224. package/site-scripts/list.d.ts +12 -12
  225. package/site-scripts/list.js +24 -24
  226. package/site-scripts/types.d.ts +183 -183
  227. package/site-scripts/types.js +141 -141
  228. package/site-scripts/web.d.ts +13 -13
  229. package/site-scripts/web.js +5 -5
  230. package/site-users/index.d.ts +2 -2
  231. package/site-users/index.js +2 -2
  232. package/site-users/types.d.ts +138 -138
  233. package/site-users/types.js +122 -122
  234. package/site-users/web.d.ts +31 -31
  235. package/site-users/web.js +27 -27
  236. package/sites/index.d.ts +7 -7
  237. package/sites/index.js +13 -13
  238. package/sites/types.d.ts +147 -147
  239. package/sites/types.js +321 -321
  240. package/social/index.d.ts +10 -10
  241. package/social/index.js +13 -13
  242. package/social/types.d.ts +309 -309
  243. package/social/types.js +322 -322
  244. package/sphttpclient.d.ts +18 -18
  245. package/sphttpclient.js +189 -189
  246. package/splibconfig.d.ts +22 -22
  247. package/splibconfig.js +13 -13
  248. package/sputilities/index.d.ts +7 -7
  249. package/sputilities/index.js +13 -13
  250. package/sputilities/types.d.ts +130 -130
  251. package/sputilities/types.js +118 -118
  252. package/subscriptions/index.d.ts +2 -2
  253. package/subscriptions/index.js +2 -2
  254. package/subscriptions/list.d.ts +13 -13
  255. package/subscriptions/list.js +4 -4
  256. package/subscriptions/types.d.ts +54 -54
  257. package/subscriptions/types.js +111 -111
  258. package/taxonomy/index.d.ts +7 -7
  259. package/taxonomy/index.js +13 -13
  260. package/taxonomy/types.d.ts +200 -200
  261. package/taxonomy/types.js +347 -347
  262. package/taxonomy/types.js.map +1 -1
  263. package/telemetry.d.ts +12 -12
  264. package/telemetry.js +48 -48
  265. package/types.d.ts +218 -218
  266. package/types.js +79 -79
  267. package/user-custom-actions/index.d.ts +4 -4
  268. package/user-custom-actions/index.js +4 -4
  269. package/user-custom-actions/list.d.ts +12 -12
  270. package/user-custom-actions/list.js +4 -4
  271. package/user-custom-actions/site.d.ts +12 -12
  272. package/user-custom-actions/site.js +4 -4
  273. package/user-custom-actions/types.d.ts +82 -82
  274. package/user-custom-actions/types.js +93 -93
  275. package/user-custom-actions/web.d.ts +15 -15
  276. package/user-custom-actions/web.js +4 -4
  277. package/utils/escapeQueryStrValue.d.ts +1 -1
  278. package/utils/escapeQueryStrValue.js +19 -19
  279. package/utils/extractweburl.d.ts +1 -1
  280. package/utils/extractweburl.js +15 -15
  281. package/utils/file-names.d.ts +17 -17
  282. package/utils/file-names.js +38 -38
  283. package/utils/metadata.d.ts +5 -5
  284. package/utils/metadata.js +5 -5
  285. package/utils/objectToSPKeyValueCollection.d.ts +20 -20
  286. package/utils/objectToSPKeyValueCollection.js +16 -16
  287. package/utils/toResourcePath.d.ts +7 -7
  288. package/utils/toResourcePath.js +6 -6
  289. package/utils/toabsoluteurl.d.ts +7 -7
  290. package/utils/toabsoluteurl.js +61 -61
  291. package/views/index.d.ts +2 -2
  292. package/views/index.js +2 -2
  293. package/views/list.d.ts +23 -23
  294. package/views/list.js +8 -8
  295. package/views/types.d.ts +140 -140
  296. package/views/types.js +184 -184
  297. package/webparts/file.d.ts +15 -15
  298. package/webparts/file.js +6 -6
  299. package/webparts/index.d.ts +2 -2
  300. package/webparts/index.js +2 -2
  301. package/webparts/types.d.ts +83 -83
  302. package/webparts/types.js +117 -117
  303. package/webs/index.d.ts +16 -16
  304. package/webs/index.js +16 -16
  305. package/webs/types.d.ts +210 -210
  306. 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