botframework-webchat-api 4.14.0 → 4.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/.eslintrc.yml +4 -105
  2. package/.prettierrc.yml +1 -1
  3. package/lib/StyleOptions.d.ts +242 -12
  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 +1 -1
  8. package/lib/hooks/Composer.d.ts.map +1 -1
  9. package/lib/hooks/Composer.js +32 -14
  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/ErrorBox.js +2 -2
  14. package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts.map +1 -1
  15. package/lib/hooks/internal/useCreateActivityRendererInternal.js +1 -1
  16. package/lib/hooks/internal/useDebugDeps.js +11 -5
  17. package/lib/hooks/internal/useDownscaleImageToDataURL.js +1 -1
  18. package/lib/hooks/internal/useErrorBoxClass.js +1 -1
  19. package/lib/hooks/internal/useForceRender.js +2 -2
  20. package/lib/hooks/internal/useLocalizedStrings.js +1 -1
  21. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  22. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  23. package/lib/hooks/internal/usePrevious.js +17 -0
  24. package/lib/hooks/internal/useReadTelemetryDimensions.js +2 -2
  25. package/lib/hooks/internal/useTimePassed.js +2 -2
  26. package/lib/hooks/internal/useTracker.js +2 -2
  27. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  28. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  29. package/lib/hooks/internal/useValueRef.js +24 -0
  30. package/lib/hooks/middleware/UserlandBoundary.js +4 -4
  31. package/lib/hooks/middleware/applyMiddleware.js +2 -2
  32. package/lib/hooks/middleware/concatMiddleware.d.ts.map +1 -1
  33. package/lib/hooks/middleware/concatMiddleware.js +3 -3
  34. package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts.map +1 -1
  35. package/lib/hooks/middleware/createDefaultCardActionMiddleware.js +6 -8
  36. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +1 -1
  37. package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +1 -1
  38. package/lib/hooks/useActiveTyping.js +4 -4
  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/useAvatarForBot.js +2 -2
  46. package/lib/hooks/useAvatarForUser.js +2 -2
  47. package/lib/hooks/useByteFormatter.js +2 -2
  48. package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +1 -1
  49. package/lib/hooks/useCreateActivityStatusRenderer.js +3 -3
  50. package/lib/hooks/useCreateAvatarRenderer.d.ts +4 -2
  51. package/lib/hooks/useCreateAvatarRenderer.d.ts.map +1 -1
  52. package/lib/hooks/useCreateAvatarRenderer.js +2 -2
  53. package/lib/hooks/useDateFormatter.d.ts.map +1 -1
  54. package/lib/hooks/useDateFormatter.js +2 -2
  55. package/lib/hooks/useDebouncedNotifications.js +5 -5
  56. package/lib/hooks/useDirection.js +2 -2
  57. package/lib/hooks/useGetActivityByKey.d.ts +3 -0
  58. package/lib/hooks/useGetActivityByKey.d.ts.map +1 -0
  59. package/lib/hooks/useGetActivityByKey.js +14 -0
  60. package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts +3 -0
  61. package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts.map +1 -0
  62. package/lib/hooks/useGetHasAcknowledgedByActivityKey.js +14 -0
  63. package/lib/hooks/useGetKeyByActivity.d.ts +3 -0
  64. package/lib/hooks/useGetKeyByActivity.d.ts.map +1 -0
  65. package/lib/hooks/useGetKeyByActivity.js +14 -0
  66. package/lib/hooks/useGetKeyByActivityId.d.ts +3 -0
  67. package/lib/hooks/useGetKeyByActivityId.d.ts.map +1 -0
  68. package/lib/hooks/useGetKeyByActivityId.js +14 -0
  69. package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +1 -1
  70. package/lib/hooks/useGetSendTimeoutForActivity.js +2 -2
  71. package/lib/hooks/useGroupActivities.d.ts.map +1 -1
  72. package/lib/hooks/useGroupActivities.js +1 -1
  73. package/lib/hooks/useGroupTimestamp.js +2 -2
  74. package/lib/hooks/useLanguage.js +1 -1
  75. package/lib/hooks/useLastAcknowledgedActivityKey.d.ts +3 -0
  76. package/lib/hooks/useLastAcknowledgedActivityKey.d.ts.map +1 -0
  77. package/lib/hooks/useLastAcknowledgedActivityKey.js +14 -0
  78. package/lib/hooks/useLastReadActivityKey.d.ts +3 -0
  79. package/lib/hooks/useLastReadActivityKey.d.ts.map +1 -0
  80. package/lib/hooks/useLastReadActivityKey.js +14 -0
  81. package/lib/hooks/useLocalize.js +2 -2
  82. package/lib/hooks/useLocalizeDate.js +2 -2
  83. package/lib/hooks/useLocalizer.d.ts +1 -1
  84. package/lib/hooks/useLocalizer.d.ts.map +1 -1
  85. package/lib/hooks/useLocalizer.js +9 -3
  86. package/lib/hooks/useMarkActivityKeyAsRead.d.ts +3 -0
  87. package/lib/hooks/useMarkActivityKeyAsRead.d.ts.map +1 -0
  88. package/lib/hooks/useMarkActivityKeyAsRead.js +14 -0
  89. package/lib/hooks/useMarkAllAsAcknowledged.d.ts +3 -0
  90. package/lib/hooks/useMarkAllAsAcknowledged.d.ts.map +1 -0
  91. package/lib/hooks/useMarkAllAsAcknowledged.js +14 -0
  92. package/lib/hooks/useRelativeTimeFormatter.js +2 -2
  93. package/lib/hooks/useRenderActivity.js +1 -1
  94. package/lib/hooks/useRenderAttachment.js +1 -1
  95. package/lib/hooks/useSendFiles.js +1 -1
  96. package/lib/hooks/useShouldSpeakIncomingActivity.js +1 -1
  97. package/lib/hooks/useSubmitSendBox.d.ts.map +1 -1
  98. package/lib/hooks/useSubmitSendBox.js +8 -5
  99. package/lib/hooks/useSuggestedActions.js +1 -1
  100. package/lib/hooks/useTimeoutForSend.js +2 -2
  101. package/lib/hooks/useTrackDimension.js +1 -1
  102. package/lib/hooks/useTrackEvent.js +1 -1
  103. package/lib/hooks/useTrackException.js +2 -2
  104. package/lib/hooks/useTrackTiming.js +1 -1
  105. package/lib/hooks/utils/ErrorBoundary.js +4 -4
  106. package/lib/index.js +9 -9
  107. package/lib/localization/Localize.d.ts.map +1 -1
  108. package/lib/localization/Localize.js +14 -8
  109. package/lib/localization/ar-SA.json +23 -4
  110. package/lib/localization/bg-BG.json +23 -4
  111. package/lib/localization/ca-ES.json +23 -4
  112. package/lib/localization/cs-CZ.json +23 -4
  113. package/lib/localization/da-DK.json +23 -4
  114. package/lib/localization/de-DE.json +23 -4
  115. package/lib/localization/el-GR.json +23 -4
  116. package/lib/localization/en-US.json +29 -7
  117. package/lib/localization/es-ES.json +23 -4
  118. package/lib/localization/et-EE.json +23 -4
  119. package/lib/localization/eu-ES.json +23 -4
  120. package/lib/localization/fi-FI.json +23 -4
  121. package/lib/localization/fr-FR.json +23 -4
  122. package/lib/localization/gl-ES.json +23 -4
  123. package/lib/localization/he-IL.json +23 -4
  124. package/lib/localization/hi-IN.json +23 -4
  125. package/lib/localization/hr-HR.json +23 -4
  126. package/lib/localization/hu-HU.json +23 -4
  127. package/lib/localization/id-ID.json +23 -4
  128. package/lib/localization/it-IT.json +23 -4
  129. package/lib/localization/ja-JP.json +23 -4
  130. package/lib/localization/kk-KZ.json +23 -4
  131. package/lib/localization/ko-KR.json +23 -4
  132. package/lib/localization/lt-LT.json +23 -4
  133. package/lib/localization/lv-LV.json +23 -4
  134. package/lib/localization/mergeLocalizedStrings.d.ts.map +1 -1
  135. package/lib/localization/mergeLocalizedStrings.js +14 -7
  136. package/lib/localization/ms-MY.json +23 -4
  137. package/lib/localization/nb-NO.json +23 -4
  138. package/lib/localization/nl-NL.json +23 -4
  139. package/lib/localization/pl-PL.json +23 -4
  140. package/lib/localization/pt-BR.json +23 -4
  141. package/lib/localization/pt-PT.json +23 -4
  142. package/lib/localization/ro-RO.json +23 -4
  143. package/lib/localization/ru-RU.json +23 -4
  144. package/lib/localization/sk-SK.json +23 -4
  145. package/lib/localization/sl-SI.json +23 -4
  146. package/lib/localization/sr-Cyrl-CS.json +23 -4
  147. package/lib/localization/sr-Latn-CS.json +23 -4
  148. package/lib/localization/sv-SE.json +23 -4
  149. package/lib/localization/th-TH.json +23 -4
  150. package/lib/localization/tr-TR.json +23 -4
  151. package/lib/localization/uk-UA.json +23 -4
  152. package/lib/localization/vi-VN.json +23 -4
  153. package/lib/localization/yue.json +26 -7
  154. package/lib/localization/zh-CN.json +23 -4
  155. package/lib/localization/zh-HK.json +23 -4
  156. package/lib/localization/zh-TW.json +23 -4
  157. package/lib/normalizeStyleOptions.d.ts.map +1 -1
  158. package/lib/normalizeStyleOptions.js +51 -4
  159. package/lib/patchStyleOptionsFromDeprecatedProps.js +1 -2
  160. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts +5 -0
  161. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts.map +1 -0
  162. package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.js +184 -0
  163. package/lib/providers/ActivityAcknowledgement/private/Context.d.ts +13 -0
  164. package/lib/providers/ActivityAcknowledgement/private/Context.d.ts.map +1 -0
  165. package/lib/providers/ActivityAcknowledgement/private/Context.js +13 -0
  166. package/lib/providers/ActivityAcknowledgement/private/types.d.ts +6 -0
  167. package/lib/providers/ActivityAcknowledgement/private/types.d.ts.map +1 -0
  168. package/lib/providers/ActivityAcknowledgement/private/types.js +2 -0
  169. package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts +3 -0
  170. package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts.map +1 -0
  171. package/lib/providers/ActivityAcknowledgement/private/useContext.js +24 -0
  172. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts +5 -0
  173. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts.map +1 -0
  174. package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.js +18 -0
  175. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts +2 -0
  176. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts.map +1 -0
  177. package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.js +15 -0
  178. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts +2 -0
  179. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts.map +1 -0
  180. package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.js +15 -0
  181. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts +2 -0
  182. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts.map +1 -0
  183. package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.js +15 -0
  184. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts +2 -0
  185. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts.map +1 -0
  186. package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.js +15 -0
  187. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts +2 -0
  188. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts.map +1 -0
  189. package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.js +15 -0
  190. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts +18 -0
  191. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts.map +1 -0
  192. package/lib/providers/ActivityKeyer/ActivityKeyerComposer.js +153 -0
  193. package/lib/providers/ActivityKeyer/private/Context.d.ts +12 -0
  194. package/lib/providers/ActivityKeyer/private/Context.d.ts.map +1 -0
  195. package/lib/providers/ActivityKeyer/private/Context.js +13 -0
  196. package/lib/providers/ActivityKeyer/private/getActivityId.d.ts +3 -0
  197. package/lib/providers/ActivityKeyer/private/getActivityId.d.ts.map +1 -0
  198. package/lib/providers/ActivityKeyer/private/getActivityId.js +11 -0
  199. package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts +3 -0
  200. package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts.map +1 -0
  201. package/lib/providers/ActivityKeyer/private/getClientActivityId.js +13 -0
  202. package/lib/providers/ActivityKeyer/private/uniqueId.d.ts +2 -0
  203. package/lib/providers/ActivityKeyer/private/uniqueId.d.ts.map +1 -0
  204. package/lib/providers/ActivityKeyer/private/uniqueId.js +18 -0
  205. package/lib/providers/ActivityKeyer/private/useContext.d.ts +3 -0
  206. package/lib/providers/ActivityKeyer/private/useContext.d.ts.map +1 -0
  207. package/lib/providers/ActivityKeyer/private/useContext.js +24 -0
  208. package/lib/providers/ActivityKeyer/useActivityKeys.d.ts +2 -0
  209. package/lib/providers/ActivityKeyer/useActivityKeys.d.ts.map +1 -0
  210. package/lib/providers/ActivityKeyer/useActivityKeys.js +15 -0
  211. package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts +3 -0
  212. package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts.map +1 -0
  213. package/lib/providers/ActivityKeyer/useGetActivityByKey.js +15 -0
  214. package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts +3 -0
  215. package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts.map +1 -0
  216. package/lib/providers/ActivityKeyer/useGetKeyByActivity.js +15 -0
  217. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts +2 -0
  218. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts.map +1 -0
  219. package/lib/providers/ActivityKeyer/useGetKeyByActivityId.js +15 -0
  220. package/lib/types/CardActionMiddleware.d.ts +15 -14
  221. package/lib/types/CardActionMiddleware.d.ts.map +1 -1
  222. package/lib/utils/createCustomEvent.d.ts.map +1 -1
  223. package/lib/utils/createCustomEvent.js +9 -3
  224. package/lib/utils/findLastIndex.d.ts +2 -0
  225. package/lib/utils/findLastIndex.d.ts.map +1 -0
  226. package/lib/utils/findLastIndex.js +32 -0
  227. package/lib/utils/findMin.js +2 -2
  228. package/lib/utils/isObject.js +1 -1
  229. package/lib/utils/mapMap.d.ts.map +1 -1
  230. package/lib/utils/mapMap.js +10 -3
  231. package/lib/utils/randomId.d.ts.map +1 -1
  232. package/lib/utils/randomId.js +1 -1
  233. package/package.json +20 -31
  234. package/scripts/createPrecompiledGlobalize.mjs +44 -0
  235. package/src/StyleOptions.ts +293 -12
  236. package/src/defaultStyleOptions.ts +71 -13
  237. package/src/hooks/Composer.tsx +86 -49
  238. package/src/hooks/index.ts +20 -0
  239. package/src/hooks/internal/useCreateActivityRendererInternal.ts +21 -20
  240. package/src/hooks/internal/useDebugDeps.js +9 -2
  241. package/src/hooks/internal/usePrevious.ts +11 -0
  242. package/src/hooks/internal/useValueRef.ts +21 -0
  243. package/src/hooks/middleware/concatMiddleware.ts +6 -4
  244. package/src/hooks/middleware/createDefaultCardActionMiddleware.ts +29 -25
  245. package/src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts +6 -4
  246. package/src/hooks/useActivityKeys.ts +3 -0
  247. package/src/hooks/useActivityKeysByRead.ts +3 -0
  248. package/src/hooks/useCreateActivityStatusRenderer.tsx +10 -13
  249. package/src/hooks/useCreateAvatarRenderer.ts +23 -19
  250. package/src/hooks/useDateFormatter.ts +4 -3
  251. package/src/hooks/useGetActivityByKey.ts +3 -0
  252. package/src/hooks/useGetHasAcknowledgedByActivityKey.ts +3 -0
  253. package/src/hooks/useGetKeyByActivity.ts +3 -0
  254. package/src/hooks/useGetKeyByActivityId.ts +3 -0
  255. package/src/hooks/useGetSendTimeoutForActivity.ts +7 -6
  256. package/src/hooks/useGroupActivities.ts +1 -5
  257. package/src/hooks/useLastAcknowledgedActivityKey.ts +3 -0
  258. package/src/hooks/useLastReadActivityKey.ts +3 -0
  259. package/src/hooks/useLocalizer.ts +7 -2
  260. package/src/hooks/useMarkActivityKeyAsRead.ts +3 -0
  261. package/src/hooks/useMarkAllAsAcknowledged.ts +3 -0
  262. package/src/hooks/useRenderActivity.js +11 -10
  263. package/src/hooks/useSubmitSendBox.ts +2 -5
  264. package/src/localization/Localize.ts +9 -2
  265. package/src/localization/ar-SA.json +23 -4
  266. package/src/localization/bg-BG.json +23 -4
  267. package/src/localization/ca-ES.json +23 -4
  268. package/src/localization/cs-CZ.json +23 -4
  269. package/src/localization/da-DK.json +23 -4
  270. package/src/localization/de-DE.json +23 -4
  271. package/src/localization/el-GR.json +23 -4
  272. package/src/localization/en-US.json +29 -7
  273. package/src/localization/es-ES.json +23 -4
  274. package/src/localization/et-EE.json +23 -4
  275. package/src/localization/eu-ES.json +23 -4
  276. package/src/localization/fi-FI.json +23 -4
  277. package/src/localization/fr-FR.json +23 -4
  278. package/src/localization/gl-ES.json +23 -4
  279. package/src/localization/he-IL.json +23 -4
  280. package/src/localization/hi-IN.json +23 -4
  281. package/src/localization/hr-HR.json +23 -4
  282. package/src/localization/hu-HU.json +23 -4
  283. package/src/localization/id-ID.json +23 -4
  284. package/src/localization/it-IT.json +23 -4
  285. package/src/localization/ja-JP.json +23 -4
  286. package/src/localization/kk-KZ.json +23 -4
  287. package/src/localization/ko-KR.json +23 -4
  288. package/src/localization/lt-LT.json +23 -4
  289. package/src/localization/lv-LV.json +23 -4
  290. package/src/localization/mergeLocalizedStrings.ts +7 -1
  291. package/src/localization/ms-MY.json +23 -4
  292. package/src/localization/nb-NO.json +23 -4
  293. package/src/localization/nl-NL.json +23 -4
  294. package/src/localization/pl-PL.json +23 -4
  295. package/src/localization/pt-BR.json +23 -4
  296. package/src/localization/pt-PT.json +23 -4
  297. package/src/localization/ro-RO.json +23 -4
  298. package/src/localization/ru-RU.json +23 -4
  299. package/src/localization/sk-SK.json +23 -4
  300. package/src/localization/sl-SI.json +23 -4
  301. package/src/localization/sr-Cyrl-CS.json +23 -4
  302. package/src/localization/sr-Latn-CS.json +23 -4
  303. package/src/localization/sv-SE.json +23 -4
  304. package/src/localization/th-TH.json +23 -4
  305. package/src/localization/tr-TR.json +23 -4
  306. package/src/localization/uk-UA.json +23 -4
  307. package/src/localization/vi-VN.json +23 -4
  308. package/src/localization/yue.json +26 -7
  309. package/src/localization/zh-CN.json +23 -4
  310. package/src/localization/zh-HK.json +23 -4
  311. package/src/localization/zh-TW.json +23 -4
  312. package/src/normalizeStyleOptions.ts +70 -0
  313. package/src/patchStyleOptionsFromDeprecatedProps.js +0 -2
  314. package/src/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.tsx +180 -0
  315. package/src/providers/ActivityAcknowledgement/private/Context.ts +18 -0
  316. package/src/providers/ActivityAcknowledgement/private/types.ts +6 -0
  317. package/src/providers/ActivityAcknowledgement/private/useContext.ts +19 -0
  318. package/src/providers/ActivityAcknowledgement/useActivityKeysByRead.tsx +8 -0
  319. package/src/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.ts +5 -0
  320. package/src/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.ts +5 -0
  321. package/src/providers/ActivityAcknowledgement/useLastReadActivityKey.ts +5 -0
  322. package/src/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.ts +5 -0
  323. package/src/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.ts +5 -0
  324. package/src/providers/ActivityKeyer/ActivityKeyerComposer.tsx +151 -0
  325. package/src/providers/ActivityKeyer/private/Context.ts +14 -0
  326. package/src/providers/ActivityKeyer/private/getActivityId.ts +5 -0
  327. package/src/providers/ActivityKeyer/private/getClientActivityId.ts +5 -0
  328. package/src/providers/ActivityKeyer/private/uniqueId.ts +8 -0
  329. package/src/providers/ActivityKeyer/private/useContext.ts +15 -0
  330. package/src/providers/ActivityKeyer/useActivityKeys.ts +5 -0
  331. package/src/providers/ActivityKeyer/useGetActivityByKey.ts +7 -0
  332. package/src/providers/ActivityKeyer/useGetKeyByActivity.ts +7 -0
  333. package/src/providers/ActivityKeyer/useGetKeyByActivityId.ts +5 -0
  334. package/src/types/CardActionMiddleware.ts +13 -13
  335. package/src/utils/createCustomEvent.ts +7 -1
  336. package/src/utils/findLastIndex.spec.js +31 -0
  337. package/src/utils/findLastIndex.ts +11 -0
  338. package/src/utils/mapMap.ts +7 -1
  339. package/src/utils/randomId.ts +1 -1
  340. package/.eslintignore +0 -1
  341. package/scripts/createPrecompiledGlobalize.js +0 -42
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = mapMap;
7
7
 
