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
@@ -1,4 +1,4 @@
1
- import { DirectLineActivity } from 'botframework-webchat-core';
1
+ import type { WebChatActivity } from 'botframework-webchat-core';
2
2
 
3
3
  type StyleOptions = {
4
4
  /**
@@ -248,7 +248,7 @@ type StyleOptions = {
248
248
  /**
249
249
  * Specify number of pixels to overscroll or underscroll after pause
250
250
  */
251
- autoScrollSnapOnPageoffset?: number;
251
+ autoScrollSnapOnPageOffset?: number;
252
252
 
253
253
  /**
254
254
  * Send box styling
@@ -259,15 +259,101 @@ type StyleOptions = {
259
259
  microphoneButtonColorOnDictate?: string;
260
260
  sendBoxBackground?: string;
261
261
 
262
+ /** Send box button: Icon color, defaults to subtle */
263
+ sendBoxButtonColor?: string;
264
+
262
265
  /**
263
- * Button color defaults to subtle
266
+ * Send box button: Shade border radius
267
+ *
268
+ * @default 2
264
269
  */
265
- sendBoxButtonColor?: string;
270
+ sendBoxButtonShadeBorderRadius?: number;
271
+
272
+ /** Send box button: Shade color */
273
+ sendBoxButtonShadeColor?: string;
274
+
275
+ /**
276
+ * Send box button: Shade inset
277
+ *
278
+ * @default 2
279
+ */
280
+ sendBoxButtonShadeInset?: number;
281
+
282
+ /** Send box button (while `:active`): Icon color */
283
+ sendBoxButtonColorOnActive?: string;
266
284
 
285
+ /**
286
+ * Send box button (while `:active`): Shade color
287
+ *
288
+ * @default '#EDEBE9'
289
+ */
290
+ sendBoxButtonShadeColorOnActive?: string;
291
+
292
+ /**
293
+ * Send box button (while `:disabled`): Icon color
294
+ *
295
+ * @default '#A19F9D'
296
+ */
267
297
  sendBoxButtonColorOnDisabled?: string;
298
+
299
+ /**
300
+ * Send box button (while `:disabled`): Shade color
301
+ *
302
+ * @default '#F3F2F1'
303
+ */
304
+ sendBoxButtonShadeColorOnDisabled?: string;
305
+
306
+ /** Send box button (while `:focus`): Icon color */
268
307
  sendBoxButtonColorOnFocus?: string;
308
+
309
+ /** Send box button (while `:focus`): Shade color */
310
+ sendBoxButtonShadeColorOnFocus?: string;
311
+
312
+ /** Send box button (while `:hover`): Icon color */
269
313
  sendBoxButtonColorOnHover?: string;
270
314
 
315
+ /**
316
+ * Send box button (while `:hover`): Shade color
317
+ *
318
+ * @default '#F3F2F1'
319
+ */
320
+ sendBoxButtonShadeColorOnHover?: string;
321
+
322
+ /**
323
+ * Send box button (while `:focus-visible`): Keyboard focus indicator border color
324
+ *
325
+ * @default '#605E5C'
326
+ */
327
+ sendBoxButtonKeyboardFocusIndicatorBorderColor?: string;
328
+
329
+ /**
330
+ * Send box button (while `:focus-visible`): Keyboard focus indicator border radius
331
+ *
332
+ * @default 0
333
+ */
334
+ sendBoxButtonKeyboardFocusIndicatorBorderRadius?: number | string;
335
+
336
+ /**
337
+ * Send box button (while `:focus-visible`): Keyboard focus indicator border style
338
+ *
339
+ * @default 'solid'
340
+ */
341
+ sendBoxButtonKeyboardFocusIndicatorBorderStyle?: string;
342
+
343
+ /**
344
+ * Send box button (while` :focus-visible`): Keyboard focus indicator border width
345
+ *
346
+ * @default 4
347
+ */
348
+ sendBoxButtonKeyboardFocusIndicatorBorderWidth?: number;
349
+
350
+ /**
351
+ * Send box button (while `:focus-visible`): Keyboard focus indicator inset
352
+ *
353
+ * @default 4
354
+ */
355
+ sendBoxButtonKeyboardFocusIndicatorInset?: number;
356
+
271
357
  /**
272
358
  * Disabled text color defaults to subtle
273
359
  */
@@ -302,35 +388,230 @@ type StyleOptions = {
302
388
  * Suggested Actions
303
389
  */
304
390
 
391
+ /**
392
+ * Suggested action: border radius
393
+ *
394
+ * @default 0
395
+ */
396
+ suggestedActionBorderRadius?: number | string;
397
+
398
+ /**
399
+ * Suggested action: Background
400
+ *
401
+ * @deprecated Since 4.15.0: Please use `suggestedActionBackgroundColor` instead. This option will be removed on or after 2023-09-16.
402
+ */
305
403
  suggestedActionBackground?: string;
306
404
 
307
405
  /**
308
- * Border color defaults to accent.
406
+ * Suggested action: Background color
407
+ *
408
+ * @default 'White'
309
409
  */
410
+ suggestedActionBackgroundColor?: string;
411
+
412
+ /** Suggested action: Border color, defaults to accent color */
310
413
  suggestedActionBorderColor?: string;
311
414
 
312
- suggestedActionBorderRadius?: number | string;
415
+ /**
416
+ * Suggested action: Border style
417
+ *
418
+ * @default 'solid'
419
+ */
313
420
  suggestedActionBorderStyle?: string;
314
- suggestedActionBorderWidth?: number | string;
315
421
 
316
422
  /**
317
- * Disabled background defaults to suggestedActionBackground
423
+ * Suggested action: Border width
424
+ *
425
+ * @default 2
426
+ */
427
+ suggestedActionBorderWidth?: number;
428
+
429
+ /** Suggested action: Text color, defaults to accent color */
430
+ suggestedActionTextColor?: string;
431
+
432
+ /** Suggested action (while `:disabled`): Background color, defaults to suggestedActionBackground */
433
+ suggestedActionBackgroundColorOnDisabled?: string;
434
+
435
+ /**
436
+ * Suggested action (while `:disabled`): Border color
437
+ *
438
+ * @default '#E6E6E6'
439
+ */
440
+ suggestedActionBorderColorOnDisabled?: string;
441
+
442
+ /** Suggested action (while `:disabled`): Border style */
443
+ suggestedActionBorderStyleOnDisabled?: string;
444
+
445
+ /** Suggested action (while `:disabled`): Border width */
446
+ suggestedActionBorderWidthOnDisabled?: number;
447
+
448
+ /** Suggested action (while `:disabled`): Foreground color, defaults to subtle color */
449
+ suggestedActionTextColorOnDisabled?: string;
450
+
451
+ /**
452
+ * Suggested action (while `:active`): Background color
453
+ *
454
+ * @default '#EDEBE9'
455
+ */
456
+ suggestedActionBackgroundColorOnActive?: string;
457
+
458
+ /** Suggested action (while `:active`): Border color */
459
+ suggestedActionBorderColorOnActive?: string;
460
+
461
+ /** Suggested action (while `:active`): Border style */
462
+ suggestedActionBorderStyleOnActive?: string;
463
+
464
+ /** Suggested action (while `:active`): Border width */
465
+ suggestedActionBorderWidthOnActive?: number;
466
+
467
+ /** Suggested action (while `:active`): Text color */
468
+ suggestedActionTextColorOnActive?: string;
469
+
470
+ /** Suggested action (while `:focus`): Background color */
471
+ suggestedActionBackgroundColorOnFocus?: string;
472
+
473
+ /** Suggested action (while `:focus`): Border color */
474
+ suggestedActionBorderColorOnFocus?: string;
475
+
476
+ /** Suggested action (while `:focus`): Border style */
477
+ suggestedActionBorderStyleOnFocus?: string;
478
+
479
+ /** Suggested action (while `:focus`): Border width */
480
+ suggestedActionBorderWidthOnFocus?: number;
481
+
482
+ /** Suggested action (while `:focus`): Text color */
483
+ suggestedActionTextColorOnFocus?: string;
484
+
485
+ /**
486
+ * Suggested action (while `:hover`): Background color
487
+ *
488
+ * @default '#F3F2F1'
489
+ */
490
+ suggestedActionBackgroundColorOnHover?: string;
491
+
492
+ /** Suggested action (while `:hover`): Border color */
493
+ suggestedActionBorderColorOnHover?: string;
494
+
495
+ /** Suggested action (while `:hover`): Border style */
496
+ suggestedActionBorderStyleOnHover?: string;
497
+
498
+ /** Suggested action (while `:hover`): Border width */
499
+ suggestedActionBorderWidthOnHover?: number;
500
+
501
+ /** Suggested action (while `:hover`): Text color */
502
+ suggestedActionTextColorOnHover?: string;
503
+
504
+ /**
505
+ * Suggested action (while `:disabled`): Background, defaults to suggestedActionBackground.
506
+ *
507
+ * @deprecated Since 4.15.0: Please use `suggestedActionBackgroundColorOnDisabled` instead. This option will be removed on or after 2023-09-16.
318
508
  */
319
509
  suggestedActionDisabledBackground?: string;
320
510
 
511
+ /**
512
+ * Suggested action (while `:disabled`): Border color
513
+ *
514
+ * @deprecated Since 4.15.0: Please use `suggestedActionBorderColorOnDisabled` instead. This option will be removed on or after 2023-09-16.
515
+ */
321
516
  suggestedActionDisabledBorderColor?: string;
517
+
518
+ /**
519
+ * Suggested action (while `:disabled`): Border style
520
+ *
521
+ * @deprecated Since 4.15.0: Please use `suggestedActionBorderStyleOnDisabled` instead. This option will be removed on or after 2023-09-16.
522
+ */
322
523
  suggestedActionDisabledBorderStyle?: string;
323
- suggestedActionDisabledBorderWidth?: number | string;
324
524
 
325
525
  /**
326
- * Disabled text color defaults to subtle
526
+ * Suggested action (while `:disabled`): Border width
527
+ *
528
+ * @deprecated Since 4.15.0: Please use `suggestedActionBorderWidthOnDisabled` instead. This option will be removed on or after 2023-09-16.
529
+ */
530
+ suggestedActionDisabledBorderWidth?: number;
531
+
532
+ /**
533
+ * Suggested action (while `:disabled`): Foreground color, defaults to subtle color
534
+ *
535
+ * @deprecated Since 4.15.0: Please use `suggestedActionTextColorOnDisabled` instead. This option will be removed on or after 2023-09-16.
327
536
  */
328
537
  suggestedActionDisabledTextColor?: string;
329
538
 
539
+ /**
540
+ * Suggested action: Height
541
+ *
542
+ * @default 40
543
+ */
330
544
  suggestedActionHeight?: number | string;
545
+
546
+ /**
547
+ * Suggested action: Image height
548
+ *
549
+ * @default 20
550
+ */
331
551
  suggestedActionImageHeight?: number | string;
552
+
553
+ /**
554
+ * Suggested action: Layout type
555
+ *
556
+ * @default 'carousel'
557
+ */
332
558
  suggestedActionLayout?: 'carousel' | 'flow' | 'stacked';
333
- suggestedActionTextColor?: string;
559
+
560
+ /**
561
+ * Suggested action (while `:focus-visible`): Keyboard focus indicator border color
562
+ *
563
+ * @default '#605E5C'
564
+ */
565
+ suggestedActionKeyboardFocusIndicatorBorderColor?: string;
566
+
567
+ /**
568
+ * Suggested action (while `:focus-visible`): Keyboard focus indicator border radius
569
+ *
570
+ * @default 0
571
+ */
572
+ suggestedActionKeyboardFocusIndicatorBorderRadius?: number | string;
573
+
574
+ /**
575
+ * Suggested action (while `:focus-visible`): Keyboard focus indicator border style
576
+ *
577
+ * @default 'solid'
578
+ */
579
+ suggestedActionKeyboardFocusIndicatorBorderStyle?: string;
580
+
581
+ /**
582
+ * Suggested action (while `:focus-visible`): Keyboard focus indicator border width
583
+ *
584
+ * @default 1
585
+ */
586
+ suggestedActionKeyboardFocusIndicatorBorderWidth?: number;
587
+
588
+ /**
589
+ * Suggested action (while `:focus-visible`): Keyboard focus indicator inset
590
+ *
591
+ * @default 2
592
+ */
593
+ suggestedActionKeyboardFocusIndicatorInset?: number;
594
+
595
+ /**
596
+ * Suggested action (while `:active`): background
597
+ *
598
+ * @deprecated Since 4.15.0: Please use `suggestedActionBackgroundColorOnActive` instead. This option will be removed on or after 2023-09-16.
599
+ */
600
+ suggestedActionActiveBackground?: string;
601
+
602
+ /**
603
+ * Suggested action (while `:focus`): background
604
+ *
605
+ * @deprecated Since 4.15.0: Please use `suggestedActionBackgroundColorOnFocus` instead. This option will be removed on or after 2023-09-16.
606
+ */
607
+ suggestedActionFocusBackground?: string;
608
+
609
+ /**
610
+ * Suggested action (while `:hover`): background
611
+ *
612
+ * @deprecated Since 4.15.0: Please use `suggestedActionBackgroundColorOnHover` instead. This option will be removed on or after 2023-09-16.
613
+ */
614
+ suggestedActionHoverBackground?: string;
334
615
 
335
616
  /**
336
617
  * Suggested actions carousel layout
@@ -367,9 +648,9 @@ type StyleOptions = {
367
648
  suggestedActionsStackedHeight?: number | 'auto';
368
649
 
369
650
  /**
370
- * Stacked overflow default value is 'auto
651
+ * Stacked overflow default value is 'auto'
371
652
  */
372
- suggestedActionsStackedOverflow?: 'string';
653
+ suggestedActionsStackedOverflow?: 'auto' | 'hidden' | 'scroll' | 'visible';
373
654
 
374
655
  /**
375
656
  * Button max height default value is 100% if suggestedActionsStackedLayoutButtonTextWrap is true
@@ -394,7 +675,7 @@ type StyleOptions = {
394
675
  */
395
676
  groupTimestamp?: boolean | number;
396
677
 
397
- sendTimeout?: number | ((activity: DirectLineActivity) => number);
678
+ sendTimeout?: number | ((activity: WebChatActivity) => number);
398
679
  sendTimeoutForAttachments?: number;
399
680
 
400
681
  /**
@@ -88,17 +88,39 @@ const DEFAULT_OPTIONS: Required<StyleOptions> = {
88
88
  autoScrollSnapOnActivity: false,
89
89
  autoScrollSnapOnActivityOffset: 0,
90
90
  autoScrollSnapOnPage: false,
91
- autoScrollSnapOnPageoffset: 0,
91
+ autoScrollSnapOnPageOffset: 0, // TODO: Rename from "autoScrollSnapOnPageoffset".
92
92
 
93
93
  // Send box
94
94
  hideSendBox: false,
95
95
  hideUploadButton: false,
96
96
  microphoneButtonColorOnDictate: '#F33',
97
97
  sendBoxBackground: 'White',
98
+
99
+ // Send box buttons
98
100
  sendBoxButtonColor: undefined,
99
- sendBoxButtonColorOnDisabled: '#CCC',
100
- sendBoxButtonColorOnFocus: '#333',
101
- sendBoxButtonColorOnHover: '#333',
101
+ sendBoxButtonShadeColor: undefined,
102
+
103
+ sendBoxButtonColorOnActive: undefined,
104
+ sendBoxButtonShadeColorOnActive: '#EDEBE9',
105
+
106
+ sendBoxButtonColorOnDisabled: '#A19F9D',
107
+ sendBoxButtonShadeColorOnDisabled: '#F3F2F1',
108
+
109
+ sendBoxButtonColorOnFocus: undefined,
110
+ sendBoxButtonShadeColorOnFocus: undefined,
111
+
112
+ sendBoxButtonColorOnHover: undefined,
113
+ sendBoxButtonShadeColorOnHover: '#F3F2F1',
114
+
115
+ sendBoxButtonShadeBorderRadius: 2,
116
+ sendBoxButtonShadeInset: 2,
117
+
118
+ sendBoxButtonKeyboardFocusIndicatorBorderColor: '#605E5C',
119
+ sendBoxButtonKeyboardFocusIndicatorBorderRadius: 0,
120
+ sendBoxButtonKeyboardFocusIndicatorBorderStyle: 'solid',
121
+ sendBoxButtonKeyboardFocusIndicatorBorderWidth: 1,
122
+ sendBoxButtonKeyboardFocusIndicatorInset: 4,
123
+
102
124
  sendBoxDisabledTextColor: undefined,
103
125
  sendBoxHeight: 40,
104
126
  sendBoxMaxHeight: 200,
@@ -121,21 +143,57 @@ const DEFAULT_OPTIONS: Required<StyleOptions> = {
121
143
  spinnerAnimationPadding: 12,
122
144
 
123
145
  // Suggested actions
124
- suggestedActionBackground: 'White',
125
- suggestedActionBorderColor: undefined,
126
146
  suggestedActionBorderRadius: 0,
127
- suggestedActionBorderStyle: 'solid',
128
- suggestedActionBorderWidth: 2,
129
- suggestedActionDisabledBackground: undefined,
130
- suggestedActionDisabledBorderColor: '#E6E6E6',
131
- suggestedActionDisabledBorderStyle: 'solid',
132
- suggestedActionDisabledBorderWidth: 2,
133
- suggestedActionDisabledTextColor: undefined,
134
147
  suggestedActionHeight: 40,
135
148
  suggestedActionImageHeight: 20,
136
149
  suggestedActionLayout: 'carousel',
150
+
151
+ suggestedActionBackgroundColor: 'White',
152
+ suggestedActionBorderColor: undefined,
153
+ suggestedActionBorderStyle: 'solid',
154
+ suggestedActionBorderWidth: 2,
137
155
  suggestedActionTextColor: undefined,
138
156
 
157
+ suggestedActionBackgroundColorOnActive: '#EDEBE9',
158
+ suggestedActionBorderColorOnActive: undefined,
159
+ suggestedActionBorderStyleOnActive: undefined,
160
+ suggestedActionBorderWidthOnActive: undefined,
161
+ suggestedActionTextColorOnActive: undefined,
162
+
163
+ suggestedActionBackgroundColorOnDisabled: undefined,
164
+ suggestedActionBorderColorOnDisabled: '#E6E6E6',
165
+ suggestedActionBorderStyleOnDisabled: undefined,
166
+ suggestedActionBorderWidthOnDisabled: undefined,
167
+ suggestedActionTextColorOnDisabled: undefined,
168
+
169
+ suggestedActionBackgroundColorOnFocus: undefined,
170
+ suggestedActionBorderColorOnFocus: undefined,
171
+ suggestedActionBorderStyleOnFocus: undefined,
172
+ suggestedActionBorderWidthOnFocus: undefined,
173
+ suggestedActionTextColorOnFocus: undefined,
174
+
175
+ suggestedActionBackgroundColorOnHover: '#F3F2F1',
176
+ suggestedActionBorderColorOnHover: undefined,
177
+ suggestedActionBorderStyleOnHover: undefined,
178
+ suggestedActionBorderWidthOnHover: undefined,
179
+ suggestedActionTextColorOnHover: undefined,
180
+
181
+ suggestedActionKeyboardFocusIndicatorBorderColor: '#605E5C',
182
+ suggestedActionKeyboardFocusIndicatorBorderRadius: 0,
183
+ suggestedActionKeyboardFocusIndicatorBorderStyle: 'solid',
184
+ suggestedActionKeyboardFocusIndicatorBorderWidth: 1,
185
+ suggestedActionKeyboardFocusIndicatorInset: 2,
186
+
187
+ suggestedActionActiveBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
188
+ suggestedActionBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
189
+ suggestedActionDisabledBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
190
+ suggestedActionDisabledBorderColor: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
191
+ suggestedActionDisabledBorderStyle: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
192
+ suggestedActionDisabledBorderWidth: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
193
+ suggestedActionDisabledTextColor: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
194
+ suggestedActionFocusBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
195
+ suggestedActionHoverBackground: undefined, // Deprecated as of 4.15.0. Remove on or after 2023-09-16.
196
+
139
197
  // Suggested actions carousel layout
140
198
  suggestedActionsCarouselFlipperCursor: undefined,
141
199
  suggestedActionsCarouselFlipperBoxWidth: 40,