@livetiles/reach-components-react 0.5.0-preview.103 → 0.5.0-preview.1033

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 +19 -3
  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/FilterCalloutButton.d.ts +5 -5
  47. package/common/filter/LibNewsFilterDefinition.d.ts +7 -0
  48. package/common/hero/Hero.d.ts +9 -11
  49. package/common/hero/HeroPaging.d.ts +5 -0
  50. package/common/hero/HeroSlide.d.ts +18 -5
  51. package/common/hooks/useBannerOnResize.d.ts +5 -0
  52. package/common/utils.d.ts +1 -3
  53. package/cs.async.esm.esm.js +1 -1
  54. package/da.async.esm.esm.js +1 -1
  55. package/da.async.esm2.esm.js +1 -1
  56. package/de-at.async.esm.esm.js +1 -1
  57. package/de.async.esm.esm.js +1 -1
  58. package/de.async.esm2.esm.js +1 -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 +566 -255
  94. package/index.esm.js +1 -1
  95. package/index.esm2.js +131 -29
  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 +940 -33
  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,53 @@ 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
+ /**
45
+ * These properties can be used to define the behavior of the analytics module.
46
+ *
47
+ * With `disableAnalytics` you can completely disable all analytics tracking.
48
+ * The `appName` is optional but highly encouraged to be set,
49
+ * in order to know where the components are used in. The value must be a non-empty string,
50
+ * only containing alphabetical letters and dashes (-). Should not be longer than 30 characters.
51
+ */
52
+ analyticsProps?: {
53
+ appName?: string;
54
+ disableAnalytics?: boolean;
55
+ };
56
+ config?: {
57
+ additionalVideoSources?: VideoSource$1[];
58
+ api3Endpoint?: string;
59
+ apiEndpoint?: string;
60
+ webAppUrl?: string;
61
+ webSocketsEndpoint?: string;
62
+ };
63
+ disableUiFabricThemeOverwrite?: boolean;
64
+ language?: string;
65
+ languageFallback?: 'browser' | 'default';
66
+ locale?: string;
67
+ onRequestToken?: () => Promise<string>;
68
+ subscriptionId: string;
69
+ };
70
+ declare const ReachContextProvider: FC<ReachContextProps>;
71
+
72
+ interface PaginatedList<TItem> {
73
+ items: TItem[];
74
+ paginationToken?: any;
75
+ nextItem?: TItem;
76
+ hasMoreUnreadComments?: boolean;
77
+ hasNextPage?: boolean;
91
78
  }
92
79
 
