botframework-webchat-api 4.13.0 → 4.14.2

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 (544) hide show
  1. package/.eslintignore +1 -9
  2. package/.eslintrc.yml +43 -38
  3. package/lib/StyleOptions.d.ts +28 -3
  4. package/lib/StyleOptions.d.ts.map +1 -1
  5. package/lib/defaultStyleOptions.d.ts +4 -0
  6. package/lib/defaultStyleOptions.d.ts.map +1 -0
  7. package/lib/defaultStyleOptions.js +7 -3
  8. package/lib/external/PrecompiledGlobalize.js +24 -6
  9. package/lib/hooks/Composer.d.ts +71 -0
  10. package/lib/hooks/Composer.d.ts.map +1 -0
  11. package/lib/hooks/Composer.js +104 -88
  12. package/lib/hooks/index.d.ts +64 -0
  13. package/lib/hooks/index.d.ts.map +1 -0
  14. package/lib/hooks/index.js +9 -1
  15. package/lib/hooks/internal/ErrorBox.js +2 -2
  16. package/lib/hooks/internal/Tracker.d.ts +4 -0
  17. package/lib/hooks/internal/Tracker.d.ts.map +1 -0
  18. package/lib/hooks/internal/WebChatAPIContext.d.ts +81 -0
  19. package/lib/hooks/internal/WebChatAPIContext.d.ts.map +1 -0
  20. package/lib/hooks/internal/WebChatAPIContext.js +2 -4
  21. package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts +4 -0
  22. package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts.map +1 -0
  23. package/lib/hooks/internal/useCreateActivityRendererInternal.js +1 -1
  24. package/lib/hooks/internal/useDebugDeps.js +2 -2
  25. package/lib/hooks/internal/useDownscaleImageToDataURL.js +1 -1
  26. package/lib/hooks/internal/useErrorBoxClass.js +1 -1
  27. package/lib/hooks/internal/useForceRender.js +2 -2
  28. package/lib/hooks/internal/useLocalizedStrings.js +1 -1
  29. package/lib/hooks/internal/useReadTelemetryDimensions.js +2 -2
  30. package/lib/hooks/internal/useTimePassed.js +2 -2
  31. package/lib/hooks/internal/useTracker.js +2 -2
  32. package/lib/hooks/middleware/UserlandBoundary.js +4 -4
  33. package/lib/hooks/middleware/applyMiddleware.js +6 -6
  34. package/lib/hooks/middleware/concatMiddleware.d.ts +6 -0
  35. package/lib/hooks/middleware/concatMiddleware.d.ts.map +1 -0
  36. package/lib/hooks/middleware/concatMiddleware.js +2 -2
  37. package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts +3 -0
  38. package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts.map +1 -0
  39. package/lib/hooks/middleware/createDefaultCardActionMiddleware.js +6 -8
  40. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts +5 -0
  41. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +1 -0
  42. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +1 -1
  43. package/lib/hooks/useActiveTyping.d.ts +6 -0
  44. package/lib/hooks/useActiveTyping.d.ts.map +1 -0
  45. package/lib/hooks/useActiveTyping.js +4 -4
  46. package/lib/hooks/useActivities.d.ts +3 -0
  47. package/lib/hooks/useActivities.d.ts.map +1 -0
  48. package/lib/hooks/useActivities.js +1 -1
  49. package/lib/hooks/useAvatarForBot.d.ts +5 -0
  50. package/lib/hooks/useAvatarForBot.d.ts.map +1 -0
  51. package/lib/hooks/useAvatarForBot.js +2 -2
  52. package/lib/hooks/useAvatarForUser.d.ts +5 -0
  53. package/lib/hooks/useAvatarForUser.d.ts.map +1 -0
  54. package/lib/hooks/useAvatarForUser.js +2 -2
  55. package/lib/hooks/useByteFormatter.d.ts +2 -0
  56. package/lib/hooks/useByteFormatter.d.ts.map +1 -0
  57. package/lib/hooks/useByteFormatter.js +2 -2
  58. package/lib/hooks/useConnectivityStatus.d.ts +2 -0
  59. package/lib/hooks/useConnectivityStatus.d.ts.map +1 -0
  60. package/lib/hooks/useConnectivityStatus.js +1 -1
  61. package/lib/hooks/useCreateActivityRenderer.d.ts +3 -0
  62. package/lib/hooks/useCreateActivityRenderer.d.ts.map +1 -0
  63. package/lib/hooks/useCreateActivityRenderer.js +1 -2
  64. package/lib/hooks/useCreateActivityStatusRenderer.d.ts +9 -0
  65. package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +1 -0
  66. package/lib/hooks/useCreateActivityStatusRenderer.js +6 -4
  67. package/lib/hooks/useCreateAvatarRenderer.d.ts +4 -0
  68. package/lib/hooks/useCreateAvatarRenderer.d.ts.map +1 -0
  69. package/lib/hooks/useCreateAvatarRenderer.js +2 -2
  70. package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts +3 -0
  71. package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts.map +1 -0
  72. package/lib/hooks/useCreateScrollToEndButtonRenderer.js +15 -0
  73. package/lib/hooks/useDateFormatter.d.ts +2 -0
  74. package/lib/hooks/useDateFormatter.d.ts.map +1 -0
  75. package/lib/hooks/useDateFormatter.js +2 -2
  76. package/lib/hooks/useDebouncedNotifications.d.ts +13 -0
  77. package/lib/hooks/useDebouncedNotifications.d.ts.map +1 -0
  78. package/lib/hooks/useDebouncedNotifications.js +6 -6
  79. package/lib/hooks/useDictateInterims.d.ts +2 -0
  80. package/lib/hooks/useDictateInterims.d.ts.map +1 -0
  81. package/lib/hooks/useDictateInterims.js +1 -1
  82. package/lib/hooks/useDictateState.d.ts +2 -0
  83. package/lib/hooks/useDictateState.d.ts.map +1 -0
  84. package/lib/hooks/useDictateState.js +1 -1
  85. package/lib/hooks/useDirection.d.ts +2 -0
  86. package/lib/hooks/useDirection.d.ts.map +1 -0
  87. package/lib/hooks/useDirection.js +2 -2
  88. package/lib/hooks/useDisabled.d.ts +2 -0
  89. package/lib/hooks/useDisabled.d.ts.map +1 -0
  90. package/lib/hooks/useDisabled.js +1 -1
  91. package/lib/hooks/useDismissNotification.d.ts +2 -0
  92. package/lib/hooks/useDismissNotification.d.ts.map +1 -0
  93. package/lib/hooks/useDismissNotification.js +1 -1
  94. package/lib/hooks/useEmitTypingIndicator.d.ts +2 -0
  95. package/lib/hooks/useEmitTypingIndicator.d.ts.map +1 -0
  96. package/lib/hooks/useEmitTypingIndicator.js +1 -1
  97. package/lib/hooks/useGetSendTimeoutForActivity.d.ts +5 -0
  98. package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +1 -0
  99. package/lib/hooks/useGetSendTimeoutForActivity.js +2 -2
  100. package/lib/hooks/useGrammars.d.ts +2 -0
  101. package/lib/hooks/useGrammars.d.ts.map +1 -0
  102. package/lib/hooks/useGrammars.js +1 -1
  103. package/lib/hooks/useGroupActivities.d.ts +8 -0
  104. package/lib/hooks/useGroupActivities.d.ts.map +1 -0
  105. package/lib/hooks/useGroupActivities.js +1 -1
  106. package/lib/hooks/useGroupTimestamp.d.ts +2 -0
  107. package/lib/hooks/useGroupTimestamp.d.ts.map +1 -0
  108. package/lib/hooks/useGroupTimestamp.js +2 -2
  109. package/lib/hooks/useLanguage.d.ts +2 -0
  110. package/lib/hooks/useLanguage.d.ts.map +1 -0
  111. package/lib/hooks/useLanguage.js +1 -1
  112. package/lib/hooks/useLastTypingAt.d.ts +5 -0
  113. package/lib/hooks/useLastTypingAt.d.ts.map +1 -0
  114. package/lib/hooks/useLastTypingAt.js +2 -1
  115. package/lib/hooks/useLocalize.d.ts +3 -0
  116. package/lib/hooks/useLocalize.d.ts.map +1 -0
  117. package/lib/hooks/useLocalize.js +5 -2
  118. package/lib/hooks/useLocalizeDate.d.ts +3 -0
  119. package/lib/hooks/useLocalizeDate.d.ts.map +1 -0
  120. package/lib/hooks/useLocalizeDate.js +3 -2
  121. package/lib/hooks/useLocalizer.d.ts +13 -0
  122. package/lib/hooks/useLocalizer.d.ts.map +1 -0
  123. package/lib/hooks/useLocalizer.js +10 -6
  124. package/lib/hooks/useMarkActivityAsSpoken.d.ts +3 -0
  125. package/lib/hooks/useMarkActivityAsSpoken.d.ts.map +1 -0
  126. package/lib/hooks/useMarkActivityAsSpoken.js +1 -1
  127. package/lib/hooks/useNotifications.d.ts +3 -0
  128. package/lib/hooks/useNotifications.d.ts.map +1 -0
  129. package/lib/hooks/useNotifications.js +1 -1
  130. package/lib/hooks/usePerformCardAction.d.ts +3 -0
  131. package/lib/hooks/usePerformCardAction.d.ts.map +1 -0
  132. package/lib/hooks/usePerformCardAction.js +1 -1
  133. package/lib/hooks/usePostActivity.d.ts +4 -0
  134. package/lib/hooks/usePostActivity.d.ts.map +1 -0
  135. package/lib/hooks/usePostActivity.js +1 -1
  136. package/lib/hooks/useReferenceGrammarID.d.ts +2 -0
  137. package/lib/hooks/useReferenceGrammarID.d.ts.map +1 -0
  138. package/lib/hooks/useReferenceGrammarID.js +1 -1
  139. package/lib/hooks/useRelativeTimeFormatter.d.ts +2 -0
  140. package/lib/hooks/useRelativeTimeFormatter.d.ts.map +1 -0
  141. package/lib/hooks/useRelativeTimeFormatter.js +2 -2
  142. package/lib/hooks/useRenderActivity.js +2 -1
  143. package/lib/hooks/useRenderActivityStatus.js +2 -1
  144. package/lib/hooks/useRenderAttachment.js +1 -1
  145. package/lib/hooks/useRenderAvatar.js +2 -1
  146. package/lib/hooks/useRenderToast.d.ts +3 -0
  147. package/lib/hooks/useRenderToast.d.ts.map +1 -0
  148. package/lib/hooks/useRenderToast.js +1 -1
  149. package/lib/hooks/useRenderTypingIndicator.d.ts +3 -0
  150. package/lib/hooks/useRenderTypingIndicator.d.ts.map +1 -0
  151. package/lib/hooks/useRenderTypingIndicator.js +1 -1
  152. package/lib/hooks/useSendBoxValue.d.ts +2 -0
  153. package/lib/hooks/useSendBoxValue.d.ts.map +1 -0
  154. package/lib/hooks/useSendBoxValue.js +1 -1
  155. package/lib/hooks/useSendEvent.d.ts +2 -0
  156. package/lib/hooks/useSendEvent.d.ts.map +1 -0
  157. package/lib/hooks/useSendEvent.js +1 -1
  158. package/lib/hooks/useSendFiles.d.ts +2 -0
  159. package/lib/hooks/useSendFiles.d.ts.map +1 -0
  160. package/lib/hooks/useSendFiles.js +1 -1
  161. package/lib/hooks/useSendMessage.d.ts +4 -0
  162. package/lib/hooks/useSendMessage.d.ts.map +1 -0
  163. package/lib/hooks/useSendMessage.js +1 -1
  164. package/lib/hooks/useSendMessageBack.d.ts +2 -0
  165. package/lib/hooks/useSendMessageBack.d.ts.map +1 -0
  166. package/lib/hooks/useSendMessageBack.js +1 -1
  167. package/lib/hooks/useSendPostBack.d.ts +2 -0
  168. package/lib/hooks/useSendPostBack.d.ts.map +1 -0
  169. package/lib/hooks/useSendPostBack.js +1 -1
  170. package/lib/hooks/useSendTimeoutForActivity.d.ts +4 -0
  171. package/lib/hooks/useSendTimeoutForActivity.d.ts.map +1 -0
  172. package/lib/hooks/useSendTimeoutForActivity.js +2 -1
  173. package/lib/hooks/useSendTypingIndicator.d.ts +2 -0
  174. package/lib/hooks/useSendTypingIndicator.d.ts.map +1 -0
  175. package/lib/hooks/useSendTypingIndicator.js +1 -1
  176. package/lib/hooks/useSetNotification.d.ts +3 -0
  177. package/lib/hooks/useSetNotification.d.ts.map +1 -0
  178. package/lib/hooks/useSetNotification.js +1 -1
  179. package/lib/hooks/useShouldSpeakIncomingActivity.d.ts +2 -0
  180. package/lib/hooks/useShouldSpeakIncomingActivity.d.ts.map +1 -0
  181. package/lib/hooks/useShouldSpeakIncomingActivity.js +1 -1
  182. package/lib/hooks/useStartDictate.d.ts +2 -0
  183. package/lib/hooks/useStartDictate.d.ts.map +1 -0
  184. package/lib/hooks/useStartDictate.js +1 -1
  185. package/lib/hooks/useStopDictate.d.ts +2 -0
  186. package/lib/hooks/useStopDictate.d.ts.map +1 -0
  187. package/lib/hooks/useStopDictate.js +1 -1
  188. package/lib/hooks/useStyleOptions.d.ts +3 -0
  189. package/lib/hooks/useStyleOptions.d.ts.map +1 -0
  190. package/lib/hooks/useStyleOptions.js +1 -1
  191. package/lib/hooks/useSubmitSendBox.d.ts +4 -0
  192. package/lib/hooks/useSubmitSendBox.d.ts.map +1 -0
  193. package/lib/hooks/useSubmitSendBox.js +1 -1
  194. package/lib/hooks/useSuggestedActions.d.ts +6 -0
  195. package/lib/hooks/useSuggestedActions.d.ts.map +1 -0
  196. package/lib/hooks/useSuggestedActions.js +1 -1
  197. package/lib/hooks/useTimeoutForSend.d.ts +3 -0
  198. package/lib/hooks/useTimeoutForSend.d.ts.map +1 -0
  199. package/lib/hooks/useTimeoutForSend.js +2 -2
  200. package/lib/hooks/useTrackDimension.d.ts +2 -0
  201. package/lib/hooks/useTrackDimension.d.ts.map +1 -0
  202. package/lib/hooks/useTrackDimension.js +1 -1
  203. package/lib/hooks/useTrackEvent.d.ts +10 -0
  204. package/lib/hooks/useTrackEvent.d.ts.map +1 -0
  205. package/lib/hooks/useTrackEvent.js +1 -1
  206. package/lib/hooks/useTrackException.d.ts +2 -0
  207. package/lib/hooks/useTrackException.d.ts.map +1 -0
  208. package/lib/hooks/useTrackException.js +2 -2
  209. package/lib/hooks/useTrackTiming.d.ts +2 -0
  210. package/lib/hooks/useTrackTiming.d.ts.map +1 -0
  211. package/lib/hooks/useTrackTiming.js +1 -1
  212. package/lib/hooks/useUserID.d.ts +2 -0
  213. package/lib/hooks/useUserID.d.ts.map +1 -0
  214. package/lib/hooks/useUserID.js +1 -1
  215. package/lib/hooks/useUsername.d.ts +2 -0
  216. package/lib/hooks/useUsername.d.ts.map +1 -0
  217. package/lib/hooks/useUsername.js +1 -1
  218. package/lib/hooks/useVoiceSelector.d.ts +2 -0
  219. package/lib/hooks/useVoiceSelector.d.ts.map +1 -0
  220. package/lib/hooks/useVoiceSelector.js +1 -1
  221. package/lib/hooks/utils/ErrorBoundary.js +3 -3
  222. package/lib/hooks/utils/observableToPromise.d.ts +3 -0
  223. package/lib/hooks/utils/observableToPromise.d.ts.map +1 -0
  224. package/lib/hooks/utils/observableToPromise.js +1 -1
  225. package/lib/index.d.ts +20 -4
  226. package/lib/index.d.ts.map +1 -1
  227. package/lib/index.js +3 -3
  228. package/lib/localization/Localize.d.ts +10 -0
  229. package/lib/localization/Localize.d.ts.map +1 -0
  230. package/lib/localization/Localize.js +7 -7
  231. package/lib/localization/ar-SA.json +1 -0
  232. package/lib/localization/bg-BG.json +1 -0
  233. package/lib/localization/ca-ES.json +1 -0
  234. package/lib/localization/cs-CZ.json +1 -0
  235. package/lib/localization/da-DK.json +1 -0
  236. package/lib/localization/de-DE.json +1 -0
  237. package/lib/localization/el-GR.json +1 -0
  238. package/lib/localization/en-US.json +1 -0
  239. package/lib/localization/es-ES.json +1 -0
  240. package/lib/localization/et-EE.json +1 -0
  241. package/lib/localization/eu-ES.json +1 -0
  242. package/lib/localization/fi-FI.json +1 -0
  243. package/lib/localization/fr-FR.json +1 -0
  244. package/lib/localization/getAllLocalizedStrings.d.ts +6 -0
  245. package/lib/localization/getAllLocalizedStrings.d.ts.map +1 -0
  246. package/lib/localization/getAllLocalizedStrings.js +1 -1
  247. package/lib/localization/getLocaleString.d.ts +2 -0
  248. package/lib/localization/getLocaleString.d.ts.map +1 -0
  249. package/lib/localization/getLocaleString.js +3 -3
  250. package/lib/localization/getRTLList.d.ts +2 -0
  251. package/lib/localization/getRTLList.d.ts.map +1 -0
  252. package/lib/localization/getRTLList.js +1 -1
  253. package/lib/localization/gl-ES.json +1 -0
  254. package/lib/localization/he-IL.json +1 -0
  255. package/lib/localization/hi-IN.json +1 -0
  256. package/lib/localization/hr-HR.json +1 -0
  257. package/lib/localization/hu-HU.json +1 -0
  258. package/lib/localization/id-ID.json +1 -0
  259. package/lib/localization/it-IT.json +1 -0
  260. package/lib/localization/ja-JP.json +1 -0
  261. package/lib/localization/kk-KZ.json +1 -0
  262. package/lib/localization/ko-KR.json +1 -0
  263. package/lib/localization/lt-LT.json +1 -0
  264. package/lib/localization/lv-LV.json +1 -0
  265. package/lib/localization/mergeLocalizedStrings.d.ts +7 -0
  266. package/lib/localization/mergeLocalizedStrings.d.ts.map +1 -0
  267. package/lib/localization/mergeLocalizedStrings.js +4 -4
  268. package/lib/localization/ms-MY.json +1 -0
  269. package/lib/localization/nb-NO.json +1 -0
  270. package/lib/localization/nl-NL.json +1 -0
  271. package/lib/localization/pl-PL.json +1 -0
  272. package/lib/localization/pt-BR.json +1 -0
  273. package/lib/localization/pt-PT.json +1 -0
  274. package/lib/localization/ro-RO.json +1 -0
  275. package/lib/localization/ru-RU.json +1 -0
  276. package/lib/localization/sk-SK.json +1 -0
  277. package/lib/localization/sl-SI.json +1 -0
  278. package/lib/localization/sr-Cyrl-CS.json +1 -0
  279. package/lib/localization/sr-Latn-CS.json +1 -0
  280. package/lib/localization/sv-SE.json +1 -0
  281. package/lib/localization/th-TH.json +1 -0
  282. package/lib/localization/tr-TR.json +1 -0
  283. package/lib/localization/uk-UA.json +1 -0
  284. package/lib/localization/vi-VN.json +1 -0
  285. package/lib/localization/yue.json +1 -0
  286. package/lib/localization/zh-CN.json +1 -0
  287. package/lib/localization/zh-HK.json +1 -0
  288. package/lib/localization/zh-TW.json +1 -0
  289. package/lib/normalizeStyleOptions.d.ts +3 -0
  290. package/lib/normalizeStyleOptions.d.ts.map +1 -0
  291. package/lib/normalizeStyleOptions.js +40 -5
  292. package/lib/tsconfig.json +3 -1
  293. package/lib/types/ActivityMiddleware.d.ts +25 -0
  294. package/lib/types/ActivityMiddleware.d.ts.map +1 -0
  295. package/lib/types/ActivityMiddleware.js +2 -0
  296. package/lib/types/ActivityStatusMiddleware.d.ts +18 -0
  297. package/lib/types/ActivityStatusMiddleware.d.ts.map +1 -0
  298. package/lib/types/ActivityStatusMiddleware.js +2 -0
  299. package/lib/types/AttachmentForScreenReaderMiddleware.d.ts +14 -0
  300. package/lib/types/AttachmentForScreenReaderMiddleware.d.ts.map +1 -0
  301. package/lib/types/AttachmentForScreenReaderMiddleware.js +2 -0
  302. package/lib/types/AttachmentMiddleware.d.ts +12 -0
  303. package/lib/types/AttachmentMiddleware.d.ts.map +1 -0
  304. package/lib/types/AttachmentMiddleware.js +2 -0
  305. package/lib/types/AvatarMiddleware.d.ts +15 -0
  306. package/lib/types/AvatarMiddleware.d.ts.map +1 -0
  307. package/lib/types/AvatarMiddleware.js +2 -0
  308. package/lib/types/CardActionMiddleware.d.ts +17 -0
  309. package/lib/types/CardActionMiddleware.d.ts.map +1 -0
  310. package/lib/types/CardActionMiddleware.js +2 -0
  311. package/lib/types/ComponentMiddleware.d.ts +31 -0
  312. package/lib/types/ComponentMiddleware.d.ts.map +1 -0
  313. package/lib/types/ComponentMiddleware.js +2 -0
  314. package/lib/types/FunctionMiddleware.d.ts +6 -0
  315. package/lib/types/FunctionMiddleware.d.ts.map +1 -0
  316. package/lib/types/FunctionMiddleware.js +2 -0
  317. package/lib/types/GroupActivitiesMiddleware.d.ts +22 -0
  318. package/lib/types/GroupActivitiesMiddleware.d.ts.map +1 -0
  319. package/lib/types/GroupActivitiesMiddleware.js +2 -0
  320. package/lib/types/LocalizedStrings.d.ts +5 -0
  321. package/lib/types/LocalizedStrings.d.ts.map +1 -0
  322. package/lib/types/LocalizedStrings.js +2 -0
  323. package/lib/types/Notification.d.ts +10 -0
  324. package/lib/types/Notification.d.ts.map +1 -0
  325. package/lib/types/Notification.js +2 -0
  326. package/lib/types/PrecompiledGlobalize.d.ts +13 -0
  327. package/lib/types/PrecompiledGlobalize.d.ts.map +1 -0
  328. package/lib/types/PrecompiledGlobalize.js +2 -0
  329. package/lib/types/ScrollToEndButtonMiddleware.d.ts +30 -0
  330. package/lib/types/ScrollToEndButtonMiddleware.d.ts.map +1 -0
  331. package/lib/types/ScrollToEndButtonMiddleware.js +2 -0
  332. package/lib/types/SendState.d.ts +3 -0
  333. package/lib/types/SendState.d.ts.map +1 -0
  334. package/lib/types/SendState.js +2 -0
  335. package/lib/types/TelemetryMeasurementEvent.d.ts +31 -0
  336. package/lib/types/TelemetryMeasurementEvent.d.ts.map +1 -0
  337. package/lib/types/TelemetryMeasurementEvent.js +2 -0
  338. package/lib/types/ToastMiddleware.d.ts +11 -0
  339. package/lib/types/ToastMiddleware.d.ts.map +1 -0
  340. package/lib/types/ToastMiddleware.js +2 -0
  341. package/lib/types/Typing.d.ts +8 -0
  342. package/lib/types/Typing.d.ts.map +1 -0
  343. package/lib/types/Typing.js +2 -0
  344. package/lib/types/TypingIndicatorMiddleware.d.ts +17 -0
  345. package/lib/types/TypingIndicatorMiddleware.d.ts.map +1 -0
  346. package/lib/types/TypingIndicatorMiddleware.js +2 -0
  347. package/lib/types/WebSpeechPonyfill.d.ts +18 -0
  348. package/lib/types/WebSpeechPonyfill.d.ts.map +1 -0
  349. package/lib/types/WebSpeechPonyfill.js +2 -0
  350. package/lib/types/WebSpeechPonyfillFactory.d.ts +6 -0
  351. package/lib/types/WebSpeechPonyfillFactory.d.ts.map +1 -0
  352. package/lib/types/WebSpeechPonyfillFactory.js +2 -0
  353. package/lib/utils/createCustomEvent.d.ts +4 -0
  354. package/lib/utils/createCustomEvent.d.ts.map +1 -0
  355. package/lib/utils/createCustomEvent.js +2 -2
  356. package/lib/utils/findMin.d.ts +7 -0
  357. package/lib/utils/findMin.d.ts.map +1 -0
  358. package/lib/utils/findMin.js +2 -2
  359. package/lib/utils/isObject.js +1 -1
  360. package/lib/utils/mapMap.d.ts +6 -0
  361. package/lib/utils/mapMap.d.ts.map +1 -0
  362. package/lib/utils/mapMap.js +2 -2
  363. package/lib/utils/normalizeLanguage.d.ts +2 -0
  364. package/lib/utils/normalizeLanguage.d.ts.map +1 -0
  365. package/lib/utils/normalizeLanguage.js +1 -1
  366. package/lib/utils/randomId.d.ts +2 -0
  367. package/lib/utils/randomId.d.ts.map +1 -0
  368. package/lib/utils/randomId.js +1 -1
  369. package/lib/utils/warnOnce.js +17 -0
  370. package/package.json +32 -31
  371. package/scripts/createPrecompiledGlobalize.mjs +44 -0
  372. package/src/StyleOptions.ts +39 -3
  373. package/src/defaultStyleOptions.ts +4 -2
  374. package/src/hooks/Composer.tsx +141 -99
  375. package/src/hooks/{index.js → index.ts} +2 -0
  376. package/src/hooks/internal/WebChatAPIContext.ts +68 -3
  377. package/src/hooks/internal/{useCreateActivityRendererInternal.js → useCreateActivityRendererInternal.ts} +6 -2
  378. package/src/hooks/middleware/applyMiddleware.js +2 -3
  379. package/src/hooks/middleware/concatMiddleware.spec.js +4 -6
  380. package/src/hooks/middleware/{concatMiddleware.js → concatMiddleware.ts} +7 -1
  381. package/src/hooks/middleware/{createDefaultCardActionMiddleware.js → createDefaultCardActionMiddleware.ts} +8 -4
  382. package/src/hooks/middleware/{createDefaultGroupActivitiesMiddleware.js → createDefaultGroupActivitiesMiddleware.ts} +20 -12
  383. package/src/hooks/{useActiveTyping.js → useActiveTyping.ts} +13 -9
  384. package/src/hooks/useActivities.ts +7 -0
  385. package/src/hooks/{useAvatarForBot.js → useAvatarForBot.ts} +1 -1
  386. package/src/hooks/{useAvatarForUser.js → useAvatarForUser.ts} +1 -1
  387. package/src/hooks/{useByteFormatter.js → useByteFormatter.ts} +1 -1
  388. package/src/hooks/{useConnectivityStatus.js → useConnectivityStatus.ts} +1 -1
  389. package/src/hooks/{useCreateActivityRenderer.js → useCreateActivityRenderer.ts} +2 -3
  390. package/src/hooks/{useCreateActivityStatusRenderer.js → useCreateActivityStatusRenderer.tsx} +24 -5
  391. package/src/hooks/{useCreateAvatarRenderer.js → useCreateAvatarRenderer.ts} +6 -3
  392. package/src/hooks/useCreateScrollToEndButtonRenderer.ts +6 -0
  393. package/src/hooks/{useDateFormatter.js → useDateFormatter.ts} +1 -1
  394. package/src/hooks/useDebouncedNotifications.spec.js +2 -0
  395. package/src/hooks/{useDebouncedNotifications.js → useDebouncedNotifications.ts} +10 -2
  396. package/src/hooks/{useDictateInterims.js → useDictateInterims.ts} +1 -1
  397. package/src/hooks/{useDictateState.js → useDictateState.ts} +1 -1
  398. package/src/hooks/{useDirection.js → useDirection.ts} +1 -1
  399. package/src/hooks/{useDisabled.js → useDisabled.ts} +1 -1
  400. package/src/hooks/{useDismissNotification.js → useDismissNotification.ts} +1 -1
  401. package/src/hooks/{useEmitTypingIndicator.js → useEmitTypingIndicator.ts} +1 -1
  402. package/src/hooks/{useGetSendTimeoutForActivity.js → useGetSendTimeoutForActivity.ts} +2 -1
  403. package/src/hooks/{useGrammars.js → useGrammars.ts} +1 -1
  404. package/src/hooks/useGroupActivities.ts +14 -0
  405. package/src/hooks/{useGroupTimestamp.js → useGroupTimestamp.ts} +1 -1
  406. package/src/hooks/{useLanguage.js → useLanguage.ts} +1 -1
  407. package/src/hooks/{useLastTypingAt.js → useLastTypingAt.ts} +2 -1
  408. package/src/hooks/{useLocalize.js → useLocalize.ts} +3 -1
  409. package/src/hooks/{useLocalizeDate.js → useLocalizeDate.ts} +2 -1
  410. package/src/hooks/{useLocalizer.js → useLocalizer.ts} +19 -6
  411. package/src/hooks/{useMarkActivityAsSpoken.js → useMarkActivityAsSpoken.ts} +2 -1
  412. package/src/hooks/{useNotifications.js → useNotifications.ts} +2 -1
  413. package/src/hooks/usePerformCardAction.ts +7 -0
  414. package/src/hooks/usePostActivity.ts +8 -0
  415. package/src/hooks/{useReferenceGrammarID.js → useReferenceGrammarID.ts} +1 -1
  416. package/src/hooks/{useRelativeTimeFormatter.js → useRelativeTimeFormatter.ts} +1 -1
  417. package/src/hooks/useRenderActivity.js +12 -10
  418. package/src/hooks/useRenderActivityStatus.js +1 -0
  419. package/src/hooks/useRenderAvatar.js +1 -0
  420. package/src/hooks/{useRenderToast.js → useRenderToast.ts} +2 -1
  421. package/src/hooks/useRenderTypingIndicator.ts +6 -0
  422. package/src/hooks/{useSendBoxValue.js → useSendBoxValue.ts} +1 -1
  423. package/src/hooks/{useSendEvent.js → useSendEvent.ts} +1 -1
  424. package/src/hooks/{useSendFiles.js → useSendFiles.ts} +1 -1
  425. package/src/hooks/useSendMessage.ts +9 -0
  426. package/src/hooks/{useSendMessageBack.js → useSendMessageBack.ts} +1 -1
  427. package/src/hooks/{useSendPostBack.js → useSendPostBack.ts} +1 -1
  428. package/src/hooks/{useSendTimeoutForActivity.js → useSendTimeoutForActivity.ts} +4 -1
  429. package/src/hooks/{useSendTypingIndicator.js → useSendTypingIndicator.ts} +1 -1
  430. package/src/hooks/useSetNotification.ts +6 -0
  431. package/src/hooks/{useShouldSpeakIncomingActivity.js → useShouldSpeakIncomingActivity.ts} +1 -1
  432. package/src/hooks/{useStartDictate.js → useStartDictate.ts} +1 -1
  433. package/src/hooks/{useStopDictate.js → useStopDictate.ts} +1 -1
  434. package/src/hooks/useStyleOptions.ts +6 -0
  435. package/src/hooks/{useSubmitSendBox.js → useSubmitSendBox.ts} +1 -1
  436. package/src/hooks/{useSuggestedActions.js → useSuggestedActions.ts} +5 -1
  437. package/src/hooks/useTimeoutForSend.ts +9 -0
  438. package/src/hooks/{useTrackDimension.js → useTrackDimension.ts} +1 -1
  439. package/src/hooks/{useTrackEvent.js → useTrackEvent.ts} +10 -2
  440. package/src/hooks/{useTrackException.js → useTrackException.ts} +1 -1
  441. package/src/hooks/{useTrackTiming.js → useTrackTiming.ts} +4 -1
  442. package/src/hooks/{useUserID.js → useUserID.ts} +1 -1
  443. package/src/hooks/{useUsername.js → useUsername.ts} +1 -1
  444. package/src/hooks/{useVoiceSelector.js → useVoiceSelector.ts} +4 -1
  445. package/src/hooks/utils/{observableToPromise.js → observableToPromise.ts} +5 -3
  446. package/src/index.ts +51 -0
  447. package/src/localization/Localize.spec.js +2 -0
  448. package/src/localization/{Localize.js → Localize.ts} +6 -6
  449. package/src/localization/ar-SA.json +1 -0
  450. package/src/localization/bg-BG.json +1 -0
  451. package/src/localization/ca-ES.json +1 -0
  452. package/src/localization/cs-CZ.json +1 -0
  453. package/src/localization/da-DK.json +1 -0
  454. package/src/localization/de-DE.json +1 -0
  455. package/src/localization/el-GR.json +1 -0
  456. package/src/localization/en-US.json +1 -0
  457. package/src/localization/es-ES.json +1 -0
  458. package/src/localization/et-EE.json +1 -0
  459. package/src/localization/eu-ES.json +1 -0
  460. package/src/localization/fi-FI.json +1 -0
  461. package/src/localization/fr-FR.json +1 -0
  462. package/src/localization/getAllLocalizedStrings.spec.js +3 -1
  463. package/src/localization/{getAllLocalizedStrings.js → getAllLocalizedStrings.ts} +2 -1
  464. package/src/localization/getLocaleString.spec.js +4 -2
  465. package/src/localization/{getLocaleString.js → getLocaleString.ts} +2 -2
  466. package/src/localization/{getRTLList.js → getRTLList.ts} +1 -1
  467. package/src/localization/gl-ES.json +1 -0
  468. package/src/localization/he-IL.json +1 -0
  469. package/src/localization/hi-IN.json +1 -0
  470. package/src/localization/hr-HR.json +1 -0
  471. package/src/localization/hu-HU.json +1 -0
  472. package/src/localization/id-ID.json +1 -0
  473. package/src/localization/it-IT.json +1 -0
  474. package/src/localization/ja-JP.json +1 -0
  475. package/src/localization/kk-KZ.json +1 -0
  476. package/src/localization/ko-KR.json +1 -0
  477. package/src/localization/lt-LT.json +1 -0
  478. package/src/localization/lv-LV.json +1 -0
  479. package/src/localization/{mergeLocalizedStrings.js → mergeLocalizedStrings.ts} +5 -1
  480. package/src/localization/ms-MY.json +1 -0
  481. package/src/localization/nb-NO.json +1 -0
  482. package/src/localization/nl-NL.json +1 -0
  483. package/src/localization/pl-PL.json +1 -0
  484. package/src/localization/pt-BR.json +1 -0
  485. package/src/localization/pt-PT.json +1 -0
  486. package/src/localization/ro-RO.json +1 -0
  487. package/src/localization/ru-RU.json +1 -0
  488. package/src/localization/sk-SK.json +1 -0
  489. package/src/localization/sl-SI.json +1 -0
  490. package/src/localization/sr-Cyrl-CS.json +1 -0
  491. package/src/localization/sr-Latn-CS.json +1 -0
  492. package/src/localization/sv-SE.json +1 -0
  493. package/src/localization/th-TH.json +1 -0
  494. package/src/localization/tr-TR.json +1 -0
  495. package/src/localization/uk-UA.json +1 -0
  496. package/src/localization/vi-VN.json +1 -0
  497. package/src/localization/yue.json +1 -0
  498. package/src/localization/zh-CN.json +1 -0
  499. package/src/localization/zh-HK.json +1 -0
  500. package/src/localization/zh-TW.json +1 -0
  501. package/src/normalizeStyleOptions.ts +43 -2
  502. package/src/tsconfig.json +3 -1
  503. package/src/types/ActivityMiddleware.ts +38 -0
  504. package/src/types/ActivityStatusMiddleware.ts +28 -0
  505. package/src/types/AttachmentForScreenReaderMiddleware.ts +24 -0
  506. package/src/types/AttachmentMiddleware.ts +16 -0
  507. package/src/types/AvatarMiddleware.ts +20 -0
  508. package/src/types/CardActionMiddleware.ts +21 -0
  509. package/src/types/ComponentMiddleware.ts +42 -0
  510. package/src/types/FunctionMiddleware.ts +13 -0
  511. package/src/types/GroupActivitiesMiddleware.ts +24 -0
  512. package/src/types/LocalizedStrings.ts +5 -0
  513. package/src/types/Notification.ts +10 -0
  514. package/src/types/PrecompiledGlobalize.ts +9 -0
  515. package/src/types/ScrollToEndButtonMiddleware.ts +34 -0
  516. package/src/types/SendState.ts +3 -0
  517. package/src/types/TelemetryMeasurementEvent.ts +44 -0
  518. package/src/types/ToastMiddleware.ts +16 -0
  519. package/src/types/Typing.ts +8 -0
  520. package/src/types/TypingIndicatorMiddleware.ts +18 -0
  521. package/src/types/WebSpeechPonyfill.ts +24 -0
  522. package/src/types/WebSpeechPonyfillFactory.ts +5 -0
  523. package/src/utils/{createCustomEvent.js → createCustomEvent.ts} +8 -3
  524. package/src/utils/findMin.spec.js +2 -0
  525. package/src/utils/{findMin.js → findMin.ts} +3 -3
  526. package/src/utils/mapMap.spec.js +2 -0
  527. package/src/utils/{mapMap.js → mapMap.ts} +4 -1
  528. package/src/utils/{normalizeLanguage.js → normalizeLanguage.ts} +1 -1
  529. package/src/utils/{randomId.js → randomId.ts} +1 -1
  530. package/src/utils/warnOnce.ts +10 -0
  531. package/lib/hooks/utils/singleToArray.js +0 -11
  532. package/scripts/createPrecompiledGlobalize.js +0 -41
  533. package/src/hooks/useActivities.js +0 -5
  534. package/src/hooks/useGroupActivities.js +0 -5
  535. package/src/hooks/usePerformCardAction.js +0 -5
  536. package/src/hooks/usePostActivity.js +0 -5
  537. package/src/hooks/useRenderTypingIndicator.js +0 -5
  538. package/src/hooks/useSendMessage.js +0 -5
  539. package/src/hooks/useSetNotification.js +0 -5
  540. package/src/hooks/useStyleOptions.js +0 -5
  541. package/src/hooks/useTimeoutForSend.js +0 -7
  542. package/src/hooks/utils/singleToArray.js +0 -3
  543. package/src/index.js +0 -10
  544. package/src/index.tsx +0 -10
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Varsling",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Utskrift, trykk på piltastene for å navigere.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "avskrift",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Flere meldinger",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Nye meldinger",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Slutt på utskrift",
77
78
  "TYPING_INDICATOR_ALT": "Viser skriveindikatoren"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Melding",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Transcriptie, druk op de pijltoetsen om te navigeren.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "transcriptie",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Meer berichten",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Nieuwe berichten",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Einde transcriptie",
