botframework-webchat-api 4.18.1-main.20260416.88357ae → 4.18.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.
- package/decorator.js +1 -1
- package/dist/botframework-webchat-api.d.mts +1246 -166
- package/dist/botframework-webchat-api.decorator.d.mts +26 -70
- package/dist/botframework-webchat-api.decorator.mjs +2 -1
- package/dist/botframework-webchat-api.decorator.mjs.LEGAL.txt +0 -0
- package/dist/botframework-webchat-api.decorator.mjs.map +1 -1
- package/dist/botframework-webchat-api.internal.d.mts +1 -57
- package/dist/botframework-webchat-api.internal.mjs +2 -1
- package/dist/botframework-webchat-api.internal.mjs.LEGAL.txt +0 -0
- package/dist/botframework-webchat-api.internal.mjs.map +1 -1
- package/dist/botframework-webchat-api.mjs +139 -1
- package/dist/botframework-webchat-api.mjs.LEGAL.txt +27 -2
- package/dist/botframework-webchat-api.mjs.map +1 -1
- package/dist/chunk-2S76JUVM.mjs +3 -0
- package/dist/chunk-2S76JUVM.mjs.LEGAL.txt +0 -0
- package/dist/chunk-2S76JUVM.mjs.map +1 -0
- package/dist/{chunk-VAX7AB37.mjs → chunk-J6D5YEY6.mjs} +2 -1
- package/dist/chunk-J6D5YEY6.mjs.LEGAL.txt +0 -0
- package/dist/chunk-ZAMHKQQC.mjs +3 -0
- package/dist/chunk-ZAMHKQQC.mjs.LEGAL.txt +0 -0
- package/dist/chunk-ZAMHKQQC.mjs.map +1 -0
- package/dist/metafile-esm.json +1 -1
- package/internal.js +1 -1
- package/{dist/StyleOptions-Bee70Zop.d.mts → lib/StyleOptions.d.ts} +9 -161
- package/lib/StyleOptions.d.ts.map +1 -0
- package/lib/StyleOptions.js +2 -0
- package/lib/decorator/index.d.ts +5 -0
- package/lib/decorator/index.d.ts.map +1 -0
- package/lib/decorator/index.js +28 -0
- package/lib/decorator/private/ActivityBorderDecoratorMiddleware.d.ts +27 -0
- package/lib/decorator/private/ActivityBorderDecoratorMiddleware.d.ts.map +1 -0
- package/lib/decorator/private/ActivityBorderDecoratorMiddleware.js +19 -0
- package/lib/decorator/private/ActivityDecorator.d.ts +9 -0
- package/lib/decorator/private/ActivityDecorator.d.ts.map +1 -0
- package/lib/decorator/private/ActivityDecorator.js +36 -0
- package/lib/decorator/private/DecoratorComposer.d.ts +3 -0
- package/lib/decorator/private/DecoratorComposer.d.ts.map +1 -0
- package/lib/decorator/private/DecoratorComposer.js +13 -0
- package/lib/decorator/private/activityDecoratorRequest.d.ts +6 -0
- package/lib/decorator/private/activityDecoratorRequest.d.ts.map +1 -0
- package/lib/decorator/private/activityDecoratorRequest.js +2 -0
- package/lib/decorator/private/createDecoratorComposer.d.ts +11 -0
- package/lib/decorator/private/createDecoratorComposer.d.ts.map +1 -0
- package/lib/decorator/private/createDecoratorComposer.js +27 -0
- package/lib/decorator/private/templateMiddleware.d.ts +30 -0
- package/lib/decorator/private/templateMiddleware.d.ts.map +1 -0
- package/lib/decorator/private/templateMiddleware.js +53 -0
- package/lib/decorator/private/templateMiddleware.test.d.ts +3 -0
- package/lib/decorator/private/templateMiddleware.test.d.ts.map +1 -0
- package/lib/defaultStyleOptions.d.ts +4 -0
- package/lib/defaultStyleOptions.d.ts.map +1 -0
- package/lib/defaultStyleOptions.js +277 -0
- package/lib/external/PrecompiledGlobalize.js +6361 -0
- package/lib/hooks/Composer.d.ts +88 -0
- package/lib/hooks/Composer.d.ts.map +1 -0
- package/lib/hooks/Composer.js +605 -0
- package/lib/hooks/index.d.ts +73 -0
- package/lib/hooks/index.d.ts.map +1 -0
- package/lib/hooks/index.js +504 -0
- package/lib/hooks/internal/ErrorBox.js +47 -0
- package/lib/hooks/internal/SendBoxMiddleware.d.ts +37 -0
- package/lib/hooks/internal/SendBoxMiddleware.d.ts.map +1 -0
- package/lib/hooks/internal/SendBoxMiddleware.js +17 -0
- package/lib/hooks/internal/SendBoxToolbarMiddleware.d.ts +37 -0
- package/lib/hooks/internal/SendBoxToolbarMiddleware.d.ts.map +1 -0
- package/lib/hooks/internal/SendBoxToolbarMiddleware.js +17 -0
- package/lib/hooks/internal/Tracker.d.ts +4 -0
- package/lib/hooks/internal/Tracker.d.ts.map +1 -0
- package/lib/hooks/internal/Tracker.js +15 -0
- package/lib/hooks/internal/WebChatAPIContext.d.ts +80 -0
- package/lib/hooks/internal/WebChatAPIContext.d.ts.map +1 -0
- package/lib/hooks/internal/WebChatAPIContext.js +12 -0
- package/lib/hooks/internal/WebChatReduxContext.js +17 -0
- package/lib/hooks/internal/defaultSelectVoice.js +28 -0
- package/lib/hooks/internal/private/templateMiddleware.d.ts +3 -0
- package/lib/hooks/internal/private/templateMiddleware.d.ts.map +1 -0
- package/lib/hooks/internal/private/templateMiddleware.js +12 -0
- package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts +4 -0
- package/lib/hooks/internal/useCreateActivityRendererInternal.d.ts.map +1 -0
- package/lib/hooks/internal/useCreateActivityRendererInternal.js +37 -0
- package/lib/hooks/internal/useDebugDeps.js +39 -0
- package/lib/hooks/internal/useDirFromProps.js +12 -0
- package/lib/hooks/internal/useErrorBoxClass.js +14 -0
- package/lib/hooks/internal/useForceRender.js +24 -0
- package/lib/hooks/internal/useLocalizedGlobalize.js +12 -0
- package/lib/hooks/internal/useLocalizedStrings.js +14 -0
- package/lib/hooks/internal/useMarkActivity.js +12 -0
- package/lib/hooks/internal/usePrevious.d.ts +3 -0
- package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
- package/lib/hooks/internal/usePrevious.js +15 -0
- package/lib/hooks/internal/useReadTelemetryDimensions.js +20 -0
- package/lib/hooks/internal/useSetDictateState.d.ts +2 -0
- package/lib/hooks/internal/useSetDictateState.d.ts.map +1 -0
- package/lib/hooks/internal/useSetDictateState.js +12 -0
- package/lib/hooks/internal/useTimer.d.ts +5 -0
- package/lib/hooks/internal/useTimer.d.ts.map +1 -0
- package/lib/hooks/internal/useTimer.js +43 -0
- package/lib/hooks/internal/useTracker.js +42 -0
- package/lib/hooks/internal/useValueRef.d.ts +3 -0
- package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
- package/lib/hooks/internal/useValueRef.js +22 -0
- package/lib/hooks/internal/useWebChatAPIContext.d.ts +83 -0
- package/lib/hooks/internal/useWebChatAPIContext.d.ts.map +1 -0
- package/lib/hooks/internal/useWebChatAPIContext.js +17 -0
- package/lib/hooks/middleware/UserlandBoundary.js +48 -0
- package/lib/hooks/middleware/applyMiddleware.js +122 -0
- package/lib/hooks/middleware/concatMiddleware.d.ts +6 -0
- package/lib/hooks/middleware/concatMiddleware.d.ts.map +1 -0
- package/lib/hooks/middleware/concatMiddleware.js +33 -0
- package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts +3 -0
- package/lib/hooks/middleware/createDefaultCardActionMiddleware.d.ts.map +1 -0
- package/lib/hooks/middleware/createDefaultCardActionMiddleware.js +43 -0
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts +7 -0
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +1 -0
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +68 -0
- package/lib/hooks/private/numberWithInfinity.d.ts +3 -0
- package/lib/hooks/private/numberWithInfinity.d.ts.map +1 -0
- package/lib/hooks/private/numberWithInfinity.js +17 -0
- package/lib/hooks/private/numberWithInfinity.spec.d.ts +2 -0
- package/lib/hooks/private/numberWithInfinity.spec.d.ts.map +1 -0
- package/lib/hooks/private/reduceIterable.d.ts +2 -0
- package/lib/hooks/private/reduceIterable.d.ts.map +1 -0
- package/lib/hooks/private/reduceIterable.js +26 -0
- package/lib/hooks/private/reduceIterable.spec.d.ts +2 -0
- package/lib/hooks/private/reduceIterable.spec.d.ts.map +1 -0
- package/lib/hooks/useActiveTyping.d.ts +4 -0
- package/lib/hooks/useActiveTyping.d.ts.map +1 -0
- package/lib/hooks/useActiveTyping.js +81 -0
- package/lib/hooks/useActivities.d.ts +3 -0
- package/lib/hooks/useActivities.d.ts.map +1 -0
- package/lib/hooks/useActivities.js +14 -0
- package/lib/hooks/useActivityKeys.d.ts +3 -0
- package/lib/hooks/useActivityKeys.d.ts.map +1 -0
- package/lib/hooks/useActivityKeys.js +11 -0
- package/lib/hooks/useActivityKeysByRead.d.ts +3 -0
- package/lib/hooks/useActivityKeysByRead.d.ts.map +1 -0
- package/lib/hooks/useActivityKeysByRead.js +11 -0
- package/lib/hooks/useAvatarForBot.d.ts +5 -0
- package/lib/hooks/useAvatarForBot.d.ts.map +1 -0
- package/lib/hooks/useAvatarForBot.js +26 -0
- package/lib/hooks/useAvatarForUser.d.ts +5 -0
- package/lib/hooks/useAvatarForUser.d.ts.map +1 -0
- package/lib/hooks/useAvatarForUser.js +26 -0
- package/lib/hooks/useByteFormatter.d.ts +2 -0
- package/lib/hooks/useByteFormatter.d.ts.map +1 -0
- package/lib/hooks/useByteFormatter.js +43 -0
- package/lib/hooks/useConnectivityStatus.d.ts +2 -0
- package/lib/hooks/useConnectivityStatus.d.ts.map +1 -0
- package/lib/hooks/useConnectivityStatus.js +14 -0
- package/lib/hooks/useCreateActivityRenderer.d.ts +3 -0
- package/lib/hooks/useCreateActivityRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateActivityRenderer.js +14 -0
- package/lib/hooks/useCreateActivityStatusRenderer.d.ts +10 -0
- package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateActivityStatusRenderer.js +72 -0
- package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.d.ts +3 -0
- package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateAttachmentForScreenReaderRenderer.js +12 -0
- package/lib/hooks/useCreateAvatarRenderer.d.ts +6 -0
- package/lib/hooks/useCreateAvatarRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateAvatarRenderer.js +44 -0
- package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts +3 -0
- package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateScrollToEndButtonRenderer.js +12 -0
- package/lib/hooks/useDateFormatter.d.ts +2 -0
- package/lib/hooks/useDateFormatter.d.ts.map +1 -0
- package/lib/hooks/useDateFormatter.js +35 -0
- package/lib/hooks/useDebouncedNotifications.d.ts +13 -0
- package/lib/hooks/useDebouncedNotifications.d.ts.map +1 -0
- package/lib/hooks/useDebouncedNotifications.js +118 -0
- package/lib/hooks/useDictateInterims.d.ts +2 -0
- package/lib/hooks/useDictateInterims.d.ts.map +1 -0
- package/lib/hooks/useDictateInterims.js +16 -0
- package/lib/hooks/useDictateState.d.ts +2 -0
- package/lib/hooks/useDictateState.d.ts.map +1 -0
- package/lib/hooks/useDictateState.js +15 -0
- package/lib/hooks/useDirection.d.ts +2 -0
- package/lib/hooks/useDirection.d.ts.map +1 -0
- package/lib/hooks/useDirection.js +38 -0
- package/lib/hooks/useDisabled.d.ts +2 -0
- package/lib/hooks/useDisabled.d.ts.map +1 -0
- package/lib/hooks/useDisabled.js +12 -0
- package/lib/hooks/useDismissNotification.d.ts +2 -0
- package/lib/hooks/useDismissNotification.d.ts.map +1 -0
- package/lib/hooks/useDismissNotification.js +12 -0
- package/lib/hooks/useEmitTypingIndicator.d.ts +2 -0
- package/lib/hooks/useEmitTypingIndicator.d.ts.map +1 -0
- package/lib/hooks/useEmitTypingIndicator.js +12 -0
- package/lib/hooks/useGetActivitiesByKey.d.ts +3 -0
- package/lib/hooks/useGetActivitiesByKey.d.ts.map +1 -0
- package/lib/hooks/useGetActivitiesByKey.js +11 -0
- package/lib/hooks/useGetActivityByKey.d.ts +3 -0
- package/lib/hooks/useGetActivityByKey.d.ts.map +1 -0
- package/lib/hooks/useGetActivityByKey.js +11 -0
- package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts +3 -0
- package/lib/hooks/useGetHasAcknowledgedByActivityKey.d.ts.map +1 -0
- package/lib/hooks/useGetHasAcknowledgedByActivityKey.js +11 -0
- package/lib/hooks/useGetKeyByActivity.d.ts +3 -0
- package/lib/hooks/useGetKeyByActivity.d.ts.map +1 -0
- package/lib/hooks/useGetKeyByActivity.js +11 -0
- package/lib/hooks/useGetKeyByActivityId.d.ts +3 -0
- package/lib/hooks/useGetKeyByActivityId.d.ts.map +1 -0
- package/lib/hooks/useGetKeyByActivityId.js +11 -0
- package/lib/hooks/useGetSendTimeoutForActivity.d.ts +5 -0
- package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +1 -0
- package/lib/hooks/useGetSendTimeoutForActivity.js +33 -0
- package/lib/hooks/useGrammars.d.ts +2 -0
- package/lib/hooks/useGrammars.d.ts.map +1 -0
- package/lib/hooks/useGrammars.js +12 -0
- package/lib/hooks/useGroupActivities.d.ts +8 -0
- package/lib/hooks/useGroupActivities.d.ts.map +1 -0
- package/lib/hooks/useGroupActivities.js +12 -0
- package/lib/hooks/useGroupTimestamp.d.ts +2 -0
- package/lib/hooks/useGroupTimestamp.d.ts.map +1 -0
- package/lib/hooks/useGroupTimestamp.js +21 -0
- package/lib/hooks/useLanguage.d.ts +2 -0
- package/lib/hooks/useLanguage.d.ts.map +1 -0
- package/lib/hooks/useLanguage.js +19 -0
- package/lib/hooks/useLastAcknowledgedActivityKey.d.ts +3 -0
- package/lib/hooks/useLastAcknowledgedActivityKey.d.ts.map +1 -0
- package/lib/hooks/useLastAcknowledgedActivityKey.js +11 -0
- package/lib/hooks/useLastReadActivityKey.d.ts +3 -0
- package/lib/hooks/useLastReadActivityKey.d.ts.map +1 -0
- package/lib/hooks/useLastReadActivityKey.js +11 -0
- package/lib/hooks/useLocalizer.d.ts +13 -0
- package/lib/hooks/useLocalizer.d.ts.map +1 -0
- package/lib/hooks/useLocalizer.js +75 -0
- package/lib/hooks/useMarkActivityAsSpoken.d.ts +3 -0
- package/lib/hooks/useMarkActivityAsSpoken.d.ts.map +1 -0
- package/lib/hooks/useMarkActivityAsSpoken.js +16 -0
- package/lib/hooks/useMarkActivityKeyAsRead.d.ts +3 -0
- package/lib/hooks/useMarkActivityKeyAsRead.d.ts.map +1 -0
- package/lib/hooks/useMarkActivityKeyAsRead.js +11 -0
- package/lib/hooks/useMarkAllAsAcknowledged.d.ts +3 -0
- package/lib/hooks/useMarkAllAsAcknowledged.d.ts.map +1 -0
- package/lib/hooks/useMarkAllAsAcknowledged.js +11 -0
- package/lib/hooks/useNotifications.d.ts +3 -0
- package/lib/hooks/useNotifications.d.ts.map +1 -0
- package/lib/hooks/useNotifications.js +14 -0
- package/lib/hooks/usePerformCardAction.d.ts +3 -0
- package/lib/hooks/usePerformCardAction.d.ts.map +1 -0
- package/lib/hooks/usePerformCardAction.js +12 -0
- package/lib/hooks/usePonyfill.d.ts +3 -0
- package/lib/hooks/usePonyfill.d.ts.map +1 -0
- package/lib/hooks/usePonyfill.js +11 -0
- package/lib/hooks/usePostActivity.d.ts +3 -0
- package/lib/hooks/usePostActivity.d.ts.map +1 -0
- package/lib/hooks/usePostActivity.js +12 -0
- package/lib/hooks/useReferenceGrammarID.d.ts +2 -0
- package/lib/hooks/useReferenceGrammarID.d.ts.map +1 -0
- package/lib/hooks/useReferenceGrammarID.js +14 -0
- package/lib/hooks/useRelativeTimeFormatter.d.ts +2 -0
- package/lib/hooks/useRelativeTimeFormatter.d.ts.map +1 -0
- package/lib/hooks/useRelativeTimeFormatter.js +61 -0
- package/lib/hooks/useRenderAttachment.d.ts +3 -0
- package/lib/hooks/useRenderAttachment.d.ts.map +1 -0
- package/lib/hooks/useRenderAttachment.js +14 -0
- package/lib/hooks/useRenderToast.d.ts +3 -0
- package/lib/hooks/useRenderToast.d.ts.map +1 -0
- package/lib/hooks/useRenderToast.js +12 -0
- package/lib/hooks/useRenderTypingIndicator.d.ts +3 -0
- package/lib/hooks/useRenderTypingIndicator.d.ts.map +1 -0
- package/lib/hooks/useRenderTypingIndicator.js +12 -0
- package/lib/hooks/useSendBoxAttachments.d.ts +6 -0
- package/lib/hooks/useSendBoxAttachments.d.ts.map +1 -0
- package/lib/hooks/useSendBoxAttachments.js +23 -0
- package/lib/hooks/useSendBoxValue.d.ts +2 -0
- package/lib/hooks/useSendBoxValue.d.ts.map +1 -0
- package/lib/hooks/useSendBoxValue.js +16 -0
- package/lib/hooks/useSendEvent.d.ts +2 -0
- package/lib/hooks/useSendEvent.d.ts.map +1 -0
- package/lib/hooks/useSendEvent.js +12 -0
- package/lib/hooks/useSendFiles.d.ts +10 -0
- package/lib/hooks/useSendFiles.d.ts.map +1 -0
- package/lib/hooks/useSendFiles.js +35 -0
- package/lib/hooks/useSendMessage.d.ts +6 -0
- package/lib/hooks/useSendMessage.d.ts.map +1 -0
- package/lib/hooks/useSendMessage.js +33 -0
- package/lib/hooks/useSendMessageBack.d.ts +2 -0
- package/lib/hooks/useSendMessageBack.d.ts.map +1 -0
- package/lib/hooks/useSendMessageBack.js +12 -0
- package/lib/hooks/useSendPostBack.d.ts +2 -0
- package/lib/hooks/useSendPostBack.d.ts.map +1 -0
- package/lib/hooks/useSendPostBack.js +12 -0
- package/lib/hooks/useSendStatusByActivityKey.d.ts +22 -0
- package/lib/hooks/useSendStatusByActivityKey.d.ts.map +1 -0
- package/lib/hooks/useSendStatusByActivityKey.js +31 -0
- package/lib/hooks/useSendTimeoutForActivity.d.ts +4 -0
- package/lib/hooks/useSendTimeoutForActivity.d.ts.map +1 -0
- package/lib/hooks/useSendTimeoutForActivity.js +22 -0
- package/lib/hooks/useSendTypingIndicator.d.ts +2 -0
- package/lib/hooks/useSendTypingIndicator.d.ts.map +1 -0
- package/lib/hooks/useSendTypingIndicator.js +14 -0
- package/lib/hooks/useSetNotification.d.ts +3 -0
- package/lib/hooks/useSetNotification.d.ts.map +1 -0
- package/lib/hooks/useSetNotification.js +12 -0
- package/lib/hooks/useShouldSpeakIncomingActivity.d.ts +2 -0
- package/lib/hooks/useShouldSpeakIncomingActivity.d.ts.map +1 -0
- package/lib/hooks/useShouldSpeakIncomingActivity.js +22 -0
- package/lib/hooks/useStartDictate.d.ts +2 -0
- package/lib/hooks/useStartDictate.d.ts.map +1 -0
- package/lib/hooks/useStartDictate.js +12 -0
- package/lib/hooks/useStopDictate.d.ts +2 -0
- package/lib/hooks/useStopDictate.d.ts.map +1 -0
- package/lib/hooks/useStopDictate.js +12 -0
- package/lib/hooks/useStyleOptions.d.ts +3 -0
- package/lib/hooks/useStyleOptions.d.ts.map +1 -0
- package/lib/hooks/useStyleOptions.js +12 -0
- package/lib/hooks/useSubmitSendBox.d.ts +4 -0
- package/lib/hooks/useSubmitSendBox.d.ts.map +1 -0
- package/lib/hooks/useSubmitSendBox.js +49 -0
- package/lib/hooks/useSuggestedActions.d.ts +3 -0
- package/lib/hooks/useSuggestedActions.d.ts.map +1 -0
- package/lib/hooks/useSuggestedActions.js +25 -0
- package/lib/hooks/useTimeoutForSend.d.ts +3 -0
- package/lib/hooks/useTimeoutForSend.d.ts.map +1 -0
- package/lib/hooks/useTimeoutForSend.js +21 -0
- package/lib/hooks/useTrackDimension.d.ts +2 -0
- package/lib/hooks/useTrackDimension.d.ts.map +1 -0
- package/lib/hooks/useTrackDimension.js +14 -0
- package/lib/hooks/useTrackEvent.d.ts +10 -0
- package/lib/hooks/useTrackEvent.d.ts.map +1 -0
- package/lib/hooks/useTrackEvent.js +51 -0
- package/lib/hooks/useTrackException.d.ts +2 -0
- package/lib/hooks/useTrackException.d.ts.map +1 -0
- package/lib/hooks/useTrackException.js +31 -0
- package/lib/hooks/useTrackTiming.d.ts +2 -0
- package/lib/hooks/useTrackTiming.d.ts.map +1 -0
- package/lib/hooks/useTrackTiming.js +93 -0
- package/lib/hooks/useUserID.d.ts +2 -0
- package/lib/hooks/useUserID.d.ts.map +1 -0
- package/lib/hooks/useUserID.js +12 -0
- package/lib/hooks/useUsername.d.ts +2 -0
- package/lib/hooks/useUsername.d.ts.map +1 -0
- package/lib/hooks/useUsername.js +12 -0
- package/lib/hooks/useVoiceSelector.d.ts +2 -0
- package/lib/hooks/useVoiceSelector.d.ts.map +1 -0
- package/lib/hooks/useVoiceSelector.js +16 -0
- package/lib/hooks/utils/ErrorBoundary.js +68 -0
- package/lib/hooks/utils/observableToPromise.d.ts +3 -0
- package/lib/hooks/utils/observableToPromise.d.ts.map +1 -0
- package/lib/hooks/utils/observableToPromise.js +28 -0
- package/lib/index.d.ts +37 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +88 -0
- package/lib/internal.d.ts +3 -0
- package/lib/internal.d.ts.map +1 -0
- package/lib/internal.js +14 -0
- package/lib/localization/Localize.d.ts +4 -0
- package/lib/localization/Localize.d.ts.map +1 -0
- package/lib/localization/Localize.js +50 -0
- package/lib/localization/ar-EG.json +42 -0
- package/lib/localization/ar-JO.json +45 -0
- package/lib/localization/ar-SA.json +112 -0
- package/lib/localization/bg-BG.json +112 -0
- package/lib/localization/ca-ES.json +112 -0
- package/lib/localization/cs-CZ.json +112 -0
- package/lib/localization/da-DK.json +112 -0
- package/lib/localization/de-DE.json +112 -0
- package/lib/localization/el-GR.json +112 -0
- package/lib/localization/en-US.json +183 -0
- package/lib/localization/es-ES.json +112 -0
- package/lib/localization/et-EE.json +112 -0
- package/lib/localization/eu-ES.json +112 -0
- package/lib/localization/fi-FI.json +112 -0
- package/lib/localization/fr-FR.json +112 -0
- package/lib/localization/getAllLocalizedStrings.d.ts +6 -0
- package/lib/localization/getAllLocalizedStrings.d.ts.map +1 -0
- package/lib/localization/getAllLocalizedStrings.js +117 -0
- package/lib/localization/getRTLList.d.ts +2 -0
- package/lib/localization/getRTLList.d.ts.map +1 -0
- package/lib/localization/getRTLList.js +46 -0
- package/lib/localization/gl-ES.json +112 -0
- package/lib/localization/he-IL.json +112 -0
- package/lib/localization/hi-IN.json +112 -0
- package/lib/localization/hr-HR.json +112 -0
- package/lib/localization/hu-HU.json +112 -0
- package/lib/localization/id-ID.json +112 -0
- package/lib/localization/it-IT.json +112 -0
- package/lib/localization/ja-JP.json +112 -0
- package/lib/localization/kk-KZ.json +112 -0
- package/lib/localization/ko-KR.json +112 -0
- package/lib/localization/lt-LT.json +112 -0
- package/lib/localization/lv-LV.json +112 -0
- package/lib/localization/mergeLocalizedStrings.d.ts +7 -0
- package/lib/localization/mergeLocalizedStrings.d.ts.map +1 -0
- package/lib/localization/mergeLocalizedStrings.js +49 -0
- package/lib/localization/ms-MY.json +112 -0
- package/lib/localization/nb-NO.json +112 -0
- package/lib/localization/nl-NL.json +112 -0
- package/lib/localization/overrides.json +257 -0
- package/lib/localization/pl-PL.json +112 -0
- package/lib/localization/pt-BR.json +112 -0
- package/lib/localization/pt-PT.json +112 -0
- package/lib/localization/ro-RO.json +112 -0
- package/lib/localization/ru-RU.json +112 -0
- package/lib/localization/sk-SK.json +112 -0
- package/lib/localization/sl-SI.json +112 -0
- package/lib/localization/sl-SL.json +3 -0
- package/lib/localization/sr-Cyrl-CS.json +112 -0
- package/lib/localization/sr-Cyrl.json +3 -0
- package/lib/localization/sr-Latn-CS.json +112 -0
- package/lib/localization/sr-Latn.json +3 -0
- package/lib/localization/sv-SE.json +112 -0
- package/lib/localization/th-TH.json +112 -0
- package/lib/localization/tr-TR.json +112 -0
- package/lib/localization/uk-UA.json +112 -0
- package/lib/localization/vi-VN.json +112 -0
- package/lib/localization/yue.json +115 -0
- package/lib/localization/zh-CN.json +112 -0
- package/lib/localization/zh-HK.json +112 -0
- package/lib/localization/zh-TW.json +112 -0
- package/lib/normalizeStyleOptions.d.ts +3 -0
- package/lib/normalizeStyleOptions.d.ts.map +1 -0
- package/lib/normalizeStyleOptions.js +147 -0
- package/lib/patchStyleOptionsFromDeprecatedProps.js +21 -0
- package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts +6 -0
- package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.js +153 -0
- package/lib/providers/ActivityAcknowledgement/private/Context.d.ts +13 -0
- package/lib/providers/ActivityAcknowledgement/private/Context.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/private/Context.js +14 -0
- package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts +3 -0
- package/lib/providers/ActivityAcknowledgement/private/useContext.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/private/useContext.js +18 -0
- package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts +5 -0
- package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/useActivityKeysByRead.js +15 -0
- package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts +2 -0
- package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/useGetHasAcknowledgedByActivityKey.js +12 -0
- package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts +2 -0
- package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/useLastAcknowledgedActivityKey.js +12 -0
- package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts +2 -0
- package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/useLastReadActivityKey.js +12 -0
- package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts +2 -0
- package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/useMarkActivityKeyAsRead.js +12 -0
- package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts +2 -0
- package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.d.ts.map +1 -0
- package/lib/providers/ActivityAcknowledgement/useMarkAllAsAcknowledged.js +12 -0
- package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts +20 -0
- package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/ActivityKeyerComposer.js +149 -0
- package/lib/providers/ActivityKeyer/private/Context.d.ts +13 -0
- package/lib/providers/ActivityKeyer/private/Context.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/Context.js +10 -0
- package/lib/providers/ActivityKeyer/private/getActivityId.d.ts +3 -0
- package/lib/providers/ActivityKeyer/private/getActivityId.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/getActivityId.js +10 -0
- package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts +3 -0
- package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/getClientActivityId.js +11 -0
- package/lib/providers/ActivityKeyer/private/lastOf.d.ts +2 -0
- package/lib/providers/ActivityKeyer/private/lastOf.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/lastOf.js +10 -0
- package/lib/providers/ActivityKeyer/private/lastOf.spec.d.ts +2 -0
- package/lib/providers/ActivityKeyer/private/lastOf.spec.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/someIterable.d.ts +2 -0
- package/lib/providers/ActivityKeyer/private/someIterable.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/someIterable.js +27 -0
- package/lib/providers/ActivityKeyer/private/someIterable.spec.d.ts +2 -0
- package/lib/providers/ActivityKeyer/private/someIterable.spec.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/uniqueId.d.ts +2 -0
- package/lib/providers/ActivityKeyer/private/uniqueId.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/uniqueId.js +15 -0
- package/lib/providers/ActivityKeyer/private/useContext.d.ts +3 -0
- package/lib/providers/ActivityKeyer/private/useContext.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/private/useContext.js +18 -0
- package/lib/providers/ActivityKeyer/useActivityKeys.d.ts +2 -0
- package/lib/providers/ActivityKeyer/useActivityKeys.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/useActivityKeys.js +12 -0
- package/lib/providers/ActivityKeyer/useGetActivitiesByKey.d.ts +3 -0
- package/lib/providers/ActivityKeyer/useGetActivitiesByKey.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/useGetActivitiesByKey.js +12 -0
- package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts +3 -0
- package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/useGetActivityByKey.js +12 -0
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts +3 -0
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.js +12 -0
- package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts +2 -0
- package/lib/providers/ActivityKeyer/useGetKeyByActivityId.d.ts.map +1 -0
- package/lib/providers/ActivityKeyer/useGetKeyByActivityId.js +12 -0
- package/lib/providers/ActivityListener/ActivityListenerComposer.d.ts +7 -0
- package/lib/providers/ActivityListener/ActivityListenerComposer.d.ts.map +1 -0
- package/lib/providers/ActivityListener/ActivityListenerComposer.js +55 -0
- package/lib/providers/ActivityListener/private/Context.d.ts +8 -0
- package/lib/providers/ActivityListener/private/Context.d.ts.map +1 -0
- package/lib/providers/ActivityListener/private/Context.js +15 -0
- package/lib/providers/ActivityListener/private/useContext.d.ts +2 -0
- package/lib/providers/ActivityListener/private/useContext.d.ts.map +1 -0
- package/lib/providers/ActivityListener/private/useContext.js +13 -0
- package/lib/providers/ActivityListener/useUpsertedActivities.d.ts +3 -0
- package/lib/providers/ActivityListener/useUpsertedActivities.d.ts.map +1 -0
- package/lib/providers/ActivityListener/useUpsertedActivities.js +12 -0
- package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.d.ts +4 -0
- package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.d.ts.map +1 -0
- package/lib/providers/ActivitySendStatus/ActivitySendStatusComposer.js +149 -0
- package/lib/providers/ActivitySendStatus/private/Context.d.ts +9 -0
- package/lib/providers/ActivitySendStatus/private/Context.d.ts.map +1 -0
- package/lib/providers/ActivitySendStatus/private/Context.js +13 -0
- package/lib/providers/ActivitySendStatus/private/isMapEqual.d.ts +7 -0
- package/lib/providers/ActivitySendStatus/private/isMapEqual.d.ts.map +1 -0
- package/lib/providers/ActivitySendStatus/private/isMapEqual.js +55 -0
- package/lib/providers/ActivitySendStatus/private/useContext.d.ts +3 -0
- package/lib/providers/ActivitySendStatus/private/useContext.d.ts.map +1 -0
- package/lib/providers/ActivitySendStatus/private/useContext.js +18 -0
- package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.d.ts +22 -0
- package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.d.ts.map +1 -0
- package/lib/providers/ActivitySendStatus/useSendStatusByActivityKey.js +31 -0
- package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.d.ts +3 -0
- package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.d.ts.map +1 -0
- package/lib/providers/ActivitySendStatusTelemetry/ActivitySendStatusTelemetryComposer.js +71 -0
- package/lib/providers/ActivityTyping/ActivityTypingComposer.d.ts +9 -0
- package/lib/providers/ActivityTyping/ActivityTypingComposer.d.ts.map +1 -0
- package/lib/providers/ActivityTyping/ActivityTypingComposer.js +98 -0
- package/lib/providers/ActivityTyping/private/Context.d.ts +8 -0
- package/lib/providers/ActivityTyping/private/Context.d.ts.map +1 -0
- package/lib/providers/ActivityTyping/private/Context.js +15 -0
- package/lib/providers/ActivityTyping/private/useContext.d.ts +3 -0
- package/lib/providers/ActivityTyping/private/useContext.d.ts.map +1 -0
- package/lib/providers/ActivityTyping/private/useContext.js +13 -0
- package/lib/providers/ActivityTyping/private/useMemoWithPrevious.d.ts +3 -0
- package/lib/providers/ActivityTyping/private/useMemoWithPrevious.d.ts.map +1 -0
- package/lib/providers/ActivityTyping/private/useMemoWithPrevious.js +22 -0
- package/lib/providers/ActivityTyping/types/AllTyping.d.ts +9 -0
- package/lib/providers/ActivityTyping/types/AllTyping.d.ts.map +1 -0
- package/lib/providers/ActivityTyping/types/AllTyping.js +2 -0
- package/lib/providers/ActivityTyping/useAllTyping.d.ts +3 -0
- package/lib/providers/ActivityTyping/useAllTyping.d.ts.map +1 -0
- package/lib/providers/ActivityTyping/useAllTyping.js +12 -0
- package/lib/providers/Ponyfill/PonyfillComposer.d.ts +17 -0
- package/lib/providers/Ponyfill/PonyfillComposer.d.ts.map +1 -0
- package/lib/providers/Ponyfill/PonyfillComposer.js +87 -0
- package/lib/providers/Ponyfill/private/PonyfillContext.d.ts +8 -0
- package/lib/providers/Ponyfill/private/PonyfillContext.d.ts.map +1 -0
- package/lib/providers/Ponyfill/private/PonyfillContext.js +10 -0
- package/lib/providers/Ponyfill/private/useContext.d.ts +6 -0
- package/lib/providers/Ponyfill/private/useContext.d.ts.map +1 -0
- package/lib/providers/Ponyfill/private/useContext.js +17 -0
- package/lib/providers/Ponyfill/usePonyfill.d.ts +3 -0
- package/lib/providers/Ponyfill/usePonyfill.d.ts.map +1 -0
- package/lib/providers/Ponyfill/usePonyfill.js +12 -0
- package/lib/tsconfig.json +18 -0
- package/lib/types/ActivityMiddleware.d.ts +24 -0
- package/lib/types/ActivityMiddleware.d.ts.map +1 -0
- package/lib/types/ActivityMiddleware.js +2 -0
- package/lib/types/ActivityStatusMiddleware.d.ts +17 -0
- package/lib/types/ActivityStatusMiddleware.d.ts.map +1 -0
- package/lib/types/ActivityStatusMiddleware.js +2 -0
- package/lib/types/AttachmentForScreenReaderMiddleware.d.ts +14 -0
- package/lib/types/AttachmentForScreenReaderMiddleware.d.ts.map +1 -0
- package/lib/types/AttachmentForScreenReaderMiddleware.js +2 -0
- package/lib/types/AttachmentMiddleware.d.ts +12 -0
- package/lib/types/AttachmentMiddleware.d.ts.map +1 -0
- package/lib/types/AttachmentMiddleware.js +2 -0
- package/lib/types/AvatarMiddleware.d.ts +15 -0
- package/lib/types/AvatarMiddleware.d.ts.map +1 -0
- package/lib/types/AvatarMiddleware.js +2 -0
- package/lib/types/CardActionMiddleware.d.ts +19 -0
- package/lib/types/CardActionMiddleware.d.ts.map +1 -0
- package/lib/types/CardActionMiddleware.js +2 -0
- package/lib/types/ComponentMiddleware.d.ts +31 -0
- package/lib/types/ComponentMiddleware.d.ts.map +1 -0
- package/lib/types/ComponentMiddleware.js +2 -0
- package/lib/types/ContextOf.d.ts +4 -0
- package/lib/types/ContextOf.d.ts.map +1 -0
- package/lib/types/ContextOf.js +2 -0
- package/lib/types/FunctionMiddleware.d.ts +6 -0
- package/lib/types/FunctionMiddleware.d.ts.map +1 -0
- package/lib/types/FunctionMiddleware.js +2 -0
- package/lib/types/GroupActivitiesMiddleware.d.ts +22 -0
- package/lib/types/GroupActivitiesMiddleware.d.ts.map +1 -0
- package/lib/types/GroupActivitiesMiddleware.js +2 -0
- package/lib/types/LocalizedStrings.d.ts +5 -0
- package/lib/types/LocalizedStrings.d.ts.map +1 -0
- package/lib/types/LocalizedStrings.js +2 -0
- package/lib/types/Notification.d.ts +10 -0
- package/lib/types/Notification.d.ts.map +1 -0
- package/lib/types/Notification.js +2 -0
- package/lib/types/PrecompiledGlobalize.d.ts +13 -0
- package/lib/types/PrecompiledGlobalize.d.ts.map +1 -0
- package/lib/types/PrecompiledGlobalize.js +2 -0
- package/lib/types/ScrollToEndButtonMiddleware.d.ts +30 -0
- package/lib/types/ScrollToEndButtonMiddleware.d.ts.map +1 -0
- package/lib/types/ScrollToEndButtonMiddleware.js +2 -0
- package/lib/types/SendStatus.d.ts +3 -0
- package/lib/types/SendStatus.d.ts.map +1 -0
- package/lib/types/SendStatus.js +2 -0
- package/lib/types/TelemetryMeasurementEvent.d.ts +31 -0
- package/lib/types/TelemetryMeasurementEvent.d.ts.map +1 -0
- package/lib/types/TelemetryMeasurementEvent.js +2 -0
- package/lib/types/ToastMiddleware.d.ts +11 -0
- package/lib/types/ToastMiddleware.d.ts.map +1 -0
- package/lib/types/ToastMiddleware.js +2 -0
- package/lib/types/Typing.d.ts +8 -0
- package/lib/types/Typing.d.ts.map +1 -0
- package/lib/types/Typing.js +2 -0
- package/lib/types/TypingIndicatorMiddleware.d.ts +17 -0
- package/lib/types/TypingIndicatorMiddleware.d.ts.map +1 -0
- package/lib/types/TypingIndicatorMiddleware.js +2 -0
- package/lib/types/WebSpeechPonyfill.d.ts +19 -0
- package/lib/types/WebSpeechPonyfill.d.ts.map +1 -0
- package/lib/types/WebSpeechPonyfill.js +2 -0
- package/lib/types/WebSpeechPonyfillFactory.d.ts +6 -0
- package/lib/types/WebSpeechPonyfillFactory.d.ts.map +1 -0
- package/lib/types/WebSpeechPonyfillFactory.js +2 -0
- package/lib/utils/createCustomEvent.d.ts +4 -0
- package/lib/utils/createCustomEvent.d.ts.map +1 -0
- package/lib/utils/createCustomEvent.js +34 -0
- package/lib/utils/findLastIndex.d.ts +2 -0
- package/lib/utils/findLastIndex.d.ts.map +1 -0
- package/lib/utils/findLastIndex.js +22 -0
- package/lib/utils/findMin.d.ts +7 -0
- package/lib/utils/findMin.d.ts.map +1 -0
- package/lib/utils/findMin.js +46 -0
- package/lib/utils/freezeArray.d.ts +8 -0
- package/lib/utils/freezeArray.d.ts.map +1 -0
- package/lib/utils/freezeArray.js +19 -0
- package/lib/utils/isObject.js +12 -0
- package/lib/utils/mapMap.d.ts +6 -0
- package/lib/utils/mapMap.d.ts.map +1 -0
- package/lib/utils/mapMap.js +27 -0
- package/lib/utils/normalizeLanguage.d.ts +2 -0
- package/lib/utils/normalizeLanguage.d.ts.map +1 -0
- package/lib/utils/normalizeLanguage.js +115 -0
- package/lib/utils/randomId.d.ts +2 -0
- package/lib/utils/randomId.d.ts.map +1 -0
- package/lib/utils/randomId.js +15 -0
- package/lib/utils/warnOnce.d.ts +2 -0
- package/lib/utils/warnOnce.d.ts.map +1 -0
- package/lib/utils/warnOnce.js +16 -0
- package/package.json +90 -99
- package/src/StyleOptions.ts +5 -189
- package/src/decorator/index.ts +4 -0
- package/src/decorator/private/ActivityBorderDecoratorMiddleware.ts +31 -0
- package/src/decorator/private/ActivityDecorator.tsx +31 -0
- package/src/decorator/private/DecoratorComposer.tsx +6 -0
- package/src/decorator/private/activityDecoratorRequest.ts +6 -0
- package/src/decorator/private/createDecoratorComposer.tsx +36 -0
- package/src/{middleware → decorator}/private/templateMiddleware.test.tsx +17 -19
- package/src/decorator/private/templateMiddleware.ts +58 -0
- package/src/defaultStyleOptions.ts +7 -40
- package/src/hooks/Composer.tsx +137 -198
- package/src/hooks/index.ts +2 -19
- package/src/hooks/internal/ErrorBox.js +34 -0
- package/src/hooks/internal/SendBoxMiddleware.ts +21 -0
- package/src/hooks/internal/SendBoxToolbarMiddleware.ts +21 -0
- package/src/hooks/internal/Tracker.ts +1 -1
- package/src/hooks/internal/WebChatAPIContext.ts +12 -7
- package/src/hooks/internal/WebChatReduxContext.js +2 -3
- package/src/hooks/internal/private/templateMiddleware.ts +4 -0
- package/src/hooks/internal/useCreateActivityRendererInternal.ts +46 -0
- package/src/hooks/internal/useDebugDeps.js +30 -0
- package/src/hooks/internal/useErrorBoxClass.js +7 -0
- package/src/hooks/middleware/UserlandBoundary.js +2 -2
- package/src/hooks/middleware/applyMiddleware.js +5 -5
- package/src/hooks/middleware/concatMiddleware.spec.js +0 -20
- package/src/hooks/middleware/concatMiddleware.ts +6 -7
- package/src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts +75 -0
- package/src/hooks/private/reduceIterable.spec.ts +2 -0
- package/src/hooks/useActiveTyping.ts +2 -3
- package/src/hooks/useActivities.ts +3 -62
- package/src/hooks/useCreateActivityRenderer.ts +6 -27
- package/src/hooks/useCreateActivityStatusRenderer.tsx +33 -13
- package/src/hooks/useCreateAvatarRenderer.ts +33 -19
- package/src/hooks/useDebouncedNotifications.spec.js +0 -1
- package/src/hooks/useDisabled.ts +2 -8
- package/src/hooks/useGroupActivities.ts +10 -0
- package/src/hooks/useRenderAttachment.ts +2 -2
- package/src/hooks/useSendBoxAttachments.ts +0 -2
- package/src/hooks/useSendFiles.ts +1 -1
- package/src/hooks/useSendTimeoutForActivity.ts +0 -2
- package/src/hooks/useStyleOptions.ts +6 -1
- package/src/hooks/useSuggestedActions.ts +23 -9
- package/src/index.ts +94 -52
- package/src/internal.ts +3 -0
- package/src/localization/ar-SA.json +111 -134
- package/src/localization/bg-BG.json +111 -134
- package/src/localization/ca-ES.json +111 -134
- package/src/localization/cs-CZ.json +111 -134
- package/src/localization/da-DK.json +111 -134
- package/src/localization/de-DE.json +111 -134
- package/src/localization/el-GR.json +111 -134
- package/src/localization/en-US.json +19 -45
- package/src/localization/es-ES.json +111 -134
- package/src/localization/et-EE.json +111 -134
- package/src/localization/eu-ES.json +111 -134
- package/src/localization/fi-FI.json +111 -134
- package/src/localization/fr-FR.json +111 -134
- package/src/localization/gl-ES.json +111 -134
- package/src/localization/he-IL.json +111 -134
- package/src/localization/hi-IN.json +111 -134
- package/src/localization/hr-HR.json +111 -134
- package/src/localization/hu-HU.json +111 -134
- package/src/localization/id-ID.json +111 -134
- package/src/localization/it-IT.json +111 -134
- package/src/localization/ja-JP.json +111 -134
- package/src/localization/kk-KZ.json +111 -134
- package/src/localization/ko-KR.json +111 -134
- package/src/localization/lt-LT.json +111 -134
- package/src/localization/lv-LV.json +111 -134
- package/src/localization/ms-MY.json +111 -134
- package/src/localization/nb-NO.json +111 -134
- package/src/localization/nl-NL.json +111 -134
- package/src/localization/pl-PL.json +111 -134
- package/src/localization/pt-BR.json +111 -134
- package/src/localization/pt-PT.json +111 -134
- package/src/localization/ro-RO.json +111 -134
- package/src/localization/ru-RU.json +111 -134
- package/src/localization/sk-SK.json +111 -134
- package/src/localization/sl-SI.json +111 -134
- package/src/localization/sr-Cyrl-CS.json +111 -134
- package/src/localization/sr-Latn-CS.json +111 -134
- package/src/localization/sv-SE.json +111 -134
- package/src/localization/th-TH.json +111 -134
- package/src/localization/tr-TR.json +111 -134
- package/src/localization/uk-UA.json +111 -134
- package/src/localization/vi-VN.json +111 -134
- package/src/localization/yue.json +16 -5
- package/src/localization/zh-CN.json +111 -134
- package/src/localization/zh-HK.json +111 -134
- package/src/localization/zh-TW.json +111 -134
- package/src/normalizeStyleOptions.ts +21 -70
- package/src/patchStyleOptionsFromDeprecatedProps.js +0 -9
- package/src/providers/ActivityKeyer/ActivityKeyerComposer.tsx +40 -197
- package/src/providers/ActivityKeyer/private/someIterable.spec.ts +2 -0
- package/src/providers/ActivityListener/ActivityListenerComposer.tsx +1 -1
- package/src/providers/ActivitySendStatus/ActivitySendStatusComposer.tsx +3 -6
- package/src/providers/ActivityTyping/ActivityTypingComposer.tsx +59 -145
- package/src/providers/ActivityTyping/private/useMemoWithPrevious.ts +17 -0
- package/src/tsconfig.json +13 -3
- package/src/types/ActivityMiddleware.ts +36 -0
- package/src/types/ActivityStatusMiddleware.ts +9 -1
- package/src/types/AttachmentForScreenReaderMiddleware.ts +2 -9
- package/src/types/AttachmentMiddleware.ts +16 -0
- package/src/types/AvatarMiddleware.ts +1 -12
- package/src/types/CardActionMiddleware.ts +0 -2
- package/src/types/ComponentMiddleware.ts +1 -1
- package/src/types/GroupActivitiesMiddleware.ts +11 -7
- package/src/utils/warnOnce.ts +10 -0
- package/LICENSE +0 -21
- package/dist/StyleOptions-Bee70Zop.d.ts +0 -849
- package/dist/_dtsroll-chunks/BSWz9ZFy-avatarMiddleware-B0l6i8QF.d.ts +0 -83
- package/dist/_dtsroll-chunks/CDCBhxik-avatarMiddleware-B0l6i8QF.d.ts +0 -98
- package/dist/_dtsroll-chunks/CEcj2Npa-botframework-webchat-redux-store.d.ts +0 -16
- package/dist/_dtsroll-chunks/Dtb0H_Ee-handler-chain.d.ts +0 -4
- package/dist/_dtsroll-chunks/N-ttGLxs-botframework-webchat-base.utils.d.ts +0 -4
- package/dist/_dtsroll-chunks/q-lT10Y_-botframework-webchat-api-middleware.d.ts +0 -215
- package/dist/botframework-webchat-api.d.ts +0 -384
- package/dist/botframework-webchat-api.decorator.d.ts +0 -80
- package/dist/botframework-webchat-api.decorator.js +0 -2
- package/dist/botframework-webchat-api.decorator.js.map +0 -1
- package/dist/botframework-webchat-api.graph.d.mts +0 -5
- package/dist/botframework-webchat-api.graph.d.ts +0 -2
- package/dist/botframework-webchat-api.graph.js +0 -2
- package/dist/botframework-webchat-api.graph.js.map +0 -1
- package/dist/botframework-webchat-api.graph.mjs +0 -2
- package/dist/botframework-webchat-api.hook.d.mts +0 -9
- package/dist/botframework-webchat-api.hook.d.ts +0 -9
- package/dist/botframework-webchat-api.hook.js +0 -2
- package/dist/botframework-webchat-api.hook.js.map +0 -1
- package/dist/botframework-webchat-api.hook.mjs +0 -2
- package/dist/botframework-webchat-api.hook.mjs.map +0 -1
- package/dist/botframework-webchat-api.internal.d.ts +0 -59
- package/dist/botframework-webchat-api.internal.js +0 -2
- package/dist/botframework-webchat-api.internal.js.map +0 -1
- package/dist/botframework-webchat-api.js +0 -2
- package/dist/botframework-webchat-api.js.map +0 -1
- package/dist/botframework-webchat-api.middleware.d.mts +0 -44
- package/dist/botframework-webchat-api.middleware.d.ts +0 -44
- package/dist/botframework-webchat-api.middleware.js +0 -2
- package/dist/botframework-webchat-api.middleware.js.map +0 -1
- package/dist/botframework-webchat-api.middleware.mjs +0 -2
- package/dist/botframework-webchat-api.middleware.mjs.map +0 -1
- package/dist/chunk-2IRRBWXD.js +0 -2
- package/dist/chunk-2IRRBWXD.js.map +0 -1
- package/dist/chunk-4CC4CF3L.mjs +0 -2
- package/dist/chunk-4CC4CF3L.mjs.map +0 -1
- package/dist/chunk-5ETCWTZU.mjs +0 -2
- package/dist/chunk-5ETCWTZU.mjs.map +0 -1
- package/dist/chunk-5X4VJZOM.js +0 -2
- package/dist/chunk-5X4VJZOM.js.map +0 -1
- package/dist/chunk-6UG4W3AA.js +0 -2
- package/dist/chunk-6UG4W3AA.js.map +0 -1
- package/dist/chunk-7GV72C4W.js +0 -2
- package/dist/chunk-7GV72C4W.js.map +0 -1
- package/dist/chunk-7MMWRS2R.js +0 -2
- package/dist/chunk-7MMWRS2R.js.map +0 -1
- package/dist/chunk-A4U2D2CE.js +0 -2
- package/dist/chunk-A4U2D2CE.js.map +0 -1
- package/dist/chunk-CXPZ35K7.mjs +0 -2
- package/dist/chunk-CXPZ35K7.mjs.map +0 -1
- package/dist/chunk-FD7QXXVX.js +0 -2
- package/dist/chunk-FD7QXXVX.js.map +0 -1
- package/dist/chunk-M6YLCIBQ.mjs +0 -2
- package/dist/chunk-M6YLCIBQ.mjs.map +0 -1
- package/dist/chunk-MXSKDQ7V.js +0 -2
- package/dist/chunk-MXSKDQ7V.js.map +0 -1
- package/dist/chunk-NTAQPS75.mjs +0 -2
- package/dist/chunk-NTAQPS75.mjs.map +0 -1
- package/dist/chunk-NW6DC3HN.js +0 -2
- package/dist/chunk-NW6DC3HN.js.map +0 -1
- package/dist/chunk-OT2H52K5.js +0 -2
- package/dist/chunk-OT2H52K5.js.map +0 -1
- package/dist/chunk-P74ZJTC3.mjs +0 -2
- package/dist/chunk-P74ZJTC3.mjs.map +0 -1
- package/dist/chunk-RLEJOP6E.mjs +0 -2
- package/dist/chunk-RLEJOP6E.mjs.map +0 -1
- package/dist/chunk-SHCJFXJD.js +0 -2
- package/dist/chunk-SHCJFXJD.js.map +0 -1
- package/dist/chunk-T4YVMFKP.js +0 -2
- package/dist/chunk-T4YVMFKP.js.map +0 -1
- package/dist/chunk-U4BPKCQU.mjs +0 -2
- package/dist/chunk-U4BPKCQU.mjs.map +0 -1
- package/dist/chunk-VAX7AB37.mjs.map +0 -1
- package/dist/chunk-VNGDFILB.mjs +0 -2
- package/dist/chunk-VNGDFILB.mjs.map +0 -1
- package/dist/chunk-VOKEMAOZ.mjs +0 -2
- package/dist/chunk-VOKEMAOZ.mjs.map +0 -1
- package/dist/chunk-ZFVI4FOP.mjs +0 -2
- package/dist/chunk-ZFVI4FOP.mjs.map +0 -1
- package/dist/hook-C8DMnLlW.d.ts +0 -534
- package/dist/hook-C_R_DybN.d.mts +0 -534
- package/dist/metafile-cjs.json +0 -1
- package/dist/templateMiddleware-BEttHPJk.d.mts +0 -20
- package/dist/templateMiddleware-BEttHPJk.d.ts +0 -20
- package/dist/types-BI1IxyHE.d.mts +0 -227
- package/dist/types-nONiO2zU.d.ts +0 -227
- package/graph.js +0 -3
- package/hook.js +0 -3
- package/middleware.js +0 -3
- package/src/__tests__/addMetaTag.spec.js +0 -9
- package/src/__tests__/addMetaTag.spec.mjs +0 -9
- package/src/boot/decorator.ts +0 -21
- package/src/boot/graph.ts +0 -1
- package/src/boot/hook.ts +0 -82
- package/src/boot/internal.ts +0 -7
- package/src/boot/middleware.ts +0 -60
- package/src/buildInfo.ts +0 -9
- package/src/decorator/ActivityBorder/ActivityBorderDecorator.tsx +0 -57
- package/src/decorator/ActivityBorder/private/ActivityBorderDecoratorMiddleware.ts +0 -34
- package/src/decorator/ActivityBorder/private/ActivityBorderDecoratorRequestContext.ts +0 -48
- package/src/decorator/ActivityGrouping/ActivityGroupingDecorator.tsx +0 -43
- package/src/decorator/ActivityGrouping/private/ActivityGroupingDecoratorMiddleware.ts +0 -40
- package/src/decorator/DecoratorComposer.tsx +0 -51
- package/src/decorator/internal/InternalDecoratorComposer.tsx +0 -33
- package/src/decorator/internal/LowPriorityDecoratorComposer.tsx +0 -19
- package/src/decorator/private/DecoratorComposerContext.ts +0 -16
- package/src/decorator/private/PassthroughFallback.tsx +0 -12
- package/src/decorator/private/templateDecorator.tsx +0 -115
- package/src/decorator/types.ts +0 -4
- package/src/decorator/useDecoratorRequest.ts +0 -15
- package/src/env.d.ts +0 -9
- package/src/errorBox/errorBoxTelemetryPolymiddleware.ts +0 -53
- package/src/hooks/internal/usePostVoiceActivity.ts +0 -18
- package/src/hooks/internal/useRegisterVoiceHandler.ts +0 -23
- package/src/hooks/internal/useShouldShowMicrophoneButton.ts +0 -22
- package/src/hooks/internal/useVoiceHandlers.ts +0 -11
- package/src/hooks/internal/useVoiceStateWritable.ts +0 -18
- package/src/hooks/middleware/activityFallbackPolymiddleware.ts +0 -23
- package/src/hooks/useStartVoice.ts +0 -9
- package/src/hooks/useStopVoice.ts +0 -9
- package/src/hooks/useUIState.ts +0 -18
- package/src/hooks/useVoiceRecordingMuted.ts +0 -24
- package/src/hooks/useVoiceState.ts +0 -15
- package/src/hooks/validation/uiState.parseUIState.spec.ts +0 -21
- package/src/hooks/validation/uiState.ts +0 -10
- package/src/legacy/LegacyActivityBridge.tsx +0 -77
- package/src/legacy/LegacyActivityBridgeContext.ts +0 -23
- package/src/legacy/createActivityPolymiddlewareFromLegacy.tsx +0 -123
- package/src/legacy/createAvatarPolymiddlewareFromLegacy.tsx +0 -102
- package/src/middleware/AvatarPolymiddlewareProxy.tsx +0 -46
- package/src/middleware/SendBoxMiddleware.ts +0 -28
- package/src/middleware/SendBoxToolbarMiddleware.ts +0 -28
- package/src/middleware/private/templateMiddleware.check.test.tsx +0 -47
- package/src/middleware/private/templateMiddleware.tsx +0 -106
- package/src/middleware/useBuildRenderAvatarCallback.ts +0 -37
- package/src/providers/ActivityTyping/private/useReduceActivities.spec.tsx +0 -236
- package/src/providers/ActivityTyping/private/useReduceActivities.ts +0 -49
- package/src/providers/Capabilities/CapabilitiesComposer.tsx +0 -53
- package/src/providers/Capabilities/private/Context.ts +0 -13
- package/src/providers/Capabilities/private/capabilityRegistry.ts +0 -45
- package/src/providers/Capabilities/private/fetchCapabilitiesFromAdapter.ts +0 -59
- package/src/providers/Capabilities/private/shallowEqual.ts +0 -18
- package/src/providers/Capabilities/private/useContext.ts +0 -12
- package/src/providers/Capabilities/types/Capabilities.ts +0 -16
- package/src/providers/Capabilities/useCapabilities.ts +0 -25
- package/src/providers/GroupActivities/GroupActivitiesComposer.tsx +0 -116
- package/src/providers/GroupActivities/private/GroupActivitiesContext.ts +0 -23
- package/src/providers/GroupActivities/private/createDefaultGroupActivitiesMiddleware.ts +0 -113
- package/src/providers/GroupActivities/private/isGroupingValid.ts +0 -41
- package/src/providers/GroupActivities/private/useGroupActivitiesContext.ts +0 -6
- package/src/providers/GroupActivities/useGroupActivities.ts +0 -20
- package/src/providers/GroupActivities/useGroupActivitiesByName.ts +0 -17
- package/src/providers/SpeechToSpeech/SpeechToSpeechComposer.tsx +0 -20
- package/src/providers/SpeechToSpeech/private/VoiceHandlerBridge.tsx +0 -23
- package/src/providers/SpeechToSpeech/private/VoiceRecorderBridge.tsx +0 -49
- package/src/providers/SpeechToSpeech/private/useAudioPlayer.spec.tsx +0 -355
- package/src/providers/SpeechToSpeech/private/useAudioPlayer.ts +0 -92
- package/src/providers/SpeechToSpeech/private/useRecorder.spec.tsx +0 -344
- package/src/providers/SpeechToSpeech/private/useRecorder.ts +0 -220
- package/src/providers/StyleOptions/StyleOptionsComposer.tsx +0 -46
- package/src/providers/StyleOptions/private/StyleOptionsContext.ts +0 -20
- package/src/providers/StyleOptions/private/rectifyStyleOptions.ts +0 -7
- package/src/providers/StyleOptions/useStyleOptions.ts +0 -6
- /package/dist/{botframework-webchat-api.graph.mjs.map → chunk-J6D5YEY6.mjs.map} +0 -0
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getActivityLivestreamingMetadata,
|
|
3
|
-
getVoiceActivityRole,
|
|
4
|
-
isVoiceActivity,
|
|
5
|
-
type WebChatActivity
|
|
6
|
-
} from 'botframework-webchat-core';
|
|
7
|
-
import React, { memo, useMemo, type ReactNode } from 'react';
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
ActivityBorderDecoratorMiddlewareProxy,
|
|
11
|
-
createActivityBorderMiddleware,
|
|
12
|
-
type ActivityBorderDecoratorMiddlewareRequest
|
|
13
|
-
} from './private/ActivityBorderDecoratorMiddleware';
|
|
14
|
-
import ActivityBorderDecoratorRequestContext from './private/ActivityBorderDecoratorRequestContext';
|
|
15
|
-
|
|
16
|
-
const supportedActivityRoles: ActivityBorderDecoratorMiddlewareRequest['from'][] = [
|
|
17
|
-
'bot',
|
|
18
|
-
'channel',
|
|
19
|
-
'user',
|
|
20
|
-
undefined
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
type ActivityBorderDecoratorProps = Readonly<{
|
|
24
|
-
activity?: WebChatActivity | undefined;
|
|
25
|
-
children?: ReactNode | undefined;
|
|
26
|
-
}>;
|
|
27
|
-
|
|
28
|
-
function ActivityBorderDecorator({ activity, children }: ActivityBorderDecoratorProps) {
|
|
29
|
-
const request = useMemo<ActivityBorderDecoratorMiddlewareRequest>(() => {
|
|
30
|
-
const { type } = getActivityLivestreamingMetadata(activity) || {};
|
|
31
|
-
|
|
32
|
-
return {
|
|
33
|
-
from: isVoiceActivity(activity)
|
|
34
|
-
? getVoiceActivityRole(activity)
|
|
35
|
-
: supportedActivityRoles.includes(activity?.from?.role)
|
|
36
|
-
? activity?.from?.role
|
|
37
|
-
: undefined,
|
|
38
|
-
modality: new Set(isVoiceActivity(activity) ? ['audio', 'text'] : ['text']),
|
|
39
|
-
livestreamingState:
|
|
40
|
-
type === 'final activity'
|
|
41
|
-
? 'completing'
|
|
42
|
-
: type === 'informative message'
|
|
43
|
-
? 'preparing'
|
|
44
|
-
: type === 'interim activity'
|
|
45
|
-
? 'ongoing'
|
|
46
|
-
: type === 'contentless'
|
|
47
|
-
? undefined // No bubble is shown for "contentless" livestream, should not decorate.
|
|
48
|
-
: undefined
|
|
49
|
-
};
|
|
50
|
-
}, [activity]);
|
|
51
|
-
|
|
52
|
-
return <ActivityBorderDecoratorMiddlewareProxy request={request}>{children}</ActivityBorderDecoratorMiddlewareProxy>;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export default memo(ActivityBorderDecorator);
|
|
56
|
-
export { createActivityBorderMiddleware, type ActivityBorderDecoratorProps };
|
|
57
|
-
export { ActivityBorderDecoratorRequestContext as ActivityBorderDecoratorRequest };
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
2
|
-
import templateDecorator, {
|
|
3
|
-
InferRequest,
|
|
4
|
-
type InferMiddleware,
|
|
5
|
-
type InferProps
|
|
6
|
-
} from '../../private/templateDecorator';
|
|
7
|
-
import ActivityBorderDecoratorRequestContext, {
|
|
8
|
-
type ActivityBorderDecoratorRequest
|
|
9
|
-
} from './ActivityBorderDecoratorRequestContext';
|
|
10
|
-
|
|
11
|
-
type Props = Readonly<{
|
|
12
|
-
children?: ReactNode | undefined;
|
|
13
|
-
showFlair?: boolean | undefined;
|
|
14
|
-
showLoader?: boolean | undefined;
|
|
15
|
-
}>;
|
|
16
|
-
|
|
17
|
-
const template = templateDecorator<Props, ActivityBorderDecoratorRequest>(
|
|
18
|
-
'activity border',
|
|
19
|
-
ActivityBorderDecoratorRequestContext
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
const { createMiddleware: createActivityBorderMiddleware, Proxy: ActivityBorderDecoratorMiddlewareProxy } = template;
|
|
23
|
-
|
|
24
|
-
type ActivityBorderDecoratorMiddleware = InferMiddleware<typeof template>;
|
|
25
|
-
type ActivityBorderDecoratorMiddlewareProps = InferProps<typeof template>;
|
|
26
|
-
type ActivityBorderDecoratorMiddlewareRequest = InferRequest<typeof template>;
|
|
27
|
-
|
|
28
|
-
export {
|
|
29
|
-
ActivityBorderDecoratorMiddlewareProxy,
|
|
30
|
-
createActivityBorderMiddleware,
|
|
31
|
-
type ActivityBorderDecoratorMiddleware,
|
|
32
|
-
type ActivityBorderDecoratorMiddlewareProps,
|
|
33
|
-
type ActivityBorderDecoratorMiddlewareRequest
|
|
34
|
-
};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { createContext } from 'react';
|
|
2
|
-
|
|
3
|
-
type ActivityBorderDecoratorRequest = Readonly<{
|
|
4
|
-
/**
|
|
5
|
-
* Decorate the activity as it participate in a livestreaming session.
|
|
6
|
-
*
|
|
7
|
-
* - `"completing"` - decorate as the livestreaming is completing
|
|
8
|
-
* - `"ongoing"` - decorate as the livestreaming is ongoing
|
|
9
|
-
* - `"preparing"` - decorate as the livestreaming is being prepared
|
|
10
|
-
* - `undefined` - not participated in a livestreaming session
|
|
11
|
-
*/
|
|
12
|
-
livestreamingState: 'completing' | 'ongoing' | 'preparing' | undefined;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Gets the role of the sender for the activity.
|
|
16
|
-
*
|
|
17
|
-
* - `"bot"` - the sender is a bot or other users
|
|
18
|
-
* - `"channel"` - the sender is the channel service
|
|
19
|
-
* - `"user"` - the sender is the current user
|
|
20
|
-
* - `undefined` - the sender is unknown
|
|
21
|
-
*/
|
|
22
|
-
from: 'bot' | 'channel' | `user` | undefined;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Gets the modalities of the activity.
|
|
26
|
-
*
|
|
27
|
-
* - `'audio'` - the activity originated from audio/voice input
|
|
28
|
-
* - `'text'` - the activity originated from text input
|
|
29
|
-
*/
|
|
30
|
-
modality: Set<'audio' | 'text'>;
|
|
31
|
-
}>;
|
|
32
|
-
|
|
33
|
-
type ActivityBorderDecoratorRequestContextType = Readonly<{
|
|
34
|
-
request: ActivityBorderDecoratorRequest;
|
|
35
|
-
}>;
|
|
36
|
-
|
|
37
|
-
const ActivityBorderDecoratorRequestContext = createContext<ActivityBorderDecoratorRequestContextType>(
|
|
38
|
-
Object.freeze({
|
|
39
|
-
request: Object.freeze({
|
|
40
|
-
from: undefined,
|
|
41
|
-
modality: new Set<'audio' | 'text'>(),
|
|
42
|
-
livestreamingState: undefined
|
|
43
|
-
})
|
|
44
|
-
})
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
export default ActivityBorderDecoratorRequestContext;
|
|
48
|
-
export { type ActivityBorderDecoratorRequestContextType, type ActivityBorderDecoratorRequest };
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { type WebChatActivity } from 'botframework-webchat-core';
|
|
2
|
-
import React, { memo, useContext, useMemo, type ReactNode } from 'react';
|
|
3
|
-
|
|
4
|
-
import DecoratorComposerContext from '../private/DecoratorComposerContext';
|
|
5
|
-
import PassthroughFallback from '../private/PassthroughFallback';
|
|
6
|
-
import {
|
|
7
|
-
ActivityGroupingDecoratorMiddlewareProvider,
|
|
8
|
-
ActivityGroupingDecoratorMiddlewareProxy,
|
|
9
|
-
createActivityGroupingMiddleware,
|
|
10
|
-
extractActivityGroupingDecoratorMiddleware,
|
|
11
|
-
type ActivityGroupingDecoratorMiddlewareRequest
|
|
12
|
-
} from './private/ActivityGroupingDecoratorMiddleware';
|
|
13
|
-
|
|
14
|
-
type ActivityGroupingDecoratorProps = Readonly<{
|
|
15
|
-
activities: readonly WebChatActivity[];
|
|
16
|
-
children?: ReactNode | undefined;
|
|
17
|
-
groupingName: string;
|
|
18
|
-
}>;
|
|
19
|
-
|
|
20
|
-
function ActivityGroupingDecorator({ activities, children, groupingName }: ActivityGroupingDecoratorProps) {
|
|
21
|
-
const request = useMemo<ActivityGroupingDecoratorMiddlewareRequest>(() => ({ groupingName }), [groupingName]);
|
|
22
|
-
const { middleware } = useContext(DecoratorComposerContext);
|
|
23
|
-
|
|
24
|
-
const activityGroupingMiddleware = useMemo(
|
|
25
|
-
() => extractActivityGroupingDecoratorMiddleware(middleware),
|
|
26
|
-
[middleware]
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
return (
|
|
30
|
-
<ActivityGroupingDecoratorMiddlewareProvider middleware={activityGroupingMiddleware}>
|
|
31
|
-
<ActivityGroupingDecoratorMiddlewareProxy
|
|
32
|
-
activities={activities}
|
|
33
|
-
fallbackComponent={PassthroughFallback}
|
|
34
|
-
request={request}
|
|
35
|
-
>
|
|
36
|
-
{children}
|
|
37
|
-
</ActivityGroupingDecoratorMiddlewareProxy>
|
|
38
|
-
</ActivityGroupingDecoratorMiddlewareProvider>
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export default memo(ActivityGroupingDecorator);
|
|
43
|
-
export { createActivityGroupingMiddleware, type ActivityGroupingDecoratorProps };
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { type WebChatActivity } from 'botframework-webchat-core';
|
|
2
|
-
import templateMiddleware, {
|
|
3
|
-
type InferMiddleware,
|
|
4
|
-
type InferProps,
|
|
5
|
-
type InferRequest
|
|
6
|
-
} from '../../../middleware/private/templateMiddleware';
|
|
7
|
-
|
|
8
|
-
type Request = Readonly<{
|
|
9
|
-
/**
|
|
10
|
-
* Name of the grouping from the result of `groupActivitesMiddleware()`.
|
|
11
|
-
*/
|
|
12
|
-
groupingName: string;
|
|
13
|
-
}>;
|
|
14
|
-
|
|
15
|
-
type Props = Readonly<{
|
|
16
|
-
activities: readonly WebChatActivity[];
|
|
17
|
-
}>;
|
|
18
|
-
|
|
19
|
-
const template = templateMiddleware<Request, Props>('activity grouping');
|
|
20
|
-
|
|
21
|
-
const {
|
|
22
|
-
createMiddleware: createActivityGroupingMiddleware,
|
|
23
|
-
extractMiddleware: extractActivityGroupingDecoratorMiddleware,
|
|
24
|
-
Provider: ActivityGroupingDecoratorMiddlewareProvider,
|
|
25
|
-
Proxy: ActivityGroupingDecoratorMiddlewareProxy
|
|
26
|
-
} = template;
|
|
27
|
-
|
|
28
|
-
type ActivityGroupingDecoratorMiddleware = InferMiddleware<typeof template>;
|
|
29
|
-
type ActivityGroupingDecoratorMiddlewareProps = InferProps<typeof template>;
|
|
30
|
-
type ActivityGroupingDecoratorMiddlewareRequest = InferRequest<typeof template>;
|
|
31
|
-
|
|
32
|
-
export {
|
|
33
|
-
ActivityGroupingDecoratorMiddlewareProvider,
|
|
34
|
-
ActivityGroupingDecoratorMiddlewareProxy,
|
|
35
|
-
createActivityGroupingMiddleware,
|
|
36
|
-
extractActivityGroupingDecoratorMiddleware,
|
|
37
|
-
type ActivityGroupingDecoratorMiddleware,
|
|
38
|
-
type ActivityGroupingDecoratorMiddlewareProps,
|
|
39
|
-
type ActivityGroupingDecoratorMiddlewareRequest
|
|
40
|
-
};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';
|
|
2
|
-
import React, { Fragment, memo, useMemo } from 'react';
|
|
3
|
-
import { array, custom, object, optional, pipe, readonly, safeParse, type InferInput } from 'valibot';
|
|
4
|
-
|
|
5
|
-
import { middlewareFactoryMarker } from '../middleware/private/templateMiddleware';
|
|
6
|
-
import InternalDecoratorComposer from './internal/InternalDecoratorComposer';
|
|
7
|
-
import { type DecoratorMiddleware } from './types';
|
|
8
|
-
|
|
9
|
-
const decoratorComposerPropsSchema = pipe(
|
|
10
|
-
object({
|
|
11
|
-
children: optional(reactNode()),
|
|
12
|
-
middleware: optional(pipe(array(custom<DecoratorMiddleware>(value => typeof value === 'function')), readonly()))
|
|
13
|
-
}),
|
|
14
|
-
readonly()
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
const warnInvalidMiddlewarePropsSchema = optional(
|
|
18
|
-
array(custom(value => value[middlewareFactoryMarker satisfies symbol] === middlewareFactoryMarker))
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
type DecoratorComposerProps = Omit<InferInput<typeof decoratorComposerPropsSchema>, 'middleware'> & {
|
|
22
|
-
// Mark "middleware" as read-only.
|
|
23
|
-
// Otherwise, passing a read-only middleware would fail because we prefer writable.
|
|
24
|
-
// eslint-disable-next-line react/require-default-props, react/no-unused-prop-types
|
|
25
|
-
readonly middleware?: readonly DecoratorMiddleware[] | undefined;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
function DecoratorComposer(props: DecoratorComposerProps) {
|
|
29
|
-
const { children, middleware } = validateProps(decoratorComposerPropsSchema, props);
|
|
30
|
-
|
|
31
|
-
useMemo(() => {
|
|
32
|
-
if (!safeParse(warnInvalidMiddlewarePropsSchema, middleware).success) {
|
|
33
|
-
console.warn(
|
|
34
|
-
'botframework-webchat: "middleware" props passed to <DecoratorComposer> should be created using createXXXMiddleware() functions.',
|
|
35
|
-
{ middleware }
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
}, [middleware]);
|
|
39
|
-
|
|
40
|
-
return middleware ? (
|
|
41
|
-
<InternalDecoratorComposer middleware={middleware} priority="normal">
|
|
42
|
-
{children}
|
|
43
|
-
</InternalDecoratorComposer>
|
|
44
|
-
) : (
|
|
45
|
-
// We can't return `children` unless we are not using memo().
|
|
46
|
-
<Fragment>{children}</Fragment>
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export default memo(DecoratorComposer);
|
|
51
|
-
export { decoratorComposerPropsSchema, type DecoratorComposerProps };
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React, { memo, useContext, useMemo, type ReactNode } from 'react';
|
|
2
|
-
import DecoratorComposerContext from '../private/DecoratorComposerContext';
|
|
3
|
-
import { type DecoratorMiddleware } from '../types';
|
|
4
|
-
|
|
5
|
-
type InternalDecoratorComposerProps = Readonly<{
|
|
6
|
-
children?: ReactNode | undefined;
|
|
7
|
-
middleware: readonly DecoratorMiddleware[];
|
|
8
|
-
priority: 'low' | 'normal';
|
|
9
|
-
}>;
|
|
10
|
-
|
|
11
|
-
const EMPTY_ARRAY = Object.freeze([]);
|
|
12
|
-
|
|
13
|
-
function InternalDecoratorComposer({
|
|
14
|
-
children,
|
|
15
|
-
middleware: middlewareFromProps = EMPTY_ARRAY,
|
|
16
|
-
priority
|
|
17
|
-
}: InternalDecoratorComposerProps) {
|
|
18
|
-
const existingContext = useContext(DecoratorComposerContext);
|
|
19
|
-
const middleware = useMemo(
|
|
20
|
-
() =>
|
|
21
|
-
priority === 'low'
|
|
22
|
-
? Object.freeze([...existingContext.middleware, ...middlewareFromProps])
|
|
23
|
-
: Object.freeze([...middlewareFromProps, ...existingContext.middleware]),
|
|
24
|
-
[existingContext, middlewareFromProps, priority]
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
const context = useMemo(() => ({ middleware }), [middleware]);
|
|
28
|
-
|
|
29
|
-
return <DecoratorComposerContext.Provider value={context}>{children}</DecoratorComposerContext.Provider>;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export default memo(InternalDecoratorComposer);
|
|
33
|
-
export { type InternalDecoratorComposerProps };
|
|
@@ -1,19 +0,0 @@
|
|
|
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 };
|
|
@@ -1,16 +0,0 @@
|
|
|
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 };
|
|
@@ -1,12 +0,0 @@
|
|
|
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,115 +0,0 @@
|
|
|
1
|
-
import PassthroughFallback from './PassthroughFallback';
|
|
2
|
-
import DecoratorComposerContext from './DecoratorComposerContext';
|
|
3
|
-
import React, { memo, useContext, useMemo, type Context, type ComponentType, type ReactNode } from 'react';
|
|
4
|
-
import { ComponentMiddleware, createChainOfResponsibility } from 'react-chain-of-responsibility';
|
|
5
|
-
import { middlewareFactoryMarker } from '../../middleware/private/templateMiddleware';
|
|
6
|
-
|
|
7
|
-
const decoratorChain = createChainOfResponsibility<undefined, any, any>();
|
|
8
|
-
|
|
9
|
-
export default function templateDecorator<
|
|
10
|
-
const P extends { children?: ReactNode | undefined },
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
12
|
-
const R extends {},
|
|
13
|
-
const Name extends string = string
|
|
14
|
-
>(
|
|
15
|
-
name: Name,
|
|
16
|
-
DecoratorRequestContext: Context<{ request: R }>,
|
|
17
|
-
FinalComponent: ComponentType<P> = PassthroughFallback
|
|
18
|
-
) {
|
|
19
|
-
type FullProps = P & {
|
|
20
|
-
Next: ComponentType<P>;
|
|
21
|
-
request: R;
|
|
22
|
-
};
|
|
23
|
-
type Middleware = (name: Name) => ReturnType<ComponentMiddleware<undefined, FullProps, typeof name>> | false;
|
|
24
|
-
|
|
25
|
-
function buildComponent<T extends P>(
|
|
26
|
-
Component: ComponentType<FullProps>,
|
|
27
|
-
Next: ComponentType<P>
|
|
28
|
-
): React.ComponentType<T> {
|
|
29
|
-
function ChainNext(props: T) {
|
|
30
|
-
const request = useContext(DecoratorRequestContext)?.request;
|
|
31
|
-
return <Component {...props} Next={Next} request={request} />;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
ChainNext.displayName = `ChainNext(Next ${name})`;
|
|
35
|
-
return memo<T>(ChainNext);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function createMiddleware(Component: ComponentType<FullProps>): Middleware {
|
|
39
|
-
const factory: Middleware = (init: string): ReturnType<Middleware> | false => {
|
|
40
|
-
if (init !== name) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return next => () => {
|
|
45
|
-
const Next = next(undefined);
|
|
46
|
-
return Next && buildComponent(Component, Next);
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
// This is for checking if the middleware is created via factory function or not.
|
|
51
|
-
// We recommend middleware to be created using factory function.
|
|
52
|
-
factory[middlewareFactoryMarker satisfies symbol] = middlewareFactoryMarker;
|
|
53
|
-
|
|
54
|
-
return factory;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Reuse global chain, but cast it to the correct type.
|
|
58
|
-
const { Provider: DecoratorChainProvider, useBuildComponentCallback } = decoratorChain as ReturnType<
|
|
59
|
-
typeof createChainOfResponsibility<undefined, P, unknown>
|
|
60
|
-
>;
|
|
61
|
-
|
|
62
|
-
function Chain(props: P) {
|
|
63
|
-
const buildMiddleware = useBuildComponentCallback();
|
|
64
|
-
const Proxy = useMemo(() => buildMiddleware(undefined, { fallbackComponent: FinalComponent }), [buildMiddleware]);
|
|
65
|
-
|
|
66
|
-
// <Proxy> is middleware component and is static.
|
|
67
|
-
// eslint-disable-next-line react-hooks/static-components
|
|
68
|
-
return Proxy && <Proxy {...props} />;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
Chain.displayName = `DecoratorChain(Chain ${name})`;
|
|
72
|
-
|
|
73
|
-
const MemoChain = memo<P>(Chain);
|
|
74
|
-
|
|
75
|
-
function DecoratorProxy(props: P & Readonly<{ request: R }>) {
|
|
76
|
-
const { request } = props;
|
|
77
|
-
const { middleware } = useContext(DecoratorComposerContext);
|
|
78
|
-
const decoratorMiddleware = useMemo(
|
|
79
|
-
() =>
|
|
80
|
-
middleware
|
|
81
|
-
.map(middleware => middleware(name))
|
|
82
|
-
.filter(enhancer => enhancer)
|
|
83
|
-
// Conversion from internal props to actual middleware stack props.
|
|
84
|
-
.map(enhancer => () => enhancer) as ComponentMiddleware<undefined, P, unknown>[],
|
|
85
|
-
[middleware]
|
|
86
|
-
);
|
|
87
|
-
|
|
88
|
-
const value = useMemo(() => ({ request }), [request]);
|
|
89
|
-
|
|
90
|
-
return (
|
|
91
|
-
<DecoratorRequestContext.Provider value={value}>
|
|
92
|
-
<DecoratorChainProvider init={name} middleware={decoratorMiddleware}>
|
|
93
|
-
<MemoChain {...props} />
|
|
94
|
-
</DecoratorChainProvider>
|
|
95
|
-
</DecoratorRequestContext.Provider>
|
|
96
|
-
);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
DecoratorProxy.displayName = `DecoratorProxy(Decorator ${name})`;
|
|
100
|
-
|
|
101
|
-
return {
|
|
102
|
-
createMiddleware,
|
|
103
|
-
Proxy: memo<P & Readonly<{ request: R }>>(DecoratorProxy),
|
|
104
|
-
// This is for type inference, so we can use it in other files.
|
|
105
|
-
'~types': undefined as unknown as {
|
|
106
|
-
middleware: Middleware;
|
|
107
|
-
request: R;
|
|
108
|
-
props: P;
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export type InferMiddleware<T extends ReturnType<typeof templateDecorator>> = T['~types']['middleware'];
|
|
114
|
-
export type InferProps<T extends ReturnType<typeof templateDecorator>> = T['~types']['props'];
|
|
115
|
-
export type InferRequest<T extends ReturnType<typeof templateDecorator>> = T['~types']['request'];
|
package/src/decorator/types.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ActivityBorderDecoratorMiddleware } from './ActivityBorder/private/ActivityBorderDecoratorMiddleware';
|
|
2
|
-
import { ActivityGroupingDecoratorMiddleware } from './ActivityGrouping/private/ActivityGroupingDecoratorMiddleware';
|
|
3
|
-
|
|
4
|
-
export type DecoratorMiddleware = ActivityBorderDecoratorMiddleware | ActivityGroupingDecoratorMiddleware;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react';
|
|
2
|
-
import { ActivityBorderDecoratorRequest } from './ActivityBorder/ActivityBorderDecorator';
|
|
3
|
-
|
|
4
|
-
export default function useDecoratorRequest(type: typeof ActivityBorderDecoratorRequest) {
|
|
5
|
-
const request = useContext(type)?.request;
|
|
6
|
-
|
|
7
|
-
if (!request) {
|
|
8
|
-
throw new Error(`useDecoratorRequest must be used within a ${type}Provider`);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
return request;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export type InferDecoratorRequest<T extends typeof ActivityBorderDecoratorRequest> =
|
|
15
|
-
T extends React.Context<infer U> ? (U extends { request: infer R } ? R : never) : never;
|
package/src/env.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// For adding things to `globalThis`, TypeScript need `var`, not `const` or `let`.
|
|
2
|
-
/* eslint-disable no-var */
|
|
3
|
-
declare global {
|
|
4
|
-
var WEB_CHAT_BUILD_INFO_BUILD_TOOL: string | undefined;
|
|
5
|
-
var WEB_CHAT_BUILD_INFO_MODULE_FORMAT: string | undefined;
|
|
6
|
-
var WEB_CHAT_BUILD_INFO_VERSION: string | undefined;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export {};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createErrorBoxPolymiddleware,
|
|
3
|
-
errorBoxComponent,
|
|
4
|
-
ErrorBoxPolymiddlewareHandlerResult
|
|
5
|
-
} from '@msinternal/botframework-webchat-api-middleware';
|
|
6
|
-
import { validateProps } from '@msinternal/botframework-webchat-react-valibot';
|
|
7
|
-
import { memo, useEffect } from 'react';
|
|
8
|
-
import { custom, never, object, optional, pipe, readonly, unknown, type InferInput } from 'valibot';
|
|
9
|
-
|
|
10
|
-
import { useTrackException } from '../hooks';
|
|
11
|
-
|
|
12
|
-
const errorBoxTelemetryHeadlessPropsSchema = pipe(
|
|
13
|
-
object({
|
|
14
|
-
children: optional(never()),
|
|
15
|
-
error: unknown(),
|
|
16
|
-
render: optional(custom<ErrorBoxPolymiddlewareHandlerResult['render']>(value => typeof value === 'function'))
|
|
17
|
-
}),
|
|
18
|
-
readonly()
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
type ErrorBoxTelemetryHeadlessProps = InferInput<typeof errorBoxTelemetryHeadlessPropsSchema>;
|
|
22
|
-
|
|
23
|
-
// Use traditional function for component name.
|
|
24
|
-
// eslint-disable-next-line prefer-arrow-callback
|
|
25
|
-
const ErrorBoxTelemetryHeadless = memo(function ErrorBoxTelemetryHeadless(props: ErrorBoxTelemetryHeadlessProps) {
|
|
26
|
-
const { error, render } = validateProps(errorBoxTelemetryHeadlessPropsSchema, props);
|
|
27
|
-
const trackException = useTrackException();
|
|
28
|
-
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
if (error instanceof Error) {
|
|
31
|
-
trackException(error, false);
|
|
32
|
-
} else {
|
|
33
|
-
const telemetryError = new Error('Unknown error');
|
|
34
|
-
|
|
35
|
-
telemetryError.cause = error;
|
|
36
|
-
telemetryError.name = 'WebChatError';
|
|
37
|
-
|
|
38
|
-
trackException(telemetryError, false);
|
|
39
|
-
}
|
|
40
|
-
}, [error, trackException]);
|
|
41
|
-
|
|
42
|
-
return render?.();
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
const errorBoxTelemetryPolymiddleware = createErrorBoxPolymiddleware(
|
|
46
|
-
next => request =>
|
|
47
|
-
errorBoxComponent(ErrorBoxTelemetryHeadless, {
|
|
48
|
-
error: request.error,
|
|
49
|
-
render: next(request)?.render
|
|
50
|
-
})
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
export default errorBoxTelemetryPolymiddleware;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { postVoiceActivity, type WebChatActivity } from 'botframework-webchat-core';
|
|
2
|
-
import { useCallback } from 'react';
|
|
3
|
-
import { useDispatch } from './WebChatReduxContext';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Hook to post voice activities (fire-and-forget, no echo back).
|
|
7
|
-
* Use this for DTMF and other voice-related event activities.
|
|
8
|
-
*/
|
|
9
|
-
export default function usePostVoiceActivity(): (activity: WebChatActivity) => void {
|
|
10
|
-
const dispatch = useDispatch();
|
|
11
|
-
|
|
12
|
-
return useCallback(
|
|
13
|
-
(activity: WebChatActivity) => {
|
|
14
|
-
dispatch(postVoiceActivity(activity));
|
|
15
|
-
},
|
|
16
|
-
[dispatch]
|
|
17
|
-
);
|
|
18
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { registerVoiceHandler, unregisterVoiceHandler, type VoiceHandler } from 'botframework-webchat-core';
|
|
2
|
-
import { useCallback } from 'react';
|
|
3
|
-
import randomId from '../../utils/randomId';
|
|
4
|
-
import { useDispatch } from './WebChatReduxContext';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Internal hook to register a voice handler for audio playback.
|
|
8
|
-
* @returns A function that registers a voice handler and returns an unregister function.
|
|
9
|
-
*/
|
|
10
|
-
export default function useRegisterVoiceHandler(): (voiceHandler: VoiceHandler) => () => void {
|
|
11
|
-
const dispatch = useDispatch();
|
|
12
|
-
|
|
13
|
-
return useCallback(
|
|
14
|
-
(voiceHandler: VoiceHandler) => {
|
|
15
|
-
const id = randomId();
|
|
16
|
-
dispatch(registerVoiceHandler(id, voiceHandler));
|
|
17
|
-
return () => {
|
|
18
|
-
dispatch(unregisterVoiceHandler(id));
|
|
19
|
-
};
|
|
20
|
-
},
|
|
21
|
-
[dispatch]
|
|
22
|
-
);
|
|
23
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import useStyleOptions from '../useStyleOptions';
|
|
2
|
-
import useCapabilities from '../../providers/Capabilities/useCapabilities';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Internal hook to determine if the microphone button should be shown based on:
|
|
6
|
-
* - `showMicrophoneButton` style option ('auto' | 'hide')
|
|
7
|
-
* - Adapter voice capability (voiceConfiguration)
|
|
8
|
-
*
|
|
9
|
-
* - 'auto': Show if adapter has voiceConfiguration capability, hide otherwise
|
|
10
|
-
* - 'hide': Never show
|
|
11
|
-
*/
|
|
12
|
-
export default function useShouldShowMicrophoneButton(): boolean {
|
|
13
|
-
const [{ showMicrophoneButton }] = useStyleOptions();
|
|
14
|
-
// If adapter has voice capability, voiceConfiguration will be defined,
|
|
15
|
-
const voiceConfiguration = useCapabilities(caps => caps.voiceConfiguration);
|
|
16
|
-
|
|
17
|
-
if (showMicrophoneButton === 'hide') {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return !!voiceConfiguration;
|
|
22
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { VoiceHandler } from 'botframework-webchat-core';
|
|
2
|
-
import { useSelector } from './WebChatReduxContext';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Internal hook to get all registered voice handlers from Redux state.
|
|
6
|
-
*/
|
|
7
|
-
export default function useVoiceHandlers(): readonly [ReadonlyMap<string, VoiceHandler>] {
|
|
8
|
-
return Object.freeze([
|
|
9
|
-
useSelector((state: { voice: { voiceHandlers: Map<string, VoiceHandler> } }) => state.voice.voiceHandlers)
|
|
10
|
-
]);
|
|
11
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { setVoiceState, type VoiceState } from 'botframework-webchat-core';
|
|
2
|
-
import { useCallback } from 'react';
|
|
3
|
-
import { useDispatch, useSelector } from './WebChatReduxContext';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Internal hook to set the voice state.
|
|
7
|
-
*/
|
|
8
|
-
export default function useVoiceStateWritable(): readonly [VoiceState, (state: VoiceState) => void] {
|
|
9
|
-
const dispatch = useDispatch();
|
|
10
|
-
const setter = useCallback(
|
|
11
|
-
(state: VoiceState) => {
|
|
12
|
-
dispatch(setVoiceState(state));
|
|
13
|
-
},
|
|
14
|
-
[dispatch]
|
|
15
|
-
);
|
|
16
|
-
const value = useSelector(({ voice }) => voice.voiceState);
|
|
17
|
-
return Object.freeze([value, setter]);
|
|
18
|
-
}
|