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,23 +0,0 @@
|
|
|
1
|
-
import { activityComponent, createActivityPolymiddleware } from '@msinternal/botframework-webchat-api-middleware';
|
|
2
|
-
import { type WebChatActivity } from 'botframework-webchat-core';
|
|
3
|
-
import { memo } from 'react';
|
|
4
|
-
|
|
5
|
-
// eslint-disable-next-line prefer-arrow-callback
|
|
6
|
-
const NoActivityToRenderComponent = memo(function NoActivityToRenderComponent({
|
|
7
|
-
activity
|
|
8
|
-
}: {
|
|
9
|
-
readonly activity: WebChatActivity;
|
|
10
|
-
children?: never;
|
|
11
|
-
}) {
|
|
12
|
-
throw new Error(`No renderer for activity of type "${activity.type}"`);
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const activityFallbackPolymiddleware = createActivityPolymiddleware(
|
|
16
|
-
() =>
|
|
17
|
-
({ activity }) =>
|
|
18
|
-
activityComponent<{ readonly activity: WebChatActivity; children?: never }>(NoActivityToRenderComponent, {
|
|
19
|
-
activity
|
|
20
|
-
})
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
export default activityFallbackPolymiddleware;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Hook to start voice mode (turns on microphone and enables audio synthesis).
|
|
5
|
-
* This starts speech-to-speech interaction.
|
|
6
|
-
*/
|
|
7
|
-
export default function useStartVoice(): () => void {
|
|
8
|
-
return useWebChatAPIContext().startVoice;
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Hook to stop voice mode (turns off microphone and stops audio playback).
|
|
5
|
-
* This ends speech-to-speech interaction.
|
|
6
|
-
*/
|
|
7
|
-
export default function useStopVoice(): () => void {
|
|
8
|
-
return useWebChatAPIContext().stopVoice;
|
|
9
|
-
}
|
package/src/hooks/useUIState.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
2
|
-
|
|
3
|
-
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Gets the state of the UI.
|
|
7
|
-
*
|
|
8
|
-
* - `undefined` will render normally
|
|
9
|
-
* - `"blueprint"` will render as few UI elements as possible and should be non-functional
|
|
10
|
-
* - Useful for loading scenarios
|
|
11
|
-
* - `"disabled"` will render most UI elements as non-functional
|
|
12
|
-
* - Scrolling may continue to trigger read acknowledgements
|
|
13
|
-
*/
|
|
14
|
-
export default function useUIState(): readonly ['blueprint' | 'disabled' | undefined] {
|
|
15
|
-
const { uiState } = useWebChatAPIContext();
|
|
16
|
-
|
|
17
|
-
return useMemo(() => Object.freeze([uiState]), [uiState]);
|
|
18
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { muteVoiceRecording, unmuteVoiceRecording } from 'botframework-webchat-core';
|
|
2
|
-
import { useCallback } from 'react';
|
|
3
|
-
import { useDispatch, useSelector } from './internal/WebChatReduxContext';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Hook to get and set voice recording mute state in speech-to-speech mode.
|
|
7
|
-
*
|
|
8
|
-
* Mute is independent of voice state - it can be toggled at any time.
|
|
9
|
-
* When muted, silent audio chunks are sent instead of real audio.
|
|
10
|
-
* Mute resets to false when recording stops.
|
|
11
|
-
*/
|
|
12
|
-
export default function useVoiceRecordingMuted(): readonly [boolean, (muted: boolean) => void] {
|
|
13
|
-
const dispatch = useDispatch();
|
|
14
|
-
const value = useSelector(({ voice }) => voice.microphoneMuted);
|
|
15
|
-
|
|
16
|
-
const setter = useCallback(
|
|
17
|
-
(muted: boolean) => {
|
|
18
|
-
dispatch(muted ? muteVoiceRecording() : unmuteVoiceRecording());
|
|
19
|
-
},
|
|
20
|
-
[dispatch]
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
return Object.freeze([value, setter]);
|
|
24
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { VoiceState } from 'botframework-webchat-core';
|
|
2
|
-
import useVoiceStateWritable from './internal/useVoiceStateWritable';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Hook to get the voice state.
|
|
6
|
-
* The voice state represents the current state of the speech-to-speech interaction:
|
|
7
|
-
* - 'idle': No active speech session, microphone and audio playback are off
|
|
8
|
-
* - 'listening': Microphone is active
|
|
9
|
-
* - 'user_speaking': User is actively speaking
|
|
10
|
-
* - 'processing': User finished speaking, server is processing
|
|
11
|
-
* - 'bot_speaking': Bot is speaking (audio playback)
|
|
12
|
-
*/
|
|
13
|
-
export default function useVoiceState(): readonly [VoiceState] {
|
|
14
|
-
return Object.freeze([useVoiceStateWritable()[0]]);
|
|
15
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { parseUIState } from './uiState';
|
|
2
|
-
|
|
3
|
-
describe.each([
|
|
4
|
-
['blueprint', false, 'blueprint'],
|
|
5
|
-
['blueprint', true, 'blueprint'],
|
|
6
|
-
['blueprint', undefined, 'blueprint'],
|
|
7
|
-
['disabled', false, 'disabled'],
|
|
8
|
-
['disabled', true, 'disabled'],
|
|
9
|
-
['disabled', undefined, 'disabled'],
|
|
10
|
-
['xyz', false, undefined],
|
|
11
|
-
['xyz', true, 'disabled'],
|
|
12
|
-
['xyz', undefined, undefined],
|
|
13
|
-
[undefined, false, undefined],
|
|
14
|
-
[undefined, true, 'disabled'],
|
|
15
|
-
[undefined, undefined, undefined]
|
|
16
|
-
])('uiState=%s and disabled=%s', (uiState, disabled, expected) => {
|
|
17
|
-
describe('parseUIState', () => {
|
|
18
|
-
test(`should return ${JSON.stringify(expected)}`, () =>
|
|
19
|
-
expect(parseUIState(uiState as any, disabled as any)).toBe(expected));
|
|
20
|
-
});
|
|
21
|
-
});
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { fallback, literal, parse, union } from 'valibot';
|
|
2
|
-
|
|
3
|
-
export function parseUIState(
|
|
4
|
-
input: 'blueprint' | 'disabled' | undefined,
|
|
5
|
-
disabled: boolean | undefined
|
|
6
|
-
): 'blueprint' | 'disabled' | undefined {
|
|
7
|
-
// Patching deprecated "disabled" props into "uiState".
|
|
8
|
-
// Priority: uiState > disabled.
|
|
9
|
-
return parse(fallback(union([literal('blueprint'), literal('disabled')]), disabled ? 'disabled' : undefined), input);
|
|
10
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { validateProps } from '@msinternal/botframework-webchat-react-valibot';
|
|
2
|
-
import React, { Fragment, memo, useMemo } from 'react';
|
|
3
|
-
|
|
4
|
-
import useCreateActivityStatusRenderer from '../hooks/useCreateActivityStatusRenderer';
|
|
5
|
-
import useCreateAvatarRenderer from '../hooks/useCreateAvatarRenderer';
|
|
6
|
-
import useRenderAttachment from '../hooks/useRenderAttachment';
|
|
7
|
-
import { useLegacyActivityContext } from './LegacyActivityBridgeContext';
|
|
8
|
-
import {
|
|
9
|
-
legacyActivityBridgeComponentPropsSchema,
|
|
10
|
-
type LegacyActivityBridgeComponentProps
|
|
11
|
-
} from './createActivityPolymiddlewareFromLegacy';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* This component is solely for `createActivityPolymiddlewareFromLegacy`.
|
|
15
|
-
*
|
|
16
|
-
* @param props Legacy activity middleware props, includes `hideTimestamp`, `renderActivityStatus`, `renderAvatar`, and `showCallout`.
|
|
17
|
-
* @returns An activity node rendered using the `props.render()` of type `LegacyRenderFunction`.
|
|
18
|
-
*/
|
|
19
|
-
function LegacyActivityBridge(props: LegacyActivityBridgeComponentProps) {
|
|
20
|
-
const {
|
|
21
|
-
activity,
|
|
22
|
-
hideTimestamp: hideTimestampFromProps,
|
|
23
|
-
render,
|
|
24
|
-
renderActivityStatus: renderActivityStatusFromProps,
|
|
25
|
-
renderAvatar: renderAvatarFromProps,
|
|
26
|
-
showCallout: showCalloutFromProps
|
|
27
|
-
} = validateProps(legacyActivityBridgeComponentPropsSchema, props);
|
|
28
|
-
|
|
29
|
-
// These props are only available when the activity is being rendered through <BasicTranscript>.
|
|
30
|
-
// Otherwise, they will be false/undefined.
|
|
31
|
-
const { hideTimestamp, showCallout } = useLegacyActivityContext();
|
|
32
|
-
|
|
33
|
-
const createActivityStatusRenderer = useCreateActivityStatusRenderer();
|
|
34
|
-
const renderAttachment = useRenderAttachment();
|
|
35
|
-
const renderAvatarRaw = useCreateAvatarRenderer();
|
|
36
|
-
|
|
37
|
-
const renderActivityStatus = useMemo(
|
|
38
|
-
() => createActivityStatusRenderer(Object.freeze({ activity })),
|
|
39
|
-
[activity, createActivityStatusRenderer]
|
|
40
|
-
);
|
|
41
|
-
const renderAvatar = useMemo(
|
|
42
|
-
() => !!renderAvatarRaw && renderAvatarRaw(Object.freeze({ activity })),
|
|
43
|
-
[activity, renderAvatarRaw]
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
const children = useMemo(
|
|
47
|
-
() =>
|
|
48
|
-
render(
|
|
49
|
-
renderAttachment,
|
|
50
|
-
Object.freeze({
|
|
51
|
-
hideTimestamp: typeof hideTimestampFromProps === 'undefined' ? hideTimestamp : hideTimestampFromProps,
|
|
52
|
-
renderActivityStatus:
|
|
53
|
-
typeof renderActivityStatusFromProps === 'undefined' ? renderActivityStatus : renderActivityStatusFromProps,
|
|
54
|
-
renderAvatar: typeof renderAvatarFromProps === 'undefined' ? renderAvatar : renderAvatarFromProps,
|
|
55
|
-
showCallout: typeof showCalloutFromProps === 'undefined' ? showCallout : showCalloutFromProps
|
|
56
|
-
})
|
|
57
|
-
),
|
|
58
|
-
[
|
|
59
|
-
hideTimestamp,
|
|
60
|
-
hideTimestampFromProps,
|
|
61
|
-
render,
|
|
62
|
-
renderActivityStatus,
|
|
63
|
-
renderActivityStatusFromProps,
|
|
64
|
-
renderAttachment,
|
|
65
|
-
renderAvatar,
|
|
66
|
-
renderAvatarFromProps,
|
|
67
|
-
showCallout,
|
|
68
|
-
showCalloutFromProps
|
|
69
|
-
]
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
return <Fragment>{children}</Fragment>;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
LegacyActivityBridge.displayName = 'LegacyActivityBridge';
|
|
76
|
-
|
|
77
|
-
export default memo(LegacyActivityBridge);
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext } from 'react';
|
|
2
|
-
|
|
3
|
-
type LegacyActivityContextType = {
|
|
4
|
-
readonly hideTimestamp: boolean;
|
|
5
|
-
readonly showCallout: boolean;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
const LegacyActivityContext = createContext<LegacyActivityContextType>(
|
|
9
|
-
Object.freeze({
|
|
10
|
-
hideTimestamp: false,
|
|
11
|
-
showCallout: false
|
|
12
|
-
})
|
|
13
|
-
);
|
|
14
|
-
|
|
15
|
-
function useLegacyActivityContext(): LegacyActivityContextType {
|
|
16
|
-
return useContext(LegacyActivityContext);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Exporting <Provider> individually so we can let people write to the context but not reading from it.
|
|
20
|
-
const { Provider: LegacyActivityContextProvider } = LegacyActivityContext;
|
|
21
|
-
|
|
22
|
-
export default LegacyActivityContext;
|
|
23
|
-
export { LegacyActivityContextProvider, useLegacyActivityContext, type LegacyActivityContextType };
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
activityComponent,
|
|
3
|
-
createActivityPolymiddleware,
|
|
4
|
-
type ActivityPolymiddleware
|
|
5
|
-
} from '@msinternal/botframework-webchat-api-middleware';
|
|
6
|
-
import {
|
|
7
|
-
type LegacyActivityMiddleware,
|
|
8
|
-
type LegacyRenderAttachment
|
|
9
|
-
} from '@msinternal/botframework-webchat-api-middleware/legacy';
|
|
10
|
-
import { type WebChatActivity } from 'botframework-webchat-core';
|
|
11
|
-
import { composeEnhancer } from 'handler-chain';
|
|
12
|
-
import { type ReactNode } from 'react';
|
|
13
|
-
import {
|
|
14
|
-
boolean,
|
|
15
|
-
custom,
|
|
16
|
-
function_,
|
|
17
|
-
literal,
|
|
18
|
-
never,
|
|
19
|
-
object,
|
|
20
|
-
optional,
|
|
21
|
-
pipe,
|
|
22
|
-
readonly,
|
|
23
|
-
safeParse,
|
|
24
|
-
union,
|
|
25
|
-
type InferInput
|
|
26
|
-
} from 'valibot';
|
|
27
|
-
|
|
28
|
-
import LegacyActivityBridge from './LegacyActivityBridge';
|
|
29
|
-
|
|
30
|
-
const DEBUG_ORIGINAL_LEGACY_MIDDLEWARE_SYMBOL = Symbol('OriginalLegacyMiddleware');
|
|
31
|
-
const webChatActivitySchema = custom<WebChatActivity>(value => safeParse(object({}), value).success);
|
|
32
|
-
|
|
33
|
-
type LegacyRenderFunction = (
|
|
34
|
-
renderAttachment: LegacyRenderAttachment,
|
|
35
|
-
options: {
|
|
36
|
-
readonly hideTimestamp: boolean;
|
|
37
|
-
readonly renderActivityStatus: (options: { hideTimestamp: boolean }) => ReactNode;
|
|
38
|
-
readonly renderAvatar: false | (() => Exclude<ReactNode, boolean | null | undefined>);
|
|
39
|
-
readonly showCallout: boolean;
|
|
40
|
-
}
|
|
41
|
-
) => Exclude<ReactNode, boolean>;
|
|
42
|
-
|
|
43
|
-
const legacyActivityBridgeComponentPropsSchema = pipe(
|
|
44
|
-
object({
|
|
45
|
-
activity: webChatActivitySchema,
|
|
46
|
-
children: optional(never()),
|
|
47
|
-
render: custom<LegacyRenderFunction>(value => safeParse(function_(), value).success),
|
|
48
|
-
|
|
49
|
-
// The following extraneous props should be removed once `useCreateActivityRenderer()` is removed.
|
|
50
|
-
hideTimestamp: optional(boolean()),
|
|
51
|
-
renderActivityStatus: optional(
|
|
52
|
-
custom<(options: { hideTimestamp: boolean }) => ReactNode>(value => safeParse(function_(), value).success)
|
|
53
|
-
),
|
|
54
|
-
renderAvatar: optional(
|
|
55
|
-
union([
|
|
56
|
-
literal(false),
|
|
57
|
-
custom<() => Exclude<ReactNode, boolean | null | undefined>>(value => safeParse(function_(), value).success)
|
|
58
|
-
])
|
|
59
|
-
),
|
|
60
|
-
showCallout: optional(boolean())
|
|
61
|
-
}),
|
|
62
|
-
readonly()
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
type LegacyActivityBridgeComponentProps = Readonly<
|
|
66
|
-
InferInput<typeof legacyActivityBridgeComponentPropsSchema> & { children?: never }
|
|
67
|
-
>;
|
|
68
|
-
|
|
69
|
-
const fallbackComponentPropsSchema = pipe(
|
|
70
|
-
object({
|
|
71
|
-
activity: webChatActivitySchema,
|
|
72
|
-
children: optional(never())
|
|
73
|
-
}),
|
|
74
|
-
readonly()
|
|
75
|
-
);
|
|
76
|
-
|
|
77
|
-
type FallbackComponentProps = Readonly<InferInput<typeof fallbackComponentPropsSchema> & { children?: never }>;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Polyfill legacy activity middleware into a polymiddleware.
|
|
81
|
-
*
|
|
82
|
-
* @deprecated Legacy activity middleware is being deprecated and will be removed on or after 2027-08-16.
|
|
83
|
-
* @param middleware An array of legacy activity middleware.
|
|
84
|
-
* @returns A polymiddleware composed by legacy activity middleware.
|
|
85
|
-
*/
|
|
86
|
-
function createActivityPolymiddlewareFromLegacy(
|
|
87
|
-
...middleware: readonly LegacyActivityMiddleware[]
|
|
88
|
-
): ActivityPolymiddleware {
|
|
89
|
-
const legacyEnhancer = composeEnhancer(...middleware.map(middleware => middleware()));
|
|
90
|
-
|
|
91
|
-
const polymiddleware = createActivityPolymiddleware(next => {
|
|
92
|
-
const legacyHandler = legacyEnhancer(request => {
|
|
93
|
-
const handler = next(request);
|
|
94
|
-
|
|
95
|
-
return !!handler && (() => handler.render({}));
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
return request => {
|
|
99
|
-
const legacyResult = legacyHandler(request);
|
|
100
|
-
|
|
101
|
-
return legacyResult
|
|
102
|
-
? activityComponent(LegacyActivityBridge, { activity: request.activity, render: legacyResult })
|
|
103
|
-
: undefined;
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
Object.defineProperty(polymiddleware, DEBUG_ORIGINAL_LEGACY_MIDDLEWARE_SYMBOL, {
|
|
108
|
-
configurable: false,
|
|
109
|
-
value: Object.freeze([...middleware]),
|
|
110
|
-
writable: false
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
return polymiddleware;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export default createActivityPolymiddlewareFromLegacy;
|
|
117
|
-
|
|
118
|
-
export {
|
|
119
|
-
fallbackComponentPropsSchema,
|
|
120
|
-
legacyActivityBridgeComponentPropsSchema,
|
|
121
|
-
type FallbackComponentProps,
|
|
122
|
-
type LegacyActivityBridgeComponentProps
|
|
123
|
-
};
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__INTERNAL_DO_NOT_USE__avatarPolymiddlewareRequestStyleOptionsSymbol,
|
|
3
|
-
__INTERNAL_DO_NOT_USE__legacyAvatarMiddlewareOriginalRequestSymbol,
|
|
4
|
-
avatarComponent,
|
|
5
|
-
createAvatarPolymiddleware,
|
|
6
|
-
type AvatarPolymiddleware
|
|
7
|
-
} from '@msinternal/botframework-webchat-api-middleware';
|
|
8
|
-
import { type LegacyAvatarMiddleware } from '@msinternal/botframework-webchat-api-middleware/legacy';
|
|
9
|
-
import { composeEnhancer } from 'handler-chain';
|
|
10
|
-
import React, { Fragment, memo, type ReactNode } from 'react';
|
|
11
|
-
import { custom, function_, never, object, optional, pipe, readonly, safeParse, type InferInput } from 'valibot';
|
|
12
|
-
|
|
13
|
-
type LegacyAvatarRenderFunction = () => Exclude<ReactNode, boolean | null | undefined>;
|
|
14
|
-
|
|
15
|
-
const legacyAvatarBridgeComponentPropsSchema = pipe(
|
|
16
|
-
object({
|
|
17
|
-
children: optional(never()),
|
|
18
|
-
renderFn: custom<LegacyAvatarRenderFunction>(value => safeParse(function_(), value).success)
|
|
19
|
-
}),
|
|
20
|
-
readonly()
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
type LegacyAvatarBridgeComponentProps = Readonly<
|
|
24
|
-
InferInput<typeof legacyAvatarBridgeComponentPropsSchema> & { children?: never }
|
|
25
|
-
>;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Bridge component for the legacy avatar middleware.
|
|
29
|
-
* Renders the result of the legacy render function.
|
|
30
|
-
*/
|
|
31
|
-
function LegacyAvatarBridge(props: LegacyAvatarBridgeComponentProps) {
|
|
32
|
-
const { renderFn } = props;
|
|
33
|
-
|
|
34
|
-
return <Fragment>{renderFn()}</Fragment>;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const MemoizedLegacyAvatarBridge = memo(LegacyAvatarBridge);
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Polyfill legacy avatar middleware into a polymiddleware.
|
|
41
|
-
*
|
|
42
|
-
* @deprecated Use `polymiddleware` instead. Legacy avatar middleware is being deprecated and will be removed on or after 2028-03-16.
|
|
43
|
-
* @param middleware An array of legacy avatar middleware.
|
|
44
|
-
* @returns A polymiddleware composed by legacy avatar middleware.
|
|
45
|
-
*/
|
|
46
|
-
function createAvatarPolymiddlewareFromLegacy(...middlewares: readonly LegacyAvatarMiddleware[]): AvatarPolymiddleware {
|
|
47
|
-
const legacyEnhancer = composeEnhancer(...middlewares.map(middleware => middleware()));
|
|
48
|
-
|
|
49
|
-
return createAvatarPolymiddleware(next => {
|
|
50
|
-
const legacyHandler = legacyEnhancer(
|
|
51
|
-
({ [__INTERNAL_DO_NOT_USE__legacyAvatarMiddlewareOriginalRequestSymbol]: originalRequest }) => {
|
|
52
|
-
if (!originalRequest) {
|
|
53
|
-
// TODO: Add a test
|
|
54
|
-
throw new Error(
|
|
55
|
-
'botframework-webchat: `avatarMiddleware` must pass the whole request object to downstreamers'
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Pass styleOptions through the polymiddleware chain via the internal runtime extension
|
|
60
|
-
// so downstream handlers (e.g. core middleware) can still read it.
|
|
61
|
-
const handler = next(originalRequest);
|
|
62
|
-
|
|
63
|
-
return !!handler && ((): Exclude<ReactNode, boolean | null | undefined> => handler.render({}));
|
|
64
|
-
}
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
return request => {
|
|
68
|
-
const { [__INTERNAL_DO_NOT_USE__avatarPolymiddlewareRequestStyleOptionsSymbol]: styleOptions, activity } =
|
|
69
|
-
request;
|
|
70
|
-
|
|
71
|
-
const legacyResult = legacyHandler(
|
|
72
|
-
Object.freeze({
|
|
73
|
-
activity,
|
|
74
|
-
fromUser: activity.from?.role === 'user',
|
|
75
|
-
styleOptions,
|
|
76
|
-
[__INTERNAL_DO_NOT_USE__legacyAvatarMiddlewareOriginalRequestSymbol]: request
|
|
77
|
-
})
|
|
78
|
-
);
|
|
79
|
-
|
|
80
|
-
if (!legacyResult) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
let props: LegacyAvatarBridgeComponentProps;
|
|
85
|
-
|
|
86
|
-
if (typeof legacyResult !== 'function') {
|
|
87
|
-
console.warn(
|
|
88
|
-
'botframework-webchat: avatarMiddleware should return a function to render the avatar, or return false if avatar should be hidden. Please refer to HOOKS.md for details.'
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
props = Object.freeze({ renderFn: () => legacyResult });
|
|
92
|
-
} else {
|
|
93
|
-
props = Object.freeze({ renderFn: legacyResult });
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return avatarComponent(MemoizedLegacyAvatarBridge, props);
|
|
97
|
-
};
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export default createAvatarPolymiddlewareFromLegacy;
|
|
102
|
-
export { legacyAvatarBridgeComponentPropsSchema, type LegacyAvatarBridgeComponentProps };
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// We need to patch <AvatarPolymiddlewareProxy> from `api-middleware`.
|
|
2
|
-
//
|
|
3
|
-
// - Props of <AvatarPolymiddlewareProxy> should not need `styleOptions`
|
|
4
|
-
// - We should call `useStyleOptions()` to get style options
|
|
5
|
-
// - However, `api-middleware` is before `api`, so it do not have access to `useStyleOptions`
|
|
6
|
-
//
|
|
7
|
-
// Until we have `api-style-options`, we have to patch <AvatarPolymiddlewareProxy> inside `api`.
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
__INTERNAL_DO_NOT_USE__avatarPolymiddlewareRequestStyleOptionsSymbol,
|
|
11
|
-
AvatarPolymiddlewareProxy as RawAvatarPolymiddlewareProxy
|
|
12
|
-
} from '@msinternal/botframework-webchat-api-middleware';
|
|
13
|
-
import { validateProps } from '@msinternal/botframework-webchat-react-valibot';
|
|
14
|
-
import type { WebChatActivity } from 'botframework-webchat-core';
|
|
15
|
-
import React, { memo, useMemo } from 'react';
|
|
16
|
-
import { custom, object, pipe, readonly, safeParse, type InferInput } from 'valibot';
|
|
17
|
-
import { useStyleOptions } from '../hooks';
|
|
18
|
-
|
|
19
|
-
const avatarPolymiddlewareProxyPropsSchema = pipe(
|
|
20
|
-
object({
|
|
21
|
-
activity: custom<Readonly<WebChatActivity>>(value => safeParse(object({}), value).success)
|
|
22
|
-
}),
|
|
23
|
-
readonly()
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
type AvatarPolymiddlewareProxyProps = Readonly<InferInput<typeof avatarPolymiddlewareProxyPropsSchema>>;
|
|
27
|
-
|
|
28
|
-
const AvatarPolymiddlewareProxy = memo((props: AvatarPolymiddlewareProxyProps) => {
|
|
29
|
-
const { activity } = validateProps(avatarPolymiddlewareProxyPropsSchema, props);
|
|
30
|
-
|
|
31
|
-
const [styleOptions] = useStyleOptions();
|
|
32
|
-
|
|
33
|
-
const rawProps = useMemo(
|
|
34
|
-
() => ({
|
|
35
|
-
[__INTERNAL_DO_NOT_USE__avatarPolymiddlewareRequestStyleOptionsSymbol]: styleOptions
|
|
36
|
-
}),
|
|
37
|
-
[styleOptions]
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
return <RawAvatarPolymiddlewareProxy activity={activity} {...rawProps} />;
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
AvatarPolymiddlewareProxy.displayName = 'AvatarPolymiddlewareProxy';
|
|
44
|
-
|
|
45
|
-
export default AvatarPolymiddlewareProxy;
|
|
46
|
-
export { avatarPolymiddlewareProxyPropsSchema, type AvatarPolymiddlewareProxyProps };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import templateMiddleware, {
|
|
2
|
-
type InferMiddleware,
|
|
3
|
-
type InferProps,
|
|
4
|
-
type InferRequest
|
|
5
|
-
} from './private/templateMiddleware';
|
|
6
|
-
|
|
7
|
-
const template = templateMiddleware<void, { className?: string | undefined }>('sendBoxMiddleware');
|
|
8
|
-
|
|
9
|
-
const {
|
|
10
|
-
createMiddleware: createSendBoxMiddleware,
|
|
11
|
-
extractMiddleware: extractSendBoxMiddleware,
|
|
12
|
-
Provider: SendBoxMiddlewareProvider,
|
|
13
|
-
Proxy: SendBoxMiddlewareProxy
|
|
14
|
-
} = template;
|
|
15
|
-
|
|
16
|
-
type SendBoxMiddleware = InferMiddleware<typeof template>;
|
|
17
|
-
type SendBoxMiddlewareProps = InferProps<typeof template>;
|
|
18
|
-
type SendBoxMiddlewareRequest = InferRequest<typeof template>;
|
|
19
|
-
|
|
20
|
-
export {
|
|
21
|
-
createSendBoxMiddleware,
|
|
22
|
-
extractSendBoxMiddleware,
|
|
23
|
-
SendBoxMiddlewareProvider,
|
|
24
|
-
SendBoxMiddlewareProxy,
|
|
25
|
-
type SendBoxMiddleware,
|
|
26
|
-
type SendBoxMiddlewareProps,
|
|
27
|
-
type SendBoxMiddlewareRequest
|
|
28
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import templateMiddleware, {
|
|
2
|
-
type InferMiddleware,
|
|
3
|
-
type InferProps,
|
|
4
|
-
type InferRequest
|
|
5
|
-
} from './private/templateMiddleware';
|
|
6
|
-
|
|
7
|
-
const template = templateMiddleware<void, { className?: string | undefined }>('sendBoxToolbarMiddleware');
|
|
8
|
-
|
|
9
|
-
const {
|
|
10
|
-
createMiddleware: createSendBoxToolbarMiddleware,
|
|
11
|
-
extractMiddleware: extractSendBoxToolbarMiddleware,
|
|
12
|
-
Provider: SendBoxToolbarMiddlewareProvider,
|
|
13
|
-
Proxy: SendBoxToolbarMiddlewareProxy
|
|
14
|
-
} = template;
|
|
15
|
-
|
|
16
|
-
type SendBoxToolbarMiddleware = InferMiddleware<typeof template>;
|
|
17
|
-
type SendBoxToolbarMiddlewareProps = InferProps<typeof template>;
|
|
18
|
-
type SendBoxToolbarMiddlewareRequest = InferRequest<typeof template>;
|
|
19
|
-
|
|
20
|
-
export {
|
|
21
|
-
createSendBoxToolbarMiddleware,
|
|
22
|
-
extractSendBoxToolbarMiddleware,
|
|
23
|
-
SendBoxToolbarMiddlewareProvider,
|
|
24
|
-
SendBoxToolbarMiddlewareProxy,
|
|
25
|
-
type SendBoxToolbarMiddleware,
|
|
26
|
-
type SendBoxToolbarMiddlewareProps,
|
|
27
|
-
type SendBoxToolbarMiddlewareRequest
|
|
28
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import templateMiddleware from './templateMiddleware';
|
|
2
|
-
|
|
3
|
-
test('should warn if middleware is not an array of function', () => {
|
|
4
|
-
const warn = jest.fn();
|
|
5
|
-
const template = templateMiddleware('Check');
|
|
6
|
-
|
|
7
|
-
jest.spyOn(console, 'warn').mockImplementation(warn);
|
|
8
|
-
|
|
9
|
-
template.extractMiddleware(1 as any);
|
|
10
|
-
|
|
11
|
-
expect(warn).toHaveBeenCalledTimes(1);
|
|
12
|
-
expect(warn).toHaveBeenNthCalledWith(1, expect.stringContaining('must be an array of function'));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test('should warn if middleware did not return function', () => {
|
|
16
|
-
const warn = jest.fn();
|
|
17
|
-
const template = templateMiddleware('Check');
|
|
18
|
-
|
|
19
|
-
jest.spyOn(console, 'warn').mockImplementation(warn);
|
|
20
|
-
|
|
21
|
-
template.extractMiddleware([() => 1 as any]);
|
|
22
|
-
|
|
23
|
-
expect(warn).toHaveBeenCalledTimes(1);
|
|
24
|
-
expect(warn).toHaveBeenNthCalledWith(1, expect.stringContaining('must return enhancer function'));
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test('should not warn if middleware return false', () => {
|
|
28
|
-
const warn = jest.fn();
|
|
29
|
-
const template = templateMiddleware('Check');
|
|
30
|
-
|
|
31
|
-
jest.spyOn(console, 'warn').mockImplementation(warn);
|
|
32
|
-
|
|
33
|
-
template.extractMiddleware([() => false]);
|
|
34
|
-
|
|
35
|
-
expect(warn).toHaveBeenCalledTimes(0);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
test('should not warn if middleware return function', () => {
|
|
39
|
-
const warn = jest.fn();
|
|
40
|
-
const template = templateMiddleware('Check');
|
|
41
|
-
|
|
42
|
-
jest.spyOn(console, 'warn').mockImplementation(warn);
|
|
43
|
-
|
|
44
|
-
template.extractMiddleware([() => () => 1 as any]);
|
|
45
|
-
|
|
46
|
-
expect(warn).toHaveBeenCalledTimes(0);
|
|
47
|
-
});
|