botframework-webchat-api 4.18.0 → 4.18.1-hotfix.20260127.b53acdf
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.
- package/decorator.js +1 -1
- package/dist/botframework-webchat-api.d.mts +196 -48
- package/dist/botframework-webchat-api.d.ts +1612 -0
- package/dist/botframework-webchat-api.decorator.d.mts +24 -30
- package/dist/botframework-webchat-api.decorator.d.ts +30 -0
- package/dist/botframework-webchat-api.decorator.js +3 -0
- package/dist/botframework-webchat-api.decorator.js.map +1 -0
- package/dist/botframework-webchat-api.decorator.mjs +1 -1
- package/dist/botframework-webchat-api.decorator.mjs.map +1 -1
- package/dist/botframework-webchat-api.internal.d.mts +18 -1
- package/dist/botframework-webchat-api.internal.d.ts +20 -0
- package/dist/botframework-webchat-api.internal.js +3 -0
- package/dist/botframework-webchat-api.internal.js.map +1 -0
- package/dist/botframework-webchat-api.internal.mjs +1 -1
- package/dist/botframework-webchat-api.internal.mjs.map +1 -1
- package/dist/botframework-webchat-api.js +3 -0
- package/dist/botframework-webchat-api.js.map +1 -0
- package/dist/botframework-webchat-api.mjs +1 -139
- package/dist/botframework-webchat-api.mjs.map +1 -1
- package/dist/chunk-2HABAU7C.mjs +3 -0
- package/dist/chunk-2HABAU7C.mjs.LEGAL.txt +0 -0
- package/dist/chunk-2HABAU7C.mjs.map +1 -0
- package/dist/chunk-45Z2ZE4M.js +3 -0
- package/dist/chunk-45Z2ZE4M.js.LEGAL.txt +0 -0
- package/dist/chunk-45Z2ZE4M.js.map +1 -0
- package/dist/chunk-7K3OK5TS.mjs +3 -0
- package/dist/chunk-7K3OK5TS.mjs.LEGAL.txt +0 -0
- package/dist/chunk-7K3OK5TS.mjs.map +1 -0
- package/dist/chunk-LXPINC7N.js +3 -0
- package/dist/chunk-LXPINC7N.js.LEGAL.txt +0 -0
- package/dist/chunk-LXPINC7N.js.map +1 -0
- package/dist/chunk-PRWGXTDA.mjs +3 -0
- package/dist/chunk-PRWGXTDA.mjs.LEGAL.txt +0 -0
- package/dist/chunk-PRWGXTDA.mjs.map +1 -0
- package/dist/chunk-WH7VSYKK.js +3 -0
- package/dist/chunk-WH7VSYKK.js.LEGAL.txt +0 -0
- package/dist/chunk-WH7VSYKK.js.map +1 -0
- package/dist/metafile-cjs.json +1 -0
- package/dist/metafile-esm.json +1 -1
- package/dist/types-BXPldIKA.d.mts +86 -0
- package/dist/types-BXPldIKA.d.ts +86 -0
- package/internal.js +1 -1
- package/package.json +59 -71
- package/src/StyleOptions.ts +123 -4
- package/src/decorator/ActivityBorder/ActivityBorderDecorator.tsx +48 -0
- package/src/decorator/ActivityBorder/private/ActivityBorderDecoratorMiddleware.ts +51 -0
- package/src/decorator/ActivityBorder/types.ts +1 -0
- package/src/decorator/ActivityGrouping/ActivityGroupingDecorator.tsx +31 -0
- package/src/decorator/ActivityGrouping/private/ActivityGroupingDecoratorMiddleware.ts +38 -0
- package/src/decorator/ActivityGrouping/types.ts +1 -0
- package/src/decorator/DecoratorComposer.tsx +22 -0
- package/src/decorator/internal/InternalDecoratorComposer.tsx +61 -0
- package/src/decorator/internal/LowPriorityDecoratorComposer.tsx +19 -0
- package/src/decorator/private/DecoratorComposerContext.ts +16 -0
- package/src/decorator/private/PassthroughFallback.tsx +12 -0
- package/src/decorator/private/templateMiddleware.test.tsx +5 -1
- package/src/decorator/private/templateMiddleware.ts +11 -9
- package/src/decorator/types.ts +15 -0
- package/src/decorator.ts +16 -0
- package/src/defaultStyleOptions.ts +26 -5
- package/src/hooks/Composer.tsx +59 -45
- package/src/hooks/index.ts +5 -1
- package/src/hooks/internal/SendBoxMiddleware.ts +3 -1
- package/src/hooks/internal/SendBoxToolbarMiddleware.ts +3 -1
- package/src/hooks/internal/Tracker.ts +1 -1
- package/src/hooks/internal/WebChatAPIContext.ts +12 -5
- package/src/hooks/middleware/concatMiddleware.spec.js +20 -0
- package/src/hooks/middleware/concatMiddleware.ts +6 -5
- package/src/hooks/private/reduceIterable.spec.ts +0 -2
- package/src/hooks/useActiveTyping.ts +3 -2
- package/src/hooks/useDisabled.ts +8 -2
- package/src/hooks/useSuggestedActions.ts +17 -4
- package/src/hooks/useUIState.ts +18 -0
- package/src/hooks/validation/uiState.parseUIState.spec.ts +21 -0
- package/src/hooks/validation/uiState.ts +10 -0
- package/src/internal.ts +3 -1
- package/src/localization/ar-SA.json +20 -16
- package/src/localization/bg-BG.json +20 -16
- package/src/localization/ca-ES.json +20 -16
- package/src/localization/cs-CZ.json +20 -16
- package/src/localization/da-DK.json +20 -16
- package/src/localization/de-DE.json +20 -16
- package/src/localization/el-GR.json +20 -16
- package/src/localization/en-US.json +21 -19
- package/src/localization/es-ES.json +20 -16
- package/src/localization/et-EE.json +20 -16
- package/src/localization/eu-ES.json +20 -16
- package/src/localization/fi-FI.json +20 -16
- package/src/localization/fr-FR.json +20 -16
- package/src/localization/gl-ES.json +20 -16
- package/src/localization/he-IL.json +20 -16
- package/src/localization/hi-IN.json +20 -16
- package/src/localization/hr-HR.json +20 -16
- package/src/localization/hu-HU.json +20 -16
- package/src/localization/id-ID.json +20 -16
- package/src/localization/it-IT.json +20 -16
- package/src/localization/ja-JP.json +20 -16
- package/src/localization/kk-KZ.json +20 -16
- package/src/localization/ko-KR.json +20 -16
- package/src/localization/lt-LT.json +20 -16
- package/src/localization/lv-LV.json +20 -16
- package/src/localization/ms-MY.json +20 -16
- package/src/localization/nb-NO.json +20 -16
- package/src/localization/nl-NL.json +20 -16
- package/src/localization/pl-PL.json +20 -16
- package/src/localization/pt-BR.json +20 -16
- package/src/localization/pt-PT.json +20 -16
- package/src/localization/ro-RO.json +20 -16
- package/src/localization/ru-RU.json +20 -16
- package/src/localization/sk-SK.json +20 -16
- package/src/localization/sl-SI.json +20 -16
- package/src/localization/sr-Cyrl-CS.json +20 -16
- package/src/localization/sr-Latn-CS.json +20 -16
- package/src/localization/sv-SE.json +20 -16
- package/src/localization/th-TH.json +20 -16
- package/src/localization/tr-TR.json +20 -16
- package/src/localization/uk-UA.json +20 -16
- package/src/localization/vi-VN.json +20 -16
- package/src/localization/yue.json +1 -16
- package/src/localization/zh-CN.json +22 -18
- package/src/localization/zh-HK.json +20 -16
- package/src/localization/zh-TW.json +20 -16
- package/src/normalizeStyleOptions.ts +45 -0
- package/src/providers/ActivityKeyer/ActivityKeyerComposer.tsx +9 -26
- package/src/providers/ActivityKeyer/private/someIterable.spec.ts +0 -2
- package/src/providers/ActivitySendStatus/ActivitySendStatusComposer.tsx +2 -2
- package/src/providers/ActivityTyping/ActivityTypingComposer.tsx +144 -59
- package/src/providers/ActivityTyping/private/useReduceActivities.spec.tsx +231 -0
- package/src/providers/ActivityTyping/private/useReduceActivities.ts +48 -0
- package/src/providers/GroupActivities/GroupActivitiesComposer.tsx +115 -0
- package/src/providers/GroupActivities/private/GroupActivitiesContext.ts +23 -0
- package/src/providers/GroupActivities/private/createDefaultGroupActivitiesMiddleware.ts +93 -0
- package/src/providers/GroupActivities/private/isGroupingValid.ts +41 -0
- package/src/providers/GroupActivities/private/useGroupActivitiesContext.ts +6 -0
- package/src/providers/GroupActivities/useGroupActivities.ts +20 -0
- package/src/providers/GroupActivities/useGroupActivitiesByName.ts +17 -0
- package/src/tsconfig.json +1 -5
- package/src/types/AttachmentForScreenReaderMiddleware.ts +9 -2
- package/src/types/AvatarMiddleware.ts +5 -1
- package/src/types/CardActionMiddleware.ts +2 -0
- package/src/types/ComponentMiddleware.ts +1 -1
- package/src/types/GroupActivitiesMiddleware.ts +7 -11
- package/src/utils/validateProps.spec.ts +74 -0
- package/src/utils/validateProps.ts +56 -0
- package/dist/chunk-2S76JUVM.mjs +0 -3
- package/dist/chunk-2S76JUVM.mjs.map +0 -1
- package/dist/chunk-J6D5YEY6.mjs +0 -3
- package/dist/chunk-J6D5YEY6.mjs.map +0 -1
- package/dist/chunk-ZAMHKQQC.mjs +0 -3
- package/dist/chunk-ZAMHKQQC.mjs.map +0 -1
- package/lib/StyleOptions.d.ts +0 -697
- package/lib/StyleOptions.d.ts.map +0 -1
- package/lib/StyleOptions.js +0 -2
- package/lib/decorator/index.d.ts +0 -5
- package/lib/decorator/index.d.ts.map +0 -1
- package/lib/decorator/index.js +0 -28
- package/lib/decorator/private/ActivityBorderDecoratorMiddleware.d.ts +0 -27
- package/lib/decorator/private/ActivityBorderDecoratorMiddleware.d.ts.map +0 -1
- package/lib/decorator/private/ActivityBorderDecoratorMiddleware.js +0 -19
- package/lib/decorator/private/ActivityDecorator.d.ts +0 -9
- package/lib/decorator/private/ActivityDecorator.d.ts.map +0 -1
- package/lib/decorator/private/ActivityDecorator.js +0 -36
- package/lib/decorator/private/DecoratorComposer.d.ts +0 -3
- package/lib/decorator/private/DecoratorComposer.d.ts.map +0 -1
- package/lib/decorator/private/DecoratorComposer.js +0 -13
- package/lib/decorator/private/activityDecoratorRequest.d.ts +0 -6
- package/lib/decorator/private/activityDecoratorRequest.d.ts.map +0 -1
- package/lib/decorator/private/activityDecoratorRequest.js +0 -2
- package/lib/decorator/private/createDecoratorComposer.d.ts +0 -11
- package/lib/decorator/private/createDecoratorComposer.d.ts.map +0 -1
- package/lib/decorator/private/createDecoratorComposer.js +0 -27
- package/lib/decorator/private/templateMiddleware.d.ts +0 -30
- package/lib/decorator/private/templateMiddleware.d.ts.map +0 -1
- package/lib/decorator/private/templateMiddleware.js +0 -53
- package/lib/decorator/private/templateMiddleware.test.d.ts +0 -3
- package/lib/decorator/private/templateMiddleware.test.d.ts.map +0 -1
- package/lib/defaultStyleOptions.d.ts +0 -4
- package/lib/defaultStyleOptions.d.ts.map +0 -1
- package/lib/defaultStyleOptions.js +0 -277
- package/lib/external/PrecompiledGlobalize.js +0 -6361
- package/lib/hooks/Composer.d.ts +0 -88
- package/lib/hooks/Composer.d.ts.map +0 -1
- package/lib/hooks/Composer.js +0 -605
- package/lib/hooks/index.d.ts +0 -73
- package/lib/hooks/index.d.ts.map +0 -1
- package/lib/hooks/index.js +0 -504
- package/lib/hooks/internal/ErrorBox.js +0 -47
- package/lib/hooks/internal/SendBoxMiddleware.d.ts +0 -37
- package/lib/hooks/internal/SendBoxMiddleware.d.ts.map +0 -1
- package/lib/hooks/internal/SendBoxMiddleware.js +0 -17
- package/lib/hooks/internal/SendBoxToolbarMiddleware.d.ts +0 -37
- package/lib/hooks/internal/SendBoxToolbarMiddleware.d.ts.map +0 -1
- package/lib/hooks/internal/SendBoxToolbarMiddleware.js +0 -17
- package/lib/hooks/internal/Tracker.d.ts +0 -4
- package/lib/hooks/internal/Tracker.d.ts.map +0 -1
- package/lib/hooks/internal/Tracker.js +0 -15
- package/lib/hooks/internal/WebChatAPIContext.d.ts +0 -80
- package/lib/hooks/internal/WebChatAPIContext.d.ts.map +0 -1
- package/lib/hooks/internal/WebChatAPIContext.js +0 -12
- package/lib/hooks/internal/WebChatReduxContext.js +0 -17
- package/lib/hooks/internal/defaultSelectVoice.js +0 -28
- package/lib/hooks/internal/private/templateMiddleware.d.ts +0 -3
- package/lib/hooks/internal/private/templateMiddleware.d.ts.map +0 -1
- package/lib/hooks/internal/private/templateMiddleware.js +0 -12
- package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts +0 -4
- package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts.map +0 -1
- package/lib/hooks/internal/useCreateActivityRendererInternal.js +0 -37
- package/lib/hooks/internal/useDebugDeps.js +0 -39
- package/lib/hooks/internal/useDirFromProps.js +0 -12
- package/lib/hooks/internal/useErrorBoxClass.js +0 -14
- package/lib/hooks/internal/useForceRender.js +0 -24
- package/lib/hooks/internal/useLocalizedGlobalize.js +0 -12
- package/lib/hooks/internal/useLocalizedStrings.js +0 -14
- package/lib/hooks/internal/useMarkActivity.js +0 -12
- package/lib/hooks/internal/usePrevious.d.ts +0 -3
- package/lib/hooks/internal/usePrevious.d.ts.map +0 -1
- package/lib/hooks/internal/usePrevious.js +0 -15
- package/lib/hooks/internal/useReadTelemetryDimensions.js +0 -20
- package/lib/hooks/internal/useSetDictateState.d.ts +0 -2
- package/lib/hooks/internal/useSetDictateState.d.ts.map +0 -1
- package/lib/hooks/internal/useSetDictateState.js +0 -12
- package/lib/hooks/internal/useTimer.d.ts +0 -5
- package/lib/hooks/internal/useTimer.d.ts.map +0 -1
- package/lib/hooks/internal/useTimer.js +0 -43
- package/lib/hooks/internal/useTracker.js +0 -42
- package/lib/hooks/internal/useValueRef.d.ts +0 -3
- package/lib/hooks/internal/useValueRef.d.ts.map +0 -1
- package/lib/hooks/internal/useValueRef.js +0 -22
- package/lib/hooks/internal/useWebChatAPIContext.d.ts +0 -83
- package/lib/hooks/internal/useWebChatAPIContext.d.ts.map +0 -1
- package/lib/hooks/internal/useWebChatAPIContext.js +0 -17
- package/lib/hooks/middleware/UserlandBoundary.js +0 -48
- package/lib/hooks/middleware/applyMiddleware.js +0 -122
- package/lib/hooks/middleware/concatMiddleware.d.ts +0 -6
- package/lib/hooks/middleware/concatMiddleware.d.ts.map +0 -1
- package/lib/hooks/middleware/concatMiddleware.js +0 -33
- package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts +0 -3
- package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts.map +0 -1
- package/lib/hooks/middleware/createDefaultCardActionMiddleware.js +0 -43
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts +0 -7
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +0 -1
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +0 -68
- package/lib/hooks/private/numberWithInfinity.d.ts +0 -3
- package/lib/hooks/private/numberWithInfinity.d.ts.map +0 -1
- package/lib/hooks/private/numberWithInfinity.js +0 -17
- package/lib/hooks/private/numberWithInfinity.spec.d.ts +0 -2
- package/lib/hooks/private/numberWithInfinity.spec.d.ts.map +0 -1
- package/lib/hooks/private/reduceIterable.d.ts +0 -2
- package/lib/hooks/private/reduceIterable.d.ts.map +0 -1
- package/lib/hooks/private/reduceIterable.js +0 -26
- package/lib/hooks/private/reduceIterable.spec.d.ts +0 -2
- package/lib/hooks/private/reduceIterable.spec.d.ts.map +0 -1
- package/lib/hooks/useActiveTyping.d.ts +0 -4
- package/lib/hooks/useActiveTyping.d.ts.map +0 -1
- package/lib/hooks/useActiveTyping.js +0 -81
- package/lib/hooks/useActivities.d.ts +0 -3
- package/lib/hooks/useActivities.d.ts.map +0 -1
- package/lib/hooks/useActivities.js +0 -14
- package/lib/hooks/useActivityKeys.d.ts +0 -3
- package/lib/hooks/useActivityKeys.d.ts.map +0 -1
- package/lib/hooks/useActivityKeys.js +0 -11
- package/lib/hooks/useActivityKeysByRead.d.ts +0 -3
- package/lib/hooks/useActivityKeysByRead.d.ts.map +0 -1
- package/lib/hooks/useActivityKeysByRead.js +0 -11
- package/lib/hooks/useAvatarForBot.d.ts +0 -5
- package/lib/hooks/useAvatarForBot.d.ts.map +0 -1
- package/lib/hooks/useAvatarForBot.js +0 -26
- package/lib/hooks/useAvatarForUser.d.ts +0 -5
- package/lib/hooks/useAvatarForUser.d.ts.map +0 -1
- package/lib/hooks/useAvatarForUser.js +0 -26
- package/lib/hooks/useByteFormatter.d.ts +0 -2
- package/lib/hooks/useByteFormatter.d.ts.map +0 -1
- package/lib/hooks/useByteFormatter.js +0 -43
- package/lib/hooks/useConnectivityStatus.d.ts +0 -2
- package/lib/hooks/useConnectivityStatus.d.ts.map +0 -1
- package/lib/hooks/useConnectivityStatus.js +0 -14
- package/lib/hooks/useCreateActivityRenderer.d.ts +0 -3
- package/lib/hooks/useCreateActivityRenderer.d.ts.map +0 -1
- package/lib/hooks/useCreateActivityRenderer.js +0 -14
- package/lib/hooks/useCreateActivityStatusRenderer.d.ts +0 -10
- package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +0 -1
- package/lib/hooks/useCreateActivityStatusRenderer.js +0 -72
- package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.d.ts +0 -3
- package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.d.ts.map +0 -1
- package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.js +0 -12
- package/lib/hooks/useCreateAvatarRenderer.d.ts +0 -6
- package/lib/hooks/useCreateAvatarRenderer.d.ts.map +0 -1
- package/lib/hooks/useCreateAvatarRenderer.js +0 -44
- package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts +0 -3
- package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts.map +0 -1
- package/lib/hooks/useCreateScrollToEndButtonRenderer.js +0 -12
- package/lib/hooks/useDateFormatter.d.ts +0 -2
- package/lib/hooks/useDateFormatter.d.ts.map +0 -1
- package/lib/hooks/useDateFormatter.js +0 -35
- package/lib/hooks/useDebouncedNotifications.d.ts +0 -13
- package/lib/hooks/useDebouncedNotifications.d.ts.map +0 -1
- package/lib/hooks/useDebouncedNotifications.js +0 -118
- package/lib/hooks/useDictateInterims.d.ts +0 -2
- package/lib/hooks/useDictateInterims.d.ts.map +0 -1
- package/lib/hooks/useDictateInterims.js +0 -16
- package/lib/hooks/useDictateState.d.ts +0 -2
- package/lib/hooks/useDictateState.d.ts.map +0 -1
- package/lib/hooks/useDictateState.js +0 -15
- package/lib/hooks/useDirection.d.ts +0 -2
- package/lib/hooks/useDirection.d.ts.map +0 -1
- package/lib/hooks/useDirection.js +0 -38
- package/lib/hooks/useDisabled.d.ts +0 -2
- package/lib/hooks/useDisabled.d.ts.map +0 -1
- package/lib/hooks/useDisabled.js +0 -12
- package/lib/hooks/useDismissNotification.d.ts +0 -2
- package/lib/hooks/useDismissNotification.d.ts.map +0 -1
- package/lib/hooks/useDismissNotification.js +0 -12
- package/lib/hooks/useEmitTypingIndicator.d.ts +0 -2
- package/lib/hooks/useEmitTypingIndicator.d.ts.map +0 -1
- package/lib/hooks/useEmitTypingIndicator.js +0 -12
- package/lib/hooks/useGetActivitiesByKey.d.ts +0 -3
- package/lib/hooks/useGetActivitiesByKey.d.ts.map +0 -1
- package/lib/hooks/useGetActivitiesByKey.js +0 -11
- package/lib/hooks/useGetActivityByKey.d.ts +0 -3
- package/lib/hooks/useGetActivityByKey.d.ts.map +0 -1
- package/lib/hooks/useGetActivityByKey.js +0 -11
- package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts +0 -3
- package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts.map +0 -1
- package/lib/hooks/useGetHasAcknowledgedByActivityKey.js +0 -11
- package/lib/hooks/useGetKeyByActivity.d.ts +0 -3
- package/lib/hooks/useGetKeyByActivity.d.ts.map +0 -1
- package/lib/hooks/useGetKeyByActivity.js +0 -11
- package/lib/hooks/useGetKeyByActivityId.d.ts +0 -3
- package/lib/hooks/useGetKeyByActivityId.d.ts.map +0 -1
- package/lib/hooks/useGetKeyByActivityId.js +0 -11
- package/lib/hooks/useGetSendTimeoutForActivity.d.ts +0 -5
- package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +0 -1
- package/lib/hooks/useGetSendTimeoutForActivity.js +0 -33
- package/lib/hooks/useGrammars.d.ts +0 -2
- package/lib/hooks/useGrammars.d.ts.map +0 -1
- package/lib/hooks/useGrammars.js +0 -12
- package/lib/hooks/useGroupActivities.d.ts +0 -8
- package/lib/hooks/useGroupActivities.d.ts.map +0 -1
- package/lib/hooks/useGroupActivities.js +0 -12
- package/lib/hooks/useGroupTimestamp.d.ts +0 -2
- package/lib/hooks/useGroupTimestamp.d.ts.map +0 -1
- package/lib/hooks/useGroupTimestamp.js +0 -21
- package/lib/hooks/useLanguage.d.ts +0 -2
- package/lib/hooks/useLanguage.d.ts.map +0 -1
- package/lib/hooks/useLanguage.js +0 -19
- package/lib/hooks/useLastAcknowledgedActivityKey.d.ts +0 -3
- package/lib/hooks/useLastAcknowledgedActivityKey.d.ts.map +0 -1
- package/lib/hooks/useLastAcknowledgedActivityKey.js +0 -11
- package/lib/hooks/useLastReadActivityKey.d.ts +0 -3
- package/lib/hooks/useLastReadActivityKey.d.ts.map +0 -1
- package/lib/hooks/useLastReadActivityKey.js +0 -11
- package/lib/hooks/useLocalizer.d.ts +0 -13
- package/lib/hooks/useLocalizer.d.ts.map +0 -1
- package/lib/hooks/useLocalizer.js +0 -75
- package/lib/hooks/useMarkActivityAsSpoken.d.ts +0 -3
- package/lib/hooks/useMarkActivityAsSpoken.d.ts.map +0 -1
- package/lib/hooks/useMarkActivityAsSpoken.js +0 -16
- package/lib/hooks/useMarkActivityKeyAsRead.d.ts +0 -3
- package/lib/hooks/useMarkActivityKeyAsRead.d.ts.map +0 -1
- package/lib/hooks/useMarkActivityKeyAsRead.js +0 -11
- package/lib/hooks/useMarkAllAsAcknowledged.d.ts +0 -3
- package/lib/hooks/useMarkAllAsAcknowledged.d.ts.map +0 -1
- package/lib/hooks/useMarkAllAsAcknowledged.js +0 -11
- package/lib/hooks/useNotifications.d.ts +0 -3
- package/lib/hooks/useNotifications.d.ts.map +0 -1
- package/lib/hooks/useNotifications.js +0 -14
- package/lib/hooks/usePerformCardAction.d.ts +0 -3
- package/lib/hooks/usePerformCardAction.d.ts.map +0 -1
- package/lib/hooks/usePerformCardAction.js +0 -12
- package/lib/hooks/usePonyfill.d.ts +0 -3
- package/lib/hooks/usePonyfill.d.ts.map +0 -1
- package/lib/hooks/usePonyfill.js +0 -11
- package/lib/hooks/usePostActivity.d.ts +0 -3
- package/lib/hooks/usePostActivity.d.ts.map +0 -1
- package/lib/hooks/usePostActivity.js +0 -12
- package/lib/hooks/useReferenceGrammarID.d.ts +0 -2
- package/lib/hooks/useReferenceGrammarID.d.ts.map +0 -1
- package/lib/hooks/useReferenceGrammarID.js +0 -14
- package/lib/hooks/useRelativeTimeFormatter.d.ts +0 -2
- package/lib/hooks/useRelativeTimeFormatter.d.ts.map +0 -1
- package/lib/hooks/useRelativeTimeFormatter.js +0 -61
- package/lib/hooks/useRenderAttachment.d.ts +0 -3
- package/lib/hooks/useRenderAttachment.d.ts.map +0 -1
- package/lib/hooks/useRenderAttachment.js +0 -14
- package/lib/hooks/useRenderToast.d.ts +0 -3
- package/lib/hooks/useRenderToast.d.ts.map +0 -1
- package/lib/hooks/useRenderToast.js +0 -12
- package/lib/hooks/useRenderTypingIndicator.d.ts +0 -3
- package/lib/hooks/useRenderTypingIndicator.d.ts.map +0 -1
- package/lib/hooks/useRenderTypingIndicator.js +0 -12
- package/lib/hooks/useSendBoxAttachments.d.ts +0 -6
- package/lib/hooks/useSendBoxAttachments.d.ts.map +0 -1
- package/lib/hooks/useSendBoxAttachments.js +0 -23
- package/lib/hooks/useSendBoxValue.d.ts +0 -2
- package/lib/hooks/useSendBoxValue.d.ts.map +0 -1
- package/lib/hooks/useSendBoxValue.js +0 -16
- package/lib/hooks/useSendEvent.d.ts +0 -2
- package/lib/hooks/useSendEvent.d.ts.map +0 -1
- package/lib/hooks/useSendEvent.js +0 -12
- package/lib/hooks/useSendFiles.d.ts +0 -10
- package/lib/hooks/useSendFiles.d.ts.map +0 -1
- package/lib/hooks/useSendFiles.js +0 -35
- package/lib/hooks/useSendMessage.d.ts +0 -6
- package/lib/hooks/useSendMessage.d.ts.map +0 -1
- package/lib/hooks/useSendMessage.js +0 -33
- package/lib/hooks/useSendMessageBack.d.ts +0 -2
- package/lib/hooks/useSendMessageBack.d.ts.map +0 -1
- package/lib/hooks/useSendMessageBack.js +0 -12
- package/lib/hooks/useSendPostBack.d.ts +0 -2
- package/lib/hooks/useSendPostBack.d.ts.map +0 -1
- package/lib/hooks/useSendPostBack.js +0 -12
- package/lib/hooks/useSendStatusByActivityKey.d.ts +0 -22
- package/lib/hooks/useSendStatusByActivityKey.d.ts.map +0 -1
- package/lib/hooks/useSendStatusByActivityKey.js +0 -31
- package/lib/hooks/useSendTimeoutForActivity.d.ts +0 -4
- package/lib/hooks/useSendTimeoutForActivity.d.ts.map +0 -1
- package/lib/hooks/useSendTimeoutForActivity.js +0 -22
- package/lib/hooks/useSendTypingIndicator.d.ts +0 -2
- package/lib/hooks/useSendTypingIndicator.d.ts.map +0 -1
- package/lib/hooks/useSendTypingIndicator.js +0 -14
- package/lib/hooks/useSetNotification.d.ts +0 -3
- package/lib/hooks/useSetNotification.d.ts.map +0 -1
- package/lib/hooks/useSetNotification.js +0 -12
- package/lib/hooks/useShouldSpeakIncomingActivity.d.ts +0 -2
- package/lib/hooks/useShouldSpeakIncomingActivity.d.ts.map +0 -1
- package/lib/hooks/useShouldSpeakIncomingActivity.js +0 -22
- package/lib/hooks/useStartDictate.d.ts +0 -2
- package/lib/hooks/useStartDictate.d.ts.map +0 -1
- package/lib/hooks/useStartDictate.js +0 -12
- package/lib/hooks/useStopDictate.d.ts +0 -2
- package/lib/hooks/useStopDictate.d.ts.map +0 -1
- package/lib/hooks/useStopDictate.js +0 -12
- package/lib/hooks/useStyleOptions.d.ts +0 -3
- package/lib/hooks/useStyleOptions.d.ts.map +0 -1
- package/lib/hooks/useStyleOptions.js +0 -12
- package/lib/hooks/useSubmitSendBox.d.ts +0 -4
- package/lib/hooks/useSubmitSendBox.d.ts.map +0 -1
- package/lib/hooks/useSubmitSendBox.js +0 -49
- package/lib/hooks/useSuggestedActions.d.ts +0 -3
- package/lib/hooks/useSuggestedActions.d.ts.map +0 -1
- package/lib/hooks/useSuggestedActions.js +0 -25
- package/lib/hooks/useTimeoutForSend.d.ts +0 -3
- package/lib/hooks/useTimeoutForSend.d.ts.map +0 -1
- package/lib/hooks/useTimeoutForSend.js +0 -21
- package/lib/hooks/useTrackDimension.d.ts +0 -2
- package/lib/hooks/useTrackDimension.d.ts.map +0 -1
- package/lib/hooks/useTrackDimension.js +0 -14
- package/lib/hooks/useTrackEvent.d.ts +0 -10
- package/lib/hooks/useTrackEvent.d.ts.map +0 -1
- package/lib/hooks/useTrackEvent.js +0 -51
- package/lib/hooks/useTrackException.d.ts +0 -2
- package/lib/hooks/useTrackException.d.ts.map +0 -1
- package/lib/hooks/useTrackException.js +0 -31
- package/lib/hooks/useTrackTiming.d.ts +0 -2
- package/lib/hooks/useTrackTiming.d.ts.map +0 -1
- package/lib/hooks/useTrackTiming.js +0 -93
- package/lib/hooks/useUserID.d.ts +0 -2
- package/lib/hooks/useUserID.d.ts.map +0 -1
- package/lib/hooks/useUserID.js +0 -12
- package/lib/hooks/useUsername.d.ts +0 -2
- package/lib/hooks/useUsername.d.ts.map +0 -1
- package/lib/hooks/useUsername.js +0 -12
- package/lib/hooks/useVoiceSelector.d.ts +0 -2
- package/lib/hooks/useVoiceSelector.d.ts.map +0 -1
- package/lib/hooks/useVoiceSelector.js +0 -16
- package/lib/hooks/utils/ErrorBoundary.js +0 -68
- package/lib/hooks/utils/observableToPromise.d.ts +0 -3
- package/lib/hooks/utils/observableToPromise.d.ts.map +0 -1
- package/lib/hooks/utils/observableToPromise.js +0 -28
- package/lib/index.d.ts +0 -37
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -88
- package/lib/internal.d.ts +0 -3
- package/lib/internal.d.ts.map +0 -1
- package/lib/internal.js +0 -14
- package/lib/localization/Localize.d.ts +0 -4
- package/lib/localization/Localize.d.ts.map +0 -1
- package/lib/localization/Localize.js +0 -50
- package/lib/localization/ar-EG.json +0 -42
- package/lib/localization/ar-JO.json +0 -45
- package/lib/localization/ar-SA.json +0 -112
- package/lib/localization/bg-BG.json +0 -112
- package/lib/localization/ca-ES.json +0 -112
- package/lib/localization/cs-CZ.json +0 -112
- package/lib/localization/da-DK.json +0 -112
- package/lib/localization/de-DE.json +0 -112
- package/lib/localization/el-GR.json +0 -112
- package/lib/localization/en-US.json +0 -183
- package/lib/localization/es-ES.json +0 -112
- package/lib/localization/et-EE.json +0 -112
- package/lib/localization/eu-ES.json +0 -112
- package/lib/localization/fi-FI.json +0 -112
- package/lib/localization/fr-FR.json +0 -112
- package/lib/localization/getAllLocalizedStrings.d.ts +0 -6
- package/lib/localization/getAllLocalizedStrings.d.ts.map +0 -1
- package/lib/localization/getAllLocalizedStrings.js +0 -117
- package/lib/localization/getRTLList.d.ts +0 -2
- package/lib/localization/getRTLList.d.ts.map +0 -1
- package/lib/localization/getRTLList.js +0 -46
- package/lib/localization/gl-ES.json +0 -112
- package/lib/localization/he-IL.json +0 -112
- package/lib/localization/hi-IN.json +0 -112
- package/lib/localization/hr-HR.json +0 -112
- package/lib/localization/hu-HU.json +0 -112
- package/lib/localization/id-ID.json +0 -112
- package/lib/localization/it-IT.json +0 -112
- package/lib/localization/ja-JP.json +0 -112
- package/lib/localization/kk-KZ.json +0 -112
- package/lib/localization/ko-KR.json +0 -112
- package/lib/localization/lt-LT.json +0 -112
- package/lib/localization/lv-LV.json +0 -112
- package/lib/localization/mergeLocalizedStrings.d.ts +0 -7
- package/lib/localization/mergeLocalizedStrings.d.ts.map +0 -1
- package/lib/localization/mergeLocalizedStrings.js +0 -49
- package/lib/localization/ms-MY.json +0 -112
- package/lib/localization/nb-NO.json +0 -112
- package/lib/localization/nl-NL.json +0 -112
- package/lib/localization/overrides.json +0 -257
- package/lib/localization/pl-PL.json +0 -112
- package/lib/localization/pt-BR.json +0 -112
- package/lib/localization/pt-PT.json +0 -112
- package/lib/localization/ro-RO.json +0 -112
- package/lib/localization/ru-RU.json +0 -112
- package/lib/localization/sk-SK.json +0 -112
- package/lib/localization/sl-SI.json +0 -112
- package/lib/localization/sl-SL.json +0 -3
- package/lib/localization/sr-Cyrl-CS.json +0 -112
- package/lib/localization/sr-Cyrl.json +0 -3
- package/lib/localization/sr-Latn-CS.json +0 -112
- package/lib/localization/sr-Latn.json +0 -3
- package/lib/localization/sv-SE.json +0 -112
- package/lib/localization/th-TH.json +0 -112
- package/lib/localization/tr-TR.json +0 -112
- package/lib/localization/uk-UA.json +0 -112
- package/lib/localization/vi-VN.json +0 -112
- package/lib/localization/yue.json +0 -115
- package/lib/localization/zh-CN.json +0 -112
- package/lib/localization/zh-HK.json +0 -112
- package/lib/localization/zh-TW.json +0 -112
- package/lib/normalizeStyleOptions.d.ts +0 -3
- package/lib/normalizeStyleOptions.d.ts.map +0 -1
- package/lib/normalizeStyleOptions.js +0 -147
- package/lib/patchStyleOptionsFromDeprecatedProps.js +0 -21
- package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts +0 -6
- package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.js +0 -153
- package/lib/providers/ActivityAcknowledgement/private/Context.d.ts +0 -13
- package/lib/providers/ActivityAcknowledgement/private/Context.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/private/Context.js +0 -14
- package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts +0 -3
- package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/private/useContext.js +0 -18
- package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts +0 -5
- package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.js +0 -15
- package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts +0 -2
- package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.js +0 -12
- package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts +0 -2
- package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.js +0 -12
- package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts +0 -2
- package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.js +0 -12
- package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts +0 -2
- package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.js +0 -12
- package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts +0 -2
- package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts.map +0 -1
- package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.js +0 -12
- package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts +0 -20
- package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/ActivityKeyerComposer.js +0 -149
- package/lib/providers/ActivityKeyer/private/Context.d.ts +0 -13
- package/lib/providers/ActivityKeyer/private/Context.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/Context.js +0 -10
- package/lib/providers/ActivityKeyer/private/getActivityId.d.ts +0 -3
- package/lib/providers/ActivityKeyer/private/getActivityId.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/getActivityId.js +0 -10
- package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts +0 -3
- package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/getClientActivityId.js +0 -11
- package/lib/providers/ActivityKeyer/private/lastOf.d.ts +0 -2
- package/lib/providers/ActivityKeyer/private/lastOf.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/lastOf.js +0 -10
- package/lib/providers/ActivityKeyer/private/lastOf.spec.d.ts +0 -2
- package/lib/providers/ActivityKeyer/private/lastOf.spec.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/someIterable.d.ts +0 -2
- package/lib/providers/ActivityKeyer/private/someIterable.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/someIterable.js +0 -27
- package/lib/providers/ActivityKeyer/private/someIterable.spec.d.ts +0 -2
- package/lib/providers/ActivityKeyer/private/someIterable.spec.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/uniqueId.d.ts +0 -2
- package/lib/providers/ActivityKeyer/private/uniqueId.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/uniqueId.js +0 -15
- package/lib/providers/ActivityKeyer/private/useContext.d.ts +0 -3
- package/lib/providers/ActivityKeyer/private/useContext.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/private/useContext.js +0 -18
- package/lib/providers/ActivityKeyer/useActivityKeys.d.ts +0 -2
- package/lib/providers/ActivityKeyer/useActivityKeys.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/useActivityKeys.js +0 -12
- package/lib/providers/ActivityKeyer/useGetActivitiesByKey.d.ts +0 -3
- package/lib/providers/ActivityKeyer/useGetActivitiesByKey.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/useGetActivitiesByKey.js +0 -12
- package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts +0 -3
- package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/useGetActivityByKey.js +0 -12
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts +0 -3
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.js +0 -12
- package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts +0 -2
- package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts.map +0 -1
- package/lib/providers/ActivityKeyer/useGetKeyByActivityId.js +0 -12
- package/lib/providers/ActivityListener/ActivityListenerComposer.d.ts +0 -7
- package/lib/providers/ActivityListener/ActivityListenerComposer.d.ts.map +0 -1
- package/lib/providers/ActivityListener/ActivityListenerComposer.js +0 -55
- package/lib/providers/ActivityListener/private/Context.d.ts +0 -8
- package/lib/providers/ActivityListener/private/Context.d.ts.map +0 -1
- package/lib/providers/ActivityListener/private/Context.js +0 -15
- package/lib/providers/ActivityListener/private/useContext.d.ts +0 -2
- package/lib/providers/ActivityListener/private/useContext.d.ts.map +0 -1
- package/lib/providers/ActivityListener/private/useContext.js +0 -13
- package/lib/providers/ActivityListener/useUpsertedActivities.d.ts +0 -3
- package/lib/providers/ActivityListener/useUpsertedActivities.d.ts.map +0 -1
- package/lib/providers/ActivityListener/useUpsertedActivities.js +0 -12
- package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.d.ts +0 -4
- package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.d.ts.map +0 -1
- package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.js +0 -149
- package/lib/providers/ActivitySendStatus/private/Context.d.ts +0 -9
- package/lib/providers/ActivitySendStatus/private/Context.d.ts.map +0 -1
- package/lib/providers/ActivitySendStatus/private/Context.js +0 -13
- package/lib/providers/ActivitySendStatus/private/isMapEqual.d.ts +0 -7
- package/lib/providers/ActivitySendStatus/private/isMapEqual.d.ts.map +0 -1
- package/lib/providers/ActivitySendStatus/private/isMapEqual.js +0 -55
- package/lib/providers/ActivitySendStatus/private/useContext.d.ts +0 -3
- package/lib/providers/ActivitySendStatus/private/useContext.d.ts.map +0 -1
- package/lib/providers/ActivitySendStatus/private/useContext.js +0 -18
- package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.d.ts +0 -22
- package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.d.ts.map +0 -1
- package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.js +0 -31
- package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.d.ts +0 -3
- package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.d.ts.map +0 -1
- package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.js +0 -71
- package/lib/providers/ActivityTyping/ActivityTypingComposer.d.ts +0 -9
- package/lib/providers/ActivityTyping/ActivityTypingComposer.d.ts.map +0 -1
- package/lib/providers/ActivityTyping/ActivityTypingComposer.js +0 -98
- package/lib/providers/ActivityTyping/private/Context.d.ts +0 -8
- package/lib/providers/ActivityTyping/private/Context.d.ts.map +0 -1
- package/lib/providers/ActivityTyping/private/Context.js +0 -15
- package/lib/providers/ActivityTyping/private/useContext.d.ts +0 -3
- package/lib/providers/ActivityTyping/private/useContext.d.ts.map +0 -1
- package/lib/providers/ActivityTyping/private/useContext.js +0 -13
- package/lib/providers/ActivityTyping/private/useMemoWithPrevious.d.ts +0 -3
- package/lib/providers/ActivityTyping/private/useMemoWithPrevious.d.ts.map +0 -1
- package/lib/providers/ActivityTyping/private/useMemoWithPrevious.js +0 -22
- package/lib/providers/ActivityTyping/types/AllTyping.d.ts +0 -9
- package/lib/providers/ActivityTyping/types/AllTyping.d.ts.map +0 -1
- package/lib/providers/ActivityTyping/types/AllTyping.js +0 -2
- package/lib/providers/ActivityTyping/useAllTyping.d.ts +0 -3
- package/lib/providers/ActivityTyping/useAllTyping.d.ts.map +0 -1
- package/lib/providers/ActivityTyping/useAllTyping.js +0 -12
- package/lib/providers/Ponyfill/PonyfillComposer.d.ts +0 -17
- package/lib/providers/Ponyfill/PonyfillComposer.d.ts.map +0 -1
- package/lib/providers/Ponyfill/PonyfillComposer.js +0 -87
- package/lib/providers/Ponyfill/private/PonyfillContext.d.ts +0 -8
- package/lib/providers/Ponyfill/private/PonyfillContext.d.ts.map +0 -1
- package/lib/providers/Ponyfill/private/PonyfillContext.js +0 -10
- package/lib/providers/Ponyfill/private/useContext.d.ts +0 -6
- package/lib/providers/Ponyfill/private/useContext.d.ts.map +0 -1
- package/lib/providers/Ponyfill/private/useContext.js +0 -17
- package/lib/providers/Ponyfill/usePonyfill.d.ts +0 -3
- package/lib/providers/Ponyfill/usePonyfill.d.ts.map +0 -1
- package/lib/providers/Ponyfill/usePonyfill.js +0 -12
- package/lib/tsconfig.json +0 -18
- package/lib/types/ActivityMiddleware.d.ts +0 -24
- package/lib/types/ActivityMiddleware.d.ts.map +0 -1
- package/lib/types/ActivityMiddleware.js +0 -2
- package/lib/types/ActivityStatusMiddleware.d.ts +0 -17
- package/lib/types/ActivityStatusMiddleware.d.ts.map +0 -1
- package/lib/types/ActivityStatusMiddleware.js +0 -2
- package/lib/types/AttachmentForScreenReaderMiddleware.d.ts +0 -14
- package/lib/types/AttachmentForScreenReaderMiddleware.d.ts.map +0 -1
- package/lib/types/AttachmentForScreenReaderMiddleware.js +0 -2
- package/lib/types/AttachmentMiddleware.d.ts +0 -12
- package/lib/types/AttachmentMiddleware.d.ts.map +0 -1
- package/lib/types/AttachmentMiddleware.js +0 -2
- package/lib/types/AvatarMiddleware.d.ts +0 -15
- package/lib/types/AvatarMiddleware.d.ts.map +0 -1
- package/lib/types/AvatarMiddleware.js +0 -2
- package/lib/types/CardActionMiddleware.d.ts +0 -19
- package/lib/types/CardActionMiddleware.d.ts.map +0 -1
- package/lib/types/CardActionMiddleware.js +0 -2
- package/lib/types/ComponentMiddleware.d.ts +0 -31
- package/lib/types/ComponentMiddleware.d.ts.map +0 -1
- package/lib/types/ComponentMiddleware.js +0 -2
- package/lib/types/ContextOf.d.ts +0 -4
- package/lib/types/ContextOf.d.ts.map +0 -1
- package/lib/types/ContextOf.js +0 -2
- package/lib/types/FunctionMiddleware.d.ts +0 -6
- package/lib/types/FunctionMiddleware.d.ts.map +0 -1
- package/lib/types/FunctionMiddleware.js +0 -2
- package/lib/types/GroupActivitiesMiddleware.d.ts +0 -22
- package/lib/types/GroupActivitiesMiddleware.d.ts.map +0 -1
- package/lib/types/GroupActivitiesMiddleware.js +0 -2
- package/lib/types/LocalizedStrings.d.ts +0 -5
- package/lib/types/LocalizedStrings.d.ts.map +0 -1
- package/lib/types/LocalizedStrings.js +0 -2
- package/lib/types/Notification.d.ts +0 -10
- package/lib/types/Notification.d.ts.map +0 -1
- package/lib/types/Notification.js +0 -2
- package/lib/types/PrecompiledGlobalize.d.ts +0 -13
- package/lib/types/PrecompiledGlobalize.d.ts.map +0 -1
- package/lib/types/PrecompiledGlobalize.js +0 -2
- package/lib/types/ScrollToEndButtonMiddleware.d.ts +0 -30
- package/lib/types/ScrollToEndButtonMiddleware.d.ts.map +0 -1
- package/lib/types/ScrollToEndButtonMiddleware.js +0 -2
- package/lib/types/SendStatus.d.ts +0 -3
- package/lib/types/SendStatus.d.ts.map +0 -1
- package/lib/types/SendStatus.js +0 -2
- package/lib/types/TelemetryMeasurementEvent.d.ts +0 -31
- package/lib/types/TelemetryMeasurementEvent.d.ts.map +0 -1
- package/lib/types/TelemetryMeasurementEvent.js +0 -2
- package/lib/types/ToastMiddleware.d.ts +0 -11
- package/lib/types/ToastMiddleware.d.ts.map +0 -1
- package/lib/types/ToastMiddleware.js +0 -2
- package/lib/types/Typing.d.ts +0 -8
- package/lib/types/Typing.d.ts.map +0 -1
- package/lib/types/Typing.js +0 -2
- package/lib/types/TypingIndicatorMiddleware.d.ts +0 -17
- package/lib/types/TypingIndicatorMiddleware.d.ts.map +0 -1
- package/lib/types/TypingIndicatorMiddleware.js +0 -2
- package/lib/types/WebSpeechPonyfill.d.ts +0 -19
- package/lib/types/WebSpeechPonyfill.d.ts.map +0 -1
- package/lib/types/WebSpeechPonyfill.js +0 -2
- package/lib/types/WebSpeechPonyfillFactory.d.ts +0 -6
- package/lib/types/WebSpeechPonyfillFactory.d.ts.map +0 -1
- package/lib/types/WebSpeechPonyfillFactory.js +0 -2
- package/lib/utils/createCustomEvent.d.ts +0 -4
- package/lib/utils/createCustomEvent.d.ts.map +0 -1
- package/lib/utils/createCustomEvent.js +0 -34
- package/lib/utils/findLastIndex.d.ts +0 -2
- package/lib/utils/findLastIndex.d.ts.map +0 -1
- package/lib/utils/findLastIndex.js +0 -22
- package/lib/utils/findMin.d.ts +0 -7
- package/lib/utils/findMin.d.ts.map +0 -1
- package/lib/utils/findMin.js +0 -46
- package/lib/utils/freezeArray.d.ts +0 -8
- package/lib/utils/freezeArray.d.ts.map +0 -1
- package/lib/utils/freezeArray.js +0 -19
- package/lib/utils/isObject.js +0 -12
- package/lib/utils/mapMap.d.ts +0 -6
- package/lib/utils/mapMap.d.ts.map +0 -1
- package/lib/utils/mapMap.js +0 -27
- package/lib/utils/normalizeLanguage.d.ts +0 -2
- package/lib/utils/normalizeLanguage.d.ts.map +0 -1
- package/lib/utils/normalizeLanguage.js +0 -115
- package/lib/utils/randomId.d.ts +0 -2
- package/lib/utils/randomId.d.ts.map +0 -1
- package/lib/utils/randomId.js +0 -15
- package/lib/utils/warnOnce.d.ts +0 -2
- package/lib/utils/warnOnce.d.ts.map +0 -1
- package/lib/utils/warnOnce.js +0 -16
- package/src/decorator/index.ts +0 -4
- package/src/decorator/private/ActivityBorderDecoratorMiddleware.ts +0 -31
- package/src/decorator/private/ActivityDecorator.tsx +0 -31
- package/src/decorator/private/DecoratorComposer.tsx +0 -6
- package/src/decorator/private/activityDecoratorRequest.ts +0 -6
- package/src/decorator/private/createDecoratorComposer.tsx +0 -36
- package/src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts +0 -75
- package/src/hooks/useGroupActivities.ts +0 -10
- /package/dist/{chunk-2S76JUVM.mjs.LEGAL.txt → botframework-webchat-api.decorator.js.LEGAL.txt} +0 -0
- /package/dist/{chunk-J6D5YEY6.mjs.LEGAL.txt → botframework-webchat-api.internal.js.LEGAL.txt} +0 -0
- /package/dist/{chunk-ZAMHKQQC.mjs.LEGAL.txt → botframework-webchat-api.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type WebChatActivity } from 'botframework-webchat-core';
|
|
2
|
+
import templateMiddleware from '../../private/templateMiddleware';
|
|
3
|
+
import { type activityGroupingDecoratorTypeName } from '../types';
|
|
4
|
+
|
|
5
|
+
type Request = Readonly<{
|
|
6
|
+
/**
|
|
7
|
+
* Name of the grouping from the result of `groupActivitesMiddleware()`.
|
|
8
|
+
*/
|
|
9
|
+
groupingName: string;
|
|
10
|
+
}>;
|
|
11
|
+
|
|
12
|
+
type Props = Readonly<{
|
|
13
|
+
activities: readonly WebChatActivity[];
|
|
14
|
+
}>;
|
|
15
|
+
|
|
16
|
+
const {
|
|
17
|
+
initMiddleware: initActivityGroupingDecoratorMiddleware,
|
|
18
|
+
Provider: ActivityGroupingDecoratorMiddlewareProvider,
|
|
19
|
+
Proxy: ActivityGroupingDecoratorMiddlewareProxy,
|
|
20
|
+
// False positive, `types` is used for its typing.
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
22
|
+
types
|
|
23
|
+
} = templateMiddleware<typeof activityGroupingDecoratorTypeName, Request, Props>('ActivityGroupingDecoratorMiddleware');
|
|
24
|
+
|
|
25
|
+
type ActivityGroupingDecoratorMiddleware = typeof types.middleware;
|
|
26
|
+
type ActivityGroupingDecoratorMiddlewareInit = typeof types.init;
|
|
27
|
+
type ActivityGroupingDecoratorMiddlewareProps = typeof types.props;
|
|
28
|
+
type ActivityGroupingDecoratorMiddlewareRequest = typeof types.request;
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
ActivityGroupingDecoratorMiddlewareProvider,
|
|
32
|
+
ActivityGroupingDecoratorMiddlewareProxy,
|
|
33
|
+
initActivityGroupingDecoratorMiddleware,
|
|
34
|
+
type ActivityGroupingDecoratorMiddleware,
|
|
35
|
+
type ActivityGroupingDecoratorMiddlewareInit,
|
|
36
|
+
type ActivityGroupingDecoratorMiddlewareProps,
|
|
37
|
+
type ActivityGroupingDecoratorMiddlewareRequest
|
|
38
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const activityGroupingDecoratorTypeName = 'activity grouping' as const;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { Fragment, memo, type ReactNode } from 'react';
|
|
2
|
+
import InternalDecoratorComposer from './internal/InternalDecoratorComposer';
|
|
3
|
+
import { type DecoratorMiddleware } from './types';
|
|
4
|
+
|
|
5
|
+
type DecoratorComposerProps = Readonly<{
|
|
6
|
+
children?: ReactNode | undefined;
|
|
7
|
+
middleware?: readonly DecoratorMiddleware[] | undefined;
|
|
8
|
+
}>;
|
|
9
|
+
|
|
10
|
+
function DecoratorComposer({ children, middleware }: DecoratorComposerProps) {
|
|
11
|
+
return middleware ? (
|
|
12
|
+
<InternalDecoratorComposer middleware={middleware} priority="normal">
|
|
13
|
+
{children}
|
|
14
|
+
</InternalDecoratorComposer>
|
|
15
|
+
) : (
|
|
16
|
+
// We can't return `children` unless we are not using memo().
|
|
17
|
+
<Fragment>{children}</Fragment>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default memo(DecoratorComposer);
|
|
22
|
+
export { type DecoratorComposerProps };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React, { memo, useContext, useMemo, type ReactNode } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
ActivityBorderDecoratorMiddlewareProvider,
|
|
4
|
+
initActivityBorderDecoratorMiddleware
|
|
5
|
+
} from '../ActivityBorder/private/ActivityBorderDecoratorMiddleware';
|
|
6
|
+
import { activityBorderDecoratorTypeName } from '../ActivityBorder/types';
|
|
7
|
+
import {
|
|
8
|
+
ActivityGroupingDecoratorMiddlewareProvider,
|
|
9
|
+
initActivityGroupingDecoratorMiddleware
|
|
10
|
+
} from '../ActivityGrouping/private/ActivityGroupingDecoratorMiddleware';
|
|
11
|
+
import { activityGroupingDecoratorTypeName } from '../ActivityGrouping/types';
|
|
12
|
+
import DecoratorComposerContext from '../private/DecoratorComposerContext';
|
|
13
|
+
import { type DecoratorMiddleware } from '../types';
|
|
14
|
+
|
|
15
|
+
type InternalDecoratorComposerProps = Readonly<{
|
|
16
|
+
children?: ReactNode | undefined;
|
|
17
|
+
middleware: readonly DecoratorMiddleware[];
|
|
18
|
+
priority: 'low' | 'normal';
|
|
19
|
+
}>;
|
|
20
|
+
|
|
21
|
+
const EMPTY_ARRAY = Object.freeze([]);
|
|
22
|
+
|
|
23
|
+
function InternalDecoratorComposer({
|
|
24
|
+
children,
|
|
25
|
+
middleware: middlewareFromProps = EMPTY_ARRAY,
|
|
26
|
+
priority
|
|
27
|
+
}: InternalDecoratorComposerProps) {
|
|
28
|
+
const existingContext = useContext(DecoratorComposerContext);
|
|
29
|
+
const middleware = useMemo(
|
|
30
|
+
() =>
|
|
31
|
+
priority === 'low'
|
|
32
|
+
? Object.freeze([...existingContext.middleware, ...middlewareFromProps])
|
|
33
|
+
: Object.freeze([...middlewareFromProps, ...existingContext.middleware]),
|
|
34
|
+
[existingContext, middlewareFromProps, priority]
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const activityBorderMiddleware = useMemo(
|
|
38
|
+
() => initActivityBorderDecoratorMiddleware(middleware, activityBorderDecoratorTypeName),
|
|
39
|
+
[middleware]
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const activityGroupingMiddleware = useMemo(
|
|
43
|
+
() => initActivityGroupingDecoratorMiddleware(middleware, activityGroupingDecoratorTypeName),
|
|
44
|
+
[middleware]
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
const context = useMemo(() => ({ middleware }), [middleware]);
|
|
48
|
+
|
|
49
|
+
return (
|
|
50
|
+
<DecoratorComposerContext.Provider value={context}>
|
|
51
|
+
<ActivityBorderDecoratorMiddlewareProvider middleware={activityBorderMiddleware}>
|
|
52
|
+
<ActivityGroupingDecoratorMiddlewareProvider middleware={activityGroupingMiddleware}>
|
|
53
|
+
{children}
|
|
54
|
+
</ActivityGroupingDecoratorMiddlewareProvider>
|
|
55
|
+
</ActivityBorderDecoratorMiddlewareProvider>
|
|
56
|
+
</DecoratorComposerContext.Provider>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export default memo(InternalDecoratorComposer);
|
|
61
|
+
export { type InternalDecoratorComposerProps };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React, { memo, type ReactNode } from 'react';
|
|
2
|
+
import { type DecoratorMiddleware } from '../types';
|
|
3
|
+
import InternalDecoratorComposer from './InternalDecoratorComposer';
|
|
4
|
+
|
|
5
|
+
type LowPriorityDecoratorComposerProps = Readonly<{
|
|
6
|
+
children?: ReactNode | undefined;
|
|
7
|
+
middleware: readonly DecoratorMiddleware[];
|
|
8
|
+
}>;
|
|
9
|
+
|
|
10
|
+
function LowPriorityDecoratorDecomposer({ children, middleware }: LowPriorityDecoratorComposerProps) {
|
|
11
|
+
return (
|
|
12
|
+
<InternalDecoratorComposer middleware={middleware} priority="low">
|
|
13
|
+
{children}
|
|
14
|
+
</InternalDecoratorComposer>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default memo(LowPriorityDecoratorDecomposer);
|
|
19
|
+
export { type LowPriorityDecoratorComposerProps };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
import { type DecoratorMiddleware } from '../types';
|
|
4
|
+
|
|
5
|
+
type DecoratorComposerContextType = Readonly<{
|
|
6
|
+
middleware: readonly DecoratorMiddleware[];
|
|
7
|
+
}>;
|
|
8
|
+
|
|
9
|
+
const DecoratorComposerContext = createContext<DecoratorComposerContextType>(
|
|
10
|
+
Object.freeze({
|
|
11
|
+
middleware: Object.freeze([])
|
|
12
|
+
})
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
export default DecoratorComposerContext;
|
|
16
|
+
export { type DecoratorComposerContextType };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { Fragment, memo, type ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type PassthroughFallbackProps = Readonly<{
|
|
4
|
+
children?: ReactNode | undefined;
|
|
5
|
+
}>;
|
|
6
|
+
|
|
7
|
+
function PassthroughFallback({ children }: PassthroughFallbackProps) {
|
|
8
|
+
return <Fragment>{children}</Fragment>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default memo(PassthroughFallback);
|
|
12
|
+
export { type PassthroughFallbackProps };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @jest-environment
|
|
1
|
+
/** @jest-environment @happy-dom/jest-environment */
|
|
2
2
|
|
|
3
3
|
import { render } from '@testing-library/react';
|
|
4
4
|
import React, { Fragment, type ReactNode } from 'react';
|
|
@@ -24,6 +24,8 @@ test('an uber middleware', () => {
|
|
|
24
24
|
initMiddleware: initButtonMiddleware,
|
|
25
25
|
Provider: ButtonProvider,
|
|
26
26
|
Proxy: Button,
|
|
27
|
+
// False positive, `types` is used for its typing.
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
29
|
types: buttonTypes
|
|
28
30
|
} = templateMiddleware<'button', void, ButtonProps>('Button');
|
|
29
31
|
|
|
@@ -33,6 +35,8 @@ test('an uber middleware', () => {
|
|
|
33
35
|
initMiddleware: initLinkMiddleware,
|
|
34
36
|
Provider: LinkProvider,
|
|
35
37
|
Proxy: Link,
|
|
38
|
+
// False positive, `types` is used for its typing.
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
36
40
|
types: linkTypes
|
|
37
41
|
} = templateMiddleware<'link', { external: boolean }, LinkProps>('Link');
|
|
38
42
|
|
|
@@ -1,33 +1,35 @@
|
|
|
1
1
|
import { warnOnce } from 'botframework-webchat-core';
|
|
2
2
|
import { createChainOfResponsibility, type ComponentMiddleware } from 'react-chain-of-responsibility';
|
|
3
3
|
import { type EmptyObject } from 'type-fest';
|
|
4
|
-
import { any, array,
|
|
4
|
+
import { any, array, function_, pipe, safeParse, type InferOutput } from 'valibot';
|
|
5
5
|
|
|
6
6
|
export type MiddlewareWithInit<M extends ComponentMiddleware<any, any, any>, I> = (init: I) => ReturnType<M> | false;
|
|
7
7
|
|
|
8
8
|
const EMPTY_ARRAY = Object.freeze([]);
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// Following @types/react to use {} for props.
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
12
|
+
export default function templateMiddleware<Init extends string, Request = any, Props extends {} = EmptyObject>(
|
|
13
|
+
name: string
|
|
14
|
+
) {
|
|
11
15
|
type Middleware = ComponentMiddleware<Request, Props>;
|
|
12
16
|
|
|
13
|
-
const middlewareSchema = array(
|
|
14
|
-
any([custom<Middleware>(input => typeof input === 'function', 'Middleware must be a function.')])
|
|
15
|
-
);
|
|
17
|
+
const middlewareSchema = array(pipe(any(), function_()));
|
|
16
18
|
|
|
17
|
-
const isMiddleware = (middleware: unknown): middleware is
|
|
19
|
+
const isMiddleware = (middleware: unknown): middleware is InferOutput<typeof middlewareSchema> =>
|
|
18
20
|
safeParse(middlewareSchema, middleware).success;
|
|
19
21
|
|
|
20
22
|
const warnInvalid = warnOnce(`"${name}" prop is invalid`);
|
|
21
23
|
|
|
22
24
|
const initMiddleware = (
|
|
23
|
-
middleware: readonly MiddlewareWithInit<
|
|
24
|
-
init
|
|
25
|
+
middleware: readonly MiddlewareWithInit<ComponentMiddleware<unknown, unknown>, Init>[],
|
|
26
|
+
init: Init
|
|
25
27
|
): readonly Middleware[] => {
|
|
26
28
|
if (middleware) {
|
|
27
29
|
if (isMiddleware(middleware)) {
|
|
28
30
|
return Object.freeze(
|
|
29
31
|
middleware
|
|
30
|
-
|
|
32
|
+
.map(middleware => middleware(init) as ReturnType<Middleware>)
|
|
31
33
|
.filter((enhancer): enhancer is ReturnType<Middleware> => !!enhancer)
|
|
32
34
|
.map(enhancer => () => enhancer)
|
|
33
35
|
);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ActivityBorderDecoratorMiddleware } from './ActivityBorder/private/ActivityBorderDecoratorMiddleware';
|
|
2
|
+
import { type activityBorderDecoratorTypeName } from './ActivityBorder/types';
|
|
3
|
+
import { type ActivityGroupingDecoratorMiddleware } from './ActivityGrouping/private/ActivityGroupingDecoratorMiddleware';
|
|
4
|
+
import { type activityGroupingDecoratorTypeName } from './ActivityGrouping/types';
|
|
5
|
+
|
|
6
|
+
export type DecoratorMiddlewareTypes = {
|
|
7
|
+
[activityBorderDecoratorTypeName]: ReturnType<ActivityBorderDecoratorMiddleware>;
|
|
8
|
+
[activityGroupingDecoratorTypeName]: ReturnType<ActivityGroupingDecoratorMiddleware>;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type DecoratorMiddlewareInit = keyof DecoratorMiddlewareTypes;
|
|
12
|
+
|
|
13
|
+
export interface DecoratorMiddleware {
|
|
14
|
+
(init: keyof DecoratorMiddlewareTypes): DecoratorMiddlewareTypes[typeof init] | false;
|
|
15
|
+
}
|
package/src/decorator.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Decorator general
|
|
2
|
+
|
|
3
|
+
export { default as DecoratorComposer } from './decorator/DecoratorComposer';
|
|
4
|
+
export {
|
|
5
|
+
type DecoratorMiddleware,
|
|
6
|
+
type DecoratorMiddlewareInit,
|
|
7
|
+
type DecoratorMiddlewareTypes
|
|
8
|
+
} from './decorator/types';
|
|
9
|
+
|
|
10
|
+
// ActivityBorderDecorator
|
|
11
|
+
|
|
12
|
+
export { default as ActivityBorderDecorator } from './decorator/ActivityBorder/ActivityBorderDecorator';
|
|
13
|
+
|
|
14
|
+
// ActivityGroupingDecorator
|
|
15
|
+
|
|
16
|
+
export { default as ActivityGroupingDecorator } from './decorator/ActivityGrouping/ActivityGroupingDecorator';
|
|
@@ -53,10 +53,16 @@ const DEFAULT_OPTIONS: Required<StyleOptions> = {
|
|
|
53
53
|
bubbleFromUserNubOffset: 0,
|
|
54
54
|
bubbleFromUserNubSize: undefined,
|
|
55
55
|
bubbleFromUserTextColor: 'Black',
|
|
56
|
-
bubbleImageHeight:
|
|
57
|
-
|
|
56
|
+
bubbleImageHeight: undefined,
|
|
57
|
+
bubbleImageMaxHeight: 240, // Based on previously default `bubbleImageHeight` of 240px.
|
|
58
|
+
bubbleImageMinHeight: 240, // TODO: Should change to 180px. Based on 320px bubble width showing a 16:9 image, or `320 / (16 / 9)`. 320px bubble width is based on 360px wide of the chat canvas.
|
|
59
|
+
bubbleMaxWidth: undefined, // Deprecated.
|
|
60
|
+
bubbleMinWidth: undefined, // Deprecated.
|
|
61
|
+
bubbleAttachmentMaxWidth: 480, // Based off screen width = 600px
|
|
62
|
+
bubbleAttachmentMinWidth: 250, // min screen width = 300px; Microsoft Edge requires 372px (https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/13621468/)
|
|
63
|
+
bubbleMessageMaxWidth: 480, // Based off screen width = 600px
|
|
64
|
+
bubbleMessageMinWidth: 0,
|
|
58
65
|
bubbleMinHeight: 40,
|
|
59
|
-
bubbleMinWidth: 250, // min screen width = 300px; Microsoft Edge requires 372px (https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/13621468/)
|
|
60
66
|
bubbleNubOffset: 0,
|
|
61
67
|
bubbleNubSize: undefined,
|
|
62
68
|
bubbleTextColor: 'Black',
|
|
@@ -238,7 +244,6 @@ const DEFAULT_OPTIONS: Required<StyleOptions> = {
|
|
|
238
244
|
transcriptOverlayButtonColorOnHover: undefined,
|
|
239
245
|
|
|
240
246
|
// Toast UI
|
|
241
|
-
|
|
242
247
|
notificationDebounceTimeout: 400,
|
|
243
248
|
|
|
244
249
|
hideToaster: false,
|
|
@@ -290,7 +295,23 @@ const DEFAULT_OPTIONS: Required<StyleOptions> = {
|
|
|
290
295
|
// Video
|
|
291
296
|
videoHeight: 270, // based on bubbleMaxWidth: 480 / 16 * 9 = 270
|
|
292
297
|
|
|
293
|
-
maxMessageLength: 2000
|
|
298
|
+
maxMessageLength: 2000,
|
|
299
|
+
|
|
300
|
+
stylesRoot: document.head,
|
|
301
|
+
|
|
302
|
+
// Border animation
|
|
303
|
+
borderAnimationColor1: '#203C91',
|
|
304
|
+
borderAnimationColor2: '#4DD3FF',
|
|
305
|
+
borderAnimationColor3: '#2B8DD8',
|
|
306
|
+
|
|
307
|
+
codeBlockTheme: 'github-light-default' as const,
|
|
308
|
+
|
|
309
|
+
feedbackActionsPlacement: 'activity-status' as const,
|
|
310
|
+
|
|
311
|
+
// Speech recognition
|
|
312
|
+
speechRecognitionContinuous: false,
|
|
313
|
+
|
|
314
|
+
groupActivitiesBy: ['sender', 'status']
|
|
294
315
|
};
|
|
295
316
|
|
|
296
317
|
export default DEFAULT_OPTIONS;
|
package/src/hooks/Composer.tsx
CHANGED
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
type WebChatActivity
|
|
33
33
|
} from 'botframework-webchat-core';
|
|
34
34
|
import PropTypes from 'prop-types';
|
|
35
|
-
import React, { useCallback, useEffect, useMemo, useRef, useState, type ReactNode } from 'react';
|
|
35
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState, type ComponentType, type ReactNode } from 'react';
|
|
36
36
|
import { Provider } from 'react-redux';
|
|
37
37
|
import updateIn from 'simple-update-in';
|
|
38
38
|
|
|
@@ -54,6 +54,7 @@ import AttachmentForScreenReaderMiddleware from '../types/AttachmentForScreenRea
|
|
|
54
54
|
import AttachmentMiddleware from '../types/AttachmentMiddleware';
|
|
55
55
|
import AvatarMiddleware from '../types/AvatarMiddleware';
|
|
56
56
|
import CardActionMiddleware from '../types/CardActionMiddleware';
|
|
57
|
+
import { type ContextOf } from '../types/ContextOf';
|
|
57
58
|
import GroupActivitiesMiddleware from '../types/GroupActivitiesMiddleware';
|
|
58
59
|
import LocalizedStrings from '../types/LocalizedStrings';
|
|
59
60
|
import PrecompiledGlobalizeType from '../types/PrecompiledGlobalize';
|
|
@@ -61,7 +62,6 @@ import ScrollToEndButtonMiddleware, { ScrollToEndButtonComponentFactory } from '
|
|
|
61
62
|
import TelemetryMeasurementEvent, { TelemetryExceptionMeasurementEvent } from '../types/TelemetryMeasurementEvent';
|
|
62
63
|
import ToastMiddleware from '../types/ToastMiddleware';
|
|
63
64
|
import TypingIndicatorMiddleware from '../types/TypingIndicatorMiddleware';
|
|
64
|
-
import { type ContextOf } from '../types/ContextOf';
|
|
65
65
|
import createCustomEvent from '../utils/createCustomEvent';
|
|
66
66
|
import isObject from '../utils/isObject';
|
|
67
67
|
import mapMap from '../utils/mapMap';
|
|
@@ -69,7 +69,7 @@ import normalizeLanguage from '../utils/normalizeLanguage';
|
|
|
69
69
|
import { SendBoxMiddlewareProvider, type SendBoxMiddleware } from './internal/SendBoxMiddleware';
|
|
70
70
|
import { SendBoxToolbarMiddlewareProvider, type SendBoxToolbarMiddleware } from './internal/SendBoxToolbarMiddleware';
|
|
71
71
|
import Tracker from './internal/Tracker';
|
|
72
|
-
import {
|
|
72
|
+
import WebChatAPIContext, { type WebChatAPIContextType } from './internal/WebChatAPIContext';
|
|
73
73
|
import WebChatReduxContext, { useDispatch } from './internal/WebChatReduxContext';
|
|
74
74
|
import defaultSelectVoice from './internal/defaultSelectVoice';
|
|
75
75
|
import applyMiddleware, {
|
|
@@ -77,7 +77,6 @@ import applyMiddleware, {
|
|
|
77
77
|
forRenderer as applyMiddlewareForRenderer
|
|
78
78
|
} from './middleware/applyMiddleware';
|
|
79
79
|
import createDefaultCardActionMiddleware from './middleware/createDefaultCardActionMiddleware';
|
|
80
|
-
import createDefaultGroupActivitiesMiddleware from './middleware/createDefaultGroupActivitiesMiddleware';
|
|
81
80
|
import useMarkAllAsAcknowledged from './useMarkAllAsAcknowledged';
|
|
82
81
|
import ErrorBoundary from './utils/ErrorBoundary';
|
|
83
82
|
import observableToPromise from './utils/observableToPromise';
|
|
@@ -85,6 +84,8 @@ import observableToPromise from './utils/observableToPromise';
|
|
|
85
84
|
// PrecompileGlobalize is a generated file and is not ES module. TypeScript don't work with UMD.
|
|
86
85
|
// @ts-ignore
|
|
87
86
|
import PrecompiledGlobalize from '../external/PrecompiledGlobalize';
|
|
87
|
+
import GroupActivitiesComposer from '../providers/GroupActivities/GroupActivitiesComposer';
|
|
88
|
+
import { parseUIState } from './validation/uiState';
|
|
88
89
|
|
|
89
90
|
// List of Redux actions factory we are hoisting as Web Chat functions
|
|
90
91
|
const DISPATCHERS = {
|
|
@@ -115,14 +116,16 @@ const EMPTY_ARRAY: readonly [] = Object.freeze([]);
|
|
|
115
116
|
|
|
116
117
|
function createCardActionContext({
|
|
117
118
|
cardActionMiddleware,
|
|
119
|
+
continuous,
|
|
118
120
|
directLine,
|
|
119
121
|
dispatch,
|
|
120
122
|
markAllAsAcknowledged,
|
|
121
123
|
ponyfill
|
|
122
124
|
}: {
|
|
123
125
|
cardActionMiddleware: readonly CardActionMiddleware[];
|
|
126
|
+
continuous: boolean;
|
|
124
127
|
directLine: DirectLineJSBotConnection;
|
|
125
|
-
dispatch:
|
|
128
|
+
dispatch: (...args: unknown[]) => unknown;
|
|
126
129
|
markAllAsAcknowledged: () => void;
|
|
127
130
|
ponyfill: GlobalScopePonyfill;
|
|
128
131
|
}) {
|
|
@@ -136,6 +139,11 @@ function createCardActionContext({
|
|
|
136
139
|
onCardAction: (cardAction, { target }: { target?: any } = {}) => {
|
|
137
140
|
markAllAsAcknowledged();
|
|
138
141
|
|
|
142
|
+
// Stop speech recognition only if under interactive mode.
|
|
143
|
+
if (!continuous) {
|
|
144
|
+
dispatch(stopDictate());
|
|
145
|
+
}
|
|
146
|
+
|
|
139
147
|
return runMiddleware({
|
|
140
148
|
cardAction,
|
|
141
149
|
getSignInUrl:
|
|
@@ -165,26 +173,6 @@ function createCardActionContext({
|
|
|
165
173
|
};
|
|
166
174
|
}
|
|
167
175
|
|
|
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
176
|
function mergeStringsOverrides(localizedStrings, language, overrideLocalizedStrings) {
|
|
189
177
|
if (!overrideLocalizedStrings) {
|
|
190
178
|
return localizedStrings;
|
|
@@ -217,9 +205,12 @@ type ComposerCoreProps = Readonly<{
|
|
|
217
205
|
attachmentMiddleware?: OneOrMany<AttachmentMiddleware>;
|
|
218
206
|
avatarMiddleware?: OneOrMany<AvatarMiddleware>;
|
|
219
207
|
cardActionMiddleware?: OneOrMany<CardActionMiddleware>;
|
|
220
|
-
children?: ReactNode | ((context: ContextOf<
|
|
208
|
+
children?: ReactNode | ((context: ContextOf<React.Context<WebChatAPIContextType>>) => ReactNode);
|
|
221
209
|
dir?: string;
|
|
222
210
|
directLine: DirectLineJSBotConnection;
|
|
211
|
+
/**
|
|
212
|
+
* @deprecated Please use `uiState="disabled"` instead. This feature will be removed on or after 2026-09-04.
|
|
213
|
+
*/
|
|
223
214
|
disabled?: boolean;
|
|
224
215
|
downscaleImageToDataURL?: (
|
|
225
216
|
blob: Blob,
|
|
@@ -230,7 +221,14 @@ type ComposerCoreProps = Readonly<{
|
|
|
230
221
|
) => Promise<URL>;
|
|
231
222
|
grammars?: any;
|
|
232
223
|
groupActivitiesMiddleware?: OneOrMany<GroupActivitiesMiddleware>;
|
|
233
|
-
internalErrorBoxClass?:
|
|
224
|
+
internalErrorBoxClass?:
|
|
225
|
+
| ComponentType<
|
|
226
|
+
Readonly<{
|
|
227
|
+
error: Error;
|
|
228
|
+
type?: string;
|
|
229
|
+
}>
|
|
230
|
+
>
|
|
231
|
+
| undefined;
|
|
234
232
|
locale?: string;
|
|
235
233
|
onTelemetry?: (event: TelemetryMeasurementEvent) => void;
|
|
236
234
|
overrideLocalizedStrings?: LocalizedStrings | ((strings: LocalizedStrings, language: string) => LocalizedStrings);
|
|
@@ -247,6 +245,16 @@ type ComposerCoreProps = Readonly<{
|
|
|
247
245
|
styleOptions?: StyleOptions;
|
|
248
246
|
toastMiddleware?: OneOrMany<ToastMiddleware>;
|
|
249
247
|
typingIndicatorMiddleware?: OneOrMany<TypingIndicatorMiddleware>;
|
|
248
|
+
/**
|
|
249
|
+
* Sets the state of the UI.
|
|
250
|
+
*
|
|
251
|
+
* - `undefined` will render normally
|
|
252
|
+
* - `"blueprint"` will render as few UI elements as possible and should be non-functional
|
|
253
|
+
* - Useful for loading scenarios
|
|
254
|
+
* - `"disabled"` will render most UI elements as non-functional
|
|
255
|
+
* - Scrolling may continue to trigger read acknowledgements
|
|
256
|
+
*/
|
|
257
|
+
uiState?: 'blueprint' | 'disabled' | undefined;
|
|
250
258
|
userID?: string;
|
|
251
259
|
username?: string;
|
|
252
260
|
}>;
|
|
@@ -278,6 +286,7 @@ const ComposerCore = ({
|
|
|
278
286
|
styleOptions,
|
|
279
287
|
toastMiddleware,
|
|
280
288
|
typingIndicatorMiddleware,
|
|
289
|
+
uiState,
|
|
281
290
|
userID,
|
|
282
291
|
username
|
|
283
292
|
}: ComposerCoreProps) => {
|
|
@@ -292,6 +301,8 @@ const ComposerCore = ({
|
|
|
292
301
|
[styleOptions]
|
|
293
302
|
);
|
|
294
303
|
|
|
304
|
+
uiState = parseUIState(uiState, disabled);
|
|
305
|
+
|
|
295
306
|
useEffect(() => {
|
|
296
307
|
dispatch(setLanguage(locale));
|
|
297
308
|
}, [dispatch, locale]);
|
|
@@ -323,12 +334,20 @@ const ComposerCore = ({
|
|
|
323
334
|
() =>
|
|
324
335
|
createCardActionContext({
|
|
325
336
|
cardActionMiddleware: Object.freeze([...singleToArray(cardActionMiddleware)]),
|
|
337
|
+
continuous: !!styleOptions.speechRecognitionContinuous,
|
|
326
338
|
directLine,
|
|
327
339
|
dispatch,
|
|
328
340
|
markAllAsAcknowledged,
|
|
329
341
|
ponyfill
|
|
330
342
|
}),
|
|
331
|
-
[
|
|
343
|
+
[
|
|
344
|
+
cardActionMiddleware,
|
|
345
|
+
directLine,
|
|
346
|
+
dispatch,
|
|
347
|
+
markAllAsAcknowledged,
|
|
348
|
+
ponyfill,
|
|
349
|
+
styleOptions.speechRecognitionContinuous
|
|
350
|
+
]
|
|
332
351
|
);
|
|
333
352
|
|
|
334
353
|
const patchedSelectVoice = useMemo(
|
|
@@ -336,16 +355,6 @@ const ComposerCore = ({
|
|
|
336
355
|
[locale, selectVoice]
|
|
337
356
|
);
|
|
338
357
|
|
|
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
358
|
const hoistedDispatchers = useMemo(
|
|
350
359
|
() =>
|
|
351
360
|
mapMap(
|
|
@@ -526,10 +535,9 @@ const ComposerCore = ({
|
|
|
526
535
|
* This context should consist of members that are not in the Redux store
|
|
527
536
|
* i.e. members that are not interested in other types of UIs
|
|
528
537
|
*/
|
|
529
|
-
const context = useMemo<ContextOf<
|
|
538
|
+
const context = useMemo<ContextOf<React.Context<WebChatAPIContextType>>>(
|
|
530
539
|
() => ({
|
|
531
540
|
...cardActionContext,
|
|
532
|
-
...groupActivitiesContext,
|
|
533
541
|
...hoistedDispatchers,
|
|
534
542
|
activityRenderer: patchedActivityRenderer,
|
|
535
543
|
activityStatusRenderer: patchedActivityStatusRenderer,
|
|
@@ -538,7 +546,6 @@ const ComposerCore = ({
|
|
|
538
546
|
avatarRenderer: patchedAvatarRenderer,
|
|
539
547
|
dir: patchedDir,
|
|
540
548
|
directLine,
|
|
541
|
-
disabled,
|
|
542
549
|
downscaleImageToDataURL,
|
|
543
550
|
grammars: patchedGrammars,
|
|
544
551
|
internalErrorBoxClass,
|
|
@@ -555,15 +562,14 @@ const ComposerCore = ({
|
|
|
555
562
|
toastRenderer: patchedToastRenderer,
|
|
556
563
|
trackDimension,
|
|
557
564
|
typingIndicatorRenderer: patchedTypingIndicatorRenderer,
|
|
565
|
+
uiState,
|
|
558
566
|
userID,
|
|
559
567
|
username
|
|
560
568
|
}),
|
|
561
569
|
[
|
|
562
570
|
cardActionContext,
|
|
563
571
|
directLine,
|
|
564
|
-
disabled,
|
|
565
572
|
downscaleImageToDataURL,
|
|
566
|
-
groupActivitiesContext,
|
|
567
573
|
hoistedDispatchers,
|
|
568
574
|
internalErrorBoxClass,
|
|
569
575
|
locale,
|
|
@@ -586,6 +592,7 @@ const ComposerCore = ({
|
|
|
586
592
|
sendTypingIndicator,
|
|
587
593
|
telemetryDimensionsRef,
|
|
588
594
|
trackDimension,
|
|
595
|
+
uiState,
|
|
589
596
|
userID,
|
|
590
597
|
username
|
|
591
598
|
]
|
|
@@ -598,7 +605,9 @@ const ComposerCore = ({
|
|
|
598
605
|
<ActivityTypingComposer>
|
|
599
606
|
<SendBoxMiddlewareProvider middleware={sendBoxMiddleware || EMPTY_ARRAY}>
|
|
600
607
|
<SendBoxToolbarMiddlewareProvider middleware={sendBoxToolbarMiddleware || EMPTY_ARRAY}>
|
|
601
|
-
{
|
|
608
|
+
<GroupActivitiesComposer groupActivitiesMiddleware={singleToArray(groupActivitiesMiddleware)}>
|
|
609
|
+
{typeof children === 'function' ? children(context) : children}
|
|
610
|
+
</GroupActivitiesComposer>
|
|
602
611
|
<ActivitySendStatusTelemetryComposer />
|
|
603
612
|
</SendBoxToolbarMiddlewareProvider>
|
|
604
613
|
</SendBoxMiddlewareProvider>
|
|
@@ -640,6 +649,7 @@ ComposerCore.defaultProps = {
|
|
|
640
649
|
styleOptions: {},
|
|
641
650
|
toastMiddleware: undefined,
|
|
642
651
|
typingIndicatorMiddleware: undefined,
|
|
652
|
+
uiState: undefined,
|
|
643
653
|
userID: '',
|
|
644
654
|
username: ''
|
|
645
655
|
};
|
|
@@ -672,7 +682,10 @@ ComposerCore.propTypes = {
|
|
|
672
682
|
downscaleImageToDataURL: PropTypes.func,
|
|
673
683
|
grammars: PropTypes.arrayOf(PropTypes.string),
|
|
674
684
|
groupActivitiesMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
|
|
675
|
-
|
|
685
|
+
// This is for internal use only. We don't allow customization of error box.
|
|
686
|
+
// - Functional component is of type PropTypes.func
|
|
687
|
+
// - Memoized functional component is of type PropTypes.object
|
|
688
|
+
internalErrorBoxClass: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),
|
|
676
689
|
locale: PropTypes.string,
|
|
677
690
|
onTelemetry: PropTypes.func,
|
|
678
691
|
overrideLocalizedStrings: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),
|
|
@@ -683,6 +696,7 @@ ComposerCore.propTypes = {
|
|
|
683
696
|
styleOptions: PropTypes.any,
|
|
684
697
|
toastMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
|
|
685
698
|
typingIndicatorMiddleware: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func]),
|
|
699
|
+
uiState: PropTypes.oneOf(['blueprint', 'disabled']),
|
|
686
700
|
userID: PropTypes.string,
|
|
687
701
|
username: PropTypes.string
|
|
688
702
|
};
|
package/src/hooks/index.ts
CHANGED
|
@@ -26,7 +26,8 @@ import useGetKeyByActivity from './useGetKeyByActivity';
|
|
|
26
26
|
import useGetKeyByActivityId from './useGetKeyByActivityId';
|
|
27
27
|
import useGetSendTimeoutForActivity from './useGetSendTimeoutForActivity';
|
|
28
28
|
import useGrammars from './useGrammars';
|
|
29
|
-
import useGroupActivities from '
|
|
29
|
+
import useGroupActivities from '../providers/GroupActivities/useGroupActivities';
|
|
30
|
+
import useGroupActivitiesByName from '../providers/GroupActivities/useGroupActivitiesByName';
|
|
30
31
|
import useGroupTimestamp from './useGroupTimestamp';
|
|
31
32
|
import useLanguage from './useLanguage';
|
|
32
33
|
import useLastAcknowledgedActivityKey from './useLastAcknowledgedActivityKey';
|
|
@@ -66,6 +67,7 @@ import useTrackDimension from './useTrackDimension';
|
|
|
66
67
|
import useTrackEvent from './useTrackEvent';
|
|
67
68
|
import useTrackException from './useTrackException';
|
|
68
69
|
import useTrackTiming from './useTrackTiming';
|
|
70
|
+
import useUIState from './useUIState';
|
|
69
71
|
import useUserID from './useUserID';
|
|
70
72
|
import useUsername from './useUsername';
|
|
71
73
|
import useVoiceSelector from './useVoiceSelector';
|
|
@@ -100,6 +102,7 @@ export {
|
|
|
100
102
|
useGetSendTimeoutForActivity,
|
|
101
103
|
useGrammars,
|
|
102
104
|
useGroupActivities,
|
|
105
|
+
useGroupActivitiesByName,
|
|
103
106
|
useGroupTimestamp,
|
|
104
107
|
useLanguage,
|
|
105
108
|
useLastAcknowledgedActivityKey,
|
|
@@ -139,6 +142,7 @@ export {
|
|
|
139
142
|
useTrackEvent,
|
|
140
143
|
useTrackException,
|
|
141
144
|
useTrackTiming,
|
|
145
|
+
useUIState,
|
|
142
146
|
useUserID,
|
|
143
147
|
useUsername,
|
|
144
148
|
useVoiceSelector
|
|
@@ -4,8 +4,10 @@ const {
|
|
|
4
4
|
initMiddleware: initSendBoxMiddleware,
|
|
5
5
|
Provider: SendBoxMiddlewareProvider,
|
|
6
6
|
Proxy: SendBoxMiddlewareProxy,
|
|
7
|
+
// False positive, `types` is used for its typing.
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
9
|
types
|
|
8
|
-
} = templateMiddleware<
|
|
10
|
+
} = templateMiddleware<undefined, void, { className?: string | undefined }>('sendBoxMiddleware');
|
|
9
11
|
|
|
10
12
|
type SendBoxMiddleware = typeof types.middleware;
|
|
11
13
|
type SendBoxMiddlewareProps = typeof types.props;
|