8
+ var _botframeworkWebchatCore = require("botframework-webchat-core");
9
+
8
10
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
11
 
10
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -13,7 +15,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
13
15
 
14
16
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
17
 
16
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
18
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
17
19
 
18
20
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
21
 
@@ -23,8 +25,13 @@ function mapMap(map, mapper) {
23
25
  key = _ref2[0],
24
26
  value = _ref2[1];
25
27
 
26
- result[key] = mapper(value, key);
28
+ if (!(0, _botframeworkWebchatCore.isForbiddenPropertyName)(key)) {
29
+ // Mitigation through denylisting.
30
+ // eslint-disable-next-line security/detect-object-injection
31
+ result[key] = mapper(value, key);
32
+ }
33
+
27
34
  return result;
28
35
  }, {});
29
36
  }
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tYXBNYXAudHMiXSwibmFtZXMiOlsibWFwTWFwIiwibWFwIiwibWFwcGVyIiwiT2JqZWN0IiwiZW50cmllcyIsInJlZHVjZSIsInJlc3VsdCIsImtleSIsInZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWUsU0FBU0EsTUFBVCxDQUNiQyxHQURhLEVBRWJDLE1BRmEsRUFHUztBQUN0QixTQUFPQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUgsR0FBZixFQUFvQkksTUFBcEIsQ0FBMkIsVUFBQ0MsTUFBRCxRQUEwQjtBQUFBO0FBQUEsUUFBaEJDLEdBQWdCO0FBQUEsUUFBWEMsS0FBVzs7QUFDMURGLElBQUFBLE1BQU0sQ0FBQ0MsR0FBRCxDQUFOLEdBQWNMLE1BQU0sQ0FBQ00sS0FBRCxFQUFRRCxHQUFSLENBQXBCO0FBRUEsV0FBT0QsTUFBUDtBQUNELEdBSk0sRUFJSixFQUpJLENBQVA7QUFLRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFwTWFwPFQ+KFxuICBtYXA6IHsgW2tleTogc3RyaW5nXTogVCB9LFxuICBtYXBwZXI6ICh2YWx1ZTogVCwga2V5OiBzdHJpbmcpID0+IFRcbik6IHsgW2tleTogc3RyaW5nXTogVCB9IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG1hcCkucmVkdWNlKChyZXN1bHQsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJlc3VsdFtrZXldID0gbWFwcGVyKHZhbHVlLCBrZXkpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwge30pO1xufVxuIl19
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tYXBNYXAudHMiXSwibmFtZXMiOlsibWFwTWFwIiwibWFwIiwibWFwcGVyIiwiT2JqZWN0IiwiZW50cmllcyIsInJlZHVjZSIsInJlc3VsdCIsImtleSIsInZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7O0FBRWUsU0FBU0EsTUFBVCxDQUNiQyxHQURhLEVBRWJDLE1BRmEsRUFHUztBQUN0QixTQUFPQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUgsR0FBZixFQUFvQkksTUFBcEIsQ0FBMkIsVUFBQ0MsTUFBRCxRQUEwQjtBQUFBO0FBQUEsUUFBaEJDLEdBQWdCO0FBQUEsUUFBWEMsS0FBVzs7QUFDMUQsUUFBSSxDQUFDLHNEQUF3QkQsR0FBeEIsQ0FBTCxFQUFtQztBQUNqQztBQUNBO0FBQ0FELE1BQUFBLE1BQU0sQ0FBQ0MsR0FBRCxDQUFOLEdBQWNMLE1BQU0sQ0FBQ00sS0FBRCxFQUFRRCxHQUFSLENBQXBCO0FBQ0Q7O0FBRUQsV0FBT0QsTUFBUDtBQUNELEdBUk0sRUFRSixFQVJJLENBQVA7QUFTRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNGb3JiaWRkZW5Qcm9wZXJ0eU5hbWUgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb3JlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFwTWFwPFQ+KFxuICBtYXA6IHsgW2tleTogc3RyaW5nXTogVCB9LFxuICBtYXBwZXI6ICh2YWx1ZTogVCwga2V5OiBzdHJpbmcpID0+IFRcbik6IHsgW2tleTogc3RyaW5nXTogVCB9IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG1hcCkucmVkdWNlKChyZXN1bHQsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmICghaXNGb3JiaWRkZW5Qcm9wZXJ0eU5hbWUoa2V5KSkge1xuICAgICAgLy8gTWl0aWdhdGlvbiB0aHJvdWdoIGRlbnlsaXN0aW5nLlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICByZXN1bHRba2V5XSA9IG1hcHBlcih2YWx1ZSwga2V5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LCB7fSk7XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"randomId.d.ts","sourceRoot":"","sources":["../../src/utils/randomId.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,SAAS,GAAE,MAAU,GAAG,MAAM,CAE9D"}
1
+ {"version":3,"file":"randomId.d.ts","sourceRoot":"","sources":["../../src/utils/randomId.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,SAAS,SAAI,GAAG,MAAM,CAEtD"}
@@ -14,4 +14,4 @@ function randomId() {
14
14
  var maxLength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5;
15
15
  return (0, _mathRandom.default)().toString(36).substr(2, maxLength);
16
16
  }
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yYW5kb21JZC50cyJdLCJuYW1lcyI6WyJyYW5kb21JZCIsIm1heExlbmd0aCIsInRvU3RyaW5nIiwic3Vic3RyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7Ozs7QUFGQTtBQUllLFNBQVNBLFFBQVQsR0FBaUQ7QUFBQSxNQUEvQkMsU0FBK0IsdUVBQVgsQ0FBVztBQUM5RCxTQUFPLDJCQUFTQyxRQUFULENBQWtCLEVBQWxCLEVBQXNCQyxNQUF0QixDQUE2QixDQUE3QixFQUFnQ0YsU0FBaEMsQ0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbMiwgNSwgMzZdIH1dICovXG5cbmltcG9ydCByYW5kb20gZnJvbSAnbWF0aC1yYW5kb20nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByYW5kb21JZChtYXhMZW5ndGg6IG51bWJlciA9IDUpOiBzdHJpbmcge1xuICByZXR1cm4gcmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCBtYXhMZW5ndGgpO1xufVxuIl19
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yYW5kb21JZC50cyJdLCJuYW1lcyI6WyJyYW5kb21JZCIsIm1heExlbmd0aCIsInRvU3RyaW5nIiwic3Vic3RyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7Ozs7QUFGQTtBQUllLFNBQVNBLFFBQVQsR0FBeUM7QUFBQSxNQUF2QkMsU0FBdUIsdUVBQVgsQ0FBVztBQUN0RCxTQUFPLDJCQUFTQyxRQUFULENBQWtCLEVBQWxCLEVBQXNCQyxNQUF0QixDQUE2QixDQUE3QixFQUFnQ0YsU0FBaEMsQ0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbMiwgNSwgMzZdIH1dICovXG5cbmltcG9ydCByYW5kb20gZnJvbSAnbWF0aC1yYW5kb20nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByYW5kb21JZChtYXhMZW5ndGggPSA1KTogc3RyaW5nIHtcbiAgcmV0dXJuIHJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgbWF4TGVuZ3RoKTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botframework-webchat-api",
3
- "version": "4.14.0",
3
+ "version": "4.15.1",
4
4
  "description": "React DOM component of botframework-webchat",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -20,58 +20,47 @@
20
20
  "scripts": {
21
21
  "build": "npm run build:globalize && npm run build:typescript && npm run build:babel",
22
22
  "build:babel": "babel src --copy-files --extensions .js,.ts,.tsx --ignore **/*.spec.js,**/*.spec.ts,**/*.spec.tsx,**/*.test.js,**/*.test.ts,**/*.test.tsx,__tests__/**/*.js,__tests__/**/*.ts,__tests__/**/*.tsx --no-copy-ignored --out-dir lib --verbose",
23
- "build:globalize": "node scripts/createPrecompiledGlobalize.js",
23
+ "build:globalize": "node scripts/createPrecompiledGlobalize.mjs",
24
24
  "build:typescript": "tsc --project src/tsconfig.json",
25
25
  "eslint": "npm run precommit",
26
26
  "precommit": "npm run precommit:eslint -- src && npm run precommit:typecheck",
27
- "precommit:eslint": "eslint",
27
+ "precommit:eslint": "../../node_modules/.bin/eslint --report-unused-disable-directives --max-warnings 0",
28
28
  "precommit:typecheck": "tsc --project ./src --emitDeclarationOnly false --esModuleInterop true --noEmit --pretty false",
29
- "prettier": "prettier --check src/**/*.{js,ts,tsx}",
30
29
  "prestart": "npm run build:babel",
31
30
  "start": "concurrently --kill-others --names \"babel,globalize,tsc\" \"npm run start:babel\" \"npm run start:globalize\" \"npm run start:typescript\"",
32
31
  "start:babel": "npm run build:babel -- --skip-initial-build --watch",
33
- "start:globalize": "node-dev --respawn scripts/createPrecompiledGlobalize.js",
32
+ "start:globalize": "node-dev --respawn scripts/createPrecompiledGlobalize.mjs",
34
33
  "start:typescript": "npm run build:typescript -- --watch"
35
34
  },
36
- "cldr-data-coverage": "full",
37
35
  "devDependencies": {
38
- "@babel/cli": "^7.13.14",
39
- "@babel/core": "^7.13.14",
40
- "@babel/preset-env": "^7.13.12",
41
- "@babel/preset-react": "^7.13.13",
42
- "@babel/preset-typescript": "^7.13.0",
43
- "@types/node": "^14.14.37",
44
- "@types/react": "^17.0.3",
45
- "@typescript-eslint/eslint-plugin": "^4.21.0",
46
- "@typescript-eslint/parser": "^4.21.0",
36
+ "@babel/cli": "^7.15.7",
37
+ "@babel/core": "^7.15.8",
38
+ "@babel/preset-env": "^7.15.8",
39
+ "@babel/preset-react": "^7.14.5",
40
+ "@babel/preset-typescript": "^7.15.0",
41
+ "@types/node": "^16.10.9",
42
+ "@types/react": "^17.0.29",
47
43
  "babel-plugin-istanbul": "^6.0.0",
48
44
  "babel-plugin-transform-inline-environment-variables": "^0.4.3",
49
- "cldr-data": "^36.0.0",
50
- "concurrently": "^6.0.1",
51
- "core-js": "^3.10.0",
52
- "eslint": "^7.23.0",
53
- "eslint-plugin-prettier": "^3.3.1",
54
- "eslint-plugin-react": "^7.23.1",
55
- "eslint-plugin-react-hooks": "^4.2.0",
45
+ "cldr-data": "4.15.1",
46
+ "concurrently": "^6.3.0",
47
+ "core-js": "^3.18.3",
56
48
  "globalize-compiler": "^1.1.1",
57
49
  "iana-tz-data": "^2019.1.0",
58
- "node-dev": "^6.6.0",
59
- "prettier": "^2.2.1",
60
- "typescript": "^4.2.3"
50
+ "node-dev": "^7.0.0",
51
+ "typescript": "^4.3.5"
61
52
  },
62
53
  "dependencies": {
63
- "botframework-webchat-core": "4.14.0",
64
- "event-target-shim": "5.0.1",
65
- "event-target-shim-es5": "1.2.0",
54
+ "botframework-webchat-core": "4.15.1",
66
55
  "globalize": "1.6.0",
67
56
  "math-random": "2.0.1",
68
57
  "prop-types": "15.7.2",
69
- "react-redux": "7.2.3",
58
+ "react-redux": "7.2.4",
70
59
  "redux": "4.0.5",
71
60
  "simple-update-in": "2.2.0"
72
61
  },
73
62
  "peerDependencies": {
74
- "react": "16.8.6",
75
- "react-dom": "16.8.6"
63
+ "react": ">= 16.8.6",
64
+ "react-dom": ">= 16.8.6"
76
65
  }
77
66
  }