93
80
  interface BasicUserInformation {
@@ -109,121 +96,45 @@ interface Account extends BasicUserInformation {
109
96
  tenantId?: string;
110
97
  }
111
98
 
112
- interface UserChannelSubscription {
113
- id: string;
114
- name: string;
115
- sendNotifications?: boolean;
116
- isPinnedToNavigation?: boolean;
117
- isMandatory?: boolean;
99
+ interface Resources {
100
+ [language: string]: Record<string, string>;
118
101
  }
119
102
 
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;
103
+ interface LanguageBase {
104
+ code: string;
105
+ }
106
+
107
+ interface KeywordGroup {
108
+ id: string;
109
+ name: string;
110
+ keywords: Keyword[];
111
+ translations: {
112
+ [key: string]: string;
158
113
  };
159
114
  }
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 {
115
+ interface Keyword {
116
+ id: string;
117
+ name: string;
118
+ groupId?: string;
119
+ translations: {
120
+ [key: string]: string;
121
+ };
122
+ }
123
+
124
+ interface Channel {
196
125
  id: string;
197
126
  name: string;
198
127
  translations?: {
199
128
  [key: string]: string;
200
129
  };
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
130
  }
224
131
 
225
- interface LanguageBase {
226
- code: string;
132
+ declare enum ItemResourceTypes {
133
+ News = "news",
134
+ Pages = "pages",
135
+ Posts = "posts",
136
+ Events = "events",
137
+ Comments = "comments"
227
138
  }
228
139
 
229
140
  interface DirectoryConfiguration extends DirectoryConfigurationPatch {
@@ -284,6 +195,7 @@ interface SubscriptionSummary extends BaseSubscription {
284
195
  customDomain?: string;
285
196
  allowSelfRegistration?: boolean;
286
197
  brandFolderConfig?: BrandFolderConfig;
198
+ hideSubscriptionName?: boolean;
287
199
  }
288
200
  interface BrandFolderConfig {
289
201
  sections?: string[];
@@ -314,9 +226,21 @@ interface WebPluginDefinition {
314
226
  subscriptionId?: string;
315
227
  environment?: string;
316
228
  }
317
- interface PluginExtension {
318
- area: string;
319
- componentName: string;
229
+ declare enum ExtensionArea {
230
+ global = "Global",
231
+ page = "Page",
232
+ eventEditorFeedbackSection = "EventEditorFeedbackSection",
233
+ eventDetailViewSection = "EventDetailViewSection",
234
+ itemEditor = "ItemEditor",
235
+ newsEditorFeedbackSection = "NewsEditorFeedbackSection",
236
+ newsOverviewCardSection = "NewsOverviewCardSection"
237
+ }
238
+ declare type InlinePlugin = {
239
+ area: ExtensionArea.itemEditor;
240
+ objectButton: PluginObjectButton;
241
+ };
242
+ declare type PagePlugin = {
243
+ area: ExtensionArea.page;
320
244
  route: string;
321
245
  navigationNode?: {
322
246
  componentName?: string;
@@ -326,7 +250,20 @@ interface PluginExtension {
326
250
  [key: string]: string;
327
251
  };
328
252
  };
329
- }
253
+ };
254
+ declare type PluginExtension = {
255
+ area: ExtensionArea;
256
+ componentName: string;
257
+ } & (InlinePlugin | PagePlugin);
258
+ declare type PluginObjectButton = {
259
+ buttonLabel: {
260
+ defaultLabel: string;
261
+ translations?: {
262
+ [key: string]: string;
263
+ };
264
+ };
265
+ iconName: string;
266
+ };
330
267
  interface PluginNotificationDefinitions {
331
268
  key: string;
332
269
  title: string;
@@ -360,21 +297,120 @@ declare enum FieldMode {
360
297
  Hidden = 3
361
298
  }
362
299
 
363
- interface Channel {
300
+ interface UserChannelSubscription {
301
+ id: string;
302
+ name: string;
303
+ sendNotifications?: boolean;
304
+ isPinnedToNavigation?: boolean;
305
+ isMandatory?: boolean;
306
+ }
307
+
308
+ interface PublishableItemNotificationSummary {
309
+ itemId: string;
310
+ title?: string;
311
+ channelIds?: string[];
312
+ publishingDate?: string;
313
+ }
314
+ declare enum GroupRoleNames {
315
+ Admin = "Admin",
316
+ Editor = "Editor",
317
+ Author = "Author",
318
+ Reader = "Reader",
319
+ LimitedReader = "LimitedReader",
320
+ None = "None"
321
+ }
322
+ declare enum GroupRoles {
323
+ None = 0,
324
+ LimitedReader = 5,
325
+ Reader = 10,
326
+ Author = 20,
327
+ Editor = 30,
328
+ Admin = 40
329
+ }
330
+ declare enum NotificationType {
331
+ None = 0,
332
+ MobilePush = 1,
333
+ Email = 2,
334
+ Teams = 4,
335
+ BrowserPush = 8
336
+ }
337
+ interface NotificationTypeSettings {
338
+ news: NotificationType;
339
+ posts: NotificationType;
340
+ comments: NotificationType;
341
+ mentions: NotificationType;
342
+ events: NotificationType;
343
+ chat: NotificationType;
344
+ pluginNotifications: {
345
+ [key: string]: NotificationType;
346
+ };
347
+ newsEditor: NotificationType;
348
+ eventEditor: NotificationType;
349
+ }
350
+ interface CurrentUser extends Account {
351
+ isEmailVerificationPending?: boolean;
352
+ isSubscriptionOwner: boolean;
353
+ givenName: string;
354
+ surname: string;
355
+ preferredUiLanguage: string;
356
+ preferredContentLanguage?: string;
357
+ preferredLocale?: string;
358
+ bookmarks: string[];
359
+ groups: UserGroup[];
360
+ subscription: SubscriptionSummary;
361
+ availableSubscriptions: SubscriptionSummary[];
362
+ channels: UserChannelSubscription[];
363
+ userHash: string;
364
+ unreadNews: PublishableItemNotificationSummary[];
365
+ unreadEvents: PublishableItemNotificationSummary[];
366
+ unreadPosts: {
367
+ groupId: string;
368
+ itemId: string;
369
+ }[];
370
+ unreadFeedItemsCount?: number;
371
+ mostRecentPostGroups: string[];
372
+ notificationTypeSettings: NotificationTypeSettings;
373
+ hasPendingRegistration?: boolean;
374
+ minRoles: UserMinRoles;
375
+ hasDirectory: boolean;
376
+ contacts: UserContact[];
377
+ termsAndConditionsApprovedHash: string;
378
+ isPublicUser?: boolean;
379
+ hasUnreadChats?: boolean;
380
+ publicSubscriptionIds?: string[];
381
+ }
382
+ interface UserContact {
383
+ tokenUniqueId: string;
384
+ tenantId: string;
385
+ }
386
+ interface GroupBase {
364
387
  id: string;
365
388
  name: string;
366
389
  translations?: {
367
390
  [key: string]: string;
368
391
  };
369
- }
370
-
371
- interface Keyword {
372
- id: string;
373
- name: string;
374
- groupId?: string;
375
- translations: {
376
- [key: string]: string;
377
- };
392
+ }
393
+ interface UserGroup extends GroupBase {
394
+ allowPosts: boolean;
395
+ disablePostComments: boolean;
396
+ availableChannelIds: string[];
397
+ defaultChannelIds: string[];
398
+ mandatoryChannelIds: string[];
399
+ availableKeywordIds: string[];
400
+ defaultKeywordIds: string[];
401
+ mandatoryKeywordIds: string[];
402
+ role: UserGroupRole;
403
+ }
404
+ interface UserMinRoles {
405
+ isEditor: boolean;
406
+ isAuthor: boolean;
407
+ isAdmin: boolean;
408
+ isReader: boolean;
409
+ isSubscriptionOwner: boolean;
410
+ }
411
+ interface UserGroupRole {
412
+ roleValue: GroupRoles;
413
+ displayName: GroupRoleNames;
378
414
  }
379
415
 
380
416
  interface ItemStatistics {
@@ -411,7 +447,7 @@ declare enum KnownNewsState {
411
447
  declare type VersionId = string;
412
448
  interface SchedulableItem extends PublishableItem {
413
449
  metadata?: NewsMetadata;
414
- channels?: SchedulableItemChannel[];
450
+ channels?: Channel[];
415
451
  }
416
452
  interface NewsItem extends SchedulableItem {
417
453
  source?: string;
@@ -419,20 +455,11 @@ interface NewsItem extends SchedulableItem {
419
455
  expiryDate?: string;
420
456
  knownState: KnownNewsState;
421
457
  hasNewComments?: boolean;
422
- isLiked?: boolean;
423
- shareToken?: ShareToken;
424
- }
425
- interface ShareToken {
426
- published?: string;
427
- preview?: string;
428
458
  }
429
459
  interface NewsItemAlertOptions {
430
460
  duration?: string;
431
461
  endDate?: Date;
432
462
  expireAfter?: boolean;
433
- }
434
- interface SchedulableItemChannel {
435
- name: string;
436
463
  }
437
464
 
438
465
  declare enum VideoSource {
@@ -447,6 +474,19 @@ interface BaseItem {
447
474
  id?: string;
448
475
  statistics?: ItemStatistics;
449
476
  poll?: Poll;
477
+ searchHighlights?: SearchHighlightSummary;
478
+ }
479
+ interface SearchHighlightSummary {
480
+ title: SearchHighlight[];
481
+ content: SearchHighlight[];
482
+ }
483
+ interface SearchHighlight {
484
+ language: string;
485
+ texts: {
486
+ value: string;
487
+ type: 'text' | 'hit';
488
+ }[];
489
+ score: number;
450
490
  }
451
491
  interface Poll {
452
492
  questions: PollQuestion[];
@@ -481,7 +521,6 @@ interface PublishableItemContent extends ContentDefinition {
481
521
  headline?: string;
482
522
  intro?: string;
483
523
  body?: string;
484
- bodyRaw?: string;
485
524
  customProperties?: {
486
525
  [key: string]: any;
487
526
  };
@@ -546,6 +585,7 @@ interface PublishableItem extends BaseItem {
546
585
  statistics?: ItemStatistics;
547
586
  useExternalContent?: boolean;
548
587
  isDemoContent?: boolean;
588
+ isLiked?: boolean;
549
589
  }
550
590
  interface PollTranslation {
551
591
  questions: QuestionTranslations[];
@@ -571,7 +611,8 @@ declare enum AttachmentType {
571
611
  Event = 5,
572
612
  Page = 6,
573
613
  Post = 7,
574
- Giphy = 8
614
+ Giphy = 8,
615
+ MicrosoftStreamVideo = 9
575
616
  }
576
617
  interface BaseAttachment {
577
618
  id: string;
@@ -587,6 +628,19 @@ interface Attachment extends BaseAttachment {
587
628
  type: AttachmentType;
588
629
  }
589
630
 
631
+ declare enum GraphQLAttachmentType {
632
+ Image = "IMAGE",
633
+ File = "FILE",
634
+ YouTubeVideo = "YOU_TUBE_VIDEO",
635
+ VimeoVideo = "VIMEO_VIDEO",
636
+ News = "NEWS",
637
+ Event = "EVENT",
638
+ Page = "PAGE",
639
+ Post = "POST",
640
+ Giphy = "GIPHY",
641
+ MicrosoftStreamVideo = "MICROSOFT_STREAM_VIDEO"
642
+ }
643
+
590
644
  interface ItemWithAttachments {
591
645
  attachments?: Attachment[];
592
646
  fileAccessToken?: string;
@@ -597,6 +651,7 @@ interface Comment extends ItemWithAttachments {
597
651
  id: string;
598
652
  parentItemId: string;
599
653
  content: string;
654
+ formattedContent?: string;
600
655
  contentLanguageCode?: string;
601
656
  receivedDateTime: string;
602
657
  sender: Account;
@@ -619,14 +674,6 @@ declare enum ConversationScope {
619
674
  Posts = 2
620
675
  }
621
676
 
622
- declare enum ItemResourceTypes {
623
- News = "news",
624
- Pages = "pages",
625
- Posts = "posts",
626
- Events = "events",
627
- Comments = "comments"
628
- }
629
-
630
677
  declare enum EventResponse {
631
678
  NotSet = 0,
632
679
  Registered = 1,
@@ -647,6 +694,7 @@ interface EventItem extends SchedulableItem {
647
694
  recurrenceSeriesId?: string;
648
695
  isSeriesMaster?: string;
649
696
  isVirtual?: boolean;
697
+ isAllDayEvent?: boolean;
650
698
  }
651
699
  interface EventRegistrationSettings {
652
700
  enabled?: boolean;
@@ -736,6 +784,7 @@ interface PageItem extends PublishableItem {
736
784
  isUnlinked?: boolean;
737
785
  pageType?: PageType;
738
786
  firstChildId?: string;
787
+ isGroupInheritanceBroken?: boolean;
739
788
  }
740
789
  interface ContentsSummary {
741
790
  [lang: string]: TitleContent & {
@@ -757,6 +806,7 @@ interface PageNavigationNode {
757
806
  hasAnyPageChild?: boolean;
758
807
  pageType?: PageType;
759
808
  useExternalContent?: boolean;
809
+ isGroupInheritanceBroken?: boolean;
760
810
  isSearchMatch?: boolean;
761
811
  topLevelFolderName?: string;
762
812
  uploadToken?: string;
@@ -771,7 +821,65 @@ declare enum PageType {
771
821
  Document = 1
772
822
  }
773
823
 
774
- declare const Dialog: FC<IDialogProps>;
824
+ declare type KeywordsByGroupId = {
825
+ [key: string]: Keyword[];
826
+ };
827
+
828
+ interface SubscriptionData {
829
+ channels?: Channel[];
830
+ allKeywords?: Keyword[];
831
+ keywordsByGroupId?: KeywordsByGroupId;
832
+ selectedKeywordGroups?: KeywordGroup[];
833
+ }
834
+ interface LazySubscriptionContextType extends SubscriptionData {
835
+ getChannels: () => Promise<Channel[]>;
836
+ refreshSubscription: () => void;
837
+ }
838
+
839
+ declare function useLazySubscriptionContext(): LazySubscriptionContextType;
840
+
841
+ interface NewsDetailProps {
842
+ itemId?: string;
843
+ hideComments?: boolean;
844
+ hideLikes?: boolean;
845
+ preventExternalContentAutoRedirect?: boolean;
846
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
847
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
848
+ className?: string;
849
+ }
850
+ declare const NewsDetail: FC<NewsDetailProps>;
851
+
852
+ interface PageDetailProps {
853
+ itemId?: string;
854
+ hideComments?: boolean;
855
+ hideLikes?: boolean;
856
+ preventExternalContentAutoRedirect?: boolean;
857
+ homeBreadcrumbTargetUrl?: string;
858
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
859
+ className?: string;
860
+ }
861
+ declare const PageDetail: FC<PageDetailProps>;
862
+
863
+ interface EventDetailProps {
864
+ itemId?: string;
865
+ hideComments?: boolean;
866
+ hideLikes?: boolean;
867
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
868
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
869
+ className?: string;
870
+ }
871
+ declare const EventDetail: FC<EventDetailProps>;
872
+
873
+ interface PostDetailProps {
874
+ postId: string;
875
+ threadId?: string;
876
+ onAfterDelete?: (id: string) => unknown;
877
+ commentCount?: number;
878
+ onItemClick?: (postId: string) => unknown;
879
+ }
880
+ declare const PostDetail: FC<PostDetailProps>;
881
+
882
+ declare const LegacyDialog: FC<IDialogProps>;
775
883
 
776
884
  interface ToolbarProps {
777
885
  leftSide?: ReactNode;
@@ -788,15 +896,21 @@ interface ToolbarSearchProps {
788
896
  }
789
897
  declare const Toolbar: FC<ToolbarProps>;
790
898
 
899
+ declare type TokenType = string | number;
900
+
901
+ interface ItemLoader<TItem, TTokenType extends TokenType> {
902
+ (pageSize: number, token?: TTokenType): Promise<PaginatedList<TItem>>;
903
+ }
904
+
791
905
  interface ToolbarChannelSelectorProps {
792
- getInitialSelectedKey?: (dropdownOptions: IDropdownOption[]) => string;
793
906
  allChannelsOption?: ToolbarChannelSelectorOption;
907
+ bookmarkOption?: ToolbarChannelSelectorOption;
794
908
  channelsOptions?: {
795
909
  availableChannels?: string[];
796
910
  onSelected?: (channel: Channel) => unknown;
797
911
  to?: (channel: Channel) => unknown;
798
912
  };
799
- bookmarkOption?: ToolbarChannelSelectorOption;
913
+ getInitialSelectedKey?: (dropdownOptions: IDropdownOption[]) => string;
800
914
  manageChannelsOption?: ToolbarChannelSelectorOption;
801
915
  }
802
916
  interface ToolbarChannelSelectorOption {
@@ -833,6 +947,15 @@ declare const ToolbarUnreadItemsButton: FC<{
833
947
  onClick: () => unknown;
834
948
  }>;
835
949
 
950
+ declare const ToolbarManageButton: FC<{
951
+ onClick?: () => unknown;
952
+ to?: {
953
+ url: string;
954
+ target?: string;
955
+ };
956
+ disabled?: boolean;
957
+ }>;
958
+
836
959
  interface ToolbarCloseButtonProps {
837
960
  onClick?: () => unknown;
838
961
  to?: {
@@ -861,8 +984,10 @@ declare const ToolbarEventViewSelector: FC<ToolbarEventViewSelectorProps>;
861
984
  interface Props extends IPersonaProps {
862
985
  upn: string;
863
986
  tenantId?: string;
864
- className?: string;
865
987
  displayName?: string;
988
+ forceShowSecondaryText?: boolean;
989
+ className?: string;
990
+ ignoreOverrides?: boolean;
866
991
  }
867
992
  declare const Avatar: FC<Props>;
868
993
 
@@ -873,6 +998,13 @@ interface UserDetailsProps {
873
998
  }
874
999
  declare const UserDetails: FC<UserDetailsProps>;
875
1000
 
1001
+ declare enum ErrorType {
1002
+ GenericError = "genericError",
1003
+ Error404 = "error404",
1004
+ Error403 = "error403",
1005
+ LoginError = "loginError"
1006
+ }
1007
+
876
1008
  interface PageViewTrackerSettings {
877
1009
  disabled?: boolean;
878
1010
  }
@@ -919,6 +1051,32 @@ declare enum LogicalOperator {
919
1051
  And = "AND"
920
1052
  }
921
1053
 
1054
+ interface Post extends BaseItem, ItemWithAttachments {
1055
+ id: string;
1056
+ comments?: PaginatedList<Comment>;
1057
+ groupId: string;
1058
+ content: string;
1059
+ permalink?: string;
1060
+ author: Account;
1061
+ publishingDate: string;
1062
+ modified?: string;
1063
+ statistics: ItemStatistics;
1064
+ keywords?: {
1065
+ [key: string]: Keyword[];
1066
+ };
1067
+ contentLanguageCode?: string;
1068
+ isLiked?: boolean;
1069
+ isUnread?: boolean;
1070
+ isDemoContent?: boolean;
1071
+ isFollowing?: boolean;
1072
+ }
1073
+ interface PostFilterDefinition {
1074
+ token?: string;
1075
+ pageSize?: string;
1076
+ search?: string;
1077
+ keywords?: FilterWithLogicalOperator;
1078
+ }
1079
+
922
1080
  interface AuthorFilterDefinition extends IndexableFilterDefinition {
923
1081
  author?: string;
924
1082
  }
@@ -927,6 +1085,20 @@ interface ChannelsFilterDefinition extends IndexableFilterDefinition {
927
1085
  channels?: FilterWithLogicalOperator;
928
1086
  }
929
1087
 
1088
+ interface EventContactsFilterDefinition extends IndexableFilterDefinition {
1089
+ contacts?: string[];
1090
+ }
1091
+
1092
+ interface EventsStartDateFilterDefinition extends IndexableFilterDefinition {
1093
+ startsAfter?: string;
1094
+ startsBefore?: string;
1095
+ }
1096
+
1097
+ interface EventFilterDefinition extends PublishableItemFilterDefinition, EventContactsFilterDefinition, EventsStartDateFilterDefinition, ChannelsFilterDefinition {
1098
+ excludePastEvents?: boolean;
1099
+ pastEventsOnly?: boolean;
1100
+ }
1101
+
930
1102
  interface StateFilterDefinition extends IndexableFilterDefinition {
931
1103
  state?: WorkflowStatus;
932
1104
  }
@@ -938,26 +1110,90 @@ interface NewsFilterDefinition extends PublishableItemFilterDefinition, AuthorFi
938
1110
  includeExpired?: boolean;
939
1111
  }
940
1112
 
1113
+ declare enum StreamEventResponse {
1114
+ NotSet = "NOTSET",
1115
+ Registered = "REGISTERED",
1116
+ Declined = "DECLINED"
1117
+ }
1118
+
1119
+ declare enum StreamItemTypes {
1120
+ Post = "POST",
1121
+ News = "NEWS",
1122
+ Event = "EVENT",
1123
+ Page = "PAGE"
1124
+ }
1125
+ declare enum StreamConversationScope {
1126
+ Public = "PUBLIC",
1127
+ Editor = "EDITOR",
1128
+ Posts = "POSTS"
1129
+ }
1130
+ interface PostStreamItem extends Post {
1131
+ type: StreamItemTypes.Post;
1132
+ isUnread: boolean;
1133
+ keywordsList?: Keyword[];
1134
+ groupIds?: string[];
1135
+ postAttachments?: StreamAttachment[];
1136
+ postComments?: PaginatedList<StreamPostComment>;
1137
+ hasMoreUnreadComments: boolean;
1138
+ }
1139
+ interface StreamPostComment extends Comment {
1140
+ postCommentAttachments?: StreamAttachment[];
1141
+ streamConversationScope?: StreamConversationScope;
1142
+ }
1143
+ interface StreamAttachment extends BaseAttachment {
1144
+ type: GraphQLAttachmentType;
1145
+ }
1146
+ interface NewsStreamItem extends NewsItem {
1147
+ type: StreamItemTypes.News;
1148
+ contentsList: StreamPublishableItemContents[];
1149
+ channelsList: Channel[];
1150
+ isUnread: boolean;
1151
+ keywordsList?: Keyword[];
1152
+ knownNewsState?: StreamKnownNewsState[];
1153
+ }
1154
+ declare enum StreamKnownNewsState {
1155
+ Unconfirmed = "UNCONFIRMED",
1156
+ Alert = "ALERT"
1157
+ }
1158
+ interface EventStreamItem extends EventItem {
1159
+ type: StreamItemTypes.Event;
1160
+ contentsList: StreamPublishableItemContents[];
1161
+ channelsList: Channel[];
1162
+ isUnread: boolean;
1163
+ keywordsList?: Keyword[];
1164
+ userResponseType?: StreamEventResponse;
1165
+ eventCancelInformation?: StreamEventCancelInformation;
1166
+ }
1167
+ interface PageStreamItem extends PageItem {
1168
+ type: StreamItemTypes.Page;
1169
+ contentsList: StreamPublishableItemContents[];
1170
+ channelsList: Channel[];
1171
+ isUnread: boolean;
1172
+ keywordsList?: Keyword[];
1173
+ streamPageType?: string;
1174
+ path?: (PageNavigationNode & {
1175
+ parentId?: string;
1176
+ contentsList: StreamPublishableItemContents[];
1177
+ })[];
1178
+ }
1179
+ interface StreamPublishableItemContents {
1180
+ language: string;
1181
+ title: string;
1182
+ intro?: string;
1183
+ headline?: string;
1184
+ }
1185
+ interface StreamEventCancelInformation extends EventCancelInformation {
1186
+ cancellationReasons?: {
1187
+ [key: string]: string;
1188
+ }[];
1189
+ }
1190
+
941
1191
  interface TargetLinkOverrideContextProps {
942
1192
  onResolveContentTargetUrl: (itemId: string, itemType: ItemResourceTypes) => string;
943
1193
  onResolveEmbeddedContentTargetUrl?: (itemId: string, itemType: ItemResourceTypes) => string;
944
1194
  }
945
1195
  declare const TargetLinkOverrideContextProvider: FC<TargetLinkOverrideContextProps>;
946
1196
 
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
1197
  interface KeywordPickerProps {
962
1198
  value?: Keyword[] | string[];
963
1199
  onChange: (keywords: Keyword[], logicalOperator?: LogicalOperator) => void;
@@ -978,37 +1214,26 @@ interface PageFilterDefinition extends PublishableItemFilterDefinition {
978
1214
  pageType?: PageType;
979
1215
  }
980
1216
 
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
- }
1217
+ declare function useNewsStreamDataLoader(filter?: NewsFilterDefinition, searchText?: string, includeAllItems?: boolean): ItemLoader<NewsStreamItem, number>;
1218
+
1219
+ declare function useEventsStreamDataLoader(filter?: EventFilterDefinition, searchText?: string, view?: EventView): ItemLoader<EventStreamItem, number>;
1006
1220
 
1007
1221
  interface PostStreamFilterDefinition extends PostFilterDefinition, BeforePublishingDateFilterDefinition, AuthorFilterDefinition {
1008
1222
  }
1009
1223
 
1224
+ declare function usePostsStreamDataLoader(groupId?: string, filter?: PostStreamFilterDefinition, searchText?: string): ItemLoader<PostStreamItem, number>;
1225
+
1226
+ declare function usePagesStreamDataLoader(filter?: PageFilterDefinition, searchText?: string): ItemLoader<PageStreamItem, number>;
1227
+
1010
1228
  interface LibNewsFilterDefinition extends Omit<NewsFilterDefinition, 'channels' | 'keywords'> {
1229
+ /**
1230
+ * Limit results to those associated with the given channels.
1231
+ * For better performance set channel IDs instead of names.
1232
+ */
1011
1233
  channels?: string | FilterWithLogicalOperator;
1234
+ /**
1235
+ * Limit results to those associated with given keywords (keyword IDs)
1236
+ */
1012
1237
  keywords?: string | FilterWithLogicalOperator;
1013
1238
  }
1014
1239
 
@@ -1021,17 +1246,23 @@ interface NewsListProps {
1021
1246
  searchText?: string;
1022
1247
  itemLayoutMode?: ItemLayoutMode;
1023
1248
  onItemClick?: (item: NewsItem, itemUrl?: string, isTitleClicked?: boolean) => unknown;
1024
- onChannelClick?: (channel: string) => unknown;
1025
- onKeywordClick?: (keyword: string) => unknown;
1249
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1250
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
1026
1251
  hidePlaceholderIfNoBanner?: boolean;
1027
1252
  hidePagination?: boolean;
1028
1253
  pageSize?: number;
1029
1254
  includeAllItems?: boolean;
1255
+ cardsGap?: number;
1256
+ contentGap?: number;
1257
+ bannerSize?: number;
1258
+ showDateOnBottom?: boolean;
1259
+ showDateAsRelative?: boolean;
1030
1260
  className?: string;
1031
1261
  }
1032
1262
  declare const NewsList: FC<NewsListProps>;
1033
1263
 
1034
1264
  interface ManageChannelsProps {
1265
+ hideSearch?: boolean;
1035
1266
  className?: string;
1036
1267
  }
1037
1268
  declare const ManageChannels: FC<ManageChannelsProps>;
@@ -1039,6 +1270,9 @@ declare const ManageChannels: FC<ManageChannelsProps>;
1039
1270
  interface ChannelSelectorWrapperProps {
1040
1271
  onChannelsChanged: (channels: Channel[], logicalOperator?: LogicalOperator) => void;
1041
1272
  showLogicalOperatorOptions?: boolean;
1273
+ /**
1274
+ * For better performance set channel IDs instead of names.
1275
+ */
1042
1276
  defaultSelectedChannels?: string[] | FilterWithLogicalOperator;
1043
1277
  className?: string;
1044
1278
  }
@@ -1055,10 +1289,11 @@ interface NewsGridProps {
1055
1289
  maxColumnCount?: number;
1056
1290
  rowCount?: number;
1057
1291
  onItemClick?: (item: NewsItem, itemUrl?: string, isTitleClicked?: boolean) => unknown;
1058
- onChannelClick?: (channel: string) => unknown;
1059
- onKeywordClick?: (keyword: string) => unknown;
1292
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1293
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
1060
1294
  includeAllItems?: boolean;
1061
1295
  className?: string;
1296
+ hideIntro?: boolean;
1062
1297
  }
1063
1298
  declare const NewsGrid: FC<NewsGridProps>;
1064
1299
 
@@ -1074,7 +1309,7 @@ interface EventGridProps {
1074
1309
  maxColumnCount?: number;
1075
1310
  rowCount?: number;
1076
1311
  onItemClick?: (item: EventItem, itemUrl?: string) => unknown;
1077
- onChannelClick?: (channel: string) => unknown;
1312
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1078
1313
  className?: string;
1079
1314
  }
1080
1315
  declare const EventsGrid: FC<EventGridProps>;
@@ -1085,7 +1320,7 @@ interface EventsListProps {
1085
1320
  searchText?: string;
1086
1321
  itemLayoutMode?: ItemLayoutMode;
1087
1322
  onItemClick?: (item: EventItem, itemUrl?: string) => unknown;
1088
- onChannelClick?: (channel: string) => unknown;
1323
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1089
1324
  hidePlaceholderIfNoBanner?: boolean;
1090
1325
  hidePagination?: boolean;
1091
1326
  pageSize?: number;
@@ -1093,8 +1328,20 @@ interface EventsListProps {
1093
1328
  }
1094
1329
  declare const EventsList: FC<EventsListProps>;
1095
1330
 
1331
+ declare enum HeroPagingType {
1332
+ page = "page",
1333
+ item = "item"
1334
+ }
1335
+
1096
1336
  interface NewsHeroFilterProps {
1337
+ /**
1338
+ * Limit results to those associated with the given channels.
1339
+ * For better performance set channel IDs instead of names.
1340
+ */
1097
1341
  channels?: string | FilterWithLogicalOperator;
1342
+ /**
1343
+ * Limit results to those associated with given keywords (keyword IDs)
1344
+ */
1098
1345
  keywords?: string | FilterWithLogicalOperator;
1099
1346
  pageSize?: number;
1100
1347
  }
@@ -1106,9 +1353,11 @@ interface NewsHeroProps {
1106
1353
  width?: number | string;
1107
1354
  height?: number | string;
1108
1355
  includeAllItems?: boolean;
1109
- onChannelClick?: (channel: string) => unknown;
1110
- onKeywordClick?: (keyword: string) => unknown;
1356
+ onChannelClick?: (channelName: string, channelItem?: Channel) => unknown;
1357
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
1111
1358
  showKeywords?: boolean;
1359
+ onViewAllButtonClick?: (e: MouseEvent<unknown>) => void;
1360
+ pagingType?: HeroPagingType;
1112
1361
  }
1113
1362
  declare const NewsHero: FC<NewsHeroProps>;
1114
1363
 
@@ -1136,27 +1385,52 @@ declare const NewsItemContextProvider: FC<{
1136
1385
  itemId: string;
1137
1386
  }>;
1138
1387
 
1139
- declare const ToolbarNewsLanguageSelector: FC<{
1388
+ declare const PageItemContextProvider: FC<{
1389
+ itemId: string;
1390
+ }>;
1391
+
1392
+ declare const EventItemContextProvider: FC<{
1393
+ itemId: string;
1394
+ }>;
1395
+
1396
+ declare const ToolbarLanguageSelector: FC<{
1140
1397
  showEditLanguagePreferences?: boolean;
1141
1398
  onEditLanguagePreferences?: () => unknown;
1142
1399
  }>;
1143
1400
 
1401
+ declare const ToolbarManageItemButton: FC<{
1402
+ onClick?: (itemId: string) => unknown;
1403
+ }>;
1144
1404
  declare const ToolbarManageNewsItemButton: FC<{
1145
1405
  onClick?: (itemId: string) => unknown;
1146
1406
  }>;
1147
1407
 
1148
- interface NewsDetailPreviewProps {
1408
+ interface SharedItemDetailPreviewProps {
1149
1409
  itemId?: string;
1150
1410
  versionId?: string;
1151
1411
  className?: string;
1412
+ hideLikes?: boolean;
1413
+ hideComments?: boolean;
1152
1414
  }
1153
- declare const NewsDetailPreview: FC<NewsDetailPreviewProps>;
1415
+ declare const NewsDetailPreview: FC<SharedItemDetailPreviewProps>;
1416
+ declare const PageDetailPreview: FC<SharedItemDetailPreviewProps>;
1417
+ declare const EventDetailPreview: FC<SharedItemDetailPreviewProps>;
1154
1418
 
1155
1419
  declare const NewsItemPreviewContextProvider: FC<{
1156
1420
  itemId: string;
1157
1421
  versionId?: string;
1158
1422
  }>;
1159
1423
 
1424
+ declare const PageItemPreviewContextProvider: FC<{
1425
+ itemId: string;
1426
+ versionId?: string;
1427
+ }>;
1428
+
1429
+ declare const EventItemPreviewContextProvider: FC<{
1430
+ itemId: string;
1431
+ versionId?: string;
1432
+ }>;
1433
+
1160
1434
  interface FilterProps {
1161
1435
  filter: IndexableFilterDefinition;
1162
1436
  onChange: (filter: Partial<IndexableFilterDefinition> | null) => void;
@@ -1165,6 +1439,9 @@ interface FilterProps {
1165
1439
  declare const ToolbarFilterPanel: FC<FilterProps>;
1166
1440
 
1167
1441
  interface ChannelFilterProps {
1442
+ /**
1443
+ * For better performance set channel IDs instead of names.
1444
+ */
1168
1445
  channels?: string[];
1169
1446
  className?: string;
1170
1447
  }
@@ -1313,7 +1590,8 @@ interface PagesGridProps {
1313
1590
  maxColumnCount?: number;
1314
1591
  rowCount?: number;
1315
1592
  onItemClick?: (item: PageItem, itemUrl?: string, isTitleClicked?: boolean) => unknown;
1316
- onKeywordClick?: (keyword: string) => unknown;
1593
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => unknown;
1594
+ hideIntro?: boolean;
1317
1595
  className?: string;
1318
1596
  }
1319
1597
  declare const PagesGrid: FC<PagesGridProps>;
@@ -1323,7 +1601,7 @@ interface PagesListProps {
1323
1601
  searchText?: string;
1324
1602
  itemLayoutMode?: ItemLayoutMode;
1325
1603
  onItemClick?: (item: PageItem, itemUrl?: string, isTitleClicked?: boolean) => void;
1326
- onKeywordClick?: (keyword: string) => void;
1604
+ onKeywordClick?: (keywordId: string, keywordItem?: Keyword) => void;
1327
1605
  hidePlaceholderIfNoBanner?: boolean;
1328
1606
  hidePagination?: boolean;
1329
1607
  pageSize?: number;
@@ -1358,4 +1636,37 @@ interface EventEditorToolbarRecurringControlsProps {
1358
1636
  }
1359
1637
  declare const EventEditorToolbarRecurringControls: FC<EventEditorToolbarRecurringControlsProps>;
1360
1638
 
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 };
1639
+ interface PageEditorContextProviderProps {
1640
+ itemId?: string;
1641
+ groupId?: string;
1642
+ parentId?: string;
1643
+ onSuccessfulCreate?: (itemId: string) => void;
1644
+ onSuccessfulDelete?: (itemId: number | string, status: WorkflowStatus) => void;
1645
+ onSuccessfulDeletePermanently?: (itemId: number | string) => void;
1646
+ }
1647
+ declare const PageEditorContextProvider: FC<PageEditorContextProviderProps>;
1648
+
1649
+ interface PageEditorProps {
1650
+ homeBreadcrumbTargetUrl?: string;
1651
+ className?: string;
1652
+ }
1653
+ declare const PageEditor: FC<PageEditorProps>;
1654
+
1655
+ declare const PageEditorToolbarStateActions: FC;
1656
+
1657
+ interface PageEditorPanelProps {
1658
+ className?: string;
1659
+ }
1660
+ declare const PageEditorPanel: FC<PageEditorPanelProps>;
1661
+
1662
+ interface ErrorWrapperProps {
1663
+ errorType: ErrorType;
1664
+ isList?: boolean;
1665
+ }
1666
+ declare const ErrorWrapper: FC<ErrorWrapperProps>;
1667
+
1668
+ declare const ToolbarBookmarkButton: FC<{
1669
+ onClick?: () => unknown;
1670
+ }>;
1671
+
1672
+ 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 };