botframework-webchat-api 4.18.1-main.20260511.8fcd02a → 4.18.1

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 (924) hide show
  1. package/decorator.js +1 -1
  2. package/dist/botframework-webchat-api.d.mts +1250 -173
  3. package/dist/botframework-webchat-api.decorator.d.mts +26 -71
  4. package/dist/botframework-webchat-api.decorator.mjs +2 -1
  5. package/dist/botframework-webchat-api.decorator.mjs.LEGAL.txt +0 -0
  6. package/dist/botframework-webchat-api.decorator.mjs.map +1 -1
  7. package/dist/botframework-webchat-api.internal.d.mts +1 -66
  8. package/dist/botframework-webchat-api.internal.mjs +2 -1
  9. package/dist/botframework-webchat-api.internal.mjs.LEGAL.txt +0 -0
  10. package/dist/botframework-webchat-api.internal.mjs.map +1 -1
  11. package/dist/botframework-webchat-api.mjs +139 -1
  12. package/dist/botframework-webchat-api.mjs.LEGAL.txt +27 -2
  13. package/dist/botframework-webchat-api.mjs.map +1 -1
  14. package/dist/chunk-2S76JUVM.mjs +3 -0
  15. package/dist/chunk-2S76JUVM.mjs.LEGAL.txt +0 -0
  16. package/dist/chunk-2S76JUVM.mjs.map +1 -0
  17. package/dist/{chunk-VAX7AB37.mjs → chunk-J6D5YEY6.mjs} +2 -1
  18. package/dist/chunk-J6D5YEY6.mjs.LEGAL.txt +0 -0
  19. package/dist/chunk-ZAMHKQQC.mjs +3 -0
  20. package/dist/chunk-ZAMHKQQC.mjs.LEGAL.txt +0 -0
  21. package/dist/chunk-ZAMHKQQC.mjs.map +1 -0
  22. package/dist/metafile-esm.json +1 -1
  23. package/internal.js +1 -1
  24. package/lib/StyleOptions.d.ts +697 -0
  25. package/lib/StyleOptions.d.ts.map +1 -0
  26. package/lib/StyleOptions.js +2 -0
  27. package/lib/decorator/index.d.ts +5 -0
  28. package/lib/decorator/index.d.ts.map +1 -0
  29. package/lib/decorator/index.js +28 -0
  30. package/lib/decorator/private/ActivityBorderDecoratorMiddleware.d.ts +27 -0
  31. package/lib/decorator/private/ActivityBorderDecoratorMiddleware.d.ts.map +1 -0
  32. package/lib/decorator/private/ActivityBorderDecoratorMiddleware.js +19 -0
  33. package/lib/decorator/private/ActivityDecorator.d.ts +9 -0
  34. package/lib/decorator/private/ActivityDecorator.d.ts.map +1 -0
  35. package/lib/decorator/private/ActivityDecorator.js +36 -0
  36. package/lib/decorator/private/DecoratorComposer.d.ts +3 -0
  37. package/lib/decorator/private/DecoratorComposer.d.ts.map +1 -0
  38. package/lib/decorator/private/DecoratorComposer.js +13 -0
  39. package/lib/decorator/private/activityDecoratorRequest.d.ts +6 -0
  40. package/lib/decorator/private/activityDecoratorRequest.d.ts.map +1 -0
  41. package/lib/decorator/private/activityDecoratorRequest.js +2 -0
  42. package/lib/decorator/private/createDecoratorComposer.d.ts +11 -0
  43. package/lib/decorator/private/createDecoratorComposer.d.ts.map +1 -0
  44. package/lib/decorator/private/createDecoratorComposer.js +27 -0
  45. package/lib/decorator/private/templateMiddleware.d.ts +30 -0
  46. package/lib/decorator/private/templateMiddleware.d.ts.map +1 -0
  47. package/lib/decorator/private/templateMiddleware.js +53 -0
  48. package/lib/decorator/private/templateMiddleware.test.d.ts +3 -0
  49. package/lib/decorator/private/templateMiddleware.test.d.ts.map +1 -0
  50. package/lib/defaultStyleOptions.d.ts +4 -0
  51. package/lib/defaultStyleOptions.d.ts.map +1 -0
  52. package/lib/defaultStyleOptions.js +277 -0
  53. package/lib/external/PrecompiledGlobalize.js +6361 -0
  54. package/lib/hooks/Composer.d.ts +88 -0
  55. package/lib/hooks/Composer.d.ts.map +1 -0
  56. package/lib/hooks/Composer.js +605 -0
  57. package/lib/hooks/index.d.ts +73 -0
  58. package/lib/hooks/index.d.ts.map +1 -0
  59. package/lib/hooks/index.js +504 -0
  60. package/lib/hooks/internal/ErrorBox.js +47 -0
  61. package/lib/hooks/internal/SendBoxMiddleware.d.ts +37 -0
  62. package/lib/hooks/internal/SendBoxMiddleware.d.ts.map +1 -0
  63. package/lib/hooks/internal/SendBoxMiddleware.js +17 -0
  64. package/lib/hooks/internal/SendBoxToolbarMiddleware.d.ts +37 -0
  65. package/lib/hooks/internal/SendBoxToolbarMiddleware.d.ts.map +1 -0
  66. package/lib/hooks/internal/SendBoxToolbarMiddleware.js +17 -0
  67. package/lib/hooks/internal/Tracker.d.ts +4 -0
  68. package/lib/hooks/internal/Tracker.d.ts.map +1 -0
  69. package/lib/hooks/internal/Tracker.js +15 -0
  70. package/lib/hooks/internal/WebChatAPIContext.d.ts +80 -0
  71. package/lib/hooks/internal/WebChatAPIContext.d.ts.map +1 -0
  72. package/lib/hooks/internal/WebChatAPIContext.js +12 -0
  73. package/lib/hooks/internal/WebChatReduxContext.js +17 -0
  74. package/lib/hooks/internal/defaultSelectVoice.js +28 -0
  75. package/lib/hooks/internal/private/templateMiddleware.d.ts +3 -0
  76. package/lib/hooks/internal/private/templateMiddleware.d.ts.map +1 -0
  77. package/lib/hooks/internal/private/templateMiddleware.js +12 -0
  78. package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts +4 -0
  79. package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts.map +1 -0
  80. package/lib/hooks/internal/useCreateActivityRendererInternal.js +37 -0
  81. package/lib/hooks/internal/useDebugDeps.js +39 -0
  82. package/lib/hooks/internal/useDirFromProps.js +12 -0
  83. package/lib/hooks/internal/useErrorBoxClass.js +14 -0
  84. package/lib/hooks/internal/useForceRender.js +24 -0
  85. package/lib/hooks/internal/useLocalizedGlobalize.js +12 -0
  86. package/lib/hooks/internal/useLocalizedStrings.js +14 -0
  87. package/lib/hooks/internal/useMarkActivity.js +12 -0
  88. package/lib/hooks/internal/usePrevious.d.ts +3 -0
  89. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  90. package/lib/hooks/internal/usePrevious.js +15 -0
  91. package/lib/hooks/internal/useReadTelemetryDimensions.js +20 -0
  92. package/lib/hooks/internal/useSetDictateState.d.ts +2 -0
  93. package/lib/hooks/internal/useSetDictateState.d.ts.map +1 -0
  94. package/lib/hooks/internal/useSetDictateState.js +12 -0
  95. package/lib/hooks/internal/useTimer.d.ts +5 -0
  96. package/lib/hooks/internal/useTimer.d.ts.map +1 -0
  97. package/lib/hooks/internal/useTimer.js +43 -0
  98. package/lib/hooks/internal/useTracker.js +42 -0
  99. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  100. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  101. package/lib/hooks/internal/useValueRef.js +22 -0
  102. package/lib/hooks/internal/useWebChatAPIContext.d.ts +83 -0
  103. package/lib/hooks/internal/useWebChatAPIContext.d.ts.map +1 -0
  104. package/lib/hooks/internal/useWebChatAPIContext.js +17 -0
  105. package/lib/hooks/middleware/UserlandBoundary.js +48 -0
  106. package/lib/hooks/middleware/applyMiddleware.js +122 -0
  107. package/lib/hooks/middleware/concatMiddleware.d.ts +6 -0
  108. package/lib/hooks/middleware/concatMiddleware.d.ts.map +1 -0
  109. package/lib/hooks/middleware/concatMiddleware.js +33 -0
  110. package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts +3 -0
  111. package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts.map +1 -0
  112. package/lib/hooks/middleware/createDefaultCardActionMiddleware.js +43 -0
  113. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts +7 -0
  114. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +1 -0
  115. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +68 -0
  116. package/lib/hooks/private/numberWithInfinity.d.ts +3 -0
  117. package/lib/hooks/private/numberWithInfinity.d.ts.map +1 -0
  118. package/lib/hooks/private/numberWithInfinity.js +17 -0
  119. package/lib/hooks/private/numberWithInfinity.spec.d.ts +2 -0
  120. package/lib/hooks/private/numberWithInfinity.spec.d.ts.map +1 -0
  121. package/lib/hooks/private/reduceIterable.d.ts +2 -0
  122. package/lib/hooks/private/reduceIterable.d.ts.map +1 -0
  123. package/lib/hooks/private/reduceIterable.js +26 -0
  124. package/lib/hooks/private/reduceIterable.spec.d.ts +2 -0
  125. package/lib/hooks/private/reduceIterable.spec.d.ts.map +1 -0
  126. package/lib/hooks/useActiveTyping.d.ts +4 -0
  127. package/lib/hooks/useActiveTyping.d.ts.map +1 -0
  128. package/lib/hooks/useActiveTyping.js +81 -0
  129. package/lib/hooks/useActivities.d.ts +3 -0
  130. package/lib/hooks/useActivities.d.ts.map +1 -0
  131. package/lib/hooks/useActivities.js +14 -0
  132. package/lib/hooks/useActivityKeys.d.ts +3 -0
  133. package/lib/hooks/useActivityKeys.d.ts.map +1 -0
  134. package/lib/hooks/useActivityKeys.js +11 -0
  135. package/lib/hooks/useActivityKeysByRead.d.ts +3 -0
  136. package/lib/hooks/useActivityKeysByRead.d.ts.map +1 -0
  137. package/lib/hooks/useActivityKeysByRead.js +11 -0
  138. package/lib/hooks/useAvatarForBot.d.ts +5 -0
  139. package/lib/hooks/useAvatarForBot.d.ts.map +1 -0
  140. package/lib/hooks/useAvatarForBot.js +26 -0
  141. package/lib/hooks/useAvatarForUser.d.ts +5 -0
  142. package/lib/hooks/useAvatarForUser.d.ts.map +1 -0
  143. package/lib/hooks/useAvatarForUser.js +26 -0
  144. package/lib/hooks/useByteFormatter.d.ts +2 -0
  145. package/lib/hooks/useByteFormatter.d.ts.map +1 -0
  146. package/lib/hooks/useByteFormatter.js +43 -0
  147. package/lib/hooks/useConnectivityStatus.d.ts +2 -0
  148. package/lib/hooks/useConnectivityStatus.d.ts.map +1 -0
  149. package/lib/hooks/useConnectivityStatus.js +14 -0
  150. package/lib/hooks/useCreateActivityRenderer.d.ts +3 -0
  151. package/lib/hooks/useCreateActivityRenderer.d.ts.map +1 -0
  152. package/lib/hooks/useCreateActivityRenderer.js +14 -0
  153. package/lib/hooks/useCreateActivityStatusRenderer.d.ts +10 -0
  154. package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +1 -0
  155. package/lib/hooks/useCreateActivityStatusRenderer.js +72 -0
  156. package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.d.ts +3 -0
  157. package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.d.ts.map +1 -0
  158. package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.js +12 -0
  159. package/lib/hooks/useCreateAvatarRenderer.d.ts +6 -0
  160. package/lib/hooks/useCreateAvatarRenderer.d.ts.map +1 -0
  161. package/lib/hooks/useCreateAvatarRenderer.js +44 -0
  162. package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts +3 -0
  163. package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts.map +1 -0
  164. package/lib/hooks/useCreateScrollToEndButtonRenderer.js +12 -0
  165. package/lib/hooks/useDateFormatter.d.ts +2 -0
  166. package/lib/hooks/useDateFormatter.d.ts.map +1 -0
  167. package/lib/hooks/useDateFormatter.js +35 -0
  168. package/lib/hooks/useDebouncedNotifications.d.ts +13 -0
  169. package/lib/hooks/useDebouncedNotifications.d.ts.map +1 -0
  170. package/lib/hooks/useDebouncedNotifications.js +118 -0
  171. package/lib/hooks/useDictateInterims.d.ts +2 -0
  172. package/lib/hooks/useDictateInterims.d.ts.map +1 -0
  173. package/lib/hooks/useDictateInterims.js +16 -0
  174. package/lib/hooks/useDictateState.d.ts +2 -0
  175. package/lib/hooks/useDictateState.d.ts.map +1 -0
  176. package/lib/hooks/useDictateState.js +15 -0
  177. package/lib/hooks/useDirection.d.ts +2 -0
  178. package/lib/hooks/useDirection.d.ts.map +1 -0
  179. package/lib/hooks/useDirection.js +38 -0
  180. package/lib/hooks/useDisabled.d.ts +2 -0
  181. package/lib/hooks/useDisabled.d.ts.map +1 -0
  182. package/lib/hooks/useDisabled.js +12 -0
  183. package/lib/hooks/useDismissNotification.d.ts +2 -0
  184. package/lib/hooks/useDismissNotification.d.ts.map +1 -0
  185. package/lib/hooks/useDismissNotification.js +12 -0
  186. package/lib/hooks/useEmitTypingIndicator.d.ts +2 -0
  187. package/lib/hooks/useEmitTypingIndicator.d.ts.map +1 -0
  188. package/lib/hooks/useEmitTypingIndicator.js +12 -0
  189. package/lib/hooks/useGetActivitiesByKey.d.ts +3 -0
  190. package/lib/hooks/useGetActivitiesByKey.d.ts.map +1 -0
  191. package/lib/hooks/useGetActivitiesByKey.js +11 -0
  192. package/lib/hooks/useGetActivityByKey.d.ts +3 -0
  193. package/lib/hooks/useGetActivityByKey.d.ts.map +1 -0
  194. package/lib/hooks/useGetActivityByKey.js +11 -0
  195. package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts +3 -0
  196. package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts.map +1 -0
  197. package/lib/hooks/useGetHasAcknowledgedByActivityKey.js +11 -0
  198. package/lib/hooks/useGetKeyByActivity.d.ts +3 -0
  199. package/lib/hooks/useGetKeyByActivity.d.ts.map +1 -0
  200. package/lib/hooks/useGetKeyByActivity.js +11 -0
  201. package/lib/hooks/useGetKeyByActivityId.d.ts +3 -0
  202. package/lib/hooks/useGetKeyByActivityId.d.ts.map +1 -0
  203. package/lib/hooks/useGetKeyByActivityId.js +11 -0
  204. package/lib/hooks/useGetSendTimeoutForActivity.d.ts +5 -0
  205. package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +1 -0
  206. package/lib/hooks/useGetSendTimeoutForActivity.js +33 -0
  207. package/lib/hooks/useGrammars.d.ts +2 -0
  208. package/lib/hooks/useGrammars.d.ts.map +1 -0
  209. package/lib/hooks/useGrammars.js +12 -0
  210. package/lib/hooks/useGroupActivities.d.ts +8 -0
  211. package/lib/hooks/useGroupActivities.d.ts.map +1 -0
  212. package/lib/hooks/useGroupActivities.js +12 -0
  213. package/lib/hooks/useGroupTimestamp.d.ts +2 -0
  214. package/lib/hooks/useGroupTimestamp.d.ts.map +1 -0
  215. package/lib/hooks/useGroupTimestamp.js +21 -0
  216. package/lib/hooks/useLanguage.d.ts +2 -0
  217. package/lib/hooks/useLanguage.d.ts.map +1 -0
  218. package/lib/hooks/useLanguage.js +19 -0
  219. package/lib/hooks/useLastAcknowledgedActivityKey.d.ts +3 -0
  220. package/lib/hooks/useLastAcknowledgedActivityKey.d.ts.map +1 -0
  221. package/lib/hooks/useLastAcknowledgedActivityKey.js +11 -0
  222. package/lib/hooks/useLastReadActivityKey.d.ts +3 -0
  223. package/lib/hooks/useLastReadActivityKey.d.ts.map +1 -0
  224. package/lib/hooks/useLastReadActivityKey.js +11 -0
  225. package/lib/hooks/useLocalizer.d.ts +13 -0
  226. package/lib/hooks/useLocalizer.d.ts.map +1 -0
  227. package/lib/hooks/useLocalizer.js +75 -0
  228. package/lib/hooks/useMarkActivityAsSpoken.d.ts +3 -0
  229. package/lib/hooks/useMarkActivityAsSpoken.d.ts.map +1 -0
  230. package/lib/hooks/useMarkActivityAsSpoken.js +16 -0
  231. package/lib/hooks/useMarkActivityKeyAsRead.d.ts +3 -0
  232. package/lib/hooks/useMarkActivityKeyAsRead.d.ts.map +1 -0
  233. package/lib/hooks/useMarkActivityKeyAsRead.js +11 -0
  234. package/lib/hooks/useMarkAllAsAcknowledged.d.ts +3 -0
  235. package/lib/hooks/useMarkAllAsAcknowledged.d.ts.map +1 -0
  236. package/lib/hooks/useMarkAllAsAcknowledged.js +11 -0
  237. package/lib/hooks/useNotifications.d.ts +3 -0
  238. package/lib/hooks/useNotifications.d.ts.map +1 -0
  239. package/lib/hooks/useNotifications.js +14 -0
  240. package/lib/hooks/usePerformCardAction.d.ts +3 -0
  241. package/lib/hooks/usePerformCardAction.d.ts.map +1 -0
  242. package/lib/hooks/usePerformCardAction.js +12 -0
  243. package/lib/hooks/usePonyfill.d.ts +3 -0
  244. package/lib/hooks/usePonyfill.d.ts.map +1 -0
  245. package/lib/hooks/usePonyfill.js +11 -0
  246. package/lib/hooks/usePostActivity.d.ts +3 -0
  247. package/lib/hooks/usePostActivity.d.ts.map +1 -0
  248. package/lib/hooks/usePostActivity.js +12 -0
  249. package/lib/hooks/useReferenceGrammarID.d.ts +2 -0
  250. package/lib/hooks/useReferenceGrammarID.d.ts.map +1 -0
  251. package/lib/hooks/useReferenceGrammarID.js +14 -0
  252. package/lib/hooks/useRelativeTimeFormatter.d.ts +2 -0
  253. package/lib/hooks/useRelativeTimeFormatter.d.ts.map +1 -0
  254. package/lib/hooks/useRelativeTimeFormatter.js +61 -0
  255. package/lib/hooks/useRenderAttachment.d.ts +3 -0
  256. package/lib/hooks/useRenderAttachment.d.ts.map +1 -0
  257. package/lib/hooks/useRenderAttachment.js +14 -0
  258. package/lib/hooks/useRenderToast.d.ts +3 -0
  259. package/lib/hooks/useRenderToast.d.ts.map +1 -0
  260. package/lib/hooks/useRenderToast.js +12 -0
  261. package/lib/hooks/useRenderTypingIndicator.d.ts +3 -0
  262. package/lib/hooks/useRenderTypingIndicator.d.ts.map +1 -0
  263. package/lib/hooks/useRenderTypingIndicator.js +12 -0
  264. package/lib/hooks/useSendBoxAttachments.d.ts +6 -0
  265. package/lib/hooks/useSendBoxAttachments.d.ts.map +1 -0
  266. package/lib/hooks/useSendBoxAttachments.js +23 -0
  267. package/lib/hooks/useSendBoxValue.d.ts +2 -0
  268. package/lib/hooks/useSendBoxValue.d.ts.map +1 -0
  269. package/lib/hooks/useSendBoxValue.js +16 -0
  270. package/lib/hooks/useSendEvent.d.ts +2 -0
  271. package/lib/hooks/useSendEvent.d.ts.map +1 -0
  272. package/lib/hooks/useSendEvent.js +12 -0
  273. package/lib/hooks/useSendFiles.d.ts +10 -0
  274. package/lib/hooks/useSendFiles.d.ts.map +1 -0
  275. package/lib/hooks/useSendFiles.js +35 -0
  276. package/lib/hooks/useSendMessage.d.ts +6 -0
  277. package/lib/hooks/useSendMessage.d.ts.map +1 -0
  278. package/lib/hooks/useSendMessage.js +33 -0
  279. package/lib/hooks/useSendMessageBack.d.ts +2 -0
  280. package/lib/hooks/useSendMessageBack.d.ts.map +1 -0
  281. package/lib/hooks/useSendMessageBack.js +12 -0
  282. package/lib/hooks/useSendPostBack.d.ts +2 -0
  283. package/lib/hooks/useSendPostBack.d.ts.map +1 -0
  284. package/lib/hooks/useSendPostBack.js +12 -0
  285. package/lib/hooks/useSendStatusByActivityKey.d.ts +22 -0
  286. package/lib/hooks/useSendStatusByActivityKey.d.ts.map +1 -0
  287. package/lib/hooks/useSendStatusByActivityKey.js +31 -0
  288. package/lib/hooks/useSendTimeoutForActivity.d.ts +4 -0
  289. package/lib/hooks/useSendTimeoutForActivity.d.ts.map +1 -0
  290. package/lib/hooks/useSendTimeoutForActivity.js +22 -0
  291. package/lib/hooks/useSendTypingIndicator.d.ts +2 -0
  292. package/lib/hooks/useSendTypingIndicator.d.ts.map +1 -0
  293. package/lib/hooks/useSendTypingIndicator.js +14 -0
  294. package/lib/hooks/useSetNotification.d.ts +3 -0
  295. package/lib/hooks/useSetNotification.d.ts.map +1 -0
  296. package/lib/hooks/useSetNotification.js +12 -0
  297. package/lib/hooks/useShouldSpeakIncomingActivity.d.ts +2 -0
  298. package/lib/hooks/useShouldSpeakIncomingActivity.d.ts.map +1 -0
  299. package/lib/hooks/useShouldSpeakIncomingActivity.js +22 -0
  300. package/lib/hooks/useStartDictate.d.ts +2 -0
  301. package/lib/hooks/useStartDictate.d.ts.map +1 -0
  302. package/lib/hooks/useStartDictate.js +12 -0
  303. package/lib/hooks/useStopDictate.d.ts +2 -0
  304. package/lib/hooks/useStopDictate.d.ts.map +1 -0
  305. package/lib/hooks/useStopDictate.js +12 -0
  306. package/lib/hooks/useStyleOptions.d.ts +3 -0
  307. package/lib/hooks/useStyleOptions.d.ts.map +1 -0
  308. package/lib/hooks/useStyleOptions.js +12 -0
  309. package/lib/hooks/useSubmitSendBox.d.ts +4 -0
  310. package/lib/hooks/useSubmitSendBox.d.ts.map +1 -0
  311. package/lib/hooks/useSubmitSendBox.js +49 -0
  312. package/lib/hooks/useSuggestedActions.d.ts +3 -0
  313. package/lib/hooks/useSuggestedActions.d.ts.map +1 -0
  314. package/lib/hooks/useSuggestedActions.js +25 -0
  315. package/lib/hooks/useTimeoutForSend.d.ts +3 -0
  316. package/lib/hooks/useTimeoutForSend.d.ts.map +1 -0
  317. package/lib/hooks/useTimeoutForSend.js +21 -0
  318. package/lib/hooks/useTrackDimension.d.ts +2 -0
  319. package/lib/hooks/useTrackDimension.d.ts.map +1 -0
  320. package/lib/hooks/useTrackDimension.js +14 -0
  321. package/lib/hooks/useTrackEvent.d.ts +10 -0
  322. package/lib/hooks/useTrackEvent.d.ts.map +1 -0
  323. package/lib/hooks/useTrackEvent.js +51 -0
  324. package/lib/hooks/useTrackException.d.ts +2 -0
  325. package/lib/hooks/useTrackException.d.ts.map +1 -0
  326. package/lib/hooks/useTrackException.js +31 -0
  327. package/lib/hooks/useTrackTiming.d.ts +2 -0
  328. package/lib/hooks/useTrackTiming.d.ts.map +1 -0
  329. package/lib/hooks/useTrackTiming.js +93 -0
  330. package/lib/hooks/useUserID.d.ts +2 -0
  331. package/lib/hooks/useUserID.d.ts.map +1 -0
  332. package/lib/hooks/useUserID.js +12 -0
  333. package/lib/hooks/useUsername.d.ts +2 -0
  334. package/lib/hooks/useUsername.d.ts.map +1 -0
  335. package/lib/hooks/useUsername.js +12 -0
  336. package/lib/hooks/useVoiceSelector.d.ts +2 -0
  337. package/lib/hooks/useVoiceSelector.d.ts.map +1 -0
  338. package/lib/hooks/useVoiceSelector.js +16 -0
  339. package/lib/hooks/utils/ErrorBoundary.js +68 -0
  340. package/lib/hooks/utils/observableToPromise.d.ts +3 -0
  341. package/lib/hooks/utils/observableToPromise.d.ts.map +1 -0
  342. package/lib/hooks/utils/observableToPromise.js +28 -0
  343. package/lib/index.d.ts +37 -0
  344. package/lib/index.d.ts.map +1 -0
  345. package/lib/index.js +88 -0
  346. package/lib/internal.d.ts +3 -0
  347. package/lib/internal.d.ts.map +1 -0
  348. package/lib/internal.js +14 -0
  349. package/lib/localization/Localize.d.ts +4 -0
  350. package/lib/localization/Localize.d.ts.map +1 -0
  351. package/lib/localization/Localize.js +50 -0
  352. package/lib/localization/ar-EG.json +42 -0
  353. package/lib/localization/ar-JO.json +45 -0
  354. package/lib/localization/ar-SA.json +112 -0
  355. package/lib/localization/bg-BG.json +112 -0
  356. package/lib/localization/ca-ES.json +112 -0
  357. package/lib/localization/cs-CZ.json +112 -0
  358. package/lib/localization/da-DK.json +112 -0
  359. package/lib/localization/de-DE.json +112 -0
  360. package/lib/localization/el-GR.json +112 -0
  361. package/lib/localization/en-US.json +183 -0
  362. package/lib/localization/es-ES.json +112 -0
  363. package/lib/localization/et-EE.json +112 -0
  364. package/lib/localization/eu-ES.json +112 -0
  365. package/lib/localization/fi-FI.json +112 -0
  366. package/lib/localization/fr-FR.json +112 -0
  367. package/lib/localization/getAllLocalizedStrings.d.ts +6 -0
  368. package/lib/localization/getAllLocalizedStrings.d.ts.map +1 -0
  369. package/lib/localization/getAllLocalizedStrings.js +117 -0
  370. package/lib/localization/getRTLList.d.ts +2 -0
  371. package/lib/localization/getRTLList.d.ts.map +1 -0
  372. package/lib/localization/getRTLList.js +46 -0
  373. package/lib/localization/gl-ES.json +112 -0
  374. package/lib/localization/he-IL.json +112 -0
  375. package/lib/localization/hi-IN.json +112 -0
  376. package/lib/localization/hr-HR.json +112 -0
  377. package/lib/localization/hu-HU.json +112 -0
  378. package/lib/localization/id-ID.json +112 -0
  379. package/lib/localization/it-IT.json +112 -0
  380. package/lib/localization/ja-JP.json +112 -0
  381. package/lib/localization/kk-KZ.json +112 -0
  382. package/lib/localization/ko-KR.json +112 -0
  383. package/lib/localization/lt-LT.json +112 -0
  384. package/lib/localization/lv-LV.json +112 -0
  385. package/lib/localization/mergeLocalizedStrings.d.ts +7 -0
  386. package/lib/localization/mergeLocalizedStrings.d.ts.map +1 -0
  387. package/lib/localization/mergeLocalizedStrings.js +49 -0
  388. package/lib/localization/ms-MY.json +112 -0
  389. package/lib/localization/nb-NO.json +112 -0
  390. package/lib/localization/nl-NL.json +112 -0
  391. package/lib/localization/overrides.json +257 -0
  392. package/lib/localization/pl-PL.json +112 -0
  393. package/lib/localization/pt-BR.json +112 -0
  394. package/lib/localization/pt-PT.json +112 -0
  395. package/lib/localization/ro-RO.json +112 -0
  396. package/lib/localization/ru-RU.json +112 -0
  397. package/lib/localization/sk-SK.json +112 -0
  398. package/lib/localization/sl-SI.json +112 -0
  399. package/lib/localization/sl-SL.json +3 -0
  400. package/lib/localization/sr-Cyrl-CS.json +112 -0
  401. package/lib/localization/sr-Cyrl.json +3 -0
  402. package/lib/localization/sr-Latn-CS.json +112 -0
  403. package/lib/localization/sr-Latn.json +3 -0
  404. package/lib/localization/sv-SE.json +112 -0
  405. package/lib/localization/th-TH.json +112 -0
  406. package/lib/localization/tr-TR.json +112 -0
  407. package/lib/localization/uk-UA.json +112 -0
  408. package/lib/localization/vi-VN.json +112 -0
  409. package/lib/localization/yue.json +115 -0
  410. package/lib/localization/zh-CN.json +112 -0
  411. package/lib/localization/zh-HK.json +112 -0
  412. package/lib/localization/zh-TW.json +112 -0
  413. package/lib/normalizeStyleOptions.d.ts +3 -0
  414. package/lib/normalizeStyleOptions.d.ts.map +1 -0
  415. package/lib/normalizeStyleOptions.js +147 -0
  416. package/lib/patchStyleOptionsFromDeprecatedProps.js +21 -0
  417. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts +6 -0
  418. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts.map +1 -0
  419. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.js +153 -0
  420. package/lib/providers/ActivityAcknowledgement/private/Context.d.ts +13 -0
  421. package/lib/providers/ActivityAcknowledgement/private/Context.d.ts.map +1 -0
  422. package/lib/providers/ActivityAcknowledgement/private/Context.js +14 -0
  423. package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts +3 -0
  424. package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts.map +1 -0
  425. package/lib/providers/ActivityAcknowledgement/private/useContext.js +18 -0
  426. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts +5 -0
  427. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts.map +1 -0
  428. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.js +15 -0
  429. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts +2 -0
  430. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts.map +1 -0
  431. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.js +12 -0
  432. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts +2 -0
  433. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts.map +1 -0
  434. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.js +12 -0
  435. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts +2 -0
  436. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts.map +1 -0
  437. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.js +12 -0
  438. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts +2 -0
  439. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts.map +1 -0
  440. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.js +12 -0
  441. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts +2 -0
  442. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts.map +1 -0
  443. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.js +12 -0
  444. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts +20 -0
  445. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts.map +1 -0
  446. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.js +149 -0
  447. package/lib/providers/ActivityKeyer/private/Context.d.ts +13 -0
  448. package/lib/providers/ActivityKeyer/private/Context.d.ts.map +1 -0
  449. package/lib/providers/ActivityKeyer/private/Context.js +10 -0
  450. package/lib/providers/ActivityKeyer/private/getActivityId.d.ts +3 -0
  451. package/lib/providers/ActivityKeyer/private/getActivityId.d.ts.map +1 -0
  452. package/lib/providers/ActivityKeyer/private/getActivityId.js +10 -0
  453. package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts +3 -0
  454. package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts.map +1 -0
  455. package/lib/providers/ActivityKeyer/private/getClientActivityId.js +11 -0
  456. package/lib/providers/ActivityKeyer/private/lastOf.d.ts +2 -0
  457. package/lib/providers/ActivityKeyer/private/lastOf.d.ts.map +1 -0
  458. package/lib/providers/ActivityKeyer/private/lastOf.js +10 -0
  459. package/lib/providers/ActivityKeyer/private/lastOf.spec.d.ts +2 -0
  460. package/lib/providers/ActivityKeyer/private/lastOf.spec.d.ts.map +1 -0
  461. package/lib/providers/ActivityKeyer/private/someIterable.d.ts +2 -0
  462. package/lib/providers/ActivityKeyer/private/someIterable.d.ts.map +1 -0
  463. package/lib/providers/ActivityKeyer/private/someIterable.js +27 -0
  464. package/lib/providers/ActivityKeyer/private/someIterable.spec.d.ts +2 -0
  465. package/lib/providers/ActivityKeyer/private/someIterable.spec.d.ts.map +1 -0
  466. package/lib/providers/ActivityKeyer/private/uniqueId.d.ts +2 -0
  467. package/lib/providers/ActivityKeyer/private/uniqueId.d.ts.map +1 -0
  468. package/lib/providers/ActivityKeyer/private/uniqueId.js +15 -0
  469. package/lib/providers/ActivityKeyer/private/useContext.d.ts +3 -0
  470. package/lib/providers/ActivityKeyer/private/useContext.d.ts.map +1 -0
  471. package/lib/providers/ActivityKeyer/private/useContext.js +18 -0
  472. package/lib/providers/ActivityKeyer/useActivityKeys.d.ts +2 -0
  473. package/lib/providers/ActivityKeyer/useActivityKeys.d.ts.map +1 -0
  474. package/lib/providers/ActivityKeyer/useActivityKeys.js +12 -0
  475. package/lib/providers/ActivityKeyer/useGetActivitiesByKey.d.ts +3 -0
  476. package/lib/providers/ActivityKeyer/useGetActivitiesByKey.d.ts.map +1 -0
  477. package/lib/providers/ActivityKeyer/useGetActivitiesByKey.js +12 -0
  478. package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts +3 -0
  479. package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts.map +1 -0
  480. package/lib/providers/ActivityKeyer/useGetActivityByKey.js +12 -0
  481. package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts +3 -0
  482. package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts.map +1 -0
  483. package/lib/providers/ActivityKeyer/useGetKeyByActivity.js +12 -0
  484. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts +2 -0
  485. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts.map +1 -0
  486. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.js +12 -0
  487. package/lib/providers/ActivityListener/ActivityListenerComposer.d.ts +7 -0
  488. package/lib/providers/ActivityListener/ActivityListenerComposer.d.ts.map +1 -0
  489. package/lib/providers/ActivityListener/ActivityListenerComposer.js +55 -0
  490. package/lib/providers/ActivityListener/private/Context.d.ts +8 -0
  491. package/lib/providers/ActivityListener/private/Context.d.ts.map +1 -0
  492. package/lib/providers/ActivityListener/private/Context.js +15 -0
  493. package/lib/providers/ActivityListener/private/useContext.d.ts +2 -0
  494. package/lib/providers/ActivityListener/private/useContext.d.ts.map +1 -0
  495. package/lib/providers/ActivityListener/private/useContext.js +13 -0
  496. package/lib/providers/ActivityListener/useUpsertedActivities.d.ts +3 -0
  497. package/lib/providers/ActivityListener/useUpsertedActivities.d.ts.map +1 -0
  498. package/lib/providers/ActivityListener/useUpsertedActivities.js +12 -0
  499. package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.d.ts +4 -0
  500. package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.d.ts.map +1 -0
  501. package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.js +149 -0
  502. package/lib/providers/ActivitySendStatus/private/Context.d.ts +9 -0
  503. package/lib/providers/ActivitySendStatus/private/Context.d.ts.map +1 -0
  504. package/lib/providers/ActivitySendStatus/private/Context.js +13 -0
  505. package/lib/providers/ActivitySendStatus/private/isMapEqual.d.ts +7 -0
  506. package/lib/providers/ActivitySendStatus/private/isMapEqual.d.ts.map +1 -0
  507. package/lib/providers/ActivitySendStatus/private/isMapEqual.js +55 -0
  508. package/lib/providers/ActivitySendStatus/private/useContext.d.ts +3 -0
  509. package/lib/providers/ActivitySendStatus/private/useContext.d.ts.map +1 -0
  510. package/lib/providers/ActivitySendStatus/private/useContext.js +18 -0
  511. package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.d.ts +22 -0
  512. package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.d.ts.map +1 -0
  513. package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.js +31 -0
  514. package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.d.ts +3 -0
  515. package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.d.ts.map +1 -0
  516. package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.js +71 -0
  517. package/lib/providers/ActivityTyping/ActivityTypingComposer.d.ts +9 -0
  518. package/lib/providers/ActivityTyping/ActivityTypingComposer.d.ts.map +1 -0
  519. package/lib/providers/ActivityTyping/ActivityTypingComposer.js +98 -0
  520. package/lib/providers/ActivityTyping/private/Context.d.ts +8 -0
  521. package/lib/providers/ActivityTyping/private/Context.d.ts.map +1 -0
  522. package/lib/providers/ActivityTyping/private/Context.js +15 -0
  523. package/lib/providers/ActivityTyping/private/useContext.d.ts +3 -0
  524. package/lib/providers/ActivityTyping/private/useContext.d.ts.map +1 -0
  525. package/lib/providers/ActivityTyping/private/useContext.js +13 -0
  526. package/lib/providers/ActivityTyping/private/useMemoWithPrevious.d.ts +3 -0
  527. package/lib/providers/ActivityTyping/private/useMemoWithPrevious.d.ts.map +1 -0
  528. package/lib/providers/ActivityTyping/private/useMemoWithPrevious.js +22 -0
  529. package/lib/providers/ActivityTyping/types/AllTyping.d.ts +9 -0
  530. package/lib/providers/ActivityTyping/types/AllTyping.d.ts.map +1 -0
  531. package/lib/providers/ActivityTyping/types/AllTyping.js +2 -0
  532. package/lib/providers/ActivityTyping/useAllTyping.d.ts +3 -0
  533. package/lib/providers/ActivityTyping/useAllTyping.d.ts.map +1 -0
  534. package/lib/providers/ActivityTyping/useAllTyping.js +12 -0
  535. package/lib/providers/Ponyfill/PonyfillComposer.d.ts +17 -0
  536. package/lib/providers/Ponyfill/PonyfillComposer.d.ts.map +1 -0
  537. package/lib/providers/Ponyfill/PonyfillComposer.js +87 -0
  538. package/lib/providers/Ponyfill/private/PonyfillContext.d.ts +8 -0
  539. package/lib/providers/Ponyfill/private/PonyfillContext.d.ts.map +1 -0
  540. package/lib/providers/Ponyfill/private/PonyfillContext.js +10 -0
  541. package/lib/providers/Ponyfill/private/useContext.d.ts +6 -0
  542. package/lib/providers/Ponyfill/private/useContext.d.ts.map +1 -0
  543. package/lib/providers/Ponyfill/private/useContext.js +17 -0
  544. package/lib/providers/Ponyfill/usePonyfill.d.ts +3 -0
  545. package/lib/providers/Ponyfill/usePonyfill.d.ts.map +1 -0
  546. package/lib/providers/Ponyfill/usePonyfill.js +12 -0
  547. package/lib/tsconfig.json +18 -0
  548. package/lib/types/ActivityMiddleware.d.ts +24 -0
  549. package/lib/types/ActivityMiddleware.d.ts.map +1 -0
  550. package/lib/types/ActivityMiddleware.js +2 -0
  551. package/lib/types/ActivityStatusMiddleware.d.ts +17 -0
  552. package/lib/types/ActivityStatusMiddleware.d.ts.map +1 -0
  553. package/lib/types/ActivityStatusMiddleware.js +2 -0
  554. package/lib/types/AttachmentForScreenReaderMiddleware.d.ts +14 -0
  555. package/lib/types/AttachmentForScreenReaderMiddleware.d.ts.map +1 -0
  556. package/lib/types/AttachmentForScreenReaderMiddleware.js +2 -0
  557. package/lib/types/AttachmentMiddleware.d.ts +12 -0
  558. package/lib/types/AttachmentMiddleware.d.ts.map +1 -0
  559. package/lib/types/AttachmentMiddleware.js +2 -0
  560. package/lib/types/AvatarMiddleware.d.ts +15 -0
  561. package/lib/types/AvatarMiddleware.d.ts.map +1 -0
  562. package/lib/types/AvatarMiddleware.js +2 -0
  563. package/lib/types/CardActionMiddleware.d.ts +19 -0
  564. package/lib/types/CardActionMiddleware.d.ts.map +1 -0
  565. package/lib/types/CardActionMiddleware.js +2 -0
  566. package/lib/types/ComponentMiddleware.d.ts +31 -0
  567. package/lib/types/ComponentMiddleware.d.ts.map +1 -0
  568. package/lib/types/ComponentMiddleware.js +2 -0
  569. package/lib/types/ContextOf.d.ts +4 -0
  570. package/lib/types/ContextOf.d.ts.map +1 -0
  571. package/lib/types/ContextOf.js +2 -0
  572. package/lib/types/FunctionMiddleware.d.ts +6 -0
  573. package/lib/types/FunctionMiddleware.d.ts.map +1 -0
  574. package/lib/types/FunctionMiddleware.js +2 -0
  575. package/lib/types/GroupActivitiesMiddleware.d.ts +22 -0
  576. package/lib/types/GroupActivitiesMiddleware.d.ts.map +1 -0
  577. package/lib/types/GroupActivitiesMiddleware.js +2 -0
  578. package/lib/types/LocalizedStrings.d.ts +5 -0
  579. package/lib/types/LocalizedStrings.d.ts.map +1 -0
  580. package/lib/types/LocalizedStrings.js +2 -0
  581. package/lib/types/Notification.d.ts +10 -0
  582. package/lib/types/Notification.d.ts.map +1 -0
  583. package/lib/types/Notification.js +2 -0
  584. package/lib/types/PrecompiledGlobalize.d.ts +13 -0
  585. package/lib/types/PrecompiledGlobalize.d.ts.map +1 -0
  586. package/lib/types/PrecompiledGlobalize.js +2 -0
  587. package/lib/types/ScrollToEndButtonMiddleware.d.ts +30 -0
  588. package/lib/types/ScrollToEndButtonMiddleware.d.ts.map +1 -0
  589. package/lib/types/ScrollToEndButtonMiddleware.js +2 -0
  590. package/lib/types/SendStatus.d.ts +3 -0
  591. package/lib/types/SendStatus.d.ts.map +1 -0
  592. package/lib/types/SendStatus.js +2 -0
  593. package/lib/types/TelemetryMeasurementEvent.d.ts +31 -0
  594. package/lib/types/TelemetryMeasurementEvent.d.ts.map +1 -0
  595. package/lib/types/TelemetryMeasurementEvent.js +2 -0
  596. package/lib/types/ToastMiddleware.d.ts +11 -0
  597. package/lib/types/ToastMiddleware.d.ts.map +1 -0
  598. package/lib/types/ToastMiddleware.js +2 -0
  599. package/lib/types/Typing.d.ts +8 -0
  600. package/lib/types/Typing.d.ts.map +1 -0
  601. package/lib/types/Typing.js +2 -0
  602. package/lib/types/TypingIndicatorMiddleware.d.ts +17 -0
  603. package/lib/types/TypingIndicatorMiddleware.d.ts.map +1 -0
  604. package/lib/types/TypingIndicatorMiddleware.js +2 -0
  605. package/lib/types/WebSpeechPonyfill.d.ts +19 -0
  606. package/lib/types/WebSpeechPonyfill.d.ts.map +1 -0
  607. package/lib/types/WebSpeechPonyfill.js +2 -0
  608. package/lib/types/WebSpeechPonyfillFactory.d.ts +6 -0
  609. package/lib/types/WebSpeechPonyfillFactory.d.ts.map +1 -0
  610. package/lib/types/WebSpeechPonyfillFactory.js +2 -0
  611. package/lib/utils/createCustomEvent.d.ts +4 -0
  612. package/lib/utils/createCustomEvent.d.ts.map +1 -0
  613. package/lib/utils/createCustomEvent.js +34 -0
  614. package/lib/utils/findLastIndex.d.ts +2 -0
  615. package/lib/utils/findLastIndex.d.ts.map +1 -0
  616. package/lib/utils/findLastIndex.js +22 -0
  617. package/lib/utils/findMin.d.ts +7 -0
  618. package/lib/utils/findMin.d.ts.map +1 -0
  619. package/lib/utils/findMin.js +46 -0
  620. package/lib/utils/freezeArray.d.ts +8 -0
  621. package/lib/utils/freezeArray.d.ts.map +1 -0
  622. package/lib/utils/freezeArray.js +19 -0
  623. package/lib/utils/isObject.js +12 -0
  624. package/lib/utils/mapMap.d.ts +6 -0
  625. package/lib/utils/mapMap.d.ts.map +1 -0
  626. package/lib/utils/mapMap.js +27 -0
  627. package/lib/utils/normalizeLanguage.d.ts +2 -0
  628. package/lib/utils/normalizeLanguage.d.ts.map +1 -0
  629. package/lib/utils/normalizeLanguage.js +115 -0
  630. package/lib/utils/randomId.d.ts +2 -0
  631. package/lib/utils/randomId.d.ts.map +1 -0
  632. package/lib/utils/randomId.js +15 -0
  633. package/lib/utils/warnOnce.d.ts +2 -0
  634. package/lib/utils/warnOnce.d.ts.map +1 -0
  635. package/lib/utils/warnOnce.js +16 -0
  636. package/package.json +90 -158
  637. package/src/StyleOptions.ts +285 -400
  638. package/src/decorator/index.ts +4 -0
  639. package/src/decorator/private/ActivityBorderDecoratorMiddleware.ts +31 -0
  640. package/src/decorator/private/ActivityDecorator.tsx +31 -0
  641. package/src/decorator/private/DecoratorComposer.tsx +6 -0
  642. package/src/decorator/private/activityDecoratorRequest.ts +6 -0
  643. package/src/decorator/private/createDecoratorComposer.tsx +36 -0
  644. package/src/{middleware → decorator}/private/templateMiddleware.test.tsx +17 -19
  645. package/src/decorator/private/templateMiddleware.ts +58 -0
  646. package/src/defaultStyleOptions.ts +23 -40
  647. package/src/hooks/Composer.tsx +142 -204
  648. package/src/hooks/index.ts +2 -19
  649. package/src/hooks/internal/ErrorBox.js +34 -0
  650. package/src/hooks/internal/SendBoxMiddleware.ts +21 -0
  651. package/src/hooks/internal/SendBoxToolbarMiddleware.ts +21 -0
  652. package/src/hooks/internal/Tracker.ts +1 -1
  653. package/src/hooks/internal/WebChatAPIContext.ts +12 -7
  654. package/src/hooks/internal/WebChatReduxContext.js +2 -3
  655. package/src/hooks/internal/private/templateMiddleware.ts +4 -0
  656. package/src/hooks/internal/useCreateActivityRendererInternal.ts +46 -0
  657. package/src/hooks/internal/useDebugDeps.js +30 -0
  658. package/src/hooks/internal/useErrorBoxClass.js +7 -0
  659. package/src/hooks/middleware/UserlandBoundary.js +2 -2
  660. package/src/hooks/middleware/applyMiddleware.js +5 -5
  661. package/src/hooks/middleware/concatMiddleware.spec.js +0 -20
  662. package/src/hooks/middleware/concatMiddleware.ts +6 -7
  663. package/src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts +75 -0
  664. package/src/hooks/private/reduceIterable.spec.ts +2 -0
  665. package/src/hooks/useActiveTyping.ts +2 -3
  666. package/src/hooks/useActivities.ts +3 -62
  667. package/src/hooks/useCreateActivityRenderer.ts +6 -27
  668. package/src/hooks/useCreateActivityStatusRenderer.tsx +33 -13
  669. package/src/hooks/useCreateAvatarRenderer.ts +33 -19
  670. package/src/hooks/useDebouncedNotifications.spec.js +0 -1
  671. package/src/hooks/useDisabled.ts +2 -8
  672. package/src/hooks/useGroupActivities.ts +10 -0
  673. package/src/hooks/useLocalizer.ts +3 -3
  674. package/src/hooks/useRenderAttachment.ts +2 -2
  675. package/src/hooks/useSendBoxAttachments.ts +0 -2
  676. package/src/hooks/useSendFiles.ts +1 -1
  677. package/src/hooks/useSendTimeoutForActivity.ts +0 -2
  678. package/src/hooks/useStyleOptions.ts +6 -1
  679. package/src/hooks/useSuggestedActions.ts +23 -9
  680. package/src/hooks/useTrackEvent.ts +3 -3
  681. package/src/index.ts +94 -52
  682. package/src/internal.ts +3 -0
  683. package/src/localization/ar-SA.json +111 -134
  684. package/src/localization/bg-BG.json +111 -134
  685. package/src/localization/ca-ES.json +111 -134
  686. package/src/localization/cs-CZ.json +111 -134
  687. package/src/localization/da-DK.json +111 -134
  688. package/src/localization/de-DE.json +111 -134
  689. package/src/localization/el-GR.json +111 -134
  690. package/src/localization/en-US.json +19 -45
  691. package/src/localization/es-ES.json +111 -134
  692. package/src/localization/et-EE.json +111 -134
  693. package/src/localization/eu-ES.json +111 -134
  694. package/src/localization/fi-FI.json +111 -134
  695. package/src/localization/fr-FR.json +111 -134
  696. package/src/localization/gl-ES.json +111 -134
  697. package/src/localization/he-IL.json +111 -134
  698. package/src/localization/hi-IN.json +111 -134
  699. package/src/localization/hr-HR.json +111 -134
  700. package/src/localization/hu-HU.json +111 -134
  701. package/src/localization/id-ID.json +111 -134
  702. package/src/localization/it-IT.json +111 -134
  703. package/src/localization/ja-JP.json +111 -134
  704. package/src/localization/kk-KZ.json +111 -134
  705. package/src/localization/ko-KR.json +111 -134
  706. package/src/localization/lt-LT.json +111 -134
  707. package/src/localization/lv-LV.json +111 -134
  708. package/src/localization/ms-MY.json +111 -134
  709. package/src/localization/nb-NO.json +111 -134
  710. package/src/localization/nl-NL.json +111 -134
  711. package/src/localization/pl-PL.json +111 -134
  712. package/src/localization/pt-BR.json +111 -134
  713. package/src/localization/pt-PT.json +111 -134
  714. package/src/localization/ro-RO.json +111 -134
  715. package/src/localization/ru-RU.json +111 -134
  716. package/src/localization/sk-SK.json +111 -134
  717. package/src/localization/sl-SI.json +111 -134
  718. package/src/localization/sr-Cyrl-CS.json +111 -134
  719. package/src/localization/sr-Latn-CS.json +111 -134
  720. package/src/localization/sv-SE.json +111 -134
  721. package/src/localization/th-TH.json +111 -134
  722. package/src/localization/tr-TR.json +111 -134
  723. package/src/localization/uk-UA.json +111 -134
  724. package/src/localization/vi-VN.json +111 -134
  725. package/src/localization/yue.json +16 -5
  726. package/src/localization/zh-CN.json +111 -134
  727. package/src/localization/zh-HK.json +111 -134
  728. package/src/localization/zh-TW.json +111 -134
  729. package/src/normalizeStyleOptions.ts +76 -51
  730. package/src/patchStyleOptionsFromDeprecatedProps.js +14 -0
  731. package/src/providers/ActivityKeyer/ActivityKeyerComposer.tsx +40 -197
  732. package/src/providers/ActivityKeyer/private/someIterable.spec.ts +2 -0
  733. package/src/providers/ActivityListener/ActivityListenerComposer.tsx +1 -1
  734. package/src/providers/ActivitySendStatus/ActivitySendStatusComposer.tsx +3 -6
  735. package/src/providers/ActivityTyping/ActivityTypingComposer.tsx +59 -145
  736. package/src/providers/ActivityTyping/private/useMemoWithPrevious.ts +17 -0
  737. package/src/tsconfig.json +14 -5
  738. package/src/types/ActivityMiddleware.ts +36 -0
  739. package/src/types/ActivityStatusMiddleware.ts +9 -1
  740. package/src/types/AttachmentForScreenReaderMiddleware.ts +2 -9
  741. package/src/types/AttachmentMiddleware.ts +16 -0
  742. package/src/types/AvatarMiddleware.ts +1 -12
  743. package/src/types/CardActionMiddleware.ts +0 -2
  744. package/src/types/ComponentMiddleware.ts +1 -1
  745. package/src/types/GroupActivitiesMiddleware.ts +11 -7
  746. package/src/utils/isObject.js +5 -0
  747. package/src/utils/warnOnce.ts +10 -0
  748. package/LICENSE +0 -21
  749. package/boot/deprecated/decorator.js +0 -7
  750. package/boot/deprecated/decorator.mjs +0 -5
  751. package/boot/deprecated/graph.js +0 -7
  752. package/boot/deprecated/graph.mjs +0 -5
  753. package/boot/deprecated/hook.js +0 -7
  754. package/boot/deprecated/hook.mjs +0 -5
  755. package/boot/deprecated/internal.js +0 -7
  756. package/boot/deprecated/internal.mjs +0 -5
  757. package/boot/deprecated/middleware.js +0 -7
  758. package/boot/deprecated/middleware.mjs +0 -5
  759. package/dist/StyleOptions-4TkRjGbQ.d.mts +0 -802
  760. package/dist/StyleOptions-4TkRjGbQ.d.ts +0 -802
  761. package/dist/_dtsroll-chunks/B1b7R2eH-avatarMiddleware-CHa011_j.d.ts +0 -109
  762. package/dist/_dtsroll-chunks/CEcj2Npa-botframework-webchat-redux-store.d.ts +0 -16
  763. package/dist/_dtsroll-chunks/CZE5KEv8-botframework-webchat-api-middleware.d.ts +0 -230
  764. package/dist/_dtsroll-chunks/Dtb0H_Ee-handler-chain.d.ts +0 -4
  765. package/dist/_dtsroll-chunks/N-ttGLxs-botframework-webchat-base.utils.d.ts +0 -4
  766. package/dist/_dtsroll-chunks/qKTV3q17-avatarMiddleware-CHa011_j.d.ts +0 -93
  767. package/dist/botframework-webchat-api.d.ts +0 -387
  768. package/dist/botframework-webchat-api.decorator.d.ts +0 -81
  769. package/dist/botframework-webchat-api.decorator.js +0 -2
  770. package/dist/botframework-webchat-api.decorator.js.map +0 -1
  771. package/dist/botframework-webchat-api.graph.d.mts +0 -5
  772. package/dist/botframework-webchat-api.graph.d.ts +0 -2
  773. package/dist/botframework-webchat-api.graph.js +0 -2
  774. package/dist/botframework-webchat-api.graph.js.map +0 -1
  775. package/dist/botframework-webchat-api.graph.mjs +0 -2
  776. package/dist/botframework-webchat-api.hook.d.mts +0 -9
  777. package/dist/botframework-webchat-api.hook.d.ts +0 -9
  778. package/dist/botframework-webchat-api.hook.js +0 -2
  779. package/dist/botframework-webchat-api.hook.js.map +0 -1
  780. package/dist/botframework-webchat-api.hook.mjs +0 -2
  781. package/dist/botframework-webchat-api.hook.mjs.map +0 -1
  782. package/dist/botframework-webchat-api.internal.d.ts +0 -68
  783. package/dist/botframework-webchat-api.internal.js +0 -2
  784. package/dist/botframework-webchat-api.internal.js.map +0 -1
  785. package/dist/botframework-webchat-api.js +0 -2
  786. package/dist/botframework-webchat-api.js.map +0 -1
  787. package/dist/botframework-webchat-api.middleware.d.mts +0 -45
  788. package/dist/botframework-webchat-api.middleware.d.ts +0 -45
  789. package/dist/botframework-webchat-api.middleware.js +0 -2
  790. package/dist/botframework-webchat-api.middleware.js.map +0 -1
  791. package/dist/botframework-webchat-api.middleware.mjs +0 -2
  792. package/dist/botframework-webchat-api.middleware.mjs.map +0 -1
  793. package/dist/chunk-3YCFZWVR.js +0 -2
  794. package/dist/chunk-3YCFZWVR.js.map +0 -1
  795. package/dist/chunk-5HALOM2E.mjs +0 -2
  796. package/dist/chunk-5HALOM2E.mjs.map +0 -1
  797. package/dist/chunk-5JETBPYY.mjs +0 -2
  798. package/dist/chunk-5JETBPYY.mjs.map +0 -1
  799. package/dist/chunk-5X4VJZOM.js +0 -2
  800. package/dist/chunk-5X4VJZOM.js.map +0 -1
  801. package/dist/chunk-7GV72C4W.js +0 -2
  802. package/dist/chunk-7GV72C4W.js.map +0 -1
  803. package/dist/chunk-A6GQOZT3.js +0 -2
  804. package/dist/chunk-A6GQOZT3.js.map +0 -1
  805. package/dist/chunk-C4R6NR53.mjs +0 -2
  806. package/dist/chunk-C4R6NR53.mjs.map +0 -1
  807. package/dist/chunk-CBZ43QWR.js +0 -2
  808. package/dist/chunk-CBZ43QWR.js.map +0 -1
  809. package/dist/chunk-CHK4LFTH.js +0 -2
  810. package/dist/chunk-CHK4LFTH.js.map +0 -1
  811. package/dist/chunk-CIL5QUZ4.js +0 -2
  812. package/dist/chunk-CIL5QUZ4.js.map +0 -1
  813. package/dist/chunk-DFT7HFE5.js +0 -2
  814. package/dist/chunk-DFT7HFE5.js.map +0 -1
  815. package/dist/chunk-FA2GLWPN.mjs +0 -2
  816. package/dist/chunk-FA2GLWPN.mjs.map +0 -1
  817. package/dist/chunk-FD7QXXVX.js +0 -2
  818. package/dist/chunk-FD7QXXVX.js.map +0 -1
  819. package/dist/chunk-G5ZR6XJL.js +0 -2
  820. package/dist/chunk-G5ZR6XJL.js.map +0 -1
  821. package/dist/chunk-HN2U3UQ3.mjs +0 -2
  822. package/dist/chunk-HN2U3UQ3.mjs.map +0 -1
  823. package/dist/chunk-JKWDQH6P.mjs +0 -2
  824. package/dist/chunk-JKWDQH6P.mjs.map +0 -1
  825. package/dist/chunk-LMAKRCAA.mjs +0 -2
  826. package/dist/chunk-LMAKRCAA.mjs.map +0 -1
  827. package/dist/chunk-NGAMGIOT.mjs +0 -2
  828. package/dist/chunk-NGAMGIOT.mjs.map +0 -1
  829. package/dist/chunk-NI6HIOVK.js +0 -2
  830. package/dist/chunk-NI6HIOVK.js.map +0 -1
  831. package/dist/chunk-RLEJOP6E.mjs +0 -2
  832. package/dist/chunk-RLEJOP6E.mjs.map +0 -1
  833. package/dist/chunk-SBCOSAZS.mjs +0 -2
  834. package/dist/chunk-SBCOSAZS.mjs.map +0 -1
  835. package/dist/chunk-VAX7AB37.mjs.map +0 -1
  836. package/dist/chunk-VNGDFILB.mjs +0 -2
  837. package/dist/chunk-VNGDFILB.mjs.map +0 -1
  838. package/dist/chunk-VUX2WFWT.js +0 -2
  839. package/dist/chunk-VUX2WFWT.js.map +0 -1
  840. package/dist/hook-BXcgekzo.d.mts +0 -536
  841. package/dist/hook-C8NHjp6P.d.ts +0 -536
  842. package/dist/metafile-cjs.json +0 -1
  843. package/dist/templateMiddleware-BEttHPJk.d.mts +0 -20
  844. package/dist/templateMiddleware-BEttHPJk.d.ts +0 -20
  845. package/dist/types-BKuj7f2p.d.ts +0 -228
  846. package/dist/types-BZzd7aAk.d.mts +0 -228
  847. package/graph.js +0 -3
  848. package/hook.js +0 -3
  849. package/middleware.js +0 -3
  850. package/src/__tests__/addMetaTag.spec.js +0 -9
  851. package/src/__tests__/addMetaTag.spec.mjs +0 -9
  852. package/src/boot/decorator.ts +0 -21
  853. package/src/boot/graph.ts +0 -1
  854. package/src/boot/hook.ts +0 -82
  855. package/src/boot/internal.ts +0 -7
  856. package/src/boot/middleware.ts +0 -60
  857. package/src/buildInfo.ts +0 -9
  858. package/src/decorator/ActivityBorder/ActivityBorderDecorator.tsx +0 -57
  859. package/src/decorator/ActivityBorder/private/ActivityBorderDecoratorMiddleware.ts +0 -34
  860. package/src/decorator/ActivityBorder/private/ActivityBorderDecoratorRequestContext.ts +0 -48
  861. package/src/decorator/ActivityGrouping/ActivityGroupingDecorator.tsx +0 -43
  862. package/src/decorator/ActivityGrouping/private/ActivityGroupingDecoratorMiddleware.ts +0 -40
  863. package/src/decorator/DecoratorComposer.tsx +0 -51
  864. package/src/decorator/internal/InternalDecoratorComposer.tsx +0 -33
  865. package/src/decorator/internal/LowPriorityDecoratorComposer.tsx +0 -19
  866. package/src/decorator/private/DecoratorComposerContext.ts +0 -16
  867. package/src/decorator/private/PassthroughFallback.tsx +0 -12
  868. package/src/decorator/private/templateDecorator.tsx +0 -113
  869. package/src/decorator/types.ts +0 -4
  870. package/src/decorator/useDecoratorRequest.ts +0 -15
  871. package/src/env.d.ts +0 -9
  872. package/src/errorBox/errorBoxTelemetryPolymiddleware.ts +0 -53
  873. package/src/hooks/internal/usePostVoiceActivity.ts +0 -18
  874. package/src/hooks/internal/useRegisterVoiceHandler.ts +0 -23
  875. package/src/hooks/internal/useShouldShowMicrophoneButton.ts +0 -22
  876. package/src/hooks/internal/useVoiceHandlers.ts +0 -11
  877. package/src/hooks/internal/useVoiceStateWritable.ts +0 -18
  878. package/src/hooks/middleware/activityFallbackPolymiddleware.ts +0 -23
  879. package/src/hooks/useStartVoice.ts +0 -9
  880. package/src/hooks/useStopVoice.ts +0 -9
  881. package/src/hooks/useUIState.ts +0 -18
  882. package/src/hooks/useVoiceRecordingMuted.ts +0 -24
  883. package/src/hooks/useVoiceState.ts +0 -15
  884. package/src/hooks/validation/uiState.parseUIState.spec.ts +0 -21
  885. package/src/hooks/validation/uiState.ts +0 -10
  886. package/src/legacy/LegacyActivityBridge.tsx +0 -77
  887. package/src/legacy/LegacyActivityBridgeContext.ts +0 -23
  888. package/src/legacy/createActivityPolymiddlewareFromLegacy.tsx +0 -123
  889. package/src/legacy/createAvatarPolymiddlewareFromLegacy.tsx +0 -102
  890. package/src/middleware/AvatarPolymiddlewareProxy.tsx +0 -46
  891. package/src/middleware/SendBoxMiddleware.ts +0 -28
  892. package/src/middleware/SendBoxToolbarMiddleware.ts +0 -28
  893. package/src/middleware/private/templateMiddleware.check.test.tsx +0 -47
  894. package/src/middleware/private/templateMiddleware.tsx +0 -106
  895. package/src/middleware/useBuildRenderAvatarCallback.ts +0 -37
  896. package/src/providers/ActivityTyping/private/useReduceActivities.spec.tsx +0 -236
  897. package/src/providers/ActivityTyping/private/useReduceActivities.ts +0 -49
  898. package/src/providers/Capabilities/CapabilitiesComposer.tsx +0 -53
  899. package/src/providers/Capabilities/private/Context.ts +0 -13
  900. package/src/providers/Capabilities/private/capabilityRegistry.ts +0 -45
  901. package/src/providers/Capabilities/private/fetchCapabilitiesFromAdapter.ts +0 -59
  902. package/src/providers/Capabilities/private/shallowEqual.ts +0 -18
  903. package/src/providers/Capabilities/private/useContext.ts +0 -12
  904. package/src/providers/Capabilities/types/Capabilities.ts +0 -16
  905. package/src/providers/Capabilities/useCapabilities.ts +0 -25
  906. package/src/providers/GroupActivities/GroupActivitiesComposer.tsx +0 -116
  907. package/src/providers/GroupActivities/private/GroupActivitiesContext.ts +0 -23
  908. package/src/providers/GroupActivities/private/createDefaultGroupActivitiesMiddleware.ts +0 -113
  909. package/src/providers/GroupActivities/private/isGroupingValid.ts +0 -41
  910. package/src/providers/GroupActivities/private/useGroupActivitiesContext.ts +0 -6
  911. package/src/providers/GroupActivities/useGroupActivities.ts +0 -20
  912. package/src/providers/GroupActivities/useGroupActivitiesByName.ts +0 -17
  913. package/src/providers/SpeechToSpeech/SpeechToSpeechComposer.tsx +0 -20
  914. package/src/providers/SpeechToSpeech/private/VoiceHandlerBridge.tsx +0 -23
  915. package/src/providers/SpeechToSpeech/private/VoiceRecorderBridge.tsx +0 -49
  916. package/src/providers/SpeechToSpeech/private/useAudioPlayer.spec.tsx +0 -355
  917. package/src/providers/SpeechToSpeech/private/useAudioPlayer.ts +0 -92
  918. package/src/providers/SpeechToSpeech/private/useRecorder.spec.tsx +0 -344
  919. package/src/providers/SpeechToSpeech/private/useRecorder.ts +0 -220
  920. package/src/providers/StyleOptions/StyleOptionsComposer.tsx +0 -46
  921. package/src/providers/StyleOptions/private/StyleOptionsContext.ts +0 -20
  922. package/src/providers/StyleOptions/private/rectifyStyleOptions.ts +0 -6
  923. package/src/providers/StyleOptions/useStyleOptions.ts +0 -6
  924. /package/dist/{botframework-webchat-api.graph.mjs.map → chunk-J6D5YEY6.mjs.map} +0 -0