77
78
  "TYPING_INDICATOR_ALT": "Indicator voor typen weergeven"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Powiadomienie",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Transkrypcja, naciskaj klawisze strzałek, aby nawigować.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "transkrypcja",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Więcej wiadomości",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Nowe wiadomości",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Koniec transkrypcji",
77
78
  "TYPING_INDICATOR_ALT": "Wyświetlanie wskaźnika wpisywania"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Notificação",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Transcrição, use as teclas de seta para navegar.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "transcrição",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Mais mensagens",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Novas mensagens",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Fim da transcrição",
77
78
  "TYPING_INDICATOR_ALT": "Mostrando o indicador de digitação"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Notificação",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Transcrição, prima as teclas de seta para navegar.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "transcrição",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Mais mensagens",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Novas mensagens",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Fim da transcrição",
77
78
  "TYPING_INDICATOR_ALT": "A mostrar o indicador de escrita"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Notificare",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Transcriere, apăsați tastele săgeți pentru a naviga.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "transcriere",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Mai multe mesaje",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Mesaje noi",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Sfârșitul transcrierii",
77
78
  "TYPING_INDICATOR_ALT": "Se afișează indicatorul de tastare"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Уведомление",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Расшифровка, используйте клавиши со стрелками для перемещения.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "расшифровка",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Другие сообщения",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Новые сообщения",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Конец расшифровки",