@@ -0,0 +1,44 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
2
+ import { fileURLToPath } from 'url';
3
+ import { relative } from 'path';
4
+ import cldrData from 'cldr-data';
5
+ import Globalize from 'globalize';
6
+ import globalizeCompiler from 'globalize-compiler';
7
+ import Prettier from 'prettier';
8
+
9
+ const overridesJSON = JSON.parse(readFileSync(new URL('../src/localization/overrides.json', import.meta.url), 'utf-8'));
10
+
11
+ const languages = Object.values(overridesJSON).map(({ GLOBALIZE_LANGUAGE }) => GLOBALIZE_LANGUAGE);
12
+
13
+ Globalize.load(cldrData.entireSupplemental());
14
+
15
+ const formattersAndParsers = languages.reduce((formattersAndParsers, language) => {
16
+ Globalize.load(cldrData.entireMainFor(language));
17
+
18
+ const globalize = new Globalize(language);
19
+
20
+ return [
21
+ ...formattersAndParsers,
22
+ ...[
23
+ globalize.dateFormatter({ skeleton: 'MMMMdhm' }),
24
+ globalize.pluralGenerator(),
25
+ globalize.relativeTimeFormatter('hour'),
26
+ globalize.relativeTimeFormatter('minute'),
27
+ globalize.unitFormatter('byte', { form: 'long' }),
28
+ globalize.unitFormatter('kilobyte', { form: 'short' }),
29
+ globalize.unitFormatter('megabyte', { form: 'short' }),
30
+ globalize.unitFormatter('gigabyte', { form: 'short' })
31
+ ]
32
+ ];
33
+ }, []);
34
+
35
+ const code = Prettier.format(globalizeCompiler.compile(formattersAndParsers), { parser: 'babel' });
36
+ const outputFileURL = new URL('../lib/external/PrecompiledGlobalize.js', import.meta.url);
37
+
38
+ // globalize-compiler is emitting AMD code, pointing to "globalize-runtime" instead of "globalize/dist/globalize-runtime"
39
+ const patchedCode = code.replace(/\"globalize-runtime\//g, '"globalize/dist/globalize-runtime/');
40
+
41
+ existsSync(new URL('.', outputFileURL)) || mkdirSync(new URL('.', outputFileURL), { recursive: true });
42
+ writeFileSync(outputFileURL, patchedCode);
43
+
44
+ console.log(`Successfully compiled globalize to ${relative(process.cwd(), fileURLToPath(outputFileURL))}.`);
@@ -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
@@ -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,