@livetiles/reach-components-react 0.5.0-preview.102 → 0.5.0-preview.1021

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 (242) hide show
  1. package/ChannelFilter.d.ts +3 -0
  2. package/ChannelSelectorWrapper.d.ts +3 -0
  3. package/CompactLayoutList.d.ts +2 -1
  4. package/EmojiPicker.esm.esm.js +1 -1
  5. package/EmojiPicker.esm.esm2.js +1 -0
  6. package/ErrorWrapper.d.ts +3 -2
  7. package/EventDetail.d.ts +10 -1
  8. package/EventGridCard.d.ts +6 -4
  9. package/EventItemContextProvider.d.ts +4 -0
  10. package/EventItemPreviewContextProvider.d.ts +5 -0
  11. package/EventsGrid.d.ts +2 -2
  12. package/EventsList.d.ts +2 -2
  13. package/ManageChannels.d.ts +1 -0
  14. package/NewsDetail.d.ts +5 -0
  15. package/NewsDetailViewMetaInfo.d.ts +4 -1
  16. package/NewsGrid.d.ts +4 -3
  17. package/NewsGridCard.d.ts +8 -6
  18. package/NewsHero.d.ts +14 -4
  19. package/NewsList.d.ts +8 -3
  20. package/PageDetail.d.ts +10 -1
  21. package/PageGridCard.d.ts +3 -2
  22. package/PageItemContextProvider.d.ts +4 -0
  23. package/PageItemPreviewContextProvider.d.ts +5 -0
  24. package/PageTableOfContents.d.ts +3 -2
  25. package/PagesGrid.d.ts +3 -2
  26. package/PagesList.d.ts +2 -2
  27. package/PublishableItemCompactCard.d.ts +6 -1
  28. package/PublishableItemGrid.d.ts +4 -2
  29. package/PublishableItemList.d.ts +4 -3
  30. package/ReachContext.d.ts +15 -0
  31. package/SharedItemDetailPreview.d.ts +16 -0
  32. package/ToolbarBookmarkButton.d.ts +4 -0
  33. package/{ToolbarNewsLanguageSelector.d.ts → ToolbarLanguageSelector.d.ts} +1 -1
  34. package/{ToolbarManageNewsItemButton.d.ts → ToolbarManageItemButton.d.ts} +3 -0
  35. package/ar-dz.async.esm.esm.js +1 -1
  36. package/ar-ma.async.esm.esm.js +1 -1
  37. package/ar-sa.async.esm.esm.js +1 -1
  38. package/ar-tn.async.esm.esm.js +1 -1
  39. package/ar.async.esm.esm.js +1 -1
  40. package/asn1.esm.js +1 -0
  41. package/auto-track-3044a81d.esm.js +1 -0
  42. package/bg.async.esm.esm.js +1 -1
  43. package/bn.async.esm.esm.js +1 -1
  44. package/ca.async.esm.esm.js +1 -1
  45. package/common/CommentCountIconWithTooltip.d.ts +3 -1
  46. package/common/filter/LibNewsFilterDefinition.d.ts +7 -0
  47. package/common/hero/Hero.d.ts +9 -11
  48. package/common/hero/HeroPaging.d.ts +5 -0
  49. package/common/hero/HeroSlide.d.ts +18 -5
  50. package/common/hooks/useBannerOnResize.d.ts +5 -0
  51. package/common/utils.d.ts +1 -3
  52. package/cs.async.esm.esm.js +1 -1
  53. package/da.async.esm.esm.js +1 -1
  54. package/da.async.esm2.esm.js +1 -1
  55. package/de-at.async.esm.esm.js +1 -1
  56. package/de.async.esm.esm.js +1 -1
  57. package/de.async.esm2.esm.js +1 -1
  58. package/editor/EventEditorContextProvider.d.ts +9 -1
  59. package/editor/PageEditor.d.ts +6 -0
  60. package/editor/PageEditorContextProvider.d.ts +11 -0
  61. package/editor/PageEditorPanel.d.ts +5 -0
  62. package/editor/PageEditorToolbarStateActions.d.ts +2 -0
  63. package/el.async.esm.esm.js +1 -1
  64. package/emoji.esm.js +1 -0
  65. package/en-au.async.esm.esm.js +1 -1
  66. package/en-ca.async.esm.esm.js +1 -1
  67. package/en-gb.async.esm.esm.js +1 -1
  68. package/en-ie.async.esm.esm.js +1 -1
  69. package/en-nz.async.esm.esm.js +1 -1
  70. package/en-us.async.esm.esm.js +1 -1
  71. package/en.async.esm.esm.js +1 -1
  72. package/es.async.esm.esm.js +1 -1
  73. package/es.async.esm2.esm.js +1 -1
  74. package/et.async.esm.esm.js +1 -1
  75. package/fa-ir.async.esm.esm.js +1 -1
  76. package/fi.async.esm.esm.js +1 -1
  77. package/fr-ca.async.esm.esm.js +1 -1
  78. package/fr-ch.async.esm.esm.js +1 -1
  79. package/fr.async.esm.esm.js +1 -1
  80. package/fr.async.esm2.esm.js +1 -1
  81. package/gu.async.esm.esm.js +1 -1
  82. package/he.async.esm.esm.js +1 -1
  83. package/hi.async.esm.esm.js +1 -1
  84. package/hr.async.esm.esm.js +1 -1
  85. package/hu.async.esm.esm.js +1 -1
  86. package/id.async.esm.esm.js +1 -1
  87. package/index-28074e12.esm.js +1 -0
  88. package/index-5e113ba7.esm.js +790 -0
  89. package/index-6542329b.esm.js +1 -0
  90. package/index-788b2f42.esm.js +1 -0
  91. package/index-904b1d06.esm.js +1 -0
  92. package/index-b417cb34.esm.js +1 -0
  93. package/index.d.ts +563 -253
  94. package/index.esm.js +1 -1
  95. package/index.esm2.js +125 -23
  96. package/index.esm4.js +1 -1
  97. package/index.esm5.js +1 -0
  98. package/index.esm6.js +1 -0
  99. package/index.esm7.js +1 -0
  100. package/index.esm8.js +1 -0
  101. package/index.umd-c9cf1445.esm.js +1 -0
  102. package/index.umd.js +934 -27
  103. package/index10.esm.js +4 -0
  104. package/input-shims.esm.js +4 -0
  105. package/ios.transition.esm.js +4 -0
  106. package/is-plan-event-enabled-d9660f36.esm.js +1 -0
  107. package/it-ch.async.esm.esm.js +1 -1
  108. package/it.async.esm.esm.js +1 -1
  109. package/it.async.esm2.esm.js +1 -1
  110. package/ja.async.esm.esm.js +1 -1
  111. package/ja.async.esm2.esm.js +1 -1
  112. package/javascript.esm.js +1 -0
  113. package/kn.async.esm.esm.js +1 -1
  114. package/ko.async.esm.esm.js +1 -1
  115. package/lt.async.esm.esm.js +1 -1
  116. package/lv.async.esm.esm.js +1 -1
  117. package/md.transition.esm.js +4 -0
  118. package/mllike.esm.js +1 -0
  119. package/ms.async.esm.esm.js +1 -1
  120. package/nb.async.esm.esm.js +1 -1
  121. package/nl-be.async.esm.esm.js +1 -1
  122. package/nl.async.esm.esm.js +1 -1
  123. package/package.json +1 -1
  124. package/pl.async.esm.esm.js +1 -1
  125. package/pt-br.async.esm.esm.js +1 -1
  126. package/pt.async.esm.esm.js +1 -1
  127. package/python.esm.js +1 -0
  128. package/ro.async.esm.esm.js +1 -1
  129. package/rpm.esm.js +1 -0
  130. package/ru.async.esm.esm.js +1 -1
  131. package/sk.async.esm.esm.js +1 -1
  132. package/skeletons/CompactListShimmer.d.ts +7 -0
  133. package/skeletons/EventGridShimmerItem.d.ts +2 -0
  134. package/skeletons/EventShimmerListItem.d.ts +2 -0
  135. package/skeletons/ListShimmer.d.ts +7 -0
  136. package/skeletons/NewsGridShimmerItem.d.ts +4 -0
  137. package/skeletons/NewsHeroShimmer.d.ts +6 -0
  138. package/skeletons/NewsShimmerListItem.d.ts +4 -0
  139. package/skeletons/PageGridShimmerItem.d.ts +4 -0
  140. package/skeletons/PageShimmerListItem.d.ts +2 -0
  141. package/skeletons/PublishableItemGridShimmer.d.ts +9 -0
  142. package/skeletons/utils.d.ts +1 -0
  143. package/sl.async.esm.esm.js +1 -1
  144. package/sql.esm.js +1 -0
  145. package/sr-latn.async.esm.esm.js +1 -1
  146. package/sr.async.esm.esm.js +1 -1
  147. package/status-tap.esm.js +4 -0
  148. package/sv.async.esm.esm.js +1 -1
  149. package/swipe-back.esm.js +4 -0
  150. package/swiper.bundle.esm.js +4 -0
  151. package/ta.async.esm.esm.js +1 -1
  152. package/te.async.esm.esm.js +1 -1
  153. package/th.async.esm.esm.js +1 -1
  154. package/tr.async.esm.esm.js +1 -1
  155. package/tr.async.esm2.esm.js +1 -1
  156. package/ttcn-cfg.esm.js +1 -0
  157. package/uk.async.esm.esm.js +1 -1
  158. package/vi.async.esm.esm.js +1 -1
  159. package/web.esm.js +1 -0
  160. package/zh-CN.async.esm2.esm.js +1 -1
  161. package/zh-TW.async.esm2.esm.js +1 -1
  162. package/zh-cn.async.esm.esm.js +1 -1
  163. package/zh-hk.async.esm.esm.js +1 -1
  164. package/zh-tw.async.esm.esm.js +1 -1
  165. package/NewsDetailPreview.d.ts +0 -7
  166. package/ar-dz.async.esm2.esm.js +0 -1
  167. package/ar-kw.async.esm.esm.js +0 -1
  168. package/ar-ly.async.esm.esm.js +0 -1
  169. package/ar-ma.async.esm2.esm.js +0 -1
  170. package/ar-sa.async.esm2.esm.js +0 -1
  171. package/ar.esm.js +0 -1
  172. package/bg.async.esm2.esm.js +0 -1
  173. package/bn.async.esm2.esm.js +0 -1
  174. package/ca.async.esm2.esm.js +0 -1
  175. package/cs.async.esm2.esm.js +0 -1
  176. package/de-ch.async.esm.esm.js +0 -1
  177. package/de.async.esm3.esm.js +0 -1
  178. package/de.esm.js +0 -1
  179. package/el.async.esm2.esm.js +0 -1
  180. package/en-au.async.esm2.esm.js +0 -1
  181. package/en-ca.async.esm2.esm.js +0 -1
  182. package/en-gb.async.esm2.esm.js +0 -1
  183. package/en-il.async.esm.esm.js +0 -1
  184. package/en-nz.async.esm2.esm.js +0 -1
  185. package/en-sg.async.esm.esm.js +0 -1
  186. package/en.esm.js +0 -1
  187. package/es-do.async.esm.esm.js +0 -1
  188. package/es-us.async.esm.esm.js +0 -1
  189. package/es.async.esm3.esm.js +0 -1
  190. package/es.esm.js +0 -1
  191. package/et.async.esm2.esm.js +0 -1
  192. package/fa.async.esm.esm.js +0 -1
  193. package/fi.async.esm2.esm.js +0 -1
  194. package/fr-ca.async.esm2.esm.js +0 -1
  195. package/fr-ch.async.esm2.esm.js +0 -1
  196. package/fr.async.esm3.esm.js +0 -1
  197. package/fr.esm.js +0 -1
  198. package/gu.async.esm2.esm.js +0 -1
  199. package/he.async.esm2.esm.js +0 -1
  200. package/hi.async.esm2.esm.js +0 -1
  201. package/hr.async.esm2.esm.js +0 -1
  202. package/hu.async.esm2.esm.js +0 -1
  203. package/id.async.esm2.esm.js +0 -1
  204. package/it.async.esm3.esm.js +0 -1
  205. package/it.esm.js +0 -1
  206. package/ja.async.esm3.esm.js +0 -1
  207. package/ja.esm.js +0 -1
  208. package/kn.async.esm2.esm.js +0 -1
  209. package/ko.async.esm2.esm.js +0 -1
  210. package/lt.async.esm2.esm.js +0 -1
  211. package/lv.async.esm2.esm.js +0 -1
  212. package/ml.async.esm.esm.js +0 -1
  213. package/mr.async.esm.esm.js +0 -1
  214. package/ms-my.async.esm.esm.js +0 -1
  215. package/ms.async.esm2.esm.js +0 -1
  216. package/ms.esm.js +0 -1
  217. package/nb.async.esm2.esm.js +0 -1
  218. package/nl-be.async.esm2.esm.js +0 -1
  219. package/nl.async.esm2.esm.js +0 -1
  220. package/nl.esm.js +0 -1
  221. package/pl.async.esm2.esm.js +0 -1
  222. package/pt-br.async.esm2.esm.js +0 -1
  223. package/pt.async.esm2.esm.js +0 -1
  224. package/pt.esm.js +0 -1
  225. package/ro.async.esm2.esm.js +0 -1
  226. package/ru.async.esm2.esm.js +0 -1
  227. package/sk.async.esm2.esm.js +0 -1
  228. package/sl.async.esm2.esm.js +0 -1
  229. package/sr-cyrl.async.esm.esm.js +0 -1
  230. package/sr.async.esm2.esm.js +0 -1
  231. package/sr.esm.js +0 -1
  232. package/sv.async.esm2.esm.js +0 -1
  233. package/sw.async.esm.esm.js +0 -1
  234. package/ta.async.esm2.esm.js +0 -1
  235. package/te.async.esm2.esm.js +0 -1
  236. package/th.async.esm2.esm.js +0 -1
  237. package/tr.async.esm3.esm.js +0 -1
  238. package/tr.esm.js +0 -1
  239. package/uk.async.esm2.esm.js +0 -1
  240. package/vi.async.esm2.esm.js +0 -1
  241. package/zh-cn.async.esm3.esm.js +0 -1
  242. package/zh-tw.async.esm3.esm.js +0 -1