77
78
  "TYPING_INDICATOR_ALT": "Отображение индикатора ввода"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Oznámenie",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Prepis – na navigáciu stlačte klávesy so šípkami.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "prepis",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Ďalšie správy",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Nové správy",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Koniec prepisu",
77
78
  "TYPING_INDICATOR_ALT": "Zobrazuje sa indikátor písania"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Obvestilo",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Prepis – za pomikanje pritisnite puščične tipke.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "prepis",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Več sporočil",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Nova sporočila",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Konec prepisa",
77
78
  "TYPING_INDICATOR_ALT": "Prikaz indikatorja tipkanja"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Обавештење",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Преписка, користите тастере са стрелицом да бисте се кретали.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "преписка",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Још порука",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Нове поруке",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Крај преписке",
77
78
  "TYPING_INDICATOR_ALT": "Приказује се индикатор куцања"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Obaveštenje",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Prepiska, koristite tastere sa strelicom da biste se kretali.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "prepiska",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Još poruka",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Nove poruke",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Kraj prepiske",
77
78
  "TYPING_INDICATOR_ALT": "Prikazuje se indikator kucanja"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Avisering",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Avskrift, tryck på piltangenterna för att navigera.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "avskrift",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Fler meddelanden",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Nya meddelanden",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Slut på avskriften",
