botframework-webchat-api 4.14.1 → 4.15.2-main.20220413.af6e8a3

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 (373) hide show
  1. package/.eslintrc.yml +4 -105
  2. package/.prettierrc.yml +1 -1
  3. package/lib/StyleOptions.d.ts +244 -14
  4. package/lib/StyleOptions.d.ts.map +1 -1
  5. package/lib/defaultStyleOptions.d.ts.map +1 -1
  6. package/lib/defaultStyleOptions.js +67 -14
  7. package/lib/hooks/Composer.d.ts +3 -3
  8. package/lib/hooks/Composer.d.ts.map +1 -1
  9. package/lib/hooks/Composer.js +29 -11
  10. package/lib/hooks/index.d.ts +11 -1
  11. package/lib/hooks/index.d.ts.map +1 -1
  12. package/lib/hooks/index.js +81 -1
  13. package/lib/hooks/internal/WebChatAPIContext.d.ts +3 -3
  14. package/lib/hooks/internal/WebChatAPIContext.d.ts.map +1 -1
  15. package/lib/hooks/internal/WebChatAPIContext.js +1 -1
  16. package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts.map +1 -1
  17. package/lib/hooks/internal/useCreateActivityRendererInternal.js +1 -1
  18. package/lib/hooks/internal/useDebugDeps.js +10 -4
  19. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  20. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  21. package/lib/hooks/internal/usePrevious.js +17 -0
  22. package/lib/hooks/internal/useReadTelemetryDimensions.js +2 -2
  23. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  24. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  25. package/lib/hooks/internal/useValueRef.js +24 -0
  26. package/lib/hooks/middleware/UserlandBoundary.js +1 -1
  27. package/lib/hooks/middleware/applyMiddleware.js +1 -1
  28. package/lib/hooks/middleware/concatMiddleware.d.ts.map +1 -1
  29. package/lib/hooks/middleware/concatMiddleware.js +2 -2
  30. package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts.map +1 -1
  31. package/lib/hooks/middleware/createDefaultCardActionMiddleware.js +1 -1
  32. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +1 -1
  33. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +19 -3
  34. package/lib/hooks/useActiveTyping.d.ts.map +1 -1
  35. package/lib/hooks/useActiveTyping.js +5 -4
  36. package/lib/hooks/useActivities.d.ts +2 -2
  37. package/lib/hooks/useActivities.d.ts.map +1 -1
  38. package/lib/hooks/useActivities.js +1 -1
  39. package/lib/hooks/useActivityKeys.d.ts +3 -0
  40. package/lib/hooks/useActivityKeys.d.ts.map +1 -0
  41. package/lib/hooks/useActivityKeys.js +14 -0
  42. package/lib/hooks/useActivityKeysByRead.d.ts +3 -0
  43. package/lib/hooks/useActivityKeysByRead.d.ts.map +1 -0
  44. package/lib/hooks/useActivityKeysByRead.js +14 -0
  45. package/lib/hooks/useCreateActivityStatusRenderer.d.ts +3 -3
  46. package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +1 -1
  47. package/lib/hooks/useCreateActivityStatusRenderer.js +47 -16
  48. package/lib/hooks/useCreateAvatarRenderer.d.ts +5 -3
  49. package/lib/hooks/useCreateAvatarRenderer.d.ts.map +1 -1
  50. package/lib/hooks/useCreateAvatarRenderer.js +1 -1
  51. package/lib/hooks/useDateFormatter.d.ts.map +1 -1
  52. package/lib/hooks/useDateFormatter.js +1 -1
  53. package/lib/hooks/useDebouncedNotifications.js +3 -3
  54. package/lib/hooks/useGetActivityByKey.d.ts +3 -0
  55. package/lib/hooks/useGetActivityByKey.d.ts.map +1 -0
  56. package/lib/hooks/useGetActivityByKey.js +14 -0
  57. package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts +3 -0
  58. package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts.map +1 -0
  59. package/lib/hooks/useGetHasAcknowledgedByActivityKey.js +14 -0
  60. package/lib/hooks/useGetKeyByActivity.d.ts +3 -0
  61. package/lib/hooks/useGetKeyByActivity.d.ts.map +1 -0
  62. package/lib/hooks/useGetKeyByActivity.js +14 -0
  63. package/lib/hooks/useGetKeyByActivityId.d.ts +3 -0
  64. package/lib/hooks/useGetKeyByActivityId.d.ts.map +1 -0
  65. package/lib/hooks/useGetKeyByActivityId.js +14 -0
  66. package/lib/hooks/useGetSendTimeoutForActivity.d.ts +2 -2
  67. package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +1 -1
  68. package/lib/hooks/useGetSendTimeoutForActivity.js +4 -2
  69. package/lib/hooks/useGroupActivities.d.ts +4 -4
  70. package/lib/hooks/useGroupActivities.d.ts.map +1 -1
  71. package/lib/hooks/useGroupActivities.js +1 -1
  72. package/lib/hooks/useLastAcknowledgedActivityKey.d.ts +3 -0
  73. package/lib/hooks/useLastAcknowledgedActivityKey.d.ts.map +1 -0
  74. package/lib/hooks/useLastAcknowledgedActivityKey.js +14 -0
  75. package/lib/hooks/useLastReadActivityKey.d.ts +3 -0
  76. package/lib/hooks/useLastReadActivityKey.d.ts.map +1 -0
  77. package/lib/hooks/useLastReadActivityKey.js +14 -0
  78. package/lib/hooks/useLocalizer.d.ts +1 -1
  79. package/lib/hooks/useLocalizer.d.ts.map +1 -1
  80. package/lib/hooks/useLocalizer.js +9 -3
  81. package/lib/hooks/useMarkActivityAsSpoken.d.ts +2 -2
  82. package/lib/hooks/useMarkActivityAsSpoken.d.ts.map +1 -1
  83. package/lib/hooks/useMarkActivityAsSpoken.js +1 -1
  84. package/lib/hooks/useMarkActivityKeyAsRead.d.ts +3 -0
  85. package/lib/hooks/useMarkActivityKeyAsRead.d.ts.map +1 -0
  86. package/lib/hooks/useMarkActivityKeyAsRead.js +14 -0
  87. package/lib/hooks/useMarkAllAsAcknowledged.d.ts +3 -0
  88. package/lib/hooks/useMarkAllAsAcknowledged.d.ts.map +1 -0
  89. package/lib/hooks/useMarkAllAsAcknowledged.js +14 -0
  90. package/lib/hooks/usePerformCardAction.d.ts +2 -2
  91. package/lib/hooks/usePerformCardAction.d.ts.map +1 -1
  92. package/lib/hooks/usePerformCardAction.js +1 -1
  93. package/lib/hooks/usePostActivity.d.ts +2 -2
  94. package/lib/hooks/usePostActivity.d.ts.map +1 -1
  95. package/lib/hooks/usePostActivity.js +1 -1
  96. package/lib/hooks/useSendFiles.d.ts +8 -1
  97. package/lib/hooks/useSendFiles.d.ts.map +1 -1
  98. package/lib/hooks/useSendFiles.js +1 -1
  99. package/lib/hooks/useSendTimeoutForActivity.d.ts +2 -2
  100. package/lib/hooks/useSendTimeoutForActivity.d.ts.map +1 -1
  101. package/lib/hooks/useSendTimeoutForActivity.js +1 -1
  102. package/lib/hooks/useSubmitSendBox.d.ts.map +1 -1
  103. package/lib/hooks/useSubmitSendBox.js +8 -5
  104. package/lib/hooks/useSuggestedActions.d.ts +1 -1
  105. package/lib/hooks/useSuggestedActions.d.ts.map +1 -1
  106. package/lib/hooks/useSuggestedActions.js +1 -1
  107. package/lib/hooks/useTimeoutForSend.d.ts +2 -2
  108. package/lib/hooks/useTimeoutForSend.d.ts.map +1 -1
  109. package/lib/hooks/useTimeoutForSend.js +1 -1
  110. package/lib/hooks/useTrackException.js +2 -2
  111. package/lib/hooks/utils/ErrorBoundary.js +4 -4
  112. package/lib/index.js +8 -8
  113. package/lib/localization/Localize.d.ts.map +1 -1
  114. package/lib/localization/Localize.js +12 -6
  115. package/lib/localization/ar-SA.json +23 -4
  116. package/lib/localization/bg-BG.json +23 -4
  117. package/lib/localization/ca-ES.json +23 -4
  118. package/lib/localization/cs-CZ.json +23 -4
  119. package/lib/localization/da-DK.json +23 -4
  120. package/lib/localization/de-DE.json +23 -4
  121. package/lib/localization/el-GR.json +23 -4
  122. package/lib/localization/en-US.json +34 -9
  123. package/lib/localization/es-ES.json +23 -4
  124. package/lib/localization/et-EE.json +23 -4
  125. package/lib/localization/eu-ES.json +23 -4
  126. package/lib/localization/fi-FI.json +23 -4
  127. package/lib/localization/fr-FR.json +23 -4
  128. package/lib/localization/gl-ES.json +23 -4
  129. package/lib/localization/he-IL.json +23 -4
  130. package/lib/localization/hi-IN.json +23 -4
  131. package/lib/localization/hr-HR.json +23 -4
  132. package/lib/localization/hu-HU.json +23 -4
  133. package/lib/localization/id-ID.json +23 -4
  134. package/lib/localization/it-IT.json +23 -4
  135. package/lib/localization/ja-JP.json +23 -4
  136. package/lib/localization/kk-KZ.json +23 -4
  137. package/lib/localization/ko-KR.json +23 -4
  138. package/lib/localization/lt-LT.json +23 -4
  139. package/lib/localization/lv-LV.json +23 -4
  140. package/lib/localization/mergeLocalizedStrings.d.ts.map +1 -1
  141. package/lib/localization/mergeLocalizedStrings.js +13 -6
  142. package/lib/localization/ms-MY.json +23 -4
  143. package/lib/localization/nb-NO.json +23 -4
  144. package/lib/localization/nl-NL.json +23 -4
  145. package/lib/localization/pl-PL.json +23 -4
  146. package/lib/localization/pt-BR.json +23 -4
  147. package/lib/localization/pt-PT.json +23 -4
  148. package/lib/localization/ro-RO.json +23 -4
  149. package/lib/localization/ru-RU.json +23 -4
  150. package/lib/localization/sk-SK.json +23 -4
  151. package/lib/localization/sl-SI.json +23 -4
  152. package/lib/localization/sr-Cyrl-CS.json +23 -4
  153. package/lib/localization/sr-Latn-CS.json +23 -4
  154. package/lib/localization/sv-SE.json +23 -4
  155. package/lib/localization/th-TH.json +23 -4
  156. package/lib/localization/tr-TR.json +23 -4
  157. package/lib/localization/uk-UA.json +23 -4
  158. package/lib/localization/vi-VN.json +23 -4
  159. package/lib/localization/yue.json +26 -7
  160. package/lib/localization/zh-CN.json +23 -4
  161. package/lib/localization/zh-HK.json +23 -4
  162. package/lib/localization/zh-TW.json +23 -4
  163. package/lib/normalizeStyleOptions.d.ts.map +1 -1
  164. package/lib/normalizeStyleOptions.js +49 -4
  165. package/lib/patchStyleOptionsFromDeprecatedProps.js +1 -2
  166. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts +5 -0
  167. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts.map +1 -0
  168. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.js +184 -0
  169. package/lib/providers/ActivityAcknowledgement/private/Context.d.ts +13 -0
  170. package/lib/providers/ActivityAcknowledgement/private/Context.d.ts.map +1 -0
  171. package/lib/providers/ActivityAcknowledgement/private/Context.js +13 -0
  172. package/lib/providers/ActivityAcknowledgement/private/types.d.ts +6 -0
  173. package/lib/providers/ActivityAcknowledgement/private/types.d.ts.map +1 -0
  174. package/lib/providers/ActivityAcknowledgement/private/types.js +2 -0
  175. package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts +3 -0
  176. package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts.map +1 -0
  177. package/lib/providers/ActivityAcknowledgement/private/useContext.js +24 -0
  178. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts +5 -0
  179. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts.map +1 -0
  180. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.js +18 -0
  181. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts +2 -0
  182. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts.map +1 -0
  183. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.js +15 -0
  184. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts +2 -0
  185. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts.map +1 -0
  186. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.js +15 -0
  187. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts +2 -0
  188. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts.map +1 -0
  189. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.js +15 -0
  190. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts +2 -0
  191. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts.map +1 -0
  192. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.js +15 -0
  193. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts +2 -0
  194. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts.map +1 -0
  195. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.js +15 -0
  196. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts +18 -0
  197. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts.map +1 -0
  198. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.js +153 -0
  199. package/lib/providers/ActivityKeyer/private/Context.d.ts +12 -0
  200. package/lib/providers/ActivityKeyer/private/Context.d.ts.map +1 -0
  201. package/lib/providers/ActivityKeyer/private/Context.js +13 -0
  202. package/lib/providers/ActivityKeyer/private/getActivityId.d.ts +3 -0
  203. package/lib/providers/ActivityKeyer/private/getActivityId.d.ts.map +1 -0
  204. package/lib/providers/ActivityKeyer/private/getActivityId.js +11 -0
  205. package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts +3 -0
  206. package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts.map +1 -0
  207. package/lib/providers/ActivityKeyer/private/getClientActivityId.js +13 -0
  208. package/lib/providers/ActivityKeyer/private/uniqueId.d.ts +2 -0
  209. package/lib/providers/ActivityKeyer/private/uniqueId.d.ts.map +1 -0
  210. package/lib/providers/ActivityKeyer/private/uniqueId.js +18 -0
  211. package/lib/providers/ActivityKeyer/private/useContext.d.ts +3 -0
  212. package/lib/providers/ActivityKeyer/private/useContext.d.ts.map +1 -0
  213. package/lib/providers/ActivityKeyer/private/useContext.js +24 -0
  214. package/lib/providers/ActivityKeyer/useActivityKeys.d.ts +2 -0
  215. package/lib/providers/ActivityKeyer/useActivityKeys.d.ts.map +1 -0
  216. package/lib/providers/ActivityKeyer/useActivityKeys.js +15 -0
  217. package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts +3 -0
  218. package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts.map +1 -0
  219. package/lib/providers/ActivityKeyer/useGetActivityByKey.js +15 -0
  220. package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts +3 -0
  221. package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts.map +1 -0
  222. package/lib/providers/ActivityKeyer/useGetKeyByActivity.js +15 -0
  223. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts +2 -0
  224. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts.map +1 -0
  225. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.js +15 -0
  226. package/lib/types/ActivityMiddleware.d.ts +3 -3
  227. package/lib/types/ActivityMiddleware.d.ts.map +1 -1
  228. package/lib/types/ActivityStatusMiddleware.d.ts +3 -3
  229. package/lib/types/ActivityStatusMiddleware.d.ts.map +1 -1
  230. package/lib/types/AttachmentForScreenReaderMiddleware.d.ts +2 -2
  231. package/lib/types/AttachmentForScreenReaderMiddleware.d.ts.map +1 -1
  232. package/lib/types/AttachmentMiddleware.d.ts +2 -2
  233. package/lib/types/AttachmentMiddleware.d.ts.map +1 -1
  234. package/lib/types/AvatarMiddleware.d.ts +2 -2
  235. package/lib/types/AvatarMiddleware.d.ts.map +1 -1
  236. package/lib/types/CardActionMiddleware.d.ts +4 -2
  237. package/lib/types/CardActionMiddleware.d.ts.map +1 -1
  238. package/lib/types/GroupActivitiesMiddleware.d.ts +7 -7
  239. package/lib/types/GroupActivitiesMiddleware.d.ts.map +1 -1
  240. package/lib/types/WebSpeechPonyfill.d.ts +1 -0
  241. package/lib/types/WebSpeechPonyfill.d.ts.map +1 -1
  242. package/lib/utils/createCustomEvent.d.ts.map +1 -1
  243. package/lib/utils/createCustomEvent.js +8 -2
  244. package/lib/utils/findLastIndex.d.ts +2 -0
  245. package/lib/utils/findLastIndex.d.ts.map +1 -0
  246. package/lib/utils/findLastIndex.js +32 -0
  247. package/lib/utils/findMin.js +1 -1
  248. package/lib/utils/mapMap.d.ts.map +1 -1
  249. package/lib/utils/mapMap.js +9 -2
  250. package/lib/utils/randomId.d.ts.map +1 -1
  251. package/lib/utils/randomId.js +1 -1
  252. package/package.json +26 -29
  253. package/src/StyleOptions.ts +295 -14
  254. package/src/defaultStyleOptions.ts +71 -13
  255. package/src/hooks/Composer.tsx +90 -54
  256. package/src/hooks/index.ts +20 -0
  257. package/src/hooks/internal/WebChatAPIContext.ts +3 -3
  258. package/src/hooks/internal/useCreateActivityRendererInternal.ts +21 -20
  259. package/src/hooks/internal/useDebugDeps.js +9 -2
  260. package/src/hooks/internal/usePrevious.ts +11 -0
  261. package/src/hooks/internal/useValueRef.ts +21 -0
  262. package/src/hooks/middleware/concatMiddleware.ts +6 -4
  263. package/src/hooks/middleware/createDefaultCardActionMiddleware.ts +29 -27
  264. package/src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts +18 -6
  265. package/src/hooks/useActiveTyping.ts +5 -3
  266. package/src/hooks/useActivities.ts +2 -2
  267. package/src/hooks/useActivityKeys.ts +3 -0
  268. package/src/hooks/useActivityKeysByRead.ts +3 -0
  269. package/src/hooks/useCreateActivityStatusRenderer.tsx +65 -34
  270. package/src/hooks/useCreateAvatarRenderer.ts +24 -20
  271. package/src/hooks/useDateFormatter.ts +4 -3
  272. package/src/hooks/useGetActivityByKey.ts +3 -0
  273. package/src/hooks/useGetHasAcknowledgedByActivityKey.ts +3 -0
  274. package/src/hooks/useGetKeyByActivity.ts +3 -0
  275. package/src/hooks/useGetKeyByActivityId.ts +3 -0
  276. package/src/hooks/useGetSendTimeoutForActivity.ts +9 -8
  277. package/src/hooks/useGroupActivities.ts +4 -8
  278. package/src/hooks/useLastAcknowledgedActivityKey.ts +3 -0
  279. package/src/hooks/useLastReadActivityKey.ts +3 -0
  280. package/src/hooks/useLocalizer.ts +7 -2
  281. package/src/hooks/useMarkActivityAsSpoken.ts +2 -2
  282. package/src/hooks/useMarkActivityKeyAsRead.ts +3 -0
  283. package/src/hooks/useMarkAllAsAcknowledged.ts +3 -0
  284. package/src/hooks/usePerformCardAction.ts +2 -3
  285. package/src/hooks/usePostActivity.ts +2 -2
  286. package/src/hooks/useSendFiles.ts +8 -1
  287. package/src/hooks/useSendTimeoutForActivity.ts +2 -2
  288. package/src/hooks/useSubmitSendBox.ts +2 -5
  289. package/src/hooks/useSuggestedActions.ts +1 -1
  290. package/src/hooks/useTimeoutForSend.ts +2 -2
  291. package/src/localization/Localize.ts +9 -2
  292. package/src/localization/ar-SA.json +23 -4
  293. package/src/localization/bg-BG.json +23 -4
  294. package/src/localization/ca-ES.json +23 -4
  295. package/src/localization/cs-CZ.json +23 -4
  296. package/src/localization/da-DK.json +23 -4
  297. package/src/localization/de-DE.json +23 -4
  298. package/src/localization/el-GR.json +23 -4
  299. package/src/localization/en-US.json +34 -9
  300. package/src/localization/es-ES.json +23 -4
  301. package/src/localization/et-EE.json +23 -4
  302. package/src/localization/eu-ES.json +23 -4
  303. package/src/localization/fi-FI.json +23 -4
  304. package/src/localization/fr-FR.json +23 -4
  305. package/src/localization/gl-ES.json +23 -4
  306. package/src/localization/he-IL.json +23 -4
  307. package/src/localization/hi-IN.json +23 -4
  308. package/src/localization/hr-HR.json +23 -4
  309. package/src/localization/hu-HU.json +23 -4
  310. package/src/localization/id-ID.json +23 -4
  311. package/src/localization/it-IT.json +23 -4
  312. package/src/localization/ja-JP.json +23 -4
  313. package/src/localization/kk-KZ.json +23 -4
  314. package/src/localization/ko-KR.json +23 -4
  315. package/src/localization/lt-LT.json +23 -4
  316. package/src/localization/lv-LV.json +23 -4
  317. package/src/localization/mergeLocalizedStrings.ts +7 -1
  318. package/src/localization/ms-MY.json +23 -4
  319. package/src/localization/nb-NO.json +23 -4
  320. package/src/localization/nl-NL.json +23 -4
  321. package/src/localization/pl-PL.json +23 -4
  322. package/src/localization/pt-BR.json +23 -4
  323. package/src/localization/pt-PT.json +23 -4
  324. package/src/localization/ro-RO.json +23 -4
  325. package/src/localization/ru-RU.json +23 -4
  326. package/src/localization/sk-SK.json +23 -4
  327. package/src/localization/sl-SI.json +23 -4
  328. package/src/localization/sr-Cyrl-CS.json +23 -4
  329. package/src/localization/sr-Latn-CS.json +23 -4
  330. package/src/localization/sv-SE.json +23 -4
  331. package/src/localization/th-TH.json +23 -4
  332. package/src/localization/tr-TR.json +23 -4
  333. package/src/localization/uk-UA.json +23 -4
  334. package/src/localization/vi-VN.json +23 -4
  335. package/src/localization/yue.json +26 -7
  336. package/src/localization/zh-CN.json +23 -4
  337. package/src/localization/zh-HK.json +23 -4
  338. package/src/localization/zh-TW.json +23 -4
  339. package/src/normalizeStyleOptions.ts +70 -0
  340. package/src/patchStyleOptionsFromDeprecatedProps.js +0 -2
  341. package/src/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.tsx +180 -0
  342. package/src/providers/ActivityAcknowledgement/private/Context.ts +18 -0
  343. package/src/providers/ActivityAcknowledgement/private/types.ts +6 -0
  344. package/src/providers/ActivityAcknowledgement/private/useContext.ts +19 -0
  345. package/src/providers/ActivityAcknowledgement/useActivityKeysByRead.tsx +8 -0
  346. package/src/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.ts +5 -0
  347. package/src/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.ts +5 -0
  348. package/src/providers/ActivityAcknowledgement/useLastReadActivityKey.ts +5 -0
  349. package/src/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.ts +5 -0
  350. package/src/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.ts +5 -0
  351. package/src/providers/ActivityKeyer/ActivityKeyerComposer.tsx +150 -0
  352. package/src/providers/ActivityKeyer/private/Context.ts +13 -0
  353. package/src/providers/ActivityKeyer/private/getActivityId.ts +5 -0
  354. package/src/providers/ActivityKeyer/private/getClientActivityId.ts +5 -0
  355. package/src/providers/ActivityKeyer/private/uniqueId.ts +8 -0
  356. package/src/providers/ActivityKeyer/private/useContext.ts +15 -0
  357. package/src/providers/ActivityKeyer/useActivityKeys.ts +5 -0
  358. package/src/providers/ActivityKeyer/useGetActivityByKey.ts +7 -0
  359. package/src/providers/ActivityKeyer/useGetKeyByActivity.ts +7 -0
  360. package/src/providers/ActivityKeyer/useGetKeyByActivityId.ts +5 -0
  361. package/src/types/ActivityMiddleware.ts +3 -3
  362. package/src/types/ActivityStatusMiddleware.ts +3 -3
  363. package/src/types/AttachmentForScreenReaderMiddleware.ts +2 -2
  364. package/src/types/AttachmentMiddleware.ts +2 -2
  365. package/src/types/AvatarMiddleware.ts +2 -2
  366. package/src/types/CardActionMiddleware.ts +2 -2
  367. package/src/types/GroupActivitiesMiddleware.ts +7 -7
  368. package/src/utils/createCustomEvent.ts +7 -1
  369. package/src/utils/findLastIndex.spec.js +31 -0
  370. package/src/utils/findLastIndex.ts +11 -0
  371. package/src/utils/mapMap.ts +7 -1
  372. package/src/utils/randomId.ts +1 -1
  373. package/.eslintignore +0 -1
