botframework-webchat-api 4.18.2 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (924) hide show
  1. package/LICENSE +21 -0
  2. package/boot/deprecated/decorator.js +7 -0
  3. package/boot/deprecated/decorator.mjs +5 -0
  4. package/boot/deprecated/graph.js +7 -0
  5. package/boot/deprecated/graph.mjs +5 -0
  6. package/boot/deprecated/hook.js +7 -0
  7. package/boot/deprecated/hook.mjs +5 -0
  8. package/boot/deprecated/internal.js +7 -0
  9. package/boot/deprecated/internal.mjs +5 -0
  10. package/boot/deprecated/middleware.js +7 -0
  11. package/boot/deprecated/middleware.mjs +5 -0
  12. package/decorator.js +1 -1
  13. package/dist/StyleOptions-4TkRjGbQ.d.mts +802 -0
  14. package/dist/StyleOptions-4TkRjGbQ.d.ts +802 -0
  15. package/dist/_dtsroll-chunks/B1b7R2eH-avatarMiddleware-CHa011_j.d.ts +109 -0
  16. package/dist/_dtsroll-chunks/CEcj2Npa-botframework-webchat-redux-store.d.ts +16 -0
  17. package/dist/_dtsroll-chunks/DnThgHcF-botframework-webchat-api-middleware.d.ts +231 -0
  18. package/dist/_dtsroll-chunks/Dtb0H_Ee-handler-chain.d.ts +4 -0
  19. package/dist/_dtsroll-chunks/N-ttGLxs-botframework-webchat-base.utils.d.ts +4 -0
  20. package/dist/_dtsroll-chunks/qKTV3q17-avatarMiddleware-CHa011_j.d.ts +93 -0
  21. package/dist/botframework-webchat-api.d.mts +173 -1250
  22. package/dist/botframework-webchat-api.d.ts +387 -0
  23. package/dist/botframework-webchat-api.decorator.d.mts +71 -26
  24. package/dist/botframework-webchat-api.decorator.d.ts +81 -0
  25. package/dist/botframework-webchat-api.decorator.js +2 -0
  26. package/dist/botframework-webchat-api.decorator.js.map +1 -0
  27. package/dist/botframework-webchat-api.decorator.mjs +1 -2
  28. package/dist/botframework-webchat-api.decorator.mjs.map +1 -1
  29. package/dist/botframework-webchat-api.graph.d.mts +5 -0
  30. package/dist/botframework-webchat-api.graph.d.ts +2 -0
  31. package/dist/botframework-webchat-api.graph.js +2 -0
  32. package/dist/botframework-webchat-api.graph.js.map +1 -0
  33. package/dist/botframework-webchat-api.graph.mjs +2 -0
  34. package/dist/botframework-webchat-api.hook.d.mts +9 -0
  35. package/dist/botframework-webchat-api.hook.d.ts +9 -0
  36. package/dist/botframework-webchat-api.hook.js +2 -0
  37. package/dist/botframework-webchat-api.hook.js.map +1 -0
  38. package/dist/botframework-webchat-api.hook.mjs +2 -0
  39. package/dist/botframework-webchat-api.hook.mjs.map +1 -0
  40. package/dist/botframework-webchat-api.internal.d.mts +66 -1
  41. package/dist/botframework-webchat-api.internal.d.ts +68 -0
  42. package/dist/botframework-webchat-api.internal.js +2 -0
  43. package/dist/botframework-webchat-api.internal.js.map +1 -0
  44. package/dist/botframework-webchat-api.internal.mjs +1 -2
  45. package/dist/botframework-webchat-api.internal.mjs.map +1 -1
  46. package/dist/botframework-webchat-api.js +2 -0
  47. package/dist/botframework-webchat-api.js.map +1 -0
  48. package/dist/botframework-webchat-api.middleware.d.mts +45 -0
  49. package/dist/botframework-webchat-api.middleware.d.ts +45 -0
  50. package/dist/botframework-webchat-api.middleware.js +2 -0
  51. package/dist/botframework-webchat-api.middleware.js.map +1 -0
  52. package/dist/botframework-webchat-api.middleware.mjs +2 -0
  53. package/dist/botframework-webchat-api.middleware.mjs.map +1 -0
  54. package/dist/botframework-webchat-api.mjs +1 -139
  55. package/dist/botframework-webchat-api.mjs.LEGAL.txt +2 -27
  56. package/dist/botframework-webchat-api.mjs.map +1 -1
  57. package/dist/chunk-3YCFZWVR.js +2 -0
  58. package/dist/chunk-3YCFZWVR.js.map +1 -0
  59. package/dist/chunk-42OUJPJV.js +2 -0
  60. package/dist/chunk-42OUJPJV.js.map +1 -0
  61. package/dist/chunk-5HALOM2E.mjs +2 -0
  62. package/dist/chunk-5HALOM2E.mjs.map +1 -0
  63. package/dist/chunk-5JETBPYY.mjs +2 -0
  64. package/dist/chunk-5JETBPYY.mjs.map +1 -0
  65. package/dist/chunk-5X4VJZOM.js +2 -0
  66. package/dist/chunk-5X4VJZOM.js.map +1 -0
  67. package/dist/chunk-62M3VAKR.js +2 -0
  68. package/dist/chunk-62M3VAKR.js.map +1 -0
  69. package/dist/chunk-7GV72C4W.js +2 -0
  70. package/dist/chunk-7GV72C4W.js.map +1 -0
  71. package/dist/chunk-A6GQOZT3.js +2 -0
  72. package/dist/chunk-A6GQOZT3.js.map +1 -0
  73. package/dist/chunk-BWPBSJNH.js +2 -0
  74. package/dist/chunk-BWPBSJNH.js.map +1 -0
  75. package/dist/chunk-CIL5QUZ4.js +2 -0
  76. package/dist/chunk-CIL5QUZ4.js.map +1 -0
  77. package/dist/chunk-EVD4K5QH.mjs +2 -0
  78. package/dist/chunk-EVD4K5QH.mjs.map +1 -0
  79. package/dist/chunk-FA2GLWPN.mjs +2 -0
  80. package/dist/chunk-FA2GLWPN.mjs.map +1 -0
  81. package/dist/chunk-FD7QXXVX.js +2 -0
  82. package/dist/chunk-FD7QXXVX.js.map +1 -0
  83. package/dist/chunk-G5ZR6XJL.js +2 -0
  84. package/dist/chunk-G5ZR6XJL.js.map +1 -0
  85. package/dist/chunk-JKWDQH6P.mjs +2 -0
  86. package/dist/chunk-JKWDQH6P.mjs.map +1 -0
  87. package/dist/chunk-L5VFUNB4.js +2 -0
  88. package/dist/chunk-L5VFUNB4.js.map +1 -0
  89. package/dist/chunk-LIZ64UIL.mjs +2 -0
  90. package/dist/chunk-LIZ64UIL.mjs.map +1 -0
  91. package/dist/chunk-LW6LHF6Z.mjs +2 -0
  92. package/dist/chunk-LW6LHF6Z.mjs.map +1 -0
  93. package/dist/chunk-MMNBOGJJ.mjs +2 -0
  94. package/dist/chunk-MMNBOGJJ.mjs.map +1 -0
  95. package/dist/chunk-RLEJOP6E.mjs +2 -0
  96. package/dist/chunk-RLEJOP6E.mjs.map +1 -0
  97. package/dist/chunk-UK6V7R7K.js +2 -0
  98. package/dist/chunk-UK6V7R7K.js.map +1 -0
  99. package/dist/{chunk-J6D5YEY6.mjs → chunk-VAX7AB37.mjs} +1 -2
  100. package/dist/chunk-VAX7AB37.mjs.map +1 -0
  101. package/dist/chunk-VNGDFILB.mjs +2 -0
  102. package/dist/chunk-VNGDFILB.mjs.map +1 -0
  103. package/dist/chunk-XVCIEKX5.mjs +2 -0
  104. package/dist/chunk-XVCIEKX5.mjs.map +1 -0
  105. package/dist/hook-BXcgekzo.d.mts +536 -0
  106. package/dist/hook-C8NHjp6P.d.ts +536 -0
  107. package/dist/metafile-cjs.json +1 -0
  108. package/dist/metafile-esm.json +1 -1
  109. package/dist/templateMiddleware-BEttHPJk.d.mts +20 -0
  110. package/dist/templateMiddleware-BEttHPJk.d.ts +20 -0
  111. package/dist/types-BKuj7f2p.d.ts +228 -0
  112. package/dist/types-BZzd7aAk.d.mts +228 -0
  113. package/graph.js +3 -0
  114. package/hook.js +3 -0
  115. package/internal.js +1 -1
  116. package/middleware.js +3 -0
  117. package/package.json +158 -90
  118. package/src/StyleOptions.ts +400 -285
  119. package/src/__tests__/addMetaTag.spec.js +9 -0
  120. package/src/__tests__/addMetaTag.spec.mjs +9 -0
  121. package/src/boot/decorator.ts +21 -0
  122. package/src/boot/graph.ts +1 -0
  123. package/src/boot/hook.ts +82 -0
  124. package/src/boot/internal.ts +7 -0
  125. package/src/boot/middleware.ts +60 -0
  126. package/src/buildInfo.ts +9 -0
  127. package/src/decorator/ActivityBorder/ActivityBorderDecorator.tsx +57 -0
  128. package/src/decorator/ActivityBorder/private/ActivityBorderDecoratorMiddleware.ts +34 -0
  129. package/src/decorator/ActivityBorder/private/ActivityBorderDecoratorRequestContext.ts +48 -0
  130. package/src/decorator/ActivityGrouping/ActivityGroupingDecorator.tsx +43 -0
  131. package/src/decorator/ActivityGrouping/private/ActivityGroupingDecoratorMiddleware.ts +40 -0
  132. package/src/decorator/DecoratorComposer.tsx +51 -0
  133. package/src/decorator/internal/InternalDecoratorComposer.tsx +33 -0
  134. package/src/decorator/internal/LowPriorityDecoratorComposer.tsx +19 -0
  135. package/src/decorator/private/DecoratorComposerContext.ts +16 -0
  136. package/src/decorator/private/PassthroughFallback.tsx +12 -0
  137. package/src/decorator/private/templateDecorator.tsx +113 -0
  138. package/src/decorator/types.ts +4 -0
  139. package/src/decorator/useDecoratorRequest.ts +15 -0
  140. package/src/defaultStyleOptions.ts +40 -23
  141. package/src/env.d.ts +9 -0
  142. package/src/errorBox/errorBoxTelemetryPolymiddleware.ts +53 -0
  143. package/src/hooks/Composer.tsx +204 -142
  144. package/src/hooks/index.ts +19 -2
  145. package/src/hooks/internal/Tracker.ts +1 -1
  146. package/src/hooks/internal/WebChatAPIContext.ts +7 -12
  147. package/src/hooks/internal/WebChatReduxContext.js +3 -2
  148. package/src/hooks/internal/usePostVoiceActivity.ts +18 -0
  149. package/src/hooks/internal/useRegisterVoiceHandler.ts +23 -0
  150. package/src/hooks/internal/useShouldShowMicrophoneButton.ts +22 -0
  151. package/src/hooks/internal/useVoiceHandlers.ts +11 -0
  152. package/src/hooks/internal/useVoiceStateWritable.ts +18 -0
  153. package/src/hooks/middleware/UserlandBoundary.js +2 -2
  154. package/src/hooks/middleware/activityFallbackPolymiddleware.ts +23 -0
  155. package/src/hooks/middleware/applyMiddleware.js +5 -5
  156. package/src/hooks/middleware/concatMiddleware.spec.js +20 -0
  157. package/src/hooks/middleware/concatMiddleware.ts +7 -6
  158. package/src/hooks/private/reduceIterable.spec.ts +0 -2
  159. package/src/hooks/useActiveTyping.ts +3 -2
  160. package/src/hooks/useActivities.ts +62 -3
  161. package/src/hooks/useCreateActivityRenderer.ts +27 -6
  162. package/src/hooks/useCreateActivityStatusRenderer.tsx +13 -33
  163. package/src/hooks/useCreateAvatarRenderer.ts +19 -33
  164. package/src/hooks/useDebouncedNotifications.spec.js +1 -0
  165. package/src/hooks/useDisabled.ts +8 -2
  166. package/src/hooks/useLocalizer.ts +3 -3
  167. package/src/hooks/useRenderAttachment.ts +2 -2
  168. package/src/hooks/useSendBoxAttachments.ts +2 -0
  169. package/src/hooks/useSendFiles.ts +1 -1
  170. package/src/hooks/useSendTimeoutForActivity.ts +2 -0
  171. package/src/hooks/useStartVoice.ts +9 -0
  172. package/src/hooks/useStopVoice.ts +9 -0
  173. package/src/hooks/useStyleOptions.ts +1 -6
  174. package/src/hooks/useSuggestedActions.ts +9 -23
  175. package/src/hooks/useTrackEvent.ts +3 -3
  176. package/src/hooks/useUIState.ts +18 -0
  177. package/src/hooks/useVoiceRecordingMuted.ts +24 -0
  178. package/src/hooks/useVoiceState.ts +15 -0
  179. package/src/hooks/validation/uiState.parseUIState.spec.ts +21 -0
  180. package/src/hooks/validation/uiState.ts +10 -0
  181. package/src/index.ts +52 -94
  182. package/src/legacy/LegacyActivityBridge.tsx +77 -0
  183. package/src/legacy/LegacyActivityBridgeContext.ts +23 -0
  184. package/src/legacy/createActivityPolymiddlewareFromLegacy.tsx +123 -0
  185. package/src/legacy/createAvatarPolymiddlewareFromLegacy.tsx +102 -0
  186. package/src/localization/ar-SA.json +134 -111
  187. package/src/localization/bg-BG.json +134 -111
  188. package/src/localization/ca-ES.json +134 -111
  189. package/src/localization/cs-CZ.json +134 -111
  190. package/src/localization/da-DK.json +134 -111
  191. package/src/localization/de-DE.json +134 -111
  192. package/src/localization/el-GR.json +134 -111
  193. package/src/localization/en-US.json +45 -19
  194. package/src/localization/es-ES.json +134 -111
  195. package/src/localization/et-EE.json +134 -111
  196. package/src/localization/eu-ES.json +134 -111
  197. package/src/localization/fi-FI.json +134 -111
  198. package/src/localization/fr-FR.json +134 -111
  199. package/src/localization/gl-ES.json +134 -111
  200. package/src/localization/he-IL.json +134 -111
  201. package/src/localization/hi-IN.json +134 -111
  202. package/src/localization/hr-HR.json +134 -111
  203. package/src/localization/hu-HU.json +134 -111
  204. package/src/localization/id-ID.json +134 -111
  205. package/src/localization/it-IT.json +134 -111
  206. package/src/localization/ja-JP.json +134 -111
  207. package/src/localization/kk-KZ.json +134 -111
  208. package/src/localization/ko-KR.json +134 -111
  209. package/src/localization/lt-LT.json +134 -111
  210. package/src/localization/lv-LV.json +134 -111
  211. package/src/localization/ms-MY.json +134 -111
  212. package/src/localization/nb-NO.json +134 -111
  213. package/src/localization/nl-NL.json +134 -111
  214. package/src/localization/pl-PL.json +134 -111
  215. package/src/localization/pt-BR.json +134 -111
  216. package/src/localization/pt-PT.json +134 -111
  217. package/src/localization/ro-RO.json +134 -111
  218. package/src/localization/ru-RU.json +134 -111
  219. package/src/localization/sk-SK.json +134 -111
  220. package/src/localization/sl-SI.json +134 -111
  221. package/src/localization/sr-Cyrl-CS.json +134 -111
  222. package/src/localization/sr-Latn-CS.json +134 -111
  223. package/src/localization/sv-SE.json +134 -111
  224. package/src/localization/th-TH.json +134 -111
  225. package/src/localization/tr-TR.json +134 -111
  226. package/src/localization/uk-UA.json +134 -111
  227. package/src/localization/vi-VN.json +134 -111
  228. package/src/localization/yue.json +5 -16
  229. package/src/localization/zh-CN.json +134 -111
  230. package/src/localization/zh-HK.json +134 -111
  231. package/src/localization/zh-TW.json +134 -111
  232. package/src/middleware/AvatarPolymiddlewareProxy.tsx +46 -0
  233. package/src/middleware/SendBoxMiddleware.ts +28 -0
  234. package/src/middleware/SendBoxToolbarMiddleware.ts +28 -0
  235. package/src/middleware/private/templateMiddleware.check.test.tsx +47 -0
  236. package/src/{decorator → middleware}/private/templateMiddleware.test.tsx +19 -17
  237. package/src/middleware/private/templateMiddleware.tsx +106 -0
  238. package/src/middleware/useBuildRenderAvatarCallback.ts +37 -0
  239. package/src/normalizeStyleOptions.ts +51 -76
  240. package/src/providers/ActivityKeyer/ActivityKeyerComposer.tsx +197 -40
  241. package/src/providers/ActivityKeyer/private/someIterable.spec.ts +0 -2
  242. package/src/providers/ActivityListener/ActivityListenerComposer.tsx +1 -1
  243. package/src/providers/ActivitySendStatus/ActivitySendStatusComposer.tsx +6 -3
  244. package/src/providers/ActivityTyping/ActivityTypingComposer.tsx +145 -59
  245. package/src/providers/ActivityTyping/private/useReduceActivities.spec.tsx +236 -0
  246. package/src/providers/ActivityTyping/private/useReduceActivities.ts +49 -0
  247. package/src/providers/Capabilities/CapabilitiesComposer.tsx +53 -0
  248. package/src/providers/Capabilities/private/Context.ts +13 -0
  249. package/src/providers/Capabilities/private/capabilityRegistry.ts +45 -0
  250. package/src/providers/Capabilities/private/fetchCapabilitiesFromAdapter.ts +59 -0
  251. package/src/providers/Capabilities/private/shallowEqual.ts +18 -0
  252. package/src/providers/Capabilities/private/useContext.ts +12 -0
  253. package/src/providers/Capabilities/types/Capabilities.ts +16 -0
  254. package/src/providers/Capabilities/useCapabilities.ts +25 -0
  255. package/src/providers/GroupActivities/GroupActivitiesComposer.tsx +116 -0
  256. package/src/providers/GroupActivities/private/GroupActivitiesContext.ts +23 -0
  257. package/src/providers/GroupActivities/private/createDefaultGroupActivitiesMiddleware.ts +113 -0
  258. package/src/providers/GroupActivities/private/isGroupingValid.ts +41 -0
  259. package/src/providers/GroupActivities/private/useGroupActivitiesContext.ts +6 -0
  260. package/src/providers/GroupActivities/useGroupActivities.ts +20 -0
  261. package/src/providers/GroupActivities/useGroupActivitiesByName.ts +17 -0
  262. package/src/providers/SpeechToSpeech/SpeechToSpeechComposer.tsx +20 -0
  263. package/src/providers/SpeechToSpeech/private/VoiceHandlerBridge.tsx +23 -0
  264. package/src/providers/SpeechToSpeech/private/VoiceRecorderBridge.tsx +49 -0
  265. package/src/providers/SpeechToSpeech/private/useAudioPlayer.spec.tsx +355 -0
  266. package/src/providers/SpeechToSpeech/private/useAudioPlayer.ts +92 -0
  267. package/src/providers/SpeechToSpeech/private/useRecorder.spec.tsx +344 -0
  268. package/src/providers/SpeechToSpeech/private/useRecorder.ts +220 -0
  269. package/src/providers/StyleOptions/StyleOptionsComposer.tsx +46 -0
  270. package/src/providers/StyleOptions/private/StyleOptionsContext.ts +20 -0
  271. package/src/providers/StyleOptions/private/rectifyStyleOptions.ts +6 -0
  272. package/src/providers/StyleOptions/useStyleOptions.ts +6 -0
  273. package/src/tsconfig.json +5 -14
  274. package/src/types/ActivityStatusMiddleware.ts +1 -9
  275. package/src/types/AttachmentForScreenReaderMiddleware.ts +9 -2
  276. package/src/types/AvatarMiddleware.ts +12 -1
  277. package/src/types/CardActionMiddleware.ts +2 -0
  278. package/src/types/ComponentMiddleware.ts +1 -1
  279. package/src/types/GroupActivitiesMiddleware.ts +7 -11
  280. package/dist/botframework-webchat-api.decorator.mjs.LEGAL.txt +0 -0
  281. package/dist/botframework-webchat-api.internal.mjs.LEGAL.txt +0 -0
  282. package/dist/chunk-2S76JUVM.mjs +0 -3
  283. package/dist/chunk-2S76JUVM.mjs.LEGAL.txt +0 -0
  284. package/dist/chunk-2S76JUVM.mjs.map +0 -1
  285. package/dist/chunk-J6D5YEY6.mjs.LEGAL.txt +0 -0
  286. package/dist/chunk-ZAMHKQQC.mjs +0 -3
  287. package/dist/chunk-ZAMHKQQC.mjs.LEGAL.txt +0 -0
  288. package/dist/chunk-ZAMHKQQC.mjs.map +0 -1
  289. package/lib/StyleOptions.d.ts +0 -697
  290. package/lib/StyleOptions.d.ts.map +0 -1
  291. package/lib/StyleOptions.js +0 -2
  292. package/lib/decorator/index.d.ts +0 -5
  293. package/lib/decorator/index.d.ts.map +0 -1
  294. package/lib/decorator/index.js +0 -28
  295. package/lib/decorator/private/ActivityBorderDecoratorMiddleware.d.ts +0 -27
  296. package/lib/decorator/private/ActivityBorderDecoratorMiddleware.d.ts.map +0 -1
  297. package/lib/decorator/private/ActivityBorderDecoratorMiddleware.js +0 -19
  298. package/lib/decorator/private/ActivityDecorator.d.ts +0 -9
  299. package/lib/decorator/private/ActivityDecorator.d.ts.map +0 -1
  300. package/lib/decorator/private/ActivityDecorator.js +0 -36
  301. package/lib/decorator/private/DecoratorComposer.d.ts +0 -3
  302. package/lib/decorator/private/DecoratorComposer.d.ts.map +0 -1
  303. package/lib/decorator/private/DecoratorComposer.js +0 -13
  304. package/lib/decorator/private/activityDecoratorRequest.d.ts +0 -6
  305. package/lib/decorator/private/activityDecoratorRequest.d.ts.map +0 -1
  306. package/lib/decorator/private/activityDecoratorRequest.js +0 -2
  307. package/lib/decorator/private/createDecoratorComposer.d.ts +0 -11
  308. package/lib/decorator/private/createDecoratorComposer.d.ts.map +0 -1
  309. package/lib/decorator/private/createDecoratorComposer.js +0 -27
  310. package/lib/decorator/private/templateMiddleware.d.ts +0 -30
  311. package/lib/decorator/private/templateMiddleware.d.ts.map +0 -1
  312. package/lib/decorator/private/templateMiddleware.js +0 -53
  313. package/lib/decorator/private/templateMiddleware.test.d.ts +0 -3
  314. package/lib/decorator/private/templateMiddleware.test.d.ts.map +0 -1
  315. package/lib/defaultStyleOptions.d.ts +0 -4
  316. package/lib/defaultStyleOptions.d.ts.map +0 -1
  317. package/lib/defaultStyleOptions.js +0 -277
  318. package/lib/external/PrecompiledGlobalize.js +0 -6361
  319. package/lib/hooks/Composer.d.ts +0 -88
  320. package/lib/hooks/Composer.d.ts.map +0 -1
  321. package/lib/hooks/Composer.js +0 -605
  322. package/lib/hooks/index.d.ts +0 -73
  323. package/lib/hooks/index.d.ts.map +0 -1
  324. package/lib/hooks/index.js +0 -504
  325. package/lib/hooks/internal/ErrorBox.js +0 -47
  326. package/lib/hooks/internal/SendBoxMiddleware.d.ts +0 -37
  327. package/lib/hooks/internal/SendBoxMiddleware.d.ts.map +0 -1
  328. package/lib/hooks/internal/SendBoxMiddleware.js +0 -17
  329. package/lib/hooks/internal/SendBoxToolbarMiddleware.d.ts +0 -37
  330. package/lib/hooks/internal/SendBoxToolbarMiddleware.d.ts.map +0 -1
  331. package/lib/hooks/internal/SendBoxToolbarMiddleware.js +0 -17
  332. package/lib/hooks/internal/Tracker.d.ts +0 -4
  333. package/lib/hooks/internal/Tracker.d.ts.map +0 -1
  334. package/lib/hooks/internal/Tracker.js +0 -15
  335. package/lib/hooks/internal/WebChatAPIContext.d.ts +0 -80
  336. package/lib/hooks/internal/WebChatAPIContext.d.ts.map +0 -1
  337. package/lib/hooks/internal/WebChatAPIContext.js +0 -12
  338. package/lib/hooks/internal/WebChatReduxContext.js +0 -17
  339. package/lib/hooks/internal/defaultSelectVoice.js +0 -28
  340. package/lib/hooks/internal/private/templateMiddleware.d.ts +0 -3
  341. package/lib/hooks/internal/private/templateMiddleware.d.ts.map +0 -1
  342. package/lib/hooks/internal/private/templateMiddleware.js +0 -12
  343. package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts +0 -4
  344. package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts.map +0 -1
  345. package/lib/hooks/internal/useCreateActivityRendererInternal.js +0 -37
  346. package/lib/hooks/internal/useDebugDeps.js +0 -39
  347. package/lib/hooks/internal/useDirFromProps.js +0 -12
  348. package/lib/hooks/internal/useErrorBoxClass.js +0 -14
  349. package/lib/hooks/internal/useForceRender.js +0 -24
  350. package/lib/hooks/internal/useLocalizedGlobalize.js +0 -12
  351. package/lib/hooks/internal/useLocalizedStrings.js +0 -14
  352. package/lib/hooks/internal/useMarkActivity.js +0 -12
  353. package/lib/hooks/internal/usePrevious.d.ts +0 -3
  354. package/lib/hooks/internal/usePrevious.d.ts.map +0 -1
  355. package/lib/hooks/internal/usePrevious.js +0 -15
  356. package/lib/hooks/internal/useReadTelemetryDimensions.js +0 -20
  357. package/lib/hooks/internal/useSetDictateState.d.ts +0 -2
  358. package/lib/hooks/internal/useSetDictateState.d.ts.map +0 -1
  359. package/lib/hooks/internal/useSetDictateState.js +0 -12
  360. package/lib/hooks/internal/useTimer.d.ts +0 -5
  361. package/lib/hooks/internal/useTimer.d.ts.map +0 -1
  362. package/lib/hooks/internal/useTimer.js +0 -43
  363. package/lib/hooks/internal/useTracker.js +0 -42
  364. package/lib/hooks/internal/useValueRef.d.ts +0 -3
  365. package/lib/hooks/internal/useValueRef.d.ts.map +0 -1
  366. package/lib/hooks/internal/useValueRef.js +0 -22
  367. package/lib/hooks/internal/useWebChatAPIContext.d.ts +0 -83
  368. package/lib/hooks/internal/useWebChatAPIContext.d.ts.map +0 -1
  369. package/lib/hooks/internal/useWebChatAPIContext.js +0 -17
  370. package/lib/hooks/middleware/UserlandBoundary.js +0 -48
  371. package/lib/hooks/middleware/applyMiddleware.js +0 -122
  372. package/lib/hooks/middleware/concatMiddleware.d.ts +0 -6
  373. package/lib/hooks/middleware/concatMiddleware.d.ts.map +0 -1
  374. package/lib/hooks/middleware/concatMiddleware.js +0 -33
  375. package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts +0 -3
  376. package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts.map +0 -1
  377. package/lib/hooks/middleware/createDefaultCardActionMiddleware.js +0 -43
  378. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts +0 -7
  379. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +0 -1
  380. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +0 -68
  381. package/lib/hooks/private/numberWithInfinity.d.ts +0 -3
  382. package/lib/hooks/private/numberWithInfinity.d.ts.map +0 -1
  383. package/lib/hooks/private/numberWithInfinity.js +0 -17
  384. package/lib/hooks/private/numberWithInfinity.spec.d.ts +0 -2
  385. package/lib/hooks/private/numberWithInfinity.spec.d.ts.map +0 -1
  386. package/lib/hooks/private/reduceIterable.d.ts +0 -2
  387. package/lib/hooks/private/reduceIterable.d.ts.map +0 -1
  388. package/lib/hooks/private/reduceIterable.js +0 -26
  389. package/lib/hooks/private/reduceIterable.spec.d.ts +0 -2
  390. package/lib/hooks/private/reduceIterable.spec.d.ts.map +0 -1
  391. package/lib/hooks/useActiveTyping.d.ts +0 -4
  392. package/lib/hooks/useActiveTyping.d.ts.map +0 -1
  393. package/lib/hooks/useActiveTyping.js +0 -81
  394. package/lib/hooks/useActivities.d.ts +0 -3
  395. package/lib/hooks/useActivities.d.ts.map +0 -1
  396. package/lib/hooks/useActivities.js +0 -14
  397. package/lib/hooks/useActivityKeys.d.ts +0 -3
  398. package/lib/hooks/useActivityKeys.d.ts.map +0 -1
  399. package/lib/hooks/useActivityKeys.js +0 -11
  400. package/lib/hooks/useActivityKeysByRead.d.ts +0 -3
  401. package/lib/hooks/useActivityKeysByRead.d.ts.map +0 -1
  402. package/lib/hooks/useActivityKeysByRead.js +0 -11
  403. package/lib/hooks/useAvatarForBot.d.ts +0 -5
  404. package/lib/hooks/useAvatarForBot.d.ts.map +0 -1
  405. package/lib/hooks/useAvatarForBot.js +0 -26
  406. package/lib/hooks/useAvatarForUser.d.ts +0 -5
  407. package/lib/hooks/useAvatarForUser.d.ts.map +0 -1
  408. package/lib/hooks/useAvatarForUser.js +0 -26
  409. package/lib/hooks/useByteFormatter.d.ts +0 -2
  410. package/lib/hooks/useByteFormatter.d.ts.map +0 -1
  411. package/lib/hooks/useByteFormatter.js +0 -43
  412. package/lib/hooks/useConnectivityStatus.d.ts +0 -2
  413. package/lib/hooks/useConnectivityStatus.d.ts.map +0 -1
  414. package/lib/hooks/useConnectivityStatus.js +0 -14
  415. package/lib/hooks/useCreateActivityRenderer.d.ts +0 -3
  416. package/lib/hooks/useCreateActivityRenderer.d.ts.map +0 -1
  417. package/lib/hooks/useCreateActivityRenderer.js +0 -14
  418. package/lib/hooks/useCreateActivityStatusRenderer.d.ts +0 -10
  419. package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +0 -1
  420. package/lib/hooks/useCreateActivityStatusRenderer.js +0 -72
  421. package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.d.ts +0 -3
  422. package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.d.ts.map +0 -1
  423. package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.js +0 -12
  424. package/lib/hooks/useCreateAvatarRenderer.d.ts +0 -6
  425. package/lib/hooks/useCreateAvatarRenderer.d.ts.map +0 -1
  426. package/lib/hooks/useCreateAvatarRenderer.js +0 -44
  427. package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts +0 -3
  428. package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts.map +0 -1
  429. package/lib/hooks/useCreateScrollToEndButtonRenderer.js +0 -12
  430. package/lib/hooks/useDateFormatter.d.ts +0 -2
  431. package/lib/hooks/useDateFormatter.d.ts.map +0 -1
  432. package/lib/hooks/useDateFormatter.js +0 -35
  433. package/lib/hooks/useDebouncedNotifications.d.ts +0 -13
  434. package/lib/hooks/useDebouncedNotifications.d.ts.map +0 -1
  435. package/lib/hooks/useDebouncedNotifications.js +0 -118
  436. package/lib/hooks/useDictateInterims.d.ts +0 -2
  437. package/lib/hooks/useDictateInterims.d.ts.map +0 -1
  438. package/lib/hooks/useDictateInterims.js +0 -16
  439. package/lib/hooks/useDictateState.d.ts +0 -2
  440. package/lib/hooks/useDictateState.d.ts.map +0 -1
  441. package/lib/hooks/useDictateState.js +0 -15
  442. package/lib/hooks/useDirection.d.ts +0 -2
  443. package/lib/hooks/useDirection.d.ts.map +0 -1
  444. package/lib/hooks/useDirection.js +0 -38
  445. package/lib/hooks/useDisabled.d.ts +0 -2
  446. package/lib/hooks/useDisabled.d.ts.map +0 -1
  447. package/lib/hooks/useDisabled.js +0 -12
  448. package/lib/hooks/useDismissNotification.d.ts +0 -2
  449. package/lib/hooks/useDismissNotification.d.ts.map +0 -1
  450. package/lib/hooks/useDismissNotification.js +0 -12
  451. package/lib/hooks/useEmitTypingIndicator.d.ts +0 -2
  452. package/lib/hooks/useEmitTypingIndicator.d.ts.map +0 -1
  453. package/lib/hooks/useEmitTypingIndicator.js +0 -12
  454. package/lib/hooks/useGetActivitiesByKey.d.ts +0 -3
  455. package/lib/hooks/useGetActivitiesByKey.d.ts.map +0 -1
  456. package/lib/hooks/useGetActivitiesByKey.js +0 -11
  457. package/lib/hooks/useGetActivityByKey.d.ts +0 -3
  458. package/lib/hooks/useGetActivityByKey.d.ts.map +0 -1
  459. package/lib/hooks/useGetActivityByKey.js +0 -11
  460. package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts +0 -3
  461. package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts.map +0 -1
  462. package/lib/hooks/useGetHasAcknowledgedByActivityKey.js +0 -11
  463. package/lib/hooks/useGetKeyByActivity.d.ts +0 -3
  464. package/lib/hooks/useGetKeyByActivity.d.ts.map +0 -1
  465. package/lib/hooks/useGetKeyByActivity.js +0 -11
  466. package/lib/hooks/useGetKeyByActivityId.d.ts +0 -3
  467. package/lib/hooks/useGetKeyByActivityId.d.ts.map +0 -1
  468. package/lib/hooks/useGetKeyByActivityId.js +0 -11
  469. package/lib/hooks/useGetSendTimeoutForActivity.d.ts +0 -5
  470. package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +0 -1
  471. package/lib/hooks/useGetSendTimeoutForActivity.js +0 -33
  472. package/lib/hooks/useGrammars.d.ts +0 -2
  473. package/lib/hooks/useGrammars.d.ts.map +0 -1
  474. package/lib/hooks/useGrammars.js +0 -12
  475. package/lib/hooks/useGroupActivities.d.ts +0 -8
  476. package/lib/hooks/useGroupActivities.d.ts.map +0 -1
  477. package/lib/hooks/useGroupActivities.js +0 -12
  478. package/lib/hooks/useGroupTimestamp.d.ts +0 -2
  479. package/lib/hooks/useGroupTimestamp.d.ts.map +0 -1
  480. package/lib/hooks/useGroupTimestamp.js +0 -21
  481. package/lib/hooks/useLanguage.d.ts +0 -2
  482. package/lib/hooks/useLanguage.d.ts.map +0 -1
  483. package/lib/hooks/useLanguage.js +0 -19
  484. package/lib/hooks/useLastAcknowledgedActivityKey.d.ts +0 -3
  485. package/lib/hooks/useLastAcknowledgedActivityKey.d.ts.map +0 -1
  486. package/lib/hooks/useLastAcknowledgedActivityKey.js +0 -11
  487. package/lib/hooks/useLastReadActivityKey.d.ts +0 -3
  488. package/lib/hooks/useLastReadActivityKey.d.ts.map +0 -1
  489. package/lib/hooks/useLastReadActivityKey.js +0 -11
  490. package/lib/hooks/useLocalizer.d.ts +0 -13
  491. package/lib/hooks/useLocalizer.d.ts.map +0 -1
  492. package/lib/hooks/useLocalizer.js +0 -75
  493. package/lib/hooks/useMarkActivityAsSpoken.d.ts +0 -3
  494. package/lib/hooks/useMarkActivityAsSpoken.d.ts.map +0 -1
  495. package/lib/hooks/useMarkActivityAsSpoken.js +0 -16
  496. package/lib/hooks/useMarkActivityKeyAsRead.d.ts +0 -3
  497. package/lib/hooks/useMarkActivityKeyAsRead.d.ts.map +0 -1
  498. package/lib/hooks/useMarkActivityKeyAsRead.js +0 -11
  499. package/lib/hooks/useMarkAllAsAcknowledged.d.ts +0 -3
  500. package/lib/hooks/useMarkAllAsAcknowledged.d.ts.map +0 -1
  501. package/lib/hooks/useMarkAllAsAcknowledged.js +0 -11
  502. package/lib/hooks/useNotifications.d.ts +0 -3
  503. package/lib/hooks/useNotifications.d.ts.map +0 -1
  504. package/lib/hooks/useNotifications.js +0 -14
  505. package/lib/hooks/usePerformCardAction.d.ts +0 -3
  506. package/lib/hooks/usePerformCardAction.d.ts.map +0 -1
  507. package/lib/hooks/usePerformCardAction.js +0 -12
  508. package/lib/hooks/usePonyfill.d.ts +0 -3
  509. package/lib/hooks/usePonyfill.d.ts.map +0 -1
  510. package/lib/hooks/usePonyfill.js +0 -11
  511. package/lib/hooks/usePostActivity.d.ts +0 -3
  512. package/lib/hooks/usePostActivity.d.ts.map +0 -1
  513. package/lib/hooks/usePostActivity.js +0 -12
  514. package/lib/hooks/useReferenceGrammarID.d.ts +0 -2
  515. package/lib/hooks/useReferenceGrammarID.d.ts.map +0 -1
  516. package/lib/hooks/useReferenceGrammarID.js +0 -14
  517. package/lib/hooks/useRelativeTimeFormatter.d.ts +0 -2
  518. package/lib/hooks/useRelativeTimeFormatter.d.ts.map +0 -1
  519. package/lib/hooks/useRelativeTimeFormatter.js +0 -61
  520. package/lib/hooks/useRenderAttachment.d.ts +0 -3
  521. package/lib/hooks/useRenderAttachment.d.ts.map +0 -1
  522. package/lib/hooks/useRenderAttachment.js +0 -14
  523. package/lib/hooks/useRenderToast.d.ts +0 -3
  524. package/lib/hooks/useRenderToast.d.ts.map +0 -1
  525. package/lib/hooks/useRenderToast.js +0 -12
  526. package/lib/hooks/useRenderTypingIndicator.d.ts +0 -3
  527. package/lib/hooks/useRenderTypingIndicator.d.ts.map +0 -1
  528. package/lib/hooks/useRenderTypingIndicator.js +0 -12
  529. package/lib/hooks/useSendBoxAttachments.d.ts +0 -6
  530. package/lib/hooks/useSendBoxAttachments.d.ts.map +0 -1
  531. package/lib/hooks/useSendBoxAttachments.js +0 -23
  532. package/lib/hooks/useSendBoxValue.d.ts +0 -2
  533. package/lib/hooks/useSendBoxValue.d.ts.map +0 -1
  534. package/lib/hooks/useSendBoxValue.js +0 -16
  535. package/lib/hooks/useSendEvent.d.ts +0 -2
  536. package/lib/hooks/useSendEvent.d.ts.map +0 -1
  537. package/lib/hooks/useSendEvent.js +0 -12
  538. package/lib/hooks/useSendFiles.d.ts +0 -10
  539. package/lib/hooks/useSendFiles.d.ts.map +0 -1
  540. package/lib/hooks/useSendFiles.js +0 -35
  541. package/lib/hooks/useSendMessage.d.ts +0 -6
  542. package/lib/hooks/useSendMessage.d.ts.map +0 -1
  543. package/lib/hooks/useSendMessage.js +0 -33
  544. package/lib/hooks/useSendMessageBack.d.ts +0 -2
  545. package/lib/hooks/useSendMessageBack.d.ts.map +0 -1
  546. package/lib/hooks/useSendMessageBack.js +0 -12
  547. package/lib/hooks/useSendPostBack.d.ts +0 -2
  548. package/lib/hooks/useSendPostBack.d.ts.map +0 -1
  549. package/lib/hooks/useSendPostBack.js +0 -12
  550. package/lib/hooks/useSendStatusByActivityKey.d.ts +0 -22
  551. package/lib/hooks/useSendStatusByActivityKey.d.ts.map +0 -1
  552. package/lib/hooks/useSendStatusByActivityKey.js +0 -31
  553. package/lib/hooks/useSendTimeoutForActivity.d.ts +0 -4
  554. package/lib/hooks/useSendTimeoutForActivity.d.ts.map +0 -1
  555. package/lib/hooks/useSendTimeoutForActivity.js +0 -22
  556. package/lib/hooks/useSendTypingIndicator.d.ts +0 -2
  557. package/lib/hooks/useSendTypingIndicator.d.ts.map +0 -1
  558. package/lib/hooks/useSendTypingIndicator.js +0 -14
  559. package/lib/hooks/useSetNotification.d.ts +0 -3
  560. package/lib/hooks/useSetNotification.d.ts.map +0 -1
  561. package/lib/hooks/useSetNotification.js +0 -12
  562. package/lib/hooks/useShouldSpeakIncomingActivity.d.ts +0 -2
  563. package/lib/hooks/useShouldSpeakIncomingActivity.d.ts.map +0 -1
  564. package/lib/hooks/useShouldSpeakIncomingActivity.js +0 -22
  565. package/lib/hooks/useStartDictate.d.ts +0 -2
  566. package/lib/hooks/useStartDictate.d.ts.map +0 -1
  567. package/lib/hooks/useStartDictate.js +0 -12
  568. package/lib/hooks/useStopDictate.d.ts +0 -2
  569. package/lib/hooks/useStopDictate.d.ts.map +0 -1
  570. package/lib/hooks/useStopDictate.js +0 -12
  571. package/lib/hooks/useStyleOptions.d.ts +0 -3
  572. package/lib/hooks/useStyleOptions.d.ts.map +0 -1
  573. package/lib/hooks/useStyleOptions.js +0 -12
  574. package/lib/hooks/useSubmitSendBox.d.ts +0 -4
  575. package/lib/hooks/useSubmitSendBox.d.ts.map +0 -1
  576. package/lib/hooks/useSubmitSendBox.js +0 -49
  577. package/lib/hooks/useSuggestedActions.d.ts +0 -3
  578. package/lib/hooks/useSuggestedActions.d.ts.map +0 -1
  579. package/lib/hooks/useSuggestedActions.js +0 -25
  580. package/lib/hooks/useTimeoutForSend.d.ts +0 -3
  581. package/lib/hooks/useTimeoutForSend.d.ts.map +0 -1
  582. package/lib/hooks/useTimeoutForSend.js +0 -21
  583. package/lib/hooks/useTrackDimension.d.ts +0 -2
  584. package/lib/hooks/useTrackDimension.d.ts.map +0 -1
  585. package/lib/hooks/useTrackDimension.js +0 -14
  586. package/lib/hooks/useTrackEvent.d.ts +0 -10
  587. package/lib/hooks/useTrackEvent.d.ts.map +0 -1
  588. package/lib/hooks/useTrackEvent.js +0 -51
  589. package/lib/hooks/useTrackException.d.ts +0 -2
  590. package/lib/hooks/useTrackException.d.ts.map +0 -1
  591. package/lib/hooks/useTrackException.js +0 -31
  592. package/lib/hooks/useTrackTiming.d.ts +0 -2
  593. package/lib/hooks/useTrackTiming.d.ts.map +0 -1
  594. package/lib/hooks/useTrackTiming.js +0 -93
  595. package/lib/hooks/useUserID.d.ts +0 -2
  596. package/lib/hooks/useUserID.d.ts.map +0 -1
  597. package/lib/hooks/useUserID.js +0 -12
  598. package/lib/hooks/useUsername.d.ts +0 -2
  599. package/lib/hooks/useUsername.d.ts.map +0 -1
  600. package/lib/hooks/useUsername.js +0 -12
  601. package/lib/hooks/useVoiceSelector.d.ts +0 -2
  602. package/lib/hooks/useVoiceSelector.d.ts.map +0 -1
  603. package/lib/hooks/useVoiceSelector.js +0 -16
  604. package/lib/hooks/utils/ErrorBoundary.js +0 -68
  605. package/lib/hooks/utils/observableToPromise.d.ts +0 -3
  606. package/lib/hooks/utils/observableToPromise.d.ts.map +0 -1
  607. package/lib/hooks/utils/observableToPromise.js +0 -28
  608. package/lib/index.d.ts +0 -37
  609. package/lib/index.d.ts.map +0 -1
  610. package/lib/index.js +0 -88
  611. package/lib/internal.d.ts +0 -3
  612. package/lib/internal.d.ts.map +0 -1
  613. package/lib/internal.js +0 -14
  614. package/lib/localization/Localize.d.ts +0 -4
  615. package/lib/localization/Localize.d.ts.map +0 -1
  616. package/lib/localization/Localize.js +0 -50
  617. package/lib/localization/ar-EG.json +0 -42
  618. package/lib/localization/ar-JO.json +0 -45
  619. package/lib/localization/ar-SA.json +0 -112
  620. package/lib/localization/bg-BG.json +0 -112
  621. package/lib/localization/ca-ES.json +0 -112
  622. package/lib/localization/cs-CZ.json +0 -112
  623. package/lib/localization/da-DK.json +0 -112
  624. package/lib/localization/de-DE.json +0 -112
  625. package/lib/localization/el-GR.json +0 -112
  626. package/lib/localization/en-US.json +0 -183
  627. package/lib/localization/es-ES.json +0 -112
  628. package/lib/localization/et-EE.json +0 -112
  629. package/lib/localization/eu-ES.json +0 -112
  630. package/lib/localization/fi-FI.json +0 -112
  631. package/lib/localization/fr-FR.json +0 -112
  632. package/lib/localization/getAllLocalizedStrings.d.ts +0 -6
  633. package/lib/localization/getAllLocalizedStrings.d.ts.map +0 -1
  634. package/lib/localization/getAllLocalizedStrings.js +0 -117
  635. package/lib/localization/getRTLList.d.ts +0 -2
  636. package/lib/localization/getRTLList.d.ts.map +0 -1
  637. package/lib/localization/getRTLList.js +0 -46
  638. package/lib/localization/gl-ES.json +0 -112
  639. package/lib/localization/he-IL.json +0 -112
  640. package/lib/localization/hi-IN.json +0 -112
  641. package/lib/localization/hr-HR.json +0 -112
  642. package/lib/localization/hu-HU.json +0 -112
  643. package/lib/localization/id-ID.json +0 -112
  644. package/lib/localization/it-IT.json +0 -112
  645. package/lib/localization/ja-JP.json +0 -112
  646. package/lib/localization/kk-KZ.json +0 -112
  647. package/lib/localization/ko-KR.json +0 -112
  648. package/lib/localization/lt-LT.json +0 -112
  649. package/lib/localization/lv-LV.json +0 -112
  650. package/lib/localization/mergeLocalizedStrings.d.ts +0 -7
  651. package/lib/localization/mergeLocalizedStrings.d.ts.map +0 -1
  652. package/lib/localization/mergeLocalizedStrings.js +0 -49
  653. package/lib/localization/ms-MY.json +0 -112
  654. package/lib/localization/nb-NO.json +0 -112
  655. package/lib/localization/nl-NL.json +0 -112
  656. package/lib/localization/overrides.json +0 -257
  657. package/lib/localization/pl-PL.json +0 -112
  658. package/lib/localization/pt-BR.json +0 -112
  659. package/lib/localization/pt-PT.json +0 -112
  660. package/lib/localization/ro-RO.json +0 -112
  661. package/lib/localization/ru-RU.json +0 -112
  662. package/lib/localization/sk-SK.json +0 -112
  663. package/lib/localization/sl-SI.json +0 -112
  664. package/lib/localization/sl-SL.json +0 -3
  665. package/lib/localization/sr-Cyrl-CS.json +0 -112
  666. package/lib/localization/sr-Cyrl.json +0 -3
  667. package/lib/localization/sr-Latn-CS.json +0 -112
  668. package/lib/localization/sr-Latn.json +0 -3
  669. package/lib/localization/sv-SE.json +0 -112
  670. package/lib/localization/th-TH.json +0 -112
  671. package/lib/localization/tr-TR.json +0 -112
  672. package/lib/localization/uk-UA.json +0 -112
  673. package/lib/localization/vi-VN.json +0 -112
  674. package/lib/localization/yue.json +0 -115
  675. package/lib/localization/zh-CN.json +0 -112
  676. package/lib/localization/zh-HK.json +0 -112
  677. package/lib/localization/zh-TW.json +0 -112
  678. package/lib/normalizeStyleOptions.d.ts +0 -3
  679. package/lib/normalizeStyleOptions.d.ts.map +0 -1
  680. package/lib/normalizeStyleOptions.js +0 -147
  681. package/lib/patchStyleOptionsFromDeprecatedProps.js +0 -21
  682. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts +0 -6
  683. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts.map +0 -1
  684. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.js +0 -153
  685. package/lib/providers/ActivityAcknowledgement/private/Context.d.ts +0 -13
  686. package/lib/providers/ActivityAcknowledgement/private/Context.d.ts.map +0 -1
  687. package/lib/providers/ActivityAcknowledgement/private/Context.js +0 -14
  688. package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts +0 -3
  689. package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts.map +0 -1
  690. package/lib/providers/ActivityAcknowledgement/private/useContext.js +0 -18
  691. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts +0 -5
  692. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts.map +0 -1
  693. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.js +0 -15
  694. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts +0 -2
  695. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts.map +0 -1
  696. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.js +0 -12
  697. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts +0 -2
  698. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts.map +0 -1
  699. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.js +0 -12
  700. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts +0 -2
  701. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts.map +0 -1
  702. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.js +0 -12
  703. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts +0 -2
  704. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts.map +0 -1
  705. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.js +0 -12
  706. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts +0 -2
  707. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts.map +0 -1
  708. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.js +0 -12
  709. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts +0 -20
  710. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts.map +0 -1
  711. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.js +0 -149
  712. package/lib/providers/ActivityKeyer/private/Context.d.ts +0 -13
  713. package/lib/providers/ActivityKeyer/private/Context.d.ts.map +0 -1
  714. package/lib/providers/ActivityKeyer/private/Context.js +0 -10
  715. package/lib/providers/ActivityKeyer/private/getActivityId.d.ts +0 -3
  716. package/lib/providers/ActivityKeyer/private/getActivityId.d.ts.map +0 -1
  717. package/lib/providers/ActivityKeyer/private/getActivityId.js +0 -10
  718. package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts +0 -3
  719. package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts.map +0 -1
  720. package/lib/providers/ActivityKeyer/private/getClientActivityId.js +0 -11
  721. package/lib/providers/ActivityKeyer/private/lastOf.d.ts +0 -2
  722. package/lib/providers/ActivityKeyer/private/lastOf.d.ts.map +0 -1
  723. package/lib/providers/ActivityKeyer/private/lastOf.js +0 -10
  724. package/lib/providers/ActivityKeyer/private/lastOf.spec.d.ts +0 -2
  725. package/lib/providers/ActivityKeyer/private/lastOf.spec.d.ts.map +0 -1
  726. package/lib/providers/ActivityKeyer/private/someIterable.d.ts +0 -2
  727. package/lib/providers/ActivityKeyer/private/someIterable.d.ts.map +0 -1
  728. package/lib/providers/ActivityKeyer/private/someIterable.js +0 -27
  729. package/lib/providers/ActivityKeyer/private/someIterable.spec.d.ts +0 -2
  730. package/lib/providers/ActivityKeyer/private/someIterable.spec.d.ts.map +0 -1
  731. package/lib/providers/ActivityKeyer/private/uniqueId.d.ts +0 -2
  732. package/lib/providers/ActivityKeyer/private/uniqueId.d.ts.map +0 -1
  733. package/lib/providers/ActivityKeyer/private/uniqueId.js +0 -15
  734. package/lib/providers/ActivityKeyer/private/useContext.d.ts +0 -3
  735. package/lib/providers/ActivityKeyer/private/useContext.d.ts.map +0 -1
  736. package/lib/providers/ActivityKeyer/private/useContext.js +0 -18
  737. package/lib/providers/ActivityKeyer/useActivityKeys.d.ts +0 -2
  738. package/lib/providers/ActivityKeyer/useActivityKeys.d.ts.map +0 -1
  739. package/lib/providers/ActivityKeyer/useActivityKeys.js +0 -12
  740. package/lib/providers/ActivityKeyer/useGetActivitiesByKey.d.ts +0 -3
  741. package/lib/providers/ActivityKeyer/useGetActivitiesByKey.d.ts.map +0 -1
  742. package/lib/providers/ActivityKeyer/useGetActivitiesByKey.js +0 -12
  743. package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts +0 -3
  744. package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts.map +0 -1
  745. package/lib/providers/ActivityKeyer/useGetActivityByKey.js +0 -12
  746. package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts +0 -3
  747. package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts.map +0 -1
  748. package/lib/providers/ActivityKeyer/useGetKeyByActivity.js +0 -12
  749. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts +0 -2
  750. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts.map +0 -1
  751. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.js +0 -12
  752. package/lib/providers/ActivityListener/ActivityListenerComposer.d.ts +0 -7
  753. package/lib/providers/ActivityListener/ActivityListenerComposer.d.ts.map +0 -1
  754. package/lib/providers/ActivityListener/ActivityListenerComposer.js +0 -55
  755. package/lib/providers/ActivityListener/private/Context.d.ts +0 -8
  756. package/lib/providers/ActivityListener/private/Context.d.ts.map +0 -1
  757. package/lib/providers/ActivityListener/private/Context.js +0 -15
  758. package/lib/providers/ActivityListener/private/useContext.d.ts +0 -2
  759. package/lib/providers/ActivityListener/private/useContext.d.ts.map +0 -1
  760. package/lib/providers/ActivityListener/private/useContext.js +0 -13
  761. package/lib/providers/ActivityListener/useUpsertedActivities.d.ts +0 -3
  762. package/lib/providers/ActivityListener/useUpsertedActivities.d.ts.map +0 -1
  763. package/lib/providers/ActivityListener/useUpsertedActivities.js +0 -12
  764. package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.d.ts +0 -4
  765. package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.d.ts.map +0 -1
  766. package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.js +0 -149
  767. package/lib/providers/ActivitySendStatus/private/Context.d.ts +0 -9
  768. package/lib/providers/ActivitySendStatus/private/Context.d.ts.map +0 -1
  769. package/lib/providers/ActivitySendStatus/private/Context.js +0 -13
  770. package/lib/providers/ActivitySendStatus/private/isMapEqual.d.ts +0 -7
  771. package/lib/providers/ActivitySendStatus/private/isMapEqual.d.ts.map +0 -1
  772. package/lib/providers/ActivitySendStatus/private/isMapEqual.js +0 -55
  773. package/lib/providers/ActivitySendStatus/private/useContext.d.ts +0 -3
  774. package/lib/providers/ActivitySendStatus/private/useContext.d.ts.map +0 -1
  775. package/lib/providers/ActivitySendStatus/private/useContext.js +0 -18
  776. package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.d.ts +0 -22
  777. package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.d.ts.map +0 -1
  778. package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.js +0 -31
  779. package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.d.ts +0 -3
  780. package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.d.ts.map +0 -1
  781. package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.js +0 -71
  782. package/lib/providers/ActivityTyping/ActivityTypingComposer.d.ts +0 -9
  783. package/lib/providers/ActivityTyping/ActivityTypingComposer.d.ts.map +0 -1
  784. package/lib/providers/ActivityTyping/ActivityTypingComposer.js +0 -98
  785. package/lib/providers/ActivityTyping/private/Context.d.ts +0 -8
  786. package/lib/providers/ActivityTyping/private/Context.d.ts.map +0 -1
  787. package/lib/providers/ActivityTyping/private/Context.js +0 -15
  788. package/lib/providers/ActivityTyping/private/useContext.d.ts +0 -3
  789. package/lib/providers/ActivityTyping/private/useContext.d.ts.map +0 -1
  790. package/lib/providers/ActivityTyping/private/useContext.js +0 -13
  791. package/lib/providers/ActivityTyping/private/useMemoWithPrevious.d.ts +0 -3
  792. package/lib/providers/ActivityTyping/private/useMemoWithPrevious.d.ts.map +0 -1
  793. package/lib/providers/ActivityTyping/private/useMemoWithPrevious.js +0 -22
  794. package/lib/providers/ActivityTyping/types/AllTyping.d.ts +0 -9
  795. package/lib/providers/ActivityTyping/types/AllTyping.d.ts.map +0 -1
  796. package/lib/providers/ActivityTyping/types/AllTyping.js +0 -2
  797. package/lib/providers/ActivityTyping/useAllTyping.d.ts +0 -3
  798. package/lib/providers/ActivityTyping/useAllTyping.d.ts.map +0 -1
  799. package/lib/providers/ActivityTyping/useAllTyping.js +0 -12
  800. package/lib/providers/Ponyfill/PonyfillComposer.d.ts +0 -17
  801. package/lib/providers/Ponyfill/PonyfillComposer.d.ts.map +0 -1
  802. package/lib/providers/Ponyfill/PonyfillComposer.js +0 -87
  803. package/lib/providers/Ponyfill/private/PonyfillContext.d.ts +0 -8
  804. package/lib/providers/Ponyfill/private/PonyfillContext.d.ts.map +0 -1
  805. package/lib/providers/Ponyfill/private/PonyfillContext.js +0 -10
  806. package/lib/providers/Ponyfill/private/useContext.d.ts +0 -6
  807. package/lib/providers/Ponyfill/private/useContext.d.ts.map +0 -1
  808. package/lib/providers/Ponyfill/private/useContext.js +0 -17
  809. package/lib/providers/Ponyfill/usePonyfill.d.ts +0 -3
  810. package/lib/providers/Ponyfill/usePonyfill.d.ts.map +0 -1
  811. package/lib/providers/Ponyfill/usePonyfill.js +0 -12
  812. package/lib/tsconfig.json +0 -18
  813. package/lib/types/ActivityMiddleware.d.ts +0 -24
  814. package/lib/types/ActivityMiddleware.d.ts.map +0 -1
  815. package/lib/types/ActivityMiddleware.js +0 -2
  816. package/lib/types/ActivityStatusMiddleware.d.ts +0 -17
  817. package/lib/types/ActivityStatusMiddleware.d.ts.map +0 -1
  818. package/lib/types/ActivityStatusMiddleware.js +0 -2
  819. package/lib/types/AttachmentForScreenReaderMiddleware.d.ts +0 -14
  820. package/lib/types/AttachmentForScreenReaderMiddleware.d.ts.map +0 -1
  821. package/lib/types/AttachmentForScreenReaderMiddleware.js +0 -2
  822. package/lib/types/AttachmentMiddleware.d.ts +0 -12
  823. package/lib/types/AttachmentMiddleware.d.ts.map +0 -1
  824. package/lib/types/AttachmentMiddleware.js +0 -2
  825. package/lib/types/AvatarMiddleware.d.ts +0 -15
  826. package/lib/types/AvatarMiddleware.d.ts.map +0 -1
  827. package/lib/types/AvatarMiddleware.js +0 -2
  828. package/lib/types/CardActionMiddleware.d.ts +0 -19
  829. package/lib/types/CardActionMiddleware.d.ts.map +0 -1
  830. package/lib/types/CardActionMiddleware.js +0 -2
  831. package/lib/types/ComponentMiddleware.d.ts +0 -31
  832. package/lib/types/ComponentMiddleware.d.ts.map +0 -1
  833. package/lib/types/ComponentMiddleware.js +0 -2
  834. package/lib/types/ContextOf.d.ts +0 -4
  835. package/lib/types/ContextOf.d.ts.map +0 -1
  836. package/lib/types/ContextOf.js +0 -2
  837. package/lib/types/FunctionMiddleware.d.ts +0 -6
  838. package/lib/types/FunctionMiddleware.d.ts.map +0 -1
  839. package/lib/types/FunctionMiddleware.js +0 -2
  840. package/lib/types/GroupActivitiesMiddleware.d.ts +0 -22
  841. package/lib/types/GroupActivitiesMiddleware.d.ts.map +0 -1
  842. package/lib/types/GroupActivitiesMiddleware.js +0 -2
  843. package/lib/types/LocalizedStrings.d.ts +0 -5
  844. package/lib/types/LocalizedStrings.d.ts.map +0 -1
  845. package/lib/types/LocalizedStrings.js +0 -2
  846. package/lib/types/Notification.d.ts +0 -10
  847. package/lib/types/Notification.d.ts.map +0 -1
  848. package/lib/types/Notification.js +0 -2
  849. package/lib/types/PrecompiledGlobalize.d.ts +0 -13
  850. package/lib/types/PrecompiledGlobalize.d.ts.map +0 -1
  851. package/lib/types/PrecompiledGlobalize.js +0 -2
  852. package/lib/types/ScrollToEndButtonMiddleware.d.ts +0 -30
  853. package/lib/types/ScrollToEndButtonMiddleware.d.ts.map +0 -1
  854. package/lib/types/ScrollToEndButtonMiddleware.js +0 -2
  855. package/lib/types/SendStatus.d.ts +0 -3
  856. package/lib/types/SendStatus.d.ts.map +0 -1
  857. package/lib/types/SendStatus.js +0 -2
  858. package/lib/types/TelemetryMeasurementEvent.d.ts +0 -31
  859. package/lib/types/TelemetryMeasurementEvent.d.ts.map +0 -1
  860. package/lib/types/TelemetryMeasurementEvent.js +0 -2
  861. package/lib/types/ToastMiddleware.d.ts +0 -11
  862. package/lib/types/ToastMiddleware.d.ts.map +0 -1
  863. package/lib/types/ToastMiddleware.js +0 -2
  864. package/lib/types/Typing.d.ts +0 -8
  865. package/lib/types/Typing.d.ts.map +0 -1
  866. package/lib/types/Typing.js +0 -2
  867. package/lib/types/TypingIndicatorMiddleware.d.ts +0 -17
  868. package/lib/types/TypingIndicatorMiddleware.d.ts.map +0 -1
  869. package/lib/types/TypingIndicatorMiddleware.js +0 -2
  870. package/lib/types/WebSpeechPonyfill.d.ts +0 -19
  871. package/lib/types/WebSpeechPonyfill.d.ts.map +0 -1
  872. package/lib/types/WebSpeechPonyfill.js +0 -2
  873. package/lib/types/WebSpeechPonyfillFactory.d.ts +0 -6
  874. package/lib/types/WebSpeechPonyfillFactory.d.ts.map +0 -1
  875. package/lib/types/WebSpeechPonyfillFactory.js +0 -2
  876. package/lib/utils/createCustomEvent.d.ts +0 -4
  877. package/lib/utils/createCustomEvent.d.ts.map +0 -1
  878. package/lib/utils/createCustomEvent.js +0 -34
  879. package/lib/utils/findLastIndex.d.ts +0 -2
  880. package/lib/utils/findLastIndex.d.ts.map +0 -1
  881. package/lib/utils/findLastIndex.js +0 -22
  882. package/lib/utils/findMin.d.ts +0 -7
  883. package/lib/utils/findMin.d.ts.map +0 -1
  884. package/lib/utils/findMin.js +0 -46
  885. package/lib/utils/freezeArray.d.ts +0 -8
  886. package/lib/utils/freezeArray.d.ts.map +0 -1
  887. package/lib/utils/freezeArray.js +0 -19
  888. package/lib/utils/isObject.js +0 -12
  889. package/lib/utils/mapMap.d.ts +0 -6
  890. package/lib/utils/mapMap.d.ts.map +0 -1
  891. package/lib/utils/mapMap.js +0 -27
  892. package/lib/utils/normalizeLanguage.d.ts +0 -2
  893. package/lib/utils/normalizeLanguage.d.ts.map +0 -1
  894. package/lib/utils/normalizeLanguage.js +0 -115
  895. package/lib/utils/randomId.d.ts +0 -2
  896. package/lib/utils/randomId.d.ts.map +0 -1
  897. package/lib/utils/randomId.js +0 -15
  898. package/lib/utils/warnOnce.d.ts +0 -2
  899. package/lib/utils/warnOnce.d.ts.map +0 -1
  900. package/lib/utils/warnOnce.js +0 -16
  901. package/src/decorator/index.ts +0 -4
  902. package/src/decorator/private/ActivityBorderDecoratorMiddleware.ts +0 -31
  903. package/src/decorator/private/ActivityDecorator.tsx +0 -31
  904. package/src/decorator/private/DecoratorComposer.tsx +0 -6
  905. package/src/decorator/private/activityDecoratorRequest.ts +0 -6
  906. package/src/decorator/private/createDecoratorComposer.tsx +0 -36
  907. package/src/decorator/private/templateMiddleware.ts +0 -58
  908. package/src/hooks/internal/ErrorBox.js +0 -34
  909. package/src/hooks/internal/SendBoxMiddleware.ts +0 -21
  910. package/src/hooks/internal/SendBoxToolbarMiddleware.ts +0 -21
  911. package/src/hooks/internal/private/templateMiddleware.ts +0 -4
  912. package/src/hooks/internal/useCreateActivityRendererInternal.ts +0 -46
  913. package/src/hooks/internal/useDebugDeps.js +0 -30
  914. package/src/hooks/internal/useErrorBoxClass.js +0 -7
  915. package/src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts +0 -75
  916. package/src/hooks/useGroupActivities.ts +0 -10
  917. package/src/internal.ts +0 -3
  918. package/src/patchStyleOptionsFromDeprecatedProps.js +0 -14
  919. package/src/providers/ActivityTyping/private/useMemoWithPrevious.ts +0 -17
  920. package/src/types/ActivityMiddleware.ts +0 -36
  921. package/src/types/AttachmentMiddleware.ts +0 -16
  922. package/src/utils/isObject.js +0 -5
  923. package/src/utils/warnOnce.ts +0 -10
  924. /package/dist/{chunk-J6D5YEY6.mjs.map → botframework-webchat-api.graph.mjs.map} +0 -0