77
78
  "TYPING_INDICATOR_ALT": "Visar skrivindikatorn"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "การแจ้งเตือน",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "การถอดความ ใช้แป้นลูกศรขึ้นหรือลงเพื่อเลื่อน",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "สำเนาบทสนทนา",
75
+ "TRANSCRIPT_MORE_MESSAGES": "ข้อความเพิ่มเติม",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "ข้อความใหม่",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "สิ้นสุดการถอดความ",
77
78
  "TYPING_INDICATOR_ALT": "แสดงตัวแสดงการพิมพ์"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Bildirim",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Döküm, gezinmek için yukarı ve aşağı ok tuşlarını kullanın.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "döküm",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Diğer iletiler",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Yeni iletiler",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Dökümün sonu",
77
78
  "TYPING_INDICATOR_ALT": "Yazma göstergesi gösteriliyor"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Сповіщення",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Стенограма (натискайте клавіші зі стрілками, щоб переходити між рядками).",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "стенограма",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Інші повідомлення",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Нові повідомлення",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Кінець стенограми",
77
78
  "TYPING_INDICATOR_ALT": "Показує індикатор набору"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "Thông báo",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "Bản chép lời, nhấn các phím mũi tên để điều hướng.",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "bản chép lại",
75
+ "TRANSCRIPT_MORE_MESSAGES": "Các tin nhắn khác",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "Tin nhắn mới",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "Kết thúc bản chép lời",
77
78
  "TYPING_INDICATOR_ALT": "Hiển thị chỉ báo đang nhập"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "通知",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "文字記錄,襟方向鍵嚟瀏覽。",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "文字記錄",