@@ -0,0 +1,31 @@
1
+ /* eslint no-magic-numbers: "off" */
2
+
3
+ import findLastIndex from './findLastIndex';
4
+
5
+ describe('find last index', () => {
6
+ test('of an existing element should return the index of last occurrence', () => {
7
+ const actual = findLastIndex([1, 2, 3, 2, 1], value => value === 2);
8
+
9
+ expect(actual).toBe(3);
10
+ });
11
+
12
+ test('of a non-existing element should return -1', () => {
13
+ const actual = findLastIndex([1, 2, 3, 2, 1], value => value === 4);
14
+
15
+ expect(actual).toBe(-1);
16
+ });
17
+
18
+ test('of an empty array should return -1', () => {
19
+ const actual = findLastIndex([], value => value === 1);
20
+
21
+ expect(actual).toBe(-1);
22
+ });
23
+
24
+ test('without a predicate should throw', () => {
25
+ expect(() => findLastIndex([])).toThrowError('not a function');
26
+ });
27
+
28
+ test('without an array should throw', () => {
29
+ expect(() => findLastIndex(undefined, value => value === 1)).toThrowError();
30
+ });
31
+ });
@@ -0,0 +1,11 @@
1
+ export default function findLastIndex<T>(array: readonly T[], predicate: (value: T, index: number) => boolean): number {
2
+ const index = [...array].reverse().findIndex(predicate);
3
+
4
+ if (~index) {
5
+ const { length } = array || [];
6
+
7
+ return length - index - 1;
8
+ }
9
+
10
+ return index;
11
+ }
@@ -1,9 +1,15 @@
1
+ import { isForbiddenPropertyName } from 'botframework-webchat-core';
2
+
1
3
  export default function mapMap<T>(
2
4
  map: { [key: string]: T },
3
5
  mapper: (value: T, key: string) => T
4
6
  ): { [key: string]: T } {
5
7
  return Object.entries(map).reduce((result, [key, value]) => {
6
- result[key] = mapper(value, key);
8
+ if (!isForbiddenPropertyName(key)) {
9
+ // Mitigation through denylisting.
10
+ // eslint-disable-next-line security/detect-object-injection
11
+ result[key] = mapper(value, key);
12
+ }
7
13
 
8
14
  return result;
9
15
  }, {});
@@ -2,6 +2,6 @@
2
2
 
3
3
  import random from 'math-random';
4
4
 
5
- export default function randomId(maxLength: number = 5): string {
5
+ export default function randomId(maxLength = 5): string {
6
6
  return random().toString(36).substr(2, maxLength);
7
7
  }
package/.eslintignore DELETED
@@ -1 +0,0 @@
1
- /src/tsconfig.json