@@ -1,3 +1,12 @@
1
+ import { GraphProvider } from '@msinternal/botframework-webchat-api-graph';
2
+ import { PolymiddlewareComposer, type Polymiddleware } from '@msinternal/botframework-webchat-api-middleware';
3
+ import {
4
+ type LegacyActivityMiddleware,
5
+ type LegacyAttachmentMiddleware
6
+ } from '@msinternal/botframework-webchat-api-middleware/legacy';
7
+ import { isPlainObject, singleToArray, type OneOrMany } from '@msinternal/botframework-webchat-base/utils';
8
+ import { useMemoIterable } from '@msinternal/botframework-webchat-react-hooks';
9
+ import { ReduxStoreComposer } from '@msinternal/botframework-webchat-redux-store';
1
10
  import {
2
11
  clearSuggestedActions,
3
12
  connect as createConnectAction,
@@ -20,15 +29,15 @@ import {
20
29
  setSendBoxAttachments,
21
30
  setSendTimeout,
22
31
  setSendTypingIndicator,
23
- singleToArray,
24
32
  startDictate,
25
33
  startSpeakingActivity,
34
+ startVoiceRecording,
26
35
  stopDictate,
27
36
  stopSpeakingActivity,
37
+ stopVoiceRecording,
28
38
  submitSendBox,
29
39
  type DirectLineJSBotConnection,
30
40
  type GlobalScopePonyfill,
31
- type OneOrMany,
32
41
  type WebChatActivity
33
42
  } from 'botframework-webchat-core';
34
43
  import PropTypes from 'prop-types';
@@ -36,24 +45,34 @@ import React, { useCallback, useEffect, useMemo, useRef, useState, type ReactNod
36
45
  import { Provider } from 'react-redux';
37
46
  import updateIn from 'simple-update-in';
38
47
 
39
- import StyleOptions from '../StyleOptions';
48
+ import { type StyleOptions } from '../StyleOptions';
49
+ import errorBoxTelemetryPolymiddleware from '../errorBox/errorBoxTelemetryPolymiddleware';
50
+ import PrecompiledGlobalize from '../external/PrecompiledGlobalize';
40
51
  import usePonyfill from '../hooks/usePonyfill';
52
+ import createActivityPolymiddlewareFromLegacy from '../legacy/createActivityPolymiddlewareFromLegacy';
53
+ import createAvatarPolymiddlewareFromLegacy from '../legacy/createAvatarPolymiddlewareFromLegacy';
41
54
  import getAllLocalizedStrings from '../localization/getAllLocalizedStrings';
42
- import normalizeStyleOptions from '../normalizeStyleOptions';
43
- import patchStyleOptionsFromDeprecatedProps from '../patchStyleOptionsFromDeprecatedProps';
55
+ import { SendBoxMiddlewareProvider, type SendBoxMiddleware } from '../middleware/SendBoxMiddleware';
56
+ import {
57
+ SendBoxToolbarMiddlewareProvider,
58
+ type SendBoxToolbarMiddleware
59
+ } from '../middleware/SendBoxToolbarMiddleware';
44
60
  import ActivityAcknowledgementComposer from '../providers/ActivityAcknowledgement/ActivityAcknowledgementComposer';
45
61
  import ActivityKeyerComposer from '../providers/ActivityKeyer/ActivityKeyerComposer';
46
62
  import ActivityListenerComposer from '../providers/ActivityListener/ActivityListenerComposer';
47
63
  import ActivitySendStatusComposer from '../providers/ActivitySendStatus/ActivitySendStatusComposer';
48
64
  import ActivitySendStatusTelemetryComposer from '../providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer';
49
65
  import ActivityTypingComposer from '../providers/ActivityTyping/ActivityTypingComposer';
66
+ import CapabilitiesComposer from '../providers/Capabilities/CapabilitiesComposer';
67
+ import GroupActivitiesComposer from '../providers/GroupActivities/GroupActivitiesComposer';
50
68
  import PonyfillComposer from '../providers/Ponyfill/PonyfillComposer';
51
- import ActivityMiddleware from '../types/ActivityMiddleware';
69
+ import { SpeechToSpeechComposer } from '../providers/SpeechToSpeech/SpeechToSpeechComposer';
70
+ import StyleOptionsComposer from '../providers/StyleOptions/StyleOptionsComposer';
52
71
  import { type ActivityStatusMiddleware, type RenderActivityStatus } from '../types/ActivityStatusMiddleware';
53
72
  import AttachmentForScreenReaderMiddleware from '../types/AttachmentForScreenReaderMiddleware';
54
- import AttachmentMiddleware from '../types/AttachmentMiddleware';
55
73
  import AvatarMiddleware from '../types/AvatarMiddleware';
56
74
  import CardActionMiddleware from '../types/CardActionMiddleware';
75
+ import { type ContextOf } from '../types/ContextOf';
57
76
  import GroupActivitiesMiddleware from '../types/GroupActivitiesMiddleware';
58
77
  import LocalizedStrings from '../types/LocalizedStrings';
59
78
  import PrecompiledGlobalizeType from '../types/PrecompiledGlobalize';
@@ -61,30 +80,25 @@ import ScrollToEndButtonMiddleware, { ScrollToEndButtonComponentFactory } from '
61
80
  import TelemetryMeasurementEvent, { TelemetryExceptionMeasurementEvent } from '../types/TelemetryMeasurementEvent';
62
81
  import ToastMiddleware from '../types/ToastMiddleware';
63
82
  import TypingIndicatorMiddleware from '../types/TypingIndicatorMiddleware';
64
- import { type ContextOf } from '../types/ContextOf';
65
83
  import createCustomEvent from '../utils/createCustomEvent';
66
- import isObject from '../utils/isObject';
67
84
  import mapMap from '../utils/mapMap';
68
85
  import normalizeLanguage from '../utils/normalizeLanguage';
69
- import { SendBoxMiddlewareProvider, type SendBoxMiddleware } from './internal/SendBoxMiddleware';
70
- import { SendBoxToolbarMiddlewareProvider, type SendBoxToolbarMiddleware } from './internal/SendBoxToolbarMiddleware';
71
86
  import Tracker from './internal/Tracker';
72
- import { default as WebChatAPIContext } from './internal/WebChatAPIContext';
87
+ import WebChatAPIContext, { type WebChatAPIContextType } from './internal/WebChatAPIContext';
73
88
  import WebChatReduxContext, { useDispatch } from './internal/WebChatReduxContext';
74
89
  import defaultSelectVoice from './internal/defaultSelectVoice';
90
+ import useVoiceHandlers from './internal/useVoiceHandlers';
91
+ import activityFallbackPolymiddleware from './middleware/activityFallbackPolymiddleware';
75
92
  import applyMiddleware, {
76
93
  forLegacyRenderer as applyMiddlewareForLegacyRenderer,
77
94
  forRenderer as applyMiddlewareForRenderer
78
95
  } from './middleware/applyMiddleware';
79
96
  import createDefaultCardActionMiddleware from './middleware/createDefaultCardActionMiddleware';
80
- import createDefaultGroupActivitiesMiddleware from './middleware/createDefaultGroupActivitiesMiddleware';
81
97
  import useMarkAllAsAcknowledged from './useMarkAllAsAcknowledged';
98
+ import useStyleOptions from './useStyleOptions';
82
99
  import ErrorBoundary from './utils/ErrorBoundary';
83
100
  import observableToPromise from './utils/observableToPromise';
84
-
85
- // PrecompileGlobalize is a generated file and is not ES module. TypeScript don't work with UMD.
86
- // @ts-ignore
87
- import PrecompiledGlobalize from '../external/PrecompiledGlobalize';
101
+ import { parseUIState } from './validation/uiState';
88
102
 
89
103
  // List of Redux actions factory we are hoisting as Web Chat functions
90
104
  const DISPATCHERS = {
@@ -115,14 +129,16 @@ const EMPTY_ARRAY: readonly [] = Object.freeze([]);
115
129
 
116
130
  function createCardActionContext({
117
131
  cardActionMiddleware,
132
+ continuous,
118
133
  directLine,
119
134
  dispatch,
120
135
  markAllAsAcknowledged,
121
136
  ponyfill
122
137
  }: {
123
138
  cardActionMiddleware: readonly CardActionMiddleware[];
139
+ continuous: boolean;
124
140
  directLine: DirectLineJSBotConnection;
125
- dispatch: Function;
141
+ dispatch: (...args: unknown[]) => unknown;
126
142
  markAllAsAcknowledged: () => void;
127
143
  ponyfill: GlobalScopePonyfill;
128
144
  }) {
@@ -136,6 +152,11 @@ function createCardActionContext({
136
152
  onCardAction: (cardAction, { target }: { target?: any } = {}) => {
137
153
  markAllAsAcknowledged();
138
154
 
155
+ // Stop speech recognition only if under interactive mode.
156
+ if (!continuous) {
157
+ dispatch(stopDictate());
158
+ }
159
+
139
160
  return runMiddleware({
140
161
  cardAction,
141
162
  getSignInUrl:
@@ -165,41 +186,23 @@ function createCardActionContext({
165
186
  };
166
187
  }
167
188
 
168
- function createGroupActivitiesContext({
169
- groupActivitiesMiddleware,
170
- groupTimestamp,
171
- ponyfill
172
- }: {
173
- groupActivitiesMiddleware: readonly GroupActivitiesMiddleware[];
174
- groupTimestamp: boolean | number;
175
- ponyfill: GlobalScopePonyfill;
176
- }) {
177
- const runMiddleware = applyMiddleware(
178
- 'group activities',
179
- ...groupActivitiesMiddleware,
180
- createDefaultGroupActivitiesMiddleware({ groupTimestamp, ponyfill })
181
- );
182
-
183
- return {
184
- groupActivities: runMiddleware({})
185
- };
186
- }
187
-
188
189
  function mergeStringsOverrides(localizedStrings, language, overrideLocalizedStrings) {
189
190
  if (!overrideLocalizedStrings) {
190
191
  return localizedStrings;
191
192
  } else if (typeof overrideLocalizedStrings === 'function') {
192
193
  const merged = overrideLocalizedStrings(localizedStrings, language);
193
194
 
194
- if (!isObject(merged)) {
195
- throw new Error('botframework-webchat: overrideLocalizedStrings function must return an object.');
195
+ if (!isPlainObject(merged)) {
196
+ throw new Error('botframework-webchat: overrideLocalizedStrings function must return a plain object.');
196
197
  }
197
198
 
198
199
  return merged;
199
200
  }
200
201
 
201
- if (!isObject(overrideLocalizedStrings)) {
202
- throw new Error('botframework-webchat: overrideLocalizedStrings must be either a function, an object, or falsy.');
202
+ if (!isPlainObject(overrideLocalizedStrings)) {
203
+ throw new Error(
204
+ 'botframework-webchat: overrideLocalizedStrings must be either a function, a plain object, or falsy.'
205
+ );
203
206
  }
204
207
 
205
208
  return { ...localizedStrings, ...overrideLocalizedStrings };
@@ -211,15 +214,24 @@ function mergeStringsOverrides(localizedStrings, language, overrideLocalizedStri
211
214
  // Ignoring it in TypeScript version should be safe, as we have `propTypes` version to protect us.
212
215
 
213
216
  type ComposerCoreProps = Readonly<{
214
- activityMiddleware?: OneOrMany<ActivityMiddleware>;
215
- activityStatusMiddleware?: OneOrMany<ActivityStatusMiddleware>;
216
- attachmentForScreenReaderMiddleware?: OneOrMany<AttachmentForScreenReaderMiddleware>;
217
- attachmentMiddleware?: OneOrMany<AttachmentMiddleware>;
218
- avatarMiddleware?: OneOrMany<AvatarMiddleware>;
219
- cardActionMiddleware?: OneOrMany<CardActionMiddleware>;
220
- children?: ReactNode | ((context: ContextOf<typeof WebChatAPIContext>) => ReactNode);
217
+ /**
218
+ * @deprecated Use `polymiddleware` instead. The `activityMiddleware` prop is being deprecated, please use `polymiddleware` instead. This prop will be removed on or after 2027-08-21.
219
+ */
220
+ activityMiddleware?: OneOrMany<LegacyActivityMiddleware> | undefined;
221
+ activityStatusMiddleware?: OneOrMany<ActivityStatusMiddleware> | undefined;
222
+ attachmentForScreenReaderMiddleware?: OneOrMany<AttachmentForScreenReaderMiddleware> | undefined;
223
+ attachmentMiddleware?: OneOrMany<LegacyAttachmentMiddleware> | undefined;
224
+ /**
225
+ * @deprecated Use `polymiddleware` instead. The `avatarMiddleware` prop is being deprecated, please use `polymiddleware` instead. This prop will be removed on or after 2028-03-16.
226
+ */
227
+ avatarMiddleware?: OneOrMany<AvatarMiddleware> | undefined;
228
+ cardActionMiddleware?: OneOrMany<CardActionMiddleware> | undefined;
229
+ children?: ReactNode | ((context: ContextOf<React.Context<WebChatAPIContextType>>) => ReactNode);
221
230
  dir?: string;
222
231
  directLine: DirectLineJSBotConnection;
232
+ /**
233
+ * @deprecated Please use `uiState="disabled"` instead. This feature will be removed on or after 2026-09-04.
234
+ */
223
235
  disabled?: boolean;
224
236
  downscaleImageToDataURL?: (
225
237
  blob: Blob,
@@ -229,9 +241,9 @@ type ComposerCoreProps = Readonly<{
229
241
  quality: number
230
242
  ) => Promise<URL>;
231
243
  grammars?: any;
232
- groupActivitiesMiddleware?: OneOrMany<GroupActivitiesMiddleware>;
233
- internalErrorBoxClass?: React.Component | Function;
244
+ groupActivitiesMiddleware?: OneOrMany<GroupActivitiesMiddleware> | undefined;
234
245
  locale?: string;
246
+ polymiddleware?: readonly Polymiddleware[] | undefined;
235
247
  onTelemetry?: (event: TelemetryMeasurementEvent) => void;
236
248
  overrideLocalizedStrings?: LocalizedStrings | ((strings: LocalizedStrings, language: string) => LocalizedStrings);
237
249
  renderMarkdown?: (
@@ -239,24 +251,33 @@ type ComposerCoreProps = Readonly<{
239
251
  newLineOptions: { markdownRespectCRLF: boolean },
240
252
  linkOptions: { externalLinkAlt: string }
241
253
  ) => string;
242
- scrollToEndButtonMiddleware?: OneOrMany<ScrollToEndButtonMiddleware>;
254
+ scrollToEndButtonMiddleware?: OneOrMany<ScrollToEndButtonMiddleware> | undefined;
243
255
  selectVoice?: (voices: (typeof window.SpeechSynthesisVoice)[], activity: WebChatActivity) => void;
244
256
  sendBoxMiddleware?: readonly SendBoxMiddleware[] | undefined;
245
257
  sendBoxToolbarMiddleware?: readonly SendBoxToolbarMiddleware[] | undefined;
246
258
  sendTypingIndicator?: boolean;
247
- styleOptions?: StyleOptions;
248
- toastMiddleware?: OneOrMany<ToastMiddleware>;
249
- typingIndicatorMiddleware?: OneOrMany<TypingIndicatorMiddleware>;
259
+ toastMiddleware?: OneOrMany<ToastMiddleware> | undefined;
260
+ typingIndicatorMiddleware?: OneOrMany<TypingIndicatorMiddleware> | undefined;
261
+ /**
262
+ * Sets the state of the UI.
263
+ *
264
+ * - `undefined` will render normally
265
+ * - `"blueprint"` will render as few UI elements as possible and should be non-functional
266
+ * - Useful for loading scenarios
267
+ * - `"disabled"` will render most UI elements as non-functional
268
+ * - Scrolling may continue to trigger read acknowledgements
269
+ */
270
+ uiState?: 'blueprint' | 'disabled' | undefined;
250
271
  userID?: string;
251
272
  username?: string;
252
273
  }>;
253
274
 
254
275
  const ComposerCore = ({
255
- activityMiddleware,
276
+ activityMiddleware: activityMiddlewareFromProps,
256
277
  activityStatusMiddleware,
257
278
  attachmentForScreenReaderMiddleware,
258
279
  attachmentMiddleware,
259
- avatarMiddleware,
280
+ avatarMiddleware: avatarMiddlewareFromProps,
260
281
  cardActionMiddleware,
261
282
  children,
262
283
  dir,
@@ -264,33 +285,33 @@ const ComposerCore = ({
264
285
  disabled,
265
286
  downscaleImageToDataURL,
266
287
  grammars,
267
- groupActivitiesMiddleware,
268
- internalErrorBoxClass,
288
+ groupActivitiesMiddleware: groupActivitiesMiddlewareFromProps,
269
289
  locale,
270
290
  onTelemetry,
271
291
  overrideLocalizedStrings,
292
+ polymiddleware: polymiddlewareFromProps,
272
293
  renderMarkdown,
273
294
  scrollToEndButtonMiddleware,
274
295
  selectVoice,
275
296
  sendBoxMiddleware,
276
297
  sendBoxToolbarMiddleware,
277
298
  sendTypingIndicator,
278
- styleOptions,
279
299
  toastMiddleware,
280
300
  typingIndicatorMiddleware,
301
+ uiState: rawUIState,
281
302
  userID,
282
303
  username
283
304
  }: ComposerCoreProps) => {
284
305
  const [ponyfill] = usePonyfill();
306
+ const [styleOptions] = useStyleOptions();
285
307
  const dispatch = useDispatch();
286
308
  const telemetryDimensionsRef = useRef({});
309
+ const [voiceHandlers] = useVoiceHandlers();
287
310
 
288
311
  const patchedDir = useMemo(() => (dir === 'ltr' || dir === 'rtl' ? dir : 'auto'), [dir]);
289
312
  const patchedGrammars = useMemo(() => grammars || [], [grammars]);
290
- const patchedStyleOptions = useMemo(
291
- () => normalizeStyleOptions(patchStyleOptionsFromDeprecatedProps(styleOptions)),
292
- [styleOptions]
293
- );
313
+
314
+ const uiState = parseUIState(rawUIState, disabled);
294
315
 
295
316
  useEffect(() => {
296
317
  dispatch(setLanguage(locale));
@@ -323,12 +344,20 @@ const ComposerCore = ({
323
344
  () =>
324
345
  createCardActionContext({
325
346
  cardActionMiddleware: Object.freeze([...singleToArray(cardActionMiddleware)]),
347
+ continuous: !!styleOptions.speechRecognitionContinuous,
326
348
  directLine,
327
349
  dispatch,
328
350
  markAllAsAcknowledged,
329
351
  ponyfill
330
352
  }),
331
- [cardActionMiddleware, directLine, dispatch, markAllAsAcknowledged, ponyfill]
353
+ [
354
+ cardActionMiddleware,
355
+ directLine,
356
+ dispatch,
357
+ markAllAsAcknowledged,
358
+ ponyfill,
359
+ styleOptions.speechRecognitionContinuous
360
+ ]
332
361
  );
333
362
 
334
363
  const patchedSelectVoice = useMemo(
@@ -336,16 +365,6 @@ const ComposerCore = ({
336
365
  [locale, selectVoice]
337
366
  );
338
367
 
339
- const groupActivitiesContext = useMemo(
340
- () =>
341
- createGroupActivitiesContext({
342
- groupActivitiesMiddleware: Object.freeze([...singleToArray(groupActivitiesMiddleware)]),
343
- groupTimestamp: patchedStyleOptions.groupTimestamp,
344
- ponyfill
345
- }),
346
- [groupActivitiesMiddleware, patchedStyleOptions.groupTimestamp, ponyfill]
347
- );
348
-
349
368
  const hoistedDispatchers = useMemo(
350
369
  () =>
351
370
  mapMap(
@@ -358,6 +377,15 @@ const ComposerCore = ({
358
377
  [dispatch]
359
378
  );
360
379
 
380
+ const startVoice = useCallback(() => {
381
+ dispatch(startVoiceRecording());
382
+ }, [dispatch]);
383
+
384
+ const stopVoice = useCallback(() => {
385
+ voiceHandlers.forEach(handler => handler.stopAllAudio());
386
+ dispatch(stopVoiceRecording());
387
+ }, [dispatch, voiceHandlers]);
388
+
361
389
  const patchedLocalizedStrings = useMemo(
362
390
  () => mergeStringsOverrides(getAllLocalizedStrings()[normalizeLanguage(locale)], locale, overrideLocalizedStrings),
363
391
  [locale, overrideLocalizedStrings]
@@ -390,25 +418,6 @@ const ComposerCore = ({
390
418
  [telemetryDimensionsRef]
391
419
  );
392
420
 
393
- const patchedActivityRenderer = useMemo(
394
- () =>
395
- applyMiddlewareForRenderer(
396
- 'activity',
397
- { strict: false },
398
- ...singleToArray(activityMiddleware),
399
- () =>
400
- () =>
401
- ({ activity }) => {
402
- if (activity) {
403
- throw new Error(`No renderer for activity of type "${activity.type}"`);
404
- } else {
405
- throw new Error('No activity to render');
406
- }
407
- }
408
- )({}),
409
- [activityMiddleware]
410
- );
411
-
412
421
  const patchedActivityStatusRenderer = useMemo<RenderActivityStatus>(
413
422
  () =>
414
423
  applyMiddlewareForRenderer(
@@ -463,14 +472,18 @@ const ComposerCore = ({
463
472
  [attachmentMiddleware]
464
473
  );
465
474
 
466
- const patchedAvatarRenderer = useMemo(
467
- () =>
468
- applyMiddlewareForRenderer(
469
- 'avatar',
470
- { strict: false },
471
- ...singleToArray(avatarMiddleware),
472
- () => () => () => false
473
- )({}),
475
+ const groupActivitiesMiddleware = useMemoIterable<readonly GroupActivitiesMiddleware[] | undefined>(
476
+ () => Object.freeze(singleToArray(groupActivitiesMiddlewareFromProps)),
477
+ [groupActivitiesMiddlewareFromProps]
478
+ );
479
+
480
+ const avatarMiddleware = useMemoIterable<readonly AvatarMiddleware[]>(
481
+ () => singleToArray(avatarMiddlewareFromProps),
482
+ [avatarMiddlewareFromProps]
483
+ );
484
+
485
+ const polymiddlewareForLegacyAvatarMiddleware = useMemo<Polymiddleware | undefined>(
486
+ () => createAvatarPolymiddlewareFromLegacy(...avatarMiddleware),
474
487
  [avatarMiddleware]
475
488
  );
476
489
 
@@ -515,6 +528,50 @@ const ComposerCore = ({
515
528
  [scrollToEndButtonMiddleware]
516
529
  );
517
530
 
531
+ const activityMiddleware = useMemoIterable<readonly LegacyActivityMiddleware[]>(
532
+ () => singleToArray(activityMiddlewareFromProps),
533
+ [activityMiddlewareFromProps]
534
+ );
535
+
536
+ const polymiddlewareForLegacyActivityMiddleware = useMemo<Polymiddleware | undefined>(
537
+ () => createActivityPolymiddlewareFromLegacy(...activityMiddleware),
538
+ [activityMiddleware]
539
+ );
540
+
541
+ const polymiddleware = useMemoIterable<readonly Polymiddleware[]>(
542
+ () =>
543
+ Object.freeze([
544
+ // Error box telemetry polymiddleware is special and has a much higher priority.
545
+ // This guarantees telemetry is always emitted for exception and no other polymiddleware can override this behavior.
546
+ errorBoxTelemetryPolymiddleware,
547
+
548
+ // # Why render legacy middleware before polymiddleware?
549
+ //
550
+ // - Legacy middleware should have high priority than defaults
551
+ // - Default middleware will be upgraded to polymiddleware, however, they should have lower priority
552
+ // - Default middleware are implemented in the `component` package, and passed via `polymiddleware` props
553
+ // - They are UI, cannot be implemented in `api` package
554
+ //
555
+ // We have a few way out, either one of the followings:
556
+ //
557
+ // - Add a new `lowPriorityPolymiddleware` props for default polymiddleware, so we can put them after legacy
558
+ // - We don't want any special treatments or any prioritization system
559
+ // - We put the upgrade logics inside both `api` and `component` package
560
+ // - `component` will upgrade legacy to polymiddleware and prioritize properly
561
+ // - Spaghetti code and it is difficult to test the logic in `api` package
562
+ // - We always render legacy middleware before polymiddleware
563
+ // - Default middleware are polymiddleware, has lower priority than legacy
564
+ //
565
+ // The simplest and logical move is #3: render legacy middleware before polymiddleware.
566
+
567
+ ...(polymiddlewareForLegacyActivityMiddleware ? [polymiddlewareForLegacyActivityMiddleware] : []),
568
+ ...(polymiddlewareForLegacyAvatarMiddleware ? [polymiddlewareForLegacyAvatarMiddleware] : []),
569
+ ...(polymiddlewareFromProps ?? []),
570
+ activityFallbackPolymiddleware
571
+ ]),
572
+ [polymiddlewareForLegacyActivityMiddleware, polymiddlewareForLegacyAvatarMiddleware, polymiddlewareFromProps]
573
+ );
574
+
518
575
  /**
519
576
  * This is a heavy function, and it is expected to be only called when there is a need to recreate business logic, e.g.
520
577
  * - User ID changed, causing all send* functions to be updated
@@ -526,22 +583,17 @@ const ComposerCore = ({
526
583
  * This context should consist of members that are not in the Redux store
527
584
  * i.e. members that are not interested in other types of UIs
528
585
  */
529
- const context = useMemo<ContextOf<typeof WebChatAPIContext>>(
586
+ const context = useMemo<ContextOf<React.Context<WebChatAPIContextType>>>(
530
587
  () => ({
531
588
  ...cardActionContext,
532
- ...groupActivitiesContext,
533
589
  ...hoistedDispatchers,
534
- activityRenderer: patchedActivityRenderer,
535
590
  activityStatusRenderer: patchedActivityStatusRenderer,
536
591
  attachmentForScreenReaderRenderer: patchedAttachmentForScreenReaderRenderer,
537
592
  attachmentRenderer: patchedAttachmentRenderer,
538
- avatarRenderer: patchedAvatarRenderer,
539
593
  dir: patchedDir,
540
594
  directLine,
541
- disabled,
542
595
  downscaleImageToDataURL,
543
596
  grammars: patchedGrammars,
544
- internalErrorBoxClass,
545
597
  language: locale,
546
598
  localizedGlobalizeState: [localizedGlobalize],
547
599
  localizedStrings: patchedLocalizedStrings,
@@ -550,42 +602,41 @@ const ComposerCore = ({
550
602
  scrollToEndButtonRenderer,
551
603
  selectVoice: patchedSelectVoice,
552
604
  sendTypingIndicator,
553
- styleOptions: patchedStyleOptions,
605
+ startVoice,
606
+ stopVoice,
554
607
  telemetryDimensionsRef,
555
608
  toastRenderer: patchedToastRenderer,
556
609
  trackDimension,
557
610
  typingIndicatorRenderer: patchedTypingIndicatorRenderer,
611
+ uiState,
558
612
  userID,
559
613
  username
560
614
  }),
561
615
  [
562
616
  cardActionContext,
563
617
  directLine,
564
- disabled,
565
618
  downscaleImageToDataURL,
566
- groupActivitiesContext,
567
619
  hoistedDispatchers,
568
- internalErrorBoxClass,
569
620
  locale,
570
621
  localizedGlobalize,
571
622
  onTelemetry,
572
- patchedActivityRenderer,
573
623
  patchedActivityStatusRenderer,
574
624
  patchedAttachmentForScreenReaderRenderer,
575
625
  patchedAttachmentRenderer,
576
- patchedAvatarRenderer,
577
626
  patchedDir,
578
627
  patchedGrammars,
579
628
  patchedLocalizedStrings,
580
629
  patchedSelectVoice,
581
- patchedStyleOptions,
582
630
  patchedToastRenderer,
583
631
  patchedTypingIndicatorRenderer,
584
632
  renderMarkdown,
585
633
  scrollToEndButtonRenderer,
586
634
  sendTypingIndicator,
635
+ startVoice,
636
+ stopVoice,
587
637
  telemetryDimensionsRef,
588
638
  trackDimension,
639
+ uiState,
589
640
  userID,
590
641
  username
591
642
  ]
@@ -593,18 +644,26 @@ const ComposerCore = ({
593
644
 
594
645
  return (
595
646
  <WebChatAPIContext.Provider value={context}>
596
- <ActivityListenerComposer>
597
- <ActivitySendStatusComposer>
598
- <ActivityTypingComposer>
599
- <SendBoxMiddlewareProvider middleware={sendBoxMiddleware || EMPTY_ARRAY}>
600
- <SendBoxToolbarMiddlewareProvider middleware={sendBoxToolbarMiddleware || EMPTY_ARRAY}>
601
- {typeof children === 'function' ? children(context) : children}
602
- <ActivitySendStatusTelemetryComposer />
603
- </SendBoxToolbarMiddlewareProvider>
604
- </SendBoxMiddlewareProvider>
605
- </ActivityTypingComposer>
606
- </ActivitySendStatusComposer>
607
- </ActivityListenerComposer>
647
+ <CapabilitiesComposer>
648
+ <ActivityListenerComposer>
649
+ <ActivitySendStatusComposer>
650
+ <ActivityTypingComposer>
651
+ <SendBoxMiddlewareProvider middleware={sendBoxMiddleware || EMPTY_ARRAY}>
652
+ <SendBoxToolbarMiddlewareProvider middleware={sendBoxToolbarMiddleware || EMPTY_ARRAY}>
653
+ <GroupActivitiesComposer groupActivitiesMiddleware={groupActivitiesMiddleware}>
654
+ <PolymiddlewareComposer polymiddleware={polymiddleware}>
655
+ <SpeechToSpeechComposer>
656
+ {typeof children === 'function' ? children(context) : children}
657
+ </SpeechToSpeechComposer>
658
+ </PolymiddlewareComposer>
659
+ </GroupActivitiesComposer>
660
+ <ActivitySendStatusTelemetryComposer />
661
+ </SendBoxToolbarMiddlewareProvider>
662
+ </SendBoxMiddlewareProvider>
663
+ </ActivityTypingComposer>
664
+ </ActivitySendStatusComposer>
665
+ </ActivityListenerComposer>
666
+ </CapabilitiesComposer>
608
667
  {onTelemetry && <Tracker />}
609
668
  </WebChatAPIContext.Provider>
610
669
  );
@@ -617,7 +676,6 @@ const ComposerCore = ({
617
676
  * We should decide which data is needed for React but not in other environment such as CLI/VSCode
618
677
  */
619
678
  ComposerCore.defaultProps = {
620
- activityMiddleware: undefined,
621
679
  activityStatusMiddleware: undefined,
622
680
  attachmentForScreenReaderMiddleware: undefined,
623
681
  attachmentMiddleware: undefined,
@@ -629,7 +687,6 @@ ComposerCore.defaultProps = {
629
687
  downscaleImageToDataURL: undefined,
630
688
  grammars: [],
631
689
  groupActivitiesMiddleware: undefined,
632
- internalErrorBoxClass: undefined,
633
690
  locale: window.navigator.language || 'en-US',
634
691
  onTelemetry: undefined,
635
692
  overrideLocalizedStrings: undefined,
@@ -637,15 +694,14 @@ ComposerCore.defaultProps = {
637
694
  scrollToEndButtonMiddleware: undefined,
638
695
  selectVoice: undefined,
639
696
  sendTypingIndicator: false,
640
- styleOptions: {},
641
697
  toastMiddleware: undefined,
642
698
  typingIndicatorMiddleware: undefined,
699
+ uiState: undefined,
643
700
  userID: '',
644
701
  username: ''
645
702
  };
646
703
 
647
704
  ComposerCore.propTypes = {
648
- activityMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
649
705
  activityStatusMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
650
706
  attachmentForScreenReaderMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
651
707
  attachmentMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
@@ -672,7 +728,6 @@ ComposerCore.propTypes = {
672
728
  downscaleImageToDataURL: PropTypes.func,
673
729
  grammars: PropTypes.arrayOf(PropTypes.string),
674
730
  groupActivitiesMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
675
- internalErrorBoxClass: PropTypes.func, // This is for internal use only. We don't allow customization of error box.
676
731
  locale: PropTypes.string,
677
732
  onTelemetry: PropTypes.func,
678
733
  overrideLocalizedStrings: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),
@@ -680,9 +735,9 @@ ComposerCore.propTypes = {
680
735
  scrollToEndButtonMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
681
736
  selectVoice: PropTypes.func,
682
737
  sendTypingIndicator: PropTypes.bool,
683
- styleOptions: PropTypes.any,
684
738
  toastMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
685
739
  typingIndicatorMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
740
+ uiState: PropTypes.oneOf(['blueprint', 'disabled']),
686
741
  userID: PropTypes.string,
687
742
  username: PropTypes.string
688
743
  };
@@ -693,7 +748,7 @@ type ComposerWithStoreProps = ComposerCoreProps &
693
748
  }>;
694
749
 
695
750
  type ComposerProps = ComposerWithStoreProps & {
696
- internalRenderErrorBox?: any;
751
+ readonly internalRenderErrorBox?: any;
697
752
 
698
753
  /**
699
754
  * Ponyfill to overrides specific global scope members. This prop cannot be changed after initial render.
@@ -704,7 +759,8 @@ type ComposerProps = ComposerWithStoreProps & {
704
759
  *
705
760
  * Please see [#4662](https://github.com/microsoft/BotFramework-WebChat/pull/4662) for details.
706
761
  */
707
- ponyfill?: Partial<GlobalScopePonyfill>;
762
+ readonly ponyfill?: Partial<GlobalScopePonyfill> | undefined;
763
+ readonly styleOptions?: StyleOptions | undefined;
708
764
  };
709
765
 
710
766
  // We will create a Redux store if it was not passed in
@@ -748,11 +804,15 @@ const ComposerWithStore = ({ onTelemetry, store, ...props }: ComposerWithStorePr
748
804
 
749
805
  return (
750
806
  <Provider context={WebChatReduxContext} store={memoizedStore}>
751
- <ActivityKeyerComposer>
752
- <ActivityAcknowledgementComposer>
753
- <ComposerCore onTelemetry={onTelemetry} {...props} />
754
- </ActivityAcknowledgementComposer>
755
- </ActivityKeyerComposer>
807
+ <ReduxStoreComposer store={memoizedStore}>
808
+ <GraphProvider store={memoizedStore}>
809
+ <ActivityKeyerComposer>
810
+ <ActivityAcknowledgementComposer>
811
+ <ComposerCore onTelemetry={onTelemetry} {...props} />
812
+ </ActivityAcknowledgementComposer>
813
+ </ActivityKeyerComposer>
814
+ </GraphProvider>
815
+ </ReduxStoreComposer>
756
816
  </Provider>
757
817
  );
758
818
  };
@@ -767,7 +827,7 @@ ComposerWithStore.propTypes = {
767
827
  store: PropTypes.any
768
828
  };
769
829
 
770
- const Composer = ({ internalRenderErrorBox, onTelemetry, ponyfill, ...props }: ComposerProps) => {
830
+ const Composer = ({ internalRenderErrorBox, onTelemetry, ponyfill, styleOptions, ...props }: ComposerProps) => {
771
831
  const [error, setError] = useState();
772
832
 
773
833
  const handleError = useCallback(
@@ -786,7 +846,9 @@ const Composer = ({ internalRenderErrorBox, onTelemetry, ponyfill, ...props }: C
786
846
  ) : (
787
847
  <ErrorBoundary onError={handleError}>
788
848
  <PonyfillComposer ponyfill={ponyfill}>
789
- <ComposerWithStore onTelemetry={onTelemetry} {...props} />
849
+ <StyleOptionsComposer styleOptions={styleOptions}>
850
+ <ComposerWithStore onTelemetry={onTelemetry} {...props} />
851
+ </StyleOptionsComposer>
790
852
  </PonyfillComposer>
791
853
  </ErrorBoundary>
792
854
  );