75
+ "TRANSCRIPT_MORE_MESSAGES": "更多訊息",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "新訊息",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "文字記錄結束",
77
78
  "TYPING_INDICATOR_ALT": "對方打緊字"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "通知",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "记录,按箭头键导航。",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "脚本",
75
+ "TRANSCRIPT_MORE_MESSAGES": "更多消息",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "新消息",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "记录结束",
77
78
  "TYPING_INDICATOR_ALT": "显示键入指示器"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "通知",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "文字記錄,按方向鍵進行瀏覽。",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "文字記錄",
75
+ "TRANSCRIPT_MORE_MESSAGES": "更多訊息",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "新訊息",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "文字記錄結束",
77
78
  "TYPING_INDICATOR_ALT": "顯示輸入指示器"
@@ -72,6 +72,7 @@
72
72
  "TOAST_TITLE_ALT": "通知",
73
73
  "TRANSCRIPT_ARIA_LABEL_ALT": "文字記錄,按方向鍵進行瀏覽。",
74
74
  "TRANSCRIPT_ARIA_ROLE_ALT": "文字記錄",
75
+ "TRANSCRIPT_MORE_MESSAGES": "更多訊息",
75
76
  "TRANSCRIPT_NEW_MESSAGES": "新訊息",
76
77
  "TRANSCRIPT_TERMINATOR_TEXT": "文字記錄結束",
