botframework-webchat-api 4.13.0 → 4.14.2
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/.eslintignore +1 -9
- package/.eslintrc.yml +43 -38
- package/lib/StyleOptions.d.ts +28 -3
- package/lib/StyleOptions.d.ts.map +1 -1
- package/lib/defaultStyleOptions.d.ts +4 -0
- package/lib/defaultStyleOptions.d.ts.map +1 -0
- package/lib/defaultStyleOptions.js +7 -3
- package/lib/external/PrecompiledGlobalize.js +24 -6
- package/lib/hooks/Composer.d.ts +71 -0
- package/lib/hooks/Composer.d.ts.map +1 -0
- package/lib/hooks/Composer.js +104 -88
- package/lib/hooks/index.d.ts +64 -0
- package/lib/hooks/index.d.ts.map +1 -0
- package/lib/hooks/index.js +9 -1
- package/lib/hooks/internal/ErrorBox.js +2 -2
- package/lib/hooks/internal/Tracker.d.ts +4 -0
- package/lib/hooks/internal/Tracker.d.ts.map +1 -0
- package/lib/hooks/internal/WebChatAPIContext.d.ts +81 -0
- package/lib/hooks/internal/WebChatAPIContext.d.ts.map +1 -0
- package/lib/hooks/internal/WebChatAPIContext.js +2 -4
- 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 +1 -1
- package/lib/hooks/internal/useDebugDeps.js +2 -2
- package/lib/hooks/internal/useDownscaleImageToDataURL.js +1 -1
- package/lib/hooks/internal/useErrorBoxClass.js +1 -1
- package/lib/hooks/internal/useForceRender.js +2 -2
- package/lib/hooks/internal/useLocalizedStrings.js +1 -1
- package/lib/hooks/internal/useReadTelemetryDimensions.js +2 -2
- package/lib/hooks/internal/useTimePassed.js +2 -2
- package/lib/hooks/internal/useTracker.js +2 -2
- package/lib/hooks/middleware/UserlandBoundary.js +4 -4
- package/lib/hooks/middleware/applyMiddleware.js +6 -6
- 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 +2 -2
- 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 +6 -8
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts +5 -0
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +1 -0
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +1 -1
- package/lib/hooks/useActiveTyping.d.ts +6 -0
- package/lib/hooks/useActiveTyping.d.ts.map +1 -0
- package/lib/hooks/useActiveTyping.js +4 -4
- package/lib/hooks/useActivities.d.ts +3 -0
- package/lib/hooks/useActivities.d.ts.map +1 -0
- package/lib/hooks/useActivities.js +1 -1
- package/lib/hooks/useAvatarForBot.d.ts +5 -0
- package/lib/hooks/useAvatarForBot.d.ts.map +1 -0
- package/lib/hooks/useAvatarForBot.js +2 -2
- package/lib/hooks/useAvatarForUser.d.ts +5 -0
- package/lib/hooks/useAvatarForUser.d.ts.map +1 -0
- package/lib/hooks/useAvatarForUser.js +2 -2
- package/lib/hooks/useByteFormatter.d.ts +2 -0
- package/lib/hooks/useByteFormatter.d.ts.map +1 -0
- package/lib/hooks/useByteFormatter.js +2 -2
- package/lib/hooks/useConnectivityStatus.d.ts +2 -0
- package/lib/hooks/useConnectivityStatus.d.ts.map +1 -0
- package/lib/hooks/useConnectivityStatus.js +1 -1
- package/lib/hooks/useCreateActivityRenderer.d.ts +3 -0
- package/lib/hooks/useCreateActivityRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateActivityRenderer.js +1 -2
- package/lib/hooks/useCreateActivityStatusRenderer.d.ts +9 -0
- package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateActivityStatusRenderer.js +6 -4
- package/lib/hooks/useCreateAvatarRenderer.d.ts +4 -0
- package/lib/hooks/useCreateAvatarRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateAvatarRenderer.js +2 -2
- package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts +3 -0
- package/lib/hooks/useCreateScrollToEndButtonRenderer.d.ts.map +1 -0
- package/lib/hooks/useCreateScrollToEndButtonRenderer.js +15 -0
- package/lib/hooks/useDateFormatter.d.ts +2 -0
- package/lib/hooks/useDateFormatter.d.ts.map +1 -0
- package/lib/hooks/useDateFormatter.js +2 -2
- package/lib/hooks/useDebouncedNotifications.d.ts +13 -0
- package/lib/hooks/useDebouncedNotifications.d.ts.map +1 -0
- package/lib/hooks/useDebouncedNotifications.js +6 -6
- package/lib/hooks/useDictateInterims.d.ts +2 -0
- package/lib/hooks/useDictateInterims.d.ts.map +1 -0
- package/lib/hooks/useDictateInterims.js +1 -1
- package/lib/hooks/useDictateState.d.ts +2 -0
- package/lib/hooks/useDictateState.d.ts.map +1 -0
- package/lib/hooks/useDictateState.js +1 -1
- package/lib/hooks/useDirection.d.ts +2 -0
- package/lib/hooks/useDirection.d.ts.map +1 -0
- package/lib/hooks/useDirection.js +2 -2
- package/lib/hooks/useDisabled.d.ts +2 -0
- package/lib/hooks/useDisabled.d.ts.map +1 -0
- package/lib/hooks/useDisabled.js +1 -1
- package/lib/hooks/useDismissNotification.d.ts +2 -0
- package/lib/hooks/useDismissNotification.d.ts.map +1 -0
- package/lib/hooks/useDismissNotification.js +1 -1
- package/lib/hooks/useEmitTypingIndicator.d.ts +2 -0
- package/lib/hooks/useEmitTypingIndicator.d.ts.map +1 -0
- package/lib/hooks/useEmitTypingIndicator.js +1 -1
- package/lib/hooks/useGetSendTimeoutForActivity.d.ts +5 -0
- package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +1 -0
- package/lib/hooks/useGetSendTimeoutForActivity.js +2 -2
- package/lib/hooks/useGrammars.d.ts +2 -0
- package/lib/hooks/useGrammars.d.ts.map +1 -0
- package/lib/hooks/useGrammars.js +1 -1
- package/lib/hooks/useGroupActivities.d.ts +8 -0
- package/lib/hooks/useGroupActivities.d.ts.map +1 -0
- package/lib/hooks/useGroupActivities.js +1 -1
- package/lib/hooks/useGroupTimestamp.d.ts +2 -0
- package/lib/hooks/useGroupTimestamp.d.ts.map +1 -0
- package/lib/hooks/useGroupTimestamp.js +2 -2
- package/lib/hooks/useLanguage.d.ts +2 -0
- package/lib/hooks/useLanguage.d.ts.map +1 -0
- package/lib/hooks/useLanguage.js +1 -1
- package/lib/hooks/useLastTypingAt.d.ts +5 -0
- package/lib/hooks/useLastTypingAt.d.ts.map +1 -0
- package/lib/hooks/useLastTypingAt.js +2 -1
- package/lib/hooks/useLocalize.d.ts +3 -0
- package/lib/hooks/useLocalize.d.ts.map +1 -0
- package/lib/hooks/useLocalize.js +5 -2
- package/lib/hooks/useLocalizeDate.d.ts +3 -0
- package/lib/hooks/useLocalizeDate.d.ts.map +1 -0
- package/lib/hooks/useLocalizeDate.js +3 -2
- package/lib/hooks/useLocalizer.d.ts +13 -0
- package/lib/hooks/useLocalizer.d.ts.map +1 -0
- package/lib/hooks/useLocalizer.js +10 -6
- package/lib/hooks/useMarkActivityAsSpoken.d.ts +3 -0
- package/lib/hooks/useMarkActivityAsSpoken.d.ts.map +1 -0
- package/lib/hooks/useMarkActivityAsSpoken.js +1 -1
- package/lib/hooks/useNotifications.d.ts +3 -0
- package/lib/hooks/useNotifications.d.ts.map +1 -0
- package/lib/hooks/useNotifications.js +1 -1
- package/lib/hooks/usePerformCardAction.d.ts +3 -0
- package/lib/hooks/usePerformCardAction.d.ts.map +1 -0
- package/lib/hooks/usePerformCardAction.js +1 -1
- package/lib/hooks/usePostActivity.d.ts +4 -0
- package/lib/hooks/usePostActivity.d.ts.map +1 -0
- package/lib/hooks/usePostActivity.js +1 -1
- package/lib/hooks/useReferenceGrammarID.d.ts +2 -0
- package/lib/hooks/useReferenceGrammarID.d.ts.map +1 -0
- package/lib/hooks/useReferenceGrammarID.js +1 -1
- package/lib/hooks/useRelativeTimeFormatter.d.ts +2 -0
- package/lib/hooks/useRelativeTimeFormatter.d.ts.map +1 -0
- package/lib/hooks/useRelativeTimeFormatter.js +2 -2
- package/lib/hooks/useRenderActivity.js +2 -1
- package/lib/hooks/useRenderActivityStatus.js +2 -1
- package/lib/hooks/useRenderAttachment.js +1 -1
- package/lib/hooks/useRenderAvatar.js +2 -1
- package/lib/hooks/useRenderToast.d.ts +3 -0
- package/lib/hooks/useRenderToast.d.ts.map +1 -0
- package/lib/hooks/useRenderToast.js +1 -1
- package/lib/hooks/useRenderTypingIndicator.d.ts +3 -0
- package/lib/hooks/useRenderTypingIndicator.d.ts.map +1 -0
- package/lib/hooks/useRenderTypingIndicator.js +1 -1
- package/lib/hooks/useSendBoxValue.d.ts +2 -0
- package/lib/hooks/useSendBoxValue.d.ts.map +1 -0
- package/lib/hooks/useSendBoxValue.js +1 -1
- package/lib/hooks/useSendEvent.d.ts +2 -0
- package/lib/hooks/useSendEvent.d.ts.map +1 -0
- package/lib/hooks/useSendEvent.js +1 -1
- package/lib/hooks/useSendFiles.d.ts +2 -0
- package/lib/hooks/useSendFiles.d.ts.map +1 -0
- package/lib/hooks/useSendFiles.js +1 -1
- package/lib/hooks/useSendMessage.d.ts +4 -0
- package/lib/hooks/useSendMessage.d.ts.map +1 -0
- package/lib/hooks/useSendMessage.js +1 -1
- package/lib/hooks/useSendMessageBack.d.ts +2 -0
- package/lib/hooks/useSendMessageBack.d.ts.map +1 -0
- package/lib/hooks/useSendMessageBack.js +1 -1
- package/lib/hooks/useSendPostBack.d.ts +2 -0
- package/lib/hooks/useSendPostBack.d.ts.map +1 -0
- package/lib/hooks/useSendPostBack.js +1 -1
- package/lib/hooks/useSendTimeoutForActivity.d.ts +4 -0
- package/lib/hooks/useSendTimeoutForActivity.d.ts.map +1 -0
- package/lib/hooks/useSendTimeoutForActivity.js +2 -1
- package/lib/hooks/useSendTypingIndicator.d.ts +2 -0
- package/lib/hooks/useSendTypingIndicator.d.ts.map +1 -0
- package/lib/hooks/useSendTypingIndicator.js +1 -1
- package/lib/hooks/useSetNotification.d.ts +3 -0
- package/lib/hooks/useSetNotification.d.ts.map +1 -0
- package/lib/hooks/useSetNotification.js +1 -1
- package/lib/hooks/useShouldSpeakIncomingActivity.d.ts +2 -0
- package/lib/hooks/useShouldSpeakIncomingActivity.d.ts.map +1 -0
- package/lib/hooks/useShouldSpeakIncomingActivity.js +1 -1
- package/lib/hooks/useStartDictate.d.ts +2 -0
- package/lib/hooks/useStartDictate.d.ts.map +1 -0
- package/lib/hooks/useStartDictate.js +1 -1
- package/lib/hooks/useStopDictate.d.ts +2 -0
- package/lib/hooks/useStopDictate.d.ts.map +1 -0
- package/lib/hooks/useStopDictate.js +1 -1
- package/lib/hooks/useStyleOptions.d.ts +3 -0
- package/lib/hooks/useStyleOptions.d.ts.map +1 -0
- package/lib/hooks/useStyleOptions.js +1 -1
- package/lib/hooks/useSubmitSendBox.d.ts +4 -0
- package/lib/hooks/useSubmitSendBox.d.ts.map +1 -0
- package/lib/hooks/useSubmitSendBox.js +1 -1
- package/lib/hooks/useSuggestedActions.d.ts +6 -0
- package/lib/hooks/useSuggestedActions.d.ts.map +1 -0
- package/lib/hooks/useSuggestedActions.js +1 -1
- package/lib/hooks/useTimeoutForSend.d.ts +3 -0
- package/lib/hooks/useTimeoutForSend.d.ts.map +1 -0
- package/lib/hooks/useTimeoutForSend.js +2 -2
- package/lib/hooks/useTrackDimension.d.ts +2 -0
- package/lib/hooks/useTrackDimension.d.ts.map +1 -0
- package/lib/hooks/useTrackDimension.js +1 -1
- package/lib/hooks/useTrackEvent.d.ts +10 -0
- package/lib/hooks/useTrackEvent.d.ts.map +1 -0
- package/lib/hooks/useTrackEvent.js +1 -1
- package/lib/hooks/useTrackException.d.ts +2 -0
- package/lib/hooks/useTrackException.d.ts.map +1 -0
- package/lib/hooks/useTrackException.js +2 -2
- package/lib/hooks/useTrackTiming.d.ts +2 -0
- package/lib/hooks/useTrackTiming.d.ts.map +1 -0
- package/lib/hooks/useTrackTiming.js +1 -1
- package/lib/hooks/useUserID.d.ts +2 -0
- package/lib/hooks/useUserID.d.ts.map +1 -0
- package/lib/hooks/useUserID.js +1 -1
- package/lib/hooks/useUsername.d.ts +2 -0
- package/lib/hooks/useUsername.d.ts.map +1 -0
- package/lib/hooks/useUsername.js +1 -1
- package/lib/hooks/useVoiceSelector.d.ts +2 -0
- package/lib/hooks/useVoiceSelector.d.ts.map +1 -0
- package/lib/hooks/useVoiceSelector.js +1 -1
- package/lib/hooks/utils/ErrorBoundary.js +3 -3
- 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 +1 -1
- package/lib/index.d.ts +20 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -3
- package/lib/localization/Localize.d.ts +10 -0
- package/lib/localization/Localize.d.ts.map +1 -0
- package/lib/localization/Localize.js +7 -7
- package/lib/localization/ar-SA.json +1 -0
- package/lib/localization/bg-BG.json +1 -0
- package/lib/localization/ca-ES.json +1 -0
- package/lib/localization/cs-CZ.json +1 -0
- package/lib/localization/da-DK.json +1 -0
- package/lib/localization/de-DE.json +1 -0
- package/lib/localization/el-GR.json +1 -0
- package/lib/localization/en-US.json +1 -0
- package/lib/localization/es-ES.json +1 -0
- package/lib/localization/et-EE.json +1 -0
- package/lib/localization/eu-ES.json +1 -0
- package/lib/localization/fi-FI.json +1 -0
- package/lib/localization/fr-FR.json +1 -0
- package/lib/localization/getAllLocalizedStrings.d.ts +6 -0
- package/lib/localization/getAllLocalizedStrings.d.ts.map +1 -0
- package/lib/localization/getAllLocalizedStrings.js +1 -1
- package/lib/localization/getLocaleString.d.ts +2 -0
- package/lib/localization/getLocaleString.d.ts.map +1 -0
- package/lib/localization/getLocaleString.js +3 -3
- package/lib/localization/getRTLList.d.ts +2 -0
- package/lib/localization/getRTLList.d.ts.map +1 -0
- package/lib/localization/getRTLList.js +1 -1
- package/lib/localization/gl-ES.json +1 -0
- package/lib/localization/he-IL.json +1 -0
- package/lib/localization/hi-IN.json +1 -0
- package/lib/localization/hr-HR.json +1 -0
- package/lib/localization/hu-HU.json +1 -0
- package/lib/localization/id-ID.json +1 -0
- package/lib/localization/it-IT.json +1 -0
- package/lib/localization/ja-JP.json +1 -0
- package/lib/localization/kk-KZ.json +1 -0
- package/lib/localization/ko-KR.json +1 -0
- package/lib/localization/lt-LT.json +1 -0
- package/lib/localization/lv-LV.json +1 -0
- package/lib/localization/mergeLocalizedStrings.d.ts +7 -0
- package/lib/localization/mergeLocalizedStrings.d.ts.map +1 -0
- package/lib/localization/mergeLocalizedStrings.js +4 -4
- package/lib/localization/ms-MY.json +1 -0
- package/lib/localization/nb-NO.json +1 -0
- package/lib/localization/nl-NL.json +1 -0
- package/lib/localization/pl-PL.json +1 -0
- package/lib/localization/pt-BR.json +1 -0
- package/lib/localization/pt-PT.json +1 -0
- package/lib/localization/ro-RO.json +1 -0
- package/lib/localization/ru-RU.json +1 -0
- package/lib/localization/sk-SK.json +1 -0
- package/lib/localization/sl-SI.json +1 -0
- package/lib/localization/sr-Cyrl-CS.json +1 -0
- package/lib/localization/sr-Latn-CS.json +1 -0
- package/lib/localization/sv-SE.json +1 -0
- package/lib/localization/th-TH.json +1 -0
- package/lib/localization/tr-TR.json +1 -0
- package/lib/localization/uk-UA.json +1 -0
- package/lib/localization/vi-VN.json +1 -0
- package/lib/localization/yue.json +1 -0
- package/lib/localization/zh-CN.json +1 -0
- package/lib/localization/zh-HK.json +1 -0
- package/lib/localization/zh-TW.json +1 -0
- package/lib/normalizeStyleOptions.d.ts +3 -0
- package/lib/normalizeStyleOptions.d.ts.map +1 -0
- package/lib/normalizeStyleOptions.js +40 -5
- package/lib/tsconfig.json +3 -1
- package/lib/types/ActivityMiddleware.d.ts +25 -0
- package/lib/types/ActivityMiddleware.d.ts.map +1 -0
- package/lib/types/ActivityMiddleware.js +2 -0
- package/lib/types/ActivityStatusMiddleware.d.ts +18 -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 +17 -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/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/SendState.d.ts +3 -0
- package/lib/types/SendState.d.ts.map +1 -0
- package/lib/types/SendState.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 +18 -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 +2 -2
- package/lib/utils/findMin.d.ts +7 -0
- package/lib/utils/findMin.d.ts.map +1 -0
- package/lib/utils/findMin.js +2 -2
- package/lib/utils/isObject.js +1 -1
- package/lib/utils/mapMap.d.ts +6 -0
- package/lib/utils/mapMap.d.ts.map +1 -0
- package/lib/utils/mapMap.js +2 -2
- package/lib/utils/normalizeLanguage.d.ts +2 -0
- package/lib/utils/normalizeLanguage.d.ts.map +1 -0
- package/lib/utils/normalizeLanguage.js +1 -1
- package/lib/utils/randomId.d.ts +2 -0
- package/lib/utils/randomId.d.ts.map +1 -0
- package/lib/utils/randomId.js +1 -1
- package/lib/utils/warnOnce.js +17 -0
- package/package.json +32 -31
- package/scripts/createPrecompiledGlobalize.mjs +44 -0
- package/src/StyleOptions.ts +39 -3
- package/src/defaultStyleOptions.ts +4 -2
- package/src/hooks/Composer.tsx +141 -99
- package/src/hooks/{index.js → index.ts} +2 -0
- package/src/hooks/internal/WebChatAPIContext.ts +68 -3
- package/src/hooks/internal/{useCreateActivityRendererInternal.js → useCreateActivityRendererInternal.ts} +6 -2
- package/src/hooks/middleware/applyMiddleware.js +2 -3
- package/src/hooks/middleware/concatMiddleware.spec.js +4 -6
- package/src/hooks/middleware/{concatMiddleware.js → concatMiddleware.ts} +7 -1
- package/src/hooks/middleware/{createDefaultCardActionMiddleware.js → createDefaultCardActionMiddleware.ts} +8 -4
- package/src/hooks/middleware/{createDefaultGroupActivitiesMiddleware.js → createDefaultGroupActivitiesMiddleware.ts} +20 -12
- package/src/hooks/{useActiveTyping.js → useActiveTyping.ts} +13 -9
- package/src/hooks/useActivities.ts +7 -0
- package/src/hooks/{useAvatarForBot.js → useAvatarForBot.ts} +1 -1
- package/src/hooks/{useAvatarForUser.js → useAvatarForUser.ts} +1 -1
- package/src/hooks/{useByteFormatter.js → useByteFormatter.ts} +1 -1
- package/src/hooks/{useConnectivityStatus.js → useConnectivityStatus.ts} +1 -1
- package/src/hooks/{useCreateActivityRenderer.js → useCreateActivityRenderer.ts} +2 -3
- package/src/hooks/{useCreateActivityStatusRenderer.js → useCreateActivityStatusRenderer.tsx} +24 -5
- package/src/hooks/{useCreateAvatarRenderer.js → useCreateAvatarRenderer.ts} +6 -3
- package/src/hooks/useCreateScrollToEndButtonRenderer.ts +6 -0
- package/src/hooks/{useDateFormatter.js → useDateFormatter.ts} +1 -1
- package/src/hooks/useDebouncedNotifications.spec.js +2 -0
- package/src/hooks/{useDebouncedNotifications.js → useDebouncedNotifications.ts} +10 -2
- package/src/hooks/{useDictateInterims.js → useDictateInterims.ts} +1 -1
- package/src/hooks/{useDictateState.js → useDictateState.ts} +1 -1
- package/src/hooks/{useDirection.js → useDirection.ts} +1 -1
- package/src/hooks/{useDisabled.js → useDisabled.ts} +1 -1
- package/src/hooks/{useDismissNotification.js → useDismissNotification.ts} +1 -1
- package/src/hooks/{useEmitTypingIndicator.js → useEmitTypingIndicator.ts} +1 -1
- package/src/hooks/{useGetSendTimeoutForActivity.js → useGetSendTimeoutForActivity.ts} +2 -1
- package/src/hooks/{useGrammars.js → useGrammars.ts} +1 -1
- package/src/hooks/useGroupActivities.ts +14 -0
- package/src/hooks/{useGroupTimestamp.js → useGroupTimestamp.ts} +1 -1
- package/src/hooks/{useLanguage.js → useLanguage.ts} +1 -1
- package/src/hooks/{useLastTypingAt.js → useLastTypingAt.ts} +2 -1
- package/src/hooks/{useLocalize.js → useLocalize.ts} +3 -1
- package/src/hooks/{useLocalizeDate.js → useLocalizeDate.ts} +2 -1
- package/src/hooks/{useLocalizer.js → useLocalizer.ts} +19 -6
- package/src/hooks/{useMarkActivityAsSpoken.js → useMarkActivityAsSpoken.ts} +2 -1
- package/src/hooks/{useNotifications.js → useNotifications.ts} +2 -1
- package/src/hooks/usePerformCardAction.ts +7 -0
- package/src/hooks/usePostActivity.ts +8 -0
- package/src/hooks/{useReferenceGrammarID.js → useReferenceGrammarID.ts} +1 -1
- package/src/hooks/{useRelativeTimeFormatter.js → useRelativeTimeFormatter.ts} +1 -1
- package/src/hooks/useRenderActivity.js +12 -10
- package/src/hooks/useRenderActivityStatus.js +1 -0
- package/src/hooks/useRenderAvatar.js +1 -0
- package/src/hooks/{useRenderToast.js → useRenderToast.ts} +2 -1
- package/src/hooks/useRenderTypingIndicator.ts +6 -0
- package/src/hooks/{useSendBoxValue.js → useSendBoxValue.ts} +1 -1
- package/src/hooks/{useSendEvent.js → useSendEvent.ts} +1 -1
- package/src/hooks/{useSendFiles.js → useSendFiles.ts} +1 -1
- package/src/hooks/useSendMessage.ts +9 -0
- package/src/hooks/{useSendMessageBack.js → useSendMessageBack.ts} +1 -1
- package/src/hooks/{useSendPostBack.js → useSendPostBack.ts} +1 -1
- package/src/hooks/{useSendTimeoutForActivity.js → useSendTimeoutForActivity.ts} +4 -1
- package/src/hooks/{useSendTypingIndicator.js → useSendTypingIndicator.ts} +1 -1
- package/src/hooks/useSetNotification.ts +6 -0
- package/src/hooks/{useShouldSpeakIncomingActivity.js → useShouldSpeakIncomingActivity.ts} +1 -1
- package/src/hooks/{useStartDictate.js → useStartDictate.ts} +1 -1
- package/src/hooks/{useStopDictate.js → useStopDictate.ts} +1 -1
- package/src/hooks/useStyleOptions.ts +6 -0
- package/src/hooks/{useSubmitSendBox.js → useSubmitSendBox.ts} +1 -1
- package/src/hooks/{useSuggestedActions.js → useSuggestedActions.ts} +5 -1
- package/src/hooks/useTimeoutForSend.ts +9 -0
- package/src/hooks/{useTrackDimension.js → useTrackDimension.ts} +1 -1
- package/src/hooks/{useTrackEvent.js → useTrackEvent.ts} +10 -2
- package/src/hooks/{useTrackException.js → useTrackException.ts} +1 -1
- package/src/hooks/{useTrackTiming.js → useTrackTiming.ts} +4 -1
- package/src/hooks/{useUserID.js → useUserID.ts} +1 -1
- package/src/hooks/{useUsername.js → useUsername.ts} +1 -1
- package/src/hooks/{useVoiceSelector.js → useVoiceSelector.ts} +4 -1
- package/src/hooks/utils/{observableToPromise.js → observableToPromise.ts} +5 -3
- package/src/index.ts +51 -0
- package/src/localization/Localize.spec.js +2 -0
- package/src/localization/{Localize.js → Localize.ts} +6 -6
- package/src/localization/ar-SA.json +1 -0
- package/src/localization/bg-BG.json +1 -0
- package/src/localization/ca-ES.json +1 -0
- package/src/localization/cs-CZ.json +1 -0
- package/src/localization/da-DK.json +1 -0
- package/src/localization/de-DE.json +1 -0
- package/src/localization/el-GR.json +1 -0
- package/src/localization/en-US.json +1 -0
- package/src/localization/es-ES.json +1 -0
- package/src/localization/et-EE.json +1 -0
- package/src/localization/eu-ES.json +1 -0
- package/src/localization/fi-FI.json +1 -0
- package/src/localization/fr-FR.json +1 -0
- package/src/localization/getAllLocalizedStrings.spec.js +3 -1
- package/src/localization/{getAllLocalizedStrings.js → getAllLocalizedStrings.ts} +2 -1
- package/src/localization/getLocaleString.spec.js +4 -2
- package/src/localization/{getLocaleString.js → getLocaleString.ts} +2 -2
- package/src/localization/{getRTLList.js → getRTLList.ts} +1 -1
- package/src/localization/gl-ES.json +1 -0
- package/src/localization/he-IL.json +1 -0
- package/src/localization/hi-IN.json +1 -0
- package/src/localization/hr-HR.json +1 -0
- package/src/localization/hu-HU.json +1 -0
- package/src/localization/id-ID.json +1 -0
- package/src/localization/it-IT.json +1 -0
- package/src/localization/ja-JP.json +1 -0
- package/src/localization/kk-KZ.json +1 -0
- package/src/localization/ko-KR.json +1 -0
- package/src/localization/lt-LT.json +1 -0
- package/src/localization/lv-LV.json +1 -0
- package/src/localization/{mergeLocalizedStrings.js → mergeLocalizedStrings.ts} +5 -1
- package/src/localization/ms-MY.json +1 -0
- package/src/localization/nb-NO.json +1 -0
- package/src/localization/nl-NL.json +1 -0
- package/src/localization/pl-PL.json +1 -0
- package/src/localization/pt-BR.json +1 -0
- package/src/localization/pt-PT.json +1 -0
- package/src/localization/ro-RO.json +1 -0
- package/src/localization/ru-RU.json +1 -0
- package/src/localization/sk-SK.json +1 -0
- package/src/localization/sl-SI.json +1 -0
- package/src/localization/sr-Cyrl-CS.json +1 -0
- package/src/localization/sr-Latn-CS.json +1 -0
- package/src/localization/sv-SE.json +1 -0
- package/src/localization/th-TH.json +1 -0
- package/src/localization/tr-TR.json +1 -0
- package/src/localization/uk-UA.json +1 -0
- package/src/localization/vi-VN.json +1 -0
- package/src/localization/yue.json +1 -0
- package/src/localization/zh-CN.json +1 -0
- package/src/localization/zh-HK.json +1 -0
- package/src/localization/zh-TW.json +1 -0
- package/src/normalizeStyleOptions.ts +43 -2
- package/src/tsconfig.json +3 -1
- package/src/types/ActivityMiddleware.ts +38 -0
- package/src/types/ActivityStatusMiddleware.ts +28 -0
- package/src/types/AttachmentForScreenReaderMiddleware.ts +24 -0
- package/src/types/AttachmentMiddleware.ts +16 -0
- package/src/types/AvatarMiddleware.ts +20 -0
- package/src/types/CardActionMiddleware.ts +21 -0
- package/src/types/ComponentMiddleware.ts +42 -0
- package/src/types/FunctionMiddleware.ts +13 -0
- package/src/types/GroupActivitiesMiddleware.ts +24 -0
- package/src/types/LocalizedStrings.ts +5 -0
- package/src/types/Notification.ts +10 -0
- package/src/types/PrecompiledGlobalize.ts +9 -0
- package/src/types/ScrollToEndButtonMiddleware.ts +34 -0
- package/src/types/SendState.ts +3 -0
- package/src/types/TelemetryMeasurementEvent.ts +44 -0
- package/src/types/ToastMiddleware.ts +16 -0
- package/src/types/Typing.ts +8 -0
- package/src/types/TypingIndicatorMiddleware.ts +18 -0
- package/src/types/WebSpeechPonyfill.ts +24 -0
- package/src/types/WebSpeechPonyfillFactory.ts +5 -0
- package/src/utils/{createCustomEvent.js → createCustomEvent.ts} +8 -3
- package/src/utils/findMin.spec.js +2 -0
- package/src/utils/{findMin.js → findMin.ts} +3 -3
- package/src/utils/mapMap.spec.js +2 -0
- package/src/utils/{mapMap.js → mapMap.ts} +4 -1
- package/src/utils/{normalizeLanguage.js → normalizeLanguage.ts} +1 -1
- package/src/utils/{randomId.js → randomId.ts} +1 -1
- package/src/utils/warnOnce.ts +10 -0
- package/lib/hooks/utils/singleToArray.js +0 -11
- package/scripts/createPrecompiledGlobalize.js +0 -41
- package/src/hooks/useActivities.js +0 -5
- package/src/hooks/useGroupActivities.js +0 -5
- package/src/hooks/usePerformCardAction.js +0 -5
- package/src/hooks/usePostActivity.js +0 -5
- package/src/hooks/useRenderTypingIndicator.js +0 -5
- package/src/hooks/useSendMessage.js +0 -5
- package/src/hooks/useSetNotification.js +0 -5
- package/src/hooks/useStyleOptions.js +0 -5
- package/src/hooks/useTimeoutForSend.js +0 -7
- package/src/hooks/utils/singleToArray.js +0 -3
- package/src/index.js +0 -10
- package/src/index.tsx +0 -10
|
@@ -3,7 +3,7 @@ import { useCallback } from 'react';
|
|
|
3
3
|
import { useSelector } from './internal/WebChatReduxContext';
|
|
4
4
|
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
5
5
|
|
|
6
|
-
export default function useShouldSpeakIncomingActivity() {
|
|
6
|
+
export default function useShouldSpeakIncomingActivity(): [boolean, (value: boolean) => void] {
|
|
7
7
|
const { startSpeakingActivity, stopSpeakingActivity } = useWebChatAPIContext();
|
|
8
8
|
|
|
9
9
|
return [
|
|
@@ -3,7 +3,7 @@ import { useCallback } from 'react';
|
|
|
3
3
|
import useTrackEvent from './useTrackEvent';
|
|
4
4
|
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
5
5
|
|
|
6
|
-
export default function useSubmitSendBox() {
|
|
6
|
+
export default function useSubmitSendBox(): (method?: string, { channelData }?: { channelData: any }) => void {
|
|
7
7
|
const { submitSendBox } = useWebChatAPIContext();
|
|
8
8
|
const trackEvent = useTrackEvent();
|
|
9
9
|
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import { DirectLineSuggestedAction } from 'botframework-webchat-core';
|
|
1
2
|
import { useCallback } from 'react';
|
|
2
3
|
|
|
3
4
|
import { useSelector } from './internal/WebChatReduxContext';
|
|
4
5
|
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
5
6
|
|
|
6
|
-
export default function useSuggestedActions()
|
|
7
|
+
export default function useSuggestedActions(): [
|
|
8
|
+
DirectLineSuggestedAction[],
|
|
9
|
+
(suggestedActions: DirectLineSuggestedAction[]) => void
|
|
10
|
+
] {
|
|
7
11
|
const value = useSelector(({ suggestedActions }) => suggestedActions);
|
|
8
12
|
const { clearSuggestedActions } = useWebChatAPIContext();
|
|
9
13
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DirectLineActivity } from 'botframework-webchat-core';
|
|
2
|
+
|
|
3
|
+
import useStyleOptions from './useStyleOptions';
|
|
4
|
+
|
|
5
|
+
export default function useTimeoutForSend(): [number | ((activity: DirectLineActivity) => number)] {
|
|
6
|
+
const [{ sendTimeout }] = useStyleOptions();
|
|
7
|
+
|
|
8
|
+
return [sendTimeout];
|
|
9
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
2
2
|
|
|
3
|
-
export default function useTrackDimension() {
|
|
3
|
+
export default function useTrackDimension(): (name: string, data: any) => void {
|
|
4
4
|
const { trackDimension } = useWebChatAPIContext();
|
|
5
5
|
|
|
6
6
|
return trackDimension;
|
|
@@ -9,7 +9,15 @@ function isNonNegativeFiniteNumberOrString(value) {
|
|
|
9
9
|
return (typeof value === 'number' && isFinite(value) && value >= 0) || typeof value === 'string';
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
type TrackEventFunction = {
|
|
13
|
+
(name: string, data: any): void;
|
|
14
|
+
debug: (name: string, data: any) => void;
|
|
15
|
+
error: (name: string, data: any) => void;
|
|
16
|
+
info: (name: string, data: any) => void;
|
|
17
|
+
warn: (name: string, data: any) => void;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default function useTrackEvent(): TrackEventFunction {
|
|
13
21
|
const { onTelemetry } = useWebChatAPIContext();
|
|
14
22
|
const readTelemetryDimensions = useReadTelemetryDimensions();
|
|
15
23
|
|
|
@@ -40,7 +48,7 @@ export default function useTrackEvent() {
|
|
|
40
48
|
);
|
|
41
49
|
|
|
42
50
|
return useMemo(() => {
|
|
43
|
-
const info = trackEvent.bind(null, 'info');
|
|
51
|
+
const info: TrackEventFunction = trackEvent.bind(null, 'info');
|
|
44
52
|
|
|
45
53
|
info.debug = trackEvent.bind(null, 'debug');
|
|
46
54
|
info.error = trackEvent.bind(null, 'error');
|
|
@@ -4,7 +4,7 @@ import createCustomEvent from '../utils/createCustomEvent';
|
|
|
4
4
|
import useReadTelemetryDimensions from './internal/useReadTelemetryDimensions';
|
|
5
5
|
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
6
6
|
|
|
7
|
-
export default function useTrackException() {
|
|
7
|
+
export default function useTrackException(): (error: Error, fatal: boolean) => void {
|
|
8
8
|
const { onTelemetry } = useWebChatAPIContext();
|
|
9
9
|
const readTelemetryDimensions = useReadTelemetryDimensions();
|
|
10
10
|
|
|
@@ -6,7 +6,10 @@ import useReadTelemetryDimensions from './internal/useReadTelemetryDimensions';
|
|
|
6
6
|
import useTrackException from './useTrackException';
|
|
7
7
|
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
8
8
|
|
|
9
|
-
export default function useTrackTiming()
|
|
9
|
+
export default function useTrackTiming<T>(): (
|
|
10
|
+
name: string,
|
|
11
|
+
functionOrPromise: (() => T) | Promise<T>
|
|
12
|
+
) => Promise<T | void> {
|
|
10
13
|
const { onTelemetry } = useWebChatAPIContext();
|
|
11
14
|
const readTelemetryDimensions = useReadTelemetryDimensions();
|
|
12
15
|
const trackException = useTrackException();
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
|
+
|
|
2
3
|
import useWebChatAPIContext from './internal/useWebChatAPIContext';
|
|
3
4
|
|
|
4
|
-
export default function useVoiceSelector(
|
|
5
|
+
export default function useVoiceSelector(
|
|
6
|
+
activity
|
|
7
|
+
): (voices: typeof window.SpeechSynthesisVoice[]) => typeof window.SpeechSynthesisVoice {
|
|
5
8
|
const context = useWebChatAPIContext();
|
|
6
9
|
|
|
7
10
|
return useCallback(voices => context.selectVoice(voices, activity), [activity, context]);
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import Observable from 'core-js/features/observable';
|
|
2
|
+
|
|
3
|
+
export default function observableToPromise<T>(observable: Observable<T>): Promise<T> {
|
|
2
4
|
return new Promise((resolve, reject) => {
|
|
3
5
|
const subscription = observable.subscribe(
|
|
4
|
-
sessionId => {
|
|
6
|
+
(sessionId: T) => {
|
|
5
7
|
resolve(sessionId);
|
|
6
8
|
|
|
7
9
|
// HACK: Sometimes, the call complete asynchronously and we cannot unsubscribe
|
|
8
10
|
// Need to wait some short time here to make sure the subscription variable has setup
|
|
9
11
|
setTimeout(() => subscription.unsubscribe(), 0);
|
|
10
12
|
},
|
|
11
|
-
error => {
|
|
13
|
+
(error: Error) => {
|
|
12
14
|
reject(error);
|
|
13
15
|
setTimeout(() => subscription.unsubscribe(), 0);
|
|
14
16
|
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as hooks from './hooks';
|
|
2
|
+
import ActivityMiddleware, { ActivityComponentFactory } from './types/ActivityMiddleware';
|
|
3
|
+
import ActivityStatusMiddleware, { RenderActivityStatus } from './types/ActivityStatusMiddleware';
|
|
4
|
+
import AttachmentForScreenReaderMiddleware, {
|
|
5
|
+
AttachmentForScreenReaderComponentFactory
|
|
6
|
+
} from './types/AttachmentForScreenReaderMiddleware';
|
|
7
|
+
import AttachmentMiddleware, { RenderAttachment } from './types/AttachmentMiddleware';
|
|
8
|
+
import AvatarMiddleware, { AvatarComponentFactory } from './types/AvatarMiddleware';
|
|
9
|
+
import CardActionMiddleware, { PerformCardAction } from './types/CardActionMiddleware';
|
|
10
|
+
import Composer, { ComposerProps } from './hooks/Composer';
|
|
11
|
+
import concatMiddleware from './hooks/middleware/concatMiddleware';
|
|
12
|
+
import defaultStyleOptions from './defaultStyleOptions';
|
|
13
|
+
import GroupActivitiesMiddleware, { GroupActivities } from './types/GroupActivitiesMiddleware';
|
|
14
|
+
import Localize, { localize } from './localization/Localize';
|
|
15
|
+
import normalizeStyleOptions from './normalizeStyleOptions';
|
|
16
|
+
import ScrollToEndButtonMiddleware, { ScrollToEndButtonComponentFactory } from './types/ScrollToEndButtonMiddleware';
|
|
17
|
+
import StyleOptions, { StrictStyleOptions } from './StyleOptions';
|
|
18
|
+
import ToastMiddleware, { RenderToast } from './types/ToastMiddleware';
|
|
19
|
+
import TypingIndicatorMiddleware, { RenderTypingIndicator } from './types/TypingIndicatorMiddleware';
|
|
20
|
+
import WebSpeechPonyfill from './types/WebSpeechPonyfill';
|
|
21
|
+
import WebSpeechPonyfillFactory from './types/WebSpeechPonyfillFactory';
|
|
22
|
+
|
|
23
|
+
export { Composer, concatMiddleware, defaultStyleOptions, hooks, Localize, localize, normalizeStyleOptions };
|
|
24
|
+
|
|
25
|
+
export type {
|
|
26
|
+
ActivityComponentFactory,
|
|
27
|
+
ActivityMiddleware,
|
|
28
|
+
ActivityStatusMiddleware,
|
|
29
|
+
AttachmentForScreenReaderComponentFactory,
|
|
30
|
+
AttachmentForScreenReaderMiddleware,
|
|
31
|
+
AttachmentMiddleware,
|
|
32
|
+
AvatarComponentFactory,
|
|
33
|
+
AvatarMiddleware,
|
|
34
|
+
CardActionMiddleware,
|
|
35
|
+
ComposerProps,
|
|
36
|
+
GroupActivities,
|
|
37
|
+
GroupActivitiesMiddleware,
|
|
38
|
+
PerformCardAction,
|
|
39
|
+
RenderActivityStatus,
|
|
40
|
+
RenderAttachment,
|
|
41
|
+
RenderToast,
|
|
42
|
+
RenderTypingIndicator,
|
|
43
|
+
ScrollToEndButtonComponentFactory,
|
|
44
|
+
ScrollToEndButtonMiddleware,
|
|
45
|
+
StrictStyleOptions,
|
|
46
|
+
StyleOptions,
|
|
47
|
+
ToastMiddleware,
|
|
48
|
+
TypingIndicatorMiddleware,
|
|
49
|
+
WebSpeechPonyfill,
|
|
50
|
+
WebSpeechPonyfillFactory
|
|
51
|
+
};
|
|
@@ -9,7 +9,7 @@ import useLocalizer from '../hooks/useLocalizer';
|
|
|
9
9
|
|
|
10
10
|
let deprecationNotesShown;
|
|
11
11
|
|
|
12
|
-
function localize(id, language, ...args) {
|
|
12
|
+
function localize(id: string, language: string, ...args: string[]) {
|
|
13
13
|
if (!deprecationNotesShown) {
|
|
14
14
|
console.warn(
|
|
15
15
|
'botframework-webchat: localize() is deprecated. Please use the useLocalizer() hooks instead. This function will be removed on or after 2022-02-12.'
|
|
@@ -22,13 +22,13 @@ function localize(id, language, ...args) {
|
|
|
22
22
|
const normalizedLanguage = normalizeLanguage(language);
|
|
23
23
|
const localizedStrings = allStrings[normalizedLanguage];
|
|
24
24
|
|
|
25
|
-
return Object.entries(args).reduce(
|
|
26
|
-
(
|
|
25
|
+
return Object.entries(args).reduce<boolean | string>(
|
|
26
|
+
(value, [index, arg]) => (typeof value === 'string' ? value.replace(`$${+index + 1}`, arg) : value),
|
|
27
27
|
(localizedStrings && localizedStrings[id]) || allStrings['en-US'][id] || ''
|
|
28
28
|
);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
function getLocaleString(
|
|
31
|
+
function getLocaleString(date: Date | number | string, language: string) {
|
|
32
32
|
if (!deprecationNotesShown) {
|
|
33
33
|
console.warn(
|
|
34
34
|
'botframework-webchat: localize() is deprecated. Please use the useLocalizer() hooks instead. This function will be removed on or after 2022-02-12.'
|
|
@@ -37,10 +37,10 @@ function getLocaleString(...args) {
|
|
|
37
37
|
deprecationNotesShown = true;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
return deprecatingGetLocaleString(
|
|
40
|
+
return deprecatingGetLocaleString(date, language);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
export default ({ args, text }) => {
|
|
43
|
+
export default ({ args, text }: { args: [(number | string)?, ...string[]]; text: string | any }) => {
|
|
44
44
|
if (!deprecationNotesShown) {
|
|
45
45
|
console.warn(
|
|
46
46
|
'botframework-webchat: <Localize> is deprecated. Please use the useLocalizer() hooks instead. This function will be removed on or after 2022-02-12.'
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "الإعلام",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "نسخة مكتوبة، اضغط على مفاتيح الأسهم للتنقل.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "نسخة مكتوبة",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "المزيد من الرسائل",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "رسائل جديدة",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "نهاية النسخة المكتوبة",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "إظهار مؤشر الكتابة"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Известяване",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Препис, натиснете клавишите със стрелки, за да навигирате.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "препис",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Още съобщения",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Нови съобщения",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Край на преписа",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Показване на индикатор за въвеждане"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Notificació",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transcripció, premeu les tecles amunt/avall per desplaçar-vos.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transcripció",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Més missatges",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Missatges nous",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Fi de la transcripció",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "S'està mostrant l'indicador d'escriptura"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Oznámení",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Přepis, k navigaci použijte šipkové klávesy.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "přepis",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Další zprávy",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Nové zprávy",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Konec přepisu",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Zobrazuje se indikátor psaní"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Meddelelse",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Afskrift. Tryk på piltasterne for at navigere.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "afskrift",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Flere meddelelser",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Nye meddelelser",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Slut på afskrift",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Viser indtastningsindikator"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Benachrichtigung",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Nach oben- oder Nach-unten-Tasten zum Navigieren im Transkript verwenden.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "Transkript",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Weitere Meldungen",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Neue Nachrichten",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Transkriptende",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Anzeigen des Eingabeindikators"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Ειδοποίηση",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Μεταγραφή, πιέστε τα πλήκτρα βέλους για περιήγηση.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "κείμενο",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Περισσότερα μηνύματα",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Νέα μηνύματα",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Τέλος της μεταγραφής",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Εμφάνιση δείκτη πληκτρολόγησης"
|
|
@@ -111,6 +111,7 @@
|
|
|
111
111
|
"_TRANSCRIPT_ARIA_LABEL_ALT.comment": "This is for screen reader for the label that will be narrated when the transcript is focused.",
|
|
112
112
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transcript",
|
|
113
113
|
"_TRANSCRIPT_ARIA_ROLE_ALT.comment": "This is for screen reader for the aria-roledescription of the transcript container.",
|
|
114
|
+
"TRANSCRIPT_MORE_MESSAGES": "More messages",
|
|
114
115
|
"TRANSCRIPT_NEW_MESSAGES": "New messages",
|
|
115
116
|
"TRANSCRIPT_TERMINATOR_TEXT": "End of transcript",
|
|
116
117
|
"TYPING_INDICATOR_ALT": "Showing typing indicator",
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Notificación",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transcripción, presione las teclas de dirección para navegar.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transcripción",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Más mensajes",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Mensajes nuevos",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Final de la transcripción",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Mostrando indicador de escritura"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Teatis",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transkriptsioon, navigeerimiseks vajutage nooleklahvi.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transkriptsioon",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Rohkem sõnumeid",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Uued sõnumid",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Transkriptsiooni lõpp",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Tippimise näidiku kuvamine"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Jakinarazpena",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transkripzioa. Nabigatzeko, erabili Gora eta Behera geziak.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transkripzioa",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Mezu gehiago",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Mezu berriak",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Transkripzioaren amaiera",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Idazketa-adierazlea ikusgai dago"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Ilmoitus",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transkriptio, siirry nuolinäppäimillä.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "kirjaus",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Lisää viestejä",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Uudet viestit",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Transkription loppu",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Näytetään kirjoittamisen ilmaisin"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Notification",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transcription, appuyez sur les touches fléchées pour naviguer.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transcription",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Plus de messages",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Nouveaux messages",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Fin de la transcription",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Affichage de l'indicateur de saisie"
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint no-magic-numbers: "off" */
|
|
2
|
+
|
|
1
3
|
import getAllLocalizedStrings from './getAllLocalizedStrings';
|
|
2
4
|
|
|
3
5
|
const strings = getAllLocalizedStrings();
|
|
@@ -180,7 +182,7 @@ describe('Verify all strings are loaded properly', () => {
|
|
|
180
182
|
});
|
|
181
183
|
|
|
182
184
|
test('yue', () => {
|
|
183
|
-
expect(strings
|
|
185
|
+
expect(strings.yue.CONNECTIVITY_STATUS_ALT_CONNECTED).toBe('接駁到');
|
|
184
186
|
});
|
|
185
187
|
|
|
186
188
|
test('zh-Hans', () => {
|
|
@@ -50,11 +50,12 @@ import zhHK from './zh-HK.json';
|
|
|
50
50
|
import zhTW from './zh-TW.json';
|
|
51
51
|
|
|
52
52
|
import bundledOverrides from './overrides.json';
|
|
53
|
+
import LocalizedStrings from '../types/LocalizedStrings';
|
|
53
54
|
import mergeLocalizedStrings from './mergeLocalizedStrings';
|
|
54
55
|
|
|
55
56
|
let localizedStrings;
|
|
56
57
|
|
|
57
|
-
function getAllLocalizedStrings() {
|
|
58
|
+
function getAllLocalizedStrings(): { [language: string]: LocalizedStrings } {
|
|
58
59
|
return (
|
|
59
60
|
localizedStrings ||
|
|
60
61
|
(localizedStrings = mergeLocalizedStrings(
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
/* eslint no-magic-numbers: "off" */
|
|
2
|
+
|
|
1
3
|
import getLocaleString from './getLocaleString';
|
|
2
4
|
|
|
3
|
-
test('should return formatted date for "en"',
|
|
5
|
+
test('should return formatted date for "en"', () => {
|
|
4
6
|
const actual = getLocaleString(new Date(2000, 11, 23, 12, 34, 56, 789), 'en');
|
|
5
7
|
|
|
6
8
|
expect(actual).toMatchInlineSnapshot(`"December 23 at 12:34 PM"`);
|
|
7
9
|
});
|
|
8
10
|
|
|
9
|
-
test('should return formatted date for "yue"',
|
|
11
|
+
test('should return formatted date for "yue"', () => {
|
|
10
12
|
const actual = getLocaleString(new Date(2000, 11, 23, 12, 34, 56, 789), 'yue');
|
|
11
13
|
|
|
12
14
|
expect(actual).toMatchInlineSnapshot(`"12月23日 下午12:34"`);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import PrecompiledGlobalize from '../../lib/external/PrecompiledGlobalize';
|
|
2
2
|
|
|
3
|
-
export default function getLocaleString(
|
|
3
|
+
export default function getLocaleString(date: Date | number | string, language: string) {
|
|
4
4
|
const globalize = PrecompiledGlobalize(language);
|
|
5
5
|
|
|
6
|
-
return globalize.dateFormatter({ skeleton: 'MMMMdhm' })(new Date(
|
|
6
|
+
return globalize.dateFormatter({ skeleton: 'MMMMdhm' })(new Date(date));
|
|
7
7
|
}
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Notificación",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transcribir ou premer as teclas de frecha para navegar.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transcrición",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Máis mensaxes",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Mensaxes novas",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Fin da transcrición",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Mostrando o indicador de escritura"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "הודעה",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "תעתיק, הקש על מקשי החצים כדי לנווט.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "תעתיק",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "הודעות נוספות",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "הודעות חדשות",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "סוף התעתיק",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "מחוון שמציג הקלדה"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "सूचना",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "ट्रांसक्रिप्ट करें, नेविगेट करने के लिए तीर कुंजियों का उपयोग करें.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "ट्रांसक्रिप्ट",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "अधिक संदेश",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "नए संदेश",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "ट्रांसक्रिप्ट का समापन",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "टाइप करने वाला संकेतक दिखा रहा है"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Obavijest",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transkript, pritisnite tipke sa strelicama za navigaciju.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transkript",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Više poruka",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Nove poruke",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Kraj transkripta",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Prikaz pokazatelja tipkanja"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Értesítés",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Átirat, a navigáláshoz használja a nyílbillentyűket.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "átirat",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "További üzenetek",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Új üzenetek",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Vége az átiratnak",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Gépelésjelző megjelenítése"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Pemberitahuan",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transkrip, tekan panah untuk menavigasi.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transkrip",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Pesan lainnya",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Pesan baru",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Akhir transkrip",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Menampilkan indikator pengetikan"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Notifica",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Trascrizione, premi i tasti freccia per spostarti.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "trascrizione",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Altri messaggi",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Nuovi messaggi",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Fine della trascrizione",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Visualizzazione dell'indicatore di digitazione in corso"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "通知",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "トランスクリプトで矢印キーを押して移動します。",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "トランスクリプト",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "その他のメッセージ",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "新しいメッセージ",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "トランスクリプトの末尾",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "入力インジケーターを表示しています"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Хабарландыру",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Түсіндірме, шарлау үшін көрсеткі пернелерін басыңыз.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "транскрипт",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Қосымша хабарлар",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Жаңа хабарлар",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Түсіндірме соңы",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Мәтін теру индикаторын көрсету"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "알림",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "대화록, 아래쪽 화살표 키를 사용하여 탐색합니다.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "대화록",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "추가 메시지",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "새 메시지",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "대화록의 끝",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "입력 표시기 표시"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Pranešimas",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Nuorašas, naršykite naudodami rodyklių klavišus.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "nuorašas",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Daugiau pranešimų",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Nauji pranešimai",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Nuorašo pabaiga",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Rodomas teksto įvedimo indikatorius"
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Paziņojums",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Noraksts, izmantojiet bulttaustiņus, lai naviģētu.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "noraksts",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Vairāk ziņojumu",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Jauni ziņojumi",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Noraksta beigas",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Rāda rakstīšanas indikatoru"
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import LocalizedStrings from '../types/LocalizedStrings';
|
|
2
|
+
|
|
3
|
+
type LocalizedStringsMap = { [language: string]: LocalizedStrings };
|
|
4
|
+
|
|
5
|
+
export default function mergeLocalizedStrings(...args: LocalizedStringsMap[]): LocalizedStringsMap {
|
|
2
6
|
const merged = {};
|
|
3
7
|
const languages = args.reduce((keys, arg) => [...keys, ...Object.keys(arg)], []);
|
|
4
8
|
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"TOAST_TITLE_ALT": "Pemberitahuan",
|
|
73
73
|
"TRANSCRIPT_ARIA_LABEL_ALT": "Transkrip, tekan kekunci anak panah untuk menavigasi.",
|
|
74
74
|
"TRANSCRIPT_ARIA_ROLE_ALT": "transkrip",
|
|
75
|
+
"TRANSCRIPT_MORE_MESSAGES": "Lebih banyak mesej",
|
|
75
76
|
"TRANSCRIPT_NEW_MESSAGES": "Mesej baharu",
|
|
76
77
|
"TRANSCRIPT_TERMINATOR_TEXT": "Tamat transkrip",
|
|
77
78
|
"TYPING_INDICATOR_ALT": "Menunjukkan penunjuk menaip"
|