package/index.d.ts CHANGED
@@ -1,64 +1,8 @@
1
- import { FC, ReactNode } from 'react';
1
+ /// <reference types="react" />
2
+ import { FC, ReactNode, MouseEvent } from 'react';
2
3
  import { IDialogProps, IDropdownOption, IPersonaProps } from 'office-ui-fabric-react';
3
4
  import * as styled_components from 'styled-components';
4
5
 
5
- declare type ReachContextProps = {
6
- config?: {
7
- apiEndpoint?: string;
8
- webAppUrl?: string;
9
- api3Endpoint?: string;
10
- webSocketsEndpoint?: string;
11
- };
12
- onRequestToken?: () => Promise<string>;
13
- subscriptionId: string;
14
- language?: string;
15
- disableUiFabricThemeOverwrite?: boolean;
16
- };
17
- declare const ReachContextProvider: FC<ReachContextProps>;
18
-
19
- interface NewsDetailProps {
20
- itemId?: string;
21
- hideComments?: boolean;
22
- hideLikes?: boolean;
23
- preventExternalContentAutoRedirect?: boolean;
24
- className?: string;
25
- }
26
- declare const NewsDetail: FC<NewsDetailProps>;
27
-
28
- interface PageDetailProps {
29
- itemId: string;
30
- hideComments?: boolean;
31
- hideLikes?: boolean;
32
- preventExternalContentAutoRedirect?: boolean;
33
- className?: string;
34
- }
35
- declare const PageDetail: FC<PageDetailProps>;
36
-
37
- interface EventDetailProps {
38
- itemId: string;
39
- hideComments?: boolean;
40
- hideLikes?: boolean;
41
- className?: string;
42
- }
43
- declare const EventDetail: FC<EventDetailProps>;
44
-
45
- interface PostDetailProps {
46
- postId: string;
47
- threadId?: string;
48
- onAfterDelete?: (id: string) => unknown;
49
- commentCount?: number;
50
- onItemClick?: (postId: string) => unknown;
51
- }
52
- declare const PostDetail: FC<PostDetailProps>;
53
-
54
- interface PaginatedList<TItem> {
55
- items: TItem[];
56
- paginationToken?: any;
57
- nextItem?: TItem;
58
- hasMoreUnreadComments?: boolean;
59
- hasNextPage?: boolean;
60
- }
61
-
62
6
  declare enum AuthenticationType {
63
7
  unknown = 0,
64
8
  azuread = 1,
@@ -84,10 +28,52 @@ interface IdentityProviderSettings {
84
28
  realm: string;
85
29
  url: string;
86
30
  scope: string;
31
+ idpIdentifier?: string;
32
+ openIdTokenEndPoint: string;
33
+ openIdAuthorizeEndPoint: string;
34
+ openIdLogoutEndPoint: string;
87
35
  }
88
36
 
89
- interface Resources {
90
- [language: string]: Record<string, string>;
37
+ interface VideoSource$1 {
38
+ prefix: string;
39
+ name: string;
40
+ alwaysShowPlayer?: boolean;
41
+ }
42
+
43
+ declare type ReachContextProps = {
44
+ config?: {
45
+ apiEndpoint?: string;
46
+ webAppUrl?: string;
47
+ api3Endpoint?: string;
48
+ webSocketsEndpoint?: string;
49
+ additionalVideoSources?: VideoSource$1[];
50
+ };
51
+ onRequestToken?: () => Promise<string>;
52
+ subscriptionId: string;
53
+ language?: string;
54
+ disableUiFabricThemeOverwrite?: boolean;
55
+ locale?: string;
56
+ /**
57
+ * These properties can be used to define the behavior of the analytics module.
58
+ *
59
+ * With `disableAnalytics` you can completely disable all analytics tracking.
60
+ * The `appName` is optional but highly encouraged to be set,
61
+ * in order to know where the components are used in. The value must be a non-empty string,
62
+ * only containing alphabetical letters and dashes (-). Should not be longer than 30 characters.
63
+ */
64
+ analyticsProps?: {
65
+ disableAnalytics?: boolean;
66
+ appName?: string;
67
+ };
68
+ };
69
+ declare const ReachContextProvider: FC<ReachContextProps>;
70
+
71
+ interface PaginatedList<TItem> {
72
+ items: TItem[];
73
+ paginationToken?: any;
74
+ nextItem?: TItem;
75
+ hasMoreUnreadComments?: boolean;
76
+ hasNextPage?: boolean;
91
77
  }
92
78
 
93
79
  interface BasicUserInformation {
@@ -109,121 +95,45 @@ interface Account extends BasicUserInformation {
109
95
  tenantId?: string;
110
96
  }
111
97
 
112
- interface UserChannelSubscription {
113
- id: string;
114
- name: string;
115
- sendNotifications?: boolean;
116
- isPinnedToNavigation?: boolean;
117
- isMandatory?: boolean;
98
+ interface Resources {
99
+ [language: string]: Record<string, string>;
118
100
  }
119
101
 
120
- interface PublishableItemNotificationSummary {
121
- itemId: string;
122
- title?: string;
123
- channelIds?: string[];
124
- publishingDate?: string;
125
- }
126
- declare enum GroupRoleNames {
127
- Admin = "Admin",
128
- Editor = "Editor",
129
- Author = "Author",
130
- Reader = "Reader",
131
- LimitedReader = "LimitedReader",
132
- None = "None"
133
- }
134
- declare enum GroupRoles {
135
- None = 0,
136
- LimitedReader = 5,
137
- Reader = 10,
138
- Author = 20,
139
- Editor = 30,
140
- Admin = 40
141
- }
142
- declare enum NotificationType {
143
- None = 0,
144
- MobilePush = 1,
145
- Email = 2,
146
- Teams = 4,
147
- BrowserPush = 8
148
- }
149
- interface NotificationTypeSettings {
150
- news: NotificationType;
151
- posts: NotificationType;
152
- comments: NotificationType;
153
- mentions: NotificationType;
154
- events: NotificationType;
155
- chat: NotificationType;
156
- pluginNotifications: {
157
- [key: string]: NotificationType;
102
+ interface LanguageBase {
103
+ code: string;
104
+ }
105
+
106
+ interface KeywordGroup {
107
+ id: string;
108
+ name: string;
109
+ keywords: Keyword[];
110
+ translations: {
111
+ [key: string]: string;
158
112
  };
159
113
  }
160
- interface CurrentUser extends Account {
161
- isEmailVerificationPending?: boolean;
162
- isSubscriptionOwner: boolean;
163
- givenName: string;
164
- surname: string;
165
- preferredUiLanguage: string;
166
- preferredContentLanguage?: string;
167
- preferredLocale?: string;
168
- bookmarks: string[];
169
- groups: UserGroup[];
170
- subscription: SubscriptionSummary;
171
- availableSubscriptions: SubscriptionSummary[];
172
- channels: UserChannelSubscription[];
173
- userHash: string;
174
- unreadNews: PublishableItemNotificationSummary[];
175
- unreadEvents: PublishableItemNotificationSummary[];
176
- unreadPosts: {
177
- groupId: string;
178
- itemId: string;
179
- }[];
180
- unreadFeedItemsCount?: number;
181
- mostRecentPostGroups: string[];
182
- notificationTypeSettings: NotificationTypeSettings;
183
- hasPendingRegistration?: boolean;
184
- minRoles: UserMinRoles;
185
- hasDirectory: boolean;
186
- contacts: UserContact[];
187
- termsAndConditionsApprovedHash: string;
188
- isPublicUser?: boolean;
189
- hasUnreadChats?: boolean;
190
- }
191
- interface UserContact {
192
- tokenUniqueId: string;
193
- tenantId: string;
194
- }
195
- interface GroupBase {
114
+ interface Keyword {
115
+ id: string;
116
+ name: string;
117
+ groupId?: string;
118
+ translations: {
119
+ [key: string]: string;
120
+ };
121
+ }
122
+
123
+ interface Channel {
196
124
  id: string;
197
125
  name: string;
198
126
  translations?: {
199
127
  [key: string]: string;
200
128
  };
201
- }
202
- interface UserGroup extends GroupBase {
203
- allowPosts: boolean;
204
- disablePostComments: boolean;
205
- availableChannelIds: string[];
206
- defaultChannelIds: string[];
207
- mandatoryChannelIds: string[];
208
- availableKeywordIds: string[];
209
- defaultKeywordIds: string[];
210
- mandatoryKeywordIds: string[];
211
- role: UserGroupRole;
212
- }
213
- interface UserMinRoles {
214
- isEditor: boolean;
215
- isAuthor: boolean;
216
- isAdmin: boolean;
217
- isReader: boolean;
218
- isSubscriptionOwner: boolean;
219
- }
220
- interface UserGroupRole {
221
- roleValue: GroupRoles;
222
- displayName: GroupRoleNames;
223
129
  }
224
130
 
225
- interface LanguageBase {
226
- code: string;
131
+ declare enum ItemResourceTypes {
132
+ News = "news",
133
+ Pages = "pages",
134
+ Posts = "posts",
135
+ Events = "events",
136
+ Comments = "comments"
227
137
  }
228
138
 
229
139
  interface DirectoryConfiguration extends DirectoryConfigurationPatch {
@@ -284,6 +194,7 @@ interface SubscriptionSummary extends BaseSubscription {
284
194
  customDomain?: string;
285
195
  allowSelfRegistration?: boolean;
286
196
  brandFolderConfig?: BrandFolderConfig;
197
+ hideSubscriptionName?: boolean;
287
198
  }
288
199
  interface BrandFolderConfig {
289
200
  sections?: string[];
@@ -314,9 +225,21 @@ interface WebPluginDefinition {
314
225
  subscriptionId?: string;
315
226
  environment?: string;
316
227
  }
317
- interface PluginExtension {
318
- area: string;
319
- componentName: string;
228
+ declare enum ExtensionArea {
229
+ global = "Global",
230
+ page = "Page",
231
+ eventEditorFeedbackSection = "EventEditorFeedbackSection",
232
+ eventDetailViewSection = "EventDetailViewSection",
233
+ itemEditor = "ItemEditor",
234
+ newsEditorFeedbackSection = "NewsEditorFeedbackSection",
235
+ newsOverviewCardSection = "NewsOverviewCardSection"
236
+ }
237
+ declare type InlinePlugin = {
238
+ area: ExtensionArea.itemEditor;
239
+ objectButton: PluginObjectButton;
240
+ };
241
+ declare type PagePlugin = {
242
+ area: ExtensionArea.page;
320
243
  route: string;
321
244
  navigationNode?: {
322
245
  componentName?: string;
@@ -326,7 +249,20 @@ interface PluginExtension {
326
249
  [key: string]: string;
327
250
  };
328
251
  };
329
- }
252
+ };
253
+ declare type PluginExtension = {
254
+ area: ExtensionArea;
255
+ componentName: string;
256
+ } & (InlinePlugin | PagePlugin);
257
+ declare type PluginObjectButton = {
258
+ buttonLabel: {
259
+ defaultLabel: string;
260
+ translations?: {
261
+ [key: string]: string;
262
+ };
263
+ };
264
+ iconName: string;
265
+ };
330
266
  interface PluginNotificationDefinitions {
331
267
  key: string;
332
268
  title: string;
@@ -360,21 +296,120 @@ declare enum FieldMode {
360
296
  Hidden = 3
361
297
  }
362
298
 
363
- interface Channel {
299
+ interface UserChannelSubscription {
300
+ id: string;
301
+ name: string;
302
+ sendNotifications?: boolean;
303
+ isPinnedToNavigation?: boolean;
304
+ isMandatory?: boolean;
305
+ }
306
+
307
+ interface PublishableItemNotificationSummary {
308
+ itemId: string;
309
+ title?: string;
310
+ channelIds?: string[];
311
+ publishingDate?: string;
312
+ }
313
+ declare enum GroupRoleNames {
314
+ Admin = "Admin",
315
+ Editor = "Editor",
316
+ Author = "Author",
317
+ Reader = "Reader",
318
+ LimitedReader = "LimitedReader",
319
+ None = "None"
320
+ }
321
+ declare enum GroupRoles {
322
+ None = 0,
323
+ LimitedReader = 5,
324
+ Reader = 10,
325
+ Author = 20,
326
+ Editor = 30,
327
+ Admin = 40
328
+ }
329
+ declare enum NotificationType {
330
+ None = 0,
331
+ MobilePush = 1,
332
+ Email = 2,
333
+ Teams = 4,
334
+ BrowserPush = 8
335
+ }
336
+ interface NotificationTypeSettings {
337
+ news: NotificationType;
338
+ posts: NotificationType;
339
+ comments: NotificationType;
340
+ mentions: NotificationType;
341
+ events: NotificationType;
342
+ chat: NotificationType;
343
+ pluginNotifications: {
344
+ [key: string]: NotificationType;
345
+ };
346
+ newsEditor: NotificationType;
347
+ eventEditor: NotificationType;
348
+ }
349
+ interface CurrentUser extends Account {
350
+ isEmailVerificationPending?: boolean;
351
+ isSubscriptionOwner: boolean;
352
+ givenName: string;
353
+ surname: string;
354
+ preferredUiLanguage: string;
355
+ preferredContentLanguage?: string;
356
+ preferredLocale?: string;
357
+ bookmarks: string[];
358
+ groups: UserGroup[];
359
+ subscription: SubscriptionSummary;
360
+ availableSubscriptions: SubscriptionSummary[];
361
+ channels: UserChannelSubscription[];
362
+ userHash: string;
363
+ unreadNews: PublishableItemNotificationSummary[];
364
+ unreadEvents: PublishableItemNotificationSummary[];
365
+ unreadPosts: {
366
+ groupId: string;
367
+ itemId: string;
368
+ }[];
369
+ unreadFeedItemsCount?: number;
370
+ mostRecentPostGroups: string[];
371
+ notificationTypeSettings: NotificationTypeSettings;
372
+ hasPendingRegistration?: boolean;
373
+ minRoles: UserMinRoles;
374
+ hasDirectory: boolean;
375
+ contacts: UserContact[];
376
+ termsAndConditionsApprovedHash: string;
377
+ isPublicUser?: boolean;
378
+ hasUnreadChats?: boolean;
379
+ publicSubscriptionIds?: string[];
380
+ }
381
+ interface UserContact {
382
+ tokenUniqueId: string;
383
+ tenantId: string;
384
+ }
385
+ interface GroupBase {
364
386
  id: string;
365
387
  name: string;
366
388
  translations?: {
367
389
  [key: string]: string;
368
390
  };
369
- }
370
-
371
- interface Keyword {
372
- id: string;
373
- name: string;
374
- groupId?: string;
375
- translations: {
376
- [key: string]: string;
377
- };
391
+ }
392
+ interface UserGroup extends GroupBase {
393
+ allowPosts: boolean;
394
+ disablePostComments: boolean;
395
+ availableChannelIds: string[];
396
+ defaultChannelIds: string[];
397
+ mandatoryChannelIds: string[];
398
+ availableKeywordIds: string[];
399
+ defaultKeywordIds: string[];
400
+ mandatoryKeywordIds: string[];
401
+ role: UserGroupRole;
402
+ }
403
+ interface UserMinRoles {
404
+ isEditor: boolean;
405
+ isAuthor: boolean;
406
+ isAdmin: boolean;
407
+ isReader: boolean;
408
+ isSubscriptionOwner: boolean;
409
+ }
410
+ interface UserGroupRole {
411
+ roleValue: GroupRoles;
412
+ displayName: GroupRoleNames;
378
413
  }
379
414
 
380
415
  interface ItemStatistics {
@@ -411,7 +446,7 @@ declare enum KnownNewsState {
411
446
  declare type VersionId = string;
412
447
  interface SchedulableItem extends PublishableItem {
413
448
  metadata?: NewsMetadata;
414
- channels?: SchedulableItemChannel[];
449
+ channels?: Channel[];
415
450
  }
416
451
  interface NewsItem extends SchedulableItem {
417
452
  source?: string;
@@ -419,20 +454,11 @@ interface NewsItem extends SchedulableItem {
419
454
  expiryDate?: string;
420
455
  knownState: KnownNewsState;
421
456
  hasNewComments?: boolean;
422
- isLiked?: boolean;
423
- shareToken?: ShareToken;
424
- }
425
- interface ShareToken {
426
- published?: string;
427
- preview?: string;
428
457
  }
429
458
  interface NewsItemAlertOptions {
430
459
  duration?: string;
431
460
  endDate?: Date;
432
461
  expireAfter?: boolean;
433
- }
434
- interface SchedulableItemChannel {
435
- name: string;
436
462
  }
437
463
 
438
464
  declare enum VideoSource {
@@ -447,6 +473,19 @@ interface BaseItem {
447
473
  id?: string;
448
474
  statistics?: ItemStatistics;
449
475
  poll?: Poll;
476
+ searchHighlights?: SearchHighlightSummary;
477
+ }
478
+ interface SearchHighlightSummary {
479
+ title: SearchHighlight[];
480
+ content: SearchHighlight[];
481
+ }
482
+ interface SearchHighlight {
483
+ language: string;
484
+ texts: {
485
+ value: string;
486
+ type: 'text' | 'hit';
487
+ }[];
488
+ score: number;
450
489
  }
451
490
  interface Poll {
452
491
  questions: PollQuestion[];
@@ -481,7 +520,6 @@ interface PublishableItemContent extends ContentDefinition {
481
520
  headline?: string;
482
521
  intro?: string;
483
522
  body?: string;
484
- bodyRaw?: string;
485
523
  customProperties?: {
486
524
  [key: string]: any;
487
525
  };
@@ -546,6 +584,7 @@ interface PublishableItem extends BaseItem {
546
584
  statistics?: ItemStatistics;
547
585
  useExternalContent?: boolean;
548
586
  isDemoContent?: boolean;
587
+ isLiked?: boolean;
549
588
  }
550
589
  interface PollTranslation {
551
590
  questions: QuestionTranslations[];
@@ -571,7 +610,8 @@ declare enum AttachmentType {
571
610
  Event = 5,
572
611
  Page = 6,
573
612
  Post = 7,
574
- Giphy = 8
613
+ Giphy = 8,
614
+ MicrosoftStreamVideo = 9
575
615
  }
576
616
  interface BaseAttachment {
577
617
  id: string;
@@ -587,6 +627,19 @@ interface Attachment extends BaseAttachment {
587
627
  type: AttachmentType;
588
628
  }
589
629
 
630
+ declare enum GraphQLAttachmentType {
631
+ Image = "IMAGE",
632
+ File = "FILE",
633
+ YouTubeVideo = "YOU_TUBE_VIDEO",
634
+ VimeoVideo = "VIMEO_VIDEO",
635
+ News = "NEWS",
636
+ Event = "EVENT",
637
+ Page = "PAGE",
638
+ Post = "POST",
639
+ Giphy = "GIPHY",
640
+ MicrosoftStreamVideo = "MICROSOFT_STREAM_VIDEO"
641
+ }
642
+
590
643
  interface ItemWithAttachments {
591
644
  attachments?: Attachment[];
592
645
  fileAccessToken?: string;
@@ -597,6 +650,7 @@ interface Comment extends ItemWithAttachments {
597
650
  id: string;
598
651
  parentItemId: string;
599
652
  content: string;
653
+ formattedContent?: string;
600
654
  contentLanguageCode?: string;
601
655
  receivedDateTime: string;
602
656
  sender: Account;
@@ -619,14 +673,6 @@ declare enum ConversationScope {
619
673
  Posts = 2
620
674
  }
621
675
 
622
- declare enum ItemResourceTypes {
623
- News = "news",
624
- Pages = "pages",
625
- Posts = "posts",
626
- Events = "events",
627
- Comments = "comments"
628
- }
629
-
630
676
  declare enum EventResponse {
631
677
  NotSet = 0,
632
678
  Registered = 1,
@@ -647,6 +693,7 @@ interface EventItem extends SchedulableItem {
647
693
  recurrenceSeriesId?: string;
648
694
  isSeriesMaster?: string;
649
695
  isVirtual?: boolean;
696
+ isAllDayEvent?: boolean;
650
697
  }
651
698
  interface EventRegistrationSettings {
652
699
  enabled?: boolean;
@@ -736,6 +783,7 @@ interface PageItem extends PublishableItem {
736
783
  isUnlinked?: boolean;
737
784
  pageType?: PageType;
738
785
  firstChildId?: string;
786
+ isGroupInheritanceBroken?: boolean;
739
787
  }
740
788
  interface ContentsSummary {
741
789
  [lang: string]: TitleContent & {
@@ -757,6 +805,7 @@ interface PageNavigationNode {
757
805
  hasAnyPageChild?: boolean;
758
806
  pageType?: PageType;
759
807
  useExternalContent?: boolean;
808
+ isGroupInheritanceBroken?: boolean;
760
809
  isSearchMatch?: boolean;
761
810
  topLevelFolderName?: string;
762
811
  uploadToken?: string;
@@ -771,7 +820,65 @@ declare enum PageType {
771
820
  Document = 1
772
821
  }
773
822
 
774
- declare const Dialog: FC<IDialogProps>;
823
+ declare type KeywordsByGroupId = {
824
+ [key: string]: Keyword[];
825
+ };
826
+
827
+ interface SubscriptionData {
828
+ channels?: Channel[];
829
+ allKeywords?: Keyword[];
830
+ keywordsByGroupId?: KeywordsByGroupId;
831
+ selectedKeywordGroups?: KeywordGroup[];
832
+ }
833
+ interface LazySubscriptionContextType extends SubscriptionData {
834
+ getChannels: () => Promise<Channel[]>;
835
+ refreshSubscription: () => void;
836
+ }
837
+
838
+ declare function useLazySubscriptionContext(): LazySubscriptionContextType;
839
+
840
+ interface NewsDetailProps {
841
+ itemId?: string;
842
+ hideComments?: boolean;
843
+ hideLikes?: boolean;
844
+ preventExternalContentAutoRedirect?: boolean;
845
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
846
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
847
+ className?: string;
848
+ }
849
+ declare const NewsDetail: FC<NewsDetailProps>;
850
+
851
+ interface PageDetailProps {
852
+ itemId?: string;
853
+ hideComments?: boolean;
854
+ hideLikes?: boolean;
855
+ preventExternalContentAutoRedirect?: boolean;
856
+ homeBreadcrumbTargetUrl?: string;
857
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
858
+ className?: string;
859
+ }
860
+ declare const PageDetail: FC<PageDetailProps>;
861
+
862
+ interface EventDetailProps {
863
+ itemId?: string;
864
+ hideComments?: boolean;
865
+ hideLikes?: boolean;
866
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
867
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
868
+ className?: string;
869
+ }
870
+ declare const EventDetail: FC<EventDetailProps>;
871
+
872
+ interface PostDetailProps {
873
+ postId: string;
874
+ threadId?: string;
875
+ onAfterDelete?: (id: string) => unknown;
876
+ commentCount?: number;
877
+ onItemClick?: (postId: string) => unknown;
878
+ }
879
+ declare const PostDetail: FC<PostDetailProps>;
880
+
881
+ declare const LegacyDialog: FC<IDialogProps>;
775
882
 
776
883
  interface ToolbarProps {
777
884
  leftSide?: ReactNode;
@@ -788,6 +895,12 @@ interface ToolbarSearchProps {
788
895
  }
789
896
  declare const Toolbar: FC<ToolbarProps>;
790
897
 
898
+ declare type TokenType = string | number;
899
+
900
+ interface ItemLoader<TItem, TTokenType extends TokenType> {
901
+ (pageSize: number, token?: TTokenType): Promise<PaginatedList<TItem>>;
902
+ }
903
+
791
904
  interface ToolbarChannelSelectorProps {
792
905
  getInitialSelectedKey?: (dropdownOptions: IDropdownOption[]) => string;
793
906
  allChannelsOption?: ToolbarChannelSelectorOption;
@@ -833,6 +946,15 @@ declare const ToolbarUnreadItemsButton: FC<{
833
946
  onClick: () => unknown;
834
947
  }>;
835
948
 
949
+ declare const ToolbarManageButton: FC<{
950
+ onClick?: () => unknown;
951
+ to?: {
952
+ url: string;
953
+ target?: string;
954
+ };
955
+ disabled?: boolean;
956
+ }>;
957
+
836
958
  interface ToolbarCloseButtonProps {
837
959
  onClick?: () => unknown;
838
960
  to?: {
@@ -861,8 +983,10 @@ declare const ToolbarEventViewSelector: FC<ToolbarEventViewSelectorProps>;
861
983
  interface Props extends IPersonaProps {
862
984
  upn: string;
863
985
  tenantId?: string;
864
- className?: string;
865
986
  displayName?: string;
987
+ forceShowSecondaryText?: boolean;
988
+ className?: string;
989
+ ignoreOverrides?: boolean;
866
990
  }
867
991
  declare const Avatar: FC<Props>;
868
992
 
@@ -873,6 +997,13 @@ interface UserDetailsProps {
873
997
  }
874
998
  declare const UserDetails: FC<UserDetailsProps>;
875
999
 
1000
+ declare enum ErrorType {
1001
+ GenericError = "genericError",
1002
+ Error404 = "error404",
1003
+ Error403 = "error403",
1004
+ LoginError = "loginError"
1005
+ }
1006
+
876
1007
  interface PageViewTrackerSettings {
877
1008
  disabled?: boolean;
878
1009
  }
@@ -919,6 +1050,32 @@ declare enum LogicalOperator {
919
1050
  And = "AND"
920
1051
  }
921
1052
 
1053
+ interface Post extends BaseItem, ItemWithAttachments {
1054
+ id: string;
1055
+ comments?: PaginatedList<Comment>;
1056
+ groupId: string;
1057
+ content: string;
1058
+ permalink?: string;
1059
+ author: Account;
1060
+ publishingDate: string;
1061
+ modified?: string;
1062
+ statistics: ItemStatistics;
1063
+ keywords?: {
1064
+ [key: string]: Keyword[];
1065
+ };
1066
+ contentLanguageCode?: string;
1067
+ isLiked?: boolean;
1068
+ isUnread?: boolean;
1069
+ isDemoContent?: boolean;
1070
+ isFollowing?: boolean;
1071
+ }
1072
+ interface PostFilterDefinition {
1073
+ token?: string;
1074
+ pageSize?: string;
1075
+ search?: string;
1076
+ keywords?: FilterWithLogicalOperator;
1077
+ }
1078
+
922
1079
  interface AuthorFilterDefinition extends IndexableFilterDefinition {
923
1080
  author?: string;
924
1081
  }
@@ -927,6 +1084,20 @@ interface ChannelsFilterDefinition extends IndexableFilterDefinition {
927
1084
  channels?: FilterWithLogicalOperator;
928
1085
  }
929
1086
 
1087
+ interface EventContactsFilterDefinition extends IndexableFilterDefinition {
1088
+ contacts?: string[];
1089
+ }
1090
+
1091
+ interface EventsStartDateFilterDefinition extends IndexableFilterDefinition {
1092
+ startsAfter?: string;
1093
+ startsBefore?: string;
1094
+ }
1095
+
1096
+ interface EventFilterDefinition extends PublishableItemFilterDefinition, EventContactsFilterDefinition, EventsStartDateFilterDefinition, ChannelsFilterDefinition {
1097
+ excludePastEvents?: boolean;
1098
+ pastEventsOnly?: boolean;
1099
+ }
1100
+
930
1101
  interface StateFilterDefinition extends IndexableFilterDefinition {
931
1102
  state?: WorkflowStatus;
932
1103
  }
@@ -938,26 +1109,90 @@ interface NewsFilterDefinition extends PublishableItemFilterDefinition, AuthorFi
938
1109
  includeExpired?: boolean;
939
1110
  }
940
1111
 
1112
+ declare enum StreamEventResponse {
1113
+ NotSet = "NOTSET",
1114
+ Registered = "REGISTERED",
1115
+ Declined = "DECLINED"
1116
+ }
1117
+
1118
+ declare enum StreamItemTypes {
1119
+ Post = "POST",
1120
+ News = "NEWS",
1121
+ Event = "EVENT",
1122
+ Page = "PAGE"
1123
+ }
1124
+ declare enum StreamConversationScope {
1125
+ Public = "PUBLIC",
1126
+ Editor = "EDITOR",
1127
+ Posts = "POSTS"
1128
+ }
1129
+ interface PostStreamItem extends Post {
1130
+ type: StreamItemTypes.Post;
1131
+ isUnread: boolean;
1132
+ keywordsList?: Keyword[];
1133
+ groupIds?: string[];
1134
+ postAttachments?: StreamAttachment[];
1135
+ postComments?: PaginatedList<StreamPostComment>;
1136
+ hasMoreUnreadComments: boolean;
1137
+ }
1138
+ interface StreamPostComment extends Comment {
1139
+ postCommentAttachments?: StreamAttachment[];
1140
+ streamConversationScope?: StreamConversationScope;
1141
+ }
1142
+ interface StreamAttachment extends BaseAttachment {
1143
+ type: GraphQLAttachmentType;
1144
+ }
1145
+ interface NewsStreamItem extends NewsItem {
1146
+ type: StreamItemTypes.News;
1147
+ contentsList: StreamPublishableItemContents[];
1148
+ channelsList: Channel[];
1149
+ isUnread: boolean;
1150
+ keywordsList?: Keyword[];
1151
+ knownNewsState?: StreamKnownNewsState[];
1152
+ }
1153
+ declare enum StreamKnownNewsState {
1154
+ Unconfirmed = "UNCONFIRMED",
1155
+ Alert = "ALERT"
1156
+ }
1157
+ interface EventStreamItem extends EventItem {
1158
+ type: StreamItemTypes.Event;
1159
+ contentsList: StreamPublishableItemContents[];
1160
+ channelsList: Channel[];
1161
+ isUnread: boolean;
1162
+ keywordsList?: Keyword[];
1163
+ userResponseType?: StreamEventResponse;
1164
+ eventCancelInformation?: StreamEventCancelInformation;
1165
+ }
1166
+ interface PageStreamItem extends PageItem {
1167
+ type: StreamItemTypes.Page;
1168
+ contentsList: StreamPublishableItemContents[];
1169
+ channelsList: Channel[];
1170
+ isUnread: boolean;
1171
+ keywordsList?: Keyword[];
1172
+ streamPageType?: string;
1173
+ path?: (PageNavigationNode & {
1174
+ parentId?: string;
1175
+ contentsList: StreamPublishableItemContents[];
1176
+ })[];
1177
+ }
1178
+ interface StreamPublishableItemContents {
1179
+ language: string;
1180
+ title: string;
1181
+ intro?: string;
1182
+ headline?: string;
1183
+ }
1184
+ interface StreamEventCancelInformation extends EventCancelInformation {
1185
+ cancellationReasons?: {
1186
+ [key: string]: string;
1187
+ }[];
1188
+ }
1189
+
941
1190
  interface TargetLinkOverrideContextProps {
942
1191
  onResolveContentTargetUrl: (itemId: string, itemType: ItemResourceTypes) => string;
943
1192
  onResolveEmbeddedContentTargetUrl?: (itemId: string, itemType: ItemResourceTypes) => string;
944
1193
  }
945
1194
  declare const TargetLinkOverrideContextProvider: FC<TargetLinkOverrideContextProps>;
946
1195
 
947
- interface EventContactsFilterDefinition extends IndexableFilterDefinition {
948
- contacts?: string[];
949
- }
950
-
951
- interface EventsStartDateFilterDefinition extends IndexableFilterDefinition {
952
- startsAfter?: string;
953
- startsBefore?: string;
954
- }
955
-
956
- interface EventFilterDefinition extends PublishableItemFilterDefinition, EventContactsFilterDefinition, EventsStartDateFilterDefinition, ChannelsFilterDefinition {
957
- excludePastEvents?: boolean;
958
- pastEventsOnly?: boolean;
959
- }
960
-
961
1196
  interface KeywordPickerProps {
962
1197
  value?: Keyword[] | string[];
963
1198
  onChange: (keywords: Keyword[], logicalOperator?: LogicalOperator) => void;
@@ -978,37 +1213,26 @@ interface PageFilterDefinition extends PublishableItemFilterDefinition {
978
1213
  pageType?: PageType;
979
1214
  }
980
1215
 
981
- interface Post extends BaseItem, ItemWithAttachments {
982
- id: string;
983
- comments?: PaginatedList<Comment>;
984
- groupId: string;
985
- content: string;
986
- permalink?: string;
987
- author: Account;
988
- publishingDate: string;
989
- modified?: string;
990
- statistics: ItemStatistics;
991
- keywords?: {
992
- [key: string]: Keyword[];
993
- };
994
- contentLanguageCode?: string;
995
- isLiked?: boolean;
996
- isUnread?: boolean;
997
- isDemoContent?: boolean;
998
- isFollowing?: boolean;
999
- }
1000
- interface PostFilterDefinition {
1001
- token?: string;
1002
- pageSize?: string;
1003
- search?: string;
1004
- keywords?: FilterWithLogicalOperator;
1005
- }
1216
+ declare function useNewsStreamDataLoader(filter?: NewsFilterDefinition, searchText?: string, includeAllItems?: boolean): ItemLoader<NewsStreamItem, number>;
1217
+
1218
+ declare function useEventsStreamDataLoader(filter?: EventFilterDefinition, searchText?: string, view?: EventView): ItemLoader<EventStreamItem, number>;
1006
1219
 
1007
1220
  interface PostStreamFilterDefinition extends PostFilterDefinition, BeforePublishingDateFilterDefinition, AuthorFilterDefinition {
1008
1221
  }
1009
1222
 
1223
+ declare function usePostsStreamDataLoader(groupId?: string, filter?: PostStreamFilterDefinition, searchText?: string): ItemLoader<PostStreamItem, number>;
1224
+
1225
+ declare function usePagesStreamDataLoader(filter?: PageFilterDefinition, searchText?: string): ItemLoader<PageStreamItem, number>;
1226
+
1010
1227
  interface LibNewsFilterDefinition extends Omit<NewsFilterDefinition, 'channels' | 'keywords'> {
1228
+ /**
1229
+ * Limit results to those associated with the given channels.
1230
+ * For better performance set channel IDs instead of names.
1231
+ */
1011
1232
  channels?: string | FilterWithLogicalOperator;
1233
+ /**
1234
+ * Limit results to those associated with given keywords (keyword IDs)
1235
+ */
1012
1236
  keywords?: string | FilterWithLogicalOperator;
1013
1237
  }
1014
1238
 
@@ -1021,17 +1245,23 @@ interface NewsListProps {
1021
1245
  searchText?: string;
1022
1246
  itemLayoutMode?: ItemLayoutMode;
1023
1247
  onItemClick?: (item: NewsItem, itemUrl?: string, isTitleClicked?: boolean) => unknown;
1024
- onChannelClick?: (channel: string) => unknown;
1025
- onKeywordClick?: (keyword: string) => unknown;
1248
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1249
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
1026
1250
  hidePlaceholderIfNoBanner?: boolean;
1027
1251
  hidePagination?: boolean;
1028
1252
  pageSize?: number;
1029
1253
  includeAllItems?: boolean;
1254
+ cardsGap?: number;
1255
+ contentGap?: number;
1256
+ bannerSize?: number;
1257
+ showDateOnBottom?: boolean;
1258
+ showDateAsRelative?: boolean;
1030
1259
  className?: string;
1031
1260
  }
1032
1261
  declare const NewsList: FC<NewsListProps>;
1033
1262
 
1034
1263
  interface ManageChannelsProps {
1264
+ hideSearch?: boolean;
1035
1265
  className?: string;
1036
1266
  }
1037
1267
  declare const ManageChannels: FC<ManageChannelsProps>;
@@ -1039,6 +1269,9 @@ declare const ManageChannels: FC<ManageChannelsProps>;
1039
1269
  interface ChannelSelectorWrapperProps {
1040
1270
  onChannelsChanged: (channels: Channel[], logicalOperator?: LogicalOperator) => void;
1041
1271
  showLogicalOperatorOptions?: boolean;
1272
+ /**
1273
+ * For better performance set channel IDs instead of names.
1274
+ */
1042
1275
  defaultSelectedChannels?: string[] | FilterWithLogicalOperator;
1043
1276
  className?: string;
1044
1277
  }
@@ -1055,10 +1288,11 @@ interface NewsGridProps {
1055
1288
  maxColumnCount?: number;
1056
1289
  rowCount?: number;
1057
1290
  onItemClick?: (item: NewsItem, itemUrl?: string, isTitleClicked?: boolean) => unknown;
1058
- onChannelClick?: (channel: string) => unknown;
1059
- onKeywordClick?: (keyword: string) => unknown;
1291
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1292
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
1060
1293
  includeAllItems?: boolean;
1061
1294
  className?: string;
1295
+ hideIntro?: boolean;
1062
1296
  }
1063
1297
  declare const NewsGrid: FC<NewsGridProps>;
1064
1298
 
@@ -1074,7 +1308,7 @@ interface EventGridProps {
1074
1308
  maxColumnCount?: number;
1075
1309
  rowCount?: number;
1076
1310
  onItemClick?: (item: EventItem, itemUrl?: string) => unknown;
1077
- onChannelClick?: (channel: string) => unknown;
1311
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1078
1312
  className?: string;
1079
1313
  }
1080
1314
  declare const EventsGrid: FC<EventGridProps>;
@@ -1085,7 +1319,7 @@ interface EventsListProps {
1085
1319
  searchText?: string;
1086
1320
  itemLayoutMode?: ItemLayoutMode;
1087
1321
  onItemClick?: (item: EventItem, itemUrl?: string) => unknown;
1088
- onChannelClick?: (channel: string) => unknown;
1322
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1089
1323
  hidePlaceholderIfNoBanner?: boolean;
1090
1324
  hidePagination?: boolean;
1091
1325
  pageSize?: number;
@@ -1093,8 +1327,20 @@ interface EventsListProps {
1093
1327
  }
1094
1328
  declare const EventsList: FC<EventsListProps>;
1095
1329
 
1330
+ declare enum HeroPagingType {
1331
+ page = "page",
1332
+ item = "item"
1333
+ }
1334
+
1096
1335
  interface NewsHeroFilterProps {
1336
+ /**
1337
+ * Limit results to those associated with the given channels.
1338
+ * For better performance set channel IDs instead of names.
1339
+ */
1097
1340
  channels?: string | FilterWithLogicalOperator;
1341
+ /**
1342
+ * Limit results to those associated with given keywords (keyword IDs)
1343
+ */
1098
1344
  keywords?: string | FilterWithLogicalOperator;
1099
1345
  pageSize?: number;
1100
1346
  }
@@ -1106,9 +1352,11 @@ interface NewsHeroProps {
1106
1352
  width?: number | string;
1107
1353
  height?: number | string;
1108
1354
  includeAllItems?: boolean;
1109
- onChannelClick?: (channel: string) => unknown;
1110
- onKeywordClick?: (keyword: string) => unknown;
1355
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1356
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
1111
1357
  showKeywords?: boolean;
1358
+ onViewAllButtonClick?: (e: MouseEvent<unknown>) => void;
1359
+ pagingType?: HeroPagingType;
1112
1360
  }
1113
1361
  declare const NewsHero: FC<NewsHeroProps>;
1114
1362
 
@@ -1136,27 +1384,52 @@ declare const NewsItemContextProvider: FC<{
1136
1384
  itemId: string;
1137
1385
  }>;
1138
1386
 
1139
- declare const ToolbarNewsLanguageSelector: FC<{
1387
+ declare const PageItemContextProvider: FC<{
1388
+ itemId: string;
1389
+ }>;
1390
+
1391
+ declare const EventItemContextProvider: FC<{
1392
+ itemId: string;
1393
+ }>;
1394
+
1395
+ declare const ToolbarLanguageSelector: FC<{
1140
1396
  showEditLanguagePreferences?: boolean;
1141
1397
  onEditLanguagePreferences?: () => unknown;
1142
1398
  }>;
1143
1399
 
1400
+ declare const ToolbarManageItemButton: FC<{
1401
+ onClick?: (itemId: string) => unknown;
1402
+ }>;
1144
1403
  declare const ToolbarManageNewsItemButton: FC<{
1145
1404
  onClick?: (itemId: string) => unknown;
1146
1405
  }>;
1147
1406
 
1148
- interface NewsDetailPreviewProps {
1407
+ interface SharedItemDetailPreviewProps {
1149
1408
  itemId?: string;
1150
1409
  versionId?: string;
1151
1410
  className?: string;
1411
+ hideLikes?: boolean;
1412
+ hideComments?: boolean;
1152
1413
  }
1153
- declare const NewsDetailPreview: FC<NewsDetailPreviewProps>;
1414
+ declare const NewsDetailPreview: FC<SharedItemDetailPreviewProps>;
1415
+ declare const PageDetailPreview: FC<SharedItemDetailPreviewProps>;
1416
+ declare const EventDetailPreview: FC<SharedItemDetailPreviewProps>;
1154
1417
 
1155
1418
  declare const NewsItemPreviewContextProvider: FC<{
1156
1419
  itemId: string;
1157
1420
  versionId?: string;
1158
1421
  }>;
1159
1422
 
1423
+ declare const PageItemPreviewContextProvider: FC<{
1424
+ itemId: string;
1425
+ versionId?: string;
1426
+ }>;
1427
+
1428
+ declare const EventItemPreviewContextProvider: FC<{
1429
+ itemId: string;
1430
+ versionId?: string;
1431
+ }>;
1432
+
1160
1433
  interface FilterProps {
1161
1434
  filter: IndexableFilterDefinition;
1162
1435
  onChange: (filter: Partial<IndexableFilterDefinition> | null) => void;
@@ -1165,6 +1438,9 @@ interface FilterProps {
1165
1438
  declare const ToolbarFilterPanel: FC<FilterProps>;
1166
1439
 
1167
1440
  interface ChannelFilterProps {
1441
+ /**
1442
+ * For better performance set channel IDs instead of names.
1443
+ */
1168
1444
  channels?: string[];
1169
1445
  className?: string;
1170
1446
  }
@@ -1313,7 +1589,8 @@ interface PagesGridProps {
1313
1589
  maxColumnCount?: number;
1314
1590
  rowCount?: number;
1315
1591
  onItemClick?: (item: PageItem, itemUrl?: string, isTitleClicked?: boolean) => unknown;
1316
- onKeywordClick?: (keyword: string) => unknown;
1592
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
1593
+ hideIntro?: boolean;
1317
1594
  className?: string;
1318
1595
  }
1319
1596
  declare const PagesGrid: FC<PagesGridProps>;
@@ -1323,7 +1600,7 @@ interface PagesListProps {
1323
1600
  searchText?: string;
1324
1601
  itemLayoutMode?: ItemLayoutMode;
1325
1602
  onItemClick?: (item: PageItem, itemUrl?: string, isTitleClicked?: boolean) => void;
1326
- onKeywordClick?: (keyword: string) => void;
1603
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => void;
1327
1604
  hidePlaceholderIfNoBanner?: boolean;
1328
1605
  hidePagination?: boolean;
1329
1606
  pageSize?: number;
@@ -1358,4 +1635,37 @@ interface EventEditorToolbarRecurringControlsProps {
1358
1635
  }
1359
1636
  declare const EventEditorToolbarRecurringControls: FC<EventEditorToolbarRecurringControlsProps>;
1360
1637
 
1361
- export { AuthorFilter, AuthorToolbarFilter, Avatar, Props as AvatarProps, ChannelFilter, ChannelFilterProps, ChannelSelectorWrapper as ChannelSelector, ChannelSelectorWrapperProps as ChannelSelectorProps, ChannelToolbarFilter, ClearAllFiltersButton, ClearAllFiltersButtonProps, ContactToolbarFilter, EditorToolbarIndicators, EditorToolbarIndicatorsProps, EventDatesToolbarFilter, EventDatesToolbarFilterProps, EventDetail, EventDetailProps, EventEditor, EventEditorContextProvider, EventEditorContextProviderProps, EventEditorPanel, EventEditorPanelProps, EventEditorProps, EventEditorToolbarRecurringControls, EventEditorToolbarRecurringControlsProps, EventEditorToolbarStateActions, EventGridProps, EventView, EventsEditorDashboard, EventsEditorDashboardProps, EventsGrid, EventsList, EventsListProps, FilterProps, FilterSearch, FilterWithLogicalOperator, GroupNotificationsSettings, GroupNotificationsSettingsProps, ItemLayoutMode, ItemResourceTypes, Keyword, ScrollableKeywordPicker as KeywordPicker, KeywordPickerProps, KeywordsFilter, KeywordsToolbarFilter, LibNewsFilterDefinition, LogicalOperator, ManageChannels, ManageChannelsProps, NewsDetail, NewsDetailPreview, NewsDetailPreviewProps, NewsDetailProps, NewsEditor, NewsEditorContextProvider, NewsEditorContextProviderProps, NewsEditorDashboard, NewsEditorDashboardProps, NewsEditorPanel, NewsEditorPanelProps, NewsEditorProps, NewsEditorToolbarStateActions, NewsGrid, NewsGridProps, NewsHero, NewsHeroProps, NewsItemContextProvider, NewsItemPreviewContextProvider, NewsList, NewsListProps, PageDetail, PageDetailProps, PageType, PageViewTrackerSettings, PageViewTrackerSettingsContextProvider, PagesGrid, PagesGridProps, PagesList, PagesListProps, PostDetail, PostDetailProps, PostGroupSelector, PostGroupSelectorButton, PostGroupSelectorProps, PostGroupsPicker, PostGroupsPickerProps, PostInputBox, PostInputBoxProps, PostList, PostListContextProvider, PostListContextProviderProps, PostListProps, PublishableItem, PublishingDateFilter, PublishingDateToolbarFilter, ReachContextProps, ReachContextProvider, Dialog as ReachDialog, TargetLinkOverrideContextProvider, Toolbar, ToolbarChannelSelector, ToolbarChannelSelectorOption, ToolbarChannelSelectorProps, ToolbarCloseButton, ToolbarCloseButtonProps, ToolbarEventViewSelector, ToolbarEventViewSelectorProps, ToolbarFilterModal, ToolbarFilterModalButton, ToolbarFilterModalProps, ToolbarFilterPanel, ToolbarFilterSearch, ToolbarFilterToggleButton, ToolbarIconButton, ToolbarIconButtonProps, ToolbarManageNewsItemButton, ToolbarMarkAllEventsAsReadButton, ToolbarMarkAllNewsAsReadButton, ToolbarMarkEventsItemsAsReadButtonProps, ToolbarMarkNewsItemsAsReadButtonProps, ToolbarNewsLanguageSelector, ToolbarPostNotificationButton, ToolbarProps, ToolbarSearchProps, ToolbarUnreadItemsButton, UserDetails, UserDetailsProps, VerticalFilterPanel, VerticalFilterPanelProps, isFilterActive, useCurrentUser };
1638
+ interface PageEditorContextProviderProps {
1639
+ itemId?: string;
1640
+ groupId?: string;
1641
+ parentId?: string;
1642
+ onSuccessfulCreate?: (itemId: string) => void;
1643
+ onSuccessfulDelete?: (itemId: number | string, status: WorkflowStatus) => void;
1644
+ onSuccessfulDeletePermanently?: (itemId: number | string) => void;
1645
+ }
1646
+ declare const PageEditorContextProvider: FC<PageEditorContextProviderProps>;
1647
+
1648
+ interface PageEditorProps {
1649
+ homeBreadcrumbTargetUrl?: string;
1650
+ className?: string;
1651
+ }
1652
+ declare const PageEditor: FC<PageEditorProps>;
1653
+
1654
+ declare const PageEditorToolbarStateActions: FC;
1655
+
1656
+ interface PageEditorPanelProps {
1657
+ className?: string;
1658
+ }
1659
+ declare const PageEditorPanel: FC<PageEditorPanelProps>;
1660
+
1661
+ interface ErrorWrapperProps {
1662
+ errorType: ErrorType;
1663
+ isList?: boolean;
1664
+ }
1665
+ declare const ErrorWrapper: FC<ErrorWrapperProps>;
1666
+
1667
+ declare const ToolbarBookmarkButton: FC<{
1668
+ onClick?: () => unknown;
1669
+ }>;
1670
+
1671
+ export { AuthorFilter, AuthorToolbarFilter, Avatar, Props as AvatarProps, ChannelFilter, ChannelFilterProps, ChannelSelectorWrapper as ChannelSelector, ChannelSelectorWrapperProps as ChannelSelectorProps, ChannelToolbarFilter, ClearAllFiltersButton, ClearAllFiltersButtonProps, ContactToolbarFilter, EditorToolbarIndicators, EditorToolbarIndicatorsProps, ErrorType, ErrorWrapper, ErrorWrapperProps, EventDatesToolbarFilter, EventDatesToolbarFilterProps, EventDetail, EventDetailPreview, EventDetailProps, EventEditor, EventEditorContextProvider, EventEditorContextProviderProps, EventEditorPanel, EventEditorPanelProps, EventEditorProps, EventEditorToolbarRecurringControls, EventEditorToolbarRecurringControlsProps, EventEditorToolbarStateActions, EventGridProps, EventItemContextProvider, EventItemPreviewContextProvider, EventStreamItem, EventView, EventsEditorDashboard, EventsEditorDashboardProps, EventsGrid, EventsList, EventsListProps, FilterProps, FilterSearch, FilterWithLogicalOperator, GroupNotificationsSettings, GroupNotificationsSettingsProps, HeroPagingType, ItemLayoutMode, ItemLoader, ItemResourceTypes, Keyword, ScrollableKeywordPicker as KeywordPicker, KeywordPickerProps, KeywordsFilter, KeywordsToolbarFilter, LibNewsFilterDefinition, LogicalOperator, ManageChannels, ManageChannelsProps, NewsDetail, NewsDetailPreview, NewsDetailProps, NewsEditor, NewsEditorContextProvider, NewsEditorContextProviderProps, NewsEditorDashboard, NewsEditorDashboardProps, NewsEditorPanel, NewsEditorPanelProps, NewsEditorProps, NewsEditorToolbarStateActions, NewsGrid, NewsGridProps, NewsHero, NewsHeroProps, NewsItemContextProvider, NewsItemPreviewContextProvider, NewsList, NewsListProps, NewsStreamItem, PageDetail, PageDetailPreview, PageDetailProps, PageEditor, PageEditorContextProvider, PageEditorContextProviderProps, PageEditorPanel, PageEditorPanelProps, PageEditorProps, PageEditorToolbarStateActions, PageItemContextProvider, PageItemPreviewContextProvider, PageStreamItem, PageType, PageViewTrackerSettings, PageViewTrackerSettingsContextProvider, PagesGrid, PagesGridProps, PagesList, PagesListProps, PostDetail, PostDetailProps, PostGroupSelector, PostGroupSelectorButton, PostGroupSelectorProps, PostGroupsPicker, PostGroupsPickerProps, PostInputBox, PostInputBoxProps, PostList, PostListContextProvider, PostListContextProviderProps, PostListProps, PostStreamItem, PublishableItem, PublishingDateFilter, PublishingDateToolbarFilter, ReachContextProps, ReachContextProvider, LegacyDialog as ReachDialog, SharedItemDetailPreviewProps, TargetLinkOverrideContextProvider, Toolbar, ToolbarBookmarkButton, ToolbarChannelSelector, ToolbarChannelSelectorOption, ToolbarChannelSelectorProps, ToolbarCloseButton, ToolbarCloseButtonProps, ToolbarEventViewSelector, ToolbarEventViewSelectorProps, ToolbarFilterModal, ToolbarFilterModalButton, ToolbarFilterModalProps, ToolbarFilterPanel, ToolbarFilterSearch, ToolbarFilterToggleButton, ToolbarIconButton, ToolbarIconButtonProps, ToolbarLanguageSelector, ToolbarManageButton, ToolbarManageItemButton, ToolbarManageNewsItemButton, ToolbarMarkAllEventsAsReadButton, ToolbarMarkAllNewsAsReadButton, ToolbarMarkEventsItemsAsReadButtonProps, ToolbarMarkNewsItemsAsReadButtonProps, ToolbarLanguageSelector as ToolbarNewsLanguageSelector, ToolbarPostNotificationButton, ToolbarProps, ToolbarSearchProps, ToolbarUnreadItemsButton, UserDetails, UserDetailsProps, VerticalFilterPanel, VerticalFilterPanelProps, VideoSource$1 as VideoSource, isFilterActive, useCurrentUser, useEventsStreamDataLoader, useLazySubscriptionContext, useNewsStreamDataLoader, usePagesStreamDataLoader, usePostsStreamDataLoader };