77
78
  "TYPING_INDICATOR_ALT": "顯示輸入指示器"
@@ -1,12 +1,26 @@
1
+ import { warnOnce } from 'botframework-webchat-core';
2
+
1
3
  import defaultStyleOptions from './defaultStyleOptions';
2
4
  import StyleOptions, { StrictStyleOptions } from './StyleOptions';
3
5
 
6
+ const hideScrollToEndButtonDeprecation = warnOnce(
7
+ '"styleOptions.hideScrollToEndButton" has been deprecated. To hide scroll to end button, set "scrollToEndBehavior" to false. This deprecation migration will be removed on or after 2023-06-02.'
8
+ );
9
+
10
+ const newMessagesButtonFontSizeDeprecation = warnOnce(
11
+ '"styleOptions.newMessagesButtonFontSize" has been renamed to "styleOptions.scrollToEndButtonFontSize". This deprecation migration will be removed on or after 2023-06-02.'
12
+ );
13
+
4
14
  // TODO: [P4] We should add a notice for people who want to use "styleSet" instead of "styleOptions".
5
15
  // "styleSet" is actually CSS stylesheet and it is based on the DOM tree.
6
16
  // DOM tree may change from time to time, thus, maintaining "styleSet" becomes a constant effort.
7
17
 
8
18
  // eslint-disable-next-line complexity
9
- export default function normalizeStyleOptions(options: StyleOptions = {}): StrictStyleOptions {
19
+ export default function normalizeStyleOptions({
20
+ hideScrollToEndButton,
21
+ newMessagesButtonFontSize,
22
+ ...options
23
+ }: StyleOptions = {}): StrictStyleOptions {
10
24
  const filledOptions: Required<StyleOptions> = { ...defaultStyleOptions, ...options };
11
25
 
12
26
  // Keep this list flat (no nested style) and serializable (no functions)
@@ -67,10 +81,37 @@ export default function normalizeStyleOptions(options: StyleOptions = {}): Stric
67
81
  normalizedEmojiSet = emojiSet;
68
82
  }
69
83
 
84
+ if (hideScrollToEndButton) {
85
+ hideScrollToEndButtonDeprecation();
86
+
87
+ // Only set if the "scrollToEndButtonBehavior" is not set.
88
+ // If it has been set, the developer should know the older "hideScrollToEndButton" option is deprecated.
89
+ filledOptions.scrollToEndButtonBehavior = options.scrollToEndButtonBehavior || false;
90
+ }
91
+
92
+ let patchedScrollToEndButtonBehavior = filledOptions.scrollToEndButtonBehavior;
93
+
94
+ if (patchedScrollToEndButtonBehavior !== 'any' && patchedScrollToEndButtonBehavior !== false) {
95
+ patchedScrollToEndButtonBehavior === 'unread' ||
96
+ console.warn(
97
+ 'Web Chat: "scrollToEndButtonBehavior" must be either "unread", "any", or false, will set to "unread".'
98
+ );
99
+
100
+ patchedScrollToEndButtonBehavior = 'unread';
101
+ }
102
+
103
+ if (newMessagesButtonFontSize) {
104
+ newMessagesButtonFontSizeDeprecation();
105
+
106
+ // Only set if the "scrollToEndButtonFontSize" is not set.
107
+ filledOptions.scrollToEndButtonFontSize = options.scrollToEndButtonFontSize || newMessagesButtonFontSize;
108
+ }
109
+
70
110
  return {
71
111
  ...filledOptions,
72
112
  bubbleFromUserNubOffset: normalizedBubbleFromUserNubOffset,
73
113
  bubbleNubOffset: normalizedBubbleNubOffset,
74
- emojiSet: normalizedEmojiSet
114
+ emojiSet: normalizedEmojiSet,
115
+ scrollToEndButtonBehavior: patchedScrollToEndButtonBehavior
75
116
  };
76
117
  }
