@magmamath/students-features 0.9.113 → 0.9.114-rc.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/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +8 -48
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
- package/dist/commonjs/features/chatbot/constants.js +4 -4
- package/dist/commonjs/features/chatbot/constants.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/helpers.js +1 -0
- package/dist/commonjs/features/gifCelebrations/helpers.js.map +1 -1
- package/dist/commonjs/features/voice/constants.js +22 -0
- package/dist/commonjs/features/voice/constants.js.map +1 -0
- package/dist/commonjs/features/voice/helpers.js +211 -0
- package/dist/commonjs/features/voice/helpers.js.map +1 -0
- package/dist/commonjs/features/voice/index.js +138 -0
- package/dist/commonjs/features/voice/index.js.map +1 -0
- package/dist/commonjs/features/voice/model/index.js +68 -0
- package/dist/commonjs/features/voice/model/index.js.map +1 -0
- package/dist/commonjs/features/voice/playing/components/VoiceIcon.js +49 -0
- package/dist/commonjs/features/voice/playing/components/VoiceIcon.js.map +1 -0
- package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdown.js +208 -0
- package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdown.js.map +1 -0
- package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdownItem.js +108 -0
- package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdownItem.js.map +1 -0
- package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.js +50 -0
- package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.js.map +1 -0
- package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.js +34 -0
- package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.js.map +1 -0
- package/dist/commonjs/features/voice/playing/model/Player.model.js +87 -0
- package/dist/commonjs/features/voice/playing/model/Player.model.js.map +1 -0
- package/dist/commonjs/features/voice/playing/model/VoicePlayer.model.js +244 -0
- package/dist/commonjs/features/voice/playing/model/VoicePlayer.model.js.map +1 -0
- package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionsCollection.js +41 -0
- package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionsCollection.js.map +1 -0
- package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionsDownloader.model.js +39 -0
- package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionsDownloader.model.js.map +1 -0
- package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionsDropdown.model.js +15 -0
- package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionsDropdown.model.js.map +1 -0
- package/dist/commonjs/features/voice/playing/model/index.js +47 -0
- package/dist/commonjs/features/voice/playing/model/index.js.map +1 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecord.js +74 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecord.js.map +1 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +61 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js +35 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js.map +1 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDevider.js +27 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDevider.js.map +1 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordTimer.js +50 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordTimer.js.map +1 -0
- package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorder.js +59 -0
- package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorder.js.map +1 -0
- package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js +22 -0
- package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -0
- package/dist/commonjs/features/voice/recording/modal/ModalFooterButtons.js +53 -0
- package/dist/commonjs/features/voice/recording/modal/ModalFooterButtons.js.map +1 -0
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.js +78 -0
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.js.map +1 -0
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.js +51 -0
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.js.map +1 -0
- package/dist/commonjs/features/voice/recording/model/Recorder.model.js +54 -0
- package/dist/commonjs/features/voice/recording/model/Recorder.model.js.map +1 -0
- package/dist/commonjs/features/voice/recording/model/Uploader.model.js +44 -0
- package/dist/commonjs/features/voice/recording/model/Uploader.model.js.map +1 -0
- package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js +239 -0
- package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js.map +1 -0
- package/dist/commonjs/features/voice/recording/model/VoiceRecordCollection.js +30 -0
- package/dist/commonjs/features/voice/recording/model/VoiceRecordCollection.js.map +1 -0
- package/dist/commonjs/features/voice/recording/model/index.js +34 -0
- package/dist/commonjs/features/voice/recording/model/index.js.map +1 -0
- package/dist/commonjs/features/voice/types.js +6 -0
- package/dist/commonjs/features/voice/types.js.map +1 -0
- package/dist/commonjs/index.js +12 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/shared/components/PlayButton.js +70 -0
- package/dist/commonjs/shared/components/PlayButton.js.map +1 -0
- package/dist/commonjs/shared/translation/localization/ca.json +17 -0
- package/dist/commonjs/shared/translation/localization/de.json +17 -0
- package/dist/commonjs/shared/translation/localization/en.json +17 -0
- package/dist/commonjs/shared/translation/localization/gb.json +17 -0
- package/dist/commonjs/shared/translation/localization/sct.json +17 -0
- package/dist/commonjs/shared/translation/localization/sw.json +17 -0
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +9 -49
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
- package/dist/module/features/chatbot/constants.js +5 -5
- package/dist/module/features/chatbot/constants.js.map +1 -1
- package/dist/module/features/gifCelebrations/helpers.js +1 -0
- package/dist/module/features/gifCelebrations/helpers.js.map +1 -1
- package/dist/module/features/voice/constants.js +18 -0
- package/dist/module/features/voice/constants.js.map +1 -0
- package/dist/module/features/voice/helpers.js +194 -0
- package/dist/module/features/voice/helpers.js.map +1 -0
- package/dist/module/features/voice/index.js +20 -0
- package/dist/module/features/voice/index.js.map +1 -0
- package/dist/module/features/voice/model/index.js +15 -0
- package/dist/module/features/voice/model/index.js.map +1 -0
- package/dist/module/features/voice/playing/components/VoiceIcon.js +41 -0
- package/dist/module/features/voice/playing/components/VoiceIcon.js.map +1 -0
- package/dist/module/features/voice/playing/components/VoiceTranscriptionsDropdown.js +201 -0
- package/dist/module/features/voice/playing/components/VoiceTranscriptionsDropdown.js.map +1 -0
- package/dist/module/features/voice/playing/components/VoiceTranscriptionsDropdownItem.js +102 -0
- package/dist/module/features/voice/playing/components/VoiceTranscriptionsDropdownItem.js.map +1 -0
- package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.js +45 -0
- package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.js.map +1 -0
- package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.js +29 -0
- package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.js.map +1 -0
- package/dist/module/features/voice/playing/model/Player.model.js +82 -0
- package/dist/module/features/voice/playing/model/Player.model.js.map +1 -0
- package/dist/module/features/voice/playing/model/VoicePlayer.model.js +234 -0
- package/dist/module/features/voice/playing/model/VoicePlayer.model.js.map +1 -0
- package/dist/module/features/voice/playing/model/VoiceTranscriptionsCollection.js +36 -0
- package/dist/module/features/voice/playing/model/VoiceTranscriptionsCollection.js.map +1 -0
- package/dist/module/features/voice/playing/model/VoiceTranscriptionsDownloader.model.js +34 -0
- package/dist/module/features/voice/playing/model/VoiceTranscriptionsDownloader.model.js.map +1 -0
- package/dist/module/features/voice/playing/model/VoiceTranscriptionsDropdown.model.js +10 -0
- package/dist/module/features/voice/playing/model/VoiceTranscriptionsDropdown.model.js.map +1 -0
- package/dist/module/features/voice/playing/model/index.js +8 -0
- package/dist/module/features/voice/playing/model/index.js.map +1 -0
- package/dist/module/features/voice/recording/components/VoiceRecord.js +67 -0
- package/dist/module/features/voice/recording/components/VoiceRecord.js.map +1 -0
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js +55 -0
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -0
- package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js +29 -0
- package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js.map +1 -0
- package/dist/module/features/voice/recording/components/VoiceRecordDevider.js +21 -0
- package/dist/module/features/voice/recording/components/VoiceRecordDevider.js.map +1 -0
- package/dist/module/features/voice/recording/components/VoiceRecordTimer.js +44 -0
- package/dist/module/features/voice/recording/components/VoiceRecordTimer.js.map +1 -0
- package/dist/module/features/voice/recording/hooks/useVoiceRecorder.js +54 -0
- package/dist/module/features/voice/recording/hooks/useVoiceRecorder.js.map +1 -0
- package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js +17 -0
- package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -0
- package/dist/module/features/voice/recording/modal/ModalFooterButtons.js +47 -0
- package/dist/module/features/voice/recording/modal/ModalFooterButtons.js.map +1 -0
- package/dist/module/features/voice/recording/modal/VoiceRecordDeleteModal.js +71 -0
- package/dist/module/features/voice/recording/modal/VoiceRecordDeleteModal.js.map +1 -0
- package/dist/module/features/voice/recording/modal/VoiceRecordUndoModal.js +45 -0
- package/dist/module/features/voice/recording/modal/VoiceRecordUndoModal.js.map +1 -0
- package/dist/module/features/voice/recording/model/Recorder.model.js +49 -0
- package/dist/module/features/voice/recording/model/Recorder.model.js.map +1 -0
- package/dist/module/features/voice/recording/model/Uploader.model.js +39 -0
- package/dist/module/features/voice/recording/model/Uploader.model.js.map +1 -0
- package/dist/module/features/voice/recording/model/VoiceRecord.model.js +234 -0
- package/dist/module/features/voice/recording/model/VoiceRecord.model.js.map +1 -0
- package/dist/module/features/voice/recording/model/VoiceRecordCollection.js +25 -0
- package/dist/module/features/voice/recording/model/VoiceRecordCollection.js.map +1 -0
- package/dist/module/features/voice/recording/model/index.js +7 -0
- package/dist/module/features/voice/recording/model/index.js.map +1 -0
- package/dist/module/features/voice/types.js +4 -0
- package/dist/module/features/voice/types.js.map +1 -0
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/shared/components/PlayButton.js +64 -0
- package/dist/module/shared/components/PlayButton.js.map +1 -0
- package/dist/module/shared/translation/localization/ca.json +17 -0
- package/dist/module/shared/translation/localization/de.json +17 -0
- package/dist/module/shared/translation/localization/en.json +17 -0
- package/dist/module/shared/translation/localization/gb.json +17 -0
- package/dist/module/shared/translation/localization/sct.json +17 -0
- package/dist/module/shared/translation/localization/sw.json +17 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +2 -2
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts +5 -5
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/constants.d.ts +15 -0
- package/dist/typescript/commonjs/features/voice/constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/helpers.d.ts +46 -0
- package/dist/typescript/commonjs/features/voice/helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/index.d.ts +13 -0
- package/dist/typescript/commonjs/features/voice/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/model/index.d.ts +11 -0
- package/dist/typescript/commonjs/features/voice/model/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceIcon.d.ts +8 -0
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdown.d.ts +15 -0
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdown.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdownItem.d.ts +12 -0
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdownItem.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.d.ts +16 -0
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.d.ts +11 -0
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/model/Player.model.d.ts +21 -0
- package/dist/typescript/commonjs/features/voice/playing/model/Player.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoicePlayer.model.d.ts +41 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoicePlayer.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionsCollection.d.ts +26 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionsCollection.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionsDownloader.model.d.ts +18 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionsDownloader.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionsDropdown.model.d.ts +7 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionsDropdown.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/model/index.d.ts +7 -0
- package/dist/typescript/commonjs/features/voice/playing/model/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts +10 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts +10 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.d.ts +8 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordDevider.d.ts +3 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordDevider.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordTimer.d.ts +11 -0
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordTimer.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorder.d.ts +5 -0
- package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorder.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +6 -0
- package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/modal/ModalFooterButtons.d.ts +12 -0
- package/dist/typescript/commonjs/features/voice/recording/modal/ModalFooterButtons.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.d.ts +11 -0
- package/dist/typescript/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.d.ts +11 -0
- package/dist/typescript/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/model/Recorder.model.d.ts +19 -0
- package/dist/typescript/commonjs/features/voice/recording/model/Recorder.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/model/Uploader.model.d.ts +18 -0
- package/dist/typescript/commonjs/features/voice/recording/model/Uploader.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts +50 -0
- package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecordCollection.d.ts +10 -0
- package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecordCollection.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/recording/model/index.d.ts +5 -0
- package/dist/typescript/commonjs/features/voice/recording/model/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/types.d.ts +58 -0
- package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -0
- package/dist/typescript/commonjs/index.d.ts +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/components/PlayButton.d.ts +18 -0
- package/dist/typescript/commonjs/shared/components/PlayButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +102 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/model.d.ts +34 -0
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/commonjs/types/common.types.d.ts +3 -0
- package/dist/typescript/commonjs/types/common.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +2 -2
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/constants.d.ts +5 -5
- package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/constants.d.ts +15 -0
- package/dist/typescript/module/features/voice/constants.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/helpers.d.ts +46 -0
- package/dist/typescript/module/features/voice/helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/index.d.ts +13 -0
- package/dist/typescript/module/features/voice/index.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/model/index.d.ts +11 -0
- package/dist/typescript/module/features/voice/model/index.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/components/VoiceIcon.d.ts +8 -0
- package/dist/typescript/module/features/voice/playing/components/VoiceIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptionsDropdown.d.ts +15 -0
- package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptionsDropdown.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptionsDropdownItem.d.ts +12 -0
- package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptionsDropdownItem.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.d.ts +16 -0
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.d.ts +11 -0
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/model/Player.model.d.ts +21 -0
- package/dist/typescript/module/features/voice/playing/model/Player.model.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/model/VoicePlayer.model.d.ts +41 -0
- package/dist/typescript/module/features/voice/playing/model/VoicePlayer.model.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionsCollection.d.ts +26 -0
- package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionsCollection.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionsDownloader.model.d.ts +18 -0
- package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionsDownloader.model.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionsDropdown.model.d.ts +7 -0
- package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionsDropdown.model.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/model/index.d.ts +7 -0
- package/dist/typescript/module/features/voice/playing/model/index.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts +10 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts +10 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordDeleteButton.d.ts +8 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordDeleteButton.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordDevider.d.ts +3 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordDevider.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordTimer.d.ts +11 -0
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordTimer.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorder.d.ts +5 -0
- package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorder.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +6 -0
- package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/modal/ModalFooterButtons.d.ts +12 -0
- package/dist/typescript/module/features/voice/recording/modal/ModalFooterButtons.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/modal/VoiceRecordDeleteModal.d.ts +11 -0
- package/dist/typescript/module/features/voice/recording/modal/VoiceRecordDeleteModal.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/modal/VoiceRecordUndoModal.d.ts +11 -0
- package/dist/typescript/module/features/voice/recording/modal/VoiceRecordUndoModal.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/model/Recorder.model.d.ts +19 -0
- package/dist/typescript/module/features/voice/recording/model/Recorder.model.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/model/Uploader.model.d.ts +18 -0
- package/dist/typescript/module/features/voice/recording/model/Uploader.model.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts +50 -0
- package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/model/VoiceRecordCollection.d.ts +10 -0
- package/dist/typescript/module/features/voice/recording/model/VoiceRecordCollection.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/recording/model/index.d.ts +5 -0
- package/dist/typescript/module/features/voice/recording/model/index.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/types.d.ts +58 -0
- package/dist/typescript/module/features/voice/types.d.ts.map +1 -0
- package/dist/typescript/module/index.d.ts +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/dist/typescript/module/shared/components/PlayButton.d.ts +18 -0
- package/dist/typescript/module/shared/components/PlayButton.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/constants.d.ts +102 -0
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/model.d.ts +34 -0
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/module/types/common.types.d.ts +3 -0
- package/dist/typescript/module/types/common.types.d.ts.map +1 -1
- package/package.json +11 -4
- package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +0 -1
- package/src/features/chatbot/components/ChatMessage/MessageButtonsBlock.tsx +1 -1
- package/src/features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx +9 -51
- package/src/features/chatbot/constants.ts +4 -4
- package/src/features/gifCelebrations/helpers.ts +1 -0
- package/src/features/voice/constants.ts +14 -0
- package/src/features/voice/helpers.ts +254 -0
- package/src/features/voice/index.ts +17 -0
- package/src/features/voice/model/index.ts +13 -0
- package/src/features/voice/playing/components/VoiceIcon.tsx +38 -0
- package/src/features/voice/playing/components/VoiceTranscriptionsDropdown.tsx +239 -0
- package/src/features/voice/playing/components/VoiceTranscriptionsDropdownItem.tsx +127 -0
- package/src/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.ts +54 -0
- package/src/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.ts +40 -0
- package/src/features/voice/playing/model/Player.model.ts +92 -0
- package/src/features/voice/playing/model/VoicePlayer.model.ts +282 -0
- package/src/features/voice/playing/model/VoiceTranscriptionsCollection.ts +53 -0
- package/src/features/voice/playing/model/VoiceTranscriptionsDownloader.model.ts +43 -0
- package/src/features/voice/playing/model/VoiceTranscriptionsDropdown.model.ts +12 -0
- package/src/features/voice/playing/model/index.ts +6 -0
- package/src/features/voice/recording/components/VoiceRecord.tsx +65 -0
- package/src/features/voice/recording/components/VoiceRecordButton.tsx +63 -0
- package/src/features/voice/recording/components/VoiceRecordDeleteButton.tsx +25 -0
- package/src/features/voice/recording/components/VoiceRecordDevider.tsx +17 -0
- package/src/features/voice/recording/components/VoiceRecordTimer.tsx +49 -0
- package/src/features/voice/recording/hooks/useVoiceRecorder.ts +62 -0
- package/src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts +19 -0
- package/src/features/voice/recording/modal/ModalFooterButtons.tsx +54 -0
- package/src/features/voice/recording/modal/VoiceRecordDeleteModal.tsx +82 -0
- package/src/features/voice/recording/modal/VoiceRecordUndoModal.tsx +50 -0
- package/src/features/voice/recording/model/Recorder.model.ts +62 -0
- package/src/features/voice/recording/model/Uploader.model.ts +48 -0
- package/src/features/voice/recording/model/VoiceRecord.model.ts +278 -0
- package/src/features/voice/recording/model/VoiceRecordCollection.ts +26 -0
- package/src/features/voice/recording/model/index.ts +4 -0
- package/src/features/voice/types.ts +69 -0
- package/src/index.ts +1 -0
- package/src/shared/components/PlayButton.tsx +84 -0
- package/src/shared/translation/localization/ca.json +17 -0
- package/src/shared/translation/localization/de.json +17 -0
- package/src/shared/translation/localization/en.json +17 -0
- package/src/shared/translation/localization/gb.json +17 -0
- package/src/shared/translation/localization/sct.json +17 -0
- package/src/shared/translation/localization/sw.json +17 -0
- package/src/types/common.types.ts +1 -0
- package/dist/commonjs/features/chatbot/TTS_HIGHLIGHTING.md +0 -120
- package/dist/module/features/chatbot/TTS_HIGHLIGHTING.md +0 -120
- package/src/features/chatbot/TTS_HIGHLIGHTING.md +0 -120
|
@@ -1,68 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { ActivityIndicator } from 'react-native';
|
|
5
|
-
import { Button, COLORS } from '@magmamath/react-native-ui';
|
|
6
|
-
import { SpeakerIcon } from "../../../../shared/icons/SpeakerIcon.js";
|
|
7
|
-
import { PlayIcon } from "../../../../shared/icons/PlayIcon.js";
|
|
8
|
-
import { PauseIcon } from "../../../../shared/icons/PauseIcon.js";
|
|
9
4
|
import { useChatModel } from "../../context/ChatBotModelContext.js";
|
|
5
|
+
import { PlayButton } from "../../../../shared/components/PlayButton.js";
|
|
10
6
|
import { ColorScheme } from "../../types/style.types.js";
|
|
11
|
-
import {
|
|
7
|
+
import { MESSAGE_COLORS_MAP } from "../../constants.js";
|
|
12
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
const TextToSpeechIcon = ({
|
|
14
|
-
status,
|
|
15
|
-
isActive,
|
|
16
|
-
isLoading,
|
|
17
|
-
colorScheme = ColorScheme.Blue
|
|
18
|
-
}) => {
|
|
19
|
-
if (isLoading && isActive) {
|
|
20
|
-
return /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
21
|
-
color: CONTROLS_COLORS_MAP[colorScheme].background
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
if (!isActive) {
|
|
25
|
-
return /*#__PURE__*/_jsx(SpeakerIcon, {});
|
|
26
|
-
}
|
|
27
|
-
if (status === 'playing') return /*#__PURE__*/_jsx(PauseIcon, {
|
|
28
|
-
color: COLORS.NEUTRAL_1
|
|
29
|
-
});
|
|
30
|
-
if (status === 'paused') return /*#__PURE__*/_jsx(PlayIcon, {
|
|
31
|
-
color: COLORS.NEUTRAL_1
|
|
32
|
-
});
|
|
33
|
-
return /*#__PURE__*/_jsx(SpeakerIcon, {});
|
|
34
|
-
};
|
|
35
9
|
export const MessageTextToSpeech = ({
|
|
36
|
-
state
|
|
37
|
-
status,
|
|
38
|
-
disabled,
|
|
39
|
-
isActive,
|
|
40
|
-
isLoading
|
|
41
|
-
},
|
|
42
|
-
message,
|
|
10
|
+
state,
|
|
43
11
|
variant,
|
|
12
|
+
message,
|
|
44
13
|
colorScheme = ColorScheme.Blue
|
|
45
14
|
}) => {
|
|
46
15
|
const model = useChatModel();
|
|
47
|
-
|
|
16
|
+
const play = () => {
|
|
48
17
|
void model.t2s.play({
|
|
49
18
|
isTranslated: model.translation.$isTranslated.getState(),
|
|
50
19
|
message
|
|
51
20
|
});
|
|
52
|
-
}
|
|
53
|
-
return /*#__PURE__*/_jsx(
|
|
54
|
-
disabled: disabled,
|
|
55
|
-
isActive: isActive,
|
|
56
|
-
variant: 'secondary',
|
|
21
|
+
};
|
|
22
|
+
return /*#__PURE__*/_jsx(PlayButton, {
|
|
57
23
|
colorScheme: MESSAGE_COLORS_MAP[colorScheme][variant].icon,
|
|
58
|
-
|
|
59
|
-
onPress: play
|
|
60
|
-
icon: /*#__PURE__*/_jsx(TextToSpeechIcon, {
|
|
61
|
-
isActive: isActive,
|
|
62
|
-
isLoading: isLoading,
|
|
63
|
-
status: status,
|
|
64
|
-
colorScheme: colorScheme
|
|
65
|
-
})
|
|
24
|
+
state: state,
|
|
25
|
+
onPress: play
|
|
66
26
|
});
|
|
67
27
|
};
|
|
68
28
|
//# sourceMappingURL=MessageTextToSpeech.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","useChatModel","PlayButton","ColorScheme","MESSAGE_COLORS_MAP","jsx","_jsx","MessageTextToSpeech","state","variant","message","colorScheme","Blue","model","play","t2s","isTranslated","translation","$isTranslated","getState","icon","onPress"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,sCAAmC;AAChE,SAASC,UAAU,QAAQ,6CAA0C;AAIrE,SAASC,WAAW,QAAQ,4BAAyB;AACrD,SAASC,kBAAkB,QAAQ,oBAAiB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AASpD,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,KAAK;EACLC,OAAO;EACPC,OAAO;EACPC,WAAW,GAAGR,WAAW,CAACS;AACF,CAAC,KAAK;EAC9B,MAAMC,KAAK,GAAGZ,YAAY,CAAC,CAAC;EAE5B,MAAMa,IAAI,GAAGA,CAAA,KAAM;IACjB,KAAKD,KAAK,CAACE,GAAG,CAACD,IAAI,CAAC;MAClBE,YAAY,EAAEH,KAAK,CAACI,WAAW,CAACC,aAAa,CAACC,QAAQ,CAAC,CAAC;MACxDT;IACF,CAAC,CAAC;EACJ,CAAC;EAED,oBACEJ,IAAA,CAACJ,UAAU;IACTS,WAAW,EAAEP,kBAAkB,CAACO,WAAW,CAAC,CAACF,OAAO,CAAC,CAACW,IAAK;IAC3DZ,KAAK,EAAEA,KAAM;IACba,OAAO,EAAEP;EAAK,CACf,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { COLORS } from '@magmamath/react-native-ui';
|
|
4
4
|
import { Platform } from 'react-native';
|
|
5
5
|
import { MessageVariant } from "./types/model.types.js";
|
|
6
6
|
import { ColorScheme } from "./types/style.types.js";
|
|
@@ -41,24 +41,24 @@ export const MESSAGE_COLORS_MAP = {
|
|
|
41
41
|
[MessageVariant.RECEIVED]: {
|
|
42
42
|
background: COLORS.NEUTRAL_3,
|
|
43
43
|
border: COLORS.NEUTRAL_3,
|
|
44
|
-
icon:
|
|
44
|
+
icon: ColorScheme.Blue
|
|
45
45
|
},
|
|
46
46
|
[MessageVariant.SENT]: {
|
|
47
47
|
background: COLORS.PRIMARY_BLUE,
|
|
48
48
|
border: COLORS.PRIMARY_BLUE,
|
|
49
|
-
icon:
|
|
49
|
+
icon: ColorScheme.Blue
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
[ColorScheme.Yellow]: {
|
|
53
53
|
[MessageVariant.RECEIVED]: {
|
|
54
54
|
background: COLORS.NEUTRAL_3,
|
|
55
55
|
border: COLORS.NEUTRAL_3,
|
|
56
|
-
icon:
|
|
56
|
+
icon: ColorScheme.Yellow
|
|
57
57
|
},
|
|
58
58
|
[MessageVariant.SENT]: {
|
|
59
59
|
background: COLORS.PRIMARY_YELLOW,
|
|
60
60
|
border: COLORS.PRIMARY_YELLOW,
|
|
61
|
-
icon:
|
|
61
|
+
icon: ColorScheme.Yellow
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["COLORS","Platform","MessageVariant","ColorScheme","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__","MESSAGE_COLORS_MAP","Blue","RECEIVED","background","NEUTRAL_3","border","icon","SENT","PRIMARY_BLUE","Yellow","PRIMARY_YELLOW","CONTROLS_COLORS_MAP","hover","HOVER_ANIMATION_DURATION","WORD_MARK_REGEX"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAAsBA,MAAM,QAAQ,4BAA4B;AAChE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,cAAc,QAAQ,wBAAqB;AACpD,SAASC,WAAW,QAAQ,wBAAqB;AAGjD,OAAO,MAAMC,YAAY,GAAG;EAC1BC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGV,QAAQ,CAACW,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXT,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDQ,KAAK,EAAE;MACLN,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDM,OAAO,EAAE;IACPF,WAAW,EAAEV,YAAY;IACzBW,KAAK,EAAEP;EACT;AACF,CAAC,CAAC;AAEF,OAAO,MAAMS,kBAAkB,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,MAAMC,0BAA0B,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU;AAEV,OAAO,MAAMC,kBAAkB,GAAG;EAChC,CAACjB,WAAW,CAACkB,IAAI,GAAG;IAClB,CAACnB,cAAc,CAACoB,QAAQ,GAAG;MACzBC,UAAU,EAAEvB,MAAM,CAACwB,SAAS;MAC5BC,MAAM,EAAEzB,MAAM,CAACwB,SAAS;MACxBE,IAAI,EAAEvB,WAAW,CAACkB;IACpB,CAAC;IACD,CAACnB,cAAc,CAACyB,IAAI,GAAG;MACrBJ,UAAU,EAAEvB,MAAM,CAAC4B,YAAY;MAC/BH,MAAM,EAAEzB,MAAM,CAAC4B,YAAY;MAC3BF,IAAI,EAAEvB,WAAW,CAACkB;IACpB;EACF,CAAC;EACD,CAAClB,WAAW,CAAC0B,MAAM,GAAG;IACpB,CAAC3B,cAAc,CAACoB,QAAQ,GAAG;MACzBC,UAAU,EAAEvB,MAAM,CAACwB,SAAS;MAC5BC,MAAM,EAAEzB,MAAM,CAACwB,SAAS;MACxBE,IAAI,EAAEvB,WAAW,CAAC0B;IACpB,CAAC;IACD,CAAC3B,cAAc,CAACyB,IAAI,GAAG;MACrBJ,UAAU,EAAEvB,MAAM,CAAC8B,cAAc;MACjCL,MAAM,EAAEzB,MAAM,CAAC8B,cAAc;MAC7BJ,IAAI,EAAEvB,WAAW,CAAC0B;IACpB;EACF;AACF,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAG;EACjC,CAAC5B,WAAW,CAACkB,IAAI,GAAG;IAClBW,KAAK,EAAEhC,MAAM,CAAC4B,YAAY;IAC1BL,UAAU,EAAEvB,MAAM,CAAC4B;EACrB,CAAC;EACD,CAACzB,WAAW,CAAC0B,MAAM,GAAG;IACpBG,KAAK,EAAEhC,MAAM,CAAC8B,cAAc;IAC5BP,UAAU,EAAEvB,MAAM,CAAC8B;EACrB;AACF,CAAC;AAED,OAAO,MAAMG,wBAAwB,GAAG,GAAG;AAE3C,OAAO,MAAMC,eAAe,GAAG,WAAW","ignoreList":[]}
|
|
@@ -33,6 +33,7 @@ export const generateProblemsGifsTable = (problemsAmount, resolvedProblems, gifs
|
|
|
33
33
|
const unshownGif = gifsInGroup.find(gif => !gif.isShown);
|
|
34
34
|
const selectedGif = unshownGif || gifsInGroup[0];
|
|
35
35
|
if (selectedGif) {
|
|
36
|
+
selectedGif.isShown = true;
|
|
36
37
|
result[problemNumber] = {
|
|
37
38
|
url: selectedGif.url,
|
|
38
39
|
group: groupKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MIN_WIDTH_FOR_ONE_DIGIT","MIN_WIDTH_FOR_TWO_DIGITS","Image","generateProblemsGifsTable","problemsAmount","resolvedProblems","gifs","percentageMilestones","getPercentageMilestones","result","percentage","problemNumber","Math","ceil","groupKey","findGroupForPercentage","gifsInGroup","length","unshownGif","find","gif","isShown","selectedGif","url","group","generateGifsStructure","Object","fromEntries","entries","map","key","value","getGifLabel","relatedGroup","getProgressLineWidth","completedPercent","getImagePath","cacheMethod","path","isImagesStored","queryCache","then","images","Error","constrainDimension","min","max","shouldRefreshGifs","timestamp","REFRESH_INTERVAL_HOURS","lastFetchedDate","Date","currentDate","diffInHours","getTime"],"sourceRoot":"../../../../src","sources":["features/gifCelebrations/helpers.ts"],"mappings":";;AASA,SAASA,uBAAuB,EAAEC,wBAAwB,QAAQ,gBAAa;AAC/E,SAASC,KAAK,QAAQ,cAAc;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,cAAsB,EACtBC,gBAAwB,EACxBC,IAAmB,KACG;EACtB,MAAMC,oBAAoB,GAAGC,uBAAuB,CAACJ,cAAc,CAAC;EAEpE,MAAMK,MAAyB,GAAG,CAAC,CAAC;EAEpC,KAAK,MAAMC,UAAU,IAAIH,oBAAoB,EAAE;IAC7C,MAAMI,aAAa,GAAGC,IAAI,CAACC,IAAI,CAACT,cAAc,IAAIM,UAAU,GAAG,GAAG,CAAC,CAAC;IAEpE,IAAIC,aAAa,IAAIN,gBAAgB,EAAE;IAEvC,MAAMS,QAAQ,GAAGC,sBAAsB,CAACL,UAAU,CAAC;IACnD,MAAMM,WAAW,GAAGV,IAAI,CAACQ,QAAQ,CAAC;IAElC,IAAI,CAACE,WAAW,IAAIA,WAAW,CAACC,MAAM,KAAK,CAAC,EAAE;IAE9C,MAAMC,UAAU,GAAGF,WAAW,CAACG,IAAI,CAAEC,GAAG,IAAK,CAACA,GAAG,CAACC,OAAO,CAAC;IAE1D,MAAMC,WAAW,GAAGJ,UAAU,IAAIF,WAAW,CAAC,CAAC,CAAC;IAEhD,IAAIM,WAAW,EAAE;
|
|
1
|
+
{"version":3,"names":["MIN_WIDTH_FOR_ONE_DIGIT","MIN_WIDTH_FOR_TWO_DIGITS","Image","generateProblemsGifsTable","problemsAmount","resolvedProblems","gifs","percentageMilestones","getPercentageMilestones","result","percentage","problemNumber","Math","ceil","groupKey","findGroupForPercentage","gifsInGroup","length","unshownGif","find","gif","isShown","selectedGif","url","group","generateGifsStructure","Object","fromEntries","entries","map","key","value","getGifLabel","relatedGroup","getProgressLineWidth","completedPercent","getImagePath","cacheMethod","path","isImagesStored","queryCache","then","images","Error","constrainDimension","min","max","shouldRefreshGifs","timestamp","REFRESH_INTERVAL_HOURS","lastFetchedDate","Date","currentDate","diffInHours","getTime"],"sourceRoot":"../../../../src","sources":["features/gifCelebrations/helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const VOICE_RECORDER_CONTAINER_SIZES = {
|
|
4
|
+
COLLAPSED: 61,
|
|
5
|
+
EXPANDED: 152
|
|
6
|
+
};
|
|
7
|
+
export const VOICE_RECORDER_MAX_DURATION_MS = 60000; // 1 minute
|
|
8
|
+
export let VoiceRecorderState = /*#__PURE__*/function (VoiceRecorderState) {
|
|
9
|
+
VoiceRecorderState[VoiceRecorderState["IDLE"] = 0] = "IDLE";
|
|
10
|
+
VoiceRecorderState[VoiceRecorderState["RECORDING"] = 1] = "RECORDING";
|
|
11
|
+
VoiceRecorderState[VoiceRecorderState["PAUSED"] = 2] = "PAUSED";
|
|
12
|
+
return VoiceRecorderState;
|
|
13
|
+
}({});
|
|
14
|
+
export const DROPDOWN_MAX_CONTENT_HEIGHT = 330;
|
|
15
|
+
export const TRANSCRIPT_RETRY_INTERVAL_MS = 4000;
|
|
16
|
+
export const TRANSCRIPT_MAX_RETRIES = 15;
|
|
17
|
+
export const NO_AUDIO_BE_MESSAGE = 'No audio';
|
|
18
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","COLLAPSED","EXPANDED","VOICE_RECORDER_MAX_DURATION_MS","VoiceRecorderState","DROPDOWN_MAX_CONTENT_HEIGHT","TRANSCRIPT_RETRY_INTERVAL_MS","TRANSCRIPT_MAX_RETRIES","NO_AUDIO_BE_MESSAGE"],"sourceRoot":"../../../../src","sources":["features/voice/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,8BAA8B,GAAG;EAC5CC,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE;AACZ,CAAC;AACD,OAAO,MAAMC,8BAA8B,GAAG,KAAK,EAAC;AACpD,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAK9B,OAAO,MAAMC,2BAA2B,GAAG,GAAG;AAC9C,OAAO,MAAMC,4BAA4B,GAAG,IAAI;AAChD,OAAO,MAAMC,sBAAsB,GAAG,EAAE;AACxC,OAAO,MAAMC,mBAAmB,GAAG,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { IS_MOBILE, IS_WEB } from '@magmamath/react-native-ui';
|
|
4
|
+
import { createAudioPlayer, getRecordingPermissionsAsync, requestRecordingPermissionsAsync } from 'expo-audio';
|
|
5
|
+
import * as FileSystem from 'expo-file-system';
|
|
6
|
+
import { VOICE_RECORDER_MAX_DURATION_MS } from "./constants.js";
|
|
7
|
+
import { PlayerState } from "./playing/model/index.js";
|
|
8
|
+
import { AudioStatus } from "../chatbot/index.js";
|
|
9
|
+
export const formatDuration = ms => {
|
|
10
|
+
const totalSeconds = Math.floor(ms / 1000);
|
|
11
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
12
|
+
const seconds = totalSeconds % 60;
|
|
13
|
+
return `${minutes}:${seconds.toString().padStart(2, '0')}`;
|
|
14
|
+
};
|
|
15
|
+
export const ensureRecordingPermissions = async () => {
|
|
16
|
+
const {
|
|
17
|
+
status
|
|
18
|
+
} = await getRecordingPermissionsAsync();
|
|
19
|
+
console.log('permission status: ', status);
|
|
20
|
+
if (status !== 'granted') {
|
|
21
|
+
const {
|
|
22
|
+
granted
|
|
23
|
+
} = await requestRecordingPermissionsAsync();
|
|
24
|
+
return granted;
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
};
|
|
28
|
+
const getAvailableInputsWeb = async () => {
|
|
29
|
+
if (!navigator.mediaDevices?.enumerateDevices) return [];
|
|
30
|
+
const devices = await navigator.mediaDevices.enumerateDevices();
|
|
31
|
+
return devices.filter(d => d.kind === 'audioinput');
|
|
32
|
+
};
|
|
33
|
+
export const getAvailableInputs = async recorder => {
|
|
34
|
+
if (IS_WEB) {
|
|
35
|
+
return await getAvailableInputsWeb();
|
|
36
|
+
}
|
|
37
|
+
if (IS_MOBILE) {
|
|
38
|
+
return await recorder.getAvailableInputs();
|
|
39
|
+
}
|
|
40
|
+
return [];
|
|
41
|
+
};
|
|
42
|
+
export const addAudioInputsListenerWeb = callback => {
|
|
43
|
+
if (!IS_WEB || !navigator.mediaDevices?.addEventListener) {
|
|
44
|
+
return () => {};
|
|
45
|
+
}
|
|
46
|
+
const handleDeviceChange = async () => {
|
|
47
|
+
const devices = await getAvailableInputsWeb();
|
|
48
|
+
callback(devices);
|
|
49
|
+
};
|
|
50
|
+
handleDeviceChange();
|
|
51
|
+
navigator.mediaDevices.addEventListener('devicechange', handleDeviceChange);
|
|
52
|
+
return () => {
|
|
53
|
+
navigator.mediaDevices.removeEventListener('devicechange', handleDeviceChange);
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
*
|
|
58
|
+
* @param fileUri
|
|
59
|
+
* @param externalPlayer - is optional expo-audio player, but should be provided
|
|
60
|
+
* because creating player is resource consuming operation
|
|
61
|
+
*/
|
|
62
|
+
export const getAudioDurationMs = (fileUri, externalPlayer) => {
|
|
63
|
+
if (!fileUri) return Promise.resolve(undefined);
|
|
64
|
+
const player = externalPlayer ?? createAudioPlayer();
|
|
65
|
+
const isInternalPlayer = !externalPlayer;
|
|
66
|
+
player.replace(fileUri);
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
const subscription = player.addListener('playbackStatusUpdate', () => {
|
|
69
|
+
if (player.duration !== undefined && player.duration > 0) {
|
|
70
|
+
subscription.remove();
|
|
71
|
+
|
|
72
|
+
// player.duration is in seconds (e.g., 1.234567)
|
|
73
|
+
const durationMs = Math.round(player.duration * 1000); // convert to milliseconds
|
|
74
|
+
|
|
75
|
+
if (isInternalPlayer) {
|
|
76
|
+
player.remove();
|
|
77
|
+
}
|
|
78
|
+
resolve(durationMs);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
setTimeout(() => {
|
|
82
|
+
subscription.remove();
|
|
83
|
+
if (isInternalPlayer) {
|
|
84
|
+
player.remove();
|
|
85
|
+
}
|
|
86
|
+
reject(new Error('Timeout loading audio metadata'));
|
|
87
|
+
}, 3000);
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
export const generateAudioFormData = async ({
|
|
91
|
+
audioFileUri,
|
|
92
|
+
durationMs,
|
|
93
|
+
fileName
|
|
94
|
+
}) => {
|
|
95
|
+
//todo: add web or ios prefix to filename
|
|
96
|
+
|
|
97
|
+
const formData = new FormData();
|
|
98
|
+
const duration = Math.min(durationMs || 100, VOICE_RECORDER_MAX_DURATION_MS).toString();
|
|
99
|
+
if (IS_WEB) {
|
|
100
|
+
const response = await fetch(audioFileUri);
|
|
101
|
+
const blob = await response.blob();
|
|
102
|
+
const filename = fileName + blob.type.replace('audio/', '.');
|
|
103
|
+
formData.append('file', blob, filename);
|
|
104
|
+
formData.append('filename', filename);
|
|
105
|
+
formData.append('duration', duration);
|
|
106
|
+
return formData;
|
|
107
|
+
}
|
|
108
|
+
const filename = fileName + '.m4a';
|
|
109
|
+
const file = {
|
|
110
|
+
uri: audioFileUri,
|
|
111
|
+
type: 'audio/m4a',
|
|
112
|
+
name: filename
|
|
113
|
+
};
|
|
114
|
+
formData.append('file', file, filename);
|
|
115
|
+
formData.append('filename', filename);
|
|
116
|
+
formData.append('duration', duration);
|
|
117
|
+
return formData;
|
|
118
|
+
};
|
|
119
|
+
export const uploadAudioFileRequestGenerator = (audioFileFormData, api) => {
|
|
120
|
+
const controller = new AbortController();
|
|
121
|
+
return {
|
|
122
|
+
uploadAudio: () => api.uploadAudioFile({
|
|
123
|
+
audioFileFormData
|
|
124
|
+
},
|
|
125
|
+
//@ts-ignore
|
|
126
|
+
{
|
|
127
|
+
signal: controller.signal
|
|
128
|
+
}),
|
|
129
|
+
controller
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
const downloadAudioMobile = async (response, audioFileId) => {
|
|
133
|
+
const {
|
|
134
|
+
config
|
|
135
|
+
} = response;
|
|
136
|
+
const url = config.url.startsWith('http') ? config.url : `${config.baseURL?.replace(/\/$/, '')}/${config.url.replace(/^\//, '')}`;
|
|
137
|
+
const fileName = `audio-${audioFileId}.mp4`;
|
|
138
|
+
const fileUri = `${FileSystem.cacheDirectory}${fileName}`;
|
|
139
|
+
const authHeader = config.headers?.Authorization || config.headers?.authorization;
|
|
140
|
+
const downloadResult = await FileSystem.downloadAsync(url, fileUri, authHeader ? {
|
|
141
|
+
headers: {
|
|
142
|
+
Authorization: authHeader
|
|
143
|
+
}
|
|
144
|
+
} : undefined);
|
|
145
|
+
if (downloadResult.status !== 200) {
|
|
146
|
+
throw new Error(`Failed to download audio file. Status: ${downloadResult.status}`);
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
uri: downloadResult.uri,
|
|
150
|
+
fileName,
|
|
151
|
+
fileType: 'audio/mp4'
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
const downloadAudioWeb = (response, audioFileId) => {
|
|
155
|
+
const blob = response.data;
|
|
156
|
+
if (!(blob instanceof Blob)) {
|
|
157
|
+
throw new Error('Unable to extract audio blob from response');
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
uri: URL.createObjectURL(blob),
|
|
161
|
+
fileName: `audio-${audioFileId}.mp4`,
|
|
162
|
+
fileType: blob.type || 'audio/mp4'
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
export const downloadAudioFileRequestGenerator = (audioFileId, api) => {
|
|
166
|
+
const controller = new AbortController();
|
|
167
|
+
return {
|
|
168
|
+
downloadAudio: async () => {
|
|
169
|
+
const response = await api.downloadAudioFile(audioFileId, {
|
|
170
|
+
//@ts-ignore
|
|
171
|
+
signal: controller.signal
|
|
172
|
+
});
|
|
173
|
+
return IS_WEB ? downloadAudioWeb(response, audioFileId) : downloadAudioMobile(response, audioFileId);
|
|
174
|
+
},
|
|
175
|
+
controller
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
export const getActiveAttempt = (attemptOffset, attemptsCount) => {
|
|
179
|
+
if (attemptOffset === undefined || attemptsCount === undefined) return null;
|
|
180
|
+
return attemptsCount - attemptOffset;
|
|
181
|
+
};
|
|
182
|
+
export const getAudioStatus = state => {
|
|
183
|
+
if (state === PlayerState.PLAYING) return AudioStatus.PLAYING;
|
|
184
|
+
if (state === PlayerState.PAUSED) return AudioStatus.PAUSED;
|
|
185
|
+
return undefined;
|
|
186
|
+
};
|
|
187
|
+
export const is400Error = error => {
|
|
188
|
+
if (error instanceof Error) {
|
|
189
|
+
const httpError = error;
|
|
190
|
+
return httpError.status === 400 || httpError.response?.status === 400;
|
|
191
|
+
}
|
|
192
|
+
return false;
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["IS_MOBILE","IS_WEB","createAudioPlayer","getRecordingPermissionsAsync","requestRecordingPermissionsAsync","FileSystem","VOICE_RECORDER_MAX_DURATION_MS","PlayerState","AudioStatus","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","ensureRecordingPermissions","status","console","log","granted","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","player","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","min","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal","downloadAudioMobile","audioFileId","config","url","startsWith","baseURL","cacheDirectory","authHeader","headers","Authorization","authorization","downloadResult","downloadAsync","fileType","downloadAudioWeb","data","Blob","URL","createObjectURL","downloadAudioFileRequestGenerator","downloadAudio","downloadAudioFile","getActiveAttempt","attemptOffset","attemptsCount","getAudioStatus","state","PLAYING","PAUSED","is400Error","error","httpError"],"sourceRoot":"../../../../src","sources":["features/voice/helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Recording exports
|
|
4
|
+
export * from "./recording/components/VoiceRecord.js";
|
|
5
|
+
export * from "./recording/model/VoiceRecord.model.js";
|
|
6
|
+
export * from "./recording/modal/VoiceRecordDeleteModal.js";
|
|
7
|
+
export * from "./recording/modal/VoiceRecordUndoModal.js";
|
|
8
|
+
|
|
9
|
+
// Playing exports
|
|
10
|
+
export * from "./playing/model/VoicePlayer.model.js";
|
|
11
|
+
export * from "./playing/model/VoiceTranscriptionsCollection.js";
|
|
12
|
+
export * from "./playing/model/VoiceTranscriptionsDownloader.model.js";
|
|
13
|
+
export * from "./playing/model/VoiceTranscriptionsDropdown.model.js";
|
|
14
|
+
export * from "./playing/components/VoiceTranscriptionsDropdown.js";
|
|
15
|
+
|
|
16
|
+
// Shared exports
|
|
17
|
+
export * from "./playing/components/VoiceIcon.js";
|
|
18
|
+
export * from "./constants.js";
|
|
19
|
+
export * from "./types.js";
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["features/voice/index.ts"],"mappings":";;AAAA;AACA,cAAc,uCAAoC;AAClD,cAAc,wCAAqC;AACnD,cAAc,6CAA0C;AACxD,cAAc,2CAAwC;;AAEtD;AACA,cAAc,sCAAmC;AACjD,cAAc,kDAA+C;AAC7D,cAAc,wDAAqD;AACnE,cAAc,sDAAmD;AACjE,cAAc,qDAAkD;;AAEhE;AACA,cAAc,mCAAgC;AAC9C,cAAc,gBAAa;AAC3B,cAAc,YAAS","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Re-export recording models
|
|
4
|
+
export { VoiceRecordModel } from "../recording/model/VoiceRecord.model.js";
|
|
5
|
+
export { VoiceRecordsCollection } from "../recording/model/VoiceRecordCollection.js";
|
|
6
|
+
export { RecorderModel } from "../recording/model/Recorder.model.js";
|
|
7
|
+
export { UploaderModel } from "../recording/model/Uploader.model.js";
|
|
8
|
+
|
|
9
|
+
// Re-export playing models
|
|
10
|
+
export { VoicePlayerModel } from "../playing/model/VoicePlayer.model.js";
|
|
11
|
+
export { VoiceTranscriptionsCollection } from "../playing/model/VoiceTranscriptionsCollection.js";
|
|
12
|
+
export { VoiceTranscriptionsDownloaderModel } from "../playing/model/VoiceTranscriptionsDownloader.model.js";
|
|
13
|
+
export { VoicePlayerModel as VoiceTranscriptionsPlayerModel } from "../playing/model/VoicePlayer.model.js";
|
|
14
|
+
export { VoiceTranscriptionsDropdownModel } from "../playing/model/VoiceTranscriptionsDropdown.model.js";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["VoiceRecordModel","VoiceRecordsCollection","RecorderModel","UploaderModel","VoicePlayerModel","VoiceTranscriptionsCollection","VoiceTranscriptionsDownloaderModel","VoiceTranscriptionsPlayerModel","VoiceTranscriptionsDropdownModel"],"sourceRoot":"../../../../../src","sources":["features/voice/model/index.ts"],"mappings":";;AAAA;AACA,SAASA,gBAAgB,QAAQ,yCAAsC;AACvE,SAASC,sBAAsB,QAAQ,6CAA0C;AACjF,SAASC,aAAa,QAAQ,sCAAmC;AACjE,SAASC,aAAa,QAAQ,sCAAmC;;AAEjE;AACA,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,6BAA6B,QAAQ,mDAAgD;AAE9F,SAASC,kCAAkC,QAAQ,yDAAsD;AACzG,SAASF,gBAAgB,IAAIG,8BAA8B,QAAQ,uCAAoC;AACvG,SAASC,gCAAgC,QAAQ,uDAAoD","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { COLORS, MicrophoneIcon } from '@magmamath/react-native-ui';
|
|
6
|
+
import Animated, { FadeIn } from 'react-native-reanimated';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
export const VoiceIcon = ({
|
|
9
|
+
style
|
|
10
|
+
}) => {
|
|
11
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
12
|
+
entering: FadeIn.duration(250),
|
|
13
|
+
style: [styles.container, style],
|
|
14
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
15
|
+
style: styles.iconContainer,
|
|
16
|
+
children: /*#__PURE__*/_jsx(MicrophoneIcon, {
|
|
17
|
+
color: COLORS.NEUTRAL_5
|
|
18
|
+
})
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const styles = StyleSheet.create({
|
|
23
|
+
container: {
|
|
24
|
+
flex: 1,
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
alignItems: 'center'
|
|
27
|
+
},
|
|
28
|
+
iconContainer: {
|
|
29
|
+
maxHeight: 124,
|
|
30
|
+
height: '80%',
|
|
31
|
+
aspectRatio: 1,
|
|
32
|
+
alignSelf: 'center',
|
|
33
|
+
padding: 24,
|
|
34
|
+
borderWidth: 4,
|
|
35
|
+
borderColor: COLORS.NEUTRAL_5,
|
|
36
|
+
borderRadius: 400,
|
|
37
|
+
justifyContent: 'center',
|
|
38
|
+
alignItems: 'center'
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=VoiceIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","React","COLORS","MicrophoneIcon","Animated","FadeIn","jsx","_jsx","VoiceIcon","style","entering","duration","styles","container","children","iconContainer","color","NEUTRAL_5","create","flex","justifyContent","alignItems","maxHeight","height","aspectRatio","alignSelf","padding","borderWidth","borderColor","borderRadius"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceIcon.tsx"],"mappings":";;AAAA,SAAoBA,UAAU,EAAEC,IAAI,QAAmB,cAAc;AACrE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,EAAEC,cAAc,QAAQ,4BAA4B;AACnE,OAAOC,QAAQ,IAAIC,MAAM,QAAQ,yBAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAM1D,OAAO,MAAMC,SAAS,GAAGA,CAAC;EAAEC;AAAsB,CAAC,KAAK;EACtD,oBACEF,IAAA,CAACH,QAAQ,CAACJ,IAAI;IAACU,QAAQ,EAAEL,MAAM,CAACM,QAAQ,CAAC,GAAG,CAAE;IAACF,KAAK,EAAE,CAACG,MAAM,CAACC,SAAS,EAAEJ,KAAK,CAAE;IAAAK,QAAA,eAC9EP,IAAA,CAACP,IAAI;MAACS,KAAK,EAAEG,MAAM,CAACG,aAAc;MAAAD,QAAA,eAChCP,IAAA,CAACJ,cAAc;QAACa,KAAK,EAAEd,MAAM,CAACe;MAAU,CAAE;IAAC,CACvC;EAAC,CACM,CAAC;AAEpB,CAAC;AAED,MAAML,MAAM,GAAGb,UAAU,CAACmB,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDN,aAAa,EAAE;IACbO,SAAS,EAAE,GAAG;IACdC,MAAM,EAAE,KAAK;IACbC,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE,QAAQ;IACnBC,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE1B,MAAM,CAACe,SAAS;IAC7BY,YAAY,EAAE,GAAG;IACjBT,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|