@@ -1,106 +0,0 @@
1
- import { warnOnce } from '@msinternal/botframework-webchat-base/utils';
2
- import React, { memo, type ReactNode } from 'react';
3
- import { createChainOfResponsibility, type ComponentMiddleware } from 'react-chain-of-responsibility';
4
- import { array, function_, is, type InferOutput } from 'valibot';
5
-
6
- type MiddlewareWithInit<M extends ComponentMiddleware<any, any, any>, I> = (init: I) => ReturnType<M> | false;
7
-
8
- const arrayOfFunctionSchema = array(function_());
9
-
10
- /** @deprecated New middleware should use `templatePolymiddleware`. */
11
- const middlewareFactoryMarker = Symbol();
12
-
13
- const isArrayOfFunction = (middleware: unknown): middleware is InferOutput<typeof arrayOfFunctionSchema> =>
14
- is(arrayOfFunctionSchema, middleware);
15
-
16
- const EMPTY_ARRAY = Object.freeze([]);
17
-
18
- /** @deprecated New middleware should use `templatePolymiddleware`. */
19
- // Following @types/react to use {} for props.
20
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
21
- function templateMiddleware<Request, Props extends {}>(name: string) {
22
- type Middleware = ComponentMiddleware<Request, Props, string>;
23
-
24
- const createMiddleware = (enhancer: ReturnType<Middleware>): Middleware => {
25
- const factory: Middleware = init => init === name && enhancer;
26
-
27
- // This is for checking if the middleware is created via factory function or not.
28
- // We recommend middleware to be created using factory function.
29
- factory[middlewareFactoryMarker satisfies symbol] = middlewareFactoryMarker;
30
-
31
- return factory;
32
- };
33
-
34
- const warnInvalidExtraction = warnOnce(`Middleware passed for extraction of "${name}" must be an array of function`);
35
-
36
- const extractMiddleware = (
37
- middleware: readonly MiddlewareWithInit<ComponentMiddleware<unknown, unknown>, string>[] | undefined
38
- ): readonly Middleware[] => {
39
- if (middleware) {
40
- if (isArrayOfFunction(middleware)) {
41
- return Object.freeze(
42
- middleware
43
- .map(middleware => {
44
- const result = middleware(name);
45
-
46
- if (typeof result !== 'function' && result !== false) {
47
- console.warn(`botframework-webchat: ${name}.middleware must return enhancer function or false`);
48
-
49
- return false;
50
- }
51
-
52
- return result;
53
- })
54
- .filter((enhancer): enhancer is ReturnType<Middleware> => !!enhancer)
55
- .map(enhancer => () => enhancer)
56
- );
57
- }
58
-
59
- warnInvalidExtraction();
60
- }
61
-
62
- return EMPTY_ARRAY;
63
- };
64
-
65
- const { Provider, Proxy } = createChainOfResponsibility<Request, Props, string>();
66
-
67
- type TemplatedProviderProps = {
68
- readonly children?: ReactNode | undefined;
69
- readonly middleware: readonly Middleware[];
70
- };
71
-
72
- // eslint-disable-next-line prefer-arrow-callback
73
- const TemplatedProvider = memo(function TemplatedProvider({ children, middleware }: TemplatedProviderProps) {
74
- return (
75
- <Provider init={name} middleware={middleware}>
76
- {children}
77
- </Provider>
78
- );
79
- });
80
-
81
- TemplatedProvider.displayName = `${name}Provider`;
82
-
83
- Proxy.displayName = `${name}Proxy`;
84
-
85
- return {
86
- createMiddleware,
87
- extractMiddleware,
88
- Provider: TemplatedProvider,
89
- Proxy,
90
- '~types': undefined as {
91
- middleware: Middleware;
92
- props: Props;
93
- request: Request;
94
- }
95
- };
96
- }
97
-
98
- /** @deprecated New middleware should use `templatePolymiddleware`. */
99
- type InferMiddleware<T extends { '~types': { middleware } }> = T['~types']['middleware'];
100
- /** @deprecated New middleware should use `templatePolymiddleware`. */
101
- type InferProps<T extends { '~types': { props } }> = T['~types']['props'];
102
- /** @deprecated New middleware should use `templatePolymiddleware`. */
103
- type InferRequest<T extends { '~types': { request } }> = T['~types']['request'];
104
-
105
- export default templateMiddleware;
106
- export { middlewareFactoryMarker, type InferMiddleware, type InferProps, type InferRequest };
@@ -1,37 +0,0 @@
1
- // We need to patch `useBuildRenderAvatarCallback()` from `api-middleware`.
2
- //
3
- // - Request of `useBuildRenderAvatarCallback()` should not need `styleOptions`
4
- // - We should call `useStyleOptions()` to get style options
5
- // - However, `api-middleware` is before `api`, so it do not have access to `useStyleOptions`
6
- //
7
- // Until we have `api-style-options`, we have to patch `useBuildRenderAvatarCallback()` inside `api`.
8
-
9
- import {
10
- __INTERNAL_DO_NOT_USE__avatarPolymiddlewareRequestStyleOptionsSymbol,
11
- useBuildRenderAvatarCallback as useBuildRenderAvatarCallbackRaw
12
- } from '@msinternal/botframework-webchat-api-middleware';
13
- import type { WebChatActivity } from 'botframework-webchat-core';
14
- import { useCallback } from 'react';
15
- import type { ComponentRenderer } from 'react-chain-of-responsibility/preview';
16
- import { useRefFrom } from 'use-ref-from';
17
- import { useStyleOptions } from '../hooks';
18
-
19
- export default function useBuildRenderAvatarCallback(): (request: {
20
- readonly activity: WebChatActivity;
21
- }) => ComponentRenderer<{ children?: never }> {
22
- const [styleOptions] = useStyleOptions();
23
-
24
- const renderAvatar = useBuildRenderAvatarCallbackRaw();
25
- const styleOptionsRef = useRefFrom(styleOptions);
26
-
27
- return useCallback<(request: { readonly activity: WebChatActivity }) => ReturnType<typeof renderAvatar>>(
28
- request =>
29
- renderAvatar(
30
- Object.freeze({
31
- activity: request.activity,
32
- [__INTERNAL_DO_NOT_USE__avatarPolymiddlewareRequestStyleOptionsSymbol]: styleOptionsRef.current
33
- })
34
- ),
35
- [renderAvatar, styleOptionsRef]
36
- );
37
- }
@@ -1,236 +0,0 @@
1
- /** @jest-environment @happy-dom/jest-environment */
2
- /// <reference types="jest" />
3
- /// <reference types="node" />
4
-
5
- import { render, type RenderResult } from '@testing-library/react';
6
- import type { WebChatActivity } from 'botframework-webchat-core';
7
- import type { LocalId } from 'botframework-webchat-core/activity.js';
8
- import React, { type ComponentType } from 'react';
9
- import { type useActivities as UseActivitiesType } from '../../../hooks';
10
- import type UseReduceActivitiesType from './useReduceActivities';
11
-
12
- type UseReduceActivitiesFn = Parameters<typeof UseReduceActivitiesType>[0];
13
-
14
- const ACTIVITY_TEMPLATE = {
15
- channelData: {
16
- 'webchat:internal:local-id': '_:a-00001' as LocalId,
17
- 'webchat:internal:position': 0,
18
- 'webchat:sequence-id': 0,
19
- 'webchat:send-status': undefined
20
- },
21
- from: { id: 'bot', role: 'bot' },
22
- id: 'a-00001',
23
- text: '',
24
- timestamp: '2025-03-10T12:34:56.789Z',
25
- type: 'message'
26
- } satisfies WebChatActivity & { type: 'message' };
27
-
28
- describe('setup', () => {
29
- let HookApp: ComponentType<{ fn: UseReduceActivitiesFn }>;
30
- let useActivities: jest.Mock<ReturnType<typeof UseActivitiesType>, Parameters<typeof UseActivitiesType>>;
31
- let useReduceActivities: jest.Mock<
32
- ReturnType<typeof UseReduceActivitiesType>,
33
- Parameters<typeof UseReduceActivitiesType>
34
- >;
35
- let fn: jest.Mock<ReturnType<UseReduceActivitiesFn>, Parameters<UseReduceActivitiesFn>>;
36
- let renderResult: RenderResult;
37
-
38
- beforeEach(() => {
39
- jest.mock('../../../hooks', () => ({ __esModule: true, useActivities: jest.fn(() => [[]]) }));
40
-
41
- ({ useActivities } = require('../../../hooks'));
42
-
43
- useReduceActivities = jest.fn(require('./useReduceActivities').default);
44
-
45
- fn = jest.fn().mockImplementation((prevResult, activity) => ({
46
- maxText: prevResult?.maxText > activity['text'] ? prevResult?.maxText : activity['text']
47
- }));
48
-
49
- HookApp = ({ fn }) => {
50
- useReduceActivities(fn);
51
-
52
- return null;
53
- };
54
- });
55
-
56
- test('reduce nothing', () => {
57
- render(<HookApp fn={fn} />);
58
-
59
- expect(fn).toHaveBeenCalledTimes(0);
60
- });
61
-
62
- describe('when the first activity is received', () => {
63
- let firstActivity: WebChatActivity;
64
-
65
- beforeEach(() => {
66
- firstActivity = { ...ACTIVITY_TEMPLATE, id: 'a-00001', text: 'Aloha!' };
67
-
68
- useActivities.mockImplementationOnce(() => [[firstActivity]]);
69
-
70
- renderResult = render(<HookApp fn={fn} />);
71
- });
72
-
73
- describe('fn() should have been called', () => {
74
- test('once', () => expect(fn).toHaveBeenCalledTimes(1));
75
- test('with the activity', () =>
76
- expect(fn).toHaveBeenLastCalledWith(undefined, firstActivity, 0, expect.arrayContaining([])));
77
- });
78
-
79
- test('return value should be derived from the first activity', () =>
80
- expect(useReduceActivities).toHaveLastReturnedWith({ maxText: 'Aloha!' }));
81
-
82
- describe('when the second activity is received', () => {
83
- let secondActivity: WebChatActivity;
84
-
85
- beforeEach(() => {
86
- secondActivity = { ...ACTIVITY_TEMPLATE, id: 'a-00002', text: 'Hello, World!' };
87
-
88
- useActivities.mockImplementationOnce(() => [[firstActivity, secondActivity]]);
89
-
90
- renderResult.rerender(<HookApp fn={fn} />);
91
- });
92
-
93
- describe('fn() should have been called', () => {
94
- test('twice in total', () => expect(fn).toHaveBeenCalledTimes(2));
95
- test('with the second activity', () =>
96
- expect(fn).toHaveBeenLastCalledWith({ maxText: 'Aloha!' }, secondActivity, 1, expect.arrayContaining([])));
97
-
98
- test('return value should be derived from the second activity', () =>
99
- expect(useReduceActivities).toHaveLastReturnedWith({ maxText: 'Hello, World!' }));
100
- });
101
-
102
- describe('when the third activity is inserted between the first and second activity', () => {
103
- let thirdActivity: WebChatActivity;
104
-
105
- beforeEach(() => {
106
- thirdActivity = { ...ACTIVITY_TEMPLATE, id: 'a-00003', text: 'Morning!' };
107
-
108
- useActivities.mockImplementationOnce(() => [[firstActivity, thirdActivity, secondActivity]]);
109
-
110
- renderResult.rerender(<HookApp fn={fn} />);
111
- });
112
-
113
- describe('fn() should have been called', () => {
114
- // It should call 2 more times because the first one should be from cache.
115
- test('4 times in total', () => expect(fn).toHaveBeenCalledTimes(4));
116
-
117
- test('with the third activity on 3rd call', () =>
118
- expect(fn).toHaveBeenNthCalledWith(3, { maxText: 'Aloha!' }, thirdActivity, 1, expect.arrayContaining([])));
119
- test('with the second activity on 4th call', () =>
120
- expect(fn).toHaveBeenNthCalledWith(
121
- 4,
122
- { maxText: 'Morning!' },
123
- secondActivity,
124
- 2,
125
- expect.arrayContaining([])
126
- ));
127
- });
128
-
129
- test('return value should be derived from the third activity', () =>
130
- expect(useReduceActivities).toHaveLastReturnedWith({ maxText: 'Morning!' }));
131
-
132
- describe('when all activities are removed', () => {
133
- beforeEach(() => {
134
- useActivities.mockImplementationOnce(() => [[]]);
135
-
136
- renderResult.rerender(<HookApp fn={fn} />);
137
- });
138
-
139
- test('should not call fn()', () => expect(fn).toHaveBeenCalledTimes(4));
140
- test('return value should be undefined', () => expect(useReduceActivities).toHaveLastReturnedWith(undefined));
141
- });
142
-
143
- describe('when the third activity is being replaced', () => {
144
- let fourthActivity: WebChatActivity;
145
-
146
- beforeEach(() => {
147
- fourthActivity = { ...ACTIVITY_TEMPLATE, id: 'a-00004', text: 'Good morning!' };
148
-
149
- useActivities.mockImplementationOnce(() => [[firstActivity, fourthActivity, secondActivity]]);
150
-
151
- renderResult.rerender(<HookApp fn={fn} />);
152
- });
153
-
154
- describe('fn() should have been called', () => {
155
- // It should call 2 more times because the first one should be from cache.
156
- test('6 times in total', () => expect(fn).toHaveBeenCalledTimes(6));
157
-
158
- test('with the fourth activity on 5rd call', () =>
159
- expect(fn).toHaveBeenNthCalledWith(
160
- 5,
161
- { maxText: 'Aloha!' },
162
- fourthActivity,
163
- 1,
164
- expect.arrayContaining([])
165
- ));
166
-
167
- test('with the second activity on 6th call', () =>
168
- expect(fn).toHaveBeenNthCalledWith(
169
- 6,
170
- { maxText: 'Good morning!' },
171
- secondActivity,
172
- 2,
173
- expect.arrayContaining([])
174
- ));
175
-
176
- test('return value should be derived from the second activity', () =>
177
- expect(useReduceActivities).toHaveLastReturnedWith({ maxText: 'Hello, World!' }));
178
- });
179
- });
180
- });
181
-
182
- describe('when the first activity is removed', () => {
183
- beforeEach(() => {
184
- useActivities.mockImplementationOnce(() => [[secondActivity]]);
185
-
186
- renderResult.rerender(<HookApp fn={fn} />);
187
- });
188
-
189
- describe('should call fn', () => {
190
- test('3 times in total', () => expect(fn).toHaveBeenCalledTimes(3));
191
- test('with the second activity only', () =>
192
- expect(fn).toHaveBeenLastCalledWith(undefined, secondActivity, 0, expect.arrayContaining([])));
193
- });
194
-
195
- test('return value should be derived from the second activity', () =>
196
- expect(useReduceActivities).toHaveLastReturnedWith({ maxText: 'Hello, World!' }));
197
- });
198
-
199
- describe('when the second activity is removed', () => {
200
- beforeEach(() => {
201
- useActivities.mockImplementationOnce(() => [[firstActivity]]);
202
-
203
- renderResult.rerender(<HookApp fn={fn} />);
204
- });
205
-
206
- describe('should not call fn()', () => test('once', () => expect(fn).toHaveBeenCalledTimes(2)));
207
-
208
- test('return value should be derived from the first activity', () =>
209
- expect(useReduceActivities).toHaveLastReturnedWith({ maxText: 'Aloha!' }));
210
- });
211
- });
212
-
213
- describe('when all activities are removed', () => {
214
- beforeEach(() => {
215
- useActivities.mockImplementationOnce(() => [[]]);
216
-
217
- renderResult.rerender(<HookApp fn={fn} />);
218
- });
219
-
220
- test('should not call fn()', () => expect(fn).toHaveBeenCalledTimes(1));
221
- test('return value should be undefined', () => expect(useReduceActivities).toHaveLastReturnedWith(undefined));
222
- });
223
-
224
- describe('when activities are unchanged', () => {
225
- beforeEach(() => {
226
- useActivities.mockImplementationOnce(() => [[firstActivity]]);
227
-
228
- renderResult.rerender(<HookApp fn={fn} />);
229
- });
230
-
231
- test('should not call fn()', () => expect(fn).toHaveBeenCalledTimes(1));
232
- test('return value should be derived from the first activity', () =>
233
- expect(useReduceActivities).toHaveLastReturnedWith({ maxText: 'Aloha!' }));
234
- });
235
- });
236
- });
@@ -1,49 +0,0 @@
1
- import { useMemoWithPrevious } from '@msinternal/botframework-webchat-react-hooks';
2
- import { type WebChatActivity } from 'botframework-webchat-core';
3
-
4
- import { useActivities } from '../../../hooks';
5
-
6
- type Entry<T> = Readonly<{
7
- activity: WebChatActivity;
8
- value: T | undefined;
9
- }>;
10
-
11
- export default function useReduceActivities<T>(
12
- fn: (prevValue: T, activity: WebChatActivity, index: number, activities: Readonly<WebChatActivity[]>) => T
13
- ): T {
14
- const [activities] = useActivities();
15
-
16
- const state = useMemoWithPrevious<readonly Entry<T>[]>(
17
- (state = Object.freeze([])) => {
18
- let changed = activities.length !== state.length;
19
- let prevValue: T | undefined;
20
- let shouldRecompute = false;
21
-
22
- const nextState = activities.map<Entry<T>>((activity, index) => {
23
- const entry = state[+index];
24
-
25
- if (!shouldRecompute && Object.is(entry?.activity, activity)) {
26
- prevValue = entry?.value;
27
-
28
- // Skips the activity if it has been reduced in the past render loop.
29
- return entry;
30
- }
31
-
32
- changed = true;
33
- shouldRecompute = true;
34
-
35
- return Object.freeze({
36
- activity,
37
- value: (prevValue = fn(prevValue, activity, index, activities))
38
- });
39
- });
40
-
41
- // Returns the original array if nothing changed.
42
- return changed ? nextState : state;
43
- },
44
- [activities, fn]
45
- );
46
-
47
- // eslint-disable-next-line no-magic-numbers
48
- return state.at(-1)?.value;
49
- }
@@ -1,53 +0,0 @@
1
- import React, { memo, useCallback, useEffect, useMemo, useState, type ReactNode } from 'react';
2
-
3
- import useWebChatAPIContext from '../../hooks/internal/useWebChatAPIContext';
4
- import CapabilitiesContext from './private/Context';
5
- import fetchCapabilitiesFromAdapter from './private/fetchCapabilitiesFromAdapter';
6
- import type { Capabilities } from './types/Capabilities';
7
-
8
- type Props = Readonly<{ children?: ReactNode | undefined }>;
9
-
10
- const EMPTY_CAPABILITIES: Capabilities = Object.freeze({});
11
-
12
- /**
13
- * Composer that provides capabilities from the adapter via EventTarget pattern.
14
- *
15
- * Design principles:
16
- * 1. Initial fetch: Pulls capabilities from adapter on mount
17
- * 2. Event-driven updates: Re-fetches when adapter dispatches 'capabilitieschanged' event
18
- * 3. Stable references: Individual capability objects maintain reference equality if unchanged
19
- * - This ensures consumers using selectors only re-render when their capability changes
20
- */
21
- const CapabilitiesComposer = memo(({ children }: Props) => {
22
- const { directLine } = useWebChatAPIContext();
23
-
24
- const getAllCapabilities = useCallback(
25
- () => fetchCapabilitiesFromAdapter(directLine, EMPTY_CAPABILITIES).capabilities,
26
- [directLine]
27
- );
28
-
29
- const [capabilities, setCapabilities] = useState<Capabilities>(() => getAllCapabilities());
30
-
31
- useEffect(() => {
32
- const handleCapabilitiesChange = () => {
33
- setCapabilities(prevCapabilities => {
34
- const { capabilities, hasChanged } = fetchCapabilitiesFromAdapter(directLine, prevCapabilities);
35
- return hasChanged ? capabilities : prevCapabilities;
36
- });
37
- };
38
-
39
- if (typeof directLine?.addEventListener === 'function') {
40
- directLine.addEventListener('capabilitieschanged', handleCapabilitiesChange);
41
-
42
- return () => directLine.removeEventListener('capabilitieschanged', handleCapabilitiesChange);
43
- }
44
- }, [directLine]);
45
-
46
- const contextValue = useMemo(() => Object.freeze({ capabilities }), [capabilities]);
47
-
48
- return <CapabilitiesContext.Provider value={contextValue}>{children}</CapabilitiesContext.Provider>;
49
- });
50
-
51
- CapabilitiesComposer.displayName = 'CapabilitiesComposer';
52
-
53
- export default CapabilitiesComposer;
@@ -1,13 +0,0 @@
1
- import { createContext } from 'react';
2
- import type { Capabilities } from '../types/Capabilities';
3
-
4
- type CapabilitiesContextType = Readonly<{
5
- capabilities: Capabilities;
6
- }>;
7
-
8
- const CapabilitiesContext = createContext<CapabilitiesContextType | undefined>(undefined);
9
-
10
- CapabilitiesContext.displayName = 'CapabilitiesContext';
11
-
12
- export default CapabilitiesContext;
13
- export type { CapabilitiesContextType };
@@ -1,45 +0,0 @@
1
- import type { Capabilities } from '../types/Capabilities';
2
-
3
- /**
4
- * Descriptor for a capability that can be fetched from the adapter.
5
- */
6
- export type CapabilityDescriptor<K extends keyof Capabilities> = {
7
- /** The key in the Capabilities object */
8
- readonly key: K;
9
- /** The getter function name on the adapter (e.g., 'getVoiceConfiguration') */
10
- readonly getterName: string;
11
- /**
12
- * Custom equality comparator for this capability.
13
- * If not provided, uses shallow object comparison.
14
- * Return true if values are equal (should reuse previous reference).
15
- */
16
- readonly isEqual?: (a: Capabilities[K], b: Capabilities[K]) => boolean;
17
- };
18
-
19
- /**
20
- * Registry of all capabilities.
21
- *
22
- * To add a new capability:
23
- * 1. Add type to Capabilities interface in types/Capabilities.ts
24
- * 2. Add entry here with key, getterName, and optional custom isEqual
25
- *
26
- * @example
27
- * // Simple capability (uses default shallowEqual)
28
- * { key: 'voiceConfiguration', getterName: 'getVoiceConfiguration' }
29
- *
30
- * @example
31
- * // Capability with custom equality check
32
- * {
33
- * key: 'complexConfig',
34
- * getterName: 'getComplexConfig',
35
- * isEqual: (a, b) => a?.nested?.value === b?.nested?.value
36
- * }
37
- */
38
- const CAPABILITY_REGISTRY: readonly CapabilityDescriptor<keyof Capabilities>[] = Object.freeze([
39
- {
40
- key: 'voiceConfiguration',
41
- getterName: 'getVoiceConfiguration'
42
- }
43
- ]);
44
-
45
- export default CAPABILITY_REGISTRY;
@@ -1,59 +0,0 @@
1
- import { DirectLineJSBotConnection, isForbiddenPropertyName } from 'botframework-webchat-core';
2
- import type { Capabilities } from '../types/Capabilities';
3
- import CAPABILITY_REGISTRY from './capabilityRegistry';
4
- import shallowEqual from './shallowEqual';
5
-
6
- type FetchResult = {
7
- capabilities: Capabilities;
8
- hasChanged: boolean;
9
- };
10
-
11
- /**
12
- * Fetches all capabilities from the adapter based on the registry.
13
- * Returns a new capabilities object with values fetched from the adapter.
14
- */
15
- export default function fetchCapabilitiesFromAdapter(
16
- directLine: DirectLineJSBotConnection,
17
- prevCapabilities: Capabilities
18
- ): FetchResult {
19
- let hasChanged = false;
20
-
21
- const entries: [string, unknown][] = [];
22
-
23
- for (const descriptor of CAPABILITY_REGISTRY) {
24
- const { key, getterName, isEqual = shallowEqual } = descriptor;
25
-
26
- if (isForbiddenPropertyName(key) || isForbiddenPropertyName(getterName)) {
27
- continue;
28
- }
29
-
30
- // eslint-disable-next-line security/detect-object-injection
31
- const getter = directLine?.[getterName];
32
-
33
- if (typeof getter === 'function') {
34
- try {
35
- const fetchedValue = getter.call(directLine);
36
- // eslint-disable-next-line security/detect-object-injection
37
- const prevValue = prevCapabilities[key];
38
-
39
- if (fetchedValue) {
40
- if (typeof prevValue !== 'undefined' && isEqual(prevValue, fetchedValue)) {
41
- entries.push([key, prevValue]);
42
- } else {
43
- entries.push([key, Object.freeze({ ...fetchedValue })]);
44
- hasChanged = true;
45
- }
46
- } else if (typeof prevValue !== 'undefined') {
47
- hasChanged = true;
48
- }
49
- } catch (error) {
50
- console.warn(`botframework-webchat: Error calling capability ${getterName}:`, error);
51
- }
52
- }
53
- }
54
-
55
- return {
56
- capabilities: Object.freeze(Object.fromEntries(entries)) as Capabilities,
57
- hasChanged
58
- };
59
- }
@@ -1,18 +0,0 @@
1
- import { isForbiddenPropertyName } from 'botframework-webchat-core';
2
-
3
- // TODO: [P2] Move this file to `base` package.
4
- export default function shallowEqual(x, y) {
5
- if (x === y) {
6
- return true;
7
- }
8
-
9
- const xKeys = Object.keys(x);
10
- const yKeys = Object.keys(y);
11
-
12
- return (
13
- xKeys.length === yKeys.length &&
14
- // Mitigated through denylisting.
15
- // eslint-disable-next-line security/detect-object-injection
16
- xKeys.every(key => !isForbiddenPropertyName(key) && yKeys.includes(key) && x[key] === y[key])
17
- );
18
- }
@@ -1,12 +0,0 @@
1
- import { useContext } from 'react';
2
- import CapabilitiesContext, { type CapabilitiesContextType } from './Context';
3
-
4
- export default function useCapabilitiesContext(): CapabilitiesContextType {
5
- const context = useContext(CapabilitiesContext);
6
-
7
- if (!context) {
8
- throw new Error('botframework-webchat internal: This hook can only be used under <CapabilitiesComposer>.');
9
- }
10
-
11
- return context;
12
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * All capabilities are optional as they depend on adapter/server support.
3
- */
4
- type Capabilities = Readonly<{
5
- voiceConfiguration?: VoiceConfiguration | undefined;
6
- }>;
7
-
8
- /**
9
- * Optional for adapter/server to provide these configs for speech-to-speech.
10
- */
11
- type VoiceConfiguration = Readonly<{
12
- chunkIntervalMs: number;
13
- sampleRate: number;
14
- }>;
15
-
16
- export type { Capabilities, VoiceConfiguration };
@@ -1,25 +0,0 @@
1
- import { useMemo, useRef } from 'react';
2
- import useCapabilitiesContext from './private/useContext';
3
- import type { Capabilities } from './types/Capabilities';
4
-
5
- /**
6
- * Hook to access adapter capabilities with a selector function.
7
- * Only triggers re-render when the selected value changes (shallow comparison).
8
- *
9
- * @example
10
- * // Get voice configuration only
11
- * const voiceConfig = useCapabilities(caps => caps.voiceConfiguration);
12
- */
13
- export default function useCapabilities<T>(selector: (capabilities: Capabilities) => T): T {
14
- const { capabilities } = useCapabilitiesContext();
15
- const selectedValue = selector(capabilities);
16
- const prevSelectedValueRef = useRef<T>(selectedValue);
17
-
18
- return useMemo(() => {
19
- if (Object.is(prevSelectedValueRef.current, selectedValue)) {
20
- return prevSelectedValueRef.current;
21
- }
22
- prevSelectedValueRef.current = selectedValue;
23
- return selectedValue;
24
- }, [selectedValue]);
25
- }