package/src/tsconfig.json CHANGED
@@ -4,12 +4,14 @@
4
4
  "declaration": true,
5
5
  "declarationDir": "../lib",
6
6
  "declarationMap": true,
7
+ "downlevelIteration": true,
7
8
  "emitDeclarationOnly": true,
8
9
  "jsx": "react",
9
10
  "preserveWatchOutput": true,
10
11
  "pretty": true,
12
+ "resolveJsonModule": true, // Required for localization files
11
13
  "skipLibCheck": true,
12
14
  "sourceMap": true
13
15
  },
14
- "files": ["index.tsx"]
16
+ "files": ["index.ts"]
15
17
  }
@@ -0,0 +1,38 @@
1
+ import { DirectLineActivity } from 'botframework-webchat-core';
2
+ import { ReactNode } from 'react';
3
+
4
+ import { AvatarComponentFactory } from './AvatarMiddleware';
5
+ import { RenderAttachment } from './AttachmentMiddleware';
6
+
7
+ type ActivityProps = {
8
+ hideTimestamp: boolean;
9
+ renderActivityStatus: ({ hideTimestamp: boolean }) => ReactNode;
10
+ renderAvatar: AvatarComponentFactory;
11
+ showCallout: boolean;
12
+ };
13
+
14
+ type ActivityComponent = (props: ActivityProps) => Exclude<ReactNode, boolean>;
15
+
16
+ type ActivityComponentFactoryOptions = {
17
+ activity: DirectLineActivity;
18
+ nextVisibleActivity: DirectLineActivity;
19
+ };
20
+
21
+ type ActivityComponentFactory = (options: ActivityComponentFactoryOptions) => ActivityComponent | false;
22
+
23
+ // TODO: [P2] This is inherited from our older signature (pre-hook) which requires passing "renderAttachment" argument.
24
+ // With hooks, the middleware should not need "renderAttachment", they can grab it from "useCreateAttachmentRenderer" hook.
25
+ type LegacyRenderActivity = (
26
+ renderAttachment: RenderAttachment,
27
+ { hideTimestamp, renderActivityStatus, renderAvatar, showCallout }: ActivityProps
28
+ ) => Exclude<ReactNode, boolean>;
29
+
30
+ type LegacyActivityRenderer = (options: ActivityComponentFactoryOptions) => LegacyRenderActivity | false;
31
+
32
+ // The middleware created by the web developer, are using the legacy signature (with "renderAttachment" argument).
33
+ type ActivityEnhancer = (next: LegacyActivityRenderer) => LegacyActivityRenderer;
34
+ type ActivityMiddleware = () => ActivityEnhancer;
35
+
36
+ export default ActivityMiddleware;
37
+
38
+ export type { ActivityComponentFactory, LegacyActivityRenderer };
@@ -0,0 +1,28 @@
1
+ import { DirectLineActivity } from 'botframework-webchat-core';
2
+ import { ReactNode } from 'react';
3
+
4
+ import SendState from './SendState';
5
+
6
+ // TODO: Migrate this legacy middleware signature.
7
+ type RenderActivityStatusOptions = {
8
+ activity: DirectLineActivity;
9
+ hideTimestamp: boolean;
10
+ sendState: SendState;
11
+
12
+ // "nextVisibleActivity" is for backward compatibility, please remove this line on or after 2022-07-22.
13
+ /** @deprecated */
14
+ nextVisibleActivity: DirectLineActivity;
15
+
16
+ // "sameTimestampGroup" is for backward compatibility, please remove this line on or after 2022-07-22.
17
+ /** @deprecated */
18
+ sameTimestampGroup: boolean;
19
+ };
20
+
21
+ type RenderActivityStatus = (options: RenderActivityStatusOptions) => ReactNode;
22
+
23
+ type ActivityStatusEnhancer = (next: RenderActivityStatus) => RenderActivityStatus;
24
+ type ActivityStatusMiddleware = () => ActivityStatusEnhancer;
25
+
26
+ export default ActivityStatusMiddleware;
27
+
28
+ export type { RenderActivityStatus };
@@ -0,0 +1,24 @@
1
+ import { DirectLineActivity, DirectLineAttachment } from 'botframework-webchat-core';
2
+
3
+ // TODO: We should consider using a prop for "attachmentMiddleware" to render for screen reader, instead of having another middleware.
4
+
5
+ import ComponentMiddleware, { ComponentFactory } from './ComponentMiddleware';
6
+
7
+ type AttachmentForScreenReaderComponentFactoryOptions = [
8
+ {
9
+ activity: DirectLineActivity;
10
+ attachment: DirectLineAttachment;
11
+ }
12
+ ];
13
+
14
+ type AttachmentForScreenReaderComponentFactory = ComponentFactory<AttachmentForScreenReaderComponentFactoryOptions, {}>;
15
+
16
+ type AttachmentForScreenReaderMiddleware = ComponentMiddleware<
17
+ [],
18
+ AttachmentForScreenReaderComponentFactoryOptions,
19
+ {}
20
+ >;
21
+
22
+ export default AttachmentForScreenReaderMiddleware;
23
+
24
+ export type { AttachmentForScreenReaderComponentFactory };
@@ -0,0 +1,16 @@
1
+ import { DirectLineActivity, DirectLineAttachment } from 'botframework-webchat-core';
2
+ import { ReactNode } from 'react';
3
+
4
+ type AttachmentProps = {
5
+ activity: DirectLineActivity;
6
+ attachment: DirectLineAttachment;
7
+ };
8
+
9
+ type RenderAttachment = (props?: AttachmentProps) => ReactNode;
10
+
11
+ type AttachmentEnhancer = (next: RenderAttachment) => RenderAttachment;
12
+ type AttachmentMiddleware = () => AttachmentEnhancer;
13
+
14
+ export default AttachmentMiddleware;
15
+
16
+ export type { RenderAttachment };
@@ -0,0 +1,20 @@
1
+ import { DirectLineActivity } from 'botframework-webchat-core';
2
+
3
+ import { StrictStyleOptions } from '../StyleOptions';
4
+ import ComponentMiddleware, { ComponentFactory } from './ComponentMiddleware';
5
+
6
+ type AvatarComponentFactoryArguments = [
7
+ {
8
+ activity: DirectLineActivity;
9
+ fromUser: boolean;
10
+ styleOptions: StrictStyleOptions;
11
+ }
12
+ ];
13
+
14
+ type AvatarComponentFactory = ComponentFactory<AvatarComponentFactoryArguments, {}>;
15
+
16
+ type AvatarMiddleware = ComponentMiddleware<[], AvatarComponentFactoryArguments, {}>;
17
+
18
+ export default AvatarMiddleware;
19
+
20
+ export type { AvatarComponentFactory };
@@ -0,0 +1,21 @@
1
+ import { DirectLineCardAction } from 'botframework-webchat-core';
2
+
3
+ import FunctionMiddleware from './FunctionMiddleware';
4
+
5
+ type PerformCardAction = (cardAction: DirectLineCardAction) => void;
6
+
7
+ type CardActionMiddleware = FunctionMiddleware<
8
+ [{ dispatch: (action: any) => void }],
9
+ [
10
+ {
11
+ cardAction: DirectLineCardAction;
12
+ getSignInUrl?: () => string;
13
+ target: any;
14
+ }
15
+ ],
16
+ {}
17
+ >;
18
+
19
+ export default CardActionMiddleware;
20
+
21
+ export { PerformCardAction };
@@ -0,0 +1,42 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ type OnScreenReactNode = Exclude<ReactNode, boolean | null | undefined>;
4
+
5
+ /**
6
+ * Renders a UI component by returning a React component, or `false`, if nothing should be rendered.
7
+ *
8
+ * @returns {(React.FC|false)} Returns a React component to render, or `false`, if nothing should be rendered.
9
+ */
10
+ type ComponentFactory<TComponentFactoryArguments extends any[], TProps> = (
11
+ ...args: TComponentFactoryArguments
12
+ ) => ((props?: TProps) => OnScreenReactNode) | false;
13
+
14
+ /**
15
+ * Enhances a UI component through decoration, replacement, or removal.
16
+ */
17
+ type ComponentEnhancer<TComponentFactoryArguments extends any[], TProps> = (
18
+ next: ComponentFactory<TComponentFactoryArguments, TProps>
19
+ ) => ComponentFactory<TComponentFactoryArguments, TProps>;
20
+
21
+ /**
22
+ * Middleware for rendering a UI component.
23
+ *
24
+ * The middleware is a series of enhancers that are chained through functional composition. Each enhancer can:
25
+ *
26
+ * - Decorate: call the next enhancer to get its React component, then decorate it through UI composition
27
+ * - Replace: return a React component without calling the next enhancer
28
+ * - Remove: return `false` without calling the next enhancer
29
+ *
30
+ * The signature of the middleware is:
31
+ *
32
+ * ```
33
+ * (...args: SetupArguments) => (next: Enhancer) => (...args: ComponentFactoryArguments) => false | React.FC<Props>
34
+ * ```
35
+ */
36
+ type ComponentMiddleware<TSetupArguments extends any[], TComponentFactoryArguments extends any[], TProps> = (
37
+ ...args: TSetupArguments
38
+ ) => ComponentEnhancer<TComponentFactoryArguments, TProps>;
39
+
40
+ export default ComponentMiddleware;
41
+
42
+ export { ComponentEnhancer, ComponentFactory };
@@ -0,0 +1,13 @@
1
+ type CallFunction<TArguments extends any[], TResult> = (...args: TArguments) => TResult;
2
+
3
+ type FunctionEnhancer<TCallArguments extends any[], TResult> = (
4
+ next: CallFunction<TCallArguments, TResult>
5
+ ) => CallFunction<TCallArguments, TResult>;
6
+
7
+ type FunctionMiddleware<TSetupArguments extends any[], TCallArguments extends any[], TResult> = (
8
+ ...args: TSetupArguments
9
+ ) => FunctionEnhancer<TCallArguments, TResult>;
10
+
11
+ export default FunctionMiddleware;
12
+
13
+ export type { CallFunction, FunctionEnhancer };
@@ -0,0 +1,24 @@
1
+ import { DirectLineActivity } from 'botframework-webchat-core';
2
+
3
+ import FunctionMiddleware, { CallFunction } from './FunctionMiddleware';
4
+
5
+ type GroupActivities = CallFunction<
6
+ [{ activities: DirectLineActivity[] }],
7
+ {
8
+ sender: DirectLineActivity[][];
9
+ status: DirectLineActivity[][];
10
+ }
11
+ >;
12
+
13
+ type GroupActivitiesMiddleware = FunctionMiddleware<
14
+ [],
15
+ [{ activities: DirectLineActivity[] }],
16
+ {
17
+ sender: DirectLineActivity[][];
18
+ status: DirectLineActivity[][];
19
+ }
20
+ >;
21
+
22
+ export default GroupActivitiesMiddleware;
23
+
24
+ export { GroupActivities };
@@ -0,0 +1,5 @@
1
+ // boolean is for flags (e.g. support of speech-to-text or text-to-speech).
2
+ // Look at "overrides.json" for details.
3
+ type LocalizedStrings = { [stringId: string]: boolean | string };
4
+
5
+ export default LocalizedStrings;
@@ -0,0 +1,10 @@
1
+ type Notification = {
2
+ alt: string;
3
+ data?: any;
4
+ id: string;
5
+ level: string;
6
+ message?: string;
7
+ timestamp?: number;
8
+ };
9
+
10
+ export default Notification;
@@ -0,0 +1,9 @@
1
+ type PrecompiledGlobalize = {
2
+ dateFormatter: ({ skeleton }: { skeleton: 'MMMMdhm' }) => string;
3
+ relativeTimeFormatter: (format: 'hour' | 'minute') => string;
4
+ unitFormatter:
5
+ | ((unit: 'byte', options: { form: 'long' }) => string)
6
+ | ((unit: 'kilobyte' | 'megabyte' | 'gigabyte', options: { form: 'short' }) => string);
7
+ };
8
+
9
+ export default PrecompiledGlobalize;
@@ -0,0 +1,34 @@
1
+ import { StrictStyleOptions } from '../StyleOptions';
2
+ import ComponentMiddleware, { ComponentFactory } from './ComponentMiddleware';
3
+
4
+ /**
5
+ * @type {object}
6
+ * @property {boolean} atEnd - `true`, if the transcript scroll view is at the end, otherwise, `false`.
7
+ * @property {object} styleOptions - Normalized style options.
8
+ * @property {boolean} unread - `true`, if there are unread messages in the transcripts, otherwise, `false`.
9
+ */
10
+ type ScrollToEndButtonComponentArguments = [
11
+ {
12
+ atEnd: boolean;
13
+ styleOptions: StrictStyleOptions;
14
+ unread: boolean;
15
+ }
16
+ ];
17
+
18
+ /**
19
+ * @type {object}
20
+ * @property {function} onClick - The callback function to call when the user click on the button.
21
+ */
22
+ type ScrollToEndButtonProps = {
23
+ onClick: () => any;
24
+ };
25
+
26
+ /**
27
+ * The middleware for rendering scroll to end button.
28
+ */
29
+ type ScrollToEndButtonMiddleware = ComponentMiddleware<[], ScrollToEndButtonComponentArguments, ScrollToEndButtonProps>;
30
+ type ScrollToEndButtonComponentFactory = ComponentFactory<ScrollToEndButtonComponentArguments, ScrollToEndButtonProps>;
31
+
32
+ export default ScrollToEndButtonMiddleware;
33
+
34
+ export { ScrollToEndButtonComponentFactory };
@@ -0,0 +1,3 @@
1
+ type SendState = 'sending' | 'send failed' | 'sent';
2
+
3
+ export default SendState;
@@ -0,0 +1,44 @@
1
+ type BaseTelemetryMeasurementEvent = {
2
+ dimension?: any;
3
+ };
4
+
5
+ type TelemetryEventMeasurementEvent = BaseTelemetryMeasurementEvent & {
6
+ type: 'event';
7
+ name: string;
8
+ level: 'debug' | 'info' | 'warn' | 'error';
9
+ data?: number | string | { [key: string]: number | string };
10
+ };
11
+
12
+ type TelemetryExceptionMeasurementEvent = BaseTelemetryMeasurementEvent & {
13
+ type: 'exception';
14
+ error: Error;
15
+ fatal: boolean;
16
+ };
17
+
18
+ type TelemetryTimingStartMeasurementEvent = BaseTelemetryMeasurementEvent & {
19
+ type: 'timingstart';
20
+ name: string;
21
+ timingId: string;
22
+ };
23
+
24
+ type TelemetryTimingEndMeasurementEvent = BaseTelemetryMeasurementEvent & {
25
+ type: 'timingend';
26
+ name: string;
27
+ timingId: string;
28
+ duration: number;
29
+ };
30
+
31
+ type TelemetryMeasurementEvent =
32
+ | TelemetryEventMeasurementEvent
33
+ | TelemetryExceptionMeasurementEvent
34
+ | TelemetryTimingStartMeasurementEvent
35
+ | TelemetryTimingEndMeasurementEvent;
36
+
37
+ export default TelemetryMeasurementEvent;
38
+
39
+ export {
40
+ TelemetryEventMeasurementEvent,
41
+ TelemetryExceptionMeasurementEvent,
42
+ TelemetryTimingStartMeasurementEvent,
43
+ TelemetryTimingEndMeasurementEvent
44
+ };
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ import Notification from './Notification';
4
+
5
+ type ToastProps = {
6
+ notification: Notification;
7
+ };
8
+
9
+ type RenderToast = (props: ToastProps) => ReactNode;
10
+
11
+ type ToastEnhancer = (next: RenderToast) => RenderToast;
12
+ type ToastMiddleware = () => ToastEnhancer;
13
+
14
+ export default ToastMiddleware;
15
+
16
+ export type { RenderToast };
@@ -0,0 +1,8 @@
1
+ type Typing = {
2
+ at: number;
3
+ expireAt: number;
4
+ name: string;
5
+ role: 'bot' | 'user';
6
+ };
7
+
8
+ export default Typing;