{"version":3,"file":"js/18-e85e63c8ed84583b92f9.js","mappings":"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","sources":["webpack://checksub/./app/frontend/images/attention.svg","webpack://checksub/./app/frontend/images/cancel_editing.svg","webpack://checksub/./app/frontend/images/close.svg","webpack://checksub/./app/frontend/images/close_dark.svg","webpack://checksub/./app/frontend/images/dropdown_checkmark.svg","webpack://checksub/./app/frontend/images/help.svg","webpack://checksub/./app/frontend/images/magic.svg","webpack://checksub/./app/frontend/images/save_input.svg","webpack://checksub/./app/frontend/images/subtitle.svg","webpack://checksub/./app/frontend/images/vimeo_channel_icon.svg","webpack://checksub/./app/frontend/images/voice_play_big2.svg","webpack://checksub/./app/frontend/images/warning_icon_voice.svg","webpack://checksub/./app/frontend/images/youtube_channel_icon.svg","webpack://checksub/./app/frontend/new_editor/components/Checkbox/Checkbox.tsx","webpack://checksub/./app/frontend/new_editor/components/CheckboxV2/CheckboxV2.tsx","webpack://checksub/./app/frontend/images/dropdown_arrow_checkbox_v2.svg","webpack://checksub/./app/frontend/new_editor/components/DropdownV2/DropdownV2.tsx","webpack://checksub/./app/frontend/new_editor/components/EditorButton/EditorButton.tsx","webpack://checksub/./app/frontend/new_editor/components/InputForFloatAsText/InputForFloatAsText.tsx","webpack://checksub/./app/frontend/new_editor/components/Loader/Loader.tsx","webpack://checksub/./app/frontend/new_editor/components/PageLoader/PageLoader.tsx","webpack://checksub/./app/frontend/new_editor/components/Popup/Popup.tsx","webpack://checksub/./app/frontend/images/logo.svg","webpack://checksub/./app/frontend/site/PublicRoute.tsx","webpack://checksub/./app/frontend/site/PrivateRoute.tsx","webpack://checksub/./app/frontend/site/pages/NoMatch/NoMatch.tsx","webpack://checksub/./app/frontend/images/profile.svg","webpack://checksub/./app/frontend/images/home.svg","webpack://checksub/./app/frontend/images/logout.svg","webpack://checksub/./app/frontend/images/vocabulary.svg","webpack://checksub/./app/frontend/images/channels.svg","webpack://checksub/./app/frontend/images/subscription.svg","webpack://checksub/./app/frontend/images/guidelines.svg","webpack://checksub/./app/frontend/images/termbases.svg","webpack://checksub/./app/frontend/images/billing.svg","webpack://checksub/./app/frontend/site/components/ProfileDropdown/ProfileDropdown.tsx","webpack://checksub/./app/frontend/site/components/ProfileButton/ProfileButton.tsx","webpack://checksub/./app/frontend/site/containers/Header/Header.tsx","webpack://checksub/./app/frontend/images/delete.svg","webpack://checksub/./app/frontend/site/containers/AssetsTable/Asset.tsx","webpack://checksub/./app/frontend/images/left.svg","webpack://checksub/./app/frontend/images/right.svg","webpack://checksub/./app/frontend/site/components/Pagination/Pagination.tsx","webpack://checksub/./app/frontend/site/containers/AssetsTable/AssetsTable.tsx","webpack://checksub/./app/frontend/site/components/Button/Button.tsx","webpack://checksub/./app/frontend/site/containers/ChannelsTable/ChannelsItem.tsx","webpack://checksub/./app/frontend/site/containers/ChannelsTable/ChannelsTable.tsx","webpack://checksub/./app/frontend/site/components/ConnectChannelButton/ConnectChannelButton.tsx","webpack://checksub/./app/frontend/site/containers/DashboardMenu/actions.ts","webpack://checksub/./app/frontend/site/containers/DashboardMenu/DashboardMenu.tsx","webpack://checksub/./app/frontend/site/components/Popup/Popup.tsx","webpack://checksub/./app/frontend/site/containers/ImportSrtPopup/ImportSrtPopup.tsx","webpack://checksub/./app/frontend/site/components/ExportationButtons/ExportationButtons.tsx","webpack://checksub/./app/frontend/site/containers/ProjectVersionsList/selectors.ts","webpack://checksub/./app/frontend/site/containers/ExportationPopup/ExportationPopup.tsx","webpack://checksub/./app/frontend/site/components/CreateLabelForm/CreateLabelForm.tsx","webpack://checksub/./app/frontend/site/containers/CreateLabelPopup/CreateLabelPopup.tsx","webpack://checksub/./app/frontend/images/label.svg","webpack://checksub/./app/frontend/images/plus_big.svg","webpack://checksub/./app/frontend/images/more_icon.svg","webpack://checksub/./app/frontend/site/components/Balloon/Balloon.tsx","webpack://checksub/./app/frontend/site/components/LabelsPanel/Label.tsx","webpack://checksub/./app/frontend/site/components/LabelsPanel/LabelsPanel.tsx","webpack://checksub/./app/frontend/site/components/DashboardLinks/DashboardLinks.tsx","webpack://checksub/./app/frontend/site/modules/Label/selectors.ts","webpack://checksub/./app/frontend/site/containers/DashboardSidebar/DashboardSidebar.tsx","webpack://checksub/./app/frontend/images/star_rating.svg","webpack://checksub/./app/frontend/images/star_rating_active.svg","webpack://checksub/./app/frontend/site/containers/RateSubtitlePopup/RateSubtitlePopup.tsx","webpack://checksub/./app/frontend/site/containers/ExternalTokenPopup/ExternalTokenPopup.tsx","webpack://checksub/./app/frontend/images/add_icon_grey.svg","webpack://checksub/./app/frontend/images/transcription_icon.svg","webpack://checksub/./app/frontend/images/star.svg","webpack://checksub/./app/frontend/images/star_rating_small.svg","webpack://checksub/./app/frontend/images/star_rating_active_small.svg","webpack://checksub/./app/frontend/utils/PadNumber/PadNumber.ts","webpack://checksub/./app/frontend/site/containers/ProjectVersionsList/Subtitle.tsx","webpack://checksub/./app/frontend/utils/FormatDateAndTime/FormatDateAndTime.ts","webpack://checksub/./app/frontend/site/containers/ProjectVersionsList/ProjectVersion.tsx","webpack://checksub/./app/frontend/site/containers/ProjectVersionsList/ProjectVersionsList.tsx","webpack://checksub/./app/frontend/images/plus.svg","webpack://checksub/./app/frontend/site/components/IconButton/IconButton.tsx","webpack://checksub/./app/frontend/site/components/IndeterminateCheckbox/IndeterminateCheckbox.tsx","webpack://checksub/./app/frontend/site/components/LabelsDropdown/LabelsDropdown.tsx","webpack://checksub/./app/frontend/images/folder.svg","webpack://checksub/./app/frontend/images/trash.svg","webpack://checksub/./app/frontend/images/download-dashboard.svg","webpack://checksub/./app/frontend/site/components/TableHeader/TableHeader.tsx","webpack://checksub/./app/frontend/site/containers/TableHeaderContainer/TableHeaderContainer.tsx","webpack://checksub/./app/frontend/site/components/EditLabelForm/EditLabelForm.tsx","webpack://checksub/./app/frontend/site/containers/RenameLabelPopup/RenameLabelPopup.tsx","webpack://checksub/./app/frontend/site/containers/DeleteLabelPopup/DeleteLabelPopup.tsx","webpack://checksub/./app/frontend/site/containers/DeleteElementPopup/DeleteElementPopup.tsx","webpack://checksub/./app/frontend/site/containers/DeleteProjectVersionPopup/DeleteProjectVersionPopup.tsx","webpack://checksub/./app/frontend/site/pages/Dashboard/Dashboard.tsx","webpack://checksub/./app/frontend/utils/FirstLetterUppercase/FirstLetterUppercase.ts","webpack://checksub/./app/frontend/images/arrow_pv_settings.svg","webpack://checksub/./app/frontend/site/components/CustomizationForm/Parameters.tsx","webpack://checksub/./app/frontend/images/attention2.svg","webpack://checksub/./app/frontend/images/delete_customization_item.svg","webpack://checksub/./app/frontend/site/components/WarningPopup/WarningPopup.tsx","webpack://checksub/./app/frontend/images/edit_customization_item.svg","webpack://checksub/./app/frontend/site/components/CustomizationForm/CustomizationForm.tsx","webpack://checksub/./app/frontend/site/components/VocabulariesForm/VocabulariesForm.tsx","webpack://checksub/./app/frontend/site/pages/Vocabularies/Vocabularies.tsx","webpack://checksub/./app/frontend/site/components/GuidelinesForm/GuidelinesForm.tsx","webpack://checksub/./app/frontend/site/modules/Guideline/selectors.ts","webpack://checksub/./app/frontend/site/pages/Guidelines/Guidelines.tsx","webpack://checksub/./app/frontend/images/termbase_settings.svg","webpack://checksub/./app/frontend/site/components/TermbaseSettingsPopup/TermbaseSettingsPopup.tsx","webpack://checksub/./app/frontend/images/delete_termbase_entry.svg","webpack://checksub/./app/frontend/images/term_add.svg","webpack://checksub/./app/frontend/site/components/TermbasesForm/TermbasesTable.tsx","webpack://checksub/./app/frontend/images/search_termbase.svg","webpack://checksub/./app/frontend/site/components/TermbasesForm/TermbasesFormBody.tsx","webpack://checksub/./app/frontend/site/components/TermbasesForm/TermbasesForm.tsx","webpack://checksub/./app/frontend/site/pages/Termbases/Termbases.tsx","webpack://checksub/./app/frontend/images/google-logo.svg","webpack://checksub/./app/frontend/site/components/OnboardingSidebar/OnboardingSidebar.tsx","webpack://checksub/./app/frontend/site/pages/UsersSignUp/SignUpFormStep1.tsx","webpack://checksub/./app/frontend/site/pages/UsersSignUp/SignUpFormStep2.tsx","webpack://checksub/./app/frontend/utils/GetBrowserLanguages/GetBrowserLanguages.ts","webpack://checksub/./app/frontend/site/pages/UsersSignUp/UsersSignUp.tsx","webpack://checksub/./app/frontend/site/components/SignInForm/SignInForm.tsx","webpack://checksub/./app/frontend/site/pages/UsersSignIn/UsersSignIn.tsx","webpack://checksub/./app/frontend/images/progress_ball.svg","webpack://checksub/./app/frontend/site/components/SurveyForm/SurveyForm.tsx","webpack://checksub/./app/frontend/images/progress_ball_active.svg","webpack://checksub/./app/frontend/site/pages/Onboarding/Survey/Survey.tsx","webpack://checksub/./app/frontend/images/info_badge.svg","webpack://checksub/./app/frontend/utils/FormattedCredits/FormattedCredits.ts","webpack://checksub/./app/frontend/site/components/CancelSubscriptionPopup/CancelSubscriptionForm.tsx","webpack://checksub/./app/frontend/site/components/CancelSubscriptionPopup/CancelSubscriptionFormTrial.tsx","webpack://checksub/./app/frontend/site/components/CancelSubscriptionPopup/CancelSubscriptionPopup.tsx","webpack://checksub/./app/frontend/site/components/UpdateSubscriptionPopup/UpdateSubscriptionPopup.tsx","webpack://checksub/./app/frontend/utils/SubscriptionPriceCalculatorPerPeriod/SubscriptionPriceCalculatorPerPeriod.ts","webpack://checksub/./app/frontend/images/checkmark.svg","webpack://checksub/./app/frontend/site/pages/Subscription/Faq.tsx","webpack://checksub/./app/frontend/site/pages/Subscription/PeriodSwitch.tsx","webpack://checksub/./app/frontend/site/pages/Subscription/CurrencySwitch.tsx","webpack://checksub/./app/frontend/images/reverse_checkmark.svg","webpack://checksub/./app/frontend/site/pages/Subscription/Offer.tsx","webpack://checksub/./app/frontend/site/pages/Subscription/EnterpriseOffer.tsx","webpack://checksub/./app/frontend/site/pages/Subscription/Subscription.tsx","webpack://checksub/./app/frontend/site/components/PasswordNewForm/PasswordNewForm.tsx","webpack://checksub/./app/frontend/site/pages/UsersPasswordNew/UsersPasswordNew.tsx","webpack://checksub/./app/frontend/site/components/UsersPasswordEditForm/UsersPasswordEditForm.tsx","webpack://checksub/./app/frontend/site/pages/UsersPasswordEdit/UsersPasswordEdit.tsx","webpack://checksub/./app/frontend/site/components/ConfirmationNewForm/ConfirmationNewForm.tsx","webpack://checksub/./app/frontend/site/pages/UsersConfirmationNew/UsersConfirmationNew.tsx","webpack://checksub/./app/frontend/site/pages/Onboarding/CheckEmail/CheckEmail.tsx","webpack://checksub/./app/frontend/images/vimeo_icon.svg","webpack://checksub/./app/frontend/site/pages/ChannelsNew/ChannelsNew.tsx","webpack://checksub/./app/frontend/images/crossmark.svg","webpack://checksub/./app/frontend/site/pages/ChannelsManage/Channel.tsx","webpack://checksub/./app/frontend/site/pages/ChannelsManage/ChannelsManage.tsx","webpack://checksub/./app/frontend/utils/ConvertFormality/ConvertFormality.ts","webpack://checksub/./app/frontend/utils/GetLanguagesThatDoNotAllowVoiceCloning/GetLanguagesThatDoNotAllowVoiceCloning.ts","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/ProjectType.tsx","webpack://checksub/./app/frontend/images/add_videos_true_scale.svg","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/MainSettings.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/Costs.tsx","webpack://checksub/./app/frontend/images/file.svg","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/Checkbox.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/ScriptImport.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/ConfirmationButton.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/Termbases.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/GeneralOptions.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/UploadOption.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/Vocabularies.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/Guidelines.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/TranscriptionOptions.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/Formality.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/TranslationOptions.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/DubbingType.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/LipSyncModel.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/DubbingOptions.tsx","webpack://checksub/./app/frontend/images/return_from_pv_settings.svg","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsForm/ProjectVersionSettingsForm.tsx","webpack://checksub/./app/frontend/site/containers/SetThemePopup/SetThemePopup.tsx","webpack://checksub/./app/frontend/site/modules/Vocabulary/selectors.ts","webpack://checksub/./app/frontend/site/modules/Termbase/selectors.ts","webpack://checksub/./app/frontend/site/pages/ProjectVersionSettings/ProjectVersionSettings.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/OnOffSwitch.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/ScriptImport.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/MainSettings.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/Gender.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/Country.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/PlayButtonForVoices.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/VoiceName.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/VoiceSettings.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/DefaultVoiceOptions.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/Termbase.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/GeneralOptions.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/Costs.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/ConfirmationButton.tsx","webpack://checksub/./app/frontend/site/components/ProjectVersionSettingsFormTts/ProjectVersionSettingsFormTts.tsx","webpack://checksub/./app/frontend/site/pages/ProjectVersionSettingsTts/ProjectVersionSettingsTts.tsx","webpack://checksub/./app/frontend/images/upload_2.svg","webpack://checksub/./app/frontend/images/free_trial_arrow.svg","webpack://checksub/./app/frontend/images/upload_text.svg","webpack://checksub/./app/frontend/images/confirm.svg","webpack://checksub/./app/frontend/site/pages/Upload/UploadArea.tsx","webpack://checksub/./app/frontend/site/pages/Upload/SubmitUrlsArea.tsx","webpack://checksub/./app/frontend/site/pages/Upload/UploadingProgress.tsx","webpack://checksub/./app/frontend/site/pages/Upload/Upload.tsx","webpack://checksub/./app/frontend/images/project_type_selection_arrow.svg","webpack://checksub/./app/frontend/site/pages/ProjectTypeSelection/ProjectTypeSelection.tsx","webpack://checksub/./app/frontend/site/components/DemoHeader/DemoHeader.tsx","webpack://checksub/./app/frontend/site/containers/DemoFooter/DemoFooter.tsx","webpack://checksub/./app/frontend/site/modules/Demo/actions.ts","webpack://checksub/./app/frontend/site/pages/DemoUpload/DemoUpload.tsx","webpack://checksub/./app/frontend/images/confirmation_arrow.svg","webpack://checksub/./app/frontend/site/components/DemoProjectVersionSettingsForm/EmailInput.tsx","webpack://checksub/./app/frontend/site/components/DemoProjectVersionSettingsForm/DemoProjectVersionSettingsForm.tsx","webpack://checksub/./app/frontend/site/pages/DemoProjectVersionSettings/DemoProjectVersionSettings.tsx","webpack://checksub/./app/frontend/images/wave.svg","webpack://checksub/./app/frontend/utils/ProcessingInfo/ProcessingInfo.ts","webpack://checksub/./app/frontend/site/pages/Processing/Processing.tsx","webpack://checksub/./app/frontend/site/Router.tsx","webpack://checksub/./app/frontend/site/components/Alert/Alert.tsx","webpack://checksub/./app/frontend/site/components/ButtonNew/ButtonNew.tsx","webpack://checksub/./app/frontend/site/components/ButtonNewV2/ButtonNewV2.tsx","webpack://checksub/./app/frontend/images/close_tiny.svg","webpack://checksub/./app/frontend/site/components/ExternalTokenForm/ExternalTokenForm.tsx","webpack://checksub/./app/frontend/site/components/Loader/Loader.tsx","webpack://checksub/./app/frontend/site/components/Parameter/Parameter.tsx","webpack://checksub/./app/frontend/images/rainbow.svg","webpack://checksub/./app/frontend/site/components/ThemesForm/ThemesForm.tsx","webpack://checksub/./app/frontend/site/containers/AssetsTable/actions.ts","webpack://checksub/./app/frontend/site/containers/AssetsTable/types.ts","webpack://checksub/./app/frontend/site/containers/ChannelsTable/actions.ts","webpack://checksub/./app/frontend/site/containers/ChannelsTable/types.ts","webpack://checksub/./app/frontend/site/containers/DashboardMenu/types.ts","webpack://checksub/./app/frontend/site/containers/DashboardSidebar/actions.ts","webpack://checksub/./app/frontend/site/containers/DashboardSidebar/types.ts","webpack://checksub/./app/frontend/site/containers/DeleteLabelPopup/actions.ts","webpack://checksub/./app/frontend/site/containers/DeleteLabelPopup/types.ts","webpack://checksub/./app/frontend/site/containers/DeleteProjectVersionPopup/actions.ts","webpack://checksub/./app/frontend/site/containers/DeleteProjectVersionPopup/types.ts","webpack://checksub/./app/frontend/site/containers/ExternalTokenPopup/actions.ts","webpack://checksub/./app/frontend/site/containers/ExternalTokenPopup/types.ts","webpack://checksub/./app/frontend/site/containers/ImportSrtPopup/actions.ts","webpack://checksub/./app/frontend/site/containers/ImportSrtPopup/types.ts","webpack://checksub/./app/frontend/site/containers/ProjectVersionsList/actions.ts","webpack://checksub/./app/frontend/site/containers/ProjectVersionsList/types.ts","webpack://checksub/./app/frontend/site/containers/RenameLabelPopup/actions.ts","webpack://checksub/./app/frontend/site/containers/RenameLabelPopup/types.ts","webpack://checksub/./app/frontend/site/modules/Demo/types.ts","webpack://checksub/./app/frontend/site/modules/Element/actions.ts","webpack://checksub/./app/frontend/site/modules/Element/types.ts","webpack://checksub/./app/frontend/site/modules/Guideline/actions.ts","webpack://checksub/./app/frontend/site/modules/Guideline/types.ts","webpack://checksub/./app/frontend/site/modules/Label/actions.ts","webpack://checksub/./app/frontend/site/modules/Label/types.ts","webpack://checksub/./app/frontend/site/modules/Project/actions.ts","webpack://checksub/./app/frontend/site/modules/Project/types.ts","webpack://checksub/./app/frontend/site/modules/Subscription/actions.ts","webpack://checksub/./app/frontend/site/modules/Subscription/types.ts","webpack://checksub/./app/frontend/site/modules/Termbase/actions.ts","webpack://checksub/./app/frontend/site/modules/Termbase/types.ts","webpack://checksub/./app/frontend/site/modules/Theme/actions.ts","webpack://checksub/./app/frontend/site/modules/Theme/types.ts","webpack://checksub/./app/frontend/site/modules/User/actions.ts","webpack://checksub/./app/frontend/site/modules/User/types.ts","webpack://checksub/./app/frontend/site/modules/Vocabulary/actions.ts","webpack://checksub/./app/frontend/site/modules/Vocabulary/types.ts","webpack://checksub/./app/frontend/site/pages/Onboarding/Survey/actions.ts","webpack://checksub/./app/frontend/site/pages/Onboarding/Survey/types.ts","webpack://checksub/./app/frontend/site/pages/Processing/actions.ts","webpack://checksub/./app/frontend/site/pages/Processing/types.ts","webpack://checksub/./app/frontend/site/pages/ProjectVersionSettings/actions.ts","webpack://checksub/./app/frontend/site/pages/ProjectVersionSettings/types.ts","webpack://checksub/./app/frontend/site/pages/ProjectVersionSettingsTts/actions.ts","webpack://checksub/./app/frontend/site/pages/ProjectVersionSettingsTts/types.ts","webpack://checksub/./app/frontend/site/pages/UsersConfirmationNew/actions.ts","webpack://checksub/./app/frontend/site/pages/UsersConfirmationNew/types.ts","webpack://checksub/./app/frontend/site/pages/UsersPasswordEdit/actions.ts","webpack://checksub/./app/frontend/site/pages/UsersPasswordEdit/types.ts","webpack://checksub/./app/frontend/site/pages/UsersPasswordNew/actions.ts","webpack://checksub/./app/frontend/site/pages/UsersPasswordNew/types.ts","webpack://checksub/./app/frontend/site/pages/UsersSignIn/actions.ts","webpack://checksub/./app/frontend/site/pages/UsersSignIn/types.ts","webpack://checksub/./app/frontend/site/pages/UsersSignUp/actions.ts","webpack://checksub/./app/frontend/site/pages/UsersSignUp/types.ts","webpack://checksub/./app/frontend/utils/AutoDownloadExportation/AutoDownloadExportation.ts","webpack://checksub/./app/frontend/utils/BrowserDimensions/BrowserDimensions.ts","webpack://checksub/./app/frontend/utils/ConvertToSnakeCase/ConvertToSnakeCase.ts","webpack://checksub/./app/frontend/utils/ElementUploader/ElementUploader.ts","webpack://checksub/./app/frontend/utils/FileNameSanitizer/FileNameSanitizer.ts","webpack://checksub/./app/frontend/utils/FormattedCreditsWithHours/FormattedCreditsWithHours.ts","webpack://checksub/./app/frontend/utils/FormattedCreditsWithHoursShort/FormattedCreditsWithHoursShort.ts","webpack://checksub/./app/frontend/utils/GetDefaultCountry/GetDefaultCountry.ts","webpack://checksub/./app/frontend/utils/GetMetaValue/GetMetaValue.ts","webpack://checksub/./app/frontend/utils/GetParamValueFromUrl/GetParamValueFromUrl.ts","webpack://checksub/./app/frontend/utils/HasElementOrSomeParentTheClass/HasElementOrSomeParentTheClass.ts","webpack://checksub/./app/frontend/utils/HasInternetConnection/HasInternetConnection.ts","webpack://checksub/./app/frontend/utils/Logger/Logger.ts","webpack://checksub/./app/frontend/utils/ModifyUrls/ModifyUrls.ts","webpack://checksub/./app/frontend/utils/SanitizeUrlsString/SanitizeUrlsString.ts","webpack://checksub/./app/frontend/utils/ShowConfettiAnimation/ShowConfettiAnimation.ts","webpack://checksub/./app/frontend/utils/SmartMerge/SmartMerge.ts","webpack://checksub/./app/frontend/utils/UseClickOutsideListener/UseClickOutsideListener.ts","webpack://checksub/./app/frontend/utils/ValidateUrls/ValidateUrls.ts","webpack://checksub/./app/frontend/utils/ZipAndSaveFiles/ZipAndSaveFiles.ts"],"sourcesContent":["var _path, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgAttention = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 16,\n height: 17,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#attention_svg__a)\",\n d: \"M0 16.12h16v-16H0z\"\n})), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"attention_svg__a\",\n width: 1,\n height: 1,\n patternContentUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#attention_svg__b\",\n href: \"#attention_svg__b\",\n transform: \"scale(.01563)\"\n})), /*#__PURE__*/React.createElement(\"image\", {\n xlinkHref: \"data:image/png;base64,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\",\n id: \"attention_svg__b\",\n width: 64,\n height: 64\n}))));\nexport default SvgAttention;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgCancelEditing = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FF9581\",\n d: \"M8 8.933 4.733 12.2a.63.63 0 0 1-.467.183.63.63 0 0 1-.466-.183.63.63 0 0 1-.184-.467q0-.283.184-.466L7.066 8 3.8 4.733a.63.63 0 0 1-.184-.466q0-.284.184-.467a.63.63 0 0 1 .466-.183q.285 0 .467.183L8 7.067 11.266 3.8a.63.63 0 0 1 .467-.183q.283 0 .466.183a.63.63 0 0 1 .184.467.63.63 0 0 1-.183.466L8.933 8l3.267 3.267a.63.63 0 0 1 .183.466.63.63 0 0 1-.183.467.63.63 0 0 1-.467.183.63.63 0 0 1-.467-.183z\"\n})));\nexport default SvgCancelEditing;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgClose = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C2C9D1\",\n d: \"m15.833 5.342-1.175-1.175L10 8.825 5.342 4.167 4.167 5.342 8.825 10l-4.658 4.658 1.175 1.175L10 11.175l4.658 4.658 1.175-1.175L11.175 10z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000\",\n fillOpacity: 0.25,\n d: \"m15.833 5.342-1.175-1.175L10 8.825 5.342 4.167 4.167 5.342 8.825 10l-4.658 4.658 1.175 1.175L10 11.175l4.658 4.658 1.175-1.175L11.175 10z\"\n})));\nexport default SvgClose;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgCloseDark = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n})));\nexport default SvgCloseDark;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgDropdownCheckmark = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillOpacity: 0.75,\n d: \"M7.959 14.646a.9.9 0 0 1-.313-.053.7.7 0 0 1-.27-.176l-3.584-3.584a.77.77 0 0 1-.22-.594.84.84 0 0 1 .24-.593.8.8 0 0 1 .584-.23.8.8 0 0 1 .583.23l2.98 2.979 7.062-7.062a.8.8 0 0 1 .594-.23q.364 0 .594.23.229.228.229.593a.8.8 0 0 1-.23.594l-7.666 7.667a.7.7 0 0 1-.271.176.9.9 0 0 1-.312.053\"\n})));\nexport default SvgDropdownCheckmark;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgHelp = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M9.95 16q.525 0 .888-.363.362-.362.362-.887t-.362-.887a1.2 1.2 0 0 0-.888-.363q-.525 0-.888.363a1.2 1.2 0 0 0-.362.887q0 .525.362.887.363.363.888.363m.15-10.3q.7 0 1.125.387.425.388.425 1.013 0 .424-.287.862a5 5 0 0 1-.813.913q-.75.65-1.1 1.25t-.35 1.2q0 .35.263.587A.904.904 0 0 0 10.6 11.9q.275-.25.35-.625.075-.425.338-.787.262-.363.862-.938.776-.725 1.088-1.325T13.55 6.9q0-1.275-.962-2.088Q11.625 4 10.1 4q-1.05 0-1.862.4a2.84 2.84 0 0 0-1.263 1.225 1 1 0 0 0-.125.637q.05.313.35.513a.97.97 0 0 0 .713.125 1 1 0 0 0 .637-.425q.274-.375.663-.575.387-.2.887-.2M10 20a9.7 9.7 0 0 1-3.875-.788 10.2 10.2 0 0 1-3.187-2.137A10 10 0 0 1 .788 13.9 9.7 9.7 0 0 1 0 10q0-2.074.788-3.9a10 10 0 0 1 2.15-3.175Q4.3 1.575 6.125.787A9.7 9.7 0 0 1 10 0q2.1 0 3.925.787A10.1 10.1 0 0 1 17.1 2.925q1.35 1.35 2.125 3.175A9.9 9.9 0 0 1 20 10a9.9 9.9 0 0 1-.775 3.9 9.9 9.9 0 0 1-2.125 3.175q-1.35 1.35-3.175 2.137Q12.1 20 10 20m0-2q3.35 0 5.675-2.337T18 10q0-3.325-2.325-5.663T10 2Q6.725 2 4.362 4.337T2 10q0 3.325 2.362 5.663T10 18\"\n})));\nexport default SvgHelp;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgMagic = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#1B1F27\",\n d: \"m1.714 2.469 1.714.96-.96-1.715L3.429 0 1.714.96 0 0l.96 1.714L0 3.43zM10.857 2.469l1.714.96-.96-1.715.96-1.714-1.714.96L9.143 0l.96 1.714-.96 1.715zM1.714 8.96 0 8l.96 1.715L0 11.429l1.714-.96 1.714.96-.96-1.714L3.429 8zM15.414 12.587 5.715 2.886 2.887 5.715l9.699 9.7L14 14zm-8.59-4.552L4.538 5.749 5.75 4.537l2.285 2.286z\"\n})));\nexport default SvgMagic;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgSaveInput = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#43C78F\",\n d: \"M6.366 11.717a.7.7 0 0 1-.25-.042.6.6 0 0 1-.216-.142L3.033 8.667a.62.62 0 0 1-.175-.476.67.67 0 0 1 .192-.474.63.63 0 0 1 .466-.184q.285 0 .467.184L6.366 10.1l5.65-5.65a.64.64 0 0 1 .476-.183q.291 0 .474.183.184.183.184.475a.64.64 0 0 1-.184.475l-6.133 6.133a.6.6 0 0 1-.217.142.7.7 0 0 1-.25.042\"\n})));\nexport default SvgSaveInput;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgSubtitle = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 11,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEC\",\n d: \"M13.663.308a.93.93 0 0 0-.665-.276H1.058L.95.033a.96.96 0 0 0-.858.704c-.05.18-.035.38-.035.566v8.645c.003.542.426.978.948.98h12.014a.95.95 0 0 0 .879-.664c.04-.116.048-.238.048-.36v-8.89c-.003-.264-.1-.52-.284-.706M8.63 9.54a.15.15 0 0 1-.045.11.14.14 0 0 1-.106.046h-.012c-.285.011-.573 0-.859 0H1.416a.156.156 0 0 1-.151-.156v-.874c0-.085.07-.156.15-.156h.013c.285-.011.573 0 .859 0H8.48c.082 0 .151.071.151.156zm4.106 0a.15.15 0 0 1-.045.11.14.14 0 0 1-.106.046H9.597a.156.156 0 0 1-.15-.156v-.874c0-.085.069-.156.15-.156h2.99c.08 0 .15.071.15.156zm-1.848-2.15c0 .084-.07.156-.151.156h-.012c-.286.01-.574 0-.86 0H3.263a.14.14 0 0 1-.107-.047.14.14 0 0 1-.044-.11v-.874c0-.084.07-.156.151-.156h.012c.285-.01 2.833-.004 3.119-.004l4.345.004c.082 0 .15.072.15.156z\"\n})));\nexport default SvgSubtitle;","var _path, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgVimeoChannelIcon = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#vimeo_channel_icon_svg__a)\",\n d: \"M0 0h20v20H0z\"\n})), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"vimeo_channel_icon_svg__a\",\n width: 1,\n height: 1,\n patternContentUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#vimeo_channel_icon_svg__b\",\n transform: \"scale(.00333)\"\n})), /*#__PURE__*/React.createElement(\"image\", {\n xlinkHref: \"data:image/png;base64,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\",\n id: \"vimeo_channel_icon_svg__b\",\n width: 300,\n height: 300\n}))));\nexport default SvgVimeoChannelIcon;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgVoicePlayBig2 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 25,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M10 9.325v5.35q0 .6.525.875a.95.95 0 0 0 1.025-.05l4.15-2.65q.475-.275.475-.85t-.475-.85L11.55 8.5a.95.95 0 0 0-1.025-.05Q10 8.725 10 9.325M12.5 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2.5 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.138A9.7 9.7 0 0 1 12.5 2q2.075 0 3.9.787a10.1 10.1 0 0 1 3.175 2.138q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22.5 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137a9.7 9.7 0 0 1-3.9.788m0-2q3.325 0 5.663-2.337T20.5 12q0-3.325-2.337-5.663T12.5 4Q9.175 4 6.838 6.337 4.5 8.675 4.5 12t2.338 5.663Q9.175 20 12.5 20\"\n})));\nexport default SvgVoicePlayBig2;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgWarningIconVoice = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CA9FFC\",\n d: \"M10 15a.97.97 0 0 0 .713-.288A.97.97 0 0 0 11 14V9.975a.93.93 0 0 0-.287-.7A1 1 0 0 0 10 9a.97.97 0 0 0-.712.287A.97.97 0 0 0 9 10v4.025q0 .425.288.7A1 1 0 0 0 10 15m0-8a.97.97 0 0 0 .713-.288A.97.97 0 0 0 11 6a.97.97 0 0 0-.287-.713A.97.97 0 0 0 10 5a.97.97 0 0 0-.712.287A.97.97 0 0 0 9 6q0 .424.288.712A.97.97 0 0 0 10 7m0 13a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137Q1.575 15.725.788 13.9A9.7 9.7 0 0 1 0 10q0-2.074.788-3.9a10.1 10.1 0 0 1 2.137-3.175Q4.275 1.575 6.1.787A9.7 9.7 0 0 1 10 0q2.075 0 3.9.787a10.1 10.1 0 0 1 3.175 2.138q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 20 10a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 10 20m0-2q3.325 0 5.663-2.337T18 10q0-3.325-2.337-5.663T10 2Q6.675 2 4.338 4.337 2 6.675 2 10t2.338 5.663Q6.675 18 10 18\"\n})));\nexport default SvgWarningIconVoice;","var _rect, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgYoutubeChannelIcon = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"#FC0D1B\",\n rx: 10\n})), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M16.024 8.233c-.142-.92-.567-1.558-1.559-1.7C12.907 6.25 10.5 6.25 10.5 6.25s-2.409 0-3.967.283c-.992.142-1.487.78-1.558 1.7-.142.921-.142 2.267-.142 2.267s0 1.346.142 2.267c.141.92.566 1.558 1.558 1.7 1.558.283 3.967.283 3.967.283s2.408 0 3.966-.283c.992-.213 1.417-.78 1.559-1.7.141-.921.141-2.267.141-2.267s0-1.346-.141-2.267m-6.942 4.392v-4.25l3.542 2.125z\"\n})));\nexport default SvgYoutubeChannelIcon;","import React, { useState } from 'react'\nimport classnames from 'classnames'\nimport { v4 as uuidv4 } from 'uuid'\nimport { UseFormRegisterReturn } from 'react-hook-form'\n\nimport './Checkbox.scss'\n\ninterface CheckboxProps {\n id?: string\n defaultChecked?: boolean\n checked?: boolean\n label?: string | JSX.Element\n disabled?: boolean\n registerReturn?: UseFormRegisterReturn\n onChange?(checked: boolean): void\n tooltipForDisabledLine1?: string\n tooltipForDisabledLine2?: string\n tooltipForEnabledLine1?: string\n tooltipForEnabledLine2?: string\n labelIcon?: JSX.Element\n}\n\nconst Checkbox: React.FC = props => {\n const {\n id,\n label,\n checked,\n defaultChecked,\n disabled,\n tooltipForDisabledLine1,\n tooltipForDisabledLine2,\n tooltipForEnabledLine1,\n tooltipForEnabledLine2,\n labelIcon,\n registerReturn,\n } = props\n\n const checkboxUuid = uuidv4()\n\n const [checkmarkActive, setCheckmarkActive] = useState(false)\n const [showInfo, setShowInfo] = useState(false)\n const [infoTimeout, setInfoTimeout] = useState | null>(null)\n\n const handleChange = (e: React.ChangeEvent) => {\n if (disabled || !props.onChange) { return }\n\n props.onChange((e.target as HTMLInputElement).checked)\n }\n\n const handleActiveChangeCheckmark = () => {\n if (disabled) { return }\n\n setCheckmarkActive(!checkmarkActive)\n }\n\n const toggleShowInfo = () => {\n const shouldShowInfo =\n disabled && (tooltipForDisabledLine1 || tooltipForDisabledLine2) ||\n !disabled && (tooltipForEnabledLine1 || tooltipForEnabledLine2)\n\n if (!shouldShowInfo) { return }\n\n if (infoTimeout) {\n setShowInfo(false)\n clearTimeout(infoTimeout)\n setInfoTimeout(null)\n } else {\n const newInfoTimeout = setTimeout(() => {\n setShowInfo(true)\n }, window.EditorSources.tooltipDelay)\n setInfoTimeout(newInfoTimeout)\n }\n }\n\n const shouldShowInfoForDisabled = disabled && (tooltipForDisabledLine1 || tooltipForDisabledLine2) && showInfo\n const shouldShowInfoForEnabled = !disabled && (tooltipForEnabledLine1 || tooltipForEnabledLine2) && showInfo\n\n return (\n \n \n\n {shouldShowInfoForDisabled && (\n
\n {tooltipForDisabledLine1}\n
\n {tooltipForDisabledLine2}\n
\n )}\n\n {shouldShowInfoForEnabled && (\n
\n {tooltipForEnabledLine1}\n
\n {tooltipForEnabledLine2}\n
\n )}\n \n )\n}\n\nexport default Checkbox\n","import React, { useState } from 'react'\nimport classnames from 'classnames'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport './CheckboxV2.scss'\n\ninterface CheckboxV2Props {\n id?: string\n name?: string\n defaultChecked?: boolean\n checked?: boolean\n label?: string | JSX.Element\n disabled?: boolean\n customRef?: React.Ref\n tooltipForDisabledLine1?: string\n tooltipForDisabledLine2?: string\n tooltipForEnabledLine1?: string\n tooltipForEnabledLine2?: string\n labelIcon?: JSX.Element\n onChange?(checked: boolean): void\n}\n\nconst CheckboxV2: React.FC = (props) => {\n const {\n id,\n name,\n label,\n checked,\n defaultChecked,\n disabled,\n customRef,\n tooltipForDisabledLine1,\n tooltipForDisabledLine2,\n tooltipForEnabledLine1,\n tooltipForEnabledLine2,\n labelIcon,\n } = props\n\n const checkboxUuid = uuidv4()\n\n const [showInfo, setShowInfo] = useState(false)\n const [infoTimeout, setInfoTimeout] = useState | null>(null)\n\n const handleChange = (e: React.ChangeEvent) => {\n if (disabled || !props.onChange) { return }\n\n props.onChange((e.target as HTMLInputElement).checked)\n }\n\n const toggleShowInfo = () => {\n const shouldShowInfo =\n disabled && (tooltipForDisabledLine1 || tooltipForDisabledLine2) ||\n !disabled && (tooltipForEnabledLine1 || tooltipForEnabledLine2)\n\n if (!shouldShowInfo) { return }\n\n if (infoTimeout) {\n setShowInfo(false)\n clearTimeout(infoTimeout)\n setInfoTimeout(null)\n } else {\n const newInfoTimeout = setTimeout(() => {\n setShowInfo(true)\n }, window.EditorSources.tooltipDelay)\n setInfoTimeout(newInfoTimeout)\n }\n }\n\n const shouldShowInfoForDisabled = disabled && (tooltipForDisabledLine1 || tooltipForDisabledLine2) && showInfo\n const shouldShowInfoForEnabled = !disabled && (tooltipForEnabledLine1 || tooltipForEnabledLine2) && showInfo\n\n return (\n \n \n\n {shouldShowInfoForDisabled && (\n
\n {tooltipForDisabledLine1}\n
\n {tooltipForDisabledLine2}\n
\n )}\n\n {shouldShowInfoForEnabled && (\n
\n {tooltipForEnabledLine1}\n
\n {tooltipForEnabledLine2}\n
\n )}\n \n )\n}\n\nexport default CheckboxV2\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgDropdownArrowCheckboxV2 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 25,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M12.5 14.95a1.1 1.1 0 0 1-.375-.063.9.9 0 0 1-.325-.212L7.175 10.05a.9.9 0 0 1-.262-.688.98.98 0 0 1 .287-.687.95.95 0 0 1 .7-.275q.424 0 .7.275l3.9 3.9 3.925-3.925a.9.9 0 0 1 .688-.263.98.98 0 0 1 .687.288.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7l-4.6 4.6q-.15.15-.325.212a1.1 1.1 0 0 1-.375.063\"\n})));\nexport default SvgDropdownArrowCheckboxV2;","import React, { useState, useRef } from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport map from 'lodash/map'\nimport { v4 as uuidv4 } from 'uuid'\nimport useClickOutsideListener from '@Utils/UseClickOutsideListener'\nimport * as Page from '@Utils/BrowserDimensions'\n\nimport Checkmark from '@Images/dropdown_checkmark.svg'\nimport DropdownArrow from '@Images/dropdown_arrow_checkbox_v2.svg'\n\nimport './DropdownV2.scss'\n\ninterface DropdownV2Props {\n readonly items: string[]\n readonly itemsToShow?: JSX.Element[]\n readonly currentItem: string\n readonly shouldBlockDropdown?: boolean\n readonly tooltip?: string\n readonly listWidth?: number\n readonly classNameOfContainerToMakeUnscrollable?: string\n readonly paddingToCompensateScrollbarWhenUnscrollable?: number\n readonly noPortal?: boolean\n readonly dropdownX?: number // Must be set for noPortal\n readonly dropdownY?: number // Must be set for noPortal\n readonly isForLipSync?: boolean\n onChange(newItem: string): void\n}\n\nconst DROPDOWN_WIDTH = 228 // must be the same as in Dropdown.scss\nconst DROPDOWN_HEIGHT = 196 // must be the same as in Dropdown.scss\nconst DROPDOWN_MARGIN_TOP = 10\n\nconst DropdownV2: React.FC = props => {\n const {\n items,\n noPortal,\n tooltip,\n listWidth,\n itemsToShow,\n currentItem,\n isForLipSync,\n shouldBlockDropdown,\n classNameOfContainerToMakeUnscrollable,\n paddingToCompensateScrollbarWhenUnscrollable,\n } = props\n\n const hasNoDropdown = items.length === 1\n\n const [openDropdown, setOpenDropdown] = useState(false)\n const [showInfo, setShowInfo] = useState(false)\n const [infoTimeout, setInfoTimeout] = useState | null>(null)\n const dropdownButtonRef = useRef(null)\n const shouldShowInfo = tooltip && showInfo && !openDropdown\n const showItemsAsJsx = !!itemsToShow\n\n const dropdownUuid = uuidv4()\n\n const openOrCloseDropdown = (newOpenDropdown: boolean) => {\n if (hasNoDropdown || shouldBlockDropdown) { return }\n\n setOpenDropdown(newOpenDropdown)\n\n if (classNameOfContainerToMakeUnscrollable) {\n const container = document.getElementsByClassName(classNameOfContainerToMakeUnscrollable)\n if (container && container.length > 0) {\n const containerElement = container[0] as HTMLElement\n containerElement.style.overflowY = newOpenDropdown ? 'hidden' : 'scroll'\n containerElement.style.paddingRight = newOpenDropdown ? paddingToCompensateScrollbarWhenUnscrollable + 'px' : '0px'\n }\n }\n }\n\n useClickOutsideListener(`DropdownV2-${dropdownUuid}`, openOrCloseDropdown, openDropdown)\n\n const toggleShowDropdown = () => {\n if (hasNoDropdown) { return }\n\n const newOpenDropdown = !openDropdown\n\n openOrCloseDropdown(newOpenDropdown)\n }\n\n const toggleShowInfo = () => {\n if (!tooltip) { return }\n\n if (infoTimeout) {\n setShowInfo(false)\n clearTimeout(infoTimeout)\n setInfoTimeout(null)\n } else {\n const newInfoTimeout = setTimeout(() => {\n setShowInfo(true)\n }, window.EditorSources.tooltipDelay)\n setInfoTimeout(newInfoTimeout)\n }\n }\n\n const itemList = map(items, (value, index) => {\n const isCurrentItem = value === currentItem\n\n const handleChangeItem = () => {\n const itemChanged = currentItem !== value\n if (itemChanged) {\n props.onChange(value)\n }\n\n openOrCloseDropdown(false)\n }\n\n return (\n \n {showItemsAsJsx ? itemsToShow[index] : value}\n {isCurrentItem && (\n \n )}\n \n )\n })\n\n const renderItemList = () => {\n const dropdownButtonBounds = dropdownButtonRef.current!.getBoundingClientRect()\n\n const newDropdownWidth = listWidth ?? DROPDOWN_WIDTH\n\n const dropdownX = noPortal ? props.dropdownX : Math.min(\n dropdownButtonBounds.x + dropdownButtonBounds.width - newDropdownWidth,\n Page.getWidth() - newDropdownWidth\n )\n const dropdownY = noPortal ? props.dropdownY : Math.min(\n dropdownButtonBounds.y + dropdownButtonBounds.height + DROPDOWN_MARGIN_TOP,\n Page.getHeight() - DROPDOWN_HEIGHT\n )\n\n const style = {\n top: `${dropdownY}px`,\n left: `${dropdownX}px`,\n width: listWidth\n }\n\n if (noPortal) {\n return (\n \n {itemList}\n \n )\n } else {\n return ReactDOM.createPortal(\n (\n \n {itemList}\n \n ),\n document.getElementById('editor-container')!\n )\n }\n }\n\n const renderDropdown = () => {\n const noDropdown = hasNoDropdown || shouldBlockDropdown\n const canFindDropdownButton = !!dropdownButtonRef.current\n\n return (\n
\n
\n {currentItem}\n {!noDropdown && (\n \n )}\n\n {shouldShowInfo && (\n
\n {tooltip}\n
\n )}\n
\n\n {openDropdown && canFindDropdownButton && renderItemList()}\n
\n )\n }\n\n return (\n \n {renderDropdown()}\n \n )\n}\n\nexport default DropdownV2\n","import React from 'react'\nimport Loader from '@SiteComponents/Loader'\n\nimport './EditorButton.scss'\n\ninterface EditorButtonProps {\n readonly color: string\n readonly caption: string\n readonly disabled?: boolean\n readonly showSpinner?: boolean\n readonly type?: 'button' | 'submit' | 'reset' | undefined\n readonly icon?: JSX.Element\n onMouseEnter?(): void\n onMouseLeave?(): void\n onClick?(): void\n}\n\nconst EditorButton: React.FC = props => {\n const onClick = () => {\n if (!props.onClick) { return }\n\n props.onClick()\n }\n\n return (\n \n {props.showSpinner ? (\n \n ) : (\n
\n {props.caption}\n {props.icon}\n
\n )}\n \n )\n}\n\nexport default EditorButton\n","import React, { useState, useEffect, useRef } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\nimport classnames from 'classnames'\n\nimport './InputForFloatAsText.scss'\n\nconst ENTER_KEY = 13\nconst ARROW_UP_KEY = 38\nconst ARROW_DOWN_KEY = 40\n\ninterface InputForFloatAsTextProps {\n readonly min: number\n readonly max: number\n readonly step: number\n readonly value: number\n readonly defaultValue: number\n readonly unit?: string\n readonly tooltip?: string\n readonly disabled?: boolean\n readonly numberOfDigits?: number\n readonly hasHorizontalCursor?: boolean\n readonly isForSite?: boolean\n onChange(newValue: number): void\n}\n\nconst DEFAULT_NUMBER_OF_DIGITS = 2\n\nconst InputForFloatAsText: React.FC = props => {\n const {\n min,\n max,\n step,\n unit,\n value,\n tooltip,\n disabled,\n isForSite,\n defaultValue,\n hasHorizontalCursor,\n } = props\n\n const numberOfDigits = typeof(props.numberOfDigits) === 'number' ? props.numberOfDigits : DEFAULT_NUMBER_OF_DIGITS\n const tooltipDelay = isForSite ? window.Checksub.tooltipDelay : window.EditorSources.tooltipDelay\n\n const [showInfo, setShowInfo] = useState(false)\n const [infoTimeout, setInfoTimeout] = useState | null>(null)\n const [inputValue, _setInputValue] = useState(value.toFixed(numberOfDigits))\n const [inputUuid, _setInputUuid] = useState(uuidv4())\n const inputValueRef = useRef(inputValue)\n const [isFocused, _setIsFocused] = useState(false)\n const isFocusedRef = useRef(isFocused)\n\n const setIsFocused = (newIsFocused: boolean) => {\n isFocusedRef.current = newIsFocused\n _setIsFocused(newIsFocused)\n }\n\n const setInputValue = (newInputValue: string) => {\n inputValueRef.current = newInputValue\n _setInputValue(newInputValue)\n }\n\n useEffect(() => {\n document.addEventListener('keydown', useSpecialKeys)\n\n return () => {\n document.removeEventListener('keydown', useSpecialKeys)\n }\n }, [])\n\n useEffect(() => {\n setInputValue(value.toFixed(numberOfDigits))\n }, [value])\n\n const shouldShowInfo = tooltip && showInfo && !disabled\n const shouldShowUnit = unit\n\n const toggleShowInfo = () => {\n if (!tooltip) { return }\n\n if (infoTimeout) {\n setShowInfo(false)\n clearTimeout(infoTimeout)\n setInfoTimeout(null)\n } else {\n const newInfoTimeout = setTimeout(() => {\n setShowInfo(true)\n }, tooltipDelay)\n setInfoTimeout(newInfoTimeout)\n }\n }\n\n const useSpecialKeys = (e: KeyboardEvent) => {\n if (!isFocusedRef.current) { return }\n\n const newValue = parseFloat(parseFloat(inputValueRef.current).toFixed(numberOfDigits))\n const isNaN = newValue !== newValue // https://medium.com/coding-in-simple-english/how-to-check-for-nan-in-javascript-4294e555b447#:~:text=In%20JavaScript%2C%20the%20best%20way,NaN%20will%20always%20return%20true%20.\n const isANumber = !isNaN\n\n switch(e.keyCode) {\n case ENTER_KEY:\n const input = document.getElementById(`InputForFloatAsText-input-${inputUuid}`)\n if (input) {\n input.blur()\n }\n break\n case ARROW_UP_KEY:\n if (isANumber) {\n setInputValue((newValue + step).toFixed(numberOfDigits))\n }\n break\n case ARROW_DOWN_KEY:\n if (isANumber) {\n setInputValue((newValue - step).toFixed(numberOfDigits))\n }\n break\n }\n }\n\n const handleChange = (e: React.ChangeEvent) => {\n setInputValue((e.target as HTMLInputElement).value)\n }\n\n const handleFocus = () => {\n setIsFocused(true)\n }\n\n const handleBlur = () => {\n setIsFocused(false)\n\n const newValue = parseFloat(parseFloat(inputValue).toFixed(numberOfDigits))\n const isNaN = newValue !== newValue // https://medium.com/coding-in-simple-english/how-to-check-for-nan-in-javascript-4294e555b447#:~:text=In%20JavaScript%2C%20the%20best%20way,NaN%20will%20always%20return%20true%20.\n const isANumber = !isNaN\n const isTooSmall = isANumber && newValue < min\n const isTooLarge = isANumber && newValue > max\n\n if (isNaN) {\n changeToValue(defaultValue)\n } else if (isTooSmall) {\n changeToValue(min)\n } else if (isTooLarge) {\n changeToValue(max)\n } else {\n changeToValue(newValue)\n }\n }\n\n const changeToValue = (newValue: number) => {\n props.onChange(newValue)\n setInputValue(newValue.toFixed(numberOfDigits))\n }\n\n const renderUnit = () => {\n return (\n \n {unit}\n \n )\n }\n\n const renderInput = () => {\n return (\n \n )\n }\n\n const renderInfo = () => {\n return (\n
\n {tooltip}\n
\n )\n }\n\n return (\n \n {renderInput()}\n {unit && renderUnit()}\n {shouldShowInfo && renderInfo()}\n \n )\n}\n\nexport default InputForFloatAsText\n","import React from 'react'\n\nimport './Loader.scss'\n\ninterface LoaderProps {\n color?: string\n}\n\nconst Loader: React.FC = props => {\n return (\n
\n
\n
\n
\n
\n )\n}\n\nexport default Loader\n","import React from 'react'\nimport Loader from '@EditorComponents/Loader'\n\nimport './PageLoader.scss'\n\ninterface PageLoaderProps {}\nconst PageLoader: React.FC = _props => {\n return (\n \n
\n
\n \n
\n \n )\n}\n\nexport default PageLoader\n","import React from 'react'\nimport CloseIcon from '@Images/close.svg'\n\nimport './Popup.scss'\n\ninterface PopupProps {\n readonly className?: string\n readonly children?: React.ReactNode\n closePopup?(): void\n}\n\nconst Popup: React.FC = props => {\n return (\n \n
\n
\n {props.closePopup && (\n \n )}\n {props.children}\n
\n \n )\n}\n\nexport default Popup\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgLogo = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 437 90\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M436.285 74.93c0 8.132-6.592 14.724-14.724 14.724s-14.724-6.592-14.724-14.724 6.592-14.724 14.724-14.724 14.724 6.592 14.724 14.724M26.57 22.446q-10.897 0-17.964 7.362c-4.614 4.909-6.97 11.093-6.97 18.651 0 7.657 2.356 13.94 6.97 18.75 4.613 4.809 10.601 7.165 17.963 7.165 11.878 0 20.81-6.577 23.166-18.65H37.27c-1.178 4.024-5.105 6.969-10.11 6.969-7.167 0-12.37-5.988-12.37-14.234 0-4.22 1.179-7.656 3.436-10.307 2.258-2.748 5.203-4.123 8.639-4.123 5.006 0 8.834 2.65 10.307 7.068h12.368c-1.865-12.172-10.798-18.65-22.97-18.65M56.866 1.636v71.658h12.663V46.987c0-7.853 3.632-12.172 8.834-12.172 4.712 0 7.068 2.945 7.068 8.932v29.547h12.86V41c0-11.485-5.596-18.553-16.1-18.553-5.595 0-9.816 2.062-12.662 6.283V1.636zM129.285 22.446c-7.362 0-13.251 2.454-17.865 7.362-4.614 4.81-6.871 11.093-6.871 18.651q0 11.632 6.773 18.847 6.92 7.068 17.963 7.068c11.878 0 19.633-5.988 22.774-16.688h-12.368c-1.473 3.829-4.81 5.792-10.013 5.792-6.969 0-11.583-4.516-11.976-11.19h34.651V48.36c0-16.982-9.325-25.915-23.068-25.915m-11.484 21.007c.687-6.184 4.908-10.405 11.19-10.405s10.405 4.123 10.503 10.405zM181.945 22.446q-10.896 0-17.964 7.362c-4.614 4.909-6.969 11.093-6.969 18.651 0 7.657 2.355 13.94 6.969 18.75 4.614 4.809 10.601 7.165 17.964 7.165 11.877 0 20.81-6.577 23.166-18.65h-12.467c-1.178 4.024-5.104 6.969-10.11 6.969-7.166 0-12.369-5.988-12.369-14.234 0-4.22 1.178-7.656 3.436-10.307 2.258-2.748 5.202-4.123 8.638-4.123 5.006 0 8.835 2.65 10.307 7.068h12.368c-1.865-12.172-10.797-18.65-22.969-18.65M212.438 1.636v71.658h12.761v-11.19l6.184-7.853 11.583 19.043h14.528l-17.178-28.86 14.626-20.908h-15.215L225.199 43.65V1.636zM278.112 22.446q-8.687 0-13.547 4.712c-3.239 3.043-4.81 6.871-4.81 11.485 0 8.147 5.007 12.86 15.903 14.724 7.067 1.276 9.031 2.945 9.031 6.185 0 3.042-2.258 4.711-6.185 4.711-4.613 0-7.067-2.061-7.165-6.086h-12.565c.294 9.914 7.362 16.197 19.436 16.197 11.092 0 19.24-5.497 19.24-16.197 0-8.343-4.418-13.154-16.197-15.117-6.773-1.178-8.737-2.552-8.737-5.693 0-3.043 1.964-4.908 5.498-4.908 3.632 0 5.595 1.865 5.693 5.693h12.663c-.393-9.423-7.755-15.706-18.258-15.706M332.195 23.526v26.7c0 7.755-3.534 11.78-8.54 11.78-4.712 0-7.068-3.044-7.068-9.031V23.526h-12.761v32.295c0 11.485 5.497 18.553 16.001 18.553 6.184 0 10.503-2.552 13.153-7.558l.982 6.478h10.896V23.526zM355.442 1.636v71.658h10.896l.982-6.675c3.534 5.203 8.835 7.755 15.804 7.755 6.577 0 12.074-2.454 16.491-7.46 4.418-5.007 6.675-11.19 6.675-18.553 0-7.362-2.159-13.448-6.577-18.454-4.417-5.007-9.914-7.46-16.589-7.46q-10.16 0-15.019 6.478V1.636zm25.032 32.786c7.067 0 12.564 5.693 12.564 13.939 0 8.344-5.398 14.037-12.564 14.037-3.436 0-6.381-1.178-8.835-3.632s-3.73-5.89-3.73-10.11v-.59c.098-4.22 1.374-7.46 3.828-9.914s5.399-3.73 8.737-3.73\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillRule: \"evenodd\",\n d: \"M7.425 28.676c5.043-5.253 11.468-7.866 19.144-7.866 6.372 0 12.028 1.698 16.363 5.112 4.35 3.426 7.236 8.48 8.224 14.927l.289 1.884H35.99l-.373-1.119c-1.23-3.693-4.392-5.949-8.754-5.949-2.943 0-5.425 1.153-7.374 3.526l-.019.022c-1.964 2.306-3.045 5.344-3.045 9.246 0 7.566 4.678 12.598 10.732 12.598 4.358 0 7.588-2.538 8.54-5.793l.345-1.177H51.72l-.38 1.95c-1.244 6.377-4.252 11.403-8.607 14.825-4.347 3.417-9.923 5.148-16.165 5.148-7.747 0-14.183-2.497-19.144-7.67C2.479 63.185 0 56.477 0 48.46c0-7.932 2.486-14.53 7.413-19.772zm41.943 28.683c-2.82 11.031-11.47 17.015-22.799 17.015-7.362 0-13.35-2.356-17.963-7.166s-6.97-11.092-6.97-18.749c0-7.558 2.356-13.742 6.97-18.65q7.068-7.363 17.963-7.363c11.615 0 20.28 5.9 22.67 17.015q.172.8.3 1.636H37.171c-1.473-4.417-5.301-7.068-10.307-7.068-3.436 0-6.38 1.375-8.639 4.123-2.257 2.65-3.435 6.086-3.435 10.307 0 8.246 5.202 14.234 12.368 14.234 5.006 0 8.933-2.945 10.11-6.97h12.467a29 29 0 0 1-.367 1.636M55.23 0h15.935v24.457c2.924-2.455 6.635-3.647 11.027-3.647 5.643 0 10.16 1.916 13.236 5.549 3.042 3.592 4.498 8.655 4.498 14.64V74.93H83.795V43.747c0-2.824-.563-4.624-1.413-5.694-.79-.998-2.025-1.602-4.019-1.602-2.1 0-3.82.848-5.063 2.492-1.278 1.69-2.135 4.347-2.135 8.044V74.93H55.23zm15.935 26.695a15 15 0 0 0-1.636 2.034V1.636H56.866v71.658h12.663V46.987c0-7.853 3.632-12.172 8.834-12.172 4.712 0 7.068 2.945 7.068 8.932v29.547h12.86V41c0-11.485-5.596-18.553-16.1-18.553-4.607 0-8.283 1.398-11.026 4.249m38.964 41.731c-4.849-5.166-7.216-11.874-7.216-19.967 0-7.9 2.37-14.612 7.32-19.777 4.948-5.26 11.281-7.872 19.052-7.872 7.236 0 13.471 2.362 17.886 7.112 4.404 4.737 6.818 11.656 6.818 20.439v5.563h-34.436c.43 2.18 1.413 3.964 2.796 5.274 1.731 1.64 4.207 2.644 7.329 2.644 2.406 0 4.234-.455 5.583-1.239 1.324-.769 2.29-1.912 2.903-3.504l.403-1.049h15.677l-.615 2.097c-1.652 5.626-4.553 10.125-8.705 13.209-4.151 3.083-9.42 4.654-15.639 4.654-7.745 0-14.174-2.495-19.132-7.56zm7.761-14.503a15 15 0 0 1-.188-1.636h34.651v-3.926c0-16.982-9.325-25.915-23.068-25.915-7.362 0-13.251 2.454-17.865 7.362-4.614 4.81-6.871 11.093-6.871 18.651q0 11.632 6.773 18.847 6.92 7.068 17.963 7.068c11.258 0 18.812-5.38 22.245-15.052q.283-.798.529-1.636h-12.368c-1.473 3.829-4.81 5.792-10.013 5.792-6.384 0-10.791-3.788-11.788-9.555m-.089-10.47h21.693a14 14 0 0 0-.122-1.636c-.732-5.352-4.662-8.77-10.381-8.77-5.711 0-9.719 3.49-10.917 8.77a15 15 0 0 0-.273 1.636m1.957-1.636h17.961c-.315-1.997-1.139-3.599-2.31-4.762-1.479-1.468-3.643-2.371-6.418-2.371-2.758 0-4.97.918-6.567 2.434-1.238 1.175-2.165 2.765-2.666 4.699m43.043-13.141c5.043-5.253 11.468-7.866 19.144-7.866 6.372 0 12.028 1.698 16.362 5.112 4.35 3.426 7.237 8.48 8.225 14.927l.288 1.884h-15.453l-.373-1.119c-1.231-3.693-4.392-5.949-8.755-5.949-2.942 0-5.425 1.153-7.374 3.526l-.019.022c-1.963 2.306-3.045 5.344-3.045 9.246 0 7.566 4.679 12.598 10.733 12.598 4.357 0 7.587-2.538 8.54-5.793l.344-1.177h15.679l-.38 1.95c-1.245 6.377-4.252 11.403-8.608 14.825-4.347 3.417-9.923 5.148-16.164 5.148-7.748 0-14.183-2.497-19.145-7.67-4.946-5.156-7.424-11.864-7.424-19.88 0-7.932 2.486-14.53 7.413-19.772zm41.942 28.683c-2.819 11.031-11.469 17.015-22.798 17.015-7.363 0-13.35-2.356-17.964-7.166s-6.969-11.092-6.969-18.749c0-7.558 2.355-13.742 6.969-18.65q7.068-7.363 17.964-7.363c11.614 0 20.28 5.9 22.669 17.015q.173.8.3 1.636h-12.368c-1.472-4.417-5.301-7.068-10.307-7.068-3.436 0-6.38 1.375-8.638 4.123-2.258 2.65-3.436 6.086-3.436 10.307 0 8.246 5.203 14.234 12.369 14.234 5.006 0 8.932-2.945 10.11-6.97h12.467a30 30 0 0 1-.368 1.636M210.802 0h16.033v38.588L238.89 21.89h19.193l-15.821 22.616 18.11 30.424h-18.326L231.21 57.115l-4.375 5.555v12.26h-16.033zm14.397 62.104 6.184-7.853 11.583 19.043h14.528l-17.178-28.86 14.626-20.908h-15.215L225.199 43.65V1.636h-12.761v71.658h12.761zm46.14-3.927c.098 4.025 2.552 6.086 7.165 6.086 3.927 0 6.185-1.669 6.185-4.712 0-3.239-1.964-4.908-9.031-6.184-10.896-1.865-15.903-6.577-15.903-14.724 0-4.614 1.571-8.442 4.81-11.485q4.86-4.712 13.547-4.712c9.883 0 16.985 5.563 18.116 14.07q.107.801.142 1.636h-12.663c-.098-3.828-2.061-5.693-5.693-5.693-3.534 0-5.497 1.865-5.497 4.908 0 3.141 1.963 4.515 8.736 5.693 11.779 1.963 16.197 6.773 16.197 15.117 0 10.7-8.148 16.197-19.24 16.197-11.396 0-18.332-5.596-19.323-14.56a20 20 0 0 1-.113-1.637zm10.189-16.73c-3.384-.588-5.258-1.186-6.282-1.862-.467-.31-.708-.605-.849-.891-.148-.3-.244-.709-.244-1.327 0-1.157.361-1.907.887-2.384.546-.496 1.481-.888 2.974-.888 1.549 0 2.471.395 3.022.94.555.547.993 1.5 1.035 3.16l.041 1.593h15.963l-.071-1.704c-.214-5.146-2.345-9.504-5.906-12.56-3.547-3.044-8.411-4.714-13.986-4.714-6.086 0-11.053 1.656-14.676 5.165-3.585 3.372-5.317 7.64-5.317 12.668 0 4.444 1.384 8.124 4.388 10.916 2.942 2.736 7.272 4.461 12.867 5.42 3.506.633 5.444 1.322 6.499 2.075.489.35.756.692.915 1.035.166.356.265.815.265 1.462 0 1.07-.371 1.74-.971 2.192-.667.505-1.813.884-3.578.884-2.092 0-3.421-.47-4.218-1.146-.757-.641-1.271-1.667-1.312-3.344l-.039-1.596h-15.846l.05 1.685c.159 5.358 2.166 9.867 5.877 13.015 3.687 3.127 8.885 4.769 15.194 4.769 5.793 0 11-1.433 14.795-4.44 3.845-3.045 6.081-7.583 6.081-13.393 0-4.478-1.198-8.244-4.18-11.127-2.922-2.824-7.352-4.597-13.378-5.602m49.031-19.557h15.935v53.04h-13.939l-.578-3.818a14.3 14.3 0 0 1-3.429 2.776c-2.481 1.435-5.402 2.122-8.721 2.122-5.644 0-10.14-1.916-13.193-5.554-3.015-3.594-4.444-8.656-4.444-14.635v-33.93h16.033v31.084c0 2.823.563 4.655 1.421 5.754.798 1.023 2.034 1.64 4.011 1.64 2.019 0 3.663-.788 4.847-2.338 1.222-1.6 2.057-4.152 2.057-7.805zm1.088 47.049a16.4 16.4 0 0 0 1.333-2.123l.982 6.478h10.896V23.526h-12.663v26.7c0 7.755-3.534 11.78-8.54 11.78-4.712 0-7.068-3.044-7.068-9.031V23.526h-12.761v32.295c0 11.485 5.497 18.553 16.001 18.553 5.239 0 9.139-1.832 11.82-5.435M353.806 0h15.935v24.893c3.445-2.756 7.957-4.083 13.383-4.083 7.14 0 13.085 2.652 17.816 8.014 4.71 5.339 6.986 11.823 6.986 19.537 0 7.725-2.38 14.304-7.084 19.635-4.728 5.359-10.672 8.014-17.718 8.014-6.009 0-10.983-1.803-14.72-5.519l-.653 4.44h-13.945zm13.514 66.62q.654.96 1.388 1.804c3.479 3.988 8.306 5.95 14.416 5.95 6.577 0 12.074-2.454 16.491-7.46 4.418-5.007 6.675-11.19 6.675-18.553 0-7.362-2.159-13.448-6.577-18.454-4.417-5.007-9.914-7.46-16.589-7.46q-8.583 0-13.383 4.623a15.5 15.5 0 0 0-1.636 1.855V1.636h-12.663v71.658h10.896zm24.082-18.259c0-7.473-4.89-12.303-10.928-12.303-2.876 0-5.412 1.083-7.58 3.251-2.099 2.099-3.255 4.903-3.349 8.778v.569c0 3.882 1.165 6.868 3.251 8.953 2.139 2.14 4.664 3.153 7.678 3.153 6.121 0 10.928-4.813 10.928-12.401m-23.493-.294v.589c0 4.22 1.276 7.656 3.73 10.11s5.399 3.632 8.835 3.632c7.166 0 12.564-5.693 12.564-14.037 0-8.246-5.497-13.939-12.564-13.939-3.338 0-6.283 1.276-8.737 3.73s-3.73 5.694-3.828 9.914\",\n clipRule: \"evenodd\"\n})));\nexport default SvgLogo;","import React from 'react'\nimport { Navigate, Outlet } from 'react-router-dom'\n\nconst PublicRoute: React.FC = () => {\n const isAuthorized = window.Checksub.cookies.get('authorized')\n\n if (isAuthorized) {\n return \n }\n\n return \n}\n\nexport default PublicRoute","import React from 'react'\nimport { Navigate, Outlet } from 'react-router-dom'\n\nconst PrivateRoute: React.FC = () => {\n const isAuthorized = window.Checksub.cookies.get('authorized')\n const onboardingState = window.Checksub.cookies.get('onboarding')\n\n if (!isAuthorized) {\n return \n }\n\n const onboardingPage = window.location.pathname === '/onboarding'\n const canRenderNonOnboardingPages = onboardingState === 'processed'\n\n if (onboardingPage && canRenderNonOnboardingPages) {\n return \n }\n\n return (\n \n )\n}\n\nexport default PrivateRoute","import React from 'react'\n\nimport './NoMatch.scss'\n\ninterface NoMatchProps {}\n\nconst NoMatch: React.FC = _props => {\n return(\n

404 page, oops...

\n )\n}\n\nexport default NoMatch\n","var _rect, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgProfile = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 54,\n height: 54,\n fill: \"none\"\n}, props), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 54,\n height: 54,\n fill: \"#000\",\n rx: 27\n})), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M27.438 12.938c-8.004 0-14.5 6.495-14.5 14.5 0 8.003 6.495 14.5 14.5 14.5 8.003 0 14.5-6.497 14.5-14.5s-6.497-14.5-14.5-14.5m0 4.35a4.344 4.344 0 0 1 4.35 4.35 4.344 4.344 0 0 1-4.35 4.35 4.344 4.344 0 0 1-4.35-4.35 4.344 4.344 0 0 1 4.35-4.35m0 20.59a10.44 10.44 0 0 1-8.7-4.67c.043-2.885 5.8-4.465 8.7-4.465 2.885 0 8.656 1.58 8.7 4.466a10.44 10.44 0 0 1-8.7 4.668\"\n})));\nexport default SvgProfile;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgHome = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"m12 5.69 5 4.5V18h-2v-6H9v6H7v-7.81zM12 3 2 12h3v8h6v-6h2v6h6v-8h3z\"\n})));\nexport default SvgHome;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgLogout = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F03738\",\n d: \"m6.408 10.992 1.175 1.175L11.75 8 7.583 3.833 6.408 5.008l2.15 2.159H.5v1.666h8.058zM13.833.5H2.167C1.242.5.5 1.25.5 2.167V5.5h1.667V2.167h11.666v11.666H2.167V10.5H.5v3.333c0 .917.742 1.667 1.667 1.667h11.666c.917 0 1.667-.75 1.667-1.667V2.167C15.5 1.25 14.75.5 13.833.5\"\n})));\nexport default SvgLogout;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgVocabulary = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 12,\n height: 17,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C2C9D1\",\n d: \"M6 10.5A2.49 2.49 0 0 0 8.492 8L8.5 3C8.5 1.617 7.383.5 6 .5A2.497 2.497 0 0 0 3.5 3v5c0 1.383 1.117 2.5 2.5 2.5M10.417 8c0 2.5-2.117 4.25-4.417 4.25S1.583 10.5 1.583 8H.167c0 2.85 2.266 5.192 5 5.6v2.733h1.666V13.6c2.734-.4 5-2.75 5-5.6z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000\",\n fillOpacity: 0.25,\n d: \"M6 10.5A2.49 2.49 0 0 0 8.492 8L8.5 3C8.5 1.617 7.383.5 6 .5A2.497 2.497 0 0 0 3.5 3v5c0 1.383 1.117 2.5 2.5 2.5M10.417 8c0 2.5-2.117 4.25-4.417 4.25S1.583 10.5 1.583 8H.167c0 2.85 2.266 5.192 5 5.6v2.733h1.666V13.6c2.734-.4 5-2.75 5-5.6z\"\n})));\nexport default SvgVocabulary;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgChannels = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 11,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEC\",\n d: \"M2.497.141C1.155.141.074 1.274.074 2.68v5.44c0 1.406 1.081 2.539 2.423 2.539h9.001c1.343 0 2.423-1.133 2.423-2.539V2.68c0-1.406-1.08-2.539-2.423-2.539zm3.116 2.902L9.421 5.4 5.613 7.757z\"\n})));\nexport default SvgChannels;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgSubscription = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C2C9D1\",\n d: \"M7 3.333v-2.5L3.667 4.167 7 7.5V5c2.758 0 5 2.242 5 5 0 .842-.208 1.642-.583 2.333l1.216 1.217A6.6 6.6 0 0 0 13.667 10 6.665 6.665 0 0 0 7 3.333M7 15c-2.758 0-5-2.242-5-5 0-.842.208-1.642.583-2.333L1.367 6.45A6.6 6.6 0 0 0 .333 10 6.665 6.665 0 0 0 7 16.667v2.5l3.333-3.334L7 12.5z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000\",\n fillOpacity: 0.25,\n d: \"M7 3.333v-2.5L3.667 4.167 7 7.5V5c2.758 0 5 2.242 5 5 0 .842-.208 1.642-.583 2.333l1.216 1.217A6.6 6.6 0 0 0 13.667 10 6.665 6.665 0 0 0 7 3.333M7 15c-2.758 0-5-2.242-5-5 0-.842.208-1.642.583-2.333L1.367 6.45A6.6 6.6 0 0 0 .333 10 6.665 6.665 0 0 0 7 16.667v2.5l3.333-3.334L7 12.5z\"\n})));\nexport default SvgSubscription;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgGuidelines = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n fillRule: \"evenodd\",\n d: \"M1.255 8.418a8.887 8.887 0 1 1 17.49 3.164.555.555 0 1 0 1.094.198c.983-5.434-2.625-10.636-8.06-11.619C6.347-.822 1.145 2.787.162 8.221c-.983 5.433 2.626 10.635 8.06 11.618a9.96 9.96 0 0 0 4.453-.203 1.389 1.389 0 1 0-.452-1.03A8.887 8.887 0 0 1 1.255 8.417M9.167 2.5a1.389 1.389 0 1 0 1.266 1.961 5.554 5.554 0 1 1-5.456 3.17.556.556 0 0 0-1.005-.475 6.665 6.665 0 1 0 6.474-3.808 1.39 1.39 0 0 0-1.28-.848M10 7.778a2.222 2.222 0 1 0 0 4.444 2.222 2.222 0 0 0 0-4.444M6.667 10a3.333 3.333 0 1 1 6.666 0 3.333 3.333 0 0 1-6.666 0\",\n clipRule: \"evenodd\"\n})));\nexport default SvgGuidelines;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgTermbases = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M16.786 0H3.214C1.442 0 0 1.414 0 3.152v12.743c0 1.739 1.442 3.153 3.214 3.153h13.57c1.773 0 3.215-1.414 3.215-3.153L20 3.152C20 1.414 18.558 0 16.786 0M3.214 1.285l13.572.215c1.181 0 1.714.494 1.714 1.652V5.5h-17V3c0-1.159.533-1.715 1.714-1.715M18.5 7v4.5h-17V7zm-1.715 10.5H3.215c-1.182 0-1.715-.446-1.715-1.605V13.05h17v2.846c0 1.159-.534 1.605-1.715 1.605M15.569 3.525c0-.49.405-.886.903-.886.499 0 .903.396.903.886s-.405.885-.903.885a.895.895 0 0 1-.903-.885m0 5.999c0-.49.405-.886.903-.886.499 0 .903.397.903.886 0 .49-.405.885-.903.885a.895.895 0 0 1-.903-.885m1.806 5.999c0 .49-.405.885-.903.885a.895.895 0 0 1-.903-.885c0-.49.405-.886.903-.886.499 0 .903.396.903.886\"\n})));\nexport default SvgTermbases;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgBilling = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillOpacity: 0.75,\n d: \"M22 6v12q0 .825-.587 1.413A1.93 1.93 0 0 1 20 20H4q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18V6q0-.824.588-1.412A1.92 1.92 0 0 1 4 4h16q.825 0 1.413.588Q22 5.175 22 6M4 8h16V6H4zm0 4v6h16v-6zm0 6V6z\"\n})));\nexport default SvgBilling;","import React from 'react'\nimport { Link } from 'react-router-dom'\n\nimport HomeIcon from '@Images/home.svg'\nimport LogoutIcon from '@Images/logout.svg'\nimport VocabularyIcon from '@Images/vocabulary.svg'\nimport ChannelsIcon from '@Images/channels.svg'\nimport SubscriptionIcon from '@Images/subscription.svg'\nimport GuidelinesIcon from '@Images/guidelines.svg'\nimport TermbasesIcon from '@Images/termbases.svg'\nimport Help from '@Images/help.svg'\nimport Billing from '@Images/billing.svg'\n\nimport './ProfileDropdown.scss'\n\nconst ENTERPRISE_OR_CUSTOM_SUBSCRIPTION_PLAN_NAME_PARTS = ['enterprise', 'custom']\n\ninterface ProfileDropdownProps {\n readonly hasExternalChannels: boolean\n readonly subscriptionIsCurrent: boolean\n readonly subscriptionPlan: string\n readonly usingPersonalSubscription: boolean\n createCustomerPortalSession(): void\n logout(payload: string): {}\n}\n\nconst ProfileDropdown: React.FC = props => {\n const {\n hasExternalChannels,\n subscriptionIsCurrent,\n subscriptionPlan,\n usingPersonalSubscription,\n } = props\n\n const logout = () => {\n props.logout('/users/sign_in')\n }\n\n const openHelp = () => {\n window.open('https://support.checksub.com', '_blank')\n }\n\n const pathForChannels = hasExternalChannels ? '/channels/manage' : '/channels/new'\n const hasEnterpriseOrCustomSubscription = ENTERPRISE_OR_CUSTOM_SUBSCRIPTION_PLAN_NAME_PARTS.includes(subscriptionPlan.split('_')[0])\n const shouldRenderSubscriptionAndBilling = usingPersonalSubscription && (!hasEnterpriseOrCustomSubscription || !subscriptionIsCurrent)\n const shouldRenderChannels = subscriptionIsCurrent\n\n return (\n
\n
\n
    \n
  • \n \n \n Dashboard\n \n
  • \n {shouldRenderChannels && (\n
  • \n \n \n Channels\n \n
  • \n )}\n
  • \n \n \n Guidelines\n \n
  • \n
  • \n \n \n Term bases\n \n
  • \n
  • \n \n \n Custom vocabularies\n \n
  • \n {shouldRenderSubscriptionAndBilling && (\n \n
  • \n \n \n Subscription\n \n
  • \n
  • \n
    \n \n Billing\n
    \n
  • \n
    \n )}\n
  • \n
    \n \n Help center\n
    \n
  • \n
\n
\n \n Logout\n
\n
\n
\n )\n}\n\nexport default ProfileDropdown\n","import React, { useState } from 'react'\nimport ProfileIcon from '@Images/profile.svg'\nimport ProfileDropdown from '@SiteComponents/ProfileDropdown'\nimport useClickOutsideListener from '@Utils/UseClickOutsideListener'\nimport classnames from 'classnames'\n\nimport './ProfileButton.scss'\n\ninterface ProfileButtonProps {\n readonly hasExternalChannels: boolean\n readonly subscriptionIsCurrent: boolean\n readonly subscriptionPlan: string\n readonly disabled?: boolean\n readonly usingPersonalSubscription: boolean\n createCustomerPortalSession(): void\n logout(payload: string): {}\n}\n\nconst ProfileButton: React.FC = props => {\n const {\n hasExternalChannels,\n subscriptionIsCurrent,\n subscriptionPlan,\n disabled,\n usingPersonalSubscription,\n createCustomerPortalSession,\n logout,\n } = props\n\n const [openProfileDropdown, setOpenProfileDropdown] = useState(false)\n\n useClickOutsideListener('ProfileButton', setOpenProfileDropdown, openProfileDropdown)\n\n const toggleShowingProfileDropdown = () => {\n if (props.disabled) { return }\n\n setOpenProfileDropdown(!openProfileDropdown)\n }\n\n return(\n \n \n {openProfileDropdown && (\n \n )}\n
\n )\n}\n\nexport default ProfileButton\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport { Link } from 'react-router-dom'\nimport classnames from 'classnames'\nimport LogoIcon from '@Images/logo.svg'\nimport ProfileButton from '@SiteComponents/ProfileButton'\nimport formattedCreditsWithHoursShort from '@Utils/FormattedCreditsWithHoursShort'\n\nimport {\n logout,\n createCustomerPortalSession,\n} from '@SiteModules/User/actions'\n\nimport './Header.scss'\n\ninterface HeaderProps {\n readonly hasExternalChannels: boolean\n readonly subscriptionIsCurrent: boolean\n readonly subscriptionPlan: string\n readonly availableTotalCredits: number\n readonly hasLoadedSubscriptionInfoSuccessfully: boolean\n readonly cancelAtPeriodEnd: boolean\n readonly renewalDate: string\n readonly usingPersonalSubscription: boolean\n readonly shouldNotLinkToDashboard?: boolean\n readonly shouldDisableProfileButton?: boolean\n readonly hideCredits?: boolean\n readonly hideSalesLink?: boolean\n createCustomerPortalSession(): void\n logout(payload: string): {}\n}\n\ninterface HeaderState {\n readonly showInfoForCredits: boolean\n readonly infoForCreditsTimeout: ReturnType | null\n}\n\nclass Header extends React.Component {\n constructor(props: HeaderProps) {\n super(props)\n\n this.state = {\n showInfoForCredits: false,\n infoForCreditsTimeout: null,\n }\n }\n\n toggleShowInfoForCredits = () => {\n if (this.state.infoForCreditsTimeout) {\n this.setState({ showInfoForCredits: false })\n clearTimeout(this.state.infoForCreditsTimeout)\n this.setState({ infoForCreditsTimeout: null })\n } else {\n const infoForCreditsTimeout = setTimeout(() => {\n this.setState({ showInfoForCredits: true })\n }, window.Checksub.tooltipDelay)\n this.setState({ infoForCreditsTimeout })\n }\n }\n\n render() {\n const {\n hasExternalChannels,\n subscriptionIsCurrent,\n availableTotalCredits,\n hasLoadedSubscriptionInfoSuccessfully,\n cancelAtPeriodEnd,\n renewalDate,\n subscriptionPlan,\n shouldNotLinkToDashboard,\n shouldDisableProfileButton,\n usingPersonalSubscription,\n hideCredits,\n hideSalesLink,\n } = this.props\n\n const isAuthorized = window.Checksub.cookies.get('authorized')\n const shouldRenderSubscriptionCredits = hasLoadedSubscriptionInfoSuccessfully && subscriptionIsCurrent\n const shouldShowInfoForCredits = this.state.showInfoForCredits && !cancelAtPeriodEnd\n\n const renderSubscriptionCredits = () => {\n return (\n
\n \n Credits : {formattedCreditsWithHoursShort(availableTotalCredits)}\n
\n {shouldShowInfoForCredits && (\n
\n Plan will be renewed on {renewalDate}\n
\n )}\n
\n )\n }\n\n return (\n
\n {shouldNotLinkToDashboard ? (\n \n ) : (\n \n \n \n )}\n\n {!hideSalesLink && (\n \n Contact Sales\n \n )}\n\n
\n {!hideCredits && renderSubscriptionCredits()}\n {isAuthorized && (\n \n )}\n
\n
\n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { user, channelsTable, subscription } = state\n\n return {\n hasExternalChannels: channelsTable.externalChannels.length > 0,\n subscriptionIsCurrent: user.subscription.attributes.isCurrent,\n subscriptionPlan: user.subscription.attributes.plan,\n availableTotalCredits: user.user.attributes.availableTotalCredits,\n hasLoadedSubscriptionInfoSuccessfully: subscription.hasLoadedSuccessfully,\n cancelAtPeriodEnd: user.subscription.attributes.cancelAtPeriodEnd,\n renewalDate: user.subscription.attributes.renewalDate,\n usingPersonalSubscription: user.user.attributes.usingPersonalSubscription,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n logout,\n createCustomerPortalSession,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Header)\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgDelete = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z\"\n})));\nexport default SvgDelete;","import React, { useState } from 'react'\nimport Delete from '@Images/delete.svg'\n\nimport {\n IElement,\n IDeleteElementPayload,\n IGetAffectedProjectVersionsPayload,\n} from './types'\n\ninterface AssetProps {\n readonly element: IElement\n getAffectedProjectVersions(payload: IGetAffectedProjectVersionsPayload): void\n deleteElement(payload: IDeleteElementPayload): void\n}\n\nconst Asset: React.FC = props => {\n const [showInfoForId, setShowInfoForId] = useState(false)\n const [infoForIdTimeout, setInfoForIdTimeout] = useState | null>(null)\n const [shouldShowActionTools, setShouldShowActionTools] = useState(false)\n\n const { element } = props\n const shouldShowColoredThumbnail = !element.attributes.thumbnailUrl\n\n const toggleShowInfoForId = () => {\n if (infoForIdTimeout) {\n setShowInfoForId(false)\n clearTimeout(infoForIdTimeout)\n setInfoForIdTimeout(null)\n } else {\n const newInfoForIdTimeout = setTimeout(() => {\n setShowInfoForId(true)\n }, window.Checksub.tooltipDelay)\n setInfoForIdTimeout(newInfoForIdTimeout)\n }\n }\n\n const showActionTools = () => {\n setShouldShowActionTools(true)\n }\n\n const hideActionTools = () => {\n setShouldShowActionTools(false)\n }\n\n const handleMouseEnterLength = () => {\n showActionTools()\n toggleShowInfoForId()\n }\n\n const handleMouseLeaveLength = () => {\n hideActionTools()\n toggleShowInfoForId()\n }\n\n // This opens the popup to confirm the deletion. Commented temporarily.\n // const getAffectedProjectVersions = () => {\n // props.getAffectedProjectVersions({ elementId: element.id })\n // }\n\n const deleteElement = () => {\n props.deleteElement({ elementId: props.element.id })\n }\n\n return (\n \n \n {shouldShowColoredThumbnail ? (\n \n ) : (\n \n )}\n \n \n

\n {element.attributes.title}\n

\n \n \n {element.attributes.duration}\n {showInfoForId &&\n
\n Element id: {element.id.slice(0, 6)}\n
\n }\n \n \n {element.attributes.createdAt}\n \n \n {element.attributes.kind}\n \n \n {element.attributes.size}\n \n \n {shouldShowActionTools && (\n \n )}\n \n \n )\n}\n\nexport default Asset\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgLeft = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"m15.41 16.09-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n})));\nexport default SvgLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgRight = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"m8.59 16.34 4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n})));\nexport default SvgRight;","import React from 'react'\nimport classnames from 'classnames'\nimport PaginationLeft from '@Images/left.svg'\nimport PaginationRight from '@Images/right.svg'\n\nimport './Pagination.scss'\n\ninterface PaginationProps {\n readonly totalCount: number\n readonly totalPages: number\n readonly currentPage: number\n readonly itemsPerPage: number\n increasePageCount(): void\n decreasePageCount(): void\n}\n\nconst Pagination: React.FC = props => {\n const { totalCount, currentPage, totalPages, itemsPerPage } = props\n\n const min = (currentPage - 1) * itemsPerPage + 1\n const max = Math.min(currentPage * itemsPerPage, totalCount)\n\n const decreasePageCount = () => {\n if (currentPage > 1) {\n props.decreasePageCount()\n }\n }\n\n const increasePageCount = () => {\n if (currentPage < totalPages) {\n props.increasePageCount()\n }\n }\n\n return (\n
\n \n {`${min}-${max} of ${totalCount} items`}\n \n \n \n \n \n \n \n
\n )\n}\n\nexport default Pagination\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Action, Dispatch, bindActionCreators } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport 'toastr/build/toastr.css'\nimport Loader from '@SiteComponents/Loader'\nimport EmptyDashboard from '@Images/empty_dashboard.jpg'\nimport Asset from './Asset'\nimport Pagination from '@SiteComponents/Pagination'\n\nimport './AssetsTable.scss'\n\nimport {\n increasePageCount,\n decreasePageCount,\n getAffectedProjectVersions,\n deleteElement,\n} from './actions'\n\nimport {\n IElement,\n IGetAffectedProjectVersionsPayload,\n IDeleteElementPayload,\n} from './types'\n\nconst ELEMENTS_PER_PAGE = 10\n\ninterface AssetsTableState {\n}\n\ninterface AssetsTableProps {\n readonly elements: IElement[]\n readonly totalCount: number\n readonly totalPages: number\n readonly currentPage: number\n readonly loading: boolean\n increasePageCount(): void\n decreasePageCount(): void\n getAffectedProjectVersions(payload: IGetAffectedProjectVersionsPayload): void\n deleteElement(payload: IDeleteElementPayload): void\n}\n\nclass AssetsTable extends React.Component {\n\n renderLoader() {\n const { loading } = this.props\n\n if (!loading) { return }\n\n return(\n \n )\n }\n\n renderAssets() {\n const {\n elements,\n totalCount,\n totalPages,\n currentPage,\n } = this.props\n\n return (\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n {elements.map((element, index) => {\n return (\n \n )\n })}\n \n
\n TitleLengthUploadedTypeSize\n
\n
\n )\n }\n\n renderBlankPage() {\n return(\n
\n

\n 👋 Blank Page Syndrome?\n
\n Start by uploading your first video\n or connecting a new channel.\n

\n\n \n
\n )\n }\n\n render() {\n const { elements, loading } = this.props\n const shouldRenderAssets = !!elements.length\n const statusOfAssets = loading ? 'loading' : 'loaded'\n const shouldRenderLoader = loading\n const shouldRenderBlankPage = !elements.length\n\n return (\n
\n {this.renderLoader()}\n\n
\n {shouldRenderLoader ? (\n \n ) : (\n \n {shouldRenderAssets && this.renderAssets()}\n {shouldRenderBlankPage && this.renderBlankPage()}\n \n )}\n
\n
\n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { assetsTable} = state\n\n return {\n elements: assetsTable.elements,\n loading: assetsTable.loading,\n totalCount: assetsTable.totalCount,\n totalPages: assetsTable.totalPages,\n currentPage: assetsTable.currentPage,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n increasePageCount,\n decreasePageCount,\n getAffectedProjectVersions,\n deleteElement,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AssetsTable)\n","import React, { ReactElement } from 'react'\nimport Loader from '@SiteComponents/Loader'\n\nimport './Button.scss'\n\ninterface ButtonProps {\n readonly color: string\n readonly caption: ReactElement | string\n readonly disabled?: boolean\n readonly showSpinner?: boolean\n readonly type?: 'button' | 'submit' | 'reset' | undefined\n onClick?(): void\n}\n\nconst Button: React.FC = props => {\n const onClick = () => {\n if (!props.onClick) { return }\n\n props.onClick()\n }\n\n return (\n \n {props.showSpinner ? (\n \n ) : (\n props.caption\n )}\n \n )\n}\n\nexport default Button\n","import React, { useState } from 'react'\nimport capitalize from 'lodash/capitalize'\nimport Button from '@SiteComponents/Button'\nimport classnames from 'classnames'\n\nimport {\n IExternalVideo\n} from './types'\n\nimport {\n ISubmitUrlsPayload\n} from '@EditorModules/Element/types'\n\ninterface ChannelsItemProps {\n readonly externalVideo: IExternalVideo\n readonly loading: boolean\n submitUrls(payload: ISubmitUrlsPayload): void\n}\n\nconst ChannelsItem: React.FC = props => {\n const { externalVideo, loading } = props\n\n const [showButton, setShowButton] = useState(false)\n const [showInfo, setShowInfo] = useState(false)\n const [infoTimeout, setInfoTimeout] = useState | null>(null)\n\n const shouldShowColoredThumbnail = !externalVideo.thumbnailUrl\n const shouldDisableNewProjectButton = loading || !externalVideo.canBeDownloaded || !externalVideo.isReady\n\n const createNewProject = () => {\n props.submitUrls({ urls: [externalVideo.downloadUrl] })\n }\n\n const enableShowButton = () => {\n setShowButton(true)\n }\n\n const disableShowButton = () => {\n setShowButton(false)\n if (infoTimeout) {\n setShowInfo(false)\n clearTimeout(infoTimeout)\n setInfoTimeout(null)\n }\n }\n\n\n const toggleShowInfo = () => {\n if (infoTimeout) {\n setShowInfo(false)\n clearTimeout(infoTimeout)\n setInfoTimeout(null)\n } else {\n const newInfoTimeout = setTimeout(() => {\n setShowInfo(true)\n }, window.Checksub.tooltipDelay)\n setInfoTimeout(newInfoTimeout)\n }\n }\n\n return (\n \n \n {shouldShowColoredThumbnail ? (\n \n ) : (\n \n )}\n \n \n

\n {externalVideo.title}\n

\n \n \n {externalVideo.length}\n \n \n {externalVideo.createdAt}\n \n \n {capitalize(externalVideo.service)}\n \n \n {externalVideo.externalChannelName}\n \n \n
\n \n
\n\n {showInfo && (!externalVideo.canBeDownloaded || !externalVideo.isReady) && (\n
\n {!externalVideo.canBeDownloaded && 'Only PUBLIC and UNLISTED videos can be used'}\n {externalVideo.canBeDownloaded && !externalVideo.isReady && 'This video is still being uploaded/transcoded. Wait a moment then refresh the page'}\n
\n )}\n \n \n )\n}\n\nexport default ChannelsItem\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Action, Dispatch, bindActionCreators } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport toastr from 'toastr'\nimport 'toastr/build/toastr.css'\nimport Loader from '@SiteComponents/Loader'\nimport EmptyDashboard from '@Images/empty_dashboard.jpg'\nimport ChannelsItem from './ChannelsItem'\nimport Pagination from '@SiteComponents/Pagination'\n\nimport './ChannelsTable.scss'\n\nimport {\n IExternalVideo,\n IExternalChannel\n} from './types'\n\nimport {\n ISubmitUrlsPayload\n} from '@SiteModules/Element/types'\n\nimport {\n submitUrls\n} from '@SiteModules/Element/actions'\n\nimport {\n increasePageCount,\n decreasePageCount\n} from './actions'\n\ninterface ChannelsTableProps {\n readonly externalChannels: IExternalChannel[]\n readonly externalVideos: IExternalVideo[]\n readonly loading: boolean\n readonly uploading: boolean\n readonly totalCount: number\n readonly totalPages: number\n readonly videosPerPage: number\n readonly currentPage: number\n submitUrls(payload: ISubmitUrlsPayload): void\n increasePageCount(): void\n decreasePageCount(): void\n}\n\ninterface ChannelsTableState {\n}\n\nclass ChannelsTable extends React.Component {\n\n renderLoader() {\n const { loading } = this.props\n\n if (!loading) { return }\n\n return(\n \n )\n }\n\n renderExternalVideos() {\n const {\n externalVideos,\n uploading,\n totalCount,\n totalPages,\n currentPage,\n videosPerPage\n } = this.props\n\n const startIndex = (currentPage - 1) * videosPerPage\n const endIndex = startIndex + videosPerPage\n\n return (\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n {externalVideos.slice(startIndex, endIndex).map((externalVideo, index) => {\n return(\n \n )\n })}\n \n
\n TitleLengthPublishedPlatformChannel\n
\n
\n )\n }\n\n renderBlankPage() {\n return(\n
\n

\n 👋 Blank Page Syndrome?\n
\n Start by uploading your first video\n or connecting a new channel.\n

\n\n \n
\n )\n }\n\n render() {\n const { externalChannels, externalVideos, loading } = this.props\n const shouldRenderExternalVideos = !!externalVideos.length\n const statusOfExternalVideos = loading ? 'loading' : 'loaded'\n const shouldRenderLoader = loading\n const shouldRenderBlankPage = !externalVideos.length\n\n if (externalChannels.some((channel) => { return !channel.valid })) {\n toastr.error('Some of your channels are disconnected. You can refresh the access in the channels settings in your profile.', 'Error', { closeButton: true, timeOut: 0, extendedTimeOut: 0, preventDuplicates: true })\n }\n\n return (\n
\n {this.renderLoader()}\n\n
\n {shouldRenderLoader ? (\n \n ) : (\n \n {shouldRenderExternalVideos && this.renderExternalVideos()}\n {shouldRenderBlankPage && this.renderBlankPage()}\n \n )}\n
\n
\n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { channelsTable, elements } = state\n\n return {\n externalChannels: channelsTable.externalChannels,\n externalVideos: channelsTable.externalVideos,\n loading: channelsTable.loadingVideos,\n totalCount: channelsTable.totalCount,\n totalPages: channelsTable.totalPages,\n currentPage: channelsTable.currentPage,\n videosPerPage: channelsTable.videosPerPage,\n uploading: elements.uploading\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n submitUrls,\n increasePageCount,\n decreasePageCount\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ChannelsTable)\n","import React from 'react'\nimport router from '@Site/Router'\n\nimport './ConnectChannelButton.scss'\n\ninterface ConnectChannelButtonProps {}\n\nconst ConnectChannelButton: React.FC = _props => {\n const onClick = () => {\n router.navigate('/channels/new')\n }\n\n return (\n \n + Connect a Channel\n
\n )\n}\n\nexport default ConnectChannelButton\n","import {\n DashboardMenuActionTypes,\n IChangeTabPayload\n} from './types'\n\nexport const changeTab = (payload: IChangeTabPayload) => ({\n type: DashboardMenuActionTypes.CHANGE_TAB,\n payload\n})\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport map from 'lodash/map'\nimport classnames from 'classnames'\nimport ConnectChannelButton from '@SiteComponents/ConnectChannelButton'\nimport getParamValueFromUrl from '@Utils/GetParamValueFromUrl'\nimport router from '@Site/Router'\n\nimport {\n getExternalVideos\n} from '@SiteContainers/ChannelsTable/actions'\n\nimport './DashboardMenu.scss'\n\nimport {\n IChangeTabPayload\n} from './types'\n\nimport {\n changeTab\n} from './actions'\n\nimport {\n IElement\n} from '@SiteContainers/AssetsTable/types'\n\nimport {\n getElements\n} from '@SiteContainers/AssetsTable/actions'\n\nconst ASSETS_MENU_ITEM = 'Assets'\nconst PROJECTS_MENU_ITEM = 'Projects'\nconst CHANNELS_MENU_ITEM = 'Channels'\n\ninterface DashboardMenuProps {\n readonly currentTab: string\n readonly areChannelsLoading: boolean\n readonly areVideosLoading: boolean\n readonly hasLoadedVideosOnce: boolean\n readonly hasExternalChannels: boolean\n readonly hasSubscription: boolean\n readonly elements: IElement[]\n readonly areElementsLoading: boolean\n readonly userHasActiveElements: boolean\n getExternalVideos(): void\n getElements(): void\n changeTab(payload: IChangeTabPayload): void\n}\n\ninterface DashboardMenuState {\n}\n\nclass DashboardMenu extends React.Component {\n componentDidMount() {\n const shouldShowAssets = getParamValueFromUrl(window.location.href, 'showAssets') === 'true'\n\n if (shouldShowAssets) {\n this.props.getElements()\n this.props.changeTab({ newTab: 'assets' })\n }\n }\n\n getMenuItems = () => {\n const menuItems = [PROJECTS_MENU_ITEM]\n\n if (this.props.hasSubscription && !this.props.areChannelsLoading) {\n menuItems.push(CHANNELS_MENU_ITEM)\n }\n\n if (this.props.userHasActiveElements) {\n menuItems.push(ASSETS_MENU_ITEM)\n }\n\n return menuItems\n }\n\n getTabList = (currentTab: string) => {\n return map(this.getMenuItems(), (value, index) => {\n const isCurrentTab= value.toLowerCase() === currentTab\n const handleChangeTab = () => {\n const newTab = value.toLowerCase()\n const tabChanged = currentTab !== newTab\n if (tabChanged) {\n if (newTab === 'channels' && !this.props.areChannelsLoading && !this.props.hasExternalChannels) {\n router.navigate('/channels/new')\n } else {\n if (newTab === 'channels' && !this.props.hasLoadedVideosOnce && !this.props.areVideosLoading) {\n this.props.getExternalVideos()\n }\n\n if (newTab === 'assets' && !this.props.areElementsLoading) {\n this.props.getElements()\n }\n\n this.props.changeTab({ newTab })\n }\n }\n }\n\n return (\n \n {value}\n \n )\n })\n }\n\n render() {\n const { currentTab } = this.props\n const isCurrentTabChannels = currentTab === 'channels'\n\n return (\n
\n
    \n {this.getTabList(currentTab)}\n
\n {isCurrentTabChannels && (\n \n )}\n
\n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { dashboardMenu, user, channelsTable, assetsTable } = state\n const hasSubscription = user.subscription.attributes.isCurrent\n\n return {\n currentTab: dashboardMenu.currentTab,\n areChannelsLoading: channelsTable.loadingChannels,\n areVideosLoading: channelsTable.loadingVideos,\n hasLoadedVideosOnce: channelsTable.hasLoadedVideosOnce,\n hasExternalChannels: channelsTable.externalChannels.length > 0,\n elements: assetsTable.elements,\n areElementsLoading: assetsTable.loading,\n userHasActiveElements: user.user.attributes.hasActiveElements,\n hasSubscription\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n changeTab,\n getExternalVideos,\n getElements\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DashboardMenu)\n","import React from 'react'\nimport CloseIconForLightMode from '@Images/close.svg'\nimport CloseIconForDarkMode from '@Images/close_dark.svg'\n\nimport './Popup.scss'\n\ninterface PopupProps {\n readonly isDark?: boolean\n readonly className?: string\n readonly children?: React.ReactNode\n closePopup?(): void\n}\n\nconst Popup: React.FC = props => {\n const renderCloseIcon = () => {\n return (\n \n {props.isDark ? (\n \n ) : (\n \n )}\n \n )\n }\n return (\n \n
\n
\n {props.closePopup && renderCloseIcon()}\n {props.children}\n
\n \n )\n}\n\nexport default Popup\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@SiteComponents/Popup'\nimport Button from '@SiteComponents/Button'\nimport Checkbox from '@EditorComponents/Checkbox'\n\nimport {\n IImportSrtPayload,\n} from './types'\n\nimport {\n importSrt,\n} from './actions'\n\nimport AttentionIcon from '@Images/attention.svg'\n\nimport './ImportSrtPopup.scss'\n\ninterface ImportSrtProps {\n readonly projectVersionId: string\n readonly loading: boolean\n readonly subtitleId: number\n closePopup(): void\n importSrt(payload: IImportSrtPayload): void\n}\n\ninterface ImportSrtState {\n enableSpeakerDiarization: boolean\n}\n\nclass ImportSrt extends React.Component {\n fileRef: React.RefObject\n\n constructor(props: ImportSrtProps) {\n super(props)\n\n this.fileRef = React.createRef()\n\n this.state = {\n enableSpeakerDiarization: false\n }\n }\n\n openFileManager = () => {\n if (!this.fileRef) { return }\n if (!this.fileRef.current) { return }\n\n this.fileRef.current.click()\n }\n\n uploadFile = (e: React.ChangeEvent) => {\n const files = (e.target as HTMLInputElement).files\n\n if (!files) { return }\n\n const fileSrt = files[0]\n\n const {\n projectVersionId,\n subtitleId,\n } = this.props\n\n const {\n enableSpeakerDiarization,\n } = this.state\n\n const payload = { fileSrt, projectVersionId, subtitleId, enableSpeakerDiarization }\n this.props.importSrt(payload)\n\n if (this.fileRef && this.fileRef.current) {\n this.fileRef.current.value = ''\n }\n }\n\n setEnableSpeakerDiarization = (enableSpeakerDiarization: boolean) => {\n this.setState({ enableSpeakerDiarization })\n }\n\n render() {\n const { closePopup, loading } = this.props\n\n return (\n \n
\n
Subtitle import
\n

\n \n Be careful, the import will erase the subtitles already created.\n

\n \n Speaker detection
\n \n Useful if you have more than 1 speaker and want dubbing\n \n \n )}\n />\n\n \n\n \n
\n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { projectVersionsList } = state\n\n return {\n loading: state.importSrt.loading,\n projectVersionId: projectVersionsList.editingProjectVersionIds[0],\n subtitleId: projectVersionsList.subtitleId,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n importSrt\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ImportSrt)\n","import React from 'react'\nimport Button from '@SiteComponents/Button'\nimport { ISubtitle } from '@SiteContainers/ProjectVersionsList/types'\nimport JSZip from 'jszip'\nimport saveAs from 'file-saver'\nimport axios from 'axios'\n\nimport './ExportationButtons.scss'\n\ninterface ExportationButtonsProps {\n readonly subtitles: ISubtitle[]\n readonly anyExportingSubtitleHasSpeakers: boolean\n}\n\nconst ZIP_FILENAME = 'Checksub.zip'\n\nconst ExportationButtons: React.FC = props => {\n const {\n subtitles,\n anyExportingSubtitleHasSpeakers,\n } = props\n\n const onlyOneSubtitleSelected = subtitles.length === 1\n\n const downloadUrl = (format: string, subtitleId: string): string => {\n return `/api/v1/subtitles/${subtitleId}/download?format=${format}`\n }\n\n const shouldAllowVideoExportation = subtitles[0].attributes.category !== 'manual'\n\n const redirectToEditor = () => {\n window.location.href = subtitles ? `/projects/${subtitles[0].attributes.projectId}/project_versions/${subtitles[0].attributes.projectVersionId}/subtitles/${subtitles[0].id}/edit?exportation=true` : ''\n }\n\n const downloadAsZipFile = (event: React.MouseEvent) => {\n const button = event.target as HTMLElement\n const format = button.innerText.toLowerCase()\n // Zip files: https://yashodgayashan.medium.com/zip-files-in-react-30fb77fd6a58\n const zip = new JSZip()\n\n const axiosCalls = subtitles.map(subtitle => {\n const url = getUrl(subtitle, format)\n\n return (\n axios.get(url, { responseType: 'blob' })\n )\n })\n\n Promise.all(axiosCalls).then(responses => {\n responses.forEach(response => {\n // Get the filename: https://stackoverflow.com/questions/50642065/get-a-file-name-before-saving-it\n const headerLine = response.headers['content-disposition']\n const startFileNameIndex = headerLine.indexOf('\"') + 1\n const endFileNameIndex = headerLine.lastIndexOf('\"')\n const filename = headerLine.substring(startFileNameIndex, endFileNameIndex)\n\n zip.file(filename, response.data)\n })\n\n zip.generateAsync({ type: 'blob' }).then(content => {\n saveAs(content, ZIP_FILENAME)\n })\n })\n }\n\n const getUrl = (subtitle: ISubtitle, format: string) => {\n let url = ''\n\n url = format === 'srt with speakers' ? (\n subtitle.attributes.hasSpeakers ? downloadUrl('srt_speaker_detection', subtitle.id) : downloadUrl('srt', subtitle.id)\n ) : (\n downloadUrl(format, subtitle.id)\n )\n\n return url\n }\n\n const renderButtonsForOneSelectedSubtitle = () => {\n return (\n
\n {shouldAllowVideoExportation && (\n \n )}\n SRT\n {anyExportingSubtitleHasSpeakers && (\n SRT with speakers\n )}\n VTT\n TTML\n CSV\n AVID\n ITT\n TXT\n TELETEXT\n ASS\n ASS with karaoke\n
\n )\n }\n\n const renderButtonsForMultipleSelectedSubtitles = () => {\n return (\n
\n SRT\n {anyExportingSubtitleHasSpeakers && (\n SRT with speakers\n )}\n VTT\n TTML\n CSV\n AVID\n ITT\n TXT\n TELETEXT\n ASS\n ASS with karaoke\n
\n )\n }\n\n return(\n
\n

Choose the file format to export

\n {onlyOneSubtitleSelected ? renderButtonsForOneSelectedSubtitle() : renderButtonsForMultipleSelectedSubtitles()}\n
\n )\n}\n\nexport default ExportationButtons\n","import filter from 'lodash/filter'\nimport some from 'lodash/some'\nimport find from 'lodash/find'\nimport map from 'lodash/map'\nimport every from 'lodash/every'\nimport capitalize from 'lodash/capitalize'\nimport { createSelector } from 'reselect'\n\nconst PROCESSED_SUBTITLE_STAGES = [\n 'New',\n 'Done',\n 'Waiting customer validation',\n 'Processed',\n 'Ready',\n 'Claim'\n]\n\nconst PROCESSING_SUBTITLE_STAGES = [\n 'processing',\n 'generating_voice',\n 'lip_syncing',\n 'separating_audio',\n 'generating_diarization'\n]\n\nimport {\n ISubtitle,\n IProjectVersionsListState,\n IProjectVersion,\n} from './types'\n\nexport const getFirstEditingProjectVersionId = (state: IProjectVersionsListState): string => state.editingProjectVersionIds.length > 0 ? state.editingProjectVersionIds[0] : ''\n\nexport const getSubtitles = (state: IProjectVersionsListState): ISubtitle[] => state.subtitles\n\nexport const getProjectVersions = (state: IProjectVersionsListState): IProjectVersion[] => state.projectVersions\n\nexport const getFirstEditingProjectVersionSubscriptionSubtitles = createSelector(\n [getFirstEditingProjectVersionId, getSubtitles],\n (editingProjectVersionId, subtitles) => filter(subtitles, subtitle => subtitle.attributes.category === 'subscription' && subtitle.attributes.projectVersionId === editingProjectVersionId)\n)\n\nexport const getProcessingOrExportingSubtitles = createSelector(\n [getSubtitles],\n (subtitles) => filter(subtitles,\n subtitle => PROCESSING_SUBTITLE_STAGES.includes(subtitle.attributes.stage) || subtitle.attributes.isExporting\n )\n)\n\nexport const getSubtitleIdsToUpdate = createSelector(\n [getProcessingOrExportingSubtitles],\n (processingOrExportingSubtitles) => processingOrExportingSubtitles.map(subtitle => parseInt(subtitle.id, 10))\n)\n\nexport const getDownloadingProjectVersions = createSelector(\n [getProjectVersions],\n (projectVersions) => filter(projectVersions, projectVersion => projectVersion.attributes.status === 'downloading')\n)\n\nexport const getProjectVersionIdsToUpdate = createSelector(\n [getDownloadingProjectVersions],\n (downloadingProjectVersions) => map(downloadingProjectVersions, projectVersion => projectVersion.id)\n)\n\nexport const getCurrentProcessedSubtitles = (state: IProjectVersionsListState): ISubtitle[] => {\n const { subtitles, subtitleIds } = state\n const currentProcessedSubtitles = filter(subtitles, (subtitle) => {\n const subtitleStage = capitalize(subtitle.attributes.stage.replace('_', ' '))\n const isProcessed = PROCESSED_SUBTITLE_STAGES.includes(subtitleStage)\n\n return(subtitleIds.includes(parseInt(subtitle.id, 10)) && isProcessed)\n })\n return currentProcessedSubtitles\n}\n\nexport const getAnyCurrentProcessedSubtitleHasSpeakers = createSelector(\n [getCurrentProcessedSubtitles],\n (currentProcessedSubtitles) => some(currentProcessedSubtitles, subtitle => subtitle.attributes.hasSpeakers)\n)\n\nexport const getDisabledProjectVersionsSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && selectedProjectVersion.attributes.isDisabled === true\n })\n}\n\nexport const getProjectVersionsWithoutAssetsSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && !selectedProjectVersion.attributes.hasAssets\n })\n}\n\nexport const getProjectVersionsThatBelongToManualProjectSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && selectedProjectVersion.attributes.belongsToManualProject\n })\n}\n\nexport const getProjectVersionsThatBelongToTtsProjectSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && selectedProjectVersion.attributes.belongsToTtsProject\n })\n}\n\nexport const getProjectVersionsWithLanguageSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && selectedProjectVersion.attributes.language\n })\n}\n\nexport const getProjectVersionsWithFreeCaptioningSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && selectedProjectVersion.attributes.hasBeenCaptionedForFree\n })\n}\n\nexport const getProjectVersionsWithAnySubscriptionSubtitlesSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && selectedProjectVersion.attributes.hasAnySubscriptionSubtitles\n })\n}\n\nexport const getProjectVersionsWithAtLeastOneProcessedSubtitleSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions, subtitles } = state\n return every(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n let selectedProjectVersionHasProcessedSubtitle = false\n if (selectedProjectVersion) {\n subtitles.forEach(subtitle => {\n const subtitleStage = capitalize(subtitle.attributes.stage.replace('_', ' '))\n const isProcessed = PROCESSED_SUBTITLE_STAGES.includes(subtitleStage)\n if (subtitle.attributes.projectVersionId === selectedProjectVersion.id && isProcessed){\n selectedProjectVersionHasProcessedSubtitle = true\n }\n })\n }\n\n return selectedProjectVersion && selectedProjectVersionHasProcessedSubtitle\n })\n}\n\nexport const getSubtitleIdsOfSelectedProjectVersions = (state: IProjectVersionsListState): number[] => {\n const { selectedProjectVersions, subtitles } = state\n const subtitlesOfSelectedProjectVersions = filter(subtitles, subtitle => selectedProjectVersions.includes(subtitle.attributes.projectVersionId))\n\n return map(subtitlesOfSelectedProjectVersions, subtitleOfSelectedProjectVersions => parseInt(subtitleOfSelectedProjectVersions.id, 10))\n}\n\nexport const getShortenedProjectVersionsSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && selectedProjectVersion.attributes.isShortened\n })\n}\n\nexport const getProjectVersionsWitUndeterminedLengthSelected = (state: IProjectVersionsListState): boolean => {\n const { selectedProjectVersions, projectVersions } = state\n return some(selectedProjectVersions, selectedProjectVersionId => {\n const selectedProjectVersion = find(projectVersions, projectVersion => projectVersion.id === selectedProjectVersionId)\n return selectedProjectVersion && selectedProjectVersion.attributes.duration === '00:00' && selectedProjectVersion.attributes.status === 'downloading'\n })\n}\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@SiteComponents/Popup'\nimport ExportationButtons from '@SiteComponents/ExportationButtons'\nimport { ISubtitle } from '@SiteContainers/ProjectVersionsList/types'\n\nimport {\n getCurrentProcessedSubtitles,\n getAnyCurrentProcessedSubtitleHasSpeakers,\n} from '@SiteContainers/ProjectVersionsList/selectors'\n\nimport './ExportationPopup.scss'\n\ninterface ExportationProps {\n readonly subtitles: ISubtitle[]\n readonly anyExportingSubtitleHasSpeakers: boolean\n closePopup(): void\n}\n\ninterface ExportationState {\n}\n\nclass Exportation extends React.Component {\n render() {\n const {\n closePopup,\n subtitles,\n anyExportingSubtitleHasSpeakers\n } = this.props\n\n return (\n \n \n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { projectVersionsList } = state\n\n return {\n subtitles: getCurrentProcessedSubtitles(projectVersionsList),\n anyExportingSubtitleHasSpeakers: getAnyCurrentProcessedSubtitleHasSpeakers(projectVersionsList)\n }\n}\n\nfunction mapDispatchToProps(_dispatch: Dispatch) {\n return {}\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Exportation)\n","import React, { useState } from 'react'\nimport Button from '@SiteComponents/Button'\nimport { useForm } from 'react-hook-form'\n\nimport {\n ICreateLabelPayload\n} from '@SiteModules/Label/types'\n\nimport './CreateLabelForm.scss'\n\ninterface CreateLabelFormProps {\n readonly showSpinner: boolean\n readonly disableButton: boolean\n submit(payload: ICreateLabelPayload): void\n}\n\ntype FormData = {\n caption: string\n}\n\nconst CreateLabelForm: React.FC = props => {\n const [newCaption, setNewCaption] = useState('')\n const { register, handleSubmit } = useForm()\n\n const onSubmit = handleSubmit(({ caption }) => {\n props.submit({ caption })\n })\n\n const changeCaption = (e: React.ChangeEvent) => {\n setNewCaption((e.target as HTMLInputElement).value)\n }\n\n const shouldDisableButton = props.disableButton || !newCaption.trim()\n\n return(\n
\n \n\n \n \n )\n}\n\nexport default CreateLabelForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@SiteComponents/Popup'\nimport CreateLabelForm from '@SiteComponents/CreateLabelForm'\n\nimport {\n createLabel\n} from '@SiteModules/Label/actions'\n\nimport {\n ICreateLabelPayload\n} from '@SiteModules/Label/types'\n\nimport './CreateLabelPopup.scss'\n\ninterface CreateLabelPopupProps {\n readonly loading: boolean\n closePopup(): void\n createLabel(payload: ICreateLabelPayload): void\n}\n\ninterface CreateLabelPopupState {\n}\n\nclass CreateLabelPopup extends React.Component {\n render() {\n const { closePopup, loading } = this.props\n\n return (\n \n
Create new label
\n \n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n return {\n loading: state.labels.createLabel.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n createLabel,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateLabelPopup)\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgLabel = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 15,\n height: 10,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#8A8F98\",\n strokeWidth: 1.5,\n d: \"M1 9V1h10l3 4-3 4z\"\n})));\nexport default SvgLabel;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgPlusBig = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 11,\n height: 11,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#8A8F98\",\n strokeWidth: 1.5,\n d: \"M5.5 0v11M11 5.5H0\"\n})));\nexport default SvgPlusBig;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgMoreIcon = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 4,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C2C9D1\",\n d: \"M2 0C.9 0 0 .9 0 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2M8 0C6.9 0 6 .9 6 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000\",\n fillOpacity: 0.25,\n d: \"M2 0C.9 0 0 .9 0 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2M8 0C6.9 0 6 .9 6 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\n})));\nexport default SvgMoreIcon;","import React from 'react'\n\nimport './Balloon.scss'\n\ninterface BalloonProps {\n readonly children: React.ReactNode\n}\n\nconst Balloon: React.FC = props => {\n return (\n
\n
    \n {props.children}\n
\n
\n )\n}\n\nexport default Balloon\n","import React, { useState, useCallback } from 'react'\n\nimport Balloon from '@SiteComponents/Balloon'\n\nimport LabelIcon from '@Images/label.svg'\nimport MoreIcon from '@Images/more_icon.svg'\n\nimport useClickOutsideListener from '@Utils/UseClickOutsideListener'\n\nimport {\n IDeleteLabelPopupOpenPayload,\n} from '@SiteContainers/DeleteLabelPopup/types'\n\nimport {\n IRenameLabelPayload,\n} from '@SiteContainers/RenameLabelPopup/types'\n\ninterface LabelProps {\n readonly labelId: number\n readonly caption: string\n readonly labelStatus: string\n openCreateLabelPopup(): void\n changeSelectedLabels(id: number): void\n openRenameLabelPopup(payload: IRenameLabelPayload): void\n openDeleteLabelPopup(payload: IDeleteLabelPopupOpenPayload): void\n}\n\nconst Label: React.FC = props => {\n const [openBalloon, setOpenBalloon] = useState(false)\n const [showMoreIcon, setShowMoreIcon] = useState(false)\n\n const {\n labelId,\n caption,\n labelStatus,\n } = props\n\n useClickOutsideListener(`LabelsPanel__more-wrapper-${labelId}`, setOpenBalloon, openBalloon)\n\n const toggleShowingBalloon = (e: React.MouseEvent) => {\n e.stopPropagation()\n\n setOpenBalloon(!openBalloon)\n }\n\n const onCreateLabelClick = useCallback(() => {\n setOpenBalloon(false)\n\n props.openCreateLabelPopup()\n }, [])\n\n const closeBalloon = useCallback(() => {\n setOpenBalloon(false)\n }, [])\n\n const onEditClick = () => {\n setOpenBalloon(false)\n\n props.openRenameLabelPopup({ labelId, caption })\n }\n\n const onDeleteLabelClick = () => {\n setOpenBalloon(false)\n\n props.openDeleteLabelPopup({ labelId, caption })\n }\n\n const onMouseLeave = () => {\n closeBalloon()\n setShowMoreIcon(false)\n }\n\n const onMouseOver = () => {\n setShowMoreIcon(true)\n }\n\n const handleLabelSelection = () => {\n props.changeSelectedLabels(labelId)\n }\n\n return (\n \n
\n \n \n \n {caption}\n \n \n \n {showMoreIcon && }\n {openBalloon && (\n
\n \n
  • \n Edit\n
  • \n
  • \n Delete the label\n
  • \n
  • \n Create a new label\n
  • \n
    \n
    \n )}\n
    \n
    \n \n )\n}\n\nexport default Label\n","import React from 'react'\n\nimport LabelIcon from '@Images/label.svg'\nimport PlusBig from '@Images/plus_big.svg'\n\nimport {\n IDeleteLabelPayload,\n} from '@SiteContainers/DeleteLabelPopup/types'\n\nimport {\n IRenameLabelPayload,\n} from '@SiteContainers/RenameLabelPopup/types'\n\nimport Label from './Label'\n\nimport './LabelsPanel.scss'\n\ninterface LabelsPanelProps {\n readonly labelIds: number[]\n resetLabelSelection(): void\n openCreateLabelPopup(): void\n readonly labelCaptions: string[]\n readonly selectedLabels: number[]\n changeSelectedLabels(id: number): void\n openRenameLabelPopup(payload: IRenameLabelPayload): void\n openDeleteLabelPopup(payload: IDeleteLabelPayload): void\n}\n\nconst LabelsPanel: React.FC = props => {\n const { labelCaptions, labelIds } = props\n\n const labelsList = labelCaptions.map((caption, index) => {\n const labelId = labelIds[index]\n const labelStatus = props.selectedLabels.includes(labelId) ? 'selected' : ''\n\n return (\n \n )\n })\n\n const allProjectVersionsStatus = props.selectedLabels.length ? '' : 'selected'\n\n return (\n
    \n
      \n \n
      \n \n \n \n All projects\n \n \n
      \n \n {labelsList}\n
    \n \n \n \n Create new label\n \n \n
    \n )\n}\n\nexport default LabelsPanel\n","import React from 'react'\nimport { Link } from 'react-router-dom'\n\nimport './DashboardLinks.scss'\n\nconst ENTERPRISE_OR_CUSTOM_SUBSCRIPTION_PLAN_NAME_PARTS = ['enterprise', 'custom']\n\ninterface DashboardLinksProps {\n readonly subscriptionIsCurrent: boolean\n readonly subscriptionPlan: string\n readonly usingPersonalSubscription: boolean\n}\n\nconst DashboardLinks: React.FC = props => {\n const {\n subscriptionIsCurrent,\n subscriptionPlan,\n usingPersonalSubscription,\n } = props\n\n const hasEnterpriseOrCustomSubscription = ENTERPRISE_OR_CUSTOM_SUBSCRIPTION_PLAN_NAME_PARTS.includes(subscriptionPlan.split('_')[0])\n const shouldRenderSubscriptionManagement = usingPersonalSubscription && (!hasEnterpriseOrCustomSubscription || !subscriptionIsCurrent)\n\n return (\n
    \n
      \n
    • \n Custom vocabularies\n
    • \n {shouldRenderSubscriptionManagement && (\n
    • \n Manage subscriptions\n
    • \n )}\n
    \n
    \n )\n}\n\nexport default DashboardLinks\n","import difference from 'lodash/difference'\nimport map from 'lodash/map'\nimport each from 'lodash/each'\nimport { IApplicationState } from '@Site/rootReducer'\n\nimport {\n ILabelState\n} from './types'\n\nexport const getLabelCaptions = (state: ILabelState): string[] => {\n return map(state.labels, label => label.attributes.caption)\n}\n\nexport const getLabelIds = (state: ILabelState): number[] => {\n return map(state.labels, label => label.attributes.id)\n}\n\nexport const getLabelsInAllSelectedProjectVersions = (state: IApplicationState): number[] => {\n const { labels } = state.labels\n const { selectedProjectVersions } = state.projectVersionsList\n const labelsInAllSelectedProjectVersions: number[] = []\n each(labels, label => {\n if (difference(selectedProjectVersions, label.attributes.projectVersionIds).length === 0) {\n labelsInAllSelectedProjectVersions.push(label.attributes.id)\n }\n })\n return labelsInAllSelectedProjectVersions\n}\n\nexport const getLabelsInNoSelectedProjectVersion = (state: IApplicationState): number[] => {\n const { labels } = state.labels\n const { selectedProjectVersions } = state.projectVersionsList\n const labelsInNoSelectedProjectVersion: number[] = []\n each(labels, label => {\n if (difference(selectedProjectVersions, label.attributes.projectVersionIds).length === selectedProjectVersions.length) {\n labelsInNoSelectedProjectVersion.push(label.attributes.id)\n }\n })\n return labelsInNoSelectedProjectVersion\n}\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport LabelsPanel from '@SiteComponents/LabelsPanel'\nimport DashboardLinks from '@SiteComponents/DashboardLinks'\n\nimport './DashboardSidebar.scss'\n\nimport {\n ILabelState,\n IChangeSelectedLabelsPayload\n} from '@SiteModules/Label/types'\n\nimport {\n getLabelIds,\n getLabelCaptions,\n} from '@SiteModules/Label/selectors'\n\nimport {\n fetchLabels,\n resetLabelSelection,\n changeSelectedLabels,\n} from '@SiteModules/Label/actions'\n\nimport {\n IDeleteLabelPayload,\n} from '@SiteContainers/DeleteLabelPopup/types'\n\nimport {\n IRenameLabelPopupOpenPayload,\n} from '@SiteContainers/RenameLabelPopup/types'\n\nimport {\n openDeleteLabelPopup,\n openRenameLabelPopup\n} from './actions'\n\ninterface DashboardSidebarProps {\n readonly labelState: ILabelState\n readonly selectedLabels: number[]\n readonly subscriptionIsCurrent: boolean\n readonly subscriptionPlan: string\n readonly usingPersonalSubscription: boolean\n fetchLabels(): void\n resetLabelSelection(): void\n openCreateLabelPopup(): void\n openRenameLabelPopup(payload: IRenameLabelPopupOpenPayload): void\n openDeleteLabelPopup(payload: IDeleteLabelPayload): void\n changeSelectedLabels(payload: IChangeSelectedLabelsPayload): void\n}\n\ninterface DashboardSidebarState {\n}\n\nclass DashboardSidebar extends React.Component {\n componentDidMount() {\n this.props.fetchLabels()\n }\n\n changeSelectedLabels = (labelId: number) => {\n const payload = { labelId }\n this.props.changeSelectedLabels(payload)\n }\n\n render() {\n const {\n labelState,\n selectedLabels,\n subscriptionIsCurrent,\n subscriptionPlan,\n usingPersonalSubscription,\n } = this.props\n\n return (\n
    \n \n
    \n \n
    \n \n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { labels, user } = state\n\n return {\n labelState: labels,\n labels: labels.labels,\n selectedLabels: labels.selectedLabels,\n subscriptionIsCurrent: user.subscription.attributes.isCurrent,\n subscriptionPlan: user.subscription.attributes.plan,\n usingPersonalSubscription: user.user.attributes.usingPersonalSubscription,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n fetchLabels,\n resetLabelSelection,\n changeSelectedLabels,\n openDeleteLabelPopup,\n openRenameLabelPopup,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DashboardSidebar)\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgStarRating = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 64,\n height: 64,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C2C9D1\",\n d: \"m58.667 24.64-19.174-1.653L32 5.333l-7.493 17.68L5.333 24.64l14.56 12.613L15.52 56 32 46.053 48.48 56l-4.347-18.747zM32 41.067 21.973 47.12l2.667-11.413-8.853-7.68 11.68-1.014L32 16.267l4.56 10.773 11.68 1.013-8.853 7.68 2.666 11.414z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000\",\n fillOpacity: 0.25,\n d: \"m58.667 24.64-19.174-1.653L32 5.333l-7.493 17.68L5.333 24.64l14.56 12.613L15.52 56 32 46.053 48.48 56l-4.347-18.747zM32 41.067 21.973 47.12l2.667-11.413-8.853-7.68 11.68-1.014L32 16.267l4.56 10.773 11.68 1.013-8.853 7.68 2.666 11.414z\"\n})));\nexport default SvgStarRating;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgStarRatingActive = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 64,\n height: 64,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F3AA1C\",\n d: \"M32 46.053 48.48 56l-4.373-18.747 14.56-12.613-19.174-1.627L32 5.333l-7.493 17.68L5.333 24.64l14.56 12.613L15.52 56z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillOpacity: 0.5,\n d: \"M32 46.053 48.48 56l-4.373-18.747 14.56-12.613-19.174-1.627L32 5.333l-7.493 17.68L5.333 24.64l14.56 12.613L15.52 56z\"\n})));\nexport default SvgStarRatingActive;","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@SiteComponents/Popup'\nimport range from 'lodash/range'\nimport Button from '@SiteComponents/Button'\nimport Star from '@Images/star_rating.svg'\nimport StarActive from '@Images/star_rating_active.svg'\n\nimport {\n rateSubtitle,\n} from '@SiteContainers/ProjectVersionsList/actions'\n\nimport {\n IRateSubtitlePayload\n} from '@SiteContainers/ProjectVersionsList/types'\n\n\nimport './RateSubtitlePopup.scss'\n\ninterface RateSubtitleProps {\n readonly subtitleId: string\n closePopup(): void\n rateSubtitle(payload: IRateSubtitlePayload): void\n}\n\ninterface RateSubtitleState {\n readonly comment: string\n readonly numberOfStars: number\n readonly shouldShowCommentInput: boolean\n}\n\nconst GOOD_RATING_THRESHOLD = 3\n\nclass RateSubtitle extends React.Component {\n constructor(props: RateSubtitleProps) {\n super(props)\n\n this.state = {\n comment: '',\n numberOfStars: 0,\n shouldShowCommentInput: false\n }\n }\n\n handleClickOnStar = () => {\n const { numberOfStars } = this.state\n const isGoodRating = numberOfStars > GOOD_RATING_THRESHOLD\n\n if (isGoodRating) {\n const { subtitleId } = this.props\n\n this.props.rateSubtitle({ subtitleId, numberOfStars, comment: '' })\n this.props.closePopup()\n } else {\n this.setState({ shouldShowCommentInput: true })\n }\n }\n\n handleCommentInput = (e: React.ChangeEvent) => {\n this.setState({ comment: (e.target as HTMLTextAreaElement).value })\n }\n\n handleSubmit = () => {\n const { numberOfStars, comment } = this.state\n const { subtitleId } = this.props\n\n this.props.rateSubtitle({ subtitleId, numberOfStars, comment })\n this.props.closePopup()\n }\n\n renderStars = () => {\n return (\n range(1, 6).map(rating => {\n const setRating = () => {\n this.setState({ numberOfStars: rating })\n }\n\n const resetRating = () => {\n this.setState({ numberOfStars: 0 })\n }\n\n return (\n rating > this.state.numberOfStars ? (\n \n ) : (\n \n )\n )\n })\n )\n }\n\n renderRating = () => {\n return (\n \n
    \n What do you think
    \n of the quality of the subtitles?\n
    \n {this.renderStars()}\n
    \n Very bad\n Very good\n
    \n
    \n )\n }\n\n renderCommentInput = () => {\n return(\n \n
    \n What problem did you encounter?\n
    \n \n \n
    \n )\n }\n\n render() {\n return (\n \n {this.state.shouldShowCommentInput ? this.renderCommentInput() : this.renderRating()}\n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { projectVersionsList } = state\n\n return {\n subtitleId: projectVersionsList.subtitleId.toString(),\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n rateSubtitle,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RateSubtitle)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@SiteComponents/Popup'\nimport ExternalTokenForm from '@SiteComponents/ExternalTokenForm'\n\nimport toastr from 'toastr'\nimport 'toastr/build/toastr.css'\n\nimport {\n createOrUpdateExternalToken\n} from './actions'\n\nimport {\n IExternalToken,\n ICreateOrUpdateExternalTokenPayload\n} from './types'\n\nimport './ExternalTokenPopup.scss'\n\ninterface ExternalTokenProps {\n readonly loading: boolean\n readonly subtitleId: number\n readonly externalTokenData: IExternalToken\n closePopup(): void\n createOrUpdateExternalToken(payload: ICreateOrUpdateExternalTokenPayload): void\n}\n\ninterface ExternalTokenState {}\n\nclass ExternalToken extends React.Component {\n textAreaRef: React.RefObject\n\n constructor(props: ExternalTokenProps) {\n super(props)\n this.textAreaRef = React.createRef()\n }\n\n setValidityOfExternalToken = (validityInDays: number) => {\n this.props.createOrUpdateExternalToken({ subtitleId: this.props.subtitleId, validityInDays })\n }\n\n copyToClipboard = (e: any) => {\n if (this.textAreaRef.current) {\n this.textAreaRef.current.select()\n }\n\n document.execCommand('copy')\n e.target.focus()\n\n toastr.success('Your link for sharing is copied to the clipboard!')\n }\n\n render() {\n const {\n loading,\n closePopup,\n externalTokenData,\n } = this.props\n\n return (\n \n \n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { externalToken, projectVersionsList } = state\n\n return {\n loading: externalToken.loading,\n subtitleId: projectVersionsList.subtitleId,\n externalTokenData: externalToken.externalTokenData,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n createOrUpdateExternalToken,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ExternalToken)\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgAddIconGrey = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C2C9D1\",\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000\",\n fillOpacity: 0.25,\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n})));\nexport default SvgAddIconGrey;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgTranscriptionIcon = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#5100FF\",\n d: \"m11.667 5-.834-1.667H4.167V17.5h1.666v-5.833H10l.833 1.666h5.834V5zM15 11.667h-3.333L10.833 10h-5V5H10l.833 1.667H15z\"\n})));\nexport default SvgTranscriptionIcon;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgStar = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 25,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"m22.5 9.24-7.19-.62L12.5 2 9.69 8.63l-7.19.61 5.46 4.73L6.32 21l6.18-3.73L18.68 21l-1.63-7.03zm-10 6.16V6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28z\"\n})));\nexport default SvgStar;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgStarRatingSmall = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 17,\n height: 18,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"m15.583 7.045-5.092-.44L8.5 1.918 6.51 6.613l-5.093.432 3.867 3.35-1.161 4.98L8.5 12.733l4.378 2.642-1.155-4.98zM8.5 11.408l-2.663 1.608.708-3.031-2.352-2.04 3.103-.27L8.5 4.821l1.211 2.862 3.103.269-2.352 2.04.709 3.031z\"\n})));\nexport default SvgStarRatingSmall;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgStarRatingActiveSmall = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 17,\n height: 18,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"m8.5 12.733 4.378 2.642-1.162-4.98 3.867-3.35-5.092-.432L8.5 1.917 6.51 6.613l-5.093.432 3.867 3.35-1.161 4.98z\"\n})));\nexport default SvgStarRatingActiveSmall;","export default function padNumber(num: number, size: number) {\n let s = String(num)\n while (s.length < (size || 2)) {s = '0' + s}\n return s\n}\n","import React, { useState } from 'react'\nimport Balloon from '@SiteComponents/Balloon'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport Transcription from '@Images/transcription_icon.svg'\nimport capitalize from 'lodash/capitalize'\nimport range from 'lodash/range'\nimport classnames from 'classnames'\nimport More from '@Images/more_icon.svg'\nimport Star from '@Images/star.svg'\nimport RatingStar from '@Images/star_rating_small.svg'\nimport RatingStarActive from '@Images/star_rating_active_small.svg'\nimport formatDateAndTime from '@Utils/FormatDateAndTime'\nimport useClickOutsideListener from '@Utils/UseClickOutsideListener'\nimport zipAndSaveFiles from '@Utils/ZipAndSaveFiles'\nimport toastr from 'toastr'\nimport 'toastr/build/toastr.css'\n\nimport {\n ISubtitle\n} from './types'\n\ninterface SubtitleProps {\n readonly projectVersionId: string\n readonly subtitle: ISubtitle\n readonly isDisabled: boolean\n readonly hasCurrentSubscription: boolean\n readonly projectVersionIsShortened: boolean\n openImportSrtPopup(subtitleId: number): void\n openExternalTokenPopup(subtitleId: number): void\n openExportationPopup(subtitleId: number): void\n openRateSubtitlePopup(subtitleId: number): void\n}\n\nconst Subtitle: React.FC = props => {\n const [openBalloon, setOpenBalloon] = useState(false)\n const { subtitle, isDisabled, hasCurrentSubscription } = props\n const [showInfoForDisabled, setShowInfoForDisabled] = useState(false)\n const [showInfoForProcessing, setShowInfoForProcessing] = useState(false)\n const [showInfoForRating, setShowInfoForRating] = useState(false)\n const [infoForDisabledTimeout, setInfoForDisabledTimeout] = useState | null>(null)\n const [infoForProcessingTimeout, setInfoForProcessingTimeout] = useState | null>(null)\n const [infoForRatingTimeout, setInfoForRatingTimeout] = useState | null>(null)\n\n useClickOutsideListener(`Subtitles__more-icon-wrapper-${props.subtitle.id}`, setOpenBalloon, openBalloon)\n\n const toggleShowingBalloon = () => {\n setOpenBalloon(!openBalloon)\n }\n\n const toggleShowInfoForDisabled = () => {\n if (infoForDisabledTimeout) {\n setShowInfoForDisabled(false)\n clearTimeout(infoForDisabledTimeout)\n setInfoForDisabledTimeout(null)\n } else {\n const newInfoForDisabledTimeout = setTimeout(() => {\n setShowInfoForDisabled(true)\n }, window.Checksub.tooltipDelay)\n setInfoForDisabledTimeout(newInfoForDisabledTimeout)\n }\n }\n\n const toggleShowInfoForProcessing = () => {\n if (infoForProcessingTimeout) {\n setShowInfoForProcessing(false)\n clearTimeout(infoForProcessingTimeout)\n setInfoForProcessingTimeout(null)\n } else {\n const newInfoForProcessingTimeout = setTimeout(() => {\n setShowInfoForProcessing(true)\n }, window.Checksub.tooltipDelay)\n setInfoForProcessingTimeout(newInfoForProcessingTimeout)\n }\n }\n\n const toggleShowInfoForRating = () => {\n if (infoForRatingTimeout) {\n setShowInfoForRating(false)\n clearTimeout(infoForRatingTimeout)\n setInfoForRatingTimeout(null)\n } else {\n const newInfoForRatingTimeout = setTimeout(() => {\n setShowInfoForRating(true)\n }, window.Checksub.tooltipDelay)\n setInfoForRatingTimeout(newInfoForRatingTimeout)\n }\n }\n\n const openExternalTokenPopup = () => {\n setOpenBalloon(false)\n props.openExternalTokenPopup(parseInt(subtitle.id, 10))\n }\n\n const openImportSrtPopup = () => {\n setOpenBalloon(false)\n props.openImportSrtPopup(parseInt(subtitle.id, 10))\n }\n\n const handleClickOnExport = () => {\n setOpenBalloon(false)\n\n const { projectId, projectVersionId } = subtitle.attributes\n const belongsToTtsProject = subtitle.attributes.belongsToTtsProject\n const shouldForwardToEditor = subtitle.attributes.category === 'free' || (subtitle.attributes.category === 'subscription' && !hasCurrentSubscription) || belongsToTtsProject\n\n if (shouldForwardToEditor) {\n const editorUrl = `/projects/${projectId}/project_versions/${projectVersionId}/subtitles/${subtitle.id}/edit?exportation=true`\n window.location.href = belongsToTtsProject ? `${editorUrl}&openVoice=true` : editorUrl\n } else {\n props.openExportationPopup(parseInt(subtitle.id, 10))\n }\n }\n\n const { category, stage, numberOfStars } = subtitle.attributes\n const ratableSubtitle = category !== 'manual' && category !== 'onboarding' && stage === 'done'\n const alreadyRated = numberOfStars !== -1\n\n const openRateSubtitlePopup = () => {\n if (alreadyRated) { return }\n\n props.openRateSubtitlePopup(parseInt(subtitle.id, 10))\n }\n\n const downloadAsZipFile = () => {\n if (!subtitle.attributes.exportationUrls) { return }\n\n toastr.info('Download in preparation Keep this page open to get the file once it is ready', '')\n\n const exportationUrls = Object.values(subtitle.attributes.exportationUrls)\n zipAndSaveFiles(exportationUrls)\n }\n\n const renderStars = () => {\n return (\n range(1, 6).map(rating => {\n return (\n rating <= numberOfStars ? (\n \n ) : (\n \n )\n )\n })\n )\n }\n\n const subtitleStage = capitalize(subtitle.attributes.stage.replace('_', ' '))\n const isProcessed =\n subtitleStage === 'New' ||\n subtitleStage === 'Done' ||\n subtitleStage === 'Waiting customer validation' ||\n subtitleStage === 'Processed' ||\n subtitleStage === 'Ready'||\n subtitleStage === 'Claim'\n\n const isUnpaid = subtitleStage === 'Unpaid'\n\n const allowLinkToEditorOnly =\n subtitle.attributes.waiting_for_completion_of_transcript &&\n subtitle.attributes.stage !== 'separating_audio' &&\n subtitle.attributes.stage !== 'generating_diarization'\n\n const processingStep = subtitle.attributes.processing_step || ''\n\n const isProcessing = !!processingStep\n\n const openEditor = () => {\n const { projectId, projectVersionId, waiting_for_completion_of_transcript, hasVoice } = subtitle.attributes\n const showEditorWithInfoText = waiting_for_completion_of_transcript\n\n if (isProcessed || showEditorWithInfoText || isProcessing) {\n const urlParams = hasVoice ? '?openVoice=true' : ''\n window.location.href = `/projects/${projectId}/project_versions/${projectVersionId}/subtitles/${subtitle.id}/edit${urlParams}`\n }\n }\n\n const shouldRenderIcon = subtitle.attributes.transcription\n const shouldShowImportSrt = !subtitle.attributes.belongsToTtsProject && !props.projectVersionIsShortened\n\n return(\n \n \n \n {!isDisabled && (isProcessed || allowLinkToEditorOnly) ? (\n

    \n \n {subtitle.attributes.language}\n \n {shouldRenderIcon &&\n \n \n \n }\n

    \n ) : (\n \n \n {subtitle.attributes.language}\n \n {shouldRenderIcon &&\n \n \n \n }\n {showInfoForDisabled && isDisabled &&\n \n Free projects are accessible for 30 days only\n \n }\n

    \n )}\n \n \n {!isUnpaid && (\n \n \n {subtitleStage}{isProcessing && {processingStep}/3}\n {isProcessing && showInfoForProcessing &&\n
    \n The processing duration is generally equal to half the video length.
    \n You will receive an email once it’s done. ✉️\n
    \n }\n
    \n
    \n )}\n \n \n {subtitle.attributes.type}\n \n \n {subtitle.attributes.created_at}\n \n \n {subtitle.attributes.exportationFileUrl && (\n \n Your file\n \n )}\n {subtitle.attributes.exportationUrls && (\n

    \n Your files\n

    \n )}\n \n \n {subtitle.attributes.exportedAt && formatDateAndTime(subtitle.attributes.exportedAt)}\n \n \n
    \n {!isDisabled && (isProcessed || allowLinkToEditorOnly) && (\n \n )}\n {ratableSubtitle && (\n
    \n \n {showInfoForRating && (\n
    \n {alreadyRated ? (\n \n Quality score {renderStars()}\n \n ) : (\n \n Evaluate the subtitle quality\n \n )}\n
    \n )}\n
    \n )}\n {!isDisabled && (isProcessed && !allowLinkToEditorOnly) && (\n \n
    \n \n
    \n {openBalloon && (\n
    \n \n
  • \n Export\n
  • \n
  • \n Share\n
  • \n {shouldShowImportSrt && (\n
  • \n Import SRT\n
  • \n )}\n
    \n
    \n )}\n
    \n )}\n
    \n \n \n \n )\n}\n\nexport default Subtitle\n","import padNumber from '../PadNumber'\n\nexport default function formatDateAndTime(dateString: string): string {\n const date = new Date(dateString)\n const year = date.getFullYear()\n const month = date.getMonth() + 1\n const day = date.getDate()\n const hours = date.getHours()\n const minutes = date.getMinutes()\n\n return `${padNumber(day, 2)}/${padNumber(month, 2)}/${year} ${padNumber(hours, 2)}h${padNumber(minutes, 2)}`\n}\n","import React, { useState } from 'react'\nimport intersectionBy from 'lodash/intersectionBy'\nimport filter from 'lodash/filter'\nimport capitalize from 'lodash/capitalize'\nimport classnames from 'classnames'\nimport Add from '@Images/add_icon_grey.svg'\nimport More from '@Images/more_icon.svg'\nimport Balloon from '@SiteComponents/Balloon/Balloon'\nimport Subtitle from './Subtitle'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport useClickOutsideListener from '@Utils/UseClickOutsideListener'\n\nimport {\n ISubtitle,\n IProjectVersionTableRow,\n IDeleteProjectVersionPopup,\n IOpenImportSrtPayload,\n IOpenExportationPayload,\n IOpenRateSubtitlePayload,\n IChangeSelectedProjectVersionsPayload,\n} from './types'\n\ninterface ProjectVersionProps {\n readonly row: IProjectVersionTableRow\n readonly selected: boolean\n readonly subtitles: ISubtitle[]\n readonly hasCurrentSubscription: boolean\n readonly isShortened: boolean\n openExternalTokenPopup(subtitleId: number): void\n openImportSrtPopup(payload: IOpenImportSrtPayload): void\n openExportationPopup(payload: IOpenExportationPayload): void\n openRateSubtitlePopup(payload: IOpenRateSubtitlePayload): void\n openDeleteProjectVersionPopup(payload: IDeleteProjectVersionPopup): void\n changeSelectedProjectVersions(payload: IChangeSelectedProjectVersionsPayload): void\n}\n\nconst ProjectVersion: React.FC = props => {\n const [openBalloon, setOpenBalloon] = useState(false)\n const [showSubtitles, setShowSubtitles] = useState(false)\n const [shouldShowActionTools, setShouldShowActionTools] = useState(false)\n const [showInfoForAdding, setShowInfoForAdding] = useState(false)\n const [showInfoForId, setShowInfoForId] = useState(false)\n const [showInfoForTitle, setShowInfoForTitle] = useState(false)\n const [infoForAddingTimeout, setInfoForAddingTimeout] = useState | null>(null)\n const [infoForIdTimeout, setInfoForIdTimeout] = useState | null>(null)\n const [infoForTitleTimeout, setInfoForTitleTimeout] = useState | null>(null)\n\n const { row, subtitles, isShortened } = props\n\n const durationNotYetDetermined = row.duration === '00:00' && row.status === 'downloading'\n\n useClickOutsideListener(`ProjectVersions__more-icon-wrapper-${row.id}`, setOpenBalloon, openBalloon)\n\n const rowStatus = !durationNotYetDetermined && row.status === 'downloading' ? '' : row.status // Downloading is only shown as a status if the project needs to be blocked because of an undetermined duration\n const projectVersionStatus = rowStatus ? capitalize(rowStatus.replace('_', ' ')) : null\n\n const projectVersionStatusClasses = `ProjectVersions__status-badge ${rowStatus}`\n\n const projectVersionSubtitles = intersectionBy(subtitles, row.subtitles, 'id')\n const subtitlesCount = projectVersionSubtitles.length\n const hasNoSubtitles = subtitlesCount === 0\n const hasAssets = row.hasAssets\n const transcriptionSubtitle = filter(projectVersionSubtitles, subtitle => subtitle.attributes.transcription === true)[0]\n const translationSubtitles = filter(projectVersionSubtitles, subtitle => subtitle.attributes.transcription === false)\n\n const shouldAllowAddingSubtitleLanguages = !row.isDisabled && !row.belongsToManualProject && hasAssets && !row.belongsToTtsProject && !row.isShortened && !durationNotYetDetermined\n\n const toggleShowingSubtitles = () => {\n if (!subtitlesCount) { return }\n setShowSubtitles(!showSubtitles)\n }\n\n const toggleShowInfoForAdding = () => {\n if (infoForAddingTimeout) {\n setShowInfoForAdding(false)\n clearTimeout(infoForAddingTimeout)\n setInfoForAddingTimeout(null)\n } else {\n const newInfoForAddingTimeout = setTimeout(() => {\n setShowInfoForAdding(true)\n }, window.Checksub.tooltipDelay)\n setInfoForAddingTimeout(newInfoForAddingTimeout)\n }\n }\n\n const toggleShowInfoForId = () => {\n if (infoForIdTimeout) {\n setShowInfoForId(false)\n clearTimeout(infoForIdTimeout)\n setInfoForIdTimeout(null)\n } else {\n const newInfoForIdTimeout = setTimeout(() => {\n setShowInfoForId(true)\n }, window.Checksub.tooltipDelay)\n setInfoForIdTimeout(newInfoForIdTimeout)\n }\n }\n\n const toggleShowInfoForTitle = () => {\n if (infoForTitleTimeout) {\n setShowInfoForTitle(false)\n clearTimeout(infoForTitleTimeout)\n setInfoForTitleTimeout(null)\n } else {\n const newInfoForTitleTimeout = setTimeout(() => {\n setShowInfoForTitle(true)\n }, window.Checksub.tooltipDelay)\n setInfoForTitleTimeout(newInfoForTitleTimeout)\n }\n }\n\n const showActionTools = () => {\n setShouldShowActionTools(true)\n }\n\n const hideActionTools = () => {\n setShouldShowActionTools(false)\n }\n\n const toggleShowingBalloon = () => {\n setOpenBalloon(!openBalloon)\n }\n\n const closeBalloon = () => {\n setOpenBalloon(false)\n }\n\n const openProjectVersionSettings = () => {\n window.location.href = `/setup?projectVersionIds=${row.id}`\n }\n\n const openDeleteProjectVersionPopup = () => {\n const payload = { projectVersionIds: [row.id] }\n props.openDeleteProjectVersionPopup(payload)\n setOpenBalloon(false)\n }\n\n const openExternalTokenPopup = (subtitleId: number) => {\n props.openExternalTokenPopup(subtitleId)\n }\n\n const openExportationPopup = (subtitleId: number) => {\n const payload = {\n subtitleIds: [subtitleId]\n }\n props.openExportationPopup(payload)\n }\n\n const openRateSubtitlePopup = (subtitleId: number) => {\n const payload = { subtitleId }\n props.openRateSubtitlePopup(payload)\n }\n\n const openImportSrtPopup = (subtitleId: number) => {\n const payload = { projectVersionId: row.id, subtitleId }\n props.openImportSrtPopup(payload)\n }\n\n const handleProjectVersionSelection = (e: React.ChangeEvent) => {\n const payload = { projectVersionId: row.id, selectProjectVersion: (e.target as HTMLInputElement).checked }\n\n props.changeSelectedProjectVersions(payload)\n }\n\n const handleMouseEnterLength = () => {\n showActionTools()\n toggleShowInfoForId()\n }\n\n const handleMouseLeaveLength = () => {\n hideActionTools()\n toggleShowInfoForId()\n }\n\n const handleMouseEnterTitle = () => {\n showActionTools()\n toggleShowInfoForTitle()\n }\n\n const handleMouseLeaveTitle = () => {\n hideActionTools()\n toggleShowInfoForTitle()\n }\n\n const shouldShowColoredThumbnail = row.thumbnailUrl.includes('thumbnail-icon.png') || !row.thumbnailUrl\n const indexOfFirstIntegerInId = row.id.search(/[0-9]/)\n const colorPicker = indexOfFirstIntegerInId === -1 ? 0 : row.id[indexOfFirstIntegerInId]\n const shouldShowSubtitlesButton = hasNoSubtitles && hasAssets && !durationNotYetDetermined\n const shouldShowLinkToEditor = row.subtitles.length === 0 && row.status !== 'downloading'\n\n const renderProjectVersion = () => {\n return(\n 0,\n 'ProjectVersions__table-row-open': showSubtitles,\n })}\n onMouseLeave={closeBalloon}\n >\n \n {row.isDisabled && (\n
    \n
    \n

    \n Update your plan to keep projects longer than 30 days.\n

    \n
    \n )}\n
    \n \n
    \n {shouldShowColoredThumbnail ? (\n \n ) : (\n \n )}\n
    \n
    \n \n \n

    \n {shouldShowLinkToEditor ? (\n \n {row.title}\n \n ) : (\n \n {row.title}\n \n )}\n

    \n {showInfoForTitle &&\n
    \n {row.title}\n
    \n }\n \n \n {row.duration}\n {showInfoForId &&\n
    \n Project version id: {row.id.slice(0, 6)}\n
    \n }\n \n \n {projectVersionStatus}\n \n \n

    \n {row.language}\n {shouldShowSubtitlesButton && (\n \n )}\n

    \n \n \n {subtitlesCount}\n \n \n {row.createdAt}\n \n \n {shouldShowActionTools && (\n
    \n {shouldAllowAddingSubtitleLanguages && (\n \n \n\n {showInfoForAdding && (\n
    \n Create new language(s)\n
    \n )}\n
    \n )}\n\n \n
    \n \n
    \n\n {openBalloon && (\n
    \n \n {shouldAllowAddingSubtitleLanguages && (\n
  • \n Add a subtitle language\n
  • \n )}\n\n
  • \n Delete the project\n
  • \n
    \n
    \n )}\n
    \n
    \n )}\n \n \n )\n }\n\n const renderSubtitles = () => {\n if (!showSubtitles) { return }\n const { hasCurrentSubscription } = props\n\n return(\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n {translationSubtitles.map((subtitle) => {\n return(\n \n )\n })}\n \n
    \n LanguagesStatusTypeCreation DateLast ExportExport Date\n \n
    \n \n \n )\n }\n\n return (\n \n {renderProjectVersion()}\n {renderSubtitles()}\n \n )\n}\n\nexport default ProjectVersion\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Action, Dispatch, bindActionCreators } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Loader from '@SiteComponents/Loader'\nimport ProjectVersion from './ProjectVersion'\n\nimport './ProjectVersionsList.scss'\n\nimport {\n ISubtitle,\n IProjectVersion,\n IProjectVersionTableRow,\n IDeleteProjectVersionPopup,\n IUpdateProjectVersionsPayload,\n IOpenImportSrtPayload,\n IOpenExportationPayload,\n IOpenRateSubtitlePayload,\n IChangeSelectedProjectVersionsPayload,\n} from './types'\n\nimport {\n updateProjectVersions,\n openImportSrtPopup,\n openDeleteProjectVersionPopup,\n changeSelectedProjectVersions,\n openExportationPopup,\n openRateSubtitlePopup,\n openExternalTokenPopup,\n} from './actions'\n\nimport {\n getSubtitleIdsToUpdate,\n getProjectVersionIdsToUpdate,\n} from './selectors'\n\nimport {\n fetchProjectVersionSettings,\n} from '@SitePages/ProjectVersionSettings/actions'\n\nimport {\n IFetchProjectVersionSettingsPayload\n} from '@SitePages/ProjectVersionSettings/types'\n\ninterface ProjectVersionsListProps {\n readonly loading: boolean\n readonly subtitles: ISubtitle[]\n readonly selectedLabels: number[]\n readonly subtitlesToUpdateIds: number[]\n readonly projectVersionsToUpdateIds: string[]\n readonly selectedProjectVersions: string[]\n readonly projectVersions: IProjectVersion[]\n readonly shouldUpdateProjectVersionsAndSubtitles: boolean\n readonly hasCurrentSubscription: boolean\n openCreateLabelPopup(): void\n fetchProjectVersionSettings(payload: IFetchProjectVersionSettingsPayload): void\n updateProjectVersions(payload: IUpdateProjectVersionsPayload): void\n openExternalTokenPopup(subtitleId: number): void\n openDeleteProjectVersionPopup(payload: IDeleteProjectVersionPopup): void\n openImportSrtPopup(payload: IOpenImportSrtPayload): void\n openExportationPopup(payload: IOpenExportationPayload): void\n openRateSubtitlePopup(payload: IOpenRateSubtitlePayload): void\n changeSelectedProjectVersions(payload: IChangeSelectedProjectVersionsPayload): void\n}\n\ninterface ProjectVersionsListState {\n readonly intervalId: number\n}\n\nclass ProjectVersionsList extends React.Component {\n state: ProjectVersionsListState = {\n intervalId: -1,\n }\n\n constructor(props: ProjectVersionsListProps) {\n super(props)\n }\n\n componentDidMount() {\n this.prepareUpdating()\n }\n\n componentDidUpdate() {\n this.prepareUpdating()\n }\n\n componentWillUnmount() {\n clearInterval(this.state.intervalId)\n }\n\n renderLoader() {\n const { loading } = this.props\n\n if (!loading) { return }\n\n return(\n \n )\n }\n\n prepareUpdating = () => {\n const { intervalId } = this.state\n const { shouldUpdateProjectVersionsAndSubtitles } = this.props\n const isTimerPresent = intervalId !== -1\n const shouldSetupTimerForFetchingUpdates = shouldUpdateProjectVersionsAndSubtitles && !isTimerPresent\n const shouldRemoveInterval = !shouldUpdateProjectVersionsAndSubtitles && isTimerPresent\n\n if (shouldSetupTimerForFetchingUpdates) {\n const newTimerId = window.setInterval(this.updateProjectVersions, 60000)\n this.setState({ intervalId: newTimerId })\n } else if (shouldRemoveInterval) {\n clearInterval(this.state.intervalId)\n this.setState({ intervalId: -1 })\n }\n }\n\n updateProjectVersions = () => {\n const { subtitlesToUpdateIds, projectVersionsToUpdateIds } = this.props\n const payload: IUpdateProjectVersionsPayload = { subtitlesToUpdateIds, projectVersionsToUpdateIds }\n\n this.props.updateProjectVersions(payload)\n }\n\n openExternalTokenPopup = (subtitleId: number) => {\n this.props.openExternalTokenPopup(subtitleId)\n }\n\n openExportationPopup = (payload: IOpenExportationPayload) => {\n this.props.openExportationPopup(payload)\n }\n\n openRateSubtitlePopup = (payload: IOpenRateSubtitlePayload) => {\n this.props.openRateSubtitlePopup(payload)\n }\n\n openImportSrtPopup = (payload: IOpenImportSrtPayload) => {\n this.props.openImportSrtPopup(payload)\n }\n\n openDeleteProjectVersionPopup = (payload: IDeleteProjectVersionPopup) => {\n this.props.openDeleteProjectVersionPopup(payload)\n }\n\n changeSelectedProjectVersions = (payload: IChangeSelectedProjectVersionsPayload) => {\n this.props.changeSelectedProjectVersions(payload)\n }\n\n renderProjectVersions() {\n const {\n subtitles,\n projectVersions,\n selectedProjectVersions,\n hasCurrentSubscription,\n } = this.props\n\n const rows: IProjectVersionTableRow[] = projectVersions.map((projectVersion: IProjectVersion) => {\n return { id: projectVersion.id, subtitles: projectVersion.relationships.subtitles.data, ...projectVersion.attributes }\n })\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n {rows.map(row => {\n return(\n \n )\n })}\n \n
    \n TitleLengthStatusProject languageLanguage(s)Created at\n
    \n
    \n )\n }\n\n render() {\n const { loading } = this.props\n const statusOfProjectVersions = loading ? 'loading' : 'loaded'\n const shouldRenderLoader = loading\n\n return (\n
    \n {this.renderLoader()}\n\n
    \n {shouldRenderLoader ? (\n \n ) : (\n \n {this.renderProjectVersions()}\n \n )}\n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { user, projectVersionsList, labels } = state\n const subtitlesToUpdateIds = getSubtitleIdsToUpdate(projectVersionsList)\n const projectVersionsToUpdateIds = getProjectVersionIdsToUpdate(projectVersionsList)\n\n return {\n projectVersions: projectVersionsList.projectVersions,\n loading: projectVersionsList.loading,\n subtitles: projectVersionsList.subtitles,\n selectedProjectVersions: projectVersionsList.selectedProjectVersions,\n selectedLabels: labels.selectedLabels,\n shouldUpdateProjectVersionsAndSubtitles: !!subtitlesToUpdateIds.length || !!projectVersionsToUpdateIds.length,\n hasCurrentSubscription: user.subscription.attributes.isCurrent,\n subtitlesToUpdateIds,\n projectVersionsToUpdateIds,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n updateProjectVersions,\n fetchProjectVersionSettings,\n openImportSrtPopup,\n changeSelectedProjectVersions,\n openDeleteProjectVersionPopup,\n openExportationPopup,\n openRateSubtitlePopup,\n openExternalTokenPopup,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ProjectVersionsList)\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgPlus = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 10,\n height: 10,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n fillRule: \"evenodd\",\n d: \"M9 6H6v3a1 1 0 1 1-2 0V6H1a1 1 0 0 1 0-2h3V1a1 1 0 0 1 2 0v3h3a1 1 0 1 1 0 2\",\n clipRule: \"evenodd\"\n})));\nexport default SvgPlus;","import React from 'react'\nimport classnames from 'classnames'\n\nimport './IconButton.scss'\n\ninterface IconButtonProps {\n readonly caption: string\n readonly disabled?: boolean\n readonly type?: string\n readonly children?: React.ReactNode\n onClick?(): void\n}\n\nconst IconButton: React.FC = props => {\n return (\n \n {props.children}\n \n {props.caption}\n \n \n )\n}\n\nexport default IconButton\n","import React, { useRef, useEffect } from 'react'\n\nimport './IndeterminateCheckbox.scss'\n\ninterface IndeterminateCheckboxProps {\n readonly value: string\n readonly id: string\n readonly name: string\n onChange(e: React.ChangeEvent): void\n}\n\nconst IndeterminateCheckbox: React.FC = props => {\n const checkRef = useRef(null)\n\n useEffect(() => {\n if (checkRef.current !== null) {\n checkRef.current.checked = props.value === 'checked'\n checkRef.current.indeterminate = props.value === 'indeterminate'\n }\n }, [status])\n return (\n \n \n \n \n )\n}\n\nexport default IndeterminateCheckbox\n","import React from 'react'\nimport IndeterminateCheckbox from '@SiteComponents/IndeterminateCheckbox'\n\nimport './LabelsDropdown.scss'\n\ninterface LabelsDropdownProps {\n readonly labelIds: number[]\n readonly labelCaptions: string[]\n readonly labelsInAllSelectedProjectVersions: number[]\n readonly labelsInNoSelectedProjectVersion: number[]\n createProjectVersionLabels(labelId: number): void\n deleteProjectVersionLabels(labelId: number): void\n openCreateLabelPopup(): void\n}\n\nconst LabelsDropdown: React.FC = props => {\n const {\n labelIds,\n labelCaptions,\n labelsInAllSelectedProjectVersions,\n labelsInNoSelectedProjectVersion\n } = props\n\n const labelsList = labelCaptions.map((caption, index) => {\n const labelId = labelIds[index]\n\n let checkboxValue = 'indeterminate'\n if (labelsInAllSelectedProjectVersions.includes(labelId)) {\n checkboxValue = 'checked'\n } else if (labelsInNoSelectedProjectVersion.includes(labelId)) {\n checkboxValue = 'unchecked'\n }\n\n const handleChangeCheckbox = (e: React.ChangeEvent) => {\n (e.target as HTMLInputElement).checked ? props.createProjectVersionLabels(labelId) : props.deleteProjectVersionLabels(labelId)\n }\n\n return (\n
  • \n \n
  • \n )\n })\n\n return (\n
    \n
    \n
      \n {labelsList}\n
    \n
    Create new
    \n
    \n
    \n )\n}\n\nexport default LabelsDropdown\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgFolder = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 13,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n fillRule: \"evenodd\",\n d: \"M6.4 11V8.9H4V6.1h2.4V4L10 7.5zm6.964-8.4H8.273c-.35 0-.808-.234-1.018-.52L6.205.65 6.109.52C5.9.234 5.441 0 5.091 0H.636A.645.645 0 0 0 0 .65v11.7c0 .357.286.65.636.65h12.728c.35 0 .636-.293.636-.65v-9.1a.645.645 0 0 0-.636-.65\",\n clipRule: \"evenodd\"\n})));\nexport default SvgFolder;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgTrash = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 11,\n height: 11,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n fillRule: \"evenodd\",\n d: \"M6.846 8.528c-.01.268-.198.472-.428.472h-.011C6.165 8.987 6 8.758 6 8.49l.154-4.018c.01-.268.198-.472.428-.472h.011c.242.013.407.242.407.51zM4.593 9h-.01c-.231 0-.407-.217-.429-.472L4 4.51c-.01-.28.165-.51.407-.51h.01c.231 0 .407.217.429.472L5 8.49c.01.268-.165.497-.407.51M4 1.361h3V1H4zm6.525-.073H7.848V.71c0-.41-.377-.71-.851-.71H3.99c-.474 0-.852.313-.852.71v.578H.475a.465.465 0 0 0-.475.47c0 .264.207.468.475.468h.584l.584 7.234c.012.854.705 1.54 1.57 1.54h4.562c.864 0 1.558-.686 1.57-1.54l.596-7.221h.584a.465.465 0 0 0 .475-.47.475.475 0 0 0-.475-.481\",\n clipRule: \"evenodd\"\n})));\nexport default SvgTrash;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgDownloadDashboard = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 25,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#8A8F98\",\n d: \"M19.5 9h-4V3h-6v6h-4l7 7zm-14 9v2h14v-2z\"\n})));\nexport default SvgDownloadDashboard;","import React, { useState } from 'react'\nimport { Link } from 'react-router-dom'\nimport IconButton from '@SiteComponents/IconButton'\nimport LabelsDropdown from '@SiteComponents/LabelsDropdown/LabelsDropdown'\nimport useClickOutsideListener from '@Utils/UseClickOutsideListener'\n\nimport Pagination from '@SiteComponents/Pagination'\n\nimport Plus from '@Images/plus.svg'\nimport Folder from '@Images/folder.svg'\nimport Trash from '@Images/trash.svg'\nimport Download from '@Images/download-dashboard.svg'\n\nimport './TableHeader.scss'\n\ninterface TableHeaderProps {\n readonly totalCount: number\n readonly totalPages: number\n readonly currentPage: number\n readonly labelIds: number[]\n readonly labelCaptions: string[]\n readonly labelsInAllSelectedProjectVersions: number[]\n readonly labelsInNoSelectedProjectVersion: number[]\n readonly numberOfSelectedProjectVersions: number\n readonly disabledProjectVersionsSelected: boolean\n readonly projectVersionsWithoutAssetsSelected: boolean\n readonly shouldRenderPagination: boolean\n readonly projectVersionsWithLanguageSelected: boolean\n readonly projectVersionsThatBelongToManualProjectSelected: boolean\n readonly projectVersionsThatBelongToTtsProjectSelected: boolean\n readonly projectVersionsWithFreeCaptioningSelected: boolean\n readonly projectVersionsWithAtLeastOneProcessedSubtitleSelected: boolean\n readonly hasCurrentSubscription: boolean\n readonly projectVersionsWithAnySubscriptionSubtitlesSelected: boolean\n readonly shortenedProjectVersionsSelected: boolean\n readonly projectVersionsWitUndeterminedLengthSelected: boolean\n increasePageCount(): void\n decreasePageCount(): void\n openDeleteProjectVersionPopup(): void\n openCreateLabelPopup(): void\n createProjectVersionLabels(labelId: number): void\n deleteProjectVersionLabels(labelId: number): void\n openExportationPopup(): void\n}\n\nconst TableHeader: React.FC = props => {\n const VIDEOS_PER_PAGE = 8\n\n const [openLabelsDropdown, setOpenLabelsDropdown] = useState(false)\n\n useClickOutsideListener('TableHeader__labels-wrapper', setOpenLabelsDropdown, openLabelsDropdown)\n\n const toggleShowingLabelsDropdown = () => {\n setOpenLabelsDropdown(!openLabelsDropdown)\n }\n\n const openCreateLabelPopup = () => {\n setOpenLabelsDropdown(false)\n props.openCreateLabelPopup()\n }\n\n const {\n totalCount,\n totalPages,\n currentPage,\n numberOfSelectedProjectVersions,\n labelIds, labelCaptions,\n labelsInAllSelectedProjectVersions,\n labelsInNoSelectedProjectVersion,\n disabledProjectVersionsSelected,\n projectVersionsWithLanguageSelected,\n projectVersionsThatBelongToManualProjectSelected,\n projectVersionsThatBelongToTtsProjectSelected,\n shouldRenderPagination,\n projectVersionsWithoutAssetsSelected,\n projectVersionsWithFreeCaptioningSelected,\n projectVersionsWithAtLeastOneProcessedSubtitleSelected,\n hasCurrentSubscription,\n projectVersionsWithAnySubscriptionSubtitlesSelected,\n shortenedProjectVersionsSelected,\n projectVersionsWitUndeterminedLengthSelected,\n } = props\n\n const videoSelection = numberOfSelectedProjectVersions > 0 ? 'videoSelected' : 'noVideoSelected'\n\n const labelsWrapperStatus = openLabelsDropdown ? 'active' : 'inactive'\n\n const shouldAllowToAddLanguages = (numberOfSelectedProjectVersions > 1 && !projectVersionsWithLanguageSelected || numberOfSelectedProjectVersions === 1) &&\n !disabledProjectVersionsSelected &&\n !projectVersionsWithoutAssetsSelected &&\n !projectVersionsThatBelongToManualProjectSelected &&\n !projectVersionsThatBelongToTtsProjectSelected &&\n !shortenedProjectVersionsSelected &&\n !projectVersionsWitUndeterminedLengthSelected\n\n const wantsToExportSubscriptionSubtitleButHasNoCurrentSubscription = !hasCurrentSubscription && projectVersionsWithAnySubscriptionSubtitlesSelected\n const shouldAllowToExport =\n numberOfSelectedProjectVersions >= 1 &&\n !projectVersionsWithFreeCaptioningSelected &&\n !projectVersionsThatBelongToTtsProjectSelected &&\n !wantsToExportSubscriptionSubtitleButHasNoCurrentSubscription &&\n projectVersionsWithAtLeastOneProcessedSubtitleSelected\n\n return (\n
    \n {shouldAllowToAddLanguages && (\n
    \n \n \n \n \n \n
    \n )}\n\n {shouldAllowToExport && (\n
    \n \n \n \n
    \n )}\n\n {numberOfSelectedProjectVersions >= 1 && (\n \n \n \n \n {openLabelsDropdown && (\n \n )}\n
    \n )}\n\n {numberOfSelectedProjectVersions >= 1 && (\n
    \n \n \n \n
    \n )}\n\n
    \n {shouldRenderPagination &&\n \n }\n
    \n \n )\n }\n\nexport default TableHeader\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport TableHeader from '@SiteComponents/TableHeader'\n\nimport {\n ILabelState,\n IProjectVersionLabelsPayload\n} from '@SiteModules/Label/types'\n\nimport {\n IProjectVersion,\n IDeleteProjectVersionPopup,\n IOpenExportationPayload,\n} from '@SiteContainers/ProjectVersionsList/types'\n\nimport {\n getLabelIds,\n getLabelCaptions,\n getLabelsInAllSelectedProjectVersions,\n getLabelsInNoSelectedProjectVersion,\n} from '@SiteModules/Label/selectors'\n\nimport {\n getDisabledProjectVersionsSelected,\n getProjectVersionsWithoutAssetsSelected,\n getProjectVersionsThatBelongToManualProjectSelected,\n getProjectVersionsThatBelongToTtsProjectSelected,\n getProjectVersionsWithLanguageSelected,\n getSubtitleIdsOfSelectedProjectVersions,\n getProjectVersionsWithFreeCaptioningSelected,\n getProjectVersionsWithAnySubscriptionSubtitlesSelected,\n getProjectVersionsWithAtLeastOneProcessedSubtitleSelected,\n getShortenedProjectVersionsSelected,\n getProjectVersionsWitUndeterminedLengthSelected,\n} from '@SiteContainers/ProjectVersionsList/selectors'\n\nimport {\n openDeleteProjectVersionPopup,\n openExportationPopup,\n increasePageCount,\n decreasePageCount,\n} from '@SiteContainers/ProjectVersionsList/actions'\n\nimport {\n deleteProjectVersionLabels,\n createProjectVersionLabels,\n} from '@SiteModules/Label/actions'\n\ninterface TableHeaderContainerProps {\n readonly projectVersions: IProjectVersion[]\n readonly totalCount: number\n readonly totalPages: number\n readonly currentPage: number\n readonly labelState: ILabelState\n readonly selectedProjectVersions: string[]\n readonly labelsInNoSelectedProjectVersion: number[]\n readonly labelsInAllSelectedProjectVersions: number[]\n readonly disabledProjectVersionsSelected: boolean\n readonly projectVersionsWithoutAssetsSelected: boolean\n readonly projectVersionsWithLanguageSelected: boolean\n readonly subtitleIdsOfSelectedProjectVersions: number[]\n readonly projectVersionsThatBelongToManualProjectSelected: boolean\n readonly projectVersionsThatBelongToTtsProjectSelected: boolean\n readonly projectVersionsWithFreeCaptioningSelected: boolean\n readonly projectVersionsWithAtLeastOneProcessedSubtitleSelected: boolean\n readonly hasCurrentSubscription: boolean\n readonly projectVersionsWithAnySubscriptionSubtitlesSelected: boolean\n readonly shortenedProjectVersionsSelected: boolean\n readonly projectVersionsWitUndeterminedLengthSelected: boolean\n increasePageCount(): void\n decreasePageCount(): void\n openCreateLabelPopup(): void\n openDeleteProjectVersionPopup(payload: IDeleteProjectVersionPopup): void\n deleteProjectVersionLabels(payload: IProjectVersionLabelsPayload): void\n createProjectVersionLabels(payload: IProjectVersionLabelsPayload): void\n openExportationPopup(payload: IOpenExportationPayload): void\n}\n\ninterface TableHeaderContainerState {\n}\n\nclass TableHeaderContainer extends React.Component {\n openDeleteProjectVersionPopup = () => {\n const payload = { projectVersionIds: this.props.selectedProjectVersions }\n this.props.openDeleteProjectVersionPopup(payload)\n }\n\n deleteProjectVersionLabels = (labelId: number) => {\n const payload = { labelId, selectedProjectVersions: this.props.selectedProjectVersions }\n this.props.deleteProjectVersionLabels(payload)\n }\n\n createProjectVersionLabels = (labelId: number) => {\n const payload = { labelId, selectedProjectVersions: this.props.selectedProjectVersions }\n this.props.createProjectVersionLabels(payload)\n }\n\n openExportationPopup = () => {\n const payload = { subtitleIds: this.props.subtitleIdsOfSelectedProjectVersions }\n this.props.openExportationPopup(payload)\n }\n\n render() {\n const {\n projectVersions,\n labelState,\n totalCount,\n totalPages,\n currentPage,\n selectedProjectVersions,\n openCreateLabelPopup,\n labelsInAllSelectedProjectVersions,\n labelsInNoSelectedProjectVersion,\n disabledProjectVersionsSelected,\n projectVersionsWithoutAssetsSelected,\n projectVersionsWithLanguageSelected,\n projectVersionsThatBelongToManualProjectSelected,\n projectVersionsThatBelongToTtsProjectSelected,\n projectVersionsWithFreeCaptioningSelected,\n projectVersionsWithAtLeastOneProcessedSubtitleSelected,\n hasCurrentSubscription,\n projectVersionsWithAnySubscriptionSubtitlesSelected,\n shortenedProjectVersionsSelected,\n projectVersionsWitUndeterminedLengthSelected,\n } = this.props\n\n\n return (\n \n \n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { projectVersionsList, labels, user } = state\n return {\n projectVersions: projectVersionsList.projectVersions,\n selectedProjectVersions: projectVersionsList.selectedProjectVersions,\n labelState: labels,\n labelsInAllSelectedProjectVersions: getLabelsInAllSelectedProjectVersions(state),\n labelsInNoSelectedProjectVersion: getLabelsInNoSelectedProjectVersion(state),\n disabledProjectVersionsSelected: getDisabledProjectVersionsSelected(state.projectVersionsList),\n projectVersionsWithoutAssetsSelected: getProjectVersionsWithoutAssetsSelected(state.projectVersionsList),\n projectVersionsWithLanguageSelected: getProjectVersionsWithLanguageSelected(state.projectVersionsList),\n projectVersionsThatBelongToManualProjectSelected: getProjectVersionsThatBelongToManualProjectSelected(state.projectVersionsList),\n projectVersionsThatBelongToTtsProjectSelected: getProjectVersionsThatBelongToTtsProjectSelected(state.projectVersionsList),\n projectVersionsWitUndeterminedLengthSelected: getProjectVersionsWitUndeterminedLengthSelected(state.projectVersionsList),\n subtitleIdsOfSelectedProjectVersions: getSubtitleIdsOfSelectedProjectVersions(state.projectVersionsList),\n totalCount: projectVersionsList.totalCount,\n totalPages: projectVersionsList.totalPages,\n currentPage: projectVersionsList.currentPage,\n projectVersionsWithFreeCaptioningSelected: getProjectVersionsWithFreeCaptioningSelected(state.projectVersionsList),\n projectVersionsWithAnySubscriptionSubtitlesSelected: getProjectVersionsWithAnySubscriptionSubtitlesSelected(state.projectVersionsList),\n projectVersionsWithAtLeastOneProcessedSubtitleSelected: getProjectVersionsWithAtLeastOneProcessedSubtitleSelected(state.projectVersionsList),\n shortenedProjectVersionsSelected: getShortenedProjectVersionsSelected(state.projectVersionsList),\n hasCurrentSubscription: user.subscription.attributes.isCurrent,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n openDeleteProjectVersionPopup,\n openExportationPopup,\n deleteProjectVersionLabels,\n createProjectVersionLabels,\n increasePageCount,\n decreasePageCount,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(TableHeaderContainer)\n","import React, { useState } from 'react'\nimport EditorButton from '@EditorComponents/EditorButton'\nimport { useForm } from 'react-hook-form'\n\nimport {\n IRenameLabelPayload,\n} from '@SiteContainers/RenameLabelPopup/types'\n\nimport './EditLabelForm.scss'\n\ninterface EditLabelFormProps {\n readonly labelId: number\n readonly caption: string\n closePopup(): void\n renameLabel(payload: IRenameLabelPayload): void\n}\n\ntype FormData = {\n readonly caption: string\n}\n\nconst EditLabelForm: React.FC = props => {\n const [newLabelCaption, setNewLabelCaption] = useState(props.caption)\n const { register, handleSubmit } = useForm()\n\n const onSubmit = handleSubmit(({ caption }) => {\n const payload = { labelId: props.labelId, caption: caption.trim() }\n props.renameLabel(payload)\n props.closePopup()\n })\n\n const changeLabelName = (e: React.ChangeEvent) => {\n setNewLabelCaption((e.target as HTMLInputElement).value)\n }\n\n const labelIsChanged = newLabelCaption.trim() !== props.caption.trim()\n const labelIsUnchanged = !labelIsChanged\n\n const shouldDisableButton = !newLabelCaption.trim() || labelIsUnchanged\n\n return(\n
    \n
    \n Edit the label caption\n
    \n \n \n\n \n \n
    \n )\n}\n\nexport default EditLabelForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\n\nimport Popup from '@EditorComponents/Popup'\nimport EditLabelForm from '@SiteComponents/EditLabelForm'\n\nimport {\n renameLabel,\n} from './actions'\n\nimport {\n IRenameLabelPayload,\n} from './types'\n\nimport './RenameLabelPopup.scss'\n\ninterface RenameLabelPopupProps {\n readonly labelId: number\n readonly caption: string\n closePopup(): void\n renameLabel(payload: IRenameLabelPayload): void\n}\n\ninterface RenameLabelPopupState {}\n\nclass RenameLabelPopup extends React.Component {\n render() {\n const {\n labelId,\n caption,\n closePopup,\n } = this.props\n\n return (\n \n \n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { labelId, caption } = state.renameLabel\n\n return {\n labelId,\n caption,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n renameLabel,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RenameLabelPopup)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@SiteComponents/Popup'\nimport Button from '@SiteComponents/Button'\n\nimport {\n deleteLabel,\n} from './actions'\n\nimport {\n IDeleteLabelPayload,\n} from './types'\n\nimport AttentionIcon from '@Images/attention.svg'\n\nimport './DeleteLabelPopup.scss'\n\ninterface DeleteLabelPopupProps {\n readonly caption: string\n readonly loading: boolean\n readonly labelId: number\n closePopup(): void\n deleteLabel(payload: IDeleteLabelPayload): void\n}\n\ninterface DeleteLabelPopupState {\n readonly deleteConfirmation: string\n}\n\nclass DeleteLabelPopup extends React.Component {\n state = {\n deleteConfirmation: ''\n }\n\n changeDeleteCofirmation = (e: React.ChangeEvent) => {\n this.setState({\n deleteConfirmation: (e.target as HTMLInputElement).value\n })\n }\n\n handleConfirm = () => {\n const canDelete = this.state.deleteConfirmation === 'delete' || this.state.deleteConfirmation === 'DELETE'\n\n if (canDelete) {\n this.props.deleteLabel({ labelId: this.props.labelId })\n }\n }\n\n render() {\n const { closePopup, loading, caption } = this.props\n const { deleteConfirmation } = this.state\n const canDelete = this.state.deleteConfirmation === 'delete' || this.state.deleteConfirmation === 'DELETE'\n const shouldDisableButton = !canDelete || loading\n\n return (\n \n
    Delete the label
    \n

    \n \n Warning, you will delete the label
    \n “{caption}”.\n

    \n

    \n Type “delete” below to validate this action.\n

    \n\n \n\n \n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { loading, labelId, caption } = state.deleteLabel\n\n return {\n loading,\n labelId,\n caption\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n deleteLabel,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DeleteLabelPopup)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@SiteComponents/Popup'\nimport Button from '@SiteComponents/Button'\nimport Loader from '@SiteComponents/Loader'\n\nimport {\n deleteElement\n} from '@SiteContainers/AssetsTable/actions'\n\nimport {\n IDeleteElementPayload\n} from '@SiteContainers/AssetsTable/types'\n\nimport {\n IProjectVersion\n} from '@SiteContainers/ProjectVersionsList/types'\n\nimport AttentionIcon from '@Images/attention.svg'\n\nimport './DeleteElementPopup.scss'\n\nconst NUMBER_OF_PROJECT_VERSIONS_TO_SHOW = 3\n\ninterface DeleteElementProps {\n readonly loadingAffectedProjectVersions: boolean\n readonly deleting: boolean\n readonly elementId: string\n readonly affectedProjectVersions: IProjectVersion[]\n closePopup(): void\n deleteElement(payload: IDeleteElementPayload): void\n}\n\ninterface DeleteElementState {\n readonly deleteConfirmation: string\n}\n\nclass DeleteElement extends React.Component {\n state = {\n deleteConfirmation: ''\n }\n\n changeDeleteCofirmation = (e: React.ChangeEvent) => {\n this.setState({\n deleteConfirmation: (e.target as HTMLInputElement).value\n })\n }\n\n handleConfirm = () => {\n const canDelete = this.state.deleteConfirmation === 'delete' || this.state.deleteConfirmation === 'DELETE'\n\n if (canDelete) {\n this.props.deleteElement({ elementId: this.props.elementId })\n }\n }\n\n projectVersionsToShow = this.props.affectedProjectVersions.slice(0, NUMBER_OF_PROJECT_VERSIONS_TO_SHOW)\n\n projectVersionsList = this.projectVersionsToShow.map((projectVersion) => {\n return (\n \n

    \n {`- ${projectVersion.attributes.title}`}\n

    \n \n )\n })\n\n renderLoader = () => {\n return (\n \n )\n }\n\n renderPopupContent = () => {\n const {\n deleting,\n affectedProjectVersions,\n } = this.props\n\n const { deleteConfirmation } = this.state\n const canDelete = this.state.deleteConfirmation === 'delete' || this.state.deleteConfirmation === 'DELETE'\n const shouldDisableButton = !canDelete || deleting\n const shouldShowWarningAboutProjectVersions = affectedProjectVersions.length > 0\n const shouldRenderInformationAboutMoreProjectVersions = affectedProjectVersions.length > NUMBER_OF_PROJECT_VERSIONS_TO_SHOW\n\n return (\n \n

    \n \n Warning: The asset will be deleted permanently.
    \n

    \n {shouldShowWarningAboutProjectVersions && (\n \n

    \n In addition, it will be removed from the following project(s):\n

    \n
      \n {this.projectVersionsList}\n { shouldRenderInformationAboutMoreProjectVersions && (\n
    • \n {`and from ${affectedProjectVersions.length - NUMBER_OF_PROJECT_VERSIONS_TO_SHOW} more projects`}\n
    • \n )}\n
    \n
    \n )}\n

    \n Type “delete” below to validate this action.\n

    \n\n \n\n \n
    \n )\n }\n\n render() {\n const {\n closePopup,\n loadingAffectedProjectVersions\n } = this.props\n\n const shouldRenderLoader = loadingAffectedProjectVersions\n\n return (\n \n
    Delete the asset
    \n {shouldRenderLoader ? this.renderLoader() : this.renderPopupContent()}\n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { assetsTable } = state\n\n return {\n deleting: assetsTable.deleting,\n elementId: assetsTable.elementToDeleteId,\n affectedProjectVersions: assetsTable.affectedProjectVersions,\n loadingAffectedProjectVersions: assetsTable.loadingAffectedProjectVersions\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n deleteElement,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DeleteElement)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@SiteComponents/Popup'\nimport Button from '@SiteComponents/Button'\n\nimport {\n deleteProjectVersion\n} from './actions'\n\nimport {\n IDeleteProjectVersionPayload\n} from './types'\n\nimport AttentionIcon from '@Images/attention.svg'\n\nimport './DeleteProjectVersionPopup.scss'\n\ninterface DeleteProjectVersionProps {\n readonly loading: boolean\n readonly projectVersionIds: string[]\n closePopup(): void\n deleteProjectVersion(payload: IDeleteProjectVersionPayload): void\n}\n\ninterface DeleteProjectVersionState {\n readonly deleteConfirmation: string\n}\n\nclass DeleteProjectVersion extends React.Component {\n state = {\n deleteConfirmation: ''\n }\n\n changeDeleteCofirmation = (e: React.ChangeEvent) => {\n this.setState({\n deleteConfirmation: (e.target as HTMLInputElement).value\n })\n }\n\n handleConfirm = () => {\n const canDelete = this.state.deleteConfirmation === 'delete' || this.state.deleteConfirmation === 'DELETE'\n\n if (canDelete) {\n this.props.deleteProjectVersion({ projectVersionIds: this.props.projectVersionIds })\n }\n }\n\n render() {\n const { closePopup, loading } = this.props\n const { deleteConfirmation } = this.state\n const canDelete = this.state.deleteConfirmation === 'delete' || this.state.deleteConfirmation === 'DELETE'\n const shouldDisableButton = !canDelete || loading\n\n return (\n \n
    Delete the project(s)
    \n

    \n \n Warning, you will delete the project(s)
    \n and all the subtitles related to them.\n

    \n

    \n Type “delete” below to validate this action.\n

    \n\n \n\n \n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n return {\n loading: state.deleteProjectVersion.loading,\n projectVersionIds: state.deleteProjectVersion.projectVersionIds,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n deleteProjectVersion,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DeleteProjectVersion)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { Navigate } from 'react-router-dom'\n\nimport Header from '@SiteContainers/Header'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport AssetsTable from '@SiteContainers/AssetsTable'\nimport ChannelsTable from '@SiteContainers/ChannelsTable'\nimport DashboardMenu from '@SiteContainers/DashboardMenu'\nimport ImportSrtPopup from '@SiteContainers/ImportSrtPopup'\nimport ExportationPopup from '@SiteContainers/ExportationPopup'\nimport CreateLabelPopup from '@SiteContainers/CreateLabelPopup'\nimport DashboardSidebar from '@SiteContainers/DashboardSidebar'\nimport RateSubtitlePopup from '@SiteContainers/RateSubtitlePopup'\nimport ExternalTokenPopup from '@SiteContainers/ExternalTokenPopup'\nimport ProjectVersionsList from '@SiteContainers/ProjectVersionsList'\nimport TableHeaderContainer from '@SiteContainers/TableHeaderContainer'\nimport RenameLabelPopup from '@SiteContainers/RenameLabelPopup/RenameLabelPopup'\nimport DeleteLabelPopup from '@SiteContainers/DeleteLabelPopup/DeleteLabelPopup'\nimport DeleteElementPopup from '@SiteContainers/DeleteElementPopup/DeleteElementPopup'\nimport DeleteProjectVersionPopup from '@SiteContainers/DeleteProjectVersionPopup/DeleteProjectVersionPopup'\nimport PageLoader from '@EditorComponents/PageLoader'\n\nimport showConfetti from '@Utils/ShowConfettiAnimation'\n\nimport { IApplicationState } from '../../rootReducer'\n\nimport {\n IProjectVersion,\n} from '@SiteContainers/ProjectVersionsList/types'\n\nimport {\n closePopup,\n fetchProjectVersions,\n} from '@SiteContainers/ProjectVersionsList/actions'\n\nimport {\n closeDeleteElementPopup,\n} from '@SiteContainers/AssetsTable/actions'\n\nimport {\n openCreateLabelPopup,\n closePopupDashboardSidebar,\n} from '@SiteContainers/DashboardSidebar/actions'\n\nimport './Dashboard.scss'\n\ninterface DashboardProps {\n readonly currentTab: string\n readonly email: string\n readonly confirmedEmail: boolean\n readonly hasCurrentSubscription: boolean\n readonly importSrtPopupOpen: boolean\n readonly exportationPopupOpen: boolean\n readonly deleteLabelPopupOpen: boolean\n readonly renameLabelPopupOpen: boolean\n readonly createLabelPopupOpen: boolean\n readonly rateSubtitlePopupOpen: boolean\n readonly externalTokenPopupOpen: boolean\n readonly deleteElementPopupOpen: boolean\n readonly deleteProjectVersionPopupOpen: boolean\n readonly loadingUserData: boolean\n readonly hasLoadedSubscriptionSuccessfully: boolean\n readonly userRole: string\n readonly loadingProjectVersions: boolean\n readonly projectVersions: IProjectVersion[]\n readonly selectedLabels: number[]\n closePopup(): void\n openCreateLabelPopup(): void\n closePopupDashboardSidebar(): void\n closeDeleteElementPopup(): void\n fetchProjectVersions(): void\n}\n\ninterface DashboardState {\n hasLoadedProjectVersions: boolean\n}\n\nclass Dashboard extends React.Component {\n constructor(props: DashboardProps) {\n super(props)\n\n this.state = {\n hasLoadedProjectVersions: false\n }\n }\n\n componentDidMount() {\n this.props.fetchProjectVersions()\n\n const bodyElement = document.querySelectorAll('body')[0]\n bodyElement.style.backgroundColor = '#1F2023'\n\n if (window.location.href.includes('paid=true')) {\n showConfetti()\n }\n }\n\n componentWillUnmount() {\n const bodyElement = document.querySelectorAll('body')[0]\n bodyElement.style.backgroundColor = '#FFFFFF'\n }\n\n componentDidUpdate(prevProps: DashboardProps) {\n if (prevProps.loadingUserData && !this.props.loadingUserData) {\n if (this.props.confirmedEmail && !this.props.hasCurrentSubscription && this.props.userRole !== 'admin') {\n window.location.href = '/subscriptions'\n }\n }\n\n if (prevProps.loadingProjectVersions && !this.props.loadingProjectVersions) {\n this.setState({ hasLoadedProjectVersions: true })\n }\n }\n\n closePopup = () => {\n this.props.closePopup()\n this.props.closeDeleteElementPopup()\n this.props.closePopupDashboardSidebar()\n }\n\n forwardToProjectTypeSelection = () => {\n window.location.href = '/project_type_selection'\n }\n\n renderExternalTokenPopup = () => {\n return(\n \n )\n }\n\n renderExportationPopup = () => {\n return(\n \n )\n }\n\n renderSrtImportPopup = () => {\n return(\n \n )\n }\n\n renderDeleteProjectVersionPopup = () => {\n return(\n \n )\n }\n\n renderRateSubtitlePopup = () => {\n return(\n \n )\n }\n\n renderCreateLabelPopup = () => {\n return(\n \n )\n }\n\n renderDeleteElementPopup = () => {\n return(\n \n )\n }\n\n renderDeleteLabelPopup = () => {\n return(\n \n )\n }\n\n renderRenameLabelPopup = () => {\n return (\n \n )\n }\n\n renderPopups = () => {\n const {\n importSrtPopupOpen,\n exportationPopupOpen,\n createLabelPopupOpen,\n deleteLabelPopupOpen,\n renameLabelPopupOpen,\n rateSubtitlePopupOpen,\n externalTokenPopupOpen,\n deleteElementPopupOpen,\n deleteProjectVersionPopupOpen,\n } = this.props\n\n return(\n \n {importSrtPopupOpen && this.renderSrtImportPopup()}\n {exportationPopupOpen && this.renderExportationPopup()}\n {createLabelPopupOpen && this.renderCreateLabelPopup()}\n {rateSubtitlePopupOpen && this.renderRateSubtitlePopup()}\n {externalTokenPopupOpen && this.renderExternalTokenPopup()}\n {deleteProjectVersionPopupOpen && this.renderDeleteProjectVersionPopup()}\n {deleteElementPopupOpen && this.renderDeleteElementPopup()}\n {deleteLabelPopupOpen && this.renderDeleteLabelPopup()}\n {renameLabelPopupOpen && this.renderRenameLabelPopup()}\n \n )\n }\n\n renderProjectsTab = () => {\n return (\n \n
    \n \n
    \n\n
    \n \n\n
    \n \n
    \n
    \n
    \n )\n }\n\n renderChannelsTab = () => {\n return (\n
    \n \n
    \n )\n }\n\n renderAssetsTab = () => {\n return (\n
    \n \n
    \n )\n }\n\n renderDashboard = () => {\n const shouldRenderProjectsTab = this.props.currentTab === 'projects'\n const shouldRenderChannelsTab = this.props.currentTab === 'channels'\n const shouldRenderAssetsTab = this.props.currentTab === 'assets'\n\n return (\n
    \n {this.renderPopups()}\n\n
    \n\n
    \n

    \n Dashboard\n

    \n\n
    \n \n
    \n
    \n \n\n {shouldRenderProjectsTab && this.renderProjectsTab()}\n {shouldRenderChannelsTab && this.renderChannelsTab()}\n {shouldRenderAssetsTab && this.renderAssetsTab()}\n
    \n )\n }\n\n render() {\n const shouldForwardToEmailConfirmationPage = !this.props.confirmedEmail\n\n const shouldForwardToSubscriptions =\n !shouldForwardToEmailConfirmationPage &&\n this.props.hasLoadedSubscriptionSuccessfully &&\n !this.props.hasCurrentSubscription &&\n this.props.userRole !== 'admin'\n\n const hasProjectVersions = this.props.projectVersions.length > 0\n const hasLabelsSelected = this.props.selectedLabels.length > 0\n\n const shouldForwardToProjectTypeSelection =\n !shouldForwardToEmailConfirmationPage &&\n !shouldForwardToSubscriptions &&\n !this.props.loadingProjectVersions &&\n this.state.hasLoadedProjectVersions &&\n this.props.hasLoadedSubscriptionSuccessfully &&\n !hasLabelsSelected &&\n !hasProjectVersions\n\n const shouldForward = shouldForwardToEmailConfirmationPage || shouldForwardToSubscriptions || shouldForwardToProjectTypeSelection\n\n const shouldRenderLoader = !shouldForward && !this.state.hasLoadedProjectVersions\n const shouldRenderDashboard = !shouldForward && this.state.hasLoadedProjectVersions && (hasProjectVersions || hasLabelsSelected)\n\n return (\n \n {shouldForwardToEmailConfirmationPage && (\n \n )}\n {shouldForwardToSubscriptions && (\n \n )}\n {shouldForwardToProjectTypeSelection && (\n \n )}\n {shouldRenderDashboard && this.renderDashboard()}\n {shouldRenderLoader && ()}\n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const {\n projectVersionsList,\n dashboardSidebar,\n user,\n dashboardMenu,\n assetsTable,\n subscription,\n labels,\n } = state\n\n return {\n currentTab: dashboardMenu.currentTab,\n confirmedEmail: user.user.attributes.confirmedEmail,\n email: user.user.attributes.email,\n importSrtPopupOpen: projectVersionsList.openImportSrtPopup,\n deleteElementPopupOpen: assetsTable.openDeleteElementPopup,\n deleteLabelPopupOpen: dashboardSidebar.openDeleteLabelPopup,\n renameLabelPopupOpen: dashboardSidebar.openRenameLabelPopup,\n exportationPopupOpen: projectVersionsList.openExportationPopup,\n rateSubtitlePopupOpen: projectVersionsList.openRateSubtitlePopup,\n externalTokenPopupOpen: projectVersionsList.openExternalTokenPopup,\n createLabelPopupOpen: dashboardSidebar.openCreateLabelPopup,\n deleteProjectVersionPopupOpen: projectVersionsList.openDeleteProjectVersionPopup,\n hasCurrentSubscription: user.subscription.attributes.isCurrent,\n loadingUserData: user.loading,\n hasLoadedSubscriptionSuccessfully: subscription.hasLoadedSuccessfully,\n userRole: user.user.attributes.role,\n loadingProjectVersions: projectVersionsList.loading,\n projectVersions: projectVersionsList.projectVersions,\n selectedLabels: labels.selectedLabels,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n closePopup,\n openCreateLabelPopup,\n closeDeleteElementPopup,\n closePopupDashboardSidebar,\n fetchProjectVersions,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Dashboard)\n","export default function firstLetterUppercase(str: string): string {\n return `${str.charAt(0).toUpperCase()}${str.slice(1)}`\n}\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgArrowPvSettings = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 12,\n height: 7,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M6 6.95q-.201 0-.375-.063a.9.9 0 0 1-.325-.212L.675 2.05a.9.9 0 0 1-.262-.688A.98.98 0 0 1 .7.675.95.95 0 0 1 1.4.4q.424 0 .7.275l3.9 3.9L9.925.65a.9.9 0 0 1 .688-.263.98.98 0 0 1 .687.288.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7l-4.6 4.6q-.15.15-.325.212A1.1 1.1 0 0 1 6 6.95\"\n})));\nexport default SvgArrowPvSettings;","import React, { useState } from 'react'\nimport classnames from 'classnames'\nimport map from 'lodash/map'\nimport capitalize from 'lodash/capitalize'\nimport firstLetterUppercase from '@Utils/FirstLetterUppercase'\nimport Parameter from '@SiteComponents/Parameter'\nimport Arrow from '@Images/arrow_pv_settings.svg'\n\nimport {\n IParameter,\n IGuidelineParameters,\n} from '@SiteModules/Guideline/types'\n\ninterface ParametersProps {\n readonly parametersEdited: boolean\n readonly editedParameters: IGuidelineParameters\n changeParameter(name: string, value: number | boolean): void\n}\n\nconst DELAY_TO_SHOW_OVERFLOW = 200 // ms, The same time as for the opening/closing animations in CustomizationForm__parameters-list\n\nconst MIN_NUMBER_OF_LINES = 1\nconst MAX_NUMBER_OF_LINES = 3\n\nconst MIN_CPL = 16\nconst MAX_CPL = 50\n\nconst MIN_GAP = 1\nconst MAX_GAP = 6\n\nconst MIN_CPS = 15\nconst MAX_CPS = 30\n\nconst BASIC_PARAMETERS: IParameter[] = [{\n name: 'numberOfLines',\n title: 'Maximum number of lines',\n unit: 'lines',\n minValue: MIN_NUMBER_OF_LINES,\n maxValue: MAX_NUMBER_OF_LINES,\n}, {\n name: 'cpl',\n title: 'Maximum characters per line (CPL)',\n unit: 'CPL',\n minValue: MIN_CPL,\n maxValue: MAX_CPL,\n}]\n\nconst ADVANCED_PARAMETERS: IParameter[] = [{\n name: 'gap',\n title: 'Minimum gap between subtitles',\n unit: 'frames',\n minValue: MIN_GAP,\n maxValue: MAX_GAP,\n}, {\n name: 'cps',\n title: 'Maximum character per second (CPS)',\n unit: 'CPS',\n minValue: MIN_CPS,\n maxValue: MAX_CPS,\n}]\n\nconst Parameters: React.FC = props => {\n const {\n editedParameters,\n } = props\n\n const [advancedSettingsOpen, setAdvancedSettingsOpen] = useState(false)\n const [advancedSettingsOpenDelayed, setAdvancedSettingsOpenDelayed] = useState(false)\n\n const changeUseParameter = (name: string, value: boolean) => {\n props.changeParameter(`use${firstLetterUppercase(name)}`, value)\n }\n\n const toggleAdvancedSettings = () => {\n // https://stackoverflow.com/questions/13938460/css-transition-auto-height-not-working\n const listDiv = document.getElementById('CustomizationForm__parameters-list')\n if (!listDiv) { return }\n\n listDiv.clientHeight ? closeAdvancedSettings(listDiv) : openAdvancedSettings(listDiv)\n }\n\n const openAdvancedSettings = (listDiv: HTMLElement) => {\n const wrapper = document.querySelector('.CustomizationForm__parameters-list-inner-wrapper')\n if (wrapper) {\n listDiv.style.height = wrapper.clientHeight + 'px'\n setAdvancedSettingsOpen(true)\n setTimeout(() => {\n setAdvancedSettingsOpenDelayed(true)\n }, DELAY_TO_SHOW_OVERFLOW)\n }\n }\n\n const closeAdvancedSettings = (listDiv: HTMLElement) => {\n listDiv.style.height = '0'\n setAdvancedSettingsOpen(false)\n setAdvancedSettingsOpenDelayed(false)\n }\n\n const basicParametersList = map(BASIC_PARAMETERS, (parameter, index) => {\n const handleChange = (newValue: number) => {\n props.changeParameter(parameter.name, newValue)\n }\n\n const handleChangeUse = (newValue: boolean) => {\n changeUseParameter(parameter.name, newValue)\n }\n\n return (\n
  • \n \n
  • \n )\n })\n\n const advancedParametersList = map(ADVANCED_PARAMETERS, (parameter, index) => {\n const handleChange = (newValue: number) => {\n props.changeParameter(parameter.name, newValue)\n }\n\n const handleChangeUse = (newValue: boolean) => {\n changeUseParameter(parameter.name, newValue)\n }\n\n return (\n
  • \n \n
  • \n )\n })\n\n const renderAdvancedSettingsHandler = () => {\n return (\n \n {advancedSettingsOpen ? 'Hide advanced settings' : 'Show advanced settings'}\n \n \n )\n }\n\n const renderBasicParametersList = () => {\n return (\n
    \n
      \n {basicParametersList}\n
    \n
    \n )\n }\n\n const renderAdvancedParametersList = () => {\n return (\n \n
    \n
      \n {advancedParametersList}\n
    \n
    \n \n )\n }\n\n return (\n
    \n
    \n Subtitle settings\n
    \n {renderBasicParametersList()}\n {renderAdvancedParametersList()}\n {renderAdvancedSettingsHandler()}\n
    \n )\n}\n\nexport default Parameters\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgAttention2 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FF9581\",\n d: \"M8 8.666a.65.65 0 0 0 .475-.192A.65.65 0 0 0 8.667 8V5.316a.62.62 0 0 0-.192-.466A.66.66 0 0 0 8 4.666a.65.65 0 0 0-.475.192.65.65 0 0 0-.192.475v2.683q0 .285.192.467A.66.66 0 0 0 8 8.666m0 2.667a.65.65 0 0 0 .475-.192.64.64 0 0 0 .192-.475.65.65 0 0 0-.192-.475A.65.65 0 0 0 8 10a.65.65 0 0 0-.475.191.65.65 0 0 0-.192.475q0 .285.192.475a.64.64 0 0 0 .475.192m0 3.333a6.5 6.5 0 0 1-2.6-.525 6.7 6.7 0 0 1-2.117-1.425A6.7 6.7 0 0 1 1.86 10.6 6.5 6.5 0 0 1 1.333 8q0-1.385.526-2.6a6.7 6.7 0 0 1 1.424-2.117q.9-.9 2.117-1.425A6.5 6.5 0 0 1 8 1.333q1.383 0 2.6.525t2.117 1.425T14.14 5.4q.526 1.215.526 2.6 0 1.383-.526 2.6a6.7 6.7 0 0 1-1.424 2.116q-.9.9-2.117 1.425a6.5 6.5 0 0 1-2.6.525m0-1.333q2.217 0 3.775-1.558 1.558-1.56 1.558-3.775 0-2.217-1.558-3.776Q10.217 2.667 8 2.666q-2.217 0-3.775 1.558Q2.667 5.784 2.667 8t1.558 3.775Q5.783 13.333 8 13.333\"\n})));\nexport default SvgAttention2;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgDeleteCustomizationItem = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 10,\n height: 12,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M2.083 11.25q-.48 0-.823-.342a1.12 1.12 0 0 1-.343-.825V2.5A.57.57 0 0 1 .5 2.333a.57.57 0 0 1-.168-.416q0-.248.168-.416a.57.57 0 0 1 .416-.168H3.25q0-.248.168-.416A.56.56 0 0 1 3.833.75h2.334q.248 0 .416.167.167.168.167.416h2.333q.248 0 .416.168.168.167.168.416a.56.56 0 0 1-.168.416.56.56 0 0 1-.416.167v7.583q0 .482-.342.825a1.13 1.13 0 0 1-.824.342zm0-8.75v7.583h5.834V2.5zM3.25 8.333q0 .248.168.416t.415.168a.56.56 0 0 0 .416-.168.56.56 0 0 0 .168-.416V4.25a.57.57 0 0 0-.168-.416.57.57 0 0 0-.416-.167.56.56 0 0 0-.415.167.56.56 0 0 0-.168.416zm2.333 0q0 .248.168.416t.416.168a.56.56 0 0 0 .416-.168.56.56 0 0 0 .167-.416V4.25a.57.57 0 0 0-.167-.416.57.57 0 0 0-.416-.167.56.56 0 0 0-.416.167.56.56 0 0 0-.168.416z\"\n})));\nexport default SvgDeleteCustomizationItem;","import React, { useEffect } from 'react'\nimport Popup from '@SiteComponents/Popup'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport AttentionIcon from '@Images/attention2.svg'\n\nimport './WarningPopup.scss'\n\ninterface WarningPopupProps {\n readonly header: string\n readonly description: string\n readonly captionButton1: string\n readonly captionButton2: string\n readonly useEnterToConfirm?: boolean\n closePopup(): void\n delayedAction(): void\n}\n\nconst WarningPopup: React.FC = props => {\n const {\n header,\n description,\n captionButton1,\n captionButton2,\n useEnterToConfirm,\n } = props\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeydown)\n\n return () => {\n document.removeEventListener('keydown', handleKeydown)\n }\n }, [])\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (e.code !== 'Enter' || !useEnterToConfirm) { return }\n\n handleDiscard()\n }\n\n const handleDiscard = () => {\n props.delayedAction()\n props.closePopup()\n }\n\n return (\n \n
    \n \n {header}\n
    \n
    \n {description}\n
    \n
    \n \n \n
    \n \n )\n}\n\nexport default WarningPopup\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgEditCustomizationItem = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 12,\n height: 12,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M1.917 10.084h.816l5.032-5.032-.817-.816-5.031 5.031zm8.341-5.877L7.78 1.757 8.596.94A1.12 1.12 0 0 1 9.42.604q.489 0 .824.336l.816.817q.336.334.35.81.015.473-.32.808zM1.333 11.25a.56.56 0 0 1-.415-.168.56.56 0 0 1-.168-.415V9.019a.6.6 0 0 1 .175-.423l6.008-6.008 2.48 2.479-6.009 6.008a.58.58 0 0 1-.423.175zm6.023-6.606-.408-.408.817.816z\"\n})));\nexport default SvgEditCustomizationItem;","import React, { useEffect, useRef, useState } from 'react'\nimport { unstable_usePrompt } from 'react-router-dom'\nimport map from 'lodash/map'\nimport some from 'lodash/some'\nimport toastr from 'toastr'\nimport classnames from 'classnames'\nimport hasElementOrSomeParentTheClass from '@Utils/HasElementOrSomeParentTheClass'\nimport Parameters from './Parameters'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport WarningPopup from '@SiteComponents/WarningPopup'\nimport CheckboxV2 from '@EditorComponents/CheckboxV2'\nimport DeleteItem from '@Images/delete_customization_item.svg'\nimport EditItem from '@Images/edit_customization_item.svg'\nimport CancelEditing from '@Images/cancel_editing.svg'\nimport SaveInput from '@Images/save_input.svg'\n\nimport {\n IGuideline,\n IGuidelineAttributes,\n IGuidelineParameters,\n ICreateCustomizationPayload,\n ISaveCustomizationPayload,\n} from '@SiteModules/Guideline/types'\n\nimport {\n IVocabulary,\n} from '@SiteModules/Vocabulary/types'\n\nimport './CustomizationForm.scss'\n\ninterface CustomizationFormProps {\n readonly items: (IGuideline | IVocabulary)[]\n readonly placeholderText: string\n readonly contentEdited: boolean\n readonly parametersEdited?: boolean\n readonly activeItem: IGuideline | IVocabulary | null\n readonly editedContent: string\n readonly editedParameters?: IGuidelineParameters\n readonly editedName: string | null\n readonly isBusy: boolean\n readonly maxContentLength: number\n readonly maxNameLength: number\n readonly discardChangesPopupOpen: boolean\n readonly linkOffset?: number\n readonly isVocabulary?: boolean\n readonly defaultParameters?: IGuidelineParameters\n openDiscardChangesPopup(): void\n closeDiscardChangesPopup(): void\n setDelayedActionType(delayedActionType: string): void\n setDelayedActionItemIndex(delayedActionItemIndex: number | null): void\n setContentEdited(contentEdited: boolean): void\n setParametersEdited?(parametersEdited: boolean): void\n setActiveItem(activeItem: null | IGuideline | IVocabulary): void\n setEditedContent(editedContent: string): void\n setEditedParameters?(editedParameters: IGuidelineParameters): void\n setEditedName(editedName: string | null): void\n create(payload: ICreateCustomizationPayload): void\n save(payload: ISaveCustomizationPayload): void\n delayedAction(): void\n}\n\nconst HEIGHT_OF_ITEM = 40 // px Must be the same as height of .CustomizationForm__item in CustomizationForm.scss\nconst MARGIN_BOTTOM_OF_ITEM = 16 // px Must be the same as margin-bottom of .CustomizationForm__item in CustomizationForm.scss\n\nconst CustomizationForm: React.FC = props => {\n const {\n items,\n placeholderText,\n contentEdited,\n parametersEdited,\n activeItem,\n editedContent,\n editedParameters,\n editedName,\n linkOffset,\n isBusy,\n maxContentLength,\n maxNameLength,\n isVocabulary,\n discardChangesPopupOpen,\n defaultParameters,\n } = props\n\n const [deleteConfirmationPopupOpen, setDeleteConfirmationPopupOpen] = useState(false)\n\n const isGuideline = !isVocabulary\n const somethingHasBeenEdited = contentEdited || (typeof(parametersEdited) === 'boolean' && parametersEdited)\n const hasItems = items.length > 0\n const contentTooLong = isVocabulary ? some(editedContent.split('\\n'), content => content.length > maxContentLength) : editedContent.length > maxContentLength\n const itemName = isVocabulary ? 'vocabulary list' : 'guideline'\n\n const editedNameRef = useRef(editedName)\n const activeItemRef = useRef(activeItem)\n const itemsRef = useRef(items)\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeydown)\n document.addEventListener('mousedown', handleClickOutside)\n\n return () => {\n document.removeEventListener('keydown', handleKeydown)\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [])\n\n useEffect(() => {\n editedNameRef.current = editedName\n }, [editedName])\n\n useEffect(() => {\n activeItemRef.current = activeItem\n }, [activeItem])\n\n useEffect(() => {\n itemsRef.current = items\n }, [items])\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (e.code !== 'Enter' || editedNameRef.current === null) { return }\n\n handleSaveEditedName()\n }\n\n const handleClickOutside = (e: MouseEvent) => {\n if (editedNameRef.current === null) { return }\n\n if (e.target) {\n const element = e.target as HTMLElement\n if (hasElementOrSomeParentTheClass(element, 'CustomizationForm__name-input-wrapper') || hasElementOrSomeParentTheClass(element, 'CustomizationForm__button-wrapper-save-active')) {\n return\n } else {\n handleSaveEditedName()\n }\n }\n }\n\n const openDeleteConfirmationPopup = () => {\n setDeleteConfirmationPopupOpen(true)\n }\n\n const closeDeleteConfirmationPopup = () => {\n setDeleteConfirmationPopupOpen(false)\n\n props.setDelayedActionType('')\n }\n\n const changeItem = (item: IGuideline | IVocabulary | null) => {\n props.setActiveItem(item)\n let newEditedContent = ''\n if (item) {\n newEditedContent = isVocabulary ? (item as IVocabulary).attributes.utterances.join('\\n') : (item as IGuideline).attributes.prompt\n }\n props.setEditedContent(newEditedContent)\n props.setContentEdited(false)\n\n if (isGuideline) {\n let newEditedParameters = defaultParameters as IGuidelineParameters\n\n if (item) {\n newEditedParameters = (item as IGuideline).attributes.parameters\n }\n\n props.setEditedParameters!(newEditedParameters)\n props.setParametersEdited!(false)\n }\n }\n\n const changeContent = (e: React.ChangeEvent) => {\n const newEditedContent = (e.target as HTMLTextAreaElement).value\n props.setEditedContent(newEditedContent)\n\n const contentIsNew = !activeItem && newEditedContent.length > 0\n\n if (contentIsNew) {\n props.setContentEdited(true)\n } else {\n const contentHasChanged = isVocabulary\n ? !!activeItem && newEditedContent !== ((activeItem as IVocabulary).attributes.utterances || []).join('\\n')\n : !!activeItem && newEditedContent !== (activeItem as IGuideline).attributes.prompt\n\n props.setContentEdited(contentHasChanged)\n\n props.setContentEdited(contentHasChanged)\n }\n }\n\n const startEditingName = () => {\n props.setEditedName(activeItem!.attributes.name)\n }\n\n const changeEditedName = (e: React.ChangeEvent) => {\n props.setEditedName((e.target as HTMLInputElement).value)\n }\n\n const cancelEditingName = () => {\n props.setEditedName(null)\n }\n\n const shouldContinueAfterNameCheck = (newEditedName: string) => {\n const nameAlreadyUsed = some(itemsRef.current, item => item.attributes.name === newEditedName)\n const nameTooLong = newEditedName.length > maxNameLength\n\n const canSaveName = !nameAlreadyUsed && !nameTooLong\n if (canSaveName) { return true }\n\n const message = nameAlreadyUsed ? 'Name already in use' : `Maximum name length is ${maxNameLength} characters`\n\n toastr.error(\n message,\n 'Cannot save name',\n )\n\n return false\n }\n\n const handleSaveEditedName = () => {\n const trimmedEditedName = editedNameRef.current?.trim()\n\n const shouldSaveNameForActiveItem = !!trimmedEditedName && activeItemRef.current && trimmedEditedName !== activeItemRef.current.attributes.name\n\n if (shouldSaveNameForActiveItem) {\n if (shouldContinueAfterNameCheck(trimmedEditedName)) {\n const isDefault = isGuideline && (activeItemRef.current!.attributes as IGuidelineAttributes).isDefault\n\n props.save({\n id: activeItemRef.current!.id,\n name: trimmedEditedName,\n ...(isDefault ? { defaultGuideline: activeItemRef.current as IGuideline } : {})\n })\n }\n } else {\n cancelEditingName()\n }\n }\n\n const saveEverything = () => {\n const shouldSaveNameForActiveItem = editedName !== null && editedName.trim().length > 0 && activeItem && editedName.trim() !== activeItem.attributes.name\n\n if (shouldSaveNameForActiveItem) {\n const newEditedName = editedName.trim()\n\n if (shouldContinueAfterNameCheck(newEditedName)) {\n const isDefault = isGuideline && (activeItem.attributes as IGuidelineAttributes).isDefault\n\n props.save({\n id: activeItem.id,\n name: newEditedName,\n content: editedContent,\n ...(isGuideline ? { parameters: editedParameters } : {}),\n ...(isDefault ? { defaultGuideline: activeItem as IGuideline } : {})\n })\n }\n } else {\n if (activeItem) {\n const isDefault = isGuideline && (activeItem.attributes as IGuidelineAttributes).isDefault\n\n props.save({\n id: activeItem.id,\n content: editedContent,\n ...(isGuideline ? { parameters: editedParameters } : {}),\n ...(isDefault ? { defaultGuideline: activeItem as IGuideline } : {})\n })\n } else {\n props.create({\n content: editedContent,\n ...(isGuideline ? { parameters: editedParameters } : {}),\n })\n }\n }\n }\n\n const createNewItem = () => {\n if (somethingHasBeenEdited) {\n props.setDelayedActionType('createNewItem')\n props.openDiscardChangesPopup()\n } else {\n props.create({})\n }\n }\n\n const deleteItem = () => {\n props.setDelayedActionType('deleteItem')\n openDeleteConfirmationPopup()\n }\n\n const changeParameter = (name: string, value: number | boolean) => {\n if (!editedParameters || !isGuideline) { return }\n\n const newEditedParameters = { ...editedParameters, [name]: value }\n props.setEditedParameters!(newEditedParameters)\n\n const isNew = !activeItem && JSON.stringify(newEditedParameters) !== JSON.stringify(defaultParameters)\n const hasChanged = !!activeItem && JSON.stringify(newEditedParameters) !== JSON.stringify((activeItem as IGuideline).attributes.parameters)\n const hasEditedParameters = isNew || hasChanged\n\n props.setParametersEdited!(hasEditedParameters)\n }\n\n const changeAiCorrection = (value: boolean) => {\n changeParameter('useAiCorrection', value)\n }\n\n const renderNameInput = () => {\n return (\n
    \n \n \n \n
    \n )\n }\n\n const renderNameAndActions = (item: IGuideline | IVocabulary) => {\n const isActive = activeItem && activeItem.id === item.id\n\n return (\n \n \n {item.attributes.name}\n
    \n {isActive && (\n \n )}\n {isActive && (\n \n )}\n \n )\n }\n\n const itemsToRender = map(items, (item, index) => {\n const isActive = activeItem === item\n\n const handleChangeItem = () => {\n if (isBusy) { return }\n\n if (!activeItem || item.id !== activeItem.id) {\n if (somethingHasBeenEdited) {\n props.setDelayedActionType('changeItem')\n props.setDelayedActionItemIndex(item.id)\n props.openDiscardChangesPopup()\n } else {\n changeItem(item)\n }\n }\n }\n\n return (\n \n {editedName && isActive ? renderNameInput() : renderNameAndActions(item)}\n \n )\n })\n\n const renderItems = () => {\n const activeItemIndex = activeItem ? items.indexOf(activeItem) : 0\n const topValueOfActiveLine = activeItemIndex * (HEIGHT_OF_ITEM + MARGIN_BOTTOM_OF_ITEM)\n\n return (\n
    \n
      \n {itemsToRender}\n
    \n {activeItem && (\n \n )}\n
    \n )\n }\n\n const renderAiCorrectionCheckbox = () => {\n return (\n
    \n \n
    \n )\n }\n\n const renderTextArea = () => {\n const renderingPlaceholderText = editedContent.length === 0\n const shouldRenderLink = renderingPlaceholderText && typeof(linkOffset) === 'number'\n\n return (\n
    \n \n {shouldRenderLink && (\n \n example.\n \n )}\n
    \n )\n }\n\n const renderWarningContentTooLong = () => {\n return(\n
    \n {`Input must not be longer than ${maxContentLength} characters`}\n
    \n )\n }\n\n const renderParameters = () => {\n return (\n \n )\n }\n\n const renderSaveButton = () => {\n const hasOnlyDefaultValuesForGuidelines = isGuideline && items.length === 0 // To allow to save the default parameters and an empty prompt\n const shouldDisableSaveButton = (!somethingHasBeenEdited || contentTooLong || isBusy) && !hasOnlyDefaultValuesForGuidelines\n\n return (\n
    \n \n
    \n )\n }\n\n const renderLeftPart = () => {\n return (\n
    \n {renderItems()}\n \n
    \n )\n }\n\n const renderRightPart = () => {\n const shouldRenderParameters = isGuideline\n\n return (\n
    \n {shouldRenderParameters && renderAiCorrectionCheckbox()}\n {renderTextArea()}\n {contentTooLong && renderWarningContentTooLong()}\n {shouldRenderParameters && renderParameters()}\n {renderSaveButton()}\n
    \n )\n }\n\n const renderDiscardChangesPopup = () => {\n return (\n \n )\n }\n\n const renderDeleteConfirmationPopup = () => {\n return (\n \n )\n }\n\n unstable_usePrompt({\n message: 'Are you sure you want to leave?',\n when: somethingHasBeenEdited || false\n })\n\n return (\n
    \n {hasItems && renderLeftPart()}\n {renderRightPart()}\n {discardChangesPopupOpen && renderDiscardChangesPopup()}\n {deleteConfirmationPopupOpen && renderDeleteConfirmationPopup()}\n
    \n )\n}\n\nexport default CustomizationForm\n","import React, { useState, useEffect } from 'react'\nimport find from 'lodash/find'\nimport CustomizationForm from '@SiteComponents/CustomizationForm'\n\nimport {\n IVocabulary,\n ICreateVocabularyPayload,\n IUpdateVocabularyPayload,\n IDeleteVocabularyPayload,\n} from '@SiteModules/Vocabulary/types'\n\nimport {\n ICreateCustomizationPayload,\n ISaveCustomizationPayload,\n IGuideline,\n} from '@SiteModules/Guideline/types'\n\n\ninterface VocabulariesFormProps {\n readonly vocabularies: IVocabulary[]\n readonly loading: boolean\n readonly modifying: boolean\n createVocabulary(payload: ICreateVocabularyPayload): void\n updateVocabulary(payload: IUpdateVocabularyPayload): void\n deleteVocabulary(payload: IDeleteVocabularyPayload): void\n}\n\nconst MAX_UTTERANCE_LENGTH = 100 // characters\nconst MAX_NAME_LENGTH = 100 // characters\n\nconst VocabulariesForm: React.FC = props => {\n const {\n vocabularies,\n loading,\n modifying\n } = props\n\n const [discardChangesPopupOpen, setDiscardChangesPopupOpen] = useState(false)\n const [delayedActionType, setDelayedActionType] = useState('')\n const [delayedActionItemIndex, setDelayedActionItemIndex] = useState(null)\n\n const [activeVocabulary, setActiveVocabulary] = useState(null)\n const [editedUtterancesString, setEditedUtterancesString] = useState('')\n\n const [editedName, setEditedName] = useState(null)\n const [utterancesEdited, setUtterancesEdited] = useState(false)\n\n const [hasSavedNameOnly, setHasSavedNameOnly] = useState(false)\n const [hasCreatedVocabulary, setHasCreatedVocabulary] = useState(false)\n\n const isBusy = loading || modifying\n const hasVocabularies = vocabularies.length > 0\n\n useEffect(() => {\n if (!loading) {\n if (hasCreatedVocabulary) {\n handleCreating()\n } else {\n handleLoadingUpdatingDeleting()\n }\n resetState()\n }\n }, [loading])\n\n const handleCreating = () => {\n const createdVocabulary = vocabularies.reduce((a, b) => {\n return (a.id > b.id) ? a : b\n })\n setActiveVocabulary(createdVocabulary)\n setEditedUtterancesString(createdVocabulary.attributes.utterances.join('\\n'))\n setHasCreatedVocabulary(false)\n }\n\n const handleLoadingUpdatingDeleting = () => {\n if (!activeVocabulary) {\n const newActiveVocabulary = hasVocabularies ? vocabularies[0] : null\n setActiveVocabulary(newActiveVocabulary)\n\n const newEditedUtterancesString = newActiveVocabulary && newActiveVocabulary.attributes.utterances ? newActiveVocabulary.attributes.utterances.join('\\n') : ''\n setEditedUtterancesString(newEditedUtterancesString)\n } else {\n const updatedActiveVocabulary = find(vocabularies, vocabulary => vocabulary.id === activeVocabulary.id)\n const newActiveVocabulary = updatedActiveVocabulary || (hasVocabularies ? vocabularies[0] : null)\n setActiveVocabulary(newActiveVocabulary)\n if (!hasSavedNameOnly) {\n setEditedUtterancesString(newActiveVocabulary ? newActiveVocabulary.attributes.utterances.join('\\n') : '')\n }\n }\n }\n\n const resetState = () => {\n setEditedName(null)\n\n if (hasSavedNameOnly) {\n setHasSavedNameOnly(false)\n } else {\n setUtterancesEdited(false)\n }\n }\n\n const closeDiscardChangesPopup = () => {\n setDiscardChangesPopupOpen(false)\n setDelayedActionType('')\n setDelayedActionItemIndex(null)\n }\n\n const openDiscardChangesPopup = () => {\n setDiscardChangesPopupOpen(true)\n }\n\n const changeVocabulary = (vocabulary: IVocabulary | null) => {\n setActiveVocabulary(vocabulary)\n setEditedUtterancesString(vocabulary ? vocabulary.attributes.utterances.join('\\n') : '')\n setUtterancesEdited(false)\n }\n\n const delayedAction = () => {\n if (delayedActionType === 'changeItem' && typeof(delayedActionItemIndex) === 'number') {\n const newVocabulary = find(vocabularies, vocabulary => vocabulary.id === delayedActionItemIndex)\n if (newVocabulary) {\n changeVocabulary(newVocabulary)\n }\n }\n\n if (delayedActionType === 'createNewItem') {\n props.createVocabulary({})\n setHasCreatedVocabulary(true)\n }\n\n if (delayedActionType === 'deleteItem' && activeVocabulary) {\n props.deleteVocabulary({ id: activeVocabulary.id })\n }\n }\n\n const handleCreate = (payload: ICreateCustomizationPayload) => {\n const { content } = payload\n\n props.createVocabulary({\n ...(content ? { utterances: content.split('\\n') } : {})\n })\n\n setHasCreatedVocabulary(true)\n }\n\n const handleSave = (payload: ISaveCustomizationPayload) => {\n const { id, name, content } = payload\n const hasContentToSave = typeof(content) === 'string'\n\n props.updateVocabulary({\n id,\n ...(name ? { name } : {}),\n ...(hasContentToSave ? { utterances: content.split('\\n') } : {})\n })\n\n setHasSavedNameOnly(!hasContentToSave)\n }\n\n const renderCustomizationForm = () => {\n const placeholderText = 'Type your words here. One line for one expression or word.'\n\n return (\n \n )\n }\n\n return (\n \n {renderCustomizationForm()}\n \n )\n}\n\nexport default VocabulariesForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '../../rootReducer'\nimport Header from '@SiteContainers/Header'\nimport VocabulariesForm from '@SiteComponents/VocabulariesForm'\n\nimport {\n IVocabulary,\n ICreateVocabularyPayload,\n IUpdateVocabularyPayload,\n IDeleteVocabularyPayload,\n} from '@SiteModules/Vocabulary/types'\n\nimport {\n createVocabulary,\n updateVocabulary,\n deleteVocabulary,\n fetchVocabularies,\n} from '@SiteModules/Vocabulary/actions'\n\nimport './Vocabularies.scss'\n\ninterface VocabulariesProps {\n readonly vocabularies: IVocabulary[]\n readonly loading: boolean\n readonly modifying: boolean\n fetchVocabularies(): void\n createVocabulary(payload: ICreateVocabularyPayload): void\n updateVocabulary(payload: IUpdateVocabularyPayload): void\n deleteVocabulary(payload: IDeleteVocabularyPayload): void\n}\n\ninterface VocabulariesState {\n hasLoadedInitially: boolean\n}\n\nclass Vocabularies extends React.Component {\n constructor(props: VocabulariesProps) {\n super(props)\n\n this.state = {\n hasLoadedInitially: false\n }\n }\n\n componentDidMount() {\n this.props.fetchVocabularies()\n }\n\n componentDidUpdate(prevProps: VocabulariesProps) {\n if (!this.state.hasLoadedInitially && prevProps.loading !== this.props.loading && !this.props.loading) {\n this.setState({ hasLoadedInitially: true })\n }\n }\n\n render() {\n const {\n vocabularies,\n loading,\n modifying,\n } = this.props\n\n return (\n
    \n
    \n
    \n Vocabularies\n
    \n
    \n Add words to improve the results of your projects.\n
    \n {this.state.hasLoadedInitially && (\n \n )}\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { vocabularies } = state\n\n return {\n vocabularies: vocabularies.vocabularies,\n loading: vocabularies.loading,\n modifying: vocabularies.modifying,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n fetchVocabularies,\n createVocabulary,\n updateVocabulary,\n deleteVocabulary,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Vocabularies)\n","import React, { useState, useEffect } from 'react'\nimport map from 'lodash/map'\nimport find from 'lodash/find'\nimport classnames from 'classnames'\nimport CustomizationForm from '@SiteComponents/CustomizationForm'\n\nimport {\n IGuideline,\n IGuidelineParameters,\n ICreateGuidelinePayload,\n IUpdateGuidelinePayload,\n IDeleteGuidelinePayload,\n ICreateCustomizationPayload,\n ISaveCustomizationPayload,\n IUpdateDefaultGuidelinePayload,\n IDeleteDefaultGuidelinePayload,\n} from '@SiteModules/Guideline/types'\n\nimport {\n IVocabulary,\n} from '@SiteModules/Vocabulary/types'\n\nimport './GuidelinesForm.scss'\n\ninterface GuidelinesFormProps {\n readonly captionGuidelines: IGuideline[]\n readonly translationGuidelines: IGuideline[]\n readonly loading: boolean\n readonly modifying: boolean\n createGuideline(payload: ICreateGuidelinePayload): void\n updateGuideline(payload: IUpdateGuidelinePayload): void\n deleteGuideline(payload: IDeleteGuidelinePayload): void\n deleteDefaultGuideline(payload: IDeleteDefaultGuidelinePayload): void\n updateDefaultGuideline(payload: IUpdateDefaultGuidelinePayload): void\n}\n\nconst TABS = [\n 'Caption Guidelines',\n 'Translation Guidelines'\n]\n\nconst CAPTION_GUIDELINES_TAB_INDEX = 0\nconst LINK_OFFSET_CAPTION = 288 // px\nconst LINK_OFFSET_TRANSLATION = 301 // px\nconst MAX_PROMPT_LENGTH = 50000 // characters\nconst MAX_NAME_LENGTH = 100 // characters\n\nconst DEFAULT_PARAMETERS: IGuidelineParameters = {\n numberOfLines: 2,\n cpl: 40,\n gap: 2,\n cps: 20,\n useAiCorrection: true,\n useNumberOfLines: true,\n useCpl: true,\n useGap: true,\n useCps: true\n}\n\nconst GuidelinesForm: React.FC = props => {\n const {\n captionGuidelines,\n translationGuidelines,\n loading,\n modifying\n } = props\n\n const [discardChangesPopupOpen, setDiscardChangesPopupOpen] = useState(false)\n const [delayedActionType, setDelayedActionType] = useState('')\n const [delayedActionItemIndex, setDelayedActionItemIndex] = useState(null)\n\n const [activeTabIndex, setActiveTabIndex] = useState(CAPTION_GUIDELINES_TAB_INDEX)\n\n const [activeGuideline, setActiveGuideline] = useState(null)\n const [editedPrompt, setEditedPrompt] = useState('')\n const [editedParameters, setEditedParameters] = useState(DEFAULT_PARAMETERS)\n\n const [editedName, setEditedName] = useState(null)\n const [promptEdited, setPromptEdited] = useState(false)\n const [parametersEdited, setParametersEdited] = useState(false)\n\n const [hasSavedNameOnly, setHasSavedNameOnly] = useState(false)\n const [hasCreatedGuideline, setHasCreatedGuideline] = useState(false)\n\n const isBusy = loading || modifying\n const isCaptionGuidelinesTab = activeTabIndex === CAPTION_GUIDELINES_TAB_INDEX\n const relevantGuidelines = isCaptionGuidelinesTab ? captionGuidelines : translationGuidelines\n const hasRelevantGuidelines = relevantGuidelines.length > 0\n\n useEffect(() => {\n if (!loading) {\n if (hasCreatedGuideline) {\n handleCreating()\n } else {\n handleLoadingUpdatingDeleting()\n }\n resetState()\n }\n }, [loading])\n\n useEffect(() => {\n const newGuideline = hasRelevantGuidelines ? relevantGuidelines[0] : null\n\n changeGuideline(newGuideline)\n }, [activeTabIndex])\n\n const handleCreating = () => {\n const createdGuideline = relevantGuidelines.reduce((a, b) => {\n return (a.id > b.id) ? a : b\n })\n setActiveGuideline(createdGuideline)\n if (!hasSavedNameOnly) {\n setEditedPrompt(createdGuideline.attributes.prompt)\n setEditedParameters(createdGuideline.attributes.parameters)\n }\n setHasCreatedGuideline(false)\n }\n\n const handleLoadingUpdatingDeleting = () => {\n if (!activeGuideline) {\n const newActiveGuideline = hasRelevantGuidelines ? relevantGuidelines[0] : null\n setActiveGuideline(newActiveGuideline)\n\n const newEditedPrompt = newActiveGuideline ? newActiveGuideline.attributes.prompt : ''\n const newEditedParameters = newActiveGuideline ? newActiveGuideline.attributes.parameters : DEFAULT_PARAMETERS\n setEditedPrompt(newEditedPrompt)\n setEditedParameters(newEditedParameters)\n } else {\n const updatedActiveGuideline = find(relevantGuidelines, relevantGuideline => relevantGuideline.id === activeGuideline.id)\n const newActiveGuideline = updatedActiveGuideline || (hasRelevantGuidelines ? relevantGuidelines[0] : null)\n setActiveGuideline(newActiveGuideline)\n if (!hasSavedNameOnly) {\n setEditedPrompt(newActiveGuideline ? newActiveGuideline.attributes.prompt : '')\n setEditedParameters(newActiveGuideline ? newActiveGuideline.attributes.parameters : DEFAULT_PARAMETERS)\n }\n }\n }\n\n const resetState = () => {\n setEditedName(null)\n\n if (hasSavedNameOnly) {\n setHasSavedNameOnly(false)\n } else {\n setPromptEdited(false)\n setParametersEdited(false)\n }\n }\n\n const closeDiscardChangesPopup = () => {\n setDiscardChangesPopupOpen(false)\n setDelayedActionType('')\n setDelayedActionItemIndex(null)\n }\n\n const openDiscardChangesPopup = () => {\n setDiscardChangesPopupOpen(true)\n }\n\n const changeGuideline = (guideline: IGuideline | null) => {\n setActiveGuideline(guideline)\n setEditedPrompt(guideline ? guideline.attributes.prompt : '')\n setEditedParameters(guideline ? guideline.attributes.parameters : DEFAULT_PARAMETERS)\n setPromptEdited(false)\n setParametersEdited(false)\n }\n\n const delayedAction = () => {\n if (delayedActionType === 'changeTab' && typeof(delayedActionItemIndex) === 'number') {\n setActiveTabIndex(delayedActionItemIndex)\n }\n\n if (delayedActionType === 'changeItem' && typeof(delayedActionItemIndex) === 'number') {\n const newGuideline = find(relevantGuidelines, relevantGuideline => relevantGuideline.id === delayedActionItemIndex)\n if (newGuideline) {\n changeGuideline(newGuideline)\n }\n }\n\n if (delayedActionType === 'createNewItem') {\n props.createGuideline({\n category: isCaptionGuidelinesTab ? 'caption' : 'translation',\n parameters: DEFAULT_PARAMETERS\n })\n setHasCreatedGuideline(true)\n }\n\n if (delayedActionType === 'deleteItem' && activeGuideline) {\n if ((activeGuideline as IGuideline).attributes.isDefault) {\n props.deleteDefaultGuideline({ id: activeGuideline.id })\n } else {\n props.deleteGuideline({ id: activeGuideline.id })\n }\n }\n }\n\n const handleCreate = (payload: ICreateCustomizationPayload) => {\n const { content, parameters } = payload\n\n props.createGuideline({\n category: isCaptionGuidelinesTab ? 'caption' : 'translation',\n parameters: parameters ? parameters : DEFAULT_PARAMETERS,\n ...(content ? { prompt: content } : {})\n })\n\n setHasCreatedGuideline(true)\n }\n\n const handleSave = (payload: ISaveCustomizationPayload) => {\n const { id, name, content, defaultGuideline, parameters } = payload\n const hasContentToSave = typeof(content) === 'string'\n\n if (defaultGuideline) {\n props.updateDefaultGuideline({\n id,\n name: name || defaultGuideline.attributes.name,\n prompt: content || defaultGuideline.attributes.prompt || '',\n parameters: parameters || defaultGuideline.attributes.parameters,\n category: defaultGuideline.attributes.category,\n hasSavedNameOnly: !hasContentToSave && !parameters\n })\n\n setHasCreatedGuideline(true) // When updating a default guideline, a new guideline is created\n } else {\n props.updateGuideline({\n id,\n ...(name ? { name } : {}),\n ...(hasContentToSave ? { prompt: content } : {}),\n ...(parameters ? { parameters } : {})\n })\n }\n\n setHasSavedNameOnly(!hasContentToSave && !parameters)\n }\n\n const tabItems = map(TABS, (tab, index) => {\n const handleChangeTab = () => {\n if (isBusy) { return }\n\n if (index !== activeTabIndex) {\n if (promptEdited || parametersEdited) {\n setDelayedActionType('changeTab')\n setDelayedActionItemIndex(index)\n openDiscardChangesPopup()\n } else {\n setActiveTabIndex(index)\n }\n }\n }\n\n return (\n \n {tab}\n \n )\n })\n\n const renderTabs = () => {\n return (\n \n
      \n {tabItems}\n
    \n
    \n
    \n )\n }\n\n const renderCustomizationForm = () => {\n const category = isCaptionGuidelinesTab ? 'captions' : 'translation'\n const placeholderText = `Give instructions to improve the ${category} you get. You can explain the type of ${category} that you want. View`\n const linkOffset = isCaptionGuidelinesTab ? LINK_OFFSET_CAPTION : LINK_OFFSET_TRANSLATION\n\n return (\n \n )\n }\n\n return (\n \n {renderTabs()}\n {renderCustomizationForm()}\n \n )\n}\n\nexport default GuidelinesForm\n","import filter from 'lodash/filter'\nimport map from 'lodash/map'\n\nimport { createSelector } from 'reselect'\n\nimport {\n IGuideline,\n IGuidelineState\n} from './types'\n\nexport const getGuidelines = (state: IGuidelineState): IGuideline[] => state.guidelines\n\nexport const getCaptionGuidelines = createSelector(\n [getGuidelines],\n (guidelines) => filter(guidelines, guideline => guideline.attributes.category === 'caption')\n)\n\nexport const getTranslationGuidelines = createSelector(\n [getGuidelines],\n (guidelines) => filter(guidelines, guideline => guideline.attributes.category === 'translation')\n)\n\nexport const getCaptionGuidelineNames = createSelector(\n [getCaptionGuidelines],\n (captionGuidelines) => map(captionGuidelines, captionGuideline => captionGuideline.attributes.name)\n)\n\nexport const getCaptionGuidelineIds = createSelector(\n [getCaptionGuidelines],\n (captionGuidelines) => map(captionGuidelines, captionGuideline => captionGuideline.id)\n)\n\nexport const getTranslationGuidelineNames = createSelector(\n [getTranslationGuidelines],\n (translationGuidelines) => map(translationGuidelines, translationGuideline => translationGuideline.attributes.name)\n)\n\nexport const getTranslationGuidelineIds = createSelector(\n [getTranslationGuidelines],\n (translationGuidelines) => map(translationGuidelines, translationGuideline => translationGuideline.id)\n)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '../../rootReducer'\nimport Header from '@SiteContainers/Header'\nimport GuidelinesForm from '@SiteComponents/GuidelinesForm'\n\nimport {\n IGuideline,\n ICreateGuidelinePayload,\n IUpdateGuidelinePayload,\n IDeleteGuidelinePayload,\n IUpdateDefaultGuidelinePayload,\n IDeleteDefaultGuidelinePayload,\n} from '@SiteModules/Guideline/types'\n\nimport {\n fetchGuidelines,\n createGuideline,\n updateGuideline,\n deleteGuideline,\n updateDefaultGuideline,\n deleteDefaultGuideline,\n} from '@SiteModules/Guideline/actions'\n\nimport {\n getCaptionGuidelines,\n getTranslationGuidelines,\n} from '@SiteModules/Guideline/selectors'\n\nimport './Guidelines.scss'\n\ninterface GuidelinesProps {\n readonly captionGuidelines: IGuideline[]\n readonly translationGuidelines: IGuideline[]\n readonly loading: boolean\n readonly modifying: boolean\n fetchGuidelines(): void\n createGuideline(payload: ICreateGuidelinePayload): void\n updateGuideline(payload: IUpdateGuidelinePayload): void\n deleteGuideline(payload: IDeleteGuidelinePayload): void\n updateDefaultGuideline(payload: IUpdateDefaultGuidelinePayload): void\n deleteDefaultGuideline(payload: IDeleteDefaultGuidelinePayload): void\n}\n\ninterface GuidelinesState {\n hasLoadedInitially: boolean\n}\n\nclass Guidelines extends React.Component {\n constructor(props: GuidelinesProps) {\n super(props)\n\n this.state = {\n hasLoadedInitially: false\n }\n }\n\n componentDidMount() {\n this.props.fetchGuidelines()\n }\n\n componentDidUpdate(prevProps: GuidelinesProps) {\n if (!this.state.hasLoadedInitially && prevProps.loading !== this.props.loading && !this.props.loading) {\n this.setState({ hasLoadedInitially: true })\n }\n }\n\n render() {\n const {\n captionGuidelines,\n translationGuidelines,\n loading,\n modifying,\n } = this.props\n\n return (\n
    \n
    \n
    \n Guidelines\n
    \n
    \n Improve and adapt your subtitles according to your needs.\n
    \n {this.state.hasLoadedInitially && (\n \n )}\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { guidelines } = state\n\n return {\n captionGuidelines: getCaptionGuidelines(guidelines),\n translationGuidelines: getTranslationGuidelines(guidelines),\n loading: guidelines.loading,\n modifying: guidelines.modifying,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n fetchGuidelines,\n createGuideline,\n updateGuideline,\n deleteGuideline,\n updateDefaultGuideline,\n deleteDefaultGuideline,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Guidelines)\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgTermbaseSettings = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 17,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"m10 2.69 5 4.5V15h-2V9H7v6H5V7.19zM10 0 0 9h3v8h6v-6h2v6h6V9h3z\"\n})));\nexport default SvgTermbaseSettings;","import React, { useState, useEffect } from 'react'\nimport uniq from 'lodash/uniq'\nimport classnames from 'classnames'\nimport Multiselect from 'react-widgets/Multiselect'\nimport Popup from '@SiteComponents/Popup'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport TermbaseSettingsIcon from '@Images/termbase_settings.svg'\n\nimport {\n ITermbase,\n ISaveTermbasePayload,\n} from '@SiteModules/Termbase/types'\n\nimport '@Root/config/dropdowns.scss'\nimport './TermbaseSettingsPopup.scss'\n\ninterface TermbaseSettingsPopupProps {\n readonly allFullnameLanguages: string[]\n readonly termbaseToSetUp?: ITermbase\n readonly otherTermbasesNames: string[]\n closePopup(): void\n saveTermbase(payload: ISaveTermbasePayload): void\n}\n\nconst TOP_LANGUAGES = [\n 'Arabic',\n 'Chinese, Mandarin (Simplified, China)',\n 'English',\n 'French',\n 'French (Canada)',\n 'German',\n 'Hindi',\n 'Italian',\n 'Japanese',\n 'Portuguese',\n 'Russian',\n 'Spanish'\n]\n\nconst MAX_NAME_LENGTH = 100 // characters\nconst PROTECTED_NAME = 'None'\n\nconst TermbaseSettingsPopup: React.FC = props => {\n const {\n termbaseToSetUp,\n allFullnameLanguages,\n otherTermbasesNames,\n } = props\n\n const initialName = termbaseToSetUp ? termbaseToSetUp.attributes.name : ''\n const initialLanguages = termbaseToSetUp ? termbaseToSetUp.attributes.fullnameLanguages : []\n const [name, setName] = useState(initialName)\n const [languages, setLanguages] = useState(initialLanguages)\n\n const languagesWithTopLanguagesFirst = uniq(TOP_LANGUAGES.concat(allFullnameLanguages))\n const newName = name.trim()\n const inputUnchanged = newName === initialName && languages === initialLanguages\n const nameTooLong = newName.length > MAX_NAME_LENGTH\n const nameTooShort = newName.length === 0\n const nameAlreadyInUse = otherTermbasesNames.includes(newName)\n const nameProtected = newName === PROTECTED_NAME\n const noLanguagesSelected = languages.length === 0\n const inputCannotBeProcessed = noLanguagesSelected || nameTooShort || nameTooLong || nameAlreadyInUse || nameProtected\n const shouldDisableSaveButton = inputUnchanged || inputCannotBeProcessed\n\n const [showInfo, setShowInfo] = useState(false)\n const [infoTimeout, setInfoTimeout] = useState | null>(null)\n const shouldShowInfo = showInfo && inputCannotBeProcessed\n\n let info = ''\n if (noLanguagesSelected) {\n info = 'The languages cannot be empty.'\n } else if (nameTooShort) {\n info = 'The name cannot be empty.'\n } else if (nameTooLong) {\n info = `The name cannot be longer than ${MAX_NAME_LENGTH} characters.`\n } else if (nameAlreadyInUse) {\n info = 'Name alread in use.'\n } else if (nameProtected) {\n info = 'Name cannot be used.'\n }\n\n useEffect(() => {\n const inputFieldLanguages = document.querySelectorAll('.TermbaseSettingsPopup__input-wrapper-multiselect .rw-multiselect .rw-multiselect-input')[0] as HTMLInputElement\n const inputContainerLanguages = document.querySelectorAll('.TermbaseSettingsPopup__input-wrapper-multiselect .rw-widget-input.rw-widget-picker.rw-widget-container')[0] as HTMLElement\n if (languages.length > 0) {\n inputFieldLanguages.placeholder = '+ Add language'\n inputContainerLanguages.style.border = 'none'\n inputContainerLanguages.style.paddingRight = '0px'\n } else {\n inputContainerLanguages.style.border = '1px solid #4D576D'\n\n const handleMouseEnter = () => {\n inputContainerLanguages.style.border = '1px solid #CA9FFC'\n }\n const handleMouseLeave = () => {\n inputContainerLanguages.style.border = '1px solid #4D576D'\n }\n\n inputContainerLanguages.addEventListener('mouseenter', handleMouseEnter)\n inputContainerLanguages.addEventListener('mouseleave', handleMouseLeave)\n\n return () => {\n inputContainerLanguages.removeEventListener('mouseenter', handleMouseEnter)\n inputContainerLanguages.removeEventListener('mouseleave', handleMouseLeave)\n }\n }\n }, [languages])\n\n const handleChangeName = (e: React.ChangeEvent) => {\n setName((e.target as HTMLInputElement).value)\n }\n\n const handleSave = () => {\n props.saveTermbase({ name: newName, languages })\n\n props.closePopup()\n }\n\n const displayInfo = () => {\n if (infoTimeout) { return }\n\n const newInfoTimeout = setTimeout(() => {\n setShowInfo(true)\n }, window.Checksub.tooltipDelay)\n setInfoTimeout(newInfoTimeout)\n }\n\n const hideInfo = () => {\n if (!infoTimeout) { return }\n\n setShowInfo(false)\n clearTimeout(infoTimeout)\n setInfoTimeout(null)\n }\n\n const renderNameInput = () => {\n return (\n
    \n \n \n
    \n )\n }\n\n const languageGrouping = (language: string) => TOP_LANGUAGES.includes(language) ? 'Top Languages' : 'All Languages'\n\n const onSearch = () => {\n setTimeout(() => {\n const emptyList = document.getElementsByClassName('rw-list-empty')\n\n if (emptyList && emptyList.length > 0) {\n emptyList[0].innerHTML = 'Not available'\n }\n }, 0)\n }\n\n const renderLanguageSelectionInput = () => {\n return (\n
    0})}>\n \n \n \n
    \n )\n }\n\n return (\n \n
    \n \n Term Base Settings\n
    \n {renderNameInput()}\n {renderLanguageSelectionInput()}\n
    \n \n \n \n
    \n {shouldShowInfo && (\n
    \n {info}\n
    \n )}\n \n \n )\n}\n\nexport default TermbaseSettingsPopup\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgDeleteTermbaseEntry = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 18,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M3 18q-.824 0-1.412-.587A1.93 1.93 0 0 1 1 16V3a.97.97 0 0 1-.713-.287A.97.97 0 0 1 0 2a.97.97 0 0 1 .287-.713A.97.97 0 0 1 1 1h4q0-.425.288-.713A.97.97 0 0 1 6 0h4a.97.97 0 0 1 .713.287A.97.97 0 0 1 11 1h4q.424 0 .712.287Q16 1.575 16 2a.97.97 0 0 1-.288.713A.97.97 0 0 1 15 3v13q0 .825-.587 1.413A1.93 1.93 0 0 1 13 18zM3 3v13h10V3zm2 10q0 .424.288.712A.97.97 0 0 0 6 14a.97.97 0 0 0 .713-.288A.97.97 0 0 0 7 13V6a.97.97 0 0 0-.287-.713A.97.97 0 0 0 6 5a.97.97 0 0 0-.712.287A.97.97 0 0 0 5 6zm4 0q0 .424.288.712A.97.97 0 0 0 10 14a.97.97 0 0 0 .713-.288A.97.97 0 0 0 11 13V6a.97.97 0 0 0-.287-.713A.97.97 0 0 0 10 5a.97.97 0 0 0-.712.287A.97.97 0 0 0 9 6z\"\n})));\nexport default SvgDeleteTermbaseEntry;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgTermAdd = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 11,\n height: 10,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#1D1D1D\",\n d: \"M5.5 9.666a.64.64 0 0 1-.475-.192A.64.64 0 0 1 4.833 9V5.666H1.5a.65.65 0 0 1-.475-.192A.65.65 0 0 1 .833 5q0-.284.192-.476a.65.65 0 0 1 .475-.191h3.333V1q0-.284.192-.476A.65.65 0 0 1 5.5.333q.283 0 .475.191A.65.65 0 0 1 6.167 1v3.333H9.5q.283 0 .475.191a.65.65 0 0 1 .192.476.64.64 0 0 1-.192.474.64.64 0 0 1-.475.192H6.167V9a.65.65 0 0 1-.192.474.65.65 0 0 1-.475.192\"\n})));\nexport default SvgTermAdd;","import React, { useEffect, useRef } from 'react'\nimport map from 'lodash/map'\nimport find from 'lodash/find'\nimport hasElementOrSomeParentTheClass from '@Utils/HasElementOrSomeParentTheClass'\nimport toastr from 'toastr'\nimport classnames from 'classnames'\n\nimport Delete from '@Images/delete_termbase_entry.svg'\nimport CancelEditing from '@Images/cancel_editing.svg'\nimport SaveInput from '@Images/save_input.svg'\n\nimport {\n ITermbaseEntry,\n IUpdateTermbaseEntryPayload,\n} from '@SiteModules/Termbase/types'\n\nimport './TermbasesTable.scss'\n\ninterface TermbasesTableProps {\n readonly termbaseEntries: ITermbaseEntry[]\n readonly editedTerm: string | null\n readonly editedPronunciation: string | null\n readonly editedTermbaseEntryId: number | null\n readonly editedTermbaseEntryDataItemIndex: number | null\n setEditedTerm(editedTerm: string | null): void\n setEditedPronunciation(editedPronunciation: string | null): void\n setEditedTermbaseEntryId(editedTermBaseEntryId: number | null): void\n setEditedTermbaseEntryDataItemIndex(editedTermBaseEntryDateItemIndex: number | null): void\n updateTermbaseEntry(payload: IUpdateTermbaseEntryPayload): void\n deleteTermbaseEntry(termbaseEntryId: number): void\n setKeepAfterLoading(keepAfterLoading: string | null): void\n}\n\nconst MAX_TERM_LENGTH = 500 // characters\nconst MAX_PRONUNCIATION_LENGTH = 500 // characters\n\nconst TermbasesTable: React.FC = props => {\n const {\n termbaseEntries,\n editedTerm,\n editedPronunciation,\n editedTermbaseEntryId,\n editedTermbaseEntryDataItemIndex,\n } = props\n\n const editedTermRef = useRef(editedTerm)\n const editedPronunciationRef = useRef(editedPronunciation)\n const editedTermbaseEntryIdRef = useRef(editedTermbaseEntryId)\n const editedTermbaseEntryDataItemIndexRef = useRef(editedTermbaseEntryDataItemIndex)\n const termbaseEntriesRef = useRef(termbaseEntries)\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeydown)\n document.addEventListener('mousedown', handleClickOutside)\n\n return () => {\n document.removeEventListener('keydown', handleKeydown)\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [])\n\n useEffect(() => {\n editedTermRef.current = editedTerm\n }, [editedTerm])\n\n useEffect(() => {\n editedPronunciationRef.current = editedPronunciation\n }, [editedPronunciation])\n\n useEffect(() => {\n editedTermbaseEntryIdRef.current = editedTermbaseEntryId\n }, [editedTermbaseEntryId])\n\n useEffect(() => {\n editedTermbaseEntryDataItemIndexRef.current = editedTermbaseEntryDataItemIndex\n }, [editedTermbaseEntryDataItemIndex])\n\n useEffect(() => {\n termbaseEntriesRef.current = termbaseEntries\n }, [termbaseEntries])\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (e.code !== 'Enter' || (typeof(editedTermRef.current) !== 'string' && typeof(editedPronunciationRef.current) !== 'string')) { return }\n\n if ((typeof(editedTermRef.current) === 'string')) {\n handleSaveEditedTerm()\n } else {\n handleSaveEditedPronunciation()\n }\n }\n\n const handleClickOutside = (e: MouseEvent) => {\n if (typeof(editedTermRef.current) !== 'string' && typeof(editedPronunciationRef.current) !== 'string') { return }\n\n if (e.target) {\n const element = e.target as HTMLElement\n if (hasElementOrSomeParentTheClass(element, 'TermbasesTable__input-wrapper')) {\n return\n } else {\n if (hasElementOrSomeParentTheClass(element, 'TermbasesTable__term-inner-wrapper')) {\n props.setKeepAfterLoading('term')\n }\n\n if (hasElementOrSomeParentTheClass(element, 'TermbasesTable__pronunciation-inner-wrapper')) {\n props.setKeepAfterLoading('pronunciation')\n }\n\n if (typeof(editedTermRef.current) === 'string') {\n handleSaveEditedTerm()\n } else {\n handleSaveEditedPronunciation()\n }\n }\n }\n }\n\n const changeEditedTerm = (e: React.ChangeEvent) => {\n props.setEditedTerm((e.target as HTMLInputElement).value)\n }\n\n const changeEditedPronunciation = (e: React.ChangeEvent) => {\n props.setEditedPronunciation((e.target as HTMLInputElement).value)\n }\n\n const cancelEditing = () => {\n props.setEditedTerm(null)\n props.setEditedPronunciation(null)\n props.setEditedTermbaseEntryDataItemIndex(null)\n }\n\n const shouldContinueAfterCheck = (newEditedItem: string, lengthLimit: number, itemName: string) => {\n const itemTooLong = newEditedItem.length > lengthLimit\n\n if (!itemTooLong) { return true }\n\n const message = `Maximum ${itemName} length is ${lengthLimit} characters`\n\n toastr.error(\n message,\n `Cannot save ${itemName}`,\n )\n\n return false\n }\n\n const handleSaveEditedTerm = () => {\n const newEditedTerm = (editedTermRef.current as string).trim()\n const term = find(termbaseEntriesRef.current, termbaseEntry => termbaseEntry.id === editedTermbaseEntryIdRef.current)\n\n if (term && typeof(editedTermbaseEntryDataItemIndexRef.current) === 'number') {\n const dataItem = term.attributes.data[editedTermbaseEntryDataItemIndexRef.current]\n const shouldSaveTerm = (dataItem.term !== newEditedTerm) && !(newEditedTerm.length === 0 && !dataItem.term) // Do not save if the term was undefined and now an empty string is entered for it\n\n if (shouldSaveTerm) {\n if (shouldContinueAfterCheck(newEditedTerm, MAX_TERM_LENGTH, 'term')) {\n props.updateTermbaseEntry({ termbaseEntryId: editedTermbaseEntryIdRef.current as number, term: newEditedTerm as string, entryDataItemIndex: editedTermbaseEntryDataItemIndexRef.current as number })\n }\n } else {\n cancelEditing()\n }\n } else {\n cancelEditing()\n }\n }\n\n const handleSaveEditedPronunciation = () => {\n const newEditedPronunciation = (editedPronunciationRef.current as string).trim()\n const pronunciation = find(termbaseEntriesRef.current, termbaseEntry => termbaseEntry.id === editedTermbaseEntryIdRef.current)\n\n if (pronunciation && typeof(editedTermbaseEntryDataItemIndexRef.current) === 'number') {\n const dataItem = pronunciation.attributes.data[editedTermbaseEntryDataItemIndexRef.current]\n const shouldSavePronunciation = (dataItem.pronunciation !== newEditedPronunciation) && !(newEditedPronunciation.length === 0 && !dataItem.pronunciation) // Do not save if the pronunciation was undefined and now an empty string is entered for it\n\n if (shouldSavePronunciation) {\n if (shouldContinueAfterCheck(newEditedPronunciation, MAX_PRONUNCIATION_LENGTH, 'pronunciation')) {\n props.updateTermbaseEntry({ termbaseEntryId: editedTermbaseEntryIdRef.current as number, pronunciation: newEditedPronunciation as string, entryDataItemIndex: editedTermbaseEntryDataItemIndexRef.current as number })\n }\n } else {\n cancelEditing()\n }\n } else {\n cancelEditing()\n }\n }\n\n const renderTableHead = () => {\n return (\n \n \n \n Language\n \n \n Term\n \n \n Pronunciation\n \n \n Last Modified\n \n \n \n \n )\n }\n\n const renderTableBody = () => {\n return (\n \n {tableBody}\n \n )\n }\n\n const tableBody = map(termbaseEntries, termbaseEntry => {\n const language = map(termbaseEntry.attributes.data, (dataItem, index) => {\n const languageColorIndex = index % window.Checksub.termbaseLanguageColors.length\n const languageColor = window.Checksub.termbaseLanguageColors[languageColorIndex]\n\n return (\n \n
    \n \n \n \n \n {dataItem.language}\n \n
    \n \n )\n })\n\n const term = map(termbaseEntry.attributes.data, (dataItem, index) => {\n const isEditing = typeof(editedTerm) === 'string' && editedTermbaseEntryId === termbaseEntry.id && editedTermbaseEntryDataItemIndex === index\n const termIsEmpty = !dataItem.term || dataItem.term.length === 0\n const pronunciationIsNotEmpty = dataItem.pronunciation && dataItem.pronunciation.length > 0\n const shouldShowPlaceholder = termIsEmpty && pronunciationIsNotEmpty\n\n const startEditingTerm = () => {\n props.setEditedTerm(dataItem.term || '')\n props.setEditedTermbaseEntryId(termbaseEntry.id)\n props.setEditedTermbaseEntryDataItemIndex(index)\n }\n\n const renderTerm = () => {\n return (\n \n {shouldShowPlaceholder ? 'Enter term to use the pronunciation' : dataItem.term}\n \n )\n }\n\n const renderTermInput = () => {\n return (\n
    \n \n \n \n
    \n )\n }\n\n return (\n \n {isEditing ? renderTermInput() : renderTerm()}\n \n )\n })\n\n const pronunciation = map(termbaseEntry.attributes.data, (dataItem, index) => {\n const isEditing = typeof(editedPronunciation) === 'string' && editedTermbaseEntryId === termbaseEntry.id && editedTermbaseEntryDataItemIndex === index\n\n const startEditingPronunciation = () => {\n props.setEditedPronunciation(dataItem.pronunciation || '')\n props.setEditedTermbaseEntryId(termbaseEntry.id)\n props.setEditedTermbaseEntryDataItemIndex(index)\n }\n\n const renderPronunciation = () => {\n return (\n \n {dataItem.pronunciation}\n \n )\n }\n\n const renderPronunciationInput = () => {\n return (\n
    \n \n \n \n
    \n )\n }\n\n return (\n \n {isEditing ? renderPronunciationInput() : renderPronunciation()}\n \n )\n })\n\n const updatedAt = map(termbaseEntry.attributes.data, (dataItem, index) => {\n return (\n \n {dataItem.updatedAt}\n \n )\n })\n\n const handleDeleteTermbaseEntry = () => {\n props.deleteTermbaseEntry(termbaseEntry.id)\n }\n\n return (\n \n \n {language}\n \n \n {term}\n \n \n {pronunciation}\n \n \n {updatedAt}\n \n \n \n \n \n )\n })\n\n return (\n \n {renderTableHead()}\n {renderTableBody()}\n
    \n )\n}\n\nexport default TermbasesTable\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgSearchTermbase = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 18,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"m15.9 17.3-5.6-5.6q-.75.6-1.725.95T6.5 13q-2.725 0-4.612-1.887T0 6.5t1.888-4.613Q3.775 0 6.5 0t4.613 1.887T13 6.5a6.1 6.1 0 0 1-1.3 3.8l5.625 5.625a.92.92 0 0 1 .275.675q0 .4-.3.7a.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275M6.5 11q1.875 0 3.188-1.312Q11 8.375 11 6.5T9.688 3.312Q8.375 2 6.5 2T3.312 3.312Q2 4.625 2 6.5t1.312 3.188Q4.625 11 6.5 11\"\n})));\nexport default SvgSearchTermbase;","import React, { useState } from 'react'\nimport map from 'lodash/map'\nimport filter from 'lodash/filter'\nimport classnames from 'classnames'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport WarningPopup from '@SiteComponents/WarningPopup'\nimport TermbaseSettingsPopup from '@SiteComponents/TermbaseSettingsPopup'\nimport TermbasesTable from './TermbasesTable'\nimport DeleteTermbase from '@Images/delete_customization_item.svg'\nimport EditTermbase from '@Images/edit_customization_item.svg'\nimport TermAdd from '@Images/term_add.svg'\nimport Search from '@Images/search_termbase.svg'\n\nimport {\n ITermbase,\n ITermbaseEntry,\n ISetActiveTermbaseIdPayload,\n ISetActivePagePayload,\n ISetSearchTermPayload,\n ICreateTermbasePayload,\n IUpdateTermbasePayload,\n IUpdateTermbaseEntryPayload,\n IAddTermbaseEntryPayload,\n ISaveTermbasePayload,\n} from '@SiteModules/Termbase/types'\n\nimport './TermbasesFormBody.scss'\n\ninterface TermbasesFormBodyProps {\n readonly termbases: ITermbase[]\n readonly termbaseEntries: ITermbaseEntry[]\n readonly activeTermbase?: ITermbase\n readonly editedTerm: string | null\n readonly editedPronunciation: string | null\n readonly editedTermbaseEntryId: number | null\n readonly editedTermbaseEntryDataItemIndex: number | null\n readonly isBusy: boolean\n readonly activePage: number\n readonly totalTermbaseEntryCount: number\n readonly totalPages: number\n readonly searchTerm?: string\n readonly allFullnameLanguages: string[]\n setDelayedActionType(delayedActionType: string): void\n setDelayedActionItem(delayedActionItem: number | null): void\n setActiveTermbaseId(payload: ISetActiveTermbaseIdPayload): void\n setActivePage(payload: ISetActivePagePayload): void\n setEditedTerm(editedTerm: string | null): void\n setEditedPronunciation(editedPronunciation: string | null): void\n setEditedTermbaseEntryId(editedTermBaseEntryId: number | null): void\n setEditedTermbaseEntryDataItemIndex(editedTermBaseEntryDateItemIndex: number | null): void\n createTermbase(payload: ICreateTermbasePayload): void\n updateTermbase(payload: IUpdateTermbasePayload): void\n delayedAction(): void\n updateTermbaseEntry(payload: IUpdateTermbaseEntryPayload): void\n addTermbaseEntry(payload: IAddTermbaseEntryPayload): void\n setSearchTerm(payload: ISetSearchTermPayload): void\n setKeepAfterLoading(keepAfterLoading: string | null): void\n}\n\nconst HEIGHT_OF_ITEM = 40 // px Must be the same as height of .TermbasesFormBody__termbase\nconst MARGIN_BOTTOM_OF_ITEM = 16 // px Must be the same as margin-bottom of .TermbasesFormBody__termbase\nconst ITEMS_PER_PAGE = 6 // As set in paginates_per in app/models/termbase_entry.tsx\nconst WIDTH_OF_PAGE_COUNTER = 32 // px Must be the same as width of .TermbasesFormBody_pagination-page\nconst MARGIN_RIGHT_OF_PAGE_COUNTER = 8 // px Must be the same as margin-right of .TermbasesFormBody_pagination-page\nconst MARGIN_RIGHT_OF_PAGE_COUNTERS = 8 // px Must be the same as margin-right of .TermbasesFormBody_pagination-pages\n\nconst TermbasesFormBody: React.FC = props => {\n const {\n termbases,\n termbaseEntries,\n activeTermbase,\n editedTerm,\n editedPronunciation,\n editedTermbaseEntryId,\n editedTermbaseEntryDataItemIndex,\n isBusy,\n activePage,\n totalTermbaseEntryCount,\n totalPages,\n searchTerm,\n allFullnameLanguages,\n } = props\n\n const [deleteTermbaseConfirmationPopupOpen, setDeleteTermbaseConfirmationPopupOpen] = useState(false)\n const [deleteTermbaseEntryConfirmationPopupOpen, setDeleteTermbaseEntryConfirmationPopupOpen] = useState(false)\n const [termbaseSettingsPopupOpen, setTermbaseSettingsPopupOpen] = useState(false)\n const [termbaseToSetUp, setTermbaseToSetUp] = useState()\n\n const hasPages = totalPages > 0\n const pageCounter = Array.from({ length: totalPages }, (_, i) => i + 1)\n\n const otherTermbases = termbaseToSetUp ? filter(termbases, termbase => termbase.id !== termbaseToSetUp.id) : termbases\n const otherTermbasesNames = map(otherTermbases, otherTermbase => otherTermbase.attributes.name)\n\n const openDeleteTermbaseConfirmationPopup = () => {\n setDeleteTermbaseConfirmationPopupOpen(true)\n }\n\n const openDeleteTermbaseEntryConfirmationPopup = () => {\n setDeleteTermbaseEntryConfirmationPopupOpen(true)\n }\n\n const closeDeleteConfirmationPopup = () => {\n setDeleteTermbaseConfirmationPopupOpen(false)\n setDeleteTermbaseEntryConfirmationPopupOpen(false)\n\n props.setDelayedActionType('')\n props.setDelayedActionItem(null)\n }\n\n const openTermbaseSettingsPopupForCreate = () => {\n disableScrollingOfPage(true)\n setTermbaseSettingsPopupOpen(true)\n }\n\n const openTermbaseSettingsPopupForUpdate = () => {\n disableScrollingOfPage(true)\n setTermbaseToSetUp(activeTermbase)\n setTermbaseSettingsPopupOpen(true)\n }\n\n const closeTermbaseSettingsPopup = () => {\n setTermbaseSettingsPopupOpen(false)\n setTermbaseToSetUp(undefined)\n disableScrollingOfPage(false)\n }\n\n const disableScrollingOfPage = (disable: boolean) => {\n const container = document.getElementsByClassName('Termbases')\n if (container && container.length > 0) {\n const containerElement = container[0] as HTMLElement\n containerElement.style.height = disable ? '100%' : 'auto'\n containerElement.style.overflowY = disable ? 'hidden' : 'scroll'\n }\n }\n\n const changeTermbase = (termbase: ITermbase) => {\n props.setActiveTermbaseId({ activeTermbaseId: termbase.id })\n }\n\n const saveTermbase = (payload: ISaveTermbasePayload) => {\n if (termbaseToSetUp) {\n props.updateTermbase({ id: termbaseToSetUp.id, ...payload })\n } else {\n props.createTermbase(payload)\n }\n }\n\n const deleteTermbase = () => {\n props.setDelayedActionType('deleteTermbase')\n\n openDeleteTermbaseConfirmationPopup()\n }\n\n const deleteTermbaseEntry = (termbaseEntryId: number) => {\n props.setDelayedActionType('deleteTermbaseEntry')\n props.setDelayedActionItem(termbaseEntryId)\n\n openDeleteTermbaseEntryConfirmationPopup()\n }\n\n const addTermbaseEntry = () => {\n props.addTermbaseEntry({ id: activeTermbase!.id })\n }\n\n const renderNameAndActions = (termbase: ITermbase) => {\n const isActive = activeTermbase && activeTermbase.id === termbase.id\n\n return (\n \n \n {termbase.attributes.name}\n \n {isActive && (\n \n )}\n {isActive && (\n \n )}\n \n )\n }\n\n const termbasesToRender = map(termbases, (termbase, index) => {\n const isActive = activeTermbase === termbase\n\n const handleChangeTermbase = () => {\n if (isBusy) { return }\n\n if (!activeTermbase || termbase.id !== activeTermbase.id) {\n changeTermbase(termbase)\n }\n }\n\n return (\n \n {renderNameAndActions(termbase)}\n \n )\n })\n\n const handleChangeSearchTerm = (e: React.ChangeEvent) => {\n props.setSearchTerm({ searchTerm: (e.target as HTMLInputElement).value })\n }\n\n const renderTermbases = () => {\n const activeTermbaseIndex = activeTermbase ? termbases.indexOf(activeTermbase) : 0\n const topValueOfActiveLine = activeTermbaseIndex * (HEIGHT_OF_ITEM + MARGIN_BOTTOM_OF_ITEM)\n\n return (\n
    \n
      \n {termbasesToRender}\n
    \n {activeTermbase && (\n \n )}\n
    \n )\n }\n\n const renderLeftPart = () => {\n return (\n
    \n {renderTermbases()}\n \n
    \n )\n }\n\n const renderSearchAndAddNewTerm = () => {\n const shouldShowSearchIcon = !searchTerm\n\n return (\n
    \n
    \n {shouldShowSearchIcon && (\n \n )}\n \n
    \n }\n size=\"large\"\n onClick={addTermbaseEntry}\n />\n
    \n )\n }\n\n const renderTermbasesTable = () => {\n return (\n \n )\n }\n\n const pages = map(pageCounter, (pageCount, index) => {\n const isActive = activePage === pageCount\n\n const handleSetActivePage = () => {\n props.setActivePage({ activePage: pageCount })\n }\n\n return (\n \n \n {pageCount}\n \n \n )\n })\n\n const renderPagination = () => {\n const min = (activePage - 1) * ITEMS_PER_PAGE + 1\n const max = Math.min(activePage * ITEMS_PER_PAGE, totalTermbaseEntryCount)\n\n const rightValueOfActiveBackground = (totalPages - activePage) * (WIDTH_OF_PAGE_COUNTER + MARGIN_RIGHT_OF_PAGE_COUNTER) + MARGIN_RIGHT_OF_PAGE_COUNTERS + MARGIN_RIGHT_OF_PAGE_COUNTER\n const showingText = totalTermbaseEntryCount === 0 ? '0' : `${min}-${max}`\n\n return (\n
    \n
    \n {`Showing ${showingText} of ${totalTermbaseEntryCount} items`}\n
    \n
    \n {hasPages && (\n \n )}\n
      \n {pages}\n
    \n
    \n
    \n )\n }\n\n const renderRightPart = () => {\n return (\n
    \n {renderSearchAndAddNewTerm()}\n {renderTermbasesTable()}\n {renderPagination()}\n
    \n )\n }\n\n const renderDeleteConfirmationPopup = (entity: string) => {\n return (\n \n )\n }\n\n const renderTermbaseSettingsPopup = () => {\n return (\n \n )\n }\n\n return (\n
    \n {renderLeftPart()}\n {activeTermbase && renderRightPart()}\n {deleteTermbaseConfirmationPopupOpen && renderDeleteConfirmationPopup('term base')}\n {deleteTermbaseEntryConfirmationPopupOpen && renderDeleteConfirmationPopup('term')}\n {termbaseSettingsPopupOpen && renderTermbaseSettingsPopup()}\n
    \n )\n}\n\nexport default TermbasesFormBody\n","import React, { useState, useEffect } from 'react'\nimport find from 'lodash/find'\nimport TermbasesFormBody from './TermbasesFormBody'\n\nimport {\n ITermbase,\n ITermbaseEntry,\n ISetActiveTermbaseIdPayload,\n ISetActivePagePayload,\n ISetSearchTermPayload,\n ICreateTermbasePayload,\n IUpdateTermbasePayload,\n IDeleteTermbasePayload,\n IUpdateTermbaseEntryPayload,\n IAddTermbaseEntryPayload,\n IDeleteTermbaseEntryPayload,\n} from '@SiteModules/Termbase/types'\n\ninterface TermbasesFormProps {\n readonly termbases: ITermbase[]\n readonly termbaseEntries: ITermbaseEntry[]\n readonly activeTermbaseId?: number\n readonly loadingTermbases: boolean\n readonly loadingTermbaseEntries: boolean\n readonly modifying: boolean\n readonly activePage: number\n readonly totalTermbaseEntryCount: number\n readonly totalPages: number\n readonly searchTerm?: string\n readonly allFullnameLanguages: string[]\n createTermbase(payload: ICreateTermbasePayload): void\n updateTermbase(payload: IUpdateTermbasePayload): void\n deleteTermbase(payload: IDeleteTermbasePayload): void\n updateTermbaseEntry(payload: IUpdateTermbaseEntryPayload): void\n addTermbaseEntry(payload: IAddTermbaseEntryPayload): void\n deleteTermbaseEntry(payload: IDeleteTermbaseEntryPayload): void\n setActiveTermbaseId(payload: ISetActiveTermbaseIdPayload): void\n setActivePage(payload: ISetActivePagePayload): void\n setSearchTerm(payload: ISetSearchTermPayload): void\n}\n\nconst TermbasesForm: React.FC = props => {\n const {\n termbases,\n termbaseEntries,\n activeTermbaseId,\n loadingTermbases,\n loadingTermbaseEntries,\n modifying,\n activePage,\n totalTermbaseEntryCount,\n totalPages,\n searchTerm,\n allFullnameLanguages,\n } = props\n\n const [delayedActionType, setDelayedActionType] = useState('')\n const [delayedActionItem, setDelayedActionItem] = useState(null)\n const [editedTerm, setEditedTerm] = useState(null)\n const [editedTermbaseEntryId, setEditedTermbaseEntryId] = useState(null)\n const [editedTermbaseEntryDataItemIndex, setEditedTermbaseEntryDataItemIndex] = useState(null)\n const [editedPronunciation, setEditedPronunciation] = useState(null)\n const [hasCreatedTermbase, setHasCreatedTermbase] = useState(false)\n const [keepAfterLoading, setKeepAfterLoading] = useState(null)\n\n const activeTermbase = find(termbases, termbase => termbase.id === activeTermbaseId)\n const isBusy = loadingTermbases || loadingTermbaseEntries || modifying\n const hasTermbases = termbases.length > 0\n\n useEffect(() => {\n if (!loadingTermbases) {\n if (hasCreatedTermbase) {\n handleCreating()\n } else {\n handleLoadingUpdatingDeleting()\n }\n }\n }, [loadingTermbases])\n\n useEffect(() => {\n if (!loadingTermbaseEntries) {\n if (keepAfterLoading !== 'term') {\n setEditedTerm(null)\n }\n\n if (keepAfterLoading !== 'pronunciation') {\n setEditedPronunciation(null)\n }\n\n if (keepAfterLoading) {\n setKeepAfterLoading(null)\n } else {\n setEditedTermbaseEntryId(null)\n setEditedTermbaseEntryDataItemIndex(null)\n }\n }\n }, [loadingTermbaseEntries])\n\n const handleCreating = () => {\n const createdTermbase = termbases.reduce((a, b) => {\n return (a.id > b.id) ? a : b\n })\n props.setActiveTermbaseId({ activeTermbaseId: createdTermbase.id })\n setHasCreatedTermbase(false)\n }\n\n const handleLoadingUpdatingDeleting = () => {\n if (!activeTermbase) {\n const newActiveTermbase = hasTermbases ? termbases[0] : undefined\n props.setActiveTermbaseId({ activeTermbaseId: newActiveTermbase?.id })\n } else {\n const updatedActiveTermbase = find(termbases, termbase => termbase.id === activeTermbase.id)\n const newActiveTermbase = updatedActiveTermbase || (hasTermbases ? termbases[0] : undefined)\n props.setActiveTermbaseId({ activeTermbaseId: newActiveTermbase?.id })\n }\n }\n\n const delayedAction = () => {\n if (delayedActionType === 'deleteTermbase' && activeTermbase) {\n props.deleteTermbase({ id: activeTermbase.id })\n }\n\n if (delayedActionType === 'deleteTermbaseEntry' && delayedActionItem) {\n props.deleteTermbaseEntry({ id: delayedActionItem })\n }\n }\n\n const handleCreate = (payload: ICreateTermbasePayload) => {\n props.createTermbase(payload)\n\n setHasCreatedTermbase(true)\n }\n\n return (\n \n )\n}\n\nexport default TermbasesForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '../../rootReducer'\nimport Header from '@SiteContainers/Header'\nimport TermbasesForm from '@SiteComponents/TermbasesForm'\n\nimport {\n ITermbase,\n ITermbaseEntry,\n IFetchTermbaseEntriesPayload,\n ISetActiveTermbaseIdPayload,\n ISetActivePagePayload,\n ISetSearchTermPayload,\n ICreateTermbasePayload,\n IUpdateTermbasePayload,\n IDeleteTermbasePayload,\n IUpdateTermbaseEntryPayload,\n IAddTermbaseEntryPayload,\n IDeleteTermbaseEntryPayload,\n} from '@SiteModules/Termbase/types'\n\nimport {\n fetchTermbases,\n fetchTermbaseEntries,\n setActiveTermbaseId,\n resetTermbaseEntries,\n setActivePage,\n setSearchTerm,\n createTermbase,\n updateTermbase,\n deleteTermbase,\n updateTermbaseEntry,\n addTermbaseEntry,\n deleteTermbaseEntry,\n} from '@SiteModules/Termbase/actions'\n\nimport './Termbases.scss'\n\ninterface TermbasesProps {\n readonly termbases: ITermbase[]\n readonly termbaseEntries: ITermbaseEntry[]\n readonly activeTermbaseId?: number\n readonly activePage: number\n readonly totalPages: number\n readonly totalTermbaseEntryCount: number\n readonly searchTerm?: string\n readonly loadingTermbases: boolean\n readonly loadingTermbaseEntries: boolean\n readonly modifying: boolean\n readonly allFullnameLanguages: string[]\n fetchTermbases(): void\n fetchTermbaseEntries(payload: IFetchTermbaseEntriesPayload): void\n setActiveTermbaseId(payload: ISetActiveTermbaseIdPayload): void\n resetTermbaseEntries(): void\n setActivePage(payload: ISetActivePagePayload): void\n setSearchTerm(payload: ISetSearchTermPayload): void\n createTermbase(payload: ICreateTermbasePayload): void\n updateTermbase(payload: IUpdateTermbasePayload): void\n deleteTermbase(payload: IDeleteTermbasePayload): void\n updateTermbaseEntry(payload: IUpdateTermbaseEntryPayload): void\n addTermbaseEntry(payload: IAddTermbaseEntryPayload): void\n deleteTermbaseEntry(payload: IDeleteTermbaseEntryPayload): void\n}\n\ninterface TermbasesState {\n hasLoadedInitially: boolean\n}\n\nconst DEFAULT_PAGE = 1\nconst DEFAULT_SEARCH_TERM = ''\n\nclass Termbases extends React.Component {\n constructor(props: TermbasesProps) {\n super(props)\n\n this.state = {\n hasLoadedInitially: false\n }\n }\n\n componentDidMount() {\n this.props.fetchTermbases()\n }\n\n componentDidUpdate(prevProps: TermbasesProps) {\n if (!this.state.hasLoadedInitially && prevProps.loadingTermbases !== this.props.loadingTermbases && !this.props.loadingTermbases) {\n this.setState({ hasLoadedInitially: true })\n }\n }\n\n handleCreateTermbase = (payload: ICreateTermbasePayload) => {\n this.props.setSearchTerm({ searchTerm: DEFAULT_SEARCH_TERM })\n this.props.createTermbase(payload)\n }\n\n handleDeleteTermbase = (payload: IDeleteTermbasePayload) => {\n this.props.setSearchTerm({ searchTerm: DEFAULT_SEARCH_TERM })\n this.props.deleteTermbase(payload)\n }\n\n handleFetchTermbaseEntries = (termbaseId: number, page: number, searchTerm: string | undefined) => {\n const hasSearchTerm = searchTerm && searchTerm.length > 0\n this.props.fetchTermbaseEntries({ page, termbaseId, ...(hasSearchTerm ? { searchTerm } : {}) })\n }\n\n handleSetActiveTermbaseId = (payload: ISetActiveTermbaseIdPayload) => {\n this.props.setActivePage({ activePage: DEFAULT_PAGE })\n this.props.setActiveTermbaseId(payload)\n\n if (typeof(payload.activeTermbaseId) === 'number') {\n this.handleFetchTermbaseEntries(payload.activeTermbaseId, DEFAULT_PAGE, this.props.searchTerm)\n } else {\n this.props.resetTermbaseEntries()\n }\n }\n\n handleAddTermbaseEntry = (payload: IAddTermbaseEntryPayload) => {\n this.props.setActivePage({ activePage: DEFAULT_PAGE })\n this.props.setSearchTerm({ searchTerm: DEFAULT_SEARCH_TERM })\n this.props.addTermbaseEntry(payload)\n }\n\n handleDeleteTermbaseEntry = (payload: IDeleteTermbaseEntryPayload) => {\n const isOnLastPage = this.props.activePage === this.props.totalPages\n const hasOnlyOneItemOnThisPage = this.props.termbaseEntries.length === 1\n\n if (isOnLastPage && hasOnlyOneItemOnThisPage && this.props.activePage > 1) {\n this.props.setActivePage({ activePage: this.props.activePage - 1 })\n }\n\n this.props.deleteTermbaseEntry(payload)\n }\n\n handleSetActivePage = (payload: ISetActivePagePayload) => {\n this.props.setActivePage(payload)\n this.handleFetchTermbaseEntries(this.props.activeTermbaseId as number, payload.activePage, this.props.searchTerm)\n }\n\n handleSetSearchTerm = (payload: ISetSearchTermPayload) => {\n this.props.setActivePage({ activePage: DEFAULT_PAGE })\n this.props.setSearchTerm(payload)\n this.handleFetchTermbaseEntries(this.props.activeTermbaseId as number, DEFAULT_PAGE, payload.searchTerm)\n }\n\n render() {\n const {\n termbases,\n termbaseEntries,\n activeTermbaseId,\n loadingTermbases,\n loadingTermbaseEntries,\n modifying,\n activePage,\n totalTermbaseEntryCount,\n totalPages,\n searchTerm,\n allFullnameLanguages,\n } = this.props\n\n return (\n
    \n
    \n
    \n Term Bases\n
    \n
    \n Improve your automatic translation thanks to consistency.\n
    \n {this.state.hasLoadedInitially && (\n \n )}\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { termbases } = state\n\n return {\n termbases: termbases.termbases,\n termbaseEntries: termbases.termbaseEntries,\n activeTermbaseId: termbases.activeTermbaseId,\n activePage: termbases.activePage,\n totalPages: termbases.totalPages,\n totalTermbaseEntryCount: termbases.totalTermbaseEntryCount,\n searchTerm: termbases.searchTerm,\n loadingTermbases: termbases.loadingTermbases,\n loadingTermbaseEntries: termbases.loadingTermbaseEntries,\n modifying: termbases.modifying,\n allFullnameLanguages: termbases.allFullnameLanguages,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n fetchTermbases,\n fetchTermbaseEntries,\n setActiveTermbaseId,\n resetTermbaseEntries,\n setActivePage,\n setSearchTerm,\n createTermbase,\n updateTermbase,\n deleteTermbase,\n updateTermbaseEntry,\n addTermbaseEntry,\n deleteTermbaseEntry,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Termbases)\n","var _path, _path2, _path3, _path4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgGoogleLogo = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n height: 24,\n preserveAspectRatio: \"xMidYMid\",\n viewBox: \"-3 0 262 262\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#4285F4\",\n d: \"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#34A853\",\n d: \"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FBBC05\",\n d: \"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602z\"\n})), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EB4335\",\n d: \"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n})));\nexport default SvgGoogleLogo;","import React from 'react'\nimport Logo from '@Images/checksub_white.png'\nimport classnames from 'classnames'\n\nimport './OnboardingSidebar.scss'\n\ninterface OnboardingSidebarProps {\n readonly type: string\n readonly caption1: JSX.Element\n readonly caption2: JSX.Element\n}\n\nconst OnboardingSidebar: React.FC = props => {\n return(\n
    \n \n
    \n {props.caption1}\n
    \n
    \n {props.caption2}\n
    \n
    \n )\n}\n\nexport default OnboardingSidebar\n","import React, { useEffect, useState } from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport Checkbox from '@EditorComponents/Checkbox'\nimport { Link } from 'react-router-dom'\nimport { IUser, IPasswordable, Submittable } from '@Root/types'\nimport { useForm } from 'react-hook-form'\n// import GoogleButton from '@Images/google_signin_light.png'\nimport GoogleLogo from '@Images/google-logo.svg'\nimport getParamValueFromUrl from '@Utils/GetParamValueFromUrl'\n\nimport './SignUpForm.scss'\n\n\ninterface TermsAndConditionsInput {\n readonly termsAndConditions: boolean\n}\n\ninterface SignUpFormStep1Props extends Submittable {\n}\n\ntype FormData = Pick & Pick & TermsAndConditionsInput\n\nconst SignUpFormStep1: React.FC = props => {\n const { register, handleSubmit, formState: { errors } } = useForm()\n\n const [emailFromUrl, setEmailFromUrl] = useState('')\n\n useEffect(() => {\n const url = window.location.href\n const email = getParamValueFromUrl(url, 'email')\n if (email) { setEmailFromUrl(decodeURIComponent(email)) }\n })\n\n // tslint:disable-next-line:no-shadowed-variable\n const onSubmit = handleSubmit(({ email, password }) => {\n props.submit(email, password)\n })\n\n const forwardToGoogle = () => {\n window.location.href = '/users/auth/google_oauth2'\n }\n\n const renderHeader = () => {\n return(\n
    \n Make your video accessible to everyone\n
    \n )\n }\n\n const renderOauth = () => {\n // TO KEEP IN CASE OF REVIEW\n // return(\n //
    \n // \n //
    \n // )\n return(\n
    \n }\n onClick={forwardToGoogle}\n />\n
    \n )\n }\n\n const renderSeparator = () => {\n return(\n
    \n
    \n OR\n
    \n
    \n )\n }\n\n const renderEmail = () => {\n return(\n
    \n \n \n {\n errors.email &&\n errors.email.type === 'required' &&\n ⚠ This field is required\n }\n {\n errors.email &&\n errors.email.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n {\n errors.email &&\n errors.email.type === 'pattern' &&\n ⚠ This must be a valid email address\n }\n
    \n )\n }\n\n const renderPassword = () => {\n return(\n
    \n \n \n {\n errors.password &&\n errors.password.type === 'required' &&\n ⚠ This field is required\n }\n {\n errors.password &&\n errors.password.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n {\n errors.password &&\n errors.password.type === 'minLength' &&\n ⚠ Password must be at least 6 characters long\n }\n
    \n )\n }\n\n const renderTermsAndConditions = () => {\n return(\n
    \n
    \n \n I have read and accept the general terms & conditions\n
    \n )}\n />\n
    \n {\n errors.termsAndConditions &&\n errors.termsAndConditions.type === 'required' &&\n ⚠ You must read and accept our terms and conditions\n }\n \n )\n }\n\n const renderSubmitButton = () => {\n return(\n
    \n \n
    \n )\n }\n\n const renderLinks = () => {\n return(\n
    \n Already have an account? Login here\n
    \n )\n }\n\n return(\n
    \n {renderLinks()}\n
    \n {renderHeader()}\n
    \n {renderOauth()}\n {renderSeparator()}\n {renderEmail()}\n {renderPassword()}\n {renderTermsAndConditions()}\n {renderSubmitButton()}\n
    \n
    \n
    \n )\n}\n\nexport default SignUpFormStep1\n","import React from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport { IUser, Submittable } from '@Root/types'\nimport { useForm } from 'react-hook-form'\nimport getBrowserLanguages from '@Utils/GetBrowserLanguages'\n\nimport './SignUpForm.scss'\n\ninterface SignUpFormStep2Props extends Submittable {\n readonly email: string\n readonly password: string\n}\n\ntype FormData = Pick & {\n readonly lastName: string\n}\n\nconst SignUpFormStep2: React.FC = props => {\n const { register, handleSubmit, formState: { errors } } = useForm()\n\n // tslint:disable-next-line:no-shadowed-variable\n const onSubmit = handleSubmit(({ name, lastName }) => {\n const languages = getBrowserLanguages()\n const email = props.email\n const password = props.password\n const passwordConfirmation = password\n\n props.submit({ name, lastName, email, password, passwordConfirmation, languages })\n })\n\n const renderHeader = () => {\n return(\n
    \n We personalise your experience\n
    \n )\n }\n\n const renderName = () => {\n return(\n
    \n \n \n {\n errors.name &&\n errors.name.type === 'required' &&\n ⚠ This field is required\n }\n {\n errors.name &&\n errors.name.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n
    \n )\n }\n\n const renderLastName = () => {\n return(\n
    \n \n \n {\n errors.lastName &&\n errors.lastName.type === 'required' &&\n ⚠ This field is required\n }\n {\n errors.lastName &&\n errors.lastName.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n
    \n )\n }\n\n const renderSubmitButton = () => {\n return(\n
    \n \n
    \n )\n }\n\n const renderStep = () => {\n return(\n
    \n Step 2 of 2\n
    \n )\n }\n\n return(\n
    \n {renderStep()}\n
    \n {renderHeader()}\n
    \n {renderName()}\n {renderLastName()}\n {renderSubmitButton()}\n
    \n
    \n
    \n )\n}\n\nexport default SignUpFormStep2\n","export default function getBrowserLanguages(): string[] {\n const locales = [\n ...(window.navigator.languages || []),\n window.navigator.language,\n (window.navigator.browserLanguage || ''),\n (window.navigator.userLanguage || ''),\n (window.navigator.systemLanguage || '')\n ].filter(language => language.length === 2)\n\n return locales\n}\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport OnboardingSidebar from '@SiteComponents/OnboardingSidebar'\nimport SignUpFormStep1 from './SignUpFormStep1'\nimport SignUpFormStep2 from './SignUpFormStep2'\n\nimport {\n PayloadData\n} from './types'\n\nimport {\n signUp\n} from './actions'\n\nimport './UsersSignUp.scss'\n\ninterface UsersSignUpProps {\n readonly loading: boolean\n signUp(payload: PayloadData): void\n}\n\ninterface UsersSignUpState {\n readonly email: string\n readonly password: string\n readonly isFirstOnboardingStep: boolean\n}\n\nclass UsersSignUp extends React.Component {\n constructor(props: UsersSignUpProps) {\n super(props)\n this.state = {\n email: '',\n password: '',\n isFirstOnboardingStep: true,\n }\n }\n\n signUpFirstStep = (email: string, password: string): void => {\n this.setState({\n email,\n password,\n isFirstOnboardingStep: false\n })\n }\n\n render() {\n const { loading } = this.props\n const { isFirstOnboardingStep, email, password } = this.state\n\n return (\n
    \n Now, I can translate my videos in minutes,
    the result is impressive.}\n caption2={Karine M, Video Content Manager}\n />\n
    \n {isFirstOnboardingStep ? (\n \n ) : (\n \n )}\n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { userSignUp } = state\n\n return {\n loading: userSignUp.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n signUp\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersSignUp)\n","import React, { useState } from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport { Link } from 'react-router-dom'\nimport { IUser, IPasswordable, Submittable } from '@Root/types'\nimport { useForm } from 'react-hook-form'\n// import GoogleButton from '@Images/google_signin_light.png'\nimport GoogleLogo from '@Images/google-logo.svg'\n\nimport './SignInForm.scss'\n\ninterface SignInFormProps extends Submittable {\n}\n\ntype FormData = Pick & Pick & {\n readonly remember_me: number // camelize it\n} & {\n readonly emailOrDomain: string\n}\n\nconst SignInForm: React.FC = props => {\n const { register, handleSubmit, formState: { errors } } = useForm()\n const [sso, setSso] = useState(false)\n\n const onSubmit = handleSubmit(({ email, password, remember_me, emailOrDomain }) => {\n props.submit(sso ? { emailOrDomain } : { email, password, remember_me: +remember_me }, sso)\n })\n\n const forwardToGoogle = () => {\n window.location.href = '/users/auth/google_oauth2'\n }\n\n const changeSso = () => {\n setSso(!sso)\n }\n\n const renderEmailOrDomain = () => {\n return(\n
    \n \n \n {\n errors.emailOrDomain &&\n errors.emailOrDomain.type === 'required' &&\n This field is required\n }\n {\n errors.emailOrDomain &&\n errors.emailOrDomain.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n
    \n )\n }\n\n const renderEmail = () => {\n return(\n
    \n \n \n {\n errors.email &&\n errors.email.type === 'required' &&\n This field is required\n }\n {\n errors.email &&\n errors.email.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n
    \n )\n }\n\n const renderPassword = () => {\n return(\n
    \n \n \n {\n errors.password &&\n errors.password.type === 'required' &&\n This field is required\n }\n {\n errors.password &&\n errors.password.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n
    \n )\n }\n\n const renderRememberMe = () => {\n return(\n \n )\n }\n\n const renderSubmitButton = () => {\n return(\n
    \n \n
    \n )\n }\n\n const renderLinks = () => {\n return(\n
    \n Create a new account
    \n Forgot your password?
    \n Didn't receive confirmation instructions?\n
    \n )\n }\n\n const renderDelimiter = () => {\n return(\n
    \n
    \n OR\n
    \n
    \n )\n }\n\n const renderOauth = () => {\n // TO KEEP IN CASE OF REVIEW\n // return(\n //
    \n // \n //
    \n // )\n return(\n
    \n }\n onClick={forwardToGoogle}\n />\n
    \n )\n }\n\n const renderHeader = () => {\n return(\n
    \n Nice to see you again\n
    \n )\n }\n\n const renderSso = () => {\n return(\n
    \n \n
    \n )\n }\n\n const renderSsoSignInOptions = () => {\n return(\n \n {renderEmailOrDomain()}\n \n )\n }\n\n const renderRegularSignInOptions = () => {\n return (\n \n {renderEmail()}\n {renderPassword()}\n {renderRememberMe()}\n \n )\n }\n\n return(\n
    \n {renderHeader()}\n
    \n {renderOauth()}\n {renderSso()}\n
    \n {renderDelimiter()}\n {sso ? renderSsoSignInOptions() : renderRegularSignInOptions()}\n {renderSubmitButton()}\n {renderLinks()}\n
    \n )\n}\n\nexport default SignInForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '../../rootReducer'\nimport SignInForm from '@SiteComponents/SignInForm'\nimport OnboardingSidebar from '@SiteComponents/OnboardingSidebar'\n\nimport {\n IUserSignInPayload,\n ISsoSignInPayload,\n} from './types'\n\nimport {\n signIn,\n ssoSignIn,\n} from './actions'\n\nimport './UsersSignIn.scss'\n\ninterface UsersSignInProps {\n readonly loading: boolean\n signIn(payload: IUserSignInPayload): void\n ssoSignIn(payload: ISsoSignInPayload): void\n}\n\ninterface UsersSignInState {\n}\n\nclass UsersSignIn extends React.Component {\n signIn = (payload: IUserSignInPayload | ISsoSignInPayload, useSso: boolean) => {\n if (useSso) {\n this.props.ssoSignIn(payload as ISsoSignInPayload)\n } else {\n this.props.signIn(payload as IUserSignInPayload)\n }\n }\n\n render() {\n const { loading } = this.props\n\n return (\n
    \n Grow your audience with
    subtitles, dubbing and translation.}\n caption2={}\n />\n
    \n \n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { userSignIn } = state\n\n return {\n loading: userSignIn.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n signIn,\n ssoSignIn,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersSignIn)\n","var _circle;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgProgressBall = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 10,\n height: 10,\n fill: \"none\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 5,\n cy: 5,\n r: 5,\n fill: \"#fff\",\n fillOpacity: 0.95\n})));\nexport default SvgProgressBall;","import React from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport { Submittable } from '@Root/types'\nimport DropdownList from 'react-widgets/DropdownList'\nimport { useForm, Controller, ControllerRenderProps } from 'react-hook-form'\n\nimport '@Root/config/dropdowns.scss'\nimport './SurveyForm.scss'\n\ninterface SurveyFormProps extends Submittable {\n}\n\ntype FormData = {\n role: string\n videoQuantityPerMonth: string\n organizationSize: string\n}\n\nconst ROLES = [\n 'Learning Manager',\n 'Social Media Manager',\n 'Content Manager',\n 'Marketing Project Manager',\n 'Video Editor',\n 'Content Creator',\n 'Influencer',\n 'CEO/Founder',\n 'Student',\n 'Subtitler',\n 'Other'\n]\n\nconst VIDEO_QUANTITY_PER_MONTH = [\n '1 (or less)',\n '2 to 10',\n '11 or more'\n]\n\nconst ORGANIZATION_SIZES = [\n 'one (myself)',\n '1-10',\n '11-50',\n '51-200',\n '201-500',\n '501-1000',\n '1001-5000',\n '5001-10,000'\n]\n\nconst SELF_EMPLOYED = 'Self-employed'\n\nconst SurveyForm: React.FC = props => {\n const { control, handleSubmit, formState: { errors } } = useForm()\n\n const onSubmit = handleSubmit(({ role, videoQuantityPerMonth, organizationSize }) => {\n if (organizationSize === ORGANIZATION_SIZES[0]) {\n organizationSize = SELF_EMPLOYED\n }\n props.submit({ role, videoQuantityPerMonth, organizationSize })\n })\n\n const renderRoleDropdownList = ({ field }: { field: ControllerRenderProps }) => {\n return (\n \n )\n }\n\n const renderVideoQuantityPerMonthDropdownList = ({ field }: { field: ControllerRenderProps }) => {\n return (\n \n )\n }\n\n const renderOrganizationSizeDropdownList = ({ field }: { field: ControllerRenderProps }) => {\n return (\n \n )\n }\n\n const renderRole = () => {\n return(\n \n \n\n {errors.role && ⚠ This field is required}\n \n )\n }\n\n const renderVideoQuantityPerMonth = () => {\n return(\n \n \n\n {errors.videoQuantityPerMonth && ⚠ This field is required}\n \n )\n }\n\n const renderOrganizationSize = () => {\n return(\n
    \n \n\n {errors.organizationSize && ⚠ This field is required}\n
    \n )\n }\n\n const renderSubmitButton = () => {\n return(\n \n )\n }\n\n return(\n
    \n
    \n
    \n I'm a\n {renderRole()}\n and I work in a company of\n {renderOrganizationSize()}\n person(s) 💼\n
    \n
    \n And every month I create about\n {renderVideoQuantityPerMonth()}\n videos.\n
    \n
    \n {renderSubmitButton()}\n
    \n
    \n
    \n )\n}\n\nexport default SurveyForm\n","var _circle;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgProgressBallActive = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 10,\n height: 10,\n fill: \"none\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 5,\n cy: 5,\n r: 5,\n fill: \"#7318FD\"\n})));\nexport default SvgProgressBallActive;","import React from 'react'\nimport ReactPlayer from 'react-player'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport range from 'lodash/range'\nimport classnames from 'classnames'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Button from '@SiteComponents/Button'\nimport SurveyForm from '@SiteComponents/SurveyForm'\nimport Ball from '@Images/progress_ball.svg'\nimport BallActive from '@Images/progress_ball_active.svg'\n\nimport {\n submitSurvey,\n} from './actions'\n\nimport {\n ISurveyData,\n} from './types'\n\nimport './Survey.scss'\n\ninterface SurveyProps {\n readonly loading: boolean\n submitSurvey(payload: ISurveyData): void\n}\n\ninterface SurveyState {\n readonly step: number\n}\n\nclass Survey extends React.Component {\n constructor(props: SurveyProps) {\n super(props)\n\n this.state = {\n step: 0\n }\n }\n\n submit = (payload: ISurveyData) => {\n this.props.submitSurvey(payload)\n }\n\n increaseStep = () => {\n this.setState((state) => ({\n step: state.step + 1\n }))\n }\n\n renderStep0 = () => {\n return (\n
    \n
    \n Welcome to Checksub\n
    \n
    \n Create impactful videos 💥
    \n thanks to captivating subtitles.\n
    \n
    \n See how it works.\n
    \n \n
    \n )\n }\n\n renderStep1 = () => {\n return (\n
    \n
    \n Upload your video\n
    \n
    \n Once your video is ready,
    \n upload it to Checksub to turn it into impactful content 💥.\n
    \n
    \n \n
    \n \n
    \n )\n }\n\n renderStep2 = () => {\n return (\n
    \n
    \n Generate the subtitles\n
    \n
    \n Get automatic subtitles like magic ✨.\n
    \n
    \n \n
    \n \n
    \n )\n }\n\n renderStep3 = () => {\n return (\n
    \n
    \n Edit and style your subtitles\n
    \n
    \n Edit them for a perfect result.\n
    \n
    \n \n
    \n \n
    \n )\n }\n\n renderStep4 = () => {\n return (\n
    \n
    \n Share it with the world\n
    \n
    \n Export your video to get your message out.
    \n If you want a translation, confirm the transcription first.\n
    \n
    \n \n
    \n \n
    \n )\n }\n\n renderStep5 = () => {\n const { loading } = this.props\n\n return (\n
    \n
    \n Let's get to know you\n
    \n \n
    \n )\n }\n\n renderProgressIndicator = () => {\n const { step } = this.state\n const { loading } = this.props\n\n return (\n
    \n {range(1, 6).map(item => {\n const goBackToPreviousStep = () => {\n if (loading) { return }\n\n this.setState({ step: item })\n }\n return (\n item <= step ? (\n \n ) : (\n \n )\n )\n })}\n
    \n )\n }\n\n render() {\n // const { step } = this.state\n\n // temporarily commented, maybe we'll need it in the future\n // return (\n //
    \n // {step === 0 && this.renderStep0()}\n // {step === 1 && this.renderStep1()}\n // {step === 2 && this.renderStep2()}\n // {step === 3 && this.renderStep3()}\n // {step === 4 && this.renderStep4()}\n // {step === 5 && this.renderStep5()}\n // {step > 0 && this.renderProgressIndicator()}\n //
    \n // )\n\n return (\n
    \n {this.renderStep5()}\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { user } = state\n\n return {\n loading: user.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n submitSurvey\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Survey)\n","var _path, _path2, _path3;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgInfoBadge = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 16C0 7.163 7.163 0 16 0s16 7.163 16 16-7.163 16-16 16S0 24.837 0 16\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 16C0 7.163 7.163 0 16 0s16 7.163 16 16-7.163 16-16 16S0 24.837 0 16\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#7318FD\",\n d: \"M16 7.667A8.336 8.336 0 0 0 7.667 16c0 4.6 3.733 8.333 8.333 8.333S24.333 20.6 24.333 16 20.6 7.667 16 7.667m.833 12.5h-1.666v-5h1.666zm0-6.667h-1.666v-1.667h1.666z\"\n})));\nexport default SvgInfoBadge;","export default function formattedCredits(credit: number): string {\n return `${Math.floor(credit / 60)} min ${Math.round(credit % 60)} sec`\n}\n","import React, { useState } from 'react'\nimport { useForm, Controller, ControllerRenderProps } from 'react-hook-form'\nimport InfoBadge from '@Images/info_badge.svg'\nimport formattedCredits from '@Utils/FormattedCredits'\nimport Button from '@SiteComponents/Button'\nimport DropdownList from 'react-widgets/DropdownList'\n\nimport {\n ICancelSubscriptionPayload,\n} from '@SiteModules/Subscription/types'\n\nimport '@Root/config/dropdowns.scss'\nimport './CancelSubscriptionPopup.scss'\n\ninterface CancelSubscriptionFormProps {\n readonly availableTotalCredits: number\n readonly plan: string\n closePopup(): void\n cancelSubscription(payload: ICancelSubscriptionPayload): void\n}\n\ntype TFormData = {\n cancellationReason: string\n}\n\nconst REASONS = [\n 'I\\'m done with my subtitles project(s)',\n 'The platform is not adapted to my needs',\n 'I don\\'t have any money left in my bank account',\n 'Other'\n]\n\nconst CancelSubscriptionForm: React.FC = props => {\n const [step, setStep] = useState(1)\n const [cancellationReason, setCancellationReason] = useState('')\n const { control, handleSubmit, formState: { errors } } = useForm()\n const isYearlySubscription = props.plan.includes('yearly')\n const timeToKeepCredits = isYearlySubscription ? '2 years' : '6 months'\n\n const onCancel = () => {\n const payload = { cancellationReason }\n props.cancelSubscription(payload)\n props.closePopup()\n }\n\n const onContinue = handleSubmit((formData: TFormData) => {\n setCancellationReason(formData.cancellationReason)\n setStep(2)\n })\n\n const renderCancellationReasonDropdownList = ({ field }: { field: ControllerRenderProps }) => {\n return (\n \n )\n }\n\n const renderStep1 = () => {\n return (\n
    \n
    \n
    \n \n Why would you like to cancel your plan?\n
    \n
    \n \n {errors.cancellationReason && (\n This field is required\n )}\n
    \n
    \n When you cancel your plan, the cancellation will be effective at the end of the current billing period (which has already been paid).
    \n After this date, you will not be able to access your dashboard anymore.\n
    \n
    \n \n
    \n \n )\n }\n\n const renderStep2 = () => {\n return (\n
    \n
    \n
    \n \n You have {formattedCredits(props.availableTotalCredits)} left\n
    \n
    \n How to keep them?\n
    \n
    \n Checksub allows you to keep your unused credits for {timeToKeepCredits} as long as you have an active subscription.\n
    \n Your plan currently allows you to keep your credits.\n
    \n
    \n \n \n Unsubscribe and lose my {formattedCredits(props.availableTotalCredits)} left\n \n
    \n
    \n )\n }\n\n const isFirstStep = step === 1\n const isSecondStep = step === 2\n\n return (\n \n {isFirstStep && renderStep1()}\n {isSecondStep && renderStep2()}\n \n )\n}\n\nexport default CancelSubscriptionForm\n","import React from 'react'\nimport InfoBadge from '@Images/info_badge.svg'\nimport Button from '@SiteComponents/Button'\n\nimport {\n ICancelSubscriptionPayload,\n} from '@SiteModules/Subscription/types'\n\nimport '@Root/config/dropdowns.scss'\nimport './CancelSubscriptionPopup.scss'\n\ninterface CancelSubscriptionFormTrialProps {\n closePopup(): void\n cancelSubscription(payload: ICancelSubscriptionPayload): void\n}\n\nconst CancelSubscriptionFormTrial: React.FC = props => {\n const onCancel = () => {\n props.cancelSubscription({})\n props.closePopup()\n }\n\n return (\n
    \n
    \n
    \n \n Cancellation of your subscription trial\n
    \n
    \n When you cancel your trial, the cancellation will be effective immediately, and you will loose all your credits.
    \n After this action, you will not be able to access your dashboard anymore.\n
    \n
    \n \n \n Stop my free trial\n \n
    \n
    \n )\n}\n\nexport default CancelSubscriptionFormTrial\n","import React from 'react'\nimport Popup from '@SiteComponents/Popup'\nimport CancelSubscriptionForm from './CancelSubscriptionForm'\nimport CancelSubscriptionFormTrial from './CancelSubscriptionFormTrial'\n\nimport {\n ICancelSubscriptionPayload,\n} from '@SiteModules/Subscription/types'\n\nimport './CancelSubscriptionPopup.scss'\n\ninterface CancelSubscriptionPopupProps {\n closePopup(): void\n cancelSubscription(payload: ICancelSubscriptionPayload): void\n readonly availableTotalCredits: number\n readonly plan: string\n readonly subscriptionIsTrialing: boolean\n}\n\nconst CancelSubscriptionPopup: React.FC = props => {\n return (\n \n {props.subscriptionIsTrialing ? (\n \n ) : (\n \n )}\n \n )\n}\n\nexport default CancelSubscriptionPopup\n","import React from 'react'\nimport Popup from '@SiteComponents/Popup'\nimport Button from '@SiteComponents/Button'\nimport startCase from 'lodash/startCase'\n\nimport './UpdateSubscriptionPopup.scss'\n\ninterface UpdateSubscriptionPopupProps {\n readonly fullNewPlanName: string\n readonly pricePerPeriodWithoutVat: number\n readonly priceInUsd: boolean\n readonly taxPercent?: number\n closePopup(): void\n updateSubscription(): void\n}\n\nconst UpdateSubscriptionPopup: React.FC = props => {\n const {\n fullNewPlanName,\n priceInUsd,\n pricePerPeriodWithoutVat,\n taxPercent\n } = props\n\n const formattedNewPlanName = startCase(fullNewPlanName.split('_').slice(0, 2).join(' '))\n const formattedNewPlanNameAllCapital = (fullNewPlanName.split('_').slice(0, 2).join(' ')).toUpperCase()\n const currency = priceInUsd ? '$' : '€'\n const willPayTax = !!taxPercent && taxPercent > 0\n const total = willPayTax ? pricePerPeriodWithoutVat * (1.00 + taxPercent / 100.00) : pricePerPeriodWithoutVat\n\n const onUpdate = () => {\n props.updateSubscription()\n props.closePopup()\n }\n\n return (\n \n
    \n Confirm your new plan\n
    \n
    \n
    \n You are about to change your plan to {formattedNewPlanName} which will take effect immediately.\n
    \n
    \n
    \n {formattedNewPlanNameAllCapital}\n
    \n
    \n
    \n Total: {total.toFixed(2)}{currency}\n
    \n {willPayTax && (\n
    \n 20% VAT included\n
    \n )}\n
    \n
    \n
    \n The amount charged for the first period(s) might be less, since we will give you a credit for what you have already paid.\n
    \n
    \n \n \n )\n}\n\nexport default UpdateSubscriptionPopup\n","const PRICE: ISubscriptionPrice = {\n 'junior': {\n 'monthly': {\n 'eur': 18,\n 'usd': 18\n },\n 'yearly': {\n 'eur': 144,\n 'usd': 144\n }\n },\n 'starter': {\n 'monthly': {\n 'eur': 59,\n 'usd': 59\n },\n 'yearly': {\n 'eur': 576,\n 'usd': 576\n }\n },\n 'studio': {\n 'monthly': {\n 'eur': 99,\n 'usd': 99\n },\n 'yearly': {\n 'eur': 1020,\n 'usd': 1020\n }\n }\n}\n\ninterface ISubscriptionPrice {\n readonly junior: ISubscriptionPlanPrice,\n readonly starter: ISubscriptionPlanPrice,\n readonly studio: ISubscriptionPlanPrice,\n readonly [key: string]: ISubscriptionPlanPrice\n}\n\ninterface ISubscriptionPlanPrice {\n readonly monthly: ISubscriptionPlanPeriodPrice,\n readonly yearly: ISubscriptionPlanPeriodPrice,\n readonly [key: string]: ISubscriptionPlanPeriodPrice\n}\n\ninterface ISubscriptionPlanPeriodPrice {\n readonly eur: number,\n readonly usd: number,\n readonly [key: string]: number\n}\n\nexport default function subscriptionPriceCalculatorPerPeriod(selectedPlanName: string, monthlyPeriod: boolean, priceInUsd: boolean): number {\n const period = monthlyPeriod ? 'monthly' : 'yearly'\n const currency = priceInUsd ? 'usd' : 'eur'\n\n return PRICE[selectedPlanName]?.[period]?.[currency]\n}\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgCheckmark = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 14,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#3CC13B\",\n d: \"M6 11.17 1.83 7 .41 8.41 6 14 18 2 16.59.59z\"\n})));\nexport default SvgCheckmark;","import React from 'react'\nimport dayjs from 'dayjs'\n\ninterface FaqProps {\n durationTrialInDays: number\n}\n\nconst Faq: React.FC = props => {\n const now = dayjs()\n const endOfTrial = now.add(props.durationTrialInDays, 'day')\n\n return (\n
    \n Your 14-day trial is 100% free and lasts until {endOfTrial.format('MMMM DD, YYYY')}. Cancel any time.\n

    \n How does the credit system work?\n
    \n Each time you generate a subtitle, translation or dubbing, the duration of the video is deducted from your subscription credits. The exception is dubbing with voice cloning, for which we deduct 2 times the length of the video.\n

    \n Will I see a charge right away?\n
    \n No. You won't be charged until after your free trial ends on {endOfTrial.format('MMMM DD, YYYY')}.\n
    \n After your free trial, you'll be charged the price of your plan (monthly or yearly) plus taxes if applicable until you change your plan or cancel your subscription.\n

    \n Can I change or cancel my plan?\n
    \n Yes, you can switch to a new plan or cancel your subscription at any time.\n

    \n What languages do you suport?\n
    \n Access the entire list via this link.\n
    \n )\n}\n\nexport default Faq\n","import React from 'react'\n\nimport './PeriodSwitch.scss'\n\ninterface PeriodSwitchProps {\n readonly isMonthlyPeriod: boolean\n changePeriod(): void\n}\n\nconst PeriodSwitch: React.FC = props => {\n const { isMonthlyPeriod } = props\n\n return (\n \n )\n}\n\nexport default PeriodSwitch\n","import React from 'react'\nimport classnames from 'classnames'\n\nimport './CurrencySwitch.scss'\n\ninterface CurrencySwitchProps {\n readonly isPriceInUsd: boolean\n changeCurrency(): void\n}\n\nconst CurrencySwitch: React.FC = props => {\n const changeToUsd = () => {\n if (props.isPriceInUsd) { return }\n\n props.changeCurrency()\n }\n\n const changeToEuro = () => {\n if (!props.isPriceInUsd) { return }\n\n props.changeCurrency()\n }\n\n return (\n
      \n \n $ USD\n \n \n € EUR\n \n
    \n )\n}\n\nexport default CurrencySwitch\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgReverseCheckmark = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillOpacity: 0.75,\n d: \"M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0M8 15l-5-5 1.41-1.41L8 12.17l7.59-7.59L17 6z\"\n})));\nexport default SvgReverseCheckmark;","import React from 'react'\nimport ButtonNew from '@SiteComponents/ButtonNew'\nimport subscriptionPriceCalculatorPerPeriod from '@Utils/SubscriptionPriceCalculatorPerPeriod'\nimport ReverseCheckmark from '@Images/reverse_checkmark.svg'\n\nimport './Offer.scss'\n\nconst MONTHS_IN_YEAR = 12\n\ninterface OfferProps {\n readonly planName: string\n readonly isMonthlyPeriod: boolean\n readonly isPriceInUsd: boolean\n readonly hasLoadedSuccessfully: boolean\n readonly canGetTrial: boolean\n readonly description: string\n readonly features: (JSX.Element | string)[]\n readonly currentPlan: string\n readonly currentPlanVersion: string\n readonly subscriptionIsCurrent: boolean\n readonly subscriptionIsTrialing: boolean\n readonly cancelAtPeriodEnd: boolean\n readonly renewalDate: string\n handleBuyOrUpdate(newPlanName: string): void\n handleBuy(newPlanName: string): void\n handleCancel(): void\n}\n\nconst Offer: React.FC = props => {\n const {\n planName,\n isPriceInUsd,\n isMonthlyPeriod,\n hasLoadedSuccessfully,\n description,\n canGetTrial,\n features,\n currentPlan,\n currentPlanVersion,\n subscriptionIsCurrent,\n subscriptionIsTrialing,\n cancelAtPeriodEnd,\n renewalDate,\n } = props\n\n const isLegacyPlan = planName === 'legacy plan'\n const shouldShowButton = !(cancelAtPeriodEnd && planName === 'legacy plan')\n\n const isCurrentPlan = subscriptionIsCurrent && (isLegacyPlan || `${planName}_${isMonthlyPeriod ? 'monthly' : 'yearly'}_${currentPlanVersion}` === currentPlan)\n const canCancel = isCurrentPlan && !cancelAtPeriodEnd\n const canUnlock = isCurrentPlan && !cancelAtPeriodEnd && subscriptionIsTrialing && planName !== 'legacy plan'\n\n const buttonSubtext = `${cancelAtPeriodEnd ? 'Will be canceled on' : 'Will be renewed on'} ${renewalDate}`\n\n const higherPlanSelected =\n !currentPlan.includes('enterprise') && (\n currentPlan.includes('junior') && (planName === 'starter' || planName === 'studio') ||\n currentPlan.includes('starter') && planName === 'studio' ||\n currentPlan.includes(planName) && currentPlan.includes('monthly') && !isMonthlyPeriod\n )\n\n const lowerPlanSelected =\n currentPlan.includes('enterprise') ||\n currentPlan.includes('studio') && (planName === 'starter' || planName === 'junior') ||\n currentPlan.includes('starter') && planName === 'junior' ||\n currentPlan.includes(planName) && currentPlan.includes('yearly') && isMonthlyPeriod\n\n const samePlanButOtherPlanVersionSelected = currentPlan.includes(`${planName}_${isMonthlyPeriod ? 'monthly' : 'yearly'}`) && !currentPlan.includes(currentPlanVersion)\n\n const canUpgrade = subscriptionIsCurrent && !cancelAtPeriodEnd && !isCurrentPlan && (higherPlanSelected || samePlanButOtherPlanVersionSelected)\n const canDowngrade = subscriptionIsCurrent && !cancelAtPeriodEnd && !isCurrentPlan && lowerPlanSelected\n\n const priceSubtext = `Per month ${isMonthlyPeriod ? '' : ' (billed annually)'}`\n\n const costPerPeriod = subscriptionPriceCalculatorPerPeriod(planName, isMonthlyPeriod, isPriceInUsd)\n const costPerMonth = isMonthlyPeriod ? costPerPeriod : costPerPeriod / MONTHS_IN_YEAR\n\n const currency = isPriceInUsd ? '$' : '€'\n let caption = canGetTrial ? 'Start your free 14-day trial' : 'Subscribe'\n if (canCancel) {\n caption = subscriptionIsTrialing ? 'Stop my trial' : 'Stop my subscription'\n } else if (canUpgrade) {\n caption = 'Upgrade my plan'\n } else if (canDowngrade) {\n caption = 'Downgrade my plan'\n }\n\n const handleBuyOrUpdate = () => {\n props.handleBuyOrUpdate(planName)\n }\n\n const handleBuy = () => {\n props.handleBuy(planName)\n }\n\n return (\n
    \n
    \n {isCurrentPlan && ACTIVE}\n {planName.toUpperCase()}\n
    \n
    {description}
    \n
    \n {!isNaN(costPerPeriod) && (\n \n
    {`${currency}${costPerMonth}`}
    \n
    {priceSubtext}
    \n
    \n
    \n )}\n
    \n {features.map((feature, index) => {\n return (\n
    \n \n {feature}\n
    \n )\n })}\n
    \n
    \n {canUnlock && (\n \n )}\n {shouldShowButton && (\n \n )}\n
    \n {isCurrentPlan ? buttonSubtext : null}\n
    \n
    \n
    \n )\n}\n\nexport default Offer\n","import React from 'react'\nimport ButtonNew from '@SiteComponents/ButtonNew'\nimport ReverseCheckmark from '@Images/reverse_checkmark.svg'\n\nimport './Offer.scss'\n\ninterface EnterpriseOfferProps {\n readonly planName: string\n readonly isMonthlyPeriod: boolean\n readonly isPriceInUsd: boolean\n readonly hasLoadedSuccessfully: boolean\n readonly description: JSX.Element\n readonly features: (JSX.Element | string)[]\n readonly currentPlan: string\n readonly currentPlanVersion: string\n readonly subscriptionIsCurrent: boolean\n scheduleDemo(): void\n}\n\nconst EnterpriseOffer: React.FC = props => {\n const {\n planName,\n isPriceInUsd,\n currentPlan,\n subscriptionIsCurrent,\n isMonthlyPeriod,\n currentPlanVersion,\n hasLoadedSuccessfully,\n description,\n features,\n } = props\n\n const isCurrentPlan = subscriptionIsCurrent && `${planName}_${isMonthlyPeriod ? 'monthly' : 'yearly'}_${currentPlanVersion}` === currentPlan\n\n const currency = isPriceInUsd ? '$' : '€'\n\n return (\n
    \n
    \n {isCurrentPlan && ACTIVE}\n {planName.toUpperCase()}\n
    \n
    {description}
    \n
    \n
    Custom
    \n
    {`From 199${currency}/month (billed annually)`}
    \n
    \n
    \n {features.map((feature, index) => {\n return (\n
    \n \n {feature}\n
    \n )\n })}\n
    \n
    \n \n
    No credit card required
    \n
    \n
    \n )\n}\n\nexport default EnterpriseOffer\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '../../rootReducer'\n\nimport Header from '@SiteContainers/Header'\nimport CancelSubscriptionPopup from '@SiteComponents/CancelSubscriptionPopup'\nimport UpdateSubscriptionPopup from '@SiteComponents/UpdateSubscriptionPopup'\nimport subscriptionPriceCalculatorPerPeriod from '@Utils/SubscriptionPriceCalculatorPerPeriod'\nimport Faq from './Faq'\nimport PeriodSwitch from './PeriodSwitch'\nimport CurrencySwitch from './CurrencySwitch'\n\nimport Checkmark from '@Images/checkmark.svg'\n\nimport Offer from './Offer'\nimport EnterpriseOffer from './EnterpriseOffer'\n\nimport {\n ICancelSubscriptionPayload,\n IStartCheckoutSessionPayload,\n IUpdateSubscriptionPayload,\n} from '@SiteModules/Subscription/types'\n\nimport {\n cancelSubscription,\n startCheckoutSession,\n updateSubscription,\n} from '@SiteModules/Subscription/actions'\n\nimport {\n getUserStripeInfo\n} from '@SiteModules/User/actions'\n\nimport './Subscription.scss'\n\nconst CURRENT_PLAN_VERSION = '005'\nconst DURATION_TRIAL = 14 // days\nconst CURRENT_PLANS = ['junior', 'starter']\n\ninterface SubscriptionProps {\n readonly plan: string\n readonly hasLoadedSubscriptionSuccessfully: boolean\n readonly hasLoadedStripeInfoSuccessfully: boolean\n readonly subscriptionIsCurrent: boolean\n readonly subscriptionIsTrialing: boolean\n readonly subscriptionId: string\n readonly availableTotalCredits: number\n readonly subscriptionPlan: string\n readonly cancelAtPeriodEnd: boolean\n readonly canGetTrial: boolean\n readonly minutesProvidedByPeriod: number\n readonly maxLanguagesLimit: number\n readonly renewalDate: string\n readonly stripeCustomerCurrency?: string\n readonly taxPercent?: number\n cancelSubscription(payload: ICancelSubscriptionPayload): void\n startCheckoutSession(payload: IStartCheckoutSessionPayload): void\n updateSubscription(payload: IUpdateSubscriptionPayload): void\n getUserStripeInfo(): void\n}\n\ninterface SubscriptionState {\n readonly selectedPlanName: string\n readonly monthlyPeriod: boolean\n readonly priceInUsd: boolean\n readonly cancelSubscriptionPopupOpen: boolean\n readonly updateSubscriptionPopupOpen: boolean\n}\n\nclass Subscription extends React.Component {\n constructor(props: SubscriptionProps) {\n super(props)\n\n this.state = {\n cancelSubscriptionPopupOpen: false,\n updateSubscriptionPopupOpen: false,\n monthlyPeriod: false,\n priceInUsd: false,\n selectedPlanName: 'junior',\n }\n }\n\n componentDidMount() {\n this.props.getUserStripeInfo()\n\n const currentPlanIsMonthly = this.props.subscriptionIsCurrent && this.props.plan.includes('monthly')\n if (currentPlanIsMonthly) {\n this.setState({ monthlyPeriod: true })\n }\n }\n\n componentDidUpdate(prevProps: SubscriptionProps) {\n if ((prevProps.stripeCustomerCurrency !== this.props.stripeCustomerCurrency) && this.props.stripeCustomerCurrency === 'USD') {\n this.setState({ priceInUsd: true })\n }\n\n if ((!prevProps.hasLoadedSubscriptionSuccessfully && this.props.hasLoadedSubscriptionSuccessfully)) {\n const currentPlanIsMonthly = this.props.subscriptionIsCurrent && this.props.plan.includes('monthly')\n if (currentPlanIsMonthly) {\n this.setState({ monthlyPeriod: true })\n }\n }\n }\n\n handleChangePeriod = () => {\n this.setState((state) => ({ monthlyPeriod: !state.monthlyPeriod }))\n }\n\n handleChangeCurrency = () => {\n this.setState((state) => ({ priceInUsd: !state.priceInUsd }))\n }\n\n handleCancel = () => {\n this.setState({ cancelSubscriptionPopupOpen: true })\n }\n\n handleBuyOrUpdate = (newPlanName: string) => {\n const { subscriptionIsCurrent, cancelAtPeriodEnd } = this.props\n const hasCurrentUncanceledSubscription = subscriptionIsCurrent && !cancelAtPeriodEnd\n\n if (hasCurrentUncanceledSubscription) {\n this.setState({ selectedPlanName: newPlanName, updateSubscriptionPopupOpen: true })\n } else {\n this.handleBuy(newPlanName)\n }\n }\n\n handleBuy = (newPlanName: string) => {\n const { monthlyPeriod, priceInUsd } = this.state\n const fullNewPlanName = `${newPlanName}_${monthlyPeriod ? 'monthly' : 'yearly'}_${CURRENT_PLAN_VERSION}`\n const currency = priceInUsd ? 'USD' : 'EUR'\n this.props.startCheckoutSession({ planName: fullNewPlanName, currency })\n }\n\n closeCancelSubscriptionPopup = () => {\n this.setState({ cancelSubscriptionPopupOpen: false })\n }\n\n closeUpdateSubscriptionPopup = () => {\n this.setState({ updateSubscriptionPopupOpen: false })\n }\n\n scheduleDemo = () => {\n location.href = 'https://calendly.com/meetflorian/enterprise-demo'\n }\n\n renderCancelSubscriptionPopup = () => {\n return (\n \n )\n }\n\n renderUpdateSubscriptionPopup = () => {\n const { selectedPlanName, monthlyPeriod, priceInUsd } = this.state\n const fullNewPlanName = `${selectedPlanName}_${monthlyPeriod ? 'monthly' : 'yearly'}_${CURRENT_PLAN_VERSION}`\n const pricePerPeriodWithoutVat = subscriptionPriceCalculatorPerPeriod(selectedPlanName, monthlyPeriod, priceInUsd)\n\n return (\n \n )\n }\n\n cancelSubscription = (payload: ICancelSubscriptionPayload) => {\n this.props.cancelSubscription(payload)\n }\n\n updateSubscription = () => {\n const { selectedPlanName, monthlyPeriod } = this.state\n const updatedPlan = `${selectedPlanName}_${monthlyPeriod ? 'monthly' : 'yearly'}_${CURRENT_PLAN_VERSION}`\n\n this.props.updateSubscription({ planName: updatedPlan, subscriptionId: this.props.subscriptionId })\n }\n\n renderTitle = () => {\n return (\n \n
    \n Expand the audience
    \n of your videos.\n
    \n
    \n {this.props.canGetTrial && (\n
    \n Free 14-day trial\n
    \n )}\n
    \n 200 languages supported\n
    \n
    \n Cancel anytime\n
    \n
    \n
    \n )\n }\n\n getPlanSettings = (plan: string, monthlyPeriod: boolean) => {\n const {\n minutesProvidedByPeriod,\n maxLanguagesLimit,\n } = this.props\n\n switch(plan){\n case 'junior':\n return {\n description: 'For professionals who need to generate subtitles for their videos.',\n features: [\n 'Subtitles & translations',\n `${monthlyPeriod ? '2 hours of credits / month' : '24 hours of credits / year'}`,\n 'Up to 1 translation per project',\n 'SRT exportation',\n 'Video export with watermark',\n 'E-mail support'\n ]\n }\n case 'starter':\n return {\n description: 'For companies that want to translate their content.',\n features: [\n 'Subtitles, translations & dubbing',\n `${monthlyPeriod ? '5 hours of credits / month' : '60 hours of credits / year'}`,\n 'Up to 1 translation per project',\n 'SRT exportation',\n 'AI-dubbing (60 languages available)',\n 'Voice-cloning (28 languages available)',\n 'Lip-sync (Beta)',\n 'Connect 1 YouTube channel',\n 'No watermark',\n 'E-mail support'\n ]\n }\n default:\n return {\n description: 'You currently have a legacy plan',\n features: [\n `Auto-subtitles: ${monthlyPeriod ? `${minutesProvidedByPeriod} minutes of credits / month` : `${Math.round(minutesProvidedByPeriod / 60)} hours of credits / year`}`,\n `Up to ${maxLanguagesLimit - 1} translation(s) per project`,\n 'SRT exportation',\n 'E-mail support'\n ]\n }\n }\n }\n\n renderPeriodSwitch = () => {\n return (\n \n )\n }\n\n renderCurrencySwitch = () => {\n return (\n \n )\n }\n\n renderOffers = () => {\n const {\n plan,\n hasLoadedSubscriptionSuccessfully,\n hasLoadedStripeInfoSuccessfully,\n subscriptionIsCurrent,\n subscriptionIsTrialing,\n cancelAtPeriodEnd,\n canGetTrial,\n renewalDate,\n } = this.props\n\n const {\n monthlyPeriod,\n priceInUsd,\n } = this.state\n\n const [ planName, planPeriod, planVersion ] = plan.split('_')\n const isPlanMonthly = planPeriod === 'monthly'\n\n const plansToRender = [...CURRENT_PLANS]\n if (plan && subscriptionIsCurrent && monthlyPeriod === isPlanMonthly && (!CURRENT_PLANS.includes(planName) || planVersion !== CURRENT_PLAN_VERSION)) {\n plansToRender.unshift('legacy plan')\n }\n\n return (\n \n
    \n {plansToRender.map((planToRender) => {\n const planSettings = this.getPlanSettings(planToRender, monthlyPeriod)\n\n return (\n \n )\n })}\n\n \n For businesses and organisations that want to spread their videos at scale.\n \n }\n planName={'enterprise'}\n isPriceInUsd={priceInUsd}\n isMonthlyPeriod={monthlyPeriod}\n currentPlan={plan}\n currentPlanVersion={CURRENT_PLAN_VERSION}\n subscriptionIsCurrent={subscriptionIsCurrent}\n hasLoadedSuccessfully={hasLoadedSubscriptionSuccessfully && hasLoadedStripeInfoSuccessfully}\n scheduleDemo={this.scheduleDemo}\n features={[\n 'Subtitles, translations & dubbing',\n 'Custom credits',\n 'Up to 187 languages per project',\n 'SRT exportation',\n 'AI-dubbing (60 languages available)',\n 'Voice-cloning (28 languages available)',\n 'Lip-sync (Beta)',\n 'Connect your YouTube channels',\n 'Account manager'\n ]}\n />\n
    \n
    \n )\n }\n\n renderFaq = () => {\n return (\n \n )\n }\n\n render() {\n const shouldRenderFaq = this.props.canGetTrial\n const shouldRenderCurrencySwitch = this.props.hasLoadedStripeInfoSuccessfully && !this.props.stripeCustomerCurrency\n\n return (\n
    \n
    \n {this.state.cancelSubscriptionPopupOpen && this.renderCancelSubscriptionPopup()}\n {this.state.updateSubscriptionPopupOpen && this.renderUpdateSubscriptionPopup()}\n
    \n {this.renderTitle()}\n
    \n {this.renderPeriodSwitch()}\n {shouldRenderCurrencySwitch && this.renderCurrencySwitch()}\n
    \n {this.renderOffers()}\n {shouldRenderFaq && this.renderFaq()}\n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { user, subscription } = state\n\n let subscriptionPlan = ''\n let subscriptionId = ''\n\n if (user.subscription && user.subscription.attributes) {\n subscriptionId = user.subscription.id\n subscriptionPlan = user.subscription.attributes.plan.split('_')[0]\n }\n\n return {\n hasLoadedSubscriptionSuccessfully: subscription.hasLoadedSuccessfully,\n hasLoadedStripeInfoSuccessfully: user.hasLoadedStripeInfoSuccessfully,\n plan: user.subscription.attributes.plan,\n availableTotalCredits: user.user.attributes.availableTotalCredits,\n subscriptionIsCurrent: user.subscription.attributes.isCurrent,\n subscriptionIsTrialing: user.subscription.attributes.isTrialing,\n cancelAtPeriodEnd: user.subscription.attributes.cancelAtPeriodEnd,\n canGetTrial: user.user.attributes.canGetTrial,\n subscriptionPlan,\n subscriptionId,\n minutesProvidedByPeriod: user.subscription.attributes.minutesProvidedByPeriod,\n maxLanguagesLimit: user.subscription.attributes.maxLanguagesLimit,\n renewalDate: user.subscription.attributes.renewalDate,\n stripeCustomerCurrency: user.stripe?.attributes.customerCurrency,\n taxPercent: user.stripe?.attributes.taxPercent,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n cancelSubscription,\n startCheckoutSession,\n updateSubscription,\n getUserStripeInfo,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Subscription)\n","import React from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport { Link } from 'react-router-dom'\nimport { useForm } from 'react-hook-form'\nimport { IUser, Submittable } from '@Root/types'\n\nimport './PasswordNewForm.scss'\n\ninterface PasswordNewFormProps extends Submittable {\n}\n\ntype FormData = Pick\n\nconst PasswordNewForm: React.FC = props => {\n const { register, handleSubmit, formState: { errors } } = useForm()\n const onSubmit = handleSubmit(({ email }) => {\n const user = { email }\n props.submit({ user })\n })\n\n const renderEmail = () => {\n return(\n
    \n \n \n {\n errors.email &&\n errors.email.type === 'required' &&\n This field is required\n }\n {\n errors.email &&\n errors.email.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n {\n errors.email &&\n errors.email.type === 'pattern' &&\n This must be a valid email address\n }\n
    \n )\n }\n\n const renderSubmitButton = () => {\n return(\n \n )\n }\n\n const renderLinks = () => {\n return(\n
    \n Log in{' '}|{' '}\n Create a new account
    \n Didn't receive confirmation instructions?\n
    \n )\n }\n\n return(\n
    \n {renderEmail()}\n {renderSubmitButton()}\n {renderLinks()}\n
    \n )\n}\n\nexport default PasswordNewForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport PasswordNewForm from '@SiteComponents/PasswordNewForm'\nimport OnboardingSidebar from '@SiteComponents/OnboardingSidebar'\n\nimport {\n PayloadData,\n} from './types'\n\nimport {\n passwordNew,\n} from './actions'\n\nimport './UsersPasswordNew.scss'\n\ninterface UsersPasswordNewProps {\n readonly loading: boolean\n passwordNew(payload: PayloadData): void\n}\n\ninterface UsersPasswordNewState {\n}\n\nclass UsersPasswordNew extends React.Component {\n render() {\n const { loading } = this.props\n\n return (\n
    \n Forgot your password?
    We will help you to reset it.}\n caption2={}\n />\n
    \n \n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { userPasswordNew } = state\n\n return {\n loading: userPasswordNew.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n passwordNew,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersPasswordNew)\n","import React from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport { IPasswordable, Submittable } from '@Root/types'\nimport { useForm } from 'react-hook-form'\n\nimport './UsersPasswordEditForm.scss'\n\ninterface UsersPasswordEditFormProps extends Submittable {\n}\n\ntype FormData = IPasswordable\n\nconst UsersPasswordEditForm: React.FC = props => {\n const { register, handleSubmit, watch, formState: { errors } } = useForm()\n // tslint:disable-next-line:no-shadowed-variable\n const onSubmit = handleSubmit(({ password, passwordConfirmation }) => {\n // TODO: fix that later... (password_confirmation --> passwordConfirmation)\n const params = new URLSearchParams(window.location.search)\n const resetPasswordToken = params.get('reset_password_token')\n\n const user = {\n password,\n password_confirmation: passwordConfirmation,\n reset_password_token: resetPasswordToken\n }\n\n props.submit({ user })\n })\n\n const password = watch('password')\n const passwordConfirmation = watch('passwordConfirmation')\n\n const renderPassword = () => {\n return(\n
    \n \n value === passwordConfirmation\n })}\n />\n {\n errors.password &&\n errors.password.type === 'required' &&\n This field is required\n }\n {\n errors.password &&\n errors.password.type === 'minLength' &&\n Password must be at least 6 characters long\n }\n {\n errors.password &&\n errors.password.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n {\n errors.password &&\n errors.password.type === 'validate' &&\n Password and confirmed password must match\n }\n
    \n )\n }\n\n const renderPasswordConfirmation = () => {\n return(\n
    \n \n value === password\n })}\n />\n {\n errors.passwordConfirmation &&\n errors.passwordConfirmation.type === 'required' &&\n This field is required\n }\n {\n errors.passwordConfirmation &&\n errors.passwordConfirmation.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n {\n errors.passwordConfirmation &&\n errors.passwordConfirmation.type === 'validate' &&\n Password and confirmed password must match\n }\n
    \n )\n }\n\n const renderSubmitButton = () => {\n return(\n \n )\n }\n\n return(\n
    \n {renderPassword()}\n {renderPasswordConfirmation()}\n {renderSubmitButton()}\n
    \n )\n}\n\nexport default UsersPasswordEditForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport UsersPasswordEditForm from '@SiteComponents/UsersPasswordEditForm'\nimport OnboardingSidebar from '@SiteComponents/OnboardingSidebar'\n\nimport {\n PayloadData,\n} from './types'\n\nimport {\n updatePassword,\n} from './actions'\n\nimport './UsersPasswordEdit.scss'\n\ninterface UsersPasswordEditProps {\n readonly loading: boolean\n updatePassword(payload: PayloadData): void\n}\n\ninterface UsersPasswordEditState {\n}\n\nclass UsersPasswordEdit extends React.Component {\n render() {\n const { loading } = this.props\n\n return (\n
    \n Grow your audience with
    subtitles, dubbing and translation.}\n caption2={}\n />\n
    \n \n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { userPasswordEdit } = state\n\n return {\n loading: userPasswordEdit.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n updatePassword\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersPasswordEdit)\n","import React from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport { IUser, Submittable } from '@Root/types'\nimport { Link } from 'react-router-dom'\nimport { useForm } from 'react-hook-form'\n\nimport './ConfirmationNewForm.scss'\n\ninterface ConfirmationNewFormProps extends Submittable {\n}\n\ntype FormData = Pick\n\nconst ConfirmationNewForm: React.FC = props => {\n const { register, handleSubmit, formState: { errors } } = useForm()\n const onSubmit = handleSubmit(({ email }) => {\n const user = { email }\n props.submit({ user })\n })\n\n const renderEmail = () => {\n return(\n
    \n \n \n {\n errors.email &&\n errors.email.type === 'required' &&\n This field is required\n }\n {\n errors.email &&\n errors.email.type === 'maxLength' &&\n This field cannot exceed 100 characters\n }\n {\n errors.email &&\n errors.email.type === 'pattern' &&\n This must be a valid email address\n }\n
    \n )\n }\n\n const renderSubmitButton = () => {\n return(\n \n )\n }\n\n const renderLinks = () => {\n return(\n
    \n Log in{' '}|{' '}\n Create a new account
    \n Forgot your password?\n
    \n )\n }\n\n const renderOutlookAdvice = () => {\n return(\n
    \n If you use Outlook and don't receive the email,\n check your settings\n
    \n )\n }\n\n return(\n
    \n {renderEmail()}\n {renderSubmitButton()}\n {renderLinks()}\n {renderOutlookAdvice()}\n
    \n )\n}\n\nexport default ConfirmationNewForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport ConfirmationNewForm from '@SiteComponents/ConfirmationNewForm'\nimport OnboardingSidebar from '@SiteComponents/OnboardingSidebar'\n\nimport {\n PayloadData\n} from './types'\n\nimport {\n confirmationNew\n} from './actions'\n\nimport './UsersConfirmationNew.scss'\n\ninterface UsersConfirmationNewProps {\n readonly loading: boolean\n confirmationNew(payload: PayloadData): void\n}\n\ninterface UsersConfirmationNewState {\n}\n\nclass UsersConfirmationNew extends React.Component {\n render() {\n const { loading } = this.props\n\n return (\n
    \n Didn’t receive confirmation instructions?
    We will resend them to you.}\n caption2={}\n />\n
    \n \n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { userConfirmationNew } = state\n\n return {\n loading: userConfirmationNew.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n confirmationNew\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersConfirmationNew)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport { Navigate } from 'react-router-dom'\n\nimport {\n logout,\n getUserInfo,\n} from '@SiteModules/User/actions'\n\nimport './CheckEmail.scss'\n\ninterface CheckEmailProps {\n readonly email: string\n readonly confirmedEmail: boolean\n logout(payload: string): {}\n getUserInfo(): void\n}\n\ninterface CheckEmailState {\n}\n\nclass CheckEmail extends React.Component {\n componentDidMount() {\n this.props.getUserInfo()\n }\n\n goToConfirmationNew = () => {\n this.props.logout('/users/confirmation/new')\n }\n\n renderHeader = () => {\n return (\n
    \n ✅ Now, confirm you email,
    \n to create your first project\n
    \n )\n }\n\n renderText = () => {\n return (\n \n
    \n We've sent an email to {' '}\n {this.props.email}
    \n Click the link in the email to confirm your address.\n
    \n
    \n 🙈 Check your spam folder if you have nothing in your mailbox.\n
    \n
    \n )\n }\n\n renderResendLink = () => {\n return (\n
    \n Click here if you didn't receive the confirmation email.\n
    \n )\n }\n\n render() {\n const shouldRenderCheckEmail = !this.props.confirmedEmail\n return (\n \n {shouldRenderCheckEmail ? (\n
    \n
    \n {this.renderHeader()}\n {this.renderText()}\n {this.renderResendLink()}\n
    \n
    \n ) : (\n \n )}\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { user } = state\n return {\n email: user.user.attributes.email,\n confirmedEmail: user.user.attributes.confirmedEmail,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n logout,\n getUserInfo,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(CheckEmail)\n","var _path, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgVimeoIcon = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 65,\n height: 65,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#vimeo_icon_svg__a)\",\n d: \"M0 0h65v65H0z\"\n})), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"vimeo_icon_svg__a\",\n width: 1,\n height: 1,\n patternContentUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#vimeo_icon_svg__b\",\n transform: \"scale(.00333)\"\n})), /*#__PURE__*/React.createElement(\"image\", {\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAADblSURBVHhe7X0JmFxVmXaz6Dg6M84/LqOPOvr//s7vzKAYDcQQuqvure4EEcU4iOLGooA7zgyIMoG4gA4KKqKAIyOogHSS7tqrujtJJ4EQQsKShCRddWuv7k46S6eTztJ77v+9p06nQ3KT9FLLPbe+93leY0Iv9946573f951vqWEwjodrydbX1TUZb9P9qfdp4azmDiSuJH5N86e+rwWT97v9iUbNl2jV/IkNbp8Ro7930Z99mt84Qv9mnoJH8DXia/2JmOYzNmqBZKv4Wf7kr+nn/8DlT3y98LuSOn53XaTzba5Vu14nL4vBYFQrGlp3vskTSM2uD6U/pYdSt2mB1O9JONpJRGIkLr0kKGP1LV1mw8pd5vxVe835q3sLf7bvMRtW9Jj1bTtMT0un6YnkTD2UMfVgyqTvtRKqAum/4WvwtfgefC9+Bn4WfubxvwO/E7+bvm+MuI8Yp++na0s8ogXS/+kJp6/0BPKzSdTeLG+HwWA4AbM2mud6wl3v0QOZy/VQ+g4SpaW0+TfTn/shHA0rdxeEAkK0nISIhMITzpK4pE8vQKWmELi0uBYhnHRtQthwrXTNuHbcAwntFj2QWqYFM4v1cOZyLdr1j9fTPcvbZzAYdoa+IvVmPZyrF1ZTMOWlDZ2kzT/SsIIsJbnZ61u7TZ2EgP7byUKhCiFoEDO6l3HRxT3Sv4/inknEfGTN3aZFcg2uUObv5eNhMBiVhHDtotlLybq4myySp7Vgug+ultjAsETI9RLWktWmdyCFVRbtPCZi9W07ScTS++nf1+IZkcX2UX1FD7uSDEY5MGvjxnMbWjsvFNZDMLUSAiXiQBCo5TsLlpO/gq6c7ViwxPBsClZYDyzL/WSBtmuh7H/WRzrnXLFk66vk42UwGDNF3arM67Vg7mO08R7SQ2nDE80f23wFgbLaqMxTsSBgBZGHNUbin9Ajud96ormPzwvl/lY+dgaDMVnMb8n/L084dyVtrse1UGaniEGt2itcvIoGw51GepZ4puJ0kp4xiVePHsr+2dPSdWVdoPsN8uNgMBgn4jJ/919qUVhSuT/RxtklTsWIhRMxi83GLDrxrMefuxZK7/HQCwOnjw2tO18rPyYGo7rhieRna+Hsz2ljZIQl1U6WFItUxUkWrhAu5IWRK56jz+eX7lD6QvmxMRjVg7pA7A16tPMG2gRrSbCOxVOsNg6z8sRnU/iM8iZZwM/QC+UrCyLGG+XHyWA4E1pr7oO04H8tXD4Ezpf3mLrK+VDVRvqsxInjql4SrsxuchkfhIUsP14GwwFYtOgsnEDp4WyLiJHgTc0un/Kc+CxhdWXbtFBm4cLGxrPlp85gqIWGP256rR7N3UBv4U2IgyCZUdTc+Y2TFj9TVRrCQj72+UZym+EuzvV1/JVcBgyGvYGUBHrj3kKLN4U3MDLPrRc702kcrzIg0cpokdytiFXKZcFg2AvzGl98ox7J3q6Hc90LVu8b7zjArEIitwtrgIRrJ62JO+ZxgJ5hF9Q98tLr9UjmNlqcOxasoUUazdOiZbev6ukzxFrAmqCXWA/9/0WcSc+oGBbcF361J5r9Ji3G3DGhokVquXiZ1UsIV4SEq2BxdRK/XftI+1/IZcRglB5aOHmVJ5zfKhYhymVYqJhnorC4Cq6iHslt10PZz8nlxGCUBlooXUtvyNXIgOZgOnN6NEQfL9Qv6tH8U3oo45bLi8EoDuoDqXeQWf/78bbB1guRyZwaUYolGipGcn+obYy9Sy43BmO6WHSWJ5z5N0803ytMeeRRsfvHLBoNsaZEKkQ0v08LZW9euJCTTxnTgDtg1JH7t14E1CMcUGeWkCIwnzMXrOmDcG3QQwl2ExmTg2fJ83+jR3P3CfcPfcKtFhiTWSKKqUSFvvu/mff4Fk6DYJwaeiB1Gb3hEnjTiV7obFUxy01ac3AThbUVyaf0YPITcnkyGAUIqyqcfUiMusLpHwsVs9KkNSimAqETajj3MFtbDAG3NzHfE8kZBauKi5OZdiKtxQCsLeRu5VNaMPkRuWwZ1Ybaxe3n6OHM3bCo2Kpi2pqwtmiNNrRhMlL63vfesYQn/VQTtKXb/tkTza9bsGY/x6qYapDWKNaq8ASiuecuXhp7n1zODCdD9yev9kTy/ZiCzELFVI60ZsWQ3GjnQT2Uuk4ua4bTgGJlBNbFkAcuVGaqTFq7yA0U5T2h7MNz7ln3GrnMGU7Axc3b36NHs8/BnEYQkwPrTPVJaziQlOkPuefrml9+r1zuDJWh+RIfI/N5r5g1x1YV02mccBH3ac3xhXLZM1SEHkx/R5wCovsnixXTqaS1LSozlu8kFzF1m1z+DFWAY189lHlUnKiEMixWTOeT1jjWemHNpx/jJoGKQH9iy5s94eyaBU/tFz6+5YfLZDqW43Gt/NqLnnjhrXJbMOyIusbN53kinQYGXbJVxaxa0trHCaInmk+5lmw9X24Php3g8sU9npbOXtFhgcWKWe2kPSA6P0Q7+1xNsQVymzDsAFdz/DMkViMoFmWxYjIlaS9gT9DeGHV5Y5+X24VRSbh9ia/hdISTQZlMC9KeQHNAWFtun/EtuW0YlYDbF78N+VV6OMtixWSeirQ39HBGxLXcvuQdcvswygl3IHmX6LMe4uJlJvPMlMXTtGfcwdTdchsxygEtmLxH5Jtw/yomcwqc6Gaq+ZK/ktuJUUpogeSvxAMXNYFWHwqTyTwtZQ0ieSm/kduKUQrQA74PPaw4IZTJnCEhWk8dMMlbuV9uL0YxQeascAPZsmIyi8QJS+s+uc0YxYAWMO7Eg9VZrJjM4lL0jCfR8hsciC8GNJ9x67Gpy1YPnMlkzogiEE97TPPGFsltx5gOXM0dN4o8K6Qu8Gkgk1kyYo+hG6/L2/ENuf0YU4GrOXZFPfr7cFIok1kGIrk0KzLitWUdV8ltyJgM3I3b6zwtnUNcbsNklpG019ArHnW5WlNMk9uRcTpovo5/1CPZXp4VyGRWgLTnUDCtR/J9GIcntyXDCp7m7X+nhzIGt4hhMitI2ntyRH7qw02b3iS3J+N4LGw0z9YDydXzV3PzPSaz4qQ9iEaYeiC1dtZDG8+V25QxDs2X+J1oa8yngUymPUiiteApkaP1qNymDMDljd0k8kC45IbJtBdFNjztTV/8Zrldqxt1TdvrRZAP6QtsXTGZtiOm8eAQrK45doncttWJeUu2voOEag+3NmYybUzam5h76Ink9tX6Y++S27e6sLCx8WwyN9chu5bFism0ORGEx/T0QGpDbbt5jtzG1QOXN/ZLEWRnsWIy1SDtVbR3cntjD8htXB1A2U3Dyj1c0MxkqsZAqmBpeY3qKN9xeTPv1MO5/Z6WTraumEzlaIgJVXo4e9DlT7xbbmvnQvMlnua4FZOpMGU8y+1PrK8xTbmzHQh3c+wO0TXU6iEwmUyFiHhWn+nyxn4kt7ez4PIbc8gNHENOh/UDYDKZKhE9tJCSVOeNXyy3uTNQ2575Cy2QjDUs72FXkMl0Cmkvo2cd7e3kZf7uv5TbXX2Q2fgL4QqyWDGZziLtadET3ht3xsgwmIui9CaINscWN8xkMpUm0pMa0B3Yl3DLba8mFoSNV9MNsSvIZDqZcA3bSLACqcScxvxr5PZXD25v7C52BZnMKqB0DV3NsZ/J7a8WPN7keXo0P8KngkxmdRB73RPNj+lNiVlSBtSB22esbVi5m60rpmPo8iXMWq9hzms2zLlNcXOO5IXLCn9+mHhRc9y8mL6mjta9m77e6uc4lnTP2PN03+ulDKgBuvBr5qMhn9VNMZkKEIIzl8TnQ0tj5qwlMfMCEiX820dCSfOK1ox59cqsef3qvPn1pzrNbz7daX5lTd780qqc+dnlWfMT0bTZEEwKYZstvx8/ByKHn2H1+5xENPxze+M3SDmwN+aFtvytFkjt8rR0Wd4Ms3h00eKfR29zvNmPf9PjLQ9LoOre8DMkLCMIzAeJ+PsXSJR+sHGn+Zixz1y785CZ2D9o7h0YMQdGx8xTYWTsqHlweMzceXjY3LZvwFzZ1W8+Eus1F2/YYX6Rfl59IGHOXlb4Hfic3CdcgxPoiXaaWjC917O86++kLNgX5Arex4H20hFvbbytQbgoeJtf054zvybf9HjrX7U8Y14aTgkxw8bABoGAWf28aidEH88Hz/OySMpc9NwOM5jdb+YODplHj0oVKhLw47oPDZurug+a92zaZX66LSNeMhBJfJZW16ck6ZnKAPyDUhbsCVcw+S+FQDvnXBWTWMzYVOC/tqTNn7zQY7bm+810/5B4m58IvOX3DY6KN3xTqs/83vpu8xJyZWbRxoCbY/U7qo2wpuCqwUW7eV2X2UbPc//QqHyC5cEQfU7PkOX2nWe7hbV1AX2+VteqIpF36Ynkx1zezPlSHuwHzRePcieG4hEuHd78F5FV9R/PdIk385GRU7sjp8PuIyPmE+TafKo1IzYqLC7d4nc6mbhf3Dfuf0Ewaf588y4zeWBQPqHK4qU9R0Q8zDGfDWmA6OjgM1ZIebAXtGajQQxA5ck3ReF4POpWevtu6T0il/XMAcF7ePteYVngd1SLaMFKhYXpCSTM+7fsNnsOj8gnYi/8ObFPWH+ISyr/2ZAWzBenhvFLpUzYBWaN2594oWFFD10oW1fTJRYoFusH6C17bXvOXN9zSC7j4mM7uYs40RoPMDuVeKYQfhAB9M6DQ/IJ2Bewtj4aTjnghWKIkh36c3PNIvMsKRaVB5l9n8WUWOuLZk6WCL5igT4W32eOFTviawHEvxCohxtidT2qEwF1iP/nV2TN53YdlnetBnL9Q+bHIyRaDrC0kOJEn8U1Ui4qi/cu2foqsq4SmFtmdbHM0xOLETELbCzEMDK0UMsJBH6/BdGSYml1jaoR94GcJ1go95H7NzhaevEvBVIHBs16cqsQkLe6T1WI5gekERnUFkvZqByQICamNltcKPP0xMbCpoIb+IdYr1ym5cfhkTHzC2SF4JRKddHC9eOgAi4VcqdUB+4Ba0TptAeydJFM6vLGvyFlozJAZTb5pzkMWbS8UOYpiRNAWFWII73cOyCXZ+WQPzgkAtLI3bK6XhWIJEw806+uyZs9h4flnamPX5GViPtS+WUCjXAHEl0VbfTn9hpf5STRqRGLDhYVgt13vtAz7TSFUiCcPaBsPAsWCDb1j57fKfLQnIQBcmmRjgI31+relaCwsvqQ5vAtKR/lxRVLzFfRRaTFmHmrC2SexHEXEMFgf2a/XI72ws3ruoVLpdLbHCkaENoHtu6Rd+E8LO/sV/5EV3hivkQeLdOljJQPJFZc4DxFYlNd2ZYRKQV2BVxDCGqdIq4hxAob+dEKxgDLARwaI9UF6RlWz0EVQjPKXhi9sLHxbBKs7XwyODmOH68jCfRAmcs/poP7X94jrtfqXuxEkQxK1+l0sRpHJHdAfSsLHpkvbtS2m+dIOSk9dF/yE2JctcUFMScItwpBbORX/XbbXrns7I/ewRFRuoJYm9V92YUQVSe7gScC8c6F0bQogLd6Hqpw/qq9ZGUlrpRyUnqQSfeMKMOxuBhmgRArmO+wrlryB+SSUwfIX7JrAB7P9gNLOswfbtwpr7Z68PPN9LkobmVhxgNpyAYpJ6WF5k3MrW8js45rBk9JbCgEri+PpMytRawDLCfQXgXxIQiu1T1WiuPPFm10hh12GjgZvLjniHgRKt1Hi7RDzDP0xWulrJQOms/4M0w6HFNaXgxTuCroPrnriD0LbCeLW9Z1i5Y2VvdYKeJo/9JQSvlnO10MiRQH1d1CdHKAWxhrkrJSGtR6E2/XgukBHixhTSSDnt/YIfpPna4rpSpY0dUvrBmre60EYe0hLaSUReEqAEXcdvpcpkP0zCMdGWrwx94l5aX4oF+0mBNFrYk0AFhWv9i8Wy4r9YHiaHThtEPwvRC3ipm/ebl6guyngje9X/k4FjRE9H73GXdJeSkuULhIPzzLZTivJDYSzHMMKUDvb6fhjg07bPE2R9cC1DtWY9zqRHT0DYjTZ6XrC4no/e72G11zGtcVf/iq7otzKsMJhFghpoLFg5bFTkTUBrk/cAXR0G6LDWou7YBDI2Pm5dG07dNOJkOpKZ+SMlM8uH3xMAvWBCFWeOujYHiDYr2WpoIdh4dNne4RJ4ZWz6HUHHcF7920S14RA0CBt+pZ76CYY+g12qTMFAcub8c79WB6iIdLFIhNhNOzj0VSZqzPHj3BSwmceMLCsXoWpSbc7cvCqbIPiLA77nqhR/nAO4hhFVooPeLyJ94t5WbmcHvj30OAzOoXVhshVnCR0BYGI5uqARhJVSm3ENZVc9qeheKVxO87etUPvEuK4HsgebuUm5nChGBt4brBArGBblidN/sGq+eNX6kaNlh1aG88WoZ20aoh7IC6wnEW6guN7UXp++4JpGbXt3RyZjvx/CUdYtyWE3KspgJj/6AI8Jb7VAobckWnMw8zZorndh1SP+N9nMh8h2h5E3Ol7Ewfbm/i3mpvIzOeEIqEvXIMh7Ab0EIZE6bLeSqFzYiJ1mxcWQNj8zELQPXUhnEKjfEZv5KyMz3MemjjuW5fPF3NuVfjrWGclBA6HWAUPk5FrZ5RKfhBeuZtbF2dErsHCh01IFpWz081euDF+eL5GQ2qcDcbdSJ2VaXuIBYD3JLfd6jTGqZUuPvFnrLFTJDbhkMNp7U6LiYGyOq9okX9VjMTTIouDi5f3CPlZ+qgH/TL+aurb94gTgKxEFC31pTqk0ukuvFkYl/ZTqVg0S5J8nM/HTC67NOtGQcJFtzCXtPtjz8g5WdqqG1vP8ftSySqzR2EWM1tjouFwC7JBNbJcVOlDvIiToYRXSp0Zq0kIFhXOkyw4Ba6vfEsZp1KGZo83L74hdV2OgixGs9eV21ScKmB/lgQq1JnvKNp4M85q/2McKJgjZ8Wuppj86QMTR5uv/HDajodHM9eR3cCFJcyXgm05/1kiWMmOI3FlON4FVQPzBQ4uV2Iz8MhQfdxCs0JJH4iZWjycPuM5xrQFdDihzqNInud3uyfacuYnWRJMKzx1adKW78GlxO/g3Fm7BscFSVLTiiAPp7ikM9nvChlaHJA7aAWSA2JOh+LH+o0Isj7lTXVlb0+HZS6fg1BfR+X4UwKKEqvr2BReqkoNCeYmlptISncNaINssUPdBJFQuiSDvO29TtE61nG6YF+X6U6KUQKyYJQUlgOjDMD1QdOShw9nvNXITMheb2UozND8xtPOL2VDN5MCPBWe0LoVPDUjoPmBSXq8Q7LbdFzO+RvYpwJjirNOYFCe3yJpVKOTg8cKbp98Ry6AVr9MNV5fI7VEw7sEFpKJA8MilbQpXir48BjVdeZ00hwOtY3NCqGUPSQW7Sb/uynv1dbyVQ4u98xxc8n0hPNo3Vy96RG2mve5Ac9kZypBVKWP0x1IkiJt9LKSWwOxivRPzxqfrwEPd7h2mASDjppHg+4h8/1HDb/EOs1v79xp3nj6rz5qdaMCDajLKWBCDcS1/S5FVnzO892C7c12+/8g5Pfbd/rmPYyJzGQLLRP9qUvlLJ0auh+4yanZrejLhAWAudYTR9fLkEzP3wm80l8Xu4dEPleqC5AV4xLSZhgCcN1h8sIF+giso4hmBA5fB/+xN+R7AsrDQcosABRqO7kUWCLbdJrv1QsZL0bt0hZOjXoi5rmt++2/CGqE64gRn0zpo9SDaXAywTuukgxoZ+PWBnEaDoxGsQnzyfhupSsr0171BxkeyZcV8EusOUgWidrvkRAypI1nB6/wuLHG9uf4aPz6eLhEroiEJpiHdND+Ma7SxgOS0SFqwwxhqCfeN9O4aTiWHXe5Hmib3vQmfErcNyV2LavuNns6IrZOzhiHhx29rF8a/6AMq4IRGs2XesXV2bNIQd1fti094iwrpx4QniMgZSph7Om3pSYJeXpZFRD/hUWMWIhKDMpRqLo87sPmz9+oce8annG/Ai99TCYAvGXjQ6Nk0HoEUdCDpvV87Uj0XzR5yCrWnTOIJfX6l6dRGiR2xu/QcrTydD8xoOFpC3rH+AUQrTg1nx7bZc53ffui3sOm998ulOIHxYPgr7jAWBYIIjBwH1yGvYOjJiXKOaOIAxw/ar8tD9ru8Euw21LzYJgJf5HytPJQP1gfVt11A+CyHJ/YIqjz7FhUaICkxzuxqksDcRi3k9v9oe2Omu0OjwrTGCGQFvdtx2JgD4+JyfUicK1RZcGWLlW9+okoq7Q7Y+/IOXplajzZl7v9sX7POQ3Wn2zE4mFjDfViknmZIWyB0QOUOHo/MwLBl/zARJFpwX5b322u2QZ76UiXi6ruw/KO1AX2xV0yadLxLA0n9FfF+h+g5SpCaD/FSLz1dYOGR8+Jhsj/+dUwPzBW9Z1CzdSfL3FzzkVx3OGUPvlFPyGrFLVkhZxvYj9qI4/xnurIn4liP5YLV1kZSUvkjI1AbffuK4aCp5PpDhJImsBE1qGLU6Sgtn9IqkRuUHTOZUp/Py4eR39/FGHnFThmahWFgLBckJM8esYBkLryeoenUhoku4zbpQyNQH6j7+shoD7qQjX7acvTXS67B0YEcW46JOFhNOpWFVWxEkVykacgM17j4gYlkrH6hDYBxSPJ+4gSx/3UqxcNRUoAu++xG+kTE2AfMXlDSt6LL+pGoiYwBx6cyFF4ZGOXpH2ANO7WJsSriH6FzmhXETFEVMQrF8rLlhLk33V4w5KYpIOeX+rpUwVgPmDWiCRErPBLL6pmgj3EIu7GFbV8cTPQrD+py/1yOWnLpAki2JjlU4K4RI+qLhgfePp6nIHQRFX9xu5V8wrrPUm3u72GYN6KHPSNzCLR5jysEqc0E0AJ4UQd6v7tCMhWI/GeuXVqwesmUJrn+pxB0FReeNLDDf4s++SclVTo3vjF4txXlV2QlgJwqRHHpfqQDxIpZNCWM0qp5eIGs4qcwcF5SQdzR/TpFyhh3v8aqd3GLULYWUhXtZ1aFguRTURzalTUzhe9P5czyF59WoBE7BR+qWSC15MiuwFX/zLUq5ESsMPq3HCc6WIWNavtqjdmhkJjIjzqZDAiJcEZk3uPKzmSwJDbFVyv4tNoU3Hj/6if/wTW1jlI04MVZ9ujDbFuAcVTgpRRoU8OFWz4L6LeKFC7nexCW1yB4wnpVzBwkqsqZYZhHYhrCx01lQZX1KkiRxiP7/dpuYJYf7gMFmIhTIvq3urBkKbyJJfJ+VK5GAZIuhu8cXM0hBdHrDhVc59/+HzO20fx4LLCtdV1dKo+1/eLV5uVvdWLSykWxnpmkXmWTUNrZteS4K1zxPOnfSFzNIRgWBYJy/3qtvC9/ESziksFtF19IbVak6TxtAPuN0IIVjdW7VQFEF7jQOXRIy/rqn3dbyVBGu0WqY824lwVe7dNFEOpBrW9RwyL7B5IiOsk2WKut6Nib6qt65AvdABeWxeIPUOBNz/uRq7NNiBcFX+tSVtDo6+cryVKkBqhofuw661bTgQUHWaNArxP91WvakMr6Ds2qAF0++vqfPGLy7UELJgVYI4rsaxtYoYOYr8oKx5kU03FZJF71Q0SRd5blWZKHoKNqzYZeqhhBsnhB+f3159bWXsQmyqn7yobub7d9fbs0QHMUIcbGzZq16MEFOsr16ZFddvdW/VSNFmJmj8K04Ir63mtjKV5oRbqOZ54f902HMCMTLbb1yjZrB9RWe/eJFZ3Ve1EhrlQl8szRe/mQWrchRlI/QmxfQdFbGW3Fk7tkuGiLbmJ9f62k5Aj8erV+bYujqBoi+WP/G9GrcveZeo1bH4ImZ5iFjFr6c4DMMuQPtouwXeEahGwFrFWYRtbF1ZUoStfMmfIYb1AJflVJbIx7pW0dIRxFs+b7PeWEgFaEyql8qAPmN4lipUD5SbGF1PWvUwWViJx6u506gd6JKlF6cbhGFnLN5on4x3xAQvj6bNQ8PqpYoEMvv5ZPAUlOU5y2o0byLIdYSVJ2Iuqk4nhjVjl8A7Zk3+Ka5eo74jI2OiLfdcElyr+6p2Ykah5jXaEHRfVd+GBlnWX8gsD2GhYOiFihBDKciNwQGC1b2VixfRZv94JGUeVNC6+kOsV7iyxWzL7STWt3ahJ9Y6EqzEc/Xcy73ihCuDN+yAglnvEIiPkVBUuuYN1tWfFZw9uGdgRIySq/aawdMR1TjkEm5Cac5mUZpj8UXM8hHWCYKtsFZUxE1ruyo6IAEW3qdaM0oK/n+92CNiV2xdnZqeSI4Ey4jV4H/wF6svYpaXWLS/71BzUMJ/b6tsz3H8bpSzqIZY34A4YcXBi9V9MQtExwbSqgzSGjpYsOxBWCgY5aQiKtm5Ab/3+tV5JdNCvvFUZ1W3P54sRYsZv5FDP/dM4S/WX8gsH0V3gWDS3Dug3rBVTMpGZ4Ryt0xGOsiFtOFf2qOeK41MfE5jmByPCRY6+bFg2Yc4LVzdfVAuabXwNbIWyhnHQswHGx6dT1XDweFR8/JoitvHTJITFpbXYJfQRkRZxj2KNvV7aNuesloMOFmFRYpTNtXwi81ofdzBgfZJckKwOOhuK+K064srcqLkRTU8t+uwsLDKlY+FvCVvWr1kW4xI40D71CgFK408rE2c1mAfYhFjJHlGwXH2/cNj5mVl6EEOqwSus4oHFKjHxgGB3VtL240irYG8QZwSrufEUXsRblWzgpYDcAtm6JX41AuCKGovFRR1JLZyn/ap0xPthOX+Ehr4tXNpjr2IoZn/qWiZDgY+lDqOdT79/CcVzGjvPDgsrp8z2qdOlOa4ffFnauh/Alz8bC/OowW9UNEyHXScKHSfsL63mRCuIA4lkFWvIr5N1w1XlgPtUyeKn92+RAvayzzG7WXsRdXLdDAHsBQdM1HcjFPBnsPD8jepAx+5+OwKTp9Co3zxpQi6/5ob+NmPcKseialZpoP2LsXenLDYVM1R20EC6wmwKzgTooEfadXvajR/8kfcItl+RHrANxUt08kLtxCBcet7myrhQqETwy8375a/QS382zNdwpVlV3D6RItk8jzurnF74//OQyjsR5S4XELuT6+CQ0ABxJmKMZxiPIXhRnIzRxTs0d6U4unNxaA0qr5bo/uTV7Ng2ZM4LVyzQ80yndbOmdfJQawQy/toOGn2HFEvbpXtHxLxSHYFZ06hUb7El2v0gHEZx7DsSbQdvlfRMh2ccGLeIgLlVvc2GWKjIyP8xT3qjUBDocJX1uRFThq7gjNnYdhzcmGN25+8qGE5j6q3I2FdYAKwglU6Ao+Ktr8dlvd2JiL+BQvNm1Zv+g3wSEeviLtZ3Rtz6sSoencgXVej+4x/QmmOHmDBshvH85ngWqiI/UOj5qWhpMgrs7q/0/H8xg7z/pfVDLK/3HtEWIblbrXjWJI2eVo6TU84eV5NbdP2t7h9xogeSlt/MbOiVHmaDgAra6qWBr7+dkUz/Q+PjIkhrshDY1ewONSDQptG65qMt9XMacy/xu1P7OGODfYkTshu36Dm5gWwgTFcYzLDQbHB4QZ+/alOc1jBE0Hgxy/0iFNBFqviEZ0ayKjqcy3Z9boagASro76ly/KLmZUlej4heD0wqmggi7Cq+6AQIvdp8rKwwZGr9MWVWbN/WM1UjuVyzPzp7pM5dcIdJMFK1tSYQq/QdbS9EHi3/gZm5YhjcfTIerl3QG4LNfHTl3aZ73vy1K4hBO2q5Rklm/EBOw4Nmw3BQvmQ1f0xp09R6+wzni6oFcHtNx4tHBtafwOzssRmxqBNlTF69Kj53We7zfMaO47lJUGMscHfT/+G3lb7FE2SPUr39rU1nVzYXCIi7Yqs1selXNXgpPCO+as5edSuRLO3mxQt0zkecGrRRhkFzLgnBKYXRtPmY/F9Sk68Gcfvtu/lFIYSspA0atwp5aqmxuU3PsfJo/alKNMJJZW1QE4E7mPDrsPmpr1HzCMj6rXQOR7P7z4shLfOx65gqSi0KZC8RspVTY3m7ZiLjn7Id7D6BmbliYzppxUt03Eq+kh4LycLcTInoMxpkjRJHAj60rVSrmpq6n0db9X8xmE9lLH+JmbFiXwsTFph2Ae3PtstPheOW5WOUpMG6wOpd0i5qqlZ2GieTT6iwb3d7UtRptOeU7ZMx2lAb3a0arb6rJjFo+jl7jMysx7aeK6UqwI0XzyKeh2rb2JWnuP9pdCCmFFZbO0dMC/i0puyEJ1GSbBWSJmaAFlYP+OTQntT9TIdJ6B/aFQk8nLpTXmIE0ISrPukTE1A8yW+wCeF9qYo01G0xs4puG39DpEXx2JVHqJxn8ub+JKUqQlo3o4PejBdNZCy/EZm5YkyHdTlqThNxwl4gmcKlpfo0hDNk4UVv1DK1AQu+JPx12R67eUiaPsSmeEIviN/iVFe4Jlzy5jyUhhQPmNfnTfzeilTr4Tbb6zlGYX2JtyR33fslduIUQ6gr/54vhW7guVjfdtOvKTXS3k6Ge5A8j7u725vYprON55Sv0xHJWAAKk+9KT/F4Amf8aCUp5PBJTr2J1yS+cGksl0NVMODW/dwnWCFKAVroiTnRLgCsf+nBVOjepAD73YmTgvbu7hMp9TAM8bkIuTAWX0OzBKSNEgPpcdcweS/SHk6GbXt7eegURY387M34Z7c/aKa03RUQerAoHjWOJk98fkzS89Chns8994lW18l5ckaZIL9md1CexOnVZ9dnhU9phjFx8HhMfMzbRkxCJbjVpUhNIiMp2VSlk4Nt9f4Kme825so0UETPGP/oNxijGLiOyhq5uTQihIaRBbWN6UsnRp13uR5qJDmOJa9iQ31ZGKf3GKMYuEhDrJXnoGUiXxQjy/zASlLp0bt4vZzyMriOJbNif5Y//FMl9xmjGIgmjsg4oMcZK8sC0Mn4tkzxq/GofmMR8SRosUPY9qDcAk/Gk6ZB4ac0YW00tjSe0Q80/F+88zKEfMl3P7EY1KOzgzNn/wMB97tT1hZz+w8JLccY7rYeXhYiD93YLAHYSy5/ckvSjk6MwodSBNHuAOpvYl2M7/kLqQzAnrKX7MyxxNvbEIxgT6QemWH0cmA3MKneFahvYnatmu4C+mM8J113Typ2UYs1DIbz0oZmjzcvvhtC1bvO+kHMu1DpDdgWkumn7uQTgf3bNrFJ4I24/yC5iyWMjR5uLzx80WrGe6PZWsivaEp1Se3IGOy+GO8V1hWPFbeRhT9rzrNuqbYbClDU8CiRWe5fca2+tZu6x/OtAUReMf0FsbkEc4dEDErniVoL9a3diG7Pb6wsfFsqUJTg+ZL/ESaaEybEsfwl4VTZv8wpzdMBmt3HhKxP05fsB+hNW5v/F4pP1OHJ5CaLUZ/8YBVWxNWFjYi4/TYsveIsKow8YaD7DYjBqbCm/Mm5kr5mToWLTLPIsXrYLfQ3ix0b+iR25JhhcT+QdFHjLuG2pMFdzCeQKWNlJ/pQfMnf8SnhfYmWqBg9NQgD6ewRP7gsHlZJCW6tbJY2ZGGCY1x+xN3S9mZPjze5HmiGTwXQ9uaaIWyvofdwhOBLHZMGrqAxcq+RLFzNG/qTYlZUnZmBnILN/BwCnsTbuGdL7BbeDz2DoyYn27LmB8iMWexsi/FsAlv7CUpNzOHyxu7id1Ce5OLoV8J9LxHk0MuubE7C+6g5ovfLOVm5qhtyr5FCyQP62GuLbQzkUQa4FH2UqzIsmKxsj1FvXIgPVDrTbxdyk1xQAq4lFvO2JvoNnDD6rzcttUJtqzUomiF7Dd8UmaKB1LBhoYVuyx/KdMexGRonIRV62RoBNhFzIrFShk2rNxtuvzGR6XMFA8LG82z3T4jxjlZ9iY2623rd8gtXD3I9g+J00CM5WKxUoMi98prpGY9tPFcKTPFBQJjC9YgQMZlDXYl2vvO8xpm8kD1DKiI9w2KAweecqMSDRNagq4wUl6Kj4am5Jv0YKpfR16W5UUw7UCkOCzesFNuZ2fjhd2HzfpAwRVmsVKHItgeTB1Gs1ApL6WB2xt/WIwBYyvLthRWVrMhylGcjJVd/WJ0P5fbKEZan/NXYYyX8QcpK6WD6JOFrFTOfLc1Ecu6ZZ1z284sSfYJqwrCzGKlGFHo3NJFL9bkh6SslBZur9E2f+Vu64th2oI4MUQAep0Duzjc//JukXMG68rq3pn2ZsPKXUgUXSXlpPTQAkYhxSFgfUFMexB5WVctz5hDY85o+j4wOiZOQNHWGO2hre6ZaX/C2HH7kpdKOSkP3N748zykwt6Eq4Q2wL/dtldueXXReWjYvLY9J+7H6l6ZahA1yW5ffHONaUolKRN0f+wKzny3P8cb1m3bNyC3vnpY13PIvCSU5BwrBxDBds1rXCVlpHxYZJqFnu9t3MXBzsQGv1C6hnCpVMMfYr3iFHAudwlVnvVtO2BdxWvbZ9ikb7ogwfqsUEyLi2Pah+Ou4Z3Pq9N+Zt/gqBiugeuGlchipT5Fkz5v7DopH+WHKNfxGh1sZdmfODXEydrSpP1HgmH8/ieiaXG9VvfCVI/1rbCujOQVS7a+SspHZaD5k59hK0sNjidZPmvTzqSHR8bMn2/aJVxYTgZ1FpFs7m6Of1HKRgVhmpgSvZk7ktqfEICLZKJlR5+9gvCY+oNOC3ABOWXBWRQdRX3GtmnPGyw26gLGZfNX7rG8WKa9CLFCftZHQkkzfaDyI+67Dw2b39+wU2St47rYqnIe57fvRVeGT0q5sAdIQdegtw3XGNqfEAUIBAawVqresH9o1Pzd9r1mQyBpzlrKI+MdSdICmdW+TsqEfVDXnPgwAmuYgGF58UxbUYgWWTSY1bdh12EpI6VH//CY+bixTwTV4f6hFz1bVQ4lvYxEqMgXr5UyYS+4vfFG7uSgDiEUyG9CYumf4r1SUkqDHeT6PUwW1fjpH36n1TUxHULSABzGubxxr5QH+6HWn32XJ5w7wv2y1CFEC6eHEJFvPN1Z1Iz4wdGjIksdvbmE60e/A90VrK6D6Syi35UeyQ3WLUv+XykP9oTbG/vhgjV9bGUpyNnLCi7aHRt2mC/tmV5f+P1DoyKP6p6XdplXtmVErAytbrizQhWR9j40wOWL/0TKgn0xZ13+NXogmSn0fudFqhrR/A8CA1cRxcYPbN0jUg7yB4fMg8Nj5vDYUXP06FHRAQLilOkfMp/eccj8n4695r8/03VsJDy6niKFAgmrVr+H6VyKvR9IdrqWbH2dlAV7Q2uOL8RRpuZPnnQzTDWIUzskb+IEDwIE1xHxJ9Qkfm55VuRMfYzECYKEMfBw9/AnLDQWqeqm6CbqTVwp5UANuL3xiOjmwK6h8oQAoZ4PYgSrqRCoL/wdFhkLFFOQ1oLY883x5VIG1IFnWfx/6+HsEU84Z31zTCbTUcRhmx7OD3iat79HyoBa0HwdN4sAvMXNMZlMJ7EQaHc3d5RubFfJYZokWsZGzoBnMh1M2ttome72J16yTb3gdKEF0+/3RPMjYg6Z1c0ymUylib1Ne3xM8yY/KLe92nA3x+5YsGY/3RxbWUymo0jWFfa2qzl2p9zu6mPRIvMsLZDYIEaDsWvIZDqDcAVXFlzBirU9LhV0n/FPeiQ/6InwqSGT6QR6wllyBTuHdH/qfXKbOwuu5vjX0dfZ6uaZTKZaLJwKxv5Nbm9nQvMbQe7owGQqTNq7Ipvdl2iR29q5mBcx3qiHsztE7ywWLSZTLdKeRa2gHsrucoUyfy+3tbPhWrbNgxllnOrAZKpFPZgWTfnqmmOXyO1cHaAbvp2z4JlMtSjiVl7jh3IbVxfIvIzMRxCeXUMm095E3AqxZ3+iTW7f6oOnefvfaaFMtmF5D4sWk2lXIm6F3uzhTOe8RuONcvtWJ+qaYrM90c5CfhaLFpNpL9KexN6kPTrsato+R27b6obLG/v8/PY9ph7kiTtMpp2IPVnocdVxrdyuDIAeyH8teAr1htYPjslklp+FPWncI7cp43hogUSTODlk15DJrCxpD4q9GEgG5PZknIg5jfnX6KHMBm6tzGRWkLT3RIgmnH5RmUESlUJt0/a36JFctmEFnxwymWUn7Tmc2nsi2c66JuNtclsyToeLl255nyea3y/GBbFoMZnlIe21+pYunAj21y3d9gG5HRmTgdYU0+qjncP08Fi0mMxSk/aYJ5I3PS2do1rz9ga5DRlTgdvb8cn6tm6RB8KixWSWioaYeIMaQVdT/NNy+zGmA7c3dh2GWBQKpVm0mMziksSK9haC7K7mjhvltmPMBC5v7CacHLJoMZnFJIlVMC16W7l88ZvldmMUAy6fcasQLXrALFpM5kwpxUp0ADYWyW3GKCbcvsRteMAsWkzmTDghVm6fcbvcXoxSQPMai465hxyIZzKnyAmxcnkTi+W2YpQSJFQF95BFi8mcPGmviAA7KknYDSwvdL9xE04PMWqIRYvJPANpj2Cv4DRQ4wB7ZaA1x7+M3vCeaJ5Fi8k8FSFWtEeQZ6U1G1+R24dRCbj8iSs8LV1DXMbDZFqQ9kR9axcy2EfqvB1XyW3DqCQwhccT7dzPBdNM5nGkvSAKmaP5fldTbIHcLgw7AMWa9MFkRECRRYtZ7aQ9gHgV7Yl83ZMvz5bbhGEn1DVtfpsezj3H48OY1c4Fa/ahmPl5bdm2f5Dbg2FHnPfH1tdqoazoXFroEc/WFrNaiByrlGhrrIezvrkPr/0ruS0Ydgd9cHcLk5g7PTCrgbTGsdZl+dq9chswVAJ9iNdghJg4zmXRYjqVtLaxxmmtD2m+xJfl8meoiNqlHXM90XxKTq1lMh1HrG09ks+6mmPz5LJnqIw5Tzz7Zi2UDYu4VijN1hZTfdIaRk2gWNORXLT2TxvfIpc7wynQQ5kfIDOek0yZSpPWLtYw3EA9kL5LLm+GE6F5kx8hX7+TXUSmqkTDPU9LZ7ceMC6Ty5rhZFz0xAtv9YTzfpGrwsXTTBUIF5DWKlxATyQXRs6hXM6MaoEeTP07vakG0PWB87WYtiWJVcPKXeIUUA+mb5HLl1GN0AOJWZ5o/tlCQJ77azFtRFhVtCaFVRXNb6gLxLjEhlFTU7t48TkIyNOiGG1YsYsWC4sWs9Ikq4rWIq3JMT2UvWvWQw+dK5crg1GAy2/M8URy64W1xbEtZiV4fKwq2rnB7U9eJJcng2GBhQvP1sO573ki+SOFVrLJkxcVk1kiopxMj+YHyKq6vXZx+zlyVTIYpwctnn/WI/kgFhDnbTFLSlpbaLIn6gAjuYjHmzxPLkMGY2rQwpmryNpKFdxEDsozi0i4fxNB9YwWyn5eLjsGY/rwLHn+b/Rw9sfkKg4INzHAbWuYMyGtnUBy3KIapHV197zHt/ytXG4MRnGg+4x/ojdhI8p7CqeJVouRyTw9sXZEd4VIbpkrmPwXubwYjNKgPpDVabGtFvGttp2Wi5LJPJF40YmgeiT3NFlV9XI5MRjlQX0o9ylafC/CtBeBeYtFymRibYj6v2hukxbKfEYuHwaj/Fi4sPFsTyRzLQnXNizK+tYdlouWWX0UQrWahCqS69DD2S9xmgLDNnjvkq2v0sLZL3vCua3C4kKXU4tFzHQ+ESYQAfVwbjvxxtpH2v9CLhMGw16Y9dDGc7Vo5+f1SHYDClZBPlV0OgunfiKYvnI3LKrn9VDuarzE5LJgMOwPTyj9cRKuNk9LZ+GNi+JqFi4HsZBHJSzqli4I1Qo9kvmE/PgZDDXhiWY+TML1qB7KHlywep9Y3NYbgKkK8RnisyTBOuwJ5/5YH8hxP3WGs+DyZt7pCWcXkXDF4D6II25hdVlvCqa9KKwpcvng9unhbJxeQnc0tGbfJT9eBsOZQGwD7qIWzjbpwfQRYXW17RBxEKuNwqwg6TPBZ4PPSAtmBkiovHok/4kFYePV8uNkMKoHeEN7ovmbtVDmefpTHIMLl5HFq3KESNFnIFISop1kWWVfIGvqO1ok93/kx8ZgMBpaOy/0hLI/I9cjNp7Dgyp+Fq8y8DiRwrPXw5k4WVP3Iv4oPx4Gg2EFpEbQRnFpoezP9XB62zHLC2OdMFfRasMxp0zM9RM5U8csqUyHJ5L9BZ79rI0md/hkMKaKRaZ5ljvUeaEWziwmsVqnBdODOEZHwB6bjK2vKZCeFZ4Znp1IMwmmhsiSetYTzn3fE8h8eGGjebZ87AwGoxhAHEUL56/RQ9nHaMOlPZEcbb7eQsIirIQgklQtNmsVUg+k6JnkxbMRtXyRPJ5Phly9x1FONb8l/275WBkMRqmxIHz01bQJZ3tCmW+Te7NMDyQz4ui9nSwwJDO27RD9wavCCoP1RPcqOiLAAoUFRX/Xg5mMFko3FZ5R/oLa9gyXyTAYdsAC4+irtZbO95P7eA1t0gfImnhWC6R6hRskN3HDih4Zr0mrKWR0zbh23EPD8p5j94W/4161QHq9Fsw8SEJ+bUOo6/zadpMFisFQBXWrut+A+AwKs0nA7iOucPuTGdr4g+IkUsRzesWfoqlcC4mZsEwqJGgQJPrduAZcC65p4hplGx+6dvraLAnUShLmX3lCueu1UHYu7lXeNoPBcAqQ9KiFdvyDO5Ku04Kpa92B5F2aP/lnErK19GfS7U/0kSCM4ZhfZOQLK4YEQ4oGYkKwbuB+4Wtg3SCWBpdMiN1xxL+J/0Zfg6/F9+B7RVxJBr8LPxvW365CDhoJl9uX2K/5EinNbzzj9hlP6sHkj/VQ9jpPMONyRTPvhDssb4fBYFQzLokYf13rTbxd96feB4FwB4xPkpBdTxbNrbrf+Cn9//8mUVlKAtdCYvIMCdxLxA76tzSJTJ5EJico/n8ijf+GrxHiU/ieZWQl/U73J39Kgvldtzd+gzuQ+qTuS7jxO/G7cQ01Naa8IgYDqKn5/0W6+RsYgO8FAAAAAElFTkSuQmCC\",\n id: \"vimeo_icon_svg__b\",\n width: 300,\n height: 300\n}))));\nexport default SvgVimeoIcon;","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '../../rootReducer'\nimport Header from '@SiteContainers/Header'\nimport YoutubeLogo from '@Images/youtube_logo.png'\nimport VimeoIcon from '@Images/vimeo_icon.svg'\n\nimport './ChannelsNew.scss'\n\nimport {\n connectExternalChannel\n} from '@SiteModules/User/actions'\n\nimport { IConnectExternalChannel } from '@Root/site/modules/User/types'\n\ninterface ChannelsNewProps {\n connectExternalChannel(payload: IConnectExternalChannel): void\n}\n\ninterface ChannelsNewState {}\n\nclass ChannelsNew extends React.Component {\n handleVimeoConnectClick = () => {\n this.props.connectExternalChannel({ service: 'vimeo' })\n }\n\n handleYoutubeConnectClick = () => {\n this.props.connectExternalChannel({ service: 'youtube' })\n }\n\n renderYoutubeButton = () => {\n return (\n
    \n \n
    \n Connect\n
    \n
    \n )\n }\n\n renderVimeoButton = () => {\n return (\n
    \n \n
    \n Vimeo\n
    \n \n Connect\n
    \n
    \n )\n }\n\n render() {\n return (\n
    \n
    \n
    \n Connect a new channel\n
    \n
    \n Publish and create your subtitling and translation projects in a few clicks.\n
    \n
    \n {this.renderYoutubeButton()}\n {this.renderVimeoButton()}\n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(_state: IApplicationState) {\n return {}\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n connectExternalChannel\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ChannelsNew)\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgCrossmark = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 14,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F03738\",\n d: \"M14 1.41 12.59 0 7 5.59 1.41 0 0 1.41 5.59 7 0 12.59 1.41 14 7 8.41 12.59 14 14 12.59 8.41 7z\"\n})));\nexport default SvgCrossmark;","import React, { useState } from 'react'\nimport YoutubeChannelIcon from '@Images/youtube_channel_icon.svg'\nimport VimeoChannelIcon from '@Images/vimeo_channel_icon.svg'\nimport More from '@Images/more_icon.svg'\nimport Checkmark from '@Images/checkmark.svg'\nimport Crossmark from '@Images/crossmark.svg'\n\nimport {\n IExternalChannel\n} from '@SiteContainers/ChannelsTable/types'\n\ninterface ProjectVersionProps {\n readonly externalChannel: IExternalChannel\n handleActionsClick(e: React.MouseEvent, externalChannel: IExternalChannel): void\n}\n\nconst Channel: React.FC = props => {\n const [showInfoForStatus, setShowInfoForStatus] = useState(false)\n const [infoForStatusTimeout, setInfoForStatusTimeout] = useState | null>(null)\n\n const { externalChannel } = props\n\n const toggleShowStatusInfo = () => {\n if (infoForStatusTimeout) {\n setShowInfoForStatus(false)\n clearTimeout(infoForStatusTimeout)\n setInfoForStatusTimeout(null)\n } else {\n const newInfoForStatusTimeout = setTimeout(() => {\n setShowInfoForStatus(true)\n }, window.Checksub.tooltipDelay)\n setInfoForStatusTimeout(newInfoForStatusTimeout)\n }\n }\n\n const handleActionsClick = (e: React.MouseEvent) => {\n props.handleActionsClick(e, externalChannel)\n }\n\n const renderChannelStatus = () => {\n return (\n \n {externalChannel.valid ? (\n \n \n {showInfoForStatus &&\n
    \n The channel is connected\n
    \n }\n
    \n ) : (\n \n \n {showInfoForStatus &&\n
    \n The access needs to be refreshed\n
    \n }\n
    \n )}\n
    \n )\n }\n\n return (\n
    \n
    \n
    \n {externalChannel.thumbnailUrl ? (\n \n ) : (\n
    \n )}\n {externalChannel.service === 'youtube' ? (\n \n ) : (\n \n )}\n
    \n
    \n
    \n {externalChannel.name}\n
    \n
    \n {externalChannel.service === 'youtube' ? (\n Youtube channel\n ) : (\n Vimeo channel\n )}\n
    \n
    \n
    \n
    \n \n {renderChannelStatus()}\n
    \n \n \n
    \n
    \n
    \n )\n}\n\nexport default Channel\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '../../rootReducer'\nimport hasElementOrSomeParentTheClass from '@Utils/HasElementOrSomeParentTheClass'\nimport map from 'lodash/map'\nimport Loader from '@SiteComponents/Loader'\nimport ConnectChannelButton from '@SiteComponents/ConnectChannelButton'\nimport Header from '@SiteContainers/Header'\nimport Channel from './Channel'\n\nimport './ChannelsManage.scss'\n\nimport {\n IExternalChannel,\n IRemoveExternalChannelPayload\n} from '@SiteContainers/ChannelsTable/types'\n\nimport {\n openActionsDropdown,\n closeDropdowns,\n removeExternalChannel\n} from '@SiteContainers/ChannelsTable/actions'\n\nimport {\n connectExternalChannel\n} from '@SiteModules/User/actions'\n\nimport { IConnectExternalChannel } from '@SiteModules/User/types'\n\ninterface ChannelsManageProps {\n readonly externalChannels: IExternalChannel[]\n readonly loading: boolean\n readonly actionsDropdownOpen: boolean\n openActionsDropdown(): void\n closeDropdowns(): void\n removeExternalChannel(payload: IRemoveExternalChannelPayload): void\n connectExternalChannel(payload: IConnectExternalChannel): void\n}\n\ninterface ChannelsManageState {}\n\nclass ChannelsManage extends React.Component {\n currentChannel: IExternalChannel | undefined = undefined\n\n handleClickOutside = (e: MouseEvent) => {\n if (!this.props.actionsDropdownOpen) { return }\n if (e.target) {\n const element = e.target as HTMLElement\n if (hasElementOrSomeParentTheClass(element, 'ChannelsManage__dropdown')) {\n return\n }\n this.props.closeDropdowns()\n }\n }\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside)\n }\n\n handleDropdownClickOnRemove = () => {\n const externalChannelId = this.currentChannel?.id\n\n if (externalChannelId) {\n this.props.removeExternalChannel({ externalChannelId })\n this.props.closeDropdowns()\n }\n }\n\n handleDropdownClickOnRefresh = () => {\n const service = this.currentChannel?.service\n\n if (service) {\n this.props.connectExternalChannel({ service })\n }\n }\n\n renderActionsDropdown = () => {\n const display = this.props.actionsDropdownOpen ? 'block' : 'none'\n\n return (\n
      \n \n Remove\n \n \n Refresh access\n \n
    \n )\n }\n\n handleActionsClick = (e: React.MouseEvent, externalChannel: IExternalChannel) => {\n this.currentChannel = externalChannel\n\n const dropdown = document.getElementById('channelsManage-dropdown')\n const boundingRect = e.currentTarget.getBoundingClientRect()\n\n if (dropdown) {\n dropdown.style.top = `${boundingRect.y + boundingRect.width}px`\n dropdown.style.left = `${boundingRect.x}px`\n }\n\n this.props.openActionsDropdown()\n }\n\n renderChannels = () => {\n return map(this.props.externalChannels, (value, index) => {\n return (\n \n )\n })\n }\n\n render() {\n const shouldRenderLoader = this.props.loading\n\n return (\n
    \n
    \n\n
    \n \n
    \n\n
    \n Channels\n
    \n {shouldRenderLoader ? (\n \n ) : (\n
    \n {this.renderChannels()}\n {this.renderActionsDropdown()}\n
    \n )\n }\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { channelsTable } = state\n\n return {\n externalChannels: channelsTable.externalChannels,\n loading: channelsTable.loadingChannels,\n actionsDropdownOpen: channelsTable.actionsDropdownOpen\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n openActionsDropdown,\n closeDropdowns,\n removeExternalChannel,\n connectExternalChannel\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ChannelsManage)\n","export default function convertFormality(formality: string | undefined): string | undefined {\n let formalityOption: string | undefined\n switch(formality) {\n case 'Auto':\n formalityOption = 'default'\n break\n case 'Formal':\n formalityOption = 'more'\n break\n case 'Informal':\n formalityOption = 'less'\n break\n }\n\n return formalityOption\n}\n","import uniq from 'lodash/uniq'\nimport forEach from 'lodash/forEach'\n\nexport default function getLanguagesThatDoNotAllowVoiceCloning(projectVersionLanguage: string, subtitleLanguages: string[], voiceCloningLanguages: string[]): string[] {\n const languagesThatDoNotAllowDubbing: string[] = []\n\n if (!voiceCloningLanguages.includes(projectVersionLanguage)) {\n languagesThatDoNotAllowDubbing.push(projectVersionLanguage)\n }\n\n forEach(subtitleLanguages, subtitleLanguage => {\n if (!voiceCloningLanguages.includes(subtitleLanguage)) {\n languagesThatDoNotAllowDubbing.push(subtitleLanguage)\n }\n })\n\n return uniq(languagesThatDoNotAllowDubbing)\n}\n","import React from 'react'\nimport DropdownList from 'react-widgets/DropdownList'\nimport classnames from 'classnames'\n\nimport './ProjectType.scss'\n\ninterface ProjectTypeProps {\n readonly projectType: string\n readonly projectTypeOptions: string[]\n changeProjectType(newProjectType: string | undefined): void\n}\n\nconst ProjectType: React.FC = props => {\n const {\n projectType,\n changeProjectType,\n projectTypeOptions,\n } = props\n\n const noDropdown = projectTypeOptions.length === 1\n\n return (\n \n \n\n
    \n \n
    \n
    \n )\n}\n\nexport default ProjectType\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgAddVideosTrueScale = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 64 64\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#AA6CFF\",\n d: \"M51.6 26.773c-1.813-9.2-9.893-16.106-19.6-16.106-7.707 0-14.4 4.373-17.733 10.773C6.24 22.293 0 29.093 0 37.333c0 8.827 7.173 16 16 16h34.667C58.027 53.333 64 47.36 64 40c0-7.04-5.467-12.747-12.4-13.227m-14.267 7.894v10.666H26.667V34.667h-8L32 21.333l13.333 13.334z\"\n})));\nexport default SvgAddVideosTrueScale;","import React, { useEffect, useRef } from 'react'\nimport uniq from 'lodash/uniq'\nimport Multiselect from 'react-widgets/Multiselect'\nimport DropdownList from 'react-widgets/DropdownList'\nimport ProjectType from './ProjectType'\nimport classnames from 'classnames'\nimport { Controller, Control, FieldErrors, ControllerRenderProps, UseFormSetValue } from 'react-hook-form'\n\nimport './MainSettings.scss'\n\ntype TFormData = {\n subtitleLanguages: string[]\n projectVersionLanguage: string\n}\n\ninterface MainSettingsProps {\n readonly errors: FieldErrors\n readonly control: Control\n readonly setValue: UseFormSetValue\n readonly projectVersionLanguage: string\n readonly subtitleLanguages: string[]\n readonly isTranslatable: boolean\n readonly initialProjectVersionLanguage: string\n readonly languagesForVideos: string[]\n readonly translationLanguages: string[]\n readonly disabledSubtitleLanguages: string[]\n readonly hasLoaded: boolean\n readonly projectType: string\n readonly projectTypeOptions: string[]\n changeSubtitleLanguages(newSubtitleLanguages: string[]): void\n changeProjectVersionLanguage(newProjectVersionLanguage: string): void\n changeProjectType(newProjectType: string): void\n}\n\nconst MainSettings: React.FC = props => {\n const {\n errors,\n control,\n projectVersionLanguage,\n changeSubtitleLanguages,\n subtitleLanguages,\n isTranslatable,\n languagesForVideos,\n changeProjectVersionLanguage,\n translationLanguages,\n initialProjectVersionLanguage,\n disabledSubtitleLanguages,\n hasLoaded,\n projectType,\n changeProjectType,\n projectTypeOptions,\n } = props\n\n const subtitleLanguagesRef = useRef(subtitleLanguages)\n\n const TOP_LANGUAGES = [\n 'Arabic',\n 'Chinese, Mandarin (Simplified, China)',\n 'English',\n 'French',\n 'French (Canada)',\n 'German',\n 'Hindi',\n 'Italian',\n 'Japanese',\n 'Portuguese',\n 'Russian',\n 'Spanish'\n ]\n\n let originalLanguages\n let subtitlingLanguages\n let topLanguagesForSubtitling = TOP_LANGUAGES\n\n const setToManual = (languages: string[]) => languages.map((language) => {\n if (language.endsWith('(manual)')) { return language }\n\n return language + ' (manual)'\n })\n\n if (isTranslatable) {\n originalLanguages = languagesForVideos\n subtitlingLanguages = translationLanguages\n } else {\n originalLanguages = languagesForVideos\n subtitlingLanguages = setToManual(translationLanguages)\n topLanguagesForSubtitling = setToManual(topLanguagesForSubtitling)\n }\n\n const originalLanguagesWithTopLanguagesFirst = uniq(TOP_LANGUAGES.concat(originalLanguages))\n const subtitlingLanguagesWithTopLanguagesFirst = uniq(topLanguagesForSubtitling.concat(subtitlingLanguages))\n\n const originalLanguageGrouping = (language: string) => TOP_LANGUAGES.includes(language) ? 'Top Languages' : 'All Languages'\n const subtitlingLanguageGrouping = (language: string) => topLanguagesForSubtitling.includes(language) ? 'Top Languages' : 'All Languages'\n\n const shouldDisableSelectingProjectVersionLanguage = !!initialProjectVersionLanguage\n\n const fillInPlaceholderProjectVersionLanguage = () => {\n const searchProjectVersionLanguage = document.querySelectorAll('.MainSettings__formfield-projectVersionLanguage .rw-multiselect-input')[0] as HTMLInputElement\n\n if (searchProjectVersionLanguage) {\n searchProjectVersionLanguage.placeholder = 'Set language...'\n }\n }\n\n useEffect(() => {\n // Add button behaviour, i.e. opening and closing dropdown when clicking on the input field\n const inputContainerSubtitleLanguages = document.querySelectorAll('.MainSettings__formfield-subtitleLanguages .rw-widget-input.rw-widget-picker.rw-widget-container')[0] as HTMLElement\n inputContainerSubtitleLanguages.addEventListener('click', onClick)\n }, [])\n\n const onClick = () => {\n if (subtitleLanguagesRef.current.length > 0) { return }\n\n const closedDropdownSubtitleLanguages = document.querySelectorAll('.MainSettings__formfield-subtitleLanguages .rw-popup-transition-exited')[0] as HTMLElement\n const dropdownClosed = !!closedDropdownSubtitleLanguages\n if (dropdownClosed) {\n closedDropdownSubtitleLanguages.classList.remove('rw-popup-transition-exited')\n } else {\n const dropdownSubtitleLanguages = document.querySelectorAll('.MainSettings__formfield-subtitleLanguages .rw-popup-container')[0] as HTMLElement\n if (!!dropdownSubtitleLanguages) {\n dropdownSubtitleLanguages.classList.add('rw-popup-transition-exited')\n }\n }\n }\n\n useEffect(() => {\n props.setValue('projectVersionLanguage', projectVersionLanguage)\n\n const inputFieldProjectVersionLanguage = document.querySelectorAll('.MainSettings__formfield-projectVersionLanguage .rw-widget-input.rw-widget-picker.rw-widget-container')[0] as HTMLElement\n if (!!projectVersionLanguage && !initialProjectVersionLanguage) {\n inputFieldProjectVersionLanguage.style.backgroundColor = '#7318FD'\n inputFieldProjectVersionLanguage.style.border = 'none'\n }\n }, [projectVersionLanguage])\n\n useEffect(() => {\n subtitleLanguagesRef.current = subtitleLanguages\n props.setValue('subtitleLanguages', subtitleLanguages)\n\n setTimeout(() => {\n const inputTagListSubtitleLanguages = document.querySelectorAll('.MainSettings__formfield-subtitleLanguages .rw-multiselect-taglist')[0] as HTMLInputElement\n const inputFieldSubtitleLanguages = document.querySelectorAll('.MainSettings__formfield-subtitleLanguages .rw-multiselect-input')[0] as HTMLInputElement\n const inputContainerSubtitleLanguages = document.querySelectorAll('.MainSettings__formfield-subtitleLanguages .rw-widget-input.rw-widget-picker.rw-widget-container')[0] as HTMLElement\n if (subtitleLanguages.length > 0) {\n inputTagListSubtitleLanguages.style.width = '537px'\n inputFieldSubtitleLanguages.style.paddingLeft = '10px'\n inputFieldSubtitleLanguages.style.paddingTop = '5px'\n inputFieldSubtitleLanguages.style.height = '24px'\n inputFieldSubtitleLanguages.placeholder = '+ Add language'\n inputContainerSubtitleLanguages.style.backgroundColor = '#2D2F36'\n inputContainerSubtitleLanguages.style.border = 'none'\n inputContainerSubtitleLanguages.style.paddingLeft = '0px'\n } else {\n inputTagListSubtitleLanguages.style.width = '100%'\n inputFieldSubtitleLanguages.style.paddingLeft = '0'\n inputFieldSubtitleLanguages.style.paddingTop = '0'\n inputFieldSubtitleLanguages.style.height = '17px'\n inputContainerSubtitleLanguages.style.backgroundColor = '#1F2433'\n inputContainerSubtitleLanguages.style.border = '1px solid #8A8F98'\n inputContainerSubtitleLanguages.style.padding = '10px 12px'\n }\n }, 0) // setTimeout is needed to make sure the DOM is fully loaded, otherwise the querySelector can return null\n }, [subtitleLanguages])\n\n const hasNoDropdown = !!initialProjectVersionLanguage || !hasLoaded\n\n const onSearch = () => {\n setTimeout(() => {\n const emptyList = document.getElementsByClassName('rw-list-empty')\n\n if (emptyList && emptyList.length > 0) {\n emptyList[0].innerHTML = 'Not available'\n }\n }, 0)\n }\n\n const handleProjectVersionLanguageChange = (event: any) => {\n changeProjectVersionLanguage(event.target.value as string)\n }\n\n const handleSubtitleLanguagesChange = (event: any) => {\n changeSubtitleLanguages(event.target.value as string[])\n }\n\n const renderProjectVersionLanguageDropDownDropdownList = ({ field }: { field: ControllerRenderProps }) => {\n return (\n \n )\n }\n\n const renderProjectVersionLanguageDropDown = () => {\n return(\n
    \n \n\n \n {errors.projectVersionLanguage && (\n This field is required\n )}\n
    \n )\n }\n\n const renderSubtitleLanguagesDropDownDropdownList = ({ field }: { field: ControllerRenderProps }) => {\n return (\n \n )\n }\n\n const renderSubtitleLanguagesDropDown = () => {\n return(\n
    0})}>\n \n \n {errors.subtitleLanguages && (\n This field is required\n )}\n
    \n )\n }\n\n const renderProjectType = () => {\n return(\n \n )\n }\n\n return (\n \n {renderProjectVersionLanguageDropDown()}\n {renderSubtitleLanguagesDropDown()}\n {renderProjectType()}\n \n )\n}\n\nexport default MainSettings\n","import React from 'react'\nimport formattedCreditsWithHours from '@Utils/FormattedCreditsWithHours'\nimport classnames from 'classnames'\n\nimport './Costs.scss'\n\ninterface CostsProps {\n readonly totalCost: number\n readonly availableTotalCredits: number\n readonly openedForMultipleProjects?: boolean\n readonly shouldHideCosts: boolean\n}\n\nconst Costs: React.FC = props => {\n const {\n totalCost,\n availableTotalCredits,\n openedForMultipleProjects,\n shouldHideCosts,\n } = props\n\n const hasEnoughTotalCredits = totalCost <= availableTotalCredits\n\n const formattedTotalCost: string = formattedCreditsWithHours(totalCost)\n const renderCosts = () => {\n return (\n You will use {formattedTotalCost} of your credits.\n Understand why.\n \n )\n }\n\n const renderMissingCredits = () => {\n const formattedMissingCredits: string = formattedCreditsWithHours(totalCost - availableTotalCredits)\n\n return (\n \n You are {formattedMissingCredits} short of credits to create {openedForMultipleProjects ? 'these projects' : 'this project'}.\n \n )\n }\n\n return (\n
    \n \n {hasEnoughTotalCredits ? renderCosts() : renderMissingCredits()}\n
    \n \n )\n}\n\nexport default Costs\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgFile = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 18,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillOpacity: 0.75,\n d: \"M3.667 12.333h6.667V14H3.667zm0-3.333h6.667v1.667H3.667zm5-8.333H2.001c-.917 0-1.667.75-1.667 1.666v13.334c0 .916.742 1.666 1.658 1.666h10.009c.916 0 1.666-.75 1.666-1.666v-10zm3.334 15H2V2.333h5.833V6.5h4.167z\"\n})));\nexport default SvgFile;","import React, { useState } from 'react'\nimport classnames from 'classnames'\n\ninterface CheckboxProps {\n readonly checked: boolean\n readonly label: string\n readonly disabled?: boolean\n setChecked(newChecked: boolean): void\n}\n\nconst Checkbox: React.FC = props => {\n const {\n checked,\n label,\n disabled,\n } = props\n\n const [active, setActive] = useState(false)\n\n const handleActiveChange = () => {\n if (disabled) { return }\n\n setActive(!active)\n }\n\n const handleChange = (e: any) => {\n if (disabled) { return }\n\n props.setChecked(e.target.checked)\n }\n\n return (\n
    \n \n
    \n )\n}\n\nexport default Checkbox\n","import React, { useState, useRef } from 'react'\nimport srtParser2 from 'srt-parser-2'\nimport AddVideosImage from '@Images/add_videos_true_scale.svg'\nimport Subtitle from '@Images/subtitle.svg'\nimport File from '@Images/file.svg'\nimport Checkbox from './Checkbox'\n\ninterface ScriptImportProps {\n readonly hasSrt: boolean\n readonly speakerDiarizationChecked: boolean\n setTranscriptText(newTranscriptText: string): void\n setHasSrt(newHasSrt: boolean): void\n setSpeakerDiarizationChecked(newSpeakerDiarizationChecked: boolean): void\n}\n\nconst MAX_SRT_SIZE = 2097152 // Bytes = 2MB\n\nconst ScriptImport: React.FC = props => {\n const { hasSrt, speakerDiarizationChecked } = props\n\n const [dragEnterCounter, setDragEnterCounter] = useState(0)\n\n const fileRef = useRef(null)\n const srtParser = new srtParser2()\n\n const changeTranscriptText = (newText: string) => {\n const parsedText = srtParser.fromSrt(newText)\n const newHasSrt = parsedText.length > 0\n props.setHasSrt(newHasSrt)\n props.setTranscriptText(newHasSrt ? srtParser.toSrt(parsedText) : newText.replace(/\\s+/g,' ').trim())\n }\n\n const handleTranscriptChange = (e: React.ChangeEvent) => {\n changeTranscriptText((e.target as HTMLTextAreaElement).value)\n }\n\n const handleImportClick = (e: React.ChangeEvent) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) { return }\n\n handleFileImport(Array.from(files))\n }\n\n const openFileManager = () => {\n fileRef.current?.click()\n }\n\n const onFileDrop = (e: React.DragEvent) => {\n e.preventDefault()\n e.currentTarget.classList.remove('ProjectVersionSettingsForm__upload-dragOver')\n\n const files = e.dataTransfer?.files\n if (!files) { return }\n\n handleFileImport(Array.from(files))\n }\n\n const handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n const handleDragEnter = (e: React.DragEvent) => {\n if (dragEnterCounter === 0) {\n e.currentTarget.classList.add('ProjectVersionSettingsForm__upload-dragOver')\n }\n setDragEnterCounter(dragEnterCounter + 1)\n }\n\n const handleDragLeave = (e: React.DragEvent) => {\n const nextDragEnterCounter = dragEnterCounter - 1\n setDragEnterCounter(nextDragEnterCounter)\n if (nextDragEnterCounter === 0) {\n e.currentTarget.classList.remove('ProjectVersionSettingsForm__upload-dragOver')\n }\n }\n\n const handleFileImport = (files: File[]) => {\n if (files.length === 0) { return }\n\n if (files[0].size > MAX_SRT_SIZE) {\n toastr.error('Your file is too large (> 2MB).', 'Error')\n return\n }\n\n const fileReader = new FileReader()\n fileReader.onload = () => {\n const newTranscriptText = fileReader.result?.toString()\n\n if (!newTranscriptText) { return }\n\n const textArea = document.getElementsByClassName('ProjectVersionSettingsForm__transcript').item(0) as HTMLTextAreaElement\n textArea.value = newTranscriptText\n changeTranscriptText(newTranscriptText)\n }\n\n fileReader.readAsText(files[0])\n }\n\n const renderUploadArea = () => {\n return (\n \n \n \n \n\n \n Click or Drag-and-Drop\n \n to import your file\n\n \n \n )\n }\n\n const renderTextAreaForTranscriptImport = () => {\n return (\n
    \n \n {hasSrt ? (\n
    \n
    \n \n
    \n This SRT will be imported in the project.\n
    \n ) : (\n
    \n
    \n \n
    \n This plain text will be synchronized with the video.\n
    \n )}\n
    \n )\n }\n\n const renderCheckboxForSpeakerDiarization = () => {\n return (\n
    \n \n
    \n Useful if you have more than 1 speaker and want dubbing\n
    \n
    \n )\n }\n\n return (\n \n {renderUploadArea()}\n {renderTextAreaForTranscriptImport()}\n {renderCheckboxForSpeakerDiarization()}\n \n )\n}\n\nexport default ScriptImport\n","import React from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\n\nimport './ConfirmationButton.scss'\n\ninterface ConfirmationButtonProps {\n readonly showSpinner: boolean\n readonly disableButton: boolean\n readonly shouldRenderLinkToSubscription: boolean\n readonly defaultCaption?: string\n readonly icon?: JSX.Element\n readonly iconRight?: boolean\n readonly generateShortenedProjectVersion?: boolean\n}\n\nconst ConfirmationButton: React.FC = props => {\n const {\n showSpinner,\n disableButton,\n shouldRenderLinkToSubscription,\n defaultCaption,\n iconRight,\n icon,\n } = props\n\n\n\n const buttonCaption = defaultCaption ?? 'Confirm'\n\n\n const forwardToSubscription = () => {\n window.location.href = '/subscriptions'\n }\n\n return (\n
    \n {shouldRenderLinkToSubscription ? (\n \n ) : (\n \n )}\n
    \n )\n}\n\nexport default ConfirmationButton\n","import React from 'react'\nimport DropdownList from 'react-widgets/DropdownList'\n\nimport './Termbases.scss'\n\ninterface TermbasesProps {\n readonly termbaseNames: string[]\n readonly selectedTermbaseName: string\n setSelectedTermbaseName(newTermbaseName: string): void\n}\n\nconst Termbases: React.FC = props => {\n const {\n termbaseNames,\n selectedTermbaseName,\n setSelectedTermbaseName,\n } = props\n\n const termbasesPresent = termbaseNames.length > 0\n\n const termbaseNamesWithOptionForNoList = ['None'].concat(termbaseNames)\n\n return (\n
    \n {termbasesPresent ? (\n \n \n \n \n ) : (\n \n )}\n
    \n )\n}\n\nexport default Termbases\n","import React, { useState } from 'react'\nimport classnames from 'classnames'\nimport Arrow from '@Images/arrow_pv_settings.svg'\nimport Termbases from './Termbases'\n\nconst DELAY_TO_SHOW_OVERFLOW = 200 // ms, The same time as for the opening/closing animations in ProjectVersionSettingsForm__options-body\n\ninterface GeneralOptionsProps {\n readonly termbaseNames: string[]\n readonly selectedTermbaseName: string\n setSelectedTermbaseName(newTermbaseName: string): void\n}\n\nconst GeneralOptions: React.FC = props => {\n const {\n termbaseNames,\n selectedTermbaseName,\n setSelectedTermbaseName,\n } = props\n\n const [bodyOpen, setBodyOpen] = useState(false)\n const [bodyOpenDelayed, setBodyOpenDelayed] = useState(false)\n\n const toggleBody = () => {\n // https://stackoverflow.com/questions/13938460/css-transition-auto-height-not-working\n const bodyDiv = document.getElementById('ProjectVersionSettingsForm__options-body-general')\n if (!bodyDiv) { return }\n\n bodyDiv.clientHeight ? closeBody(bodyDiv) : openBody(bodyDiv)\n }\n\n const openBody = (bodyDiv: HTMLElement) => {\n const wrapper = document.querySelector('.ProjectVersionSettingsForm__options-body-inner-wrapper-general')\n if (wrapper) {\n bodyDiv.style.height = wrapper.clientHeight + 'px'\n setBodyOpen(true)\n setTimeout(() => {\n setBodyOpenDelayed(true)\n }, DELAY_TO_SHOW_OVERFLOW)\n }\n }\n\n const closeBody = (bodyDiv: HTMLElement) => {\n bodyDiv.style.height = '0'\n setBodyOpen(false)\n setBodyOpenDelayed(false)\n }\n\n const renderTermbases = () => {\n return (\n \n )\n }\n\n const renderBody = () => {\n return (\n \n
    \n
    \n {renderTermbases()}\n
    \n
    \n \n )\n }\n\n return (\n
    \n \n \n General\n \n \n
    \n {renderBody()}\n \n )\n}\n\nexport default GeneralOptions\n","import React, { useState, useEffect } from 'react'\nimport Checkbox from './Checkbox'\n\ninterface UploadOptionProps {\n readonly uploadScriptChecked: boolean\n readonly generateShortenedProjectVersion: boolean\n readonly openedForMultipleProjects?: boolean\n setUploadScriptChecked(checked: boolean): void\n}\n\nconst UploadOption: React.FC = props => {\n const [showInfoForDisabledUploadOption, setShowInfoForDisabledUploadOption] = useState(false)\n const [infoForDisabledUploadOptionTimeout, setInfoForDisabledUploadOptionTimeout] = useState | null>(null)\n\n const {\n uploadScriptChecked,\n openedForMultipleProjects,\n setUploadScriptChecked,\n generateShortenedProjectVersion,\n } = props\n\n useEffect(() => {\n if (generateShortenedProjectVersion && uploadScriptChecked) {\n setUploadScriptChecked(false)\n }\n }, [generateShortenedProjectVersion])\n\n const toggleInfoForDisabledUploadOption = () => {\n if (infoForDisabledUploadOptionTimeout) {\n setShowInfoForDisabledUploadOption(false)\n clearTimeout(infoForDisabledUploadOptionTimeout)\n setInfoForDisabledUploadOptionTimeout(null)\n } else {\n const newInfoForDisabledUploadOptionTimeout = setTimeout(() => {\n setShowInfoForDisabledUploadOption(true)\n }, window.Checksub.tooltipDelay)\n setInfoForDisabledUploadOptionTimeout(newInfoForDisabledUploadOptionTimeout)\n }\n }\n\n const shouldShowDisabledUploadOptionMultiple = openedForMultipleProjects\n const shouldShowInfoForDisabledUploadOption = showInfoForDisabledUploadOption && (shouldShowDisabledUploadOptionMultiple || generateShortenedProjectVersion)\n\n const infoMultiple = () => {\n return (\n
    \n This option is available when ordering the subtitles
    \n separately for each project from the dashboard.\n
    \n )\n }\n\n const infoShortenedProjectVersion = () => {\n return (\n
    \n Upgrade to use this option\n
    \n )\n }\n\n return (\n \n \n {shouldShowInfoForDisabledUploadOption && (\n shouldShowDisabledUploadOptionMultiple ? infoMultiple() : infoShortenedProjectVersion()\n )}\n \n )\n}\n\nexport default UploadOption\n","import React from 'react'\nimport DropdownList from 'react-widgets/DropdownList'\nimport Checkbox from './Checkbox'\n\nimport './Vocabularies.scss'\n\ninterface VocabulariesProps {\n readonly vocabularyChecked: boolean\n readonly vocabularyNames: string[]\n readonly selectedVocabularyName: string\n setVocabularyChecked(newSetVocabularyChecked: boolean): void\n setSelectedVocabularyName(newVocabularyName: string): void\n}\n\nconst Vocabularies: React.FC = props => {\n const {\n vocabularyNames,\n vocabularyChecked,\n setVocabularyChecked,\n selectedVocabularyName,\n setSelectedVocabularyName,\n } = props\n\n const vocabulariesPresent = vocabularyNames.length > 0\n\n const vocabularyNamesWithOptionForNoList = ['Do not use any list'].concat(vocabularyNames)\n\n const renderVocabularyDetails = () => {\n return (\n
    \n {vocabulariesPresent ? (\n \n ) : (\n \n )}\n
    \n )\n }\n\n return (\n
    \n \n {vocabularyChecked && renderVocabularyDetails()}\n
    \n )\n}\n\nexport default Vocabularies\n","import React from 'react'\nimport DropdownList from 'react-widgets/DropdownList'\n\nimport './Guidelines.scss'\n\ninterface GuidelinesProps {\n readonly guidelineNames: string[]\n readonly selectedGuidelineName: string\n setSelectedGuidelineName(newGuidelineName: string): void\n}\n\nconst Guidelines: React.FC = props => {\n const {\n guidelineNames,\n selectedGuidelineName,\n setSelectedGuidelineName,\n } = props\n\n const guidelinesPresent = guidelineNames.length > 0\n\n const guidelineNamesWithOptionForNoList = ['None'].concat(guidelineNames)\n\n return (\n
    \n {guidelinesPresent ? (\n \n \n \n \n ) : (\n \n )}\n
    \n )\n}\n\nexport default Guidelines\n","import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\nimport Arrow from '@Images/arrow_pv_settings.svg'\nimport Checkbox from './Checkbox'\nimport UploadOption from './UploadOption'\nimport Vocabularies from './Vocabularies'\nimport Guidelines from './Guidelines'\n\nconst DELAY_TO_SHOW_OVERFLOW = 200 // ms, The same time as for the opening/closing animations in ProjectVersionSettingsForm__options-body\n\ninterface TranscriptionOptionsProps {\n readonly reviewTranscriptChecked: boolean\n readonly uploadScriptChecked: boolean\n readonly showUploadOption: boolean\n readonly areThereNewTranslationSubtitlesPresent: boolean\n readonly openedForMultipleProjects: boolean\n readonly canUseVocabularies: boolean\n readonly canUseGuidelines: boolean\n readonly vocabularyNames: string[]\n readonly guidelineNames: string[]\n readonly selectedVocabularyName: string\n readonly selectedGuidelineName: string\n readonly vocabularyChecked: boolean\n readonly noSpeakerDiarizationChecked: boolean\n readonly generateShortenedProjectVersion: boolean\n setReviewTranscriptChecked(newReviewTranscriptChecked: boolean): void\n setUploadScriptChecked(newUploadScriptChecked: boolean): void\n setSelectedVocabularyName(newVocabularyName: string): void\n setSelectedGuidelineName(newGuidelineName: string): void\n setVocabularyChecked(newVocabularyChecked: boolean): void\n setNoSpeakerDiarizationChecked(newNoSpeakerDiarizationChecked: boolean): void\n}\n\nconst TranscriptionOptions: React.FC = props => {\n const {\n vocabularyNames,\n guidelineNames,\n vocabularyChecked,\n canUseVocabularies,\n canUseGuidelines,\n showUploadOption,\n uploadScriptChecked,\n setVocabularyChecked,\n selectedVocabularyName,\n selectedGuidelineName,\n setUploadScriptChecked,\n reviewTranscriptChecked,\n noSpeakerDiarizationChecked,\n setSelectedVocabularyName,\n setSelectedGuidelineName,\n openedForMultipleProjects,\n setReviewTranscriptChecked,\n setNoSpeakerDiarizationChecked,\n generateShortenedProjectVersion,\n areThereNewTranslationSubtitlesPresent,\n } = props\n\n const [bodyOpen, setBodyOpen] = useState(false)\n const [bodyOpenDelayed, setBodyOpenDelayed] = useState(false)\n\n const shouldRenderReviewTranscript = areThereNewTranslationSubtitlesPresent\n const shouldRenderVocabularies = canUseVocabularies\n const shouldRenderGuidelines = canUseGuidelines\n\n useEffect(() => {\n if (bodyOpen) {\n showBody() // To adjust the height correctly\n }\n }, [shouldRenderReviewTranscript, showUploadOption, shouldRenderVocabularies, vocabularyChecked, shouldRenderGuidelines])\n\n const toggleBody = () => {\n // https://stackoverflow.com/questions/13938460/css-transition-auto-height-not-working\n const bodyDiv = document.getElementById('ProjectVersionSettingsForm__options-body-transcription')\n if (!bodyDiv) { return }\n\n bodyDiv.clientHeight ? closeBody(bodyDiv) : openBody(bodyDiv)\n }\n\n const showBody = () => {\n const bodyDiv = document.getElementById('ProjectVersionSettingsForm__options-body-transcription')\n if (!bodyDiv) { return }\n\n openBody(bodyDiv)\n }\n\n const openBody = (bodyDiv: HTMLElement) => {\n const wrapper = document.querySelector('.ProjectVersionSettingsForm__options-body-inner-wrapper-transcription')\n if (wrapper) {\n bodyDiv.style.height = wrapper.clientHeight + 'px'\n setBodyOpen(true)\n setTimeout(() => {\n setBodyOpenDelayed(true)\n }, DELAY_TO_SHOW_OVERFLOW)\n }\n }\n\n const closeBody = (bodyDiv: HTMLElement) => {\n bodyDiv.style.height = '0'\n setBodyOpen(false)\n setBodyOpenDelayed(false)\n }\n\n const renderReviewTranscript = () => {\n return (\n \n )\n }\n\n const renderUpload = () => {\n return (\n \n )\n }\n\n const renderVocabularies = () => {\n return (\n \n )\n }\n\n const renderGuidelines = () => {\n return (\n \n )\n }\n\n const renderNoSpeakerDiarization = () => {\n return (\n \n )\n }\n\n const renderBody = () => {\n return (\n \n
    \n
    \n {shouldRenderReviewTranscript && renderReviewTranscript()}\n {showUploadOption && renderUpload()}\n {shouldRenderVocabularies && renderVocabularies()}\n {renderNoSpeakerDiarization()}\n {shouldRenderGuidelines && renderGuidelines()}\n
    \n
    \n \n )\n }\n\n return (\n
    \n \n \n Transcription\n \n \n
    \n {renderBody()}\n \n )\n}\n\nexport default TranscriptionOptions\n","import React, { useEffect } from 'react'\nimport DropdownList from 'react-widgets/DropdownList'\n\nimport './Formality.scss'\n\ninterface FormalityProps {\n formality?: string\n changeFormality(newFormality: string | undefined): void\n}\n\nconst FORMALITY_OPTIONS = ['Auto', 'Formal', 'Informal']\nconst DEFAULT_FORMALITY = 'Auto'\n\nconst Formality: React.FC = props => {\n useEffect(() => {\n props.changeFormality(DEFAULT_FORMALITY)\n\n return () => {\n props.changeFormality(undefined)\n }\n }, [])\n\n return (\n
    \n \n\n \n
    \n )\n}\n\nexport default Formality\n","import React, { useState, useEffect } from 'react'\nimport classnames from 'classnames'\nimport Arrow from '@Images/arrow_pv_settings.svg'\nimport Formality from './Formality'\nimport Guidelines from './Guidelines'\n\nconst DELAY_TO_SHOW_OVERFLOW = 200 // ms, The same time as for the opening/closing animations in ProjectVersionSettingsForm__options-body\n\ninterface TranslationOptionsProps {\n readonly formality?: string\n readonly guidelineNames: string[]\n readonly selectedGuidelineName: string\n readonly canSetFormality: boolean\n changeFormality(newFormality: string | undefined): void\n setSelectedGuidelineName(newGuidelineName: string): void\n}\n\nconst TranslationOptions: React.FC = props => {\n const {\n formality,\n changeFormality,\n guidelineNames,\n selectedGuidelineName,\n setSelectedGuidelineName,\n canSetFormality,\n } = props\n\n const [bodyOpen, setBodyOpen] = useState(false)\n const [bodyOpenDelayed, setBodyOpenDelayed] = useState(false)\n\n useEffect(() => {\n if (bodyOpen) {\n showBody() // To adjust the height correctly\n }\n }, [canSetFormality])\n\n const toggleBody = () => {\n // https://stackoverflow.com/questions/13938460/css-transition-auto-height-not-working\n const bodyDiv = document.getElementById('ProjectVersionSettingsForm__options-body-translation')\n if (!bodyDiv) { return }\n\n bodyDiv.clientHeight ? closeBody(bodyDiv) : openBody(bodyDiv)\n }\n\n const showBody = () => {\n const bodyDiv = document.getElementById('ProjectVersionSettingsForm__options-body-translation')\n if (!bodyDiv) { return }\n\n openBody(bodyDiv)\n }\n\n const openBody = (bodyDiv: HTMLElement) => {\n const wrapper = document.querySelector('.ProjectVersionSettingsForm__options-body-inner-wrapper-translation')\n if (wrapper) {\n bodyDiv.style.height = wrapper.clientHeight + 'px'\n setBodyOpen(true)\n setTimeout(() => {\n setBodyOpenDelayed(true)\n }, DELAY_TO_SHOW_OVERFLOW)\n }\n }\n\n const closeBody = (bodyDiv: HTMLElement) => {\n bodyDiv.style.height = '0'\n setBodyOpen(false)\n setBodyOpenDelayed(false)\n }\n\n const renderFormality = () => {\n return(\n \n )\n }\n\n const renderGuidelines = () => {\n return (\n \n )\n }\n\n const renderBody = () => {\n return (\n \n
    \n
    \n {renderGuidelines()}\n {canSetFormality && renderFormality()}\n
    \n
    \n \n )\n }\n\n return (\n
    \n \n \n Translation\n \n \n
    \n {renderBody()}\n \n )\n}\n\nexport default TranslationOptions\n","import React from 'react'\nimport DropdownList from 'react-widgets/DropdownList'\nimport classnames from 'classnames'\n\nimport './DubbingType.scss'\n\ninterface DubbingTypeProps {\n readonly selectedDubbingType: string\n setSelectedDubbingType(newDubbingType: string): void\n}\n\nconst DUBBING_TYPES = ['Voice Cloning']\n\nconst DubbingType: React.FC = props => {\n const disableDropdown = DUBBING_TYPES.length === 1\n\n return (\n \n \n \n \n )\n}\n\nexport default DubbingType\n","import React from 'react'\nimport DropdownList from 'react-widgets/DropdownList'\nimport indexOf from 'lodash/indexOf'\n\nimport './LipSyncModel.scss'\n\ninterface LipSyncModelProps {\n readonly lipSyncModel: string\n setLipSyncModel(newLipSyncModel: string): void\n}\n\nconst LIP_SYNC_MODELS = ['Fox'] // 'Tiger'\nconst LIP_SYNC_MODELS_WITH_EXPLANATION = ['Fox - Standard quality, lower price'] // 'Tiger - Premium quality, higher price'\n\nconst LipSyncModel: React.FC = props => {\n const lipSyncModelIndex = indexOf(LIP_SYNC_MODELS, props.lipSyncModel)\n const lipSyncModelWithExplanation = LIP_SYNC_MODELS_WITH_EXPLANATION[lipSyncModelIndex]\n\n const changeLipSyncModel = (newLipSyncModelWithExplanation: string) => {\n const newLipSyncModelIndex = indexOf(LIP_SYNC_MODELS_WITH_EXPLANATION, newLipSyncModelWithExplanation)\n props.setLipSyncModel(LIP_SYNC_MODELS[newLipSyncModelIndex])\n }\n\n return (\n
    \n \n \n
    \n )\n}\n\nexport default LipSyncModel\n","import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\nimport Arrow from '@Images/arrow_pv_settings.svg'\nimport DubbingType from './DubbingType'\nimport LipSyncModel from './LipSyncModel'\nimport Checkbox from './Checkbox'\n\nconst DELAY_TO_SHOW_OVERFLOW = 200 // ms, The same time as for the opening/closing animations in ProjectVersionSettingsForm__options-body\n\ninterface DubbingOptionsProps {\n readonly selectedDubbingType: string\n readonly separateAudioChecked: boolean\n readonly adaptTranslationChecked: boolean\n readonly lipSyncChecked: boolean\n readonly hasAudioSeparation: boolean\n readonly subscriptionAllowsTranslationAdaptionForDubbing: boolean\n readonly subscriptionAllowsLipSyncing: boolean\n readonly isAdmin: boolean\n readonly reviewTranscriptChecked: boolean\n readonly hasLanguagesThatDoNotAllowVoiceCloning: boolean\n readonly lipSyncModel: string\n setSelectedDubbingType(newSelectedDubbingType: string): void\n setSeparateAudioChecked(newSeparateAudioChecked: boolean): void\n setAdaptTranslationChecked(newAdaptTranslationChecked: boolean): void\n setLipSyncChecked(newLipSyncChecked: boolean): void\n setLipSyncModel(newLipSyncModel: string): void\n}\n\nconst DubbingOptions: React.FC = props => {\n const {\n selectedDubbingType,\n setSelectedDubbingType,\n separateAudioChecked,\n adaptTranslationChecked,\n lipSyncChecked,\n hasAudioSeparation,\n subscriptionAllowsTranslationAdaptionForDubbing,\n subscriptionAllowsLipSyncing,\n isAdmin,\n setSeparateAudioChecked,\n setAdaptTranslationChecked,\n setLipSyncChecked,\n reviewTranscriptChecked,\n hasLanguagesThatDoNotAllowVoiceCloning,\n lipSyncModel,\n } = props\n\n const [bodyOpen, setBodyOpen] = useState(false)\n const [bodyOpenDelayed, setBodyOpenDelayed] = useState(false)\n\n const shouldRenderAdaptTranslation = subscriptionAllowsTranslationAdaptionForDubbing || isAdmin\n const shouldRenderLipSync = subscriptionAllowsLipSyncing || isAdmin\n const disabled = reviewTranscriptChecked || hasLanguagesThatDoNotAllowVoiceCloning\n\n const infoText = reviewTranscriptChecked ? 'With the transcript check option enabled, you can generate the dubbing after the translations have been generated.' : 'Voice cloning isn’t supported for all languages selected. We will create the subtitles and then you will be able to generate the dubbing for each available language individually.'\n\n useEffect(() => {\n if (disabled) {\n showBody()\n }\n }, [])\n\n useEffect(() => {\n if (bodyOpen) {\n showBody() // To adjust the height correctly\n }\n }, [lipSyncChecked])\n\n useEffect(() => {\n if (disabled) {\n showBody()\n } else if (bodyOpen) {\n toggleBody()\n }\n }, [reviewTranscriptChecked, hasLanguagesThatDoNotAllowVoiceCloning])\n\n const toggleBody = () => {\n // https://stackoverflow.com/questions/13938460/css-transition-auto-height-not-working\n const bodyDiv = document.getElementById('ProjectVersionSettingsForm__options-body-dubbing')\n if (!bodyDiv) { return }\n\n bodyDiv.clientHeight ? closeBody(bodyDiv) : openBody(bodyDiv)\n }\n\n const showBody = () => {\n const bodyDiv = document.getElementById('ProjectVersionSettingsForm__options-body-dubbing')\n if (!bodyDiv) { return }\n\n openBody(bodyDiv)\n }\n\n const openBody = (bodyDiv: HTMLElement) => {\n const wrapper = document.querySelector('.ProjectVersionSettingsForm__options-body-inner-wrapper-dubbing')\n if (wrapper) {\n bodyDiv.style.height = wrapper.clientHeight + 'px'\n setBodyOpen(true)\n setTimeout(() => {\n setBodyOpenDelayed(true)\n }, DELAY_TO_SHOW_OVERFLOW)\n }\n }\n\n const closeBody = (bodyDiv: HTMLElement) => {\n bodyDiv.style.height = '0'\n setBodyOpen(false)\n setBodyOpenDelayed(false)\n }\n\n const renderInfo = () => {\n return (\n
    \n {infoText}\n
    \n )\n }\n\n const renderDubbingType = () => {\n return (\n \n )\n }\n\n const renderSeparateAudio = () => {\n const label = hasAudioSeparation ? 'Regenerate voice isolation' : 'Isolate original voice from audio'\n\n return (\n \n )\n }\n\n const renderAdaptTranslation = () => {\n return (\n \n )\n }\n\n const renderLipSync = () => {\n return (\n \n \n {lipSyncChecked && (\n \n )}\n \n )\n }\n\n const renderItems = () => {\n return (\n
    \n {renderDubbingType()}\n {renderSeparateAudio()}\n {shouldRenderAdaptTranslation && renderAdaptTranslation()}\n {shouldRenderLipSync && renderLipSync()}\n
    \n )\n }\n\n const renderBody = () => {\n return (\n \n
    \n {disabled ? renderInfo() : renderItems()}\n
    \n \n )\n }\n\n return (\n \n \n \n Dubbing\n \n \n \n {renderBody()}\n \n )\n}\n\nexport default DubbingOptions\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgReturnFromPvSettings = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M16 8q0 .424-.288.712A.97.97 0 0 1 15 9H3.825L8.7 13.875q.3.3.3.713 0 .412-.3.712t-.7.3a.96.96 0 0 1-.7-.3L.7 8.7a.9.9 0 0 1-.213-.325A1.1 1.1 0 0 1 .425 8q0-.2.062-.388A.7.7 0 0 1 .7 7.3L7.3.7q.3-.3.7-.3t.7.3.3.713-.3.712L3.825 7H15q.424 0 .712.287Q16 7.575 16 8\"\n})));\nexport default SvgReturnFromPvSettings;","import React, { useRef, useState, useEffect } from 'react'\nimport { Loadable } from '@Root/types'\nimport { useForm } from 'react-hook-form'\nimport uniq from 'lodash/uniq'\nimport map from 'lodash/map'\nimport findIndex from 'lodash/findIndex'\nimport without from 'lodash/without'\nimport difference from 'lodash/difference'\nimport filter from 'lodash/filter'\nimport some from 'lodash/some'\nimport toastr from 'toastr'\nimport convertFormality from '@Utils/ConvertFormality'\nimport getLanguagesThatDoNotAllowVoiceCloning from '@Utils/GetLanguagesThatDoNotAllowVoiceCloning'\n\nimport MainSettings from './MainSettings'\nimport Costs from './Costs'\nimport ScriptImport from './ScriptImport'\nimport ConfirmationButton from './ConfirmationButton'\nimport GeneralOptions from './GeneralOptions'\nimport TranscriptionOptions from './TranscriptionOptions'\nimport TranslationOptions from './TranslationOptions'\nimport DubbingOptions from './DubbingOptions'\n\nimport Return from '@Images/return_from_pv_settings.svg'\n\nimport {\n PayloadSubmitProjectVersionUpdateBody,\n} from '@SitePages/ProjectVersionSettings/types'\n\nimport '@Root/config/dropdowns.scss'\nimport './ProjectVersionSettingsForm.scss'\n\ninterface ProjectVersionSettingsFormProps extends Loadable {\n readonly availableTotalCredits: number\n readonly vocabularyIds: number[]\n readonly vocabularyNames: string[]\n readonly captionGuidelineIds: number[]\n readonly captionGuidelineNames: string[]\n readonly translationGuidelineIds: number[]\n readonly translationGuidelineNames: string[]\n readonly termbaseNames: string[]\n readonly termbaseIds: number[]\n readonly projectTermbaseName?: string\n readonly lastUsedTermbaseName?: string\n readonly maxLanguagesLimit: number\n readonly languagesForVideos: string[]\n readonly translationLanguages: string[]\n readonly nonTranslatableLanguages: string[]\n readonly translationFormalityOptionLanguages: string[]\n readonly isSubscriptionCurrent: boolean\n readonly subscriptionSubtitlesLength: number\n readonly projectVersionDuration: number\n readonly editingProjectVersionIds: string[]\n readonly subscriptionHasCreditLikeCharging: boolean\n readonly hasLoaded: boolean\n readonly lastUsedVocabularyName?: string\n readonly lastUsedCaptionGuidelineName?: string\n readonly lastUsedTranslationGuidelineName?: string\n readonly lastUsedSubtitleLanguages?: string[]\n readonly lastUsedTranscriptLanguage?: string\n readonly lastUsedReviewTranscript?: boolean\n readonly lastUsedSeparateAudio?: boolean\n readonly lastUsedAdaptTranslation?: boolean\n readonly lastTranscriptCreatedAfterGuidelineDeployment?: boolean\n readonly lastTranslationCreatedAfterGuidelineDeployment?: boolean\n readonly isAdmin: boolean\n readonly subscriptionAllowsVoiceAndVoiceCloning: boolean\n readonly voiceCloningLanguages: string[]\n readonly hasMainAssets: boolean\n readonly initialSubtitleLanguages: string[]\n readonly initialProjectVersionLanguage: string\n readonly alignmentLanguages: string[]\n readonly hasAudioSeparation: boolean\n readonly subscriptionAllowsTranslationAdaptionForDubbing: boolean\n readonly subscriptionAllowsLipSyncing: boolean\n readonly usingPersonalSubscription: boolean\n submitProjectVersionUpdate(payload: PayloadSubmitProjectVersionUpdateBody): void\n}\n\ntype TFormData = {\n subtitleLanguages: string[]\n projectVersionLanguage: string\n}\n\nfunction usePrevious(value: any) {\n // The ref object is a generic container whose current property is mutable ...\n // ... and can hold any value, similar to an instance property on a class\n const ref = useRef()\n\n // Store current value in ref\n useEffect(() => {\n ref.current = value\n }, [value]) // Only re-run if value changes\n\n // Return previous value (happens before update in useEffect above)\n return ref.current\n}\n\nconst FACTOR_FOR_DUBBING = 3\nconst FACTOR_FOR_LIP_SYNCING_FOX = 15\nconst FACTOR_FOR_LIP_SYNCING_TIGER = 15\nconst DEFAULT_GUIDELINE_NAME = 'AI ENHANCEMENT'\n\nconst ProjectVersionSettingsForm: React.FC = props => {\n const {\n isSubscriptionCurrent,\n projectVersionDuration,\n availableTotalCredits,\n maxLanguagesLimit,\n subscriptionSubtitlesLength,\n editingProjectVersionIds,\n alignmentLanguages,\n subscriptionHasCreditLikeCharging,\n hasLoaded,\n lastUsedTranscriptLanguage,\n lastUsedSubtitleLanguages,\n translationFormalityOptionLanguages,\n isAdmin,\n subscriptionAllowsVoiceAndVoiceCloning,\n voiceCloningLanguages,\n hasMainAssets,\n lastUsedReviewTranscript,\n lastUsedSeparateAudio,\n lastUsedAdaptTranslation,\n lastUsedVocabularyName,\n lastUsedCaptionGuidelineName,\n lastUsedTranslationGuidelineName,\n hasAudioSeparation,\n subscriptionAllowsTranslationAdaptionForDubbing,\n subscriptionAllowsLipSyncing,\n vocabularyNames,\n captionGuidelineNames,\n translationGuidelineNames,\n termbaseNames,\n vocabularyIds,\n captionGuidelineIds,\n translationGuidelineIds,\n termbaseIds,\n projectTermbaseName,\n lastUsedTermbaseName,\n lastTranscriptCreatedAfterGuidelineDeployment,\n lastTranslationCreatedAfterGuidelineDeployment\n } = props\n\n const { control, handleSubmit, setValue, getValues, formState: { errors } } = useForm()\n\n const [projectVersionLanguage, setProjectVersionLanguage] = useState('')\n const [initialProjectVersionLanguage, setInitialProjectVersionLanguage] = useState('')\n const [subtitleLanguages, setSubtitleLanguages] = useState([])\n const [disabledSubtitleLanguages, setDisabledSubtitleLanguages] = useState([])\n const [onlyNewSubtitleLanguages, setOnlyNewSubtitleLanguages] = useState([])\n const [languagesCorrectlySelected, setLanguagesCorrectlySelected] = useState(false)\n const [payloadSubmitProjectVersionUpdateBody, setPayloadSubmitProjectVersionUpdateBody] =\n useState(null)\n const [shouldShowTextAreaForTranscriptImport, setShouldShowTextAreaForTranscriptImport] = useState(false)\n const [transcriptText, setTranscriptText] = useState('')\n const [uploadScriptChecked, setUploadScriptChecked] = useState(false)\n const [noSpeakerDiarizationChecked, setNoSpeakerDiarizationChecked] = useState(false)\n const [formality, setFormality] = useState()\n const [projectType, setProjectType] = useState('Subtitles')\n const [languagesThatDoNotAllowVoiceCloning, setLanguagesThatDoNotAllowVoiceCloning] = useState([])\n const [reviewTranscriptChecked, setReviewTranscriptChecked] = useState(false)\n const [vocabularyChecked, setVocabularyChecked] = useState(false)\n const [selectedVocabularyName, setSelectedVocabularyName] = useState('')\n const [selectedCaptionGuidelineName, setSelectedCaptionGuidelineName] = useState('')\n const [selectedTranslationGuidelineName, setSelectedTranslationGuidelineName] = useState('')\n const [selectedTermbaseName, setSelectedTermbaseName] = useState('')\n const [selectedDubbingType, setSelectedDubbingType] = useState('Voice Cloning')\n const [separateAudioChecked, setSeparateAudioChecked] = useState(false)\n const [adaptTranslationChecked, setAdaptTranslationChecked] = useState(false)\n const [lipSyncChecked, setLipSyncChecked] = useState(false)\n const [lipSyncModel, setLipSyncModel] = useState('Fox')\n const [hasSrt, setHasSrt] = useState(false)\n const [isSubmitted, setIsSubmitted] = useState(false)\n\n const openedForMultipleProjects = editingProjectVersionIds.length > 1\n const prevProjectVersionLanguage = usePrevious(projectVersionLanguage)\n\n let isLanguageLimitReached = false\n\n if (isSubscriptionCurrent) {\n isLanguageLimitReached = maxLanguagesLimit < (subscriptionSubtitlesLength + onlyNewSubtitleLanguages.length)\n }\n\n const isDubbingProject = projectType === 'Dubbing'\n const hasLanguagesThatDoNotAllowVoiceCloning = languagesThatDoNotAllowVoiceCloning.length > 0\n const willDubImmediately = isDubbingProject && !reviewTranscriptChecked && !hasLanguagesThatDoNotAllowVoiceCloning\n\n const subtitlesCostCredits = onlyNewSubtitleLanguages.length * projectVersionDuration - (hasSrt ? projectVersionDuration : 0)\n const isNewProject = !initialProjectVersionLanguage\n const numberOfNewTranslationSubtitles = isNewProject ? onlyNewSubtitleLanguages.length - 1 : onlyNewSubtitleLanguages.length\n const voiceCost = numberOfNewTranslationSubtitles * projectVersionDuration * FACTOR_FOR_DUBBING\n const isFox = lipSyncModel === 'Fox'\n const factorForLipSync = isFox ? FACTOR_FOR_LIP_SYNCING_FOX : FACTOR_FOR_LIP_SYNCING_TIGER\n const lipSyncCost = lipSyncChecked ? numberOfNewTranslationSubtitles * projectVersionDuration * factorForLipSync : 0\n const dubbingCost = willDubImmediately ? voiceCost + lipSyncCost : 0\n const totalCostWithCreditLikeCharging = subtitlesCostCredits + dubbingCost\n const hasNoSubscriptionSubtitles = subscriptionSubtitlesLength === 0\n const subtitlesCostWithoutCreditLikeCharging = onlyNewSubtitleLanguages.length > 0 && hasNoSubscriptionSubtitles && !hasSrt ? projectVersionDuration : 0\n const totalCostWithoutCreditLikeCharging = subtitlesCostWithoutCreditLikeCharging // no cost for dubbing without credit-like charging in which case the totalCostCredit is used\n const totalCost = subscriptionHasCreditLikeCharging ? totalCostWithCreditLikeCharging : totalCostWithoutCreditLikeCharging\n const hasEnoughTotalCredits = availableTotalCredits >= totalCost\n const generateShortenedProjectVersion = isSubscriptionCurrent && isNewProject && !hasEnoughTotalCredits\n\n const onlyNewTranslationLanguages = filter(onlyNewSubtitleLanguages, language => language !== projectVersionLanguage)\n const anyTranslationSubtitleWithFormalityOption = some(onlyNewTranslationLanguages, language => translationFormalityOptionLanguages.includes(language))\n const canSetFormality = anyTranslationSubtitleWithFormalityOption\n\n const canUploadTranscript = !!projectVersionLanguage && alignmentLanguages.includes(projectVersionLanguage)\n const areThereNewTranslationSubtitlesPresent = numberOfNewTranslationSubtitles > 0\n\n const canUseVocabularies = !uploadScriptChecked\n const canUseCaptionGuidelines = !uploadScriptChecked\n const showUploadOption = isNewProject && canUploadTranscript\n\n const shouldHideCosts = (uploadScriptChecked && !shouldShowTextAreaForTranscriptImport) || generateShortenedProjectVersion || !projectVersionDuration\n\n const setSpeakerDiarizationChecked = (newSpeakerDiarizationChecked: boolean) => {\n setNoSpeakerDiarizationChecked(!newSpeakerDiarizationChecked)\n }\n\n useEffect(() => {\n if (!hasLoaded) { return }\n\n if (props.initialProjectVersionLanguage) {\n setProjectVersionLanguage(props.initialProjectVersionLanguage)\n setInitialProjectVersionLanguage(props.initialProjectVersionLanguage)\n } else if (lastUsedTranscriptLanguage) {\n setProjectVersionLanguage(lastUsedTranscriptLanguage)\n }\n\n const uniqSubtitleLanguages = uniq(props.initialSubtitleLanguages)\n\n if (uniqSubtitleLanguages.length > 0) {\n setSubtitleLanguages(uniqSubtitleLanguages)\n setDisabledSubtitleLanguages(uniqSubtitleLanguages)\n } else if (lastUsedSubtitleLanguages) {\n setSubtitleLanguages(lastUsedSubtitleLanguages)\n }\n\n if (lastUsedReviewTranscript) {\n setReviewTranscriptChecked(lastUsedReviewTranscript)\n }\n\n if (lastUsedVocabularyName) {\n setSelectedVocabularyName(lastUsedVocabularyName)\n setVocabularyChecked(true)\n }\n\n if (lastUsedCaptionGuidelineName) {\n setSelectedCaptionGuidelineName(lastUsedCaptionGuidelineName)\n } else if (!lastTranscriptCreatedAfterGuidelineDeployment && captionGuidelineNames.includes(DEFAULT_GUIDELINE_NAME)) {\n setSelectedCaptionGuidelineName(DEFAULT_GUIDELINE_NAME)\n }\n\n if (lastUsedTranslationGuidelineName) {\n setSelectedTranslationGuidelineName(lastUsedTranslationGuidelineName)\n } else if (!lastTranslationCreatedAfterGuidelineDeployment && translationGuidelineNames.includes(DEFAULT_GUIDELINE_NAME)) {\n setSelectedTranslationGuidelineName(DEFAULT_GUIDELINE_NAME)\n }\n\n if (lastUsedSeparateAudio) {\n setSeparateAudioChecked(lastUsedSeparateAudio)\n }\n\n if (lastUsedAdaptTranslation) {\n setAdaptTranslationChecked(lastUsedAdaptTranslation)\n }\n\n const initialTermbaseName = projectTermbaseName || lastUsedTermbaseName\n\n if (initialTermbaseName) {\n setSelectedTermbaseName(initialTermbaseName)\n }\n\n const newLanguagesThatDoNotAllowVoiceCloning = getLanguagesThatDoNotAllowVoiceCloning(projectVersionLanguage, onlyNewSubtitleLanguages, voiceCloningLanguages)\n setLanguagesThatDoNotAllowVoiceCloning(newLanguagesThatDoNotAllowVoiceCloning)\n\n if (!projectVersionDuration) {\n toastr.error(\n 'The duration of the video cannot be determined',\n 'Unknown duration',\n )\n }\n }, [hasLoaded])\n\n useEffect(() => {\n if (!areThereNewTranslationSubtitlesPresent && isDubbingProject) {\n setProjectType('Subtitles')\n }\n\n const newLanguagesThatDoNotAllowVoiceCloning = getLanguagesThatDoNotAllowVoiceCloning(projectVersionLanguage, onlyNewSubtitleLanguages, voiceCloningLanguages)\n setLanguagesThatDoNotAllowVoiceCloning(newLanguagesThatDoNotAllowVoiceCloning)\n }, [projectVersionLanguage, onlyNewSubtitleLanguages])\n\n useEffect(() => {\n if (!projectVersionLanguage) { return }\n // If a projectVersion has a language we can pick up a new one, so there's no need\n // in the blocking mechanism.\n if (initialProjectVersionLanguage) { return }\n\n addToSubtitles()\n disableLanguages()\n }, [projectVersionLanguage])\n\n useEffect(() => {\n const newOnlyNewSubtitleLanguages = difference(subtitleLanguages, props.initialSubtitleLanguages)\n setOnlyNewSubtitleLanguages(newOnlyNewSubtitleLanguages)\n\n if (!areThereNewTranslationSubtitlesPresent && isDubbingProject) {\n setProjectType('Subtitles')\n }\n }, [subtitleLanguages])\n\n useEffect(() => {\n const areNewSubtitlesAdded = onlyNewSubtitleLanguages.length\n const isThereLanguagesLimit = maxLanguagesLimit > 0\n\n const shouldShowSubscriptionWarning = isLanguageLimitReached &&\n isThereLanguagesLimit &&\n areNewSubtitlesAdded\n\n if (shouldShowSubscriptionWarning) {\n toastr.error(\n `Your subscription allows you to create up to ${maxLanguagesLimit} subtitling languages. \\\n Update your subscription.`,\n 'Subtitles limit reached',\n )\n }\n }, [onlyNewSubtitleLanguages])\n\n useEffect(() => {\n setLanguagesCorrectlySelected(!!projectVersionLanguage && onlyNewSubtitleLanguages.length > 0)\n }, [projectVersionLanguage, onlyNewSubtitleLanguages])\n\n const disableLanguages = () => {\n let currentDisabledSubtitleLanguages = disabledSubtitleLanguages.slice()\n currentDisabledSubtitleLanguages.unshift(projectVersionLanguage)\n currentDisabledSubtitleLanguages = uniq(without(currentDisabledSubtitleLanguages, prevProjectVersionLanguage || ''))\n setDisabledSubtitleLanguages(currentDisabledSubtitleLanguages)\n }\n\n const addToSubtitles = () => {\n let currentSubtitleLanguages = getValues('subtitleLanguages') as unknown as string[] || []\n currentSubtitleLanguages.unshift(projectVersionLanguage)\n currentSubtitleLanguages = uniq(without(currentSubtitleLanguages, prevProjectVersionLanguage || ''))\n setSubtitleLanguages(currentSubtitleLanguages)\n }\n\n const onSubmit = handleSubmit((_formData: TFormData) => {\n updateProjectVersion()\n })\n\n const onSubmitWithTranscript = () => {\n if (payloadSubmitProjectVersionUpdateBody) {\n setShouldShowTextAreaForTranscriptImport(false)\n props.submitProjectVersionUpdate({\n ...payloadSubmitProjectVersionUpdateBody,\n ...(hasSrt ? { srtTranscriptText: transcriptText } : { transcriptText }),\n enableSpeakerDiarization: !noSpeakerDiarizationChecked\n })\n setIsSubmitted(true)\n }\n }\n\n const updateProjectVersion = () => {\n const willUseVocabularies = vocabularyChecked && canUseVocabularies && selectedVocabularyName.length > 0 && selectedVocabularyName !== 'Do not use any list'\n const willUseCaptionGuideline = canUseCaptionGuidelines && selectedCaptionGuidelineName.length > 0 && selectedCaptionGuidelineName !== 'None'\n const willUseTranslationGuideline = selectedTranslationGuidelineName.length > 0 && selectedTranslationGuidelineName !== 'None'\n const willUseTermbase = selectedTermbaseName.length > 0 && selectedTermbaseName !== 'None'\n\n const automaticTranslation = areThereNewTranslationSubtitlesPresent\n const reviewTranscriptBeforeTranslation = areThereNewTranslationSubtitlesPresent && isNewProject ? reviewTranscriptChecked : false\n\n const dubbingSettings = {\n createCustomVoices: selectedDubbingType === 'Voice Cloning',\n shouldSeparateAudio: separateAudioChecked,\n adaptTranslation: subscriptionAllowsTranslationAdaptionForDubbing && adaptTranslationChecked,\n ...(subscriptionAllowsLipSyncing && lipSyncChecked ? { lipSyncModel } : {}),\n }\n\n const payload: PayloadSubmitProjectVersionUpdateBody = {\n projectVersionIds: editingProjectVersionIds,\n projectVersionLanguage,\n automaticTranslation,\n subtitleLanguages: onlyNewSubtitleLanguages,\n vocabularyIds: willUseVocabularies ? findVocabularyIds([selectedVocabularyName]) : [],\n includesTranscript: isNewProject,\n reviewTranscriptBeforeTranslation,\n enableSpeakerDiarization: !noSpeakerDiarizationChecked,\n dubbing: willDubImmediately,\n generateShortenedProjectVersion,\n ...(canSetFormality && formality ? { formality: convertFormality(formality) } : {}),\n ...(willDubImmediately ? dubbingSettings : {}),\n ...(willUseCaptionGuideline ? { captionGuidelineId: findGuidelineId(captionGuidelineNames, captionGuidelineIds, selectedCaptionGuidelineName) } : {}),\n ...(willUseTranslationGuideline ? { translationGuidelineId: findGuidelineId(translationGuidelineNames, translationGuidelineIds, selectedTranslationGuidelineName) } : {}),\n ...(willUseTermbase ? { termbaseId: findTermbaseId(selectedTermbaseName) } : {})\n }\n\n if (uploadScriptChecked && showUploadOption && !generateShortenedProjectVersion && !shouldShowTextAreaForTranscriptImport) {\n setShouldShowTextAreaForTranscriptImport(true)\n setPayloadSubmitProjectVersionUpdateBody(payload)\n } else {\n props.submitProjectVersionUpdate(payload)\n setIsSubmitted(true)\n }\n }\n\n const findVocabularyIds = (selectedVocabularyNames: string[]): number[] => {\n if (selectedVocabularyNames.length === 0) { return [] }\n\n const selectedVocabularyIds = map(selectedVocabularyNames, name => {\n const index = findIndex(vocabularyNames, vocabularyName => name === vocabularyName)\n return vocabularyIds[index]\n })\n\n return selectedVocabularyIds\n }\n\n const findGuidelineId = (guidelineNames: string[], guidelineIds: number[], guidelineNameToUse: string): number => {\n const index = findIndex(guidelineNames, guidelineName => guidelineName === guidelineNameToUse)\n\n return guidelineIds[index]\n }\n\n const findTermbaseId = (termbaseNameToUse: string): number => {\n const index = findIndex(termbaseNames, termbaseName => termbaseName === termbaseNameToUse)\n\n return termbaseIds[index]\n }\n\n const changeProjectVersionLanguage = (newProjectVersionLanguage: string) => {\n const wasTranslatable = !(projectVersionLanguage && props.nonTranslatableLanguages.includes(projectVersionLanguage))\n const isTranslatable = !(newProjectVersionLanguage && props.nonTranslatableLanguages.includes(newProjectVersionLanguage))\n\n if (isTranslatable !== wasTranslatable) { setSubtitleLanguages([]) }\n\n setProjectVersionLanguage(newProjectVersionLanguage)\n }\n\n const changeSubtitleLanguages = (newSubtitleLanguages: string[]) => {\n setSubtitleLanguages(newSubtitleLanguages)\n }\n\n const goToDashboarOrPreviousStep = () => {\n if (shouldShowTextAreaForTranscriptImport) {\n setShouldShowTextAreaForTranscriptImport(false)\n setPayloadSubmitProjectVersionUpdateBody(null)\n } else {\n window.location.href = '/'\n }\n }\n\n const renderMainSettings = () => {\n const { languagesForVideos, translationLanguages, nonTranslatableLanguages } = props\n\n const isTranslatable = !(projectVersionLanguage && nonTranslatableLanguages.includes(projectVersionLanguage))\n const shouldAllowDubbingProject = hasMainAssets && (subscriptionAllowsVoiceAndVoiceCloning || isAdmin) && areThereNewTranslationSubtitlesPresent\n const projectTypeOptions = shouldAllowDubbingProject ? ['Subtitles', 'Dubbing'] : ['Subtitles']\n\n return (\n \n )\n }\n\n const shouldRenderTranscriptionOptions = isNewProject\n const shouldRenderTranslationOptions = areThereNewTranslationSubtitlesPresent\n\n const shouldRenderDubbingOptions = isDubbingProject\n\n const renderAdvancedOptions = () => {\n return (\n \n
    \n Advanced options\n
    \n {renderGeneralOptions()}\n {shouldRenderTranscriptionOptions && renderTranscriptionOptions()}\n {shouldRenderTranslationOptions && renderTranslationOptions()}\n {shouldRenderDubbingOptions && renderDubbingOptions()}\n
    \n )\n }\n\n const renderGeneralOptions = () => {\n return (\n \n )\n }\n\n const renderTranscriptionOptions = () => {\n return (\n \n )\n }\n\n const renderTranslationOptions = () => {\n return (\n \n )\n }\n\n const renderDubbingOptions = () => {\n return (\n \n )\n }\n\n const renderCosts = () => {\n return (\n \n )\n }\n\n const renderConfirmationButton = () => {\n const {\n showSpinner,\n disableButton,\n usingPersonalSubscription,\n } = props\n\n const willContinueWithScriptImportation = !shouldShowTextAreaForTranscriptImport && uploadScriptChecked\n const shouldRenderLinkToSubscription = usingPersonalSubscription && (!hasEnoughTotalCredits && !generateShortenedProjectVersion) && onlyNewSubtitleLanguages.length > 0\n const transcriptEmpty = shouldShowTextAreaForTranscriptImport && transcriptText.length === 0\n const disableConfirmationButton =\n disableButton ||\n !languagesCorrectlySelected ||\n transcriptEmpty ||\n (!willContinueWithScriptImportation && !hasEnoughTotalCredits && !generateShortenedProjectVersion) ||\n !projectVersionDuration ||\n isSubmitted ||\n isLanguageLimitReached\n\n return (\n \n )\n }\n\n const renderScriptImport = () => {\n return (\n \n
    \n Import script/SRT\n
    \n \n {renderConfirmationButton()}\n {transcriptText && renderCosts()}\n \n )\n }\n\n const renderBackButton = () => {\n return (\n \n \n \n )\n }\n\n return (\n \n {renderBackButton()}\n {shouldShowTextAreaForTranscriptImport ? (\n renderScriptImport()\n ) : (\n \n
    \n
    \n
    \n
    \n
    \n Fine-tune your project(s)\n
    \n {renderMainSettings()}\n
    \n
    \n {renderConfirmationButton()}\n {renderCosts()}\n
    \n
    \n
    \n
    \n {renderAdvancedOptions()}\n
    \n
    \n
    \n )}\n
    \n )\n}\n\nexport default ProjectVersionSettingsForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Popup from '@EditorComponents/Popup'\nimport ThemesForm from '@SiteComponents/ThemesForm'\nimport showConfetti from '@Utils/ShowConfettiAnimation'\n\nimport {\n ITheme,\n ISetThemePayload,\n} from '@SiteModules/Theme/types'\n\nimport {\n setTheme,\n fetchThemes,\n} from '@SiteModules/Theme/actions'\n\nimport './SetThemePopup.scss'\n\nconst SHORT_TIMESPAN = 2000 // ms\n\ninterface SetThemePopupProps {\n readonly themes: ITheme[]\n readonly isNewProject: boolean\n readonly isReadyForTheme: boolean\n readonly projectVersionIds: string[]\n readonly subtitleLanguages: string[]\n readonly loadingThemes: boolean\n closePopup(): void\n setTheme(payload: ISetThemePayload): void\n fetchThemes(): void\n}\n\ninterface SetThemePopupState {}\n\nclass SetThemePopup extends React.Component {\n componentDidMount() {\n this.props.fetchThemes()\n }\n\n close = () => {\n const { isNewProject, projectVersionIds } = this.props\n const isForOneProjectVersion = projectVersionIds.length === 1\n\n this.props.closePopup()\n showConfetti()\n\n setTimeout(() => {\n window.location.href = (isForOneProjectVersion && isNewProject) ? `/processing?projectVersionId=${projectVersionIds[0]}` : '/'\n }, SHORT_TIMESPAN)\n }\n\n onSubmit = (themeId: number) => {\n const {\n projectVersionIds,\n subtitleLanguages,\n isNewProject,\n } = this.props\n\n this.props.setTheme({\n themeId,\n projectVersionIds,\n subtitleLanguages,\n isNewProject,\n })\n }\n\n render = () => {\n const { themes, isReadyForTheme, loadingThemes } = this.props\n\n return (\n \n
    \n \n
    \n \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { themes, projectVersionSettings } = state\n\n return {\n themes: themes.themes,\n isReadyForTheme: projectVersionSettings.isReadyForTheme,\n loadingThemes: themes.loadingThemes,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n setTheme,\n fetchThemes,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SetThemePopup)\n","import map from 'lodash/map'\n\nimport { createSelector } from 'reselect'\n\nimport {\n IVocabulary,\n IVocabularyState\n} from './types'\n\nexport const getVocabularies = (state: IVocabularyState): IVocabulary[] => state.vocabularies\n\nexport const getVocabularyNames = createSelector(\n [getVocabularies],\n (vocabularies) => map(vocabularies, vocabulary => vocabulary.attributes.name)\n)\n\nexport const getVocabularyIds = createSelector(\n [getVocabularies],\n (vocabularies) => map(vocabularies, vocabulary => vocabulary.id)\n)\n","import map from 'lodash/map'\n\nimport { createSelector } from 'reselect'\n\nimport {\n ITermbase,\n ITermbaseState\n} from './types'\n\nexport const getTermbases = (state: ITermbaseState): ITermbase[] => state.termbases\n\nexport const getTermbaseNames = createSelector(\n [getTermbases],\n (termbases) => map(termbases, termbase => termbase.attributes.name)\n)\n\nexport const getTermbaseIds = createSelector(\n [getTermbases],\n (termbases) => map(termbases, termbase => termbase.id)\n)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport getParamValueFromUrl from '@Utils/GetParamValueFromUrl'\nimport Header from '@SiteContainers/Header'\nimport ProjectVersionSettingsForm from '@SiteComponents/ProjectVersionSettingsForm'\nimport SetThemePopup from '@SiteContainers/SetThemePopup'\n\nimport {\n fetchVocabularies,\n} from '@SiteModules/Vocabulary/actions'\n\nimport {\n fetchGuidelines,\n} from '@SiteModules/Guideline/actions'\n\nimport {\n fetchTermbases,\n} from '@SiteModules/Termbase/actions'\n\nimport {\n getUserInfo,\n} from '@SiteModules/User/actions'\n\nimport {\n closeSetThemePopup,\n openSetThemePopup,\n} from '@SiteModules/Theme/actions'\n\nimport {\n getVocabularyIds,\n getVocabularyNames,\n} from '@SiteModules/Vocabulary/selectors'\n\nimport {\n getCaptionGuidelineNames,\n getTranslationGuidelineNames,\n getCaptionGuidelineIds,\n getTranslationGuidelineIds,\n} from '@SiteModules/Guideline/selectors'\n\nimport {\n getTermbaseIds,\n getTermbaseNames,\n} from '@SiteModules/Termbase/selectors'\n\nimport {\n submitProjectVersionUpdate,\n fetchProjectVersionSettings,\n fetchProjectVersionSettingsMultiple,\n} from './actions'\n\nimport {\n IProjectVersionSettings,\n IFetchProjectVersionSettingsMultiplePayload,\n PayloadSubmitProjectVersionUpdateBody,\n IFetchProjectVersionSettingsPayload,\n} from './types'\n\nimport './ProjectVersionSettings.scss'\n\ninterface ProjectVersionSettingsProps {\n readonly loading: boolean\n readonly selectedProjectVersions: string[]\n readonly maxLanguagesLimit: number\n readonly vocabularyIds: number[]\n readonly vocabularyNames: string[]\n readonly captionGuidelineIds: number[]\n readonly captionGuidelineNames: string[]\n readonly translationGuidelineIds: number[]\n readonly translationGuidelineNames: string[]\n readonly termbaseNames: string[]\n readonly termbaseIds: number[]\n readonly projectVersionSettings: IProjectVersionSettings\n readonly isSubscriptionCurrent: boolean\n readonly subscriptionHasCreditLikeCharging: boolean\n readonly lastUsedVocabularyName?: string\n readonly lastUsedCaptionGuidelineName?: string\n readonly lastUsedTranslationGuidelineName?: string\n readonly lastUsedSubtitleLanguages?: string[]\n readonly lastUsedTranscriptLanguage?: string\n readonly lastUsedReviewTranscript?: boolean\n readonly lastUsedSeparateAudio?: boolean\n readonly lastUsedAdaptTranslation?: boolean\n readonly lastTranscriptCreatedAfterGuidelineDeployment?: boolean\n readonly lastTranslationCreatedAfterGuidelineDeployment?: boolean\n readonly lastUsedTermbaseName?: string\n readonly isAdmin: boolean\n readonly subscriptionAllowsVoiceAndVoiceCloning: boolean\n readonly subscriptionAllowsTranslationAdaptionForDubbing: boolean\n readonly subscriptionAllowsLipSyncing: boolean\n readonly setThemePopupOpen: boolean\n readonly usingPersonalSubscription: boolean\n getUserInfo(): void\n fetchVocabularies(): void\n fetchGuidelines(): void\n fetchTermbases(): void\n fetchProjectVersionSettings(payload: IFetchProjectVersionSettingsPayload): void\n submitProjectVersionUpdate(payload: PayloadSubmitProjectVersionUpdateBody): void\n fetchProjectVersionSettingsMultiple(payload: IFetchProjectVersionSettingsMultiplePayload): void\n closeSetThemePopup(): void\n openSetThemePopup(): void\n}\n\ninterface ProjectVersionSettingsState {\n editingProjectVersionIds: string[]\n subtitleLanguages: string[]\n hasLoaded: boolean\n}\n\nclass ProjectVersionSettings extends React.Component {\n constructor(props: ProjectVersionSettingsProps) {\n super(props)\n\n this.state = {\n editingProjectVersionIds: [],\n hasLoaded: false,\n subtitleLanguages: []\n }\n }\n\n componentDidMount() {\n const projectVersionIdsFromUrl = getParamValueFromUrl(window.location.href, 'projectVersionIds')\n const editingProjectVersionIds = projectVersionIdsFromUrl ? projectVersionIdsFromUrl.split(',') : this.props.selectedProjectVersions\n this.setState({ editingProjectVersionIds })\n\n const isForOneProjectVersion = editingProjectVersionIds.length === 1\n const isForMultipleProjectVersions = editingProjectVersionIds.length > 1\n if (isForOneProjectVersion) {\n this.props.fetchProjectVersionSettings({ projectVersionId: editingProjectVersionIds[0] })\n } else if (isForMultipleProjectVersions) {\n this.props.fetchProjectVersionSettingsMultiple({ projectVersionIds: editingProjectVersionIds })\n } else {\n window.location.href = '/'\n }\n this.props.fetchVocabularies()\n this.props.fetchGuidelines()\n this.props.fetchTermbases()\n this.props.getUserInfo()\n }\n\n componentDidUpdate(prevProps: ProjectVersionSettingsProps) {\n if (prevProps.loading && !this.props.loading) {\n this.setState({ hasLoaded: true })\n }\n }\n\n renderSetThemePopup = () => {\n const isNewProject = !this.props.projectVersionSettings.attributes.language\n\n return(\n \n )\n }\n\n submitProjectVersionUpdate = (payload: PayloadSubmitProjectVersionUpdateBody) => {\n const { subtitleLanguages } = payload\n this.setState({ subtitleLanguages })\n this.props.submitProjectVersionUpdate(payload)\n this.props.openSetThemePopup()\n }\n\n render() {\n const {\n loading,\n projectVersionSettings,\n vocabularyIds,\n vocabularyNames,\n captionGuidelineIds,\n captionGuidelineNames,\n translationGuidelineIds,\n translationGuidelineNames,\n termbaseNames,\n termbaseIds,\n maxLanguagesLimit,\n isSubscriptionCurrent,\n subscriptionHasCreditLikeCharging,\n lastUsedVocabularyName,\n lastUsedCaptionGuidelineName,\n lastUsedTranslationGuidelineName,\n lastUsedSubtitleLanguages,\n lastUsedTranscriptLanguage,\n lastUsedReviewTranscript,\n lastUsedSeparateAudio,\n lastUsedAdaptTranslation,\n lastTranscriptCreatedAfterGuidelineDeployment,\n lastTranslationCreatedAfterGuidelineDeployment,\n lastUsedTermbaseName,\n isAdmin,\n subscriptionAllowsVoiceAndVoiceCloning,\n subscriptionAllowsTranslationAdaptionForDubbing,\n subscriptionAllowsLipSyncing,\n setThemePopupOpen,\n usingPersonalSubscription,\n } = this.props\n\n const {\n editingProjectVersionIds,\n hasLoaded,\n } = this.state\n\n const {\n duration,\n language,\n availableTotalCredits,\n subtitleLanguages,\n languagesForVideos,\n translationLanguages,\n nonTranslatableLanguages,\n alignmentLanguages,\n translationFormalityOptionLanguages,\n voiceCloningLanguages,\n hasMainAssets,\n hasAudioSeparation,\n subscriptionSubtitlesLength,\n projectTermbaseName\n } = projectVersionSettings.attributes\n\n const isForOneProjectVersion = editingProjectVersionIds.length === 1\n\n return (\n
    \n {setThemePopupOpen && this.renderSetThemePopup()}\n
    \n \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const {\n user,\n projectVersionSettings,\n vocabularies,\n projectVersionsList,\n themes,\n guidelines,\n termbases,\n } = state\n\n return {\n vocabularyIds: getVocabularyIds(vocabularies),\n vocabularyNames: getVocabularyNames(vocabularies),\n captionGuidelineIds: getCaptionGuidelineIds(guidelines),\n captionGuidelineNames: getCaptionGuidelineNames(guidelines),\n translationGuidelineIds: getTranslationGuidelineIds(guidelines),\n translationGuidelineNames: getTranslationGuidelineNames(guidelines),\n termbaseNames: getTermbaseNames(termbases),\n termbaseIds: getTermbaseIds(termbases),\n loading: projectVersionSettings.loading || vocabularies.loading || user.loading || guidelines.loading || termbases.loadingTermbases,\n isSubscriptionCurrent: user.subscription.attributes.isCurrent,\n maxLanguagesLimit: user.subscription.attributes.maxLanguagesLimit,\n projectVersionSettings: projectVersionSettings.projectVersionSettings, // TODO: fix that later...\n subscriptionHasCreditLikeCharging: user.subscription.attributes.hasCreditLikeCharging,\n lastUsedVocabularyName: user.user.attributes.lastUsedTranscriptInformation?.vocabularyName,\n lastUsedSubtitleLanguages: user.user.attributes.lastUsedTranscriptInformation?.subtitleLanguages,\n lastUsedTranscriptLanguage: user.user.attributes.lastUsedTranscriptInformation?.language,\n lastUsedReviewTranscript: user.user.attributes.lastUsedTranslationInformation?.lastUsedReviewTranscript,\n lastUsedSeparateAudio: user.user.attributes.lastUsedDubbingInformation?.lastUsedSeparateAudio,\n lastUsedAdaptTranslation: user.user.attributes.lastUsedDubbingInformation?.lastUsedAdaptTranslation,\n lastUsedCaptionGuidelineName: user.user.attributes.lastUsedTranscriptInformation?.guidelineName,\n lastUsedTranslationGuidelineName: user.user.attributes.lastUsedTranslationInformation?.guidelineName,\n lastTranscriptCreatedAfterGuidelineDeployment: user.user.attributes.lastUsedTranscriptInformation?.createdAfterGuidelineDeployment,\n lastTranslationCreatedAfterGuidelineDeployment: user.user.attributes.lastUsedTranslationInformation?.createdAfterGuidelineDeployment,\n lastUsedTermbaseName: user.user.attributes.lastUsedTermbaseName,\n isAdmin: user.user.attributes.role === 'admin',\n subscriptionAllowsVoiceAndVoiceCloning: user.subscription.attributes.allowsVoice && user.subscription.attributes.allowsVoiceCloning,\n subscriptionAllowsTranslationAdaptionForDubbing: user.subscription.attributes.allowsTranslationAdaptionForDubbing,\n subscriptionAllowsLipSyncing: user.subscription.attributes.allowsLipSyncing,\n selectedProjectVersions: projectVersionsList.selectedProjectVersions,\n setThemePopupOpen: themes.setThemePopupOpen,\n usingPersonalSubscription: user.user.attributes.usingPersonalSubscription,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n getUserInfo,\n submitProjectVersionUpdate,\n fetchProjectVersionSettings,\n fetchProjectVersionSettingsMultiple,\n fetchVocabularies,\n fetchGuidelines,\n fetchTermbases,\n closeSetThemePopup,\n openSetThemePopup,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ProjectVersionSettings)\n","import React from 'react'\n\ninterface OnOffSwitchProps {\n readonly checked: boolean\n readonly label: string\n setChecked(newChecked: boolean): void\n}\n\nimport './OnOffSwitch.scss'\n\nconst OnOffSwitch: React.FC = props => {\n const {\n checked,\n label,\n } = props\n\n const handleChange = (e: any) => {\n props.setChecked(e.target.checked)\n }\n\n // https://www.w3schools.com/howto/howto_css_switch.asp\n return (\n
    \n \n \n {label}\n \n
    \n )\n}\n\nexport default OnOffSwitch\n","import React, { useState, useRef } from 'react'\nimport AddVideosImage from '@Images/add_videos_true_scale.svg'\n\ninterface ScriptImportProps {\n setScriptText(newScriptText: string): void\n}\n\nconst MAX_FILE_SIZE = 2097152 // Bytes = 2MB\n\nconst ScriptImport: React.FC = props => {\n const [dragEnterCounter, setDragEnterCounter] = useState(0)\n\n const fileRef = useRef(null)\n\n const changeScriptText = (newText: string) => {\n props.setScriptText(newText.replace(/\\s+/g,' ').trim())\n }\n\n const handleScriptChange = (e: React.ChangeEvent) => {\n changeScriptText((e.target as HTMLTextAreaElement).value)\n }\n\n const handleImportClick = (e: React.ChangeEvent) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) { return }\n\n handleFileImport(Array.from(files))\n }\n\n const openFileManager = () => {\n fileRef.current?.click()\n }\n\n const onFileDrop = (e: React.DragEvent) => {\n e.preventDefault()\n e.currentTarget.classList.remove('ProjectVersionSettingsFormTts__upload-dragOver')\n\n const files = e.dataTransfer?.files\n if (!files) { return }\n\n handleFileImport(Array.from(files))\n }\n\n const handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n const handleDragEnter = (e: React.DragEvent) => {\n if (dragEnterCounter === 0) {\n e.currentTarget.classList.add('ProjectVersionSettingsFormTts__upload-dragOver')\n }\n setDragEnterCounter(dragEnterCounter + 1)\n }\n\n const handleDragLeave = (e: React.DragEvent) => {\n const nextDragEnterCounter = dragEnterCounter - 1\n setDragEnterCounter(nextDragEnterCounter)\n if (nextDragEnterCounter === 0) {\n e.currentTarget.classList.remove('ProjectVersionSettingsFormTts__upload-dragOver')\n }\n }\n\n const handleFileImport = (files: File[]) => {\n if (files.length === 0) { return }\n\n if (files[0].size > MAX_FILE_SIZE) {\n toastr.error('Your file is too large (> 2MB).', 'Error')\n return\n }\n\n const fileReader = new FileReader()\n fileReader.onload = () => {\n const newScriptText = fileReader.result?.toString()\n\n if (!newScriptText) { return }\n\n const textArea = document.getElementsByClassName('ProjectVersionSettingsFormTts__script').item(0) as HTMLTextAreaElement\n textArea.value = newScriptText\n changeScriptText(newScriptText)\n }\n\n fileReader.readAsText(files[0])\n }\n\n const renderUploadArea = () => {\n return (\n \n \n \n \n\n \n Click or Drag-and-Drop\n \n to import your file\n\n \n \n )\n }\n\n const renderTextAreaForScriptImport = () => {\n return (\n
    \n \n
    \n )\n }\n\n return (\n
    \n \n {renderUploadArea()}\n {renderTextAreaForScriptImport()}\n
    \n )\n}\n\nexport default ScriptImport\n","import React, { useEffect } from 'react'\nimport uniq from 'lodash/uniq'\nimport DropdownList from 'react-widgets/DropdownList'\nimport classnames from 'classnames'\n\nimport OnOffSwitch from './OnOffSwitch'\nimport ScriptImport from './ScriptImport'\n\nimport './MainSettings.scss'\n\ninterface MainSettingsProps {\n readonly projectVersionLanguage: string\n readonly dubbingLanguages: string[]\n readonly hasLoaded: boolean\n readonly shouldUseScript: boolean\n changeProjectVersionLanguage(newProjectVersionLanguage: string): void\n setScriptText(newScriptText: string): void\n setShouldUseScript(newShouldUseScript: boolean): void\n}\n\nconst MainSettings: React.FC = props => {\n const {\n projectVersionLanguage,\n dubbingLanguages,\n changeProjectVersionLanguage,\n hasLoaded,\n shouldUseScript,\n } = props\n\n const TOP_LANGUAGES = [\n 'Arabic',\n 'Chinese, Mandarin (Simplified, China)',\n 'English',\n 'French',\n 'French (Canada)',\n 'German',\n 'Hindi',\n 'Italian',\n 'Japanese',\n 'Portuguese',\n 'Russian',\n 'Spanish'\n ]\n\n const originalLanguages = dubbingLanguages\n const originalLanguagesWithTopLanguagesFirst = uniq(TOP_LANGUAGES.concat(originalLanguages))\n const originalLanguageGrouping = (language: string) => TOP_LANGUAGES.includes(language) ? 'Top Languages' : 'All Languages'\n\n const fillInPlaceholderProjectVersionLanguage = () => {\n const searchProjectVersionLanguage = document.querySelectorAll('.MainSettings__formfield-projectVersionLanguage .rw-multiselect-input')[0] as HTMLInputElement\n\n if (searchProjectVersionLanguage) {\n searchProjectVersionLanguage.placeholder = 'Set language...'\n }\n }\n\n useEffect(() => {\n const inputFieldProjectVersionLanguage = document.querySelectorAll('.MainSettings__formfield-projectVersionLanguage .rw-widget-input.rw-widget-picker.rw-widget-container')[0] as HTMLElement\n if (!!projectVersionLanguage) {\n inputFieldProjectVersionLanguage.style.backgroundColor = '#7318FD'\n inputFieldProjectVersionLanguage.style.border = 'none'\n }\n }, [projectVersionLanguage])\n\n const hasNoDropdown = !hasLoaded\n\n const onSearch = () => {\n setTimeout(() => {\n const emptyList = document.getElementsByClassName('rw-list-empty')\n\n if (emptyList && emptyList.length > 0) {\n emptyList[0].innerHTML = 'Not available'\n }\n }, 0)\n }\n\n const renderProjectVersionLanguageDropDown = () => {\n return(\n
    \n \n\n \n
    \n )\n }\n\n const renderOnOffSwitchForScriptImport = () => {\n return (\n \n )\n }\n\n const renderScriptImport = () => {\n return (\n \n )\n }\n\n return (\n \n {renderProjectVersionLanguageDropDown()}\n {renderOnOffSwitchForScriptImport()}\n {shouldUseScript && renderScriptImport()}\n \n )\n}\n\nexport default MainSettings\n","import React from 'react'\nimport capitalize from 'lodash/capitalize'\nimport DropdownV2 from '@EditorComponents/DropdownV2'\n\nconst GENDERS = [\n 'Male',\n 'Female'\n]\n\ninterface GenderProps {\n readonly gender: string\n setGender(newGender: string): void\n}\n\nconst Gender: React.FC = props => {\n const { gender } = props\n\n const handleChangeGender = (newGender: string) => {\n props.setGender(newGender.toLowerCase())\n }\n\n return (\n
    \n Gender\n \n
    \n )\n}\n\nexport default Gender\n","import React, { useEffect } from 'react'\nimport uniq from 'lodash/uniq'\nimport DropdownV2 from '@EditorComponents/DropdownV2'\n\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\ninterface CountryProps {\n readonly country: string\n readonly voices: IVoiceAttributes[]\n setCountry(newCountry: string): void\n}\n\nconst Country: React.FC = props => {\n const { voices, country } = props\n\n const availableCountries = uniq(voices.map(voice => voice.country)).sort()\n const hasOnlyOneCountry = availableCountries.length <= 1\n\n availableCountries.unshift('All')\n\n useEffect(() => {\n if (country === 'All') { return }\n\n props.setCountry('All')\n }, [voices])\n\n return (\n
    \n Region\n \n
    \n )\n}\n\nexport default Country\n","import React, { useState, useEffect } from 'react'\n\nimport VoicePlayIcon from '@Images/voice_play_big2.svg'\n\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\ninterface PlayButtonForVoicesProps {\n readonly voices: IVoiceAttributes[]\n readonly voiceName: string\n}\n\nconst PlayButtonForVoices: React.FC = props => {\n const { voiceName, voices } = props\n\n const [currentVoiceAudio, setCurrentVoiceAudio] = useState()\n const [showInfoForVoiceSample, setShowInfoForVoiceSample] = useState(false)\n const [infoForVoiceSampleTimeout, setInfoForVoiceSampleTimeout] = useState | null>(null)\n\n useEffect(() => {\n const currentVoice = voices.find(voice => voice.name === voiceName)\n\n if (currentVoice) {\n setVoiceAudio(currentVoice.sampleUrl)\n }\n }, [voiceName])\n\n const setVoiceAudio = (sampleUrl: string) => {\n if (currentVoiceAudio && !currentVoiceAudio.paused) {\n currentVoiceAudio.pause()\n }\n setCurrentVoiceAudio(new Audio(sampleUrl))\n }\n\n const toggleShowInfoForVoiceSample = () => {\n if (infoForVoiceSampleTimeout) {\n setShowInfoForVoiceSample(false)\n clearTimeout(infoForVoiceSampleTimeout)\n setInfoForVoiceSampleTimeout(null)\n } else {\n const newInfoForVoiceSampleTimeout = setTimeout(() => {\n setShowInfoForVoiceSample(true)\n }, window.Checksub.tooltipDelay)\n setInfoForVoiceSampleTimeout(newInfoForVoiceSampleTimeout)\n }\n }\n\n const startPlayingSample = () => {\n if (currentVoiceAudio && currentVoiceAudio.paused) {\n currentVoiceAudio.play()\n }\n }\n\n return (\n \n \n {showInfoForVoiceSample && (\n
    \n Play Voice Sample\n
    \n )}\n \n )\n}\n\nexport default PlayButtonForVoices\n","import React, { useState, useEffect } from 'react'\nimport map from 'lodash/map'\nimport find from 'lodash/find'\nimport DropdownV2 from '@EditorComponents/DropdownV2'\nimport PlayButtonForVoices from './PlayButtonForVoices'\nimport WarningIconVoice from '@Images/warning_icon_voice.svg'\n\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\nconst PREMIUM_VOICE_SERVICES = ['ELEVENLABS']\n\ninterface VoiceNameProps {\n readonly gender: string\n readonly voiceName: string\n readonly country: string\n readonly languageCode: string\n readonly voices: IVoiceAttributes[]\n setVoiceName(newVoiceName: string): void\n}\n\nconst VoiceName: React.FC = props => {\n const {\n voices,\n gender,\n country,\n voiceName,\n languageCode,\n } = props\n\n const [voicesForGenderAndCountry, setVoicesForGenderAndCountry] = useState([])\n const [currentVoiceHasWrongLanguage, setCurrentVoiceHasWrongLanguage] = useState(false)\n const [showInfoForVoiceHasWrongLanguage, setShowInfoForVoiceHasWrongLanguage] = useState(false)\n const [infoForVoiceHasWrongLanguageTimeout, setInfoForVoiceHasWrongLanguageTimeout] = useState | null>(null)\n const voiceNamesForGenderAndCountry = map(voicesForGenderAndCountry, voice => voice.name)\n const hasOnlyOneVoiceName = voiceNamesForGenderAndCountry.length <= 1\n const shouldShowWarningForVoiceHasWrongLanguage = showInfoForVoiceHasWrongLanguage && currentVoiceHasWrongLanguage\n\n useEffect(() => {\n let newVoicesForGenderAndCountry = voices.filter(voice => voice.gender === gender)\n if (country !== 'All') {\n newVoicesForGenderAndCountry = newVoicesForGenderAndCountry.filter(voice => voice.country === country)\n }\n\n if (newVoicesForGenderAndCountry.length === 0) { return }\n setVoicesForGenderAndCountry(newVoicesForGenderAndCountry)\n\n let currentVoiceHasWrongGender = true\n let currentVoiceHasWrongCountry = true\n\n if (voiceName && voiceName.length > 0) {\n const currentVoice = voices.find(voice => voice.name === voiceName)\n\n if (currentVoice) {\n currentVoiceHasWrongGender = currentVoice.gender !== gender\n currentVoiceHasWrongCountry = country === 'All' ? false : currentVoice.country !== country\n }\n }\n\n if (currentVoiceHasWrongGender || currentVoiceHasWrongCountry) {\n const newVoice = find(newVoicesForGenderAndCountry, newVoiceForGenderAndCountry => newVoiceForGenderAndCountry.languages.includes(languageCode)) || newVoicesForGenderAndCountry[0]\n handleChangeVoiceName(newVoice.name)\n }\n }, [gender, country])\n\n useEffect(() => {\n if (voiceName && voiceName.length > 0 && languageCode.length > 0) {\n const currentVoice = voices.find(voice => voice.name === voiceName) as IVoiceAttributes\n const newCurrentVoiceHasWrongLanguage = !currentVoice.languages.includes(languageCode)\n setCurrentVoiceHasWrongLanguage(newCurrentVoiceHasWrongLanguage)\n } else {\n setCurrentVoiceHasWrongLanguage(false)\n }\n }, [voiceName, languageCode])\n\n const renderShowInfoForVoiceHasWrongLanguage = () => {\n if (!infoForVoiceHasWrongLanguageTimeout) {\n const newInfoForVoiceHasWrongLanguageTimeout = setTimeout(() => {\n setShowInfoForVoiceHasWrongLanguage(true)\n }, window.Checksub.tooltipDelay)\n setInfoForVoiceHasWrongLanguageTimeout(newInfoForVoiceHasWrongLanguageTimeout)\n }\n }\n\n const hideShowInfoForVoiceHasWrongLanguage = () => {\n if (infoForVoiceHasWrongLanguageTimeout) {\n setShowInfoForVoiceHasWrongLanguage(false)\n clearTimeout(infoForVoiceHasWrongLanguageTimeout)\n setInfoForVoiceHasWrongLanguageTimeout(null)\n }\n }\n\n const itemsToShow = map(voicesForGenderAndCountry, (voice, index) => {\n const isPremiumVoice = PREMIUM_VOICE_SERVICES.includes(voice.serviceName)\n\n return (\n \n {voice.name}\n {isPremiumVoice && (\n Premium\n )}\n \n )\n })\n\n const handleChangeVoiceName = (newVoiceName: string) => {\n props.setVoiceName(newVoiceName)\n }\n\n return (\n
    \n Voice\n
    \n {currentVoiceHasWrongLanguage && (\n \n )}\n \n \n {shouldShowWarningForVoiceHasWrongLanguage && (\n
    \n The language of the selected
    \n voice seems to be different
    \n from the one of the project.
    \n Take into account that the
    \n quality of the dubbing
    \n is uncertain.\n
    \n )}\n
    \n
    \n )\n}\n\nexport default VoiceName\n","import React, { useState, useEffect } from 'react'\n\nimport Gender from './Gender'\nimport Country from './Country'\nimport VoiceName from './VoiceName'\nimport getDefaultCountry from '@Utils/GetDefaultCountry'\n\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\nimport './VoiceSettings.scss'\n\ninterface VoiceSettingsProps {\n readonly voiceName: string\n readonly gender: string\n readonly voices: IVoiceAttributes[]\n readonly languageCode: string\n setVoiceName(newVoiceName: string): void\n setGender(newGender: string): void\n}\n\nconst VoiceSettings: React.FC = props => {\n const [country, setCountry] = useState('All')\n\n const {\n gender,\n voices,\n voiceName,\n languageCode,\n } = props\n\n useEffect(() => {\n setCountry(getDefaultCountry(voices, gender, languageCode))\n }, [languageCode])\n\n const renderGender = () => {\n return (\n \n )\n }\n\n const renderCountry = () => {\n return (\n \n )\n }\n\n const renderVoiceName = () => {\n return (\n \n )\n }\n\n return (\n
    \n {renderCountry()}\n {renderGender()}\n {renderVoiceName()}\n
    \n )\n}\n\nexport default VoiceSettings\n","import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\n\nimport VoiceSettings from './VoiceSettings'\n\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\nimport Arrow from '@Images/arrow_pv_settings.svg'\n\nconst DELAY_TO_SHOW_OVERFLOW = 200 // ms, The same time as for the opening/closing animations in ProjectVersionSettingsFormTts__options-body\n\ninterface DefaultVoiceOptionsProps {\n readonly voices: IVoiceAttributes[]\n readonly voiceName: string\n readonly gender: string\n readonly disabled: boolean\n readonly languageCode: string\n setVoiceName(newVoiceName: string): void\n setGender(newGender: string): void\n}\n\nconst DefaultVoiceOptions: React.FC = props => {\n const {\n disabled,\n voices,\n voiceName,\n gender,\n languageCode,\n } = props\n\n const [bodyOpen, setBodyOpen] = useState(false)\n const [bodyOpenDelayed, setBodyOpenDelayed] = useState(false)\n\n useEffect(() => {\n if (!disabled) {\n showBody()\n }\n }, [])\n\n useEffect(() => {\n if (disabled && bodyOpen) {\n toggleBody()\n } else if (!disabled) {\n showBody()\n }\n }, [disabled])\n\n const toggleBody = () => {\n // https://stackoverflow.com/questions/13938460/css-transition-auto-height-not-working\n const bodyDiv = document.getElementById('ProjectVersionSettingsFormTts__options-body-voice')\n if (!bodyDiv) { return }\n\n bodyDiv.clientHeight ? closeBody(bodyDiv) : openBody(bodyDiv)\n }\n\n const showBody = () => {\n const bodyDiv = document.getElementById('ProjectVersionSettingsFormTts__options-body-voice')\n if (!bodyDiv) { return }\n\n openBody(bodyDiv)\n }\n\n const openBody = (bodyDiv: HTMLElement) => {\n const wrapper = document.querySelector('.ProjectVersionSettingsFormTts__options-body-inner-wrapper-voice')\n if (wrapper) {\n bodyDiv.style.height = wrapper.clientHeight + 'px'\n setBodyOpen(true)\n setTimeout(() => {\n setBodyOpenDelayed(true)\n }, DELAY_TO_SHOW_OVERFLOW)\n }\n }\n\n const closeBody = (bodyDiv: HTMLElement) => {\n bodyDiv.style.height = '0'\n setBodyOpen(false)\n setBodyOpenDelayed(false)\n }\n\n const handleClick = () => {\n if (disabled) { return }\n\n toggleBody()\n }\n\n const renderBody = () => {\n return (\n \n
    \n \n
    \n \n )\n }\n\n return (\n \n \n \n Default voice\n \n \n \n {renderBody()}\n \n )\n}\n\nexport default DefaultVoiceOptions\n","import React from 'react'\nimport map from 'lodash/map'\nimport DropdownV2 from '@EditorComponents/DropdownV2'\n\nimport './Termbase.scss'\n\ninterface TermbaseProps {\n readonly termbaseNames: string[]\n readonly selectedTermbaseName?: string\n setSelectedTermbaseName(newTermbaseName?: string): void\n}\n\nconst NO_TERMBASE = 'None'\n\nconst Termbase: React.FC = props => {\n const { termbaseNames, selectedTermbaseName } = props\n\n const termbasesPresent = termbaseNames.length > 0\n const termbaseNamesWithOptionForNoList = [NO_TERMBASE].concat(termbaseNames)\n\n const changeTermbaseName = (newTermbaseName: string) => {\n newTermbaseName === NO_TERMBASE ? props.setSelectedTermbaseName(undefined) : props.setSelectedTermbaseName(newTermbaseName)\n }\n\n const itemsToShow = map(termbaseNamesWithOptionForNoList, (termbaseName, index) => {\n return (\n \n {termbaseName}\n \n )\n })\n\n return (\n
    \n {termbasesPresent ? (\n \n Term base:\n \n \n ) : (\n \n )}\n\n
    \n )\n}\n\nexport default Termbase\n","import React, { useState } from 'react'\nimport classnames from 'classnames'\n\nimport Termbase from './Termbase'\n\nimport Arrow from '@Images/arrow_pv_settings.svg'\n\nconst DELAY_TO_SHOW_OVERFLOW = 200 // ms, The same time as for the opening/closing animations in ProjectVersionSettingsFormTts__options-body\n\ninterface GeneralOptionsProps {\n readonly termbaseNames: string[]\n readonly selectedTermbaseName?: string\n setSelectedTermbaseName(newTermbaseName?: string): void\n}\n\nconst GeneralOptions: React.FC = props => {\n const {\n termbaseNames,\n selectedTermbaseName\n } = props\n\n const [bodyOpen, setBodyOpen] = useState(false)\n const [bodyOpenDelayed, setBodyOpenDelayed] = useState(false)\n\n const toggleBody = () => {\n // https://stackoverflow.com/questions/13938460/css-transition-auto-height-not-working\n const bodyDiv = document.getElementById('ProjectVersionSettingsFormTts__options-body-general')\n if (!bodyDiv) { return }\n\n bodyDiv.clientHeight ? closeBody(bodyDiv) : openBody(bodyDiv)\n }\n\n const openBody = (bodyDiv: HTMLElement) => {\n const wrapper = document.querySelector('.ProjectVersionSettingsFormTts__options-body-inner-wrapper-general')\n if (wrapper) {\n bodyDiv.style.height = wrapper.clientHeight + 'px'\n setBodyOpen(true)\n setTimeout(() => {\n setBodyOpenDelayed(true)\n }, DELAY_TO_SHOW_OVERFLOW)\n }\n }\n\n const closeBody = (bodyDiv: HTMLElement) => {\n bodyDiv.style.height = '0'\n setBodyOpen(false)\n setBodyOpenDelayed(false)\n }\n\n const renderBody = () => {\n return (\n \n
    \n \n
    \n \n )\n }\n\n return (\n
    \n \n \n General\n \n \n
    \n {renderBody()}\n \n )\n}\n\nexport default GeneralOptions\n","import React from 'react'\nimport formattedCreditsWithHours from '@Utils/FormattedCreditsWithHours'\nimport classnames from 'classnames'\n\nimport './Costs.scss'\n\ninterface CostsProps {\n readonly totalCost: number\n readonly shouldHideCosts: boolean\n}\n\nconst Costs: React.FC = props => {\n const {\n totalCost,\n shouldHideCosts,\n } = props\n\n const formattedCosts: string = formattedCreditsWithHours(totalCost)\n\n const renderCosts = () => {\n return (\n You will use {formattedCosts} of your credits.\n Understand why.\n \n )\n }\n\n return (\n
    \n \n {renderCosts()}\n
    \n \n )\n}\n\nexport default Costs\n","import React from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\n\nimport './ConfirmationButton.scss'\n\ninterface ConfirmationButtonProps {\n readonly showSpinner: boolean\n readonly disableButton: boolean\n confirm(): void\n}\n\nconst ConfirmationButton: React.FC = props => {\n const {\n showSpinner,\n disableButton,\n } = props\n\n return (\n
    \n \n
    \n )\n}\n\nexport default ConfirmationButton\n","import React, { useState, useEffect } from 'react'\nimport { Loadable } from '@Root/types'\nimport indexOf from 'lodash/indexOf'\n\nimport MainSettings from './MainSettings'\nimport DefaultVoiceOptions from './DefaultVoiceOptions'\nimport GeneralOptions from './GeneralOptions'\nimport Costs from './Costs'\nimport ConfirmationButton from './ConfirmationButton'\n\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\nimport {\n ISetupTtsPayload,\n} from '@SitePages/ProjectVersionSettingsTts/types'\n\nimport Return from '@Images/return_from_pv_settings.svg'\n\nimport '@Root/config/dropdowns.scss'\nimport './ProjectVersionSettingsFormTts.scss'\n\nconst CHARACTERS_PER_SECOND_TTS_CHARGING = 3\nconst REGEX_BLOCK_SPLITTING_CHARACTERS = /[.!??!؟。।]/g\n\ninterface ProjectVersionSettingsFormTtsProps extends Loadable {\n readonly voices: IVoiceAttributes[]\n readonly hasLoaded: boolean\n readonly dubbingLanguages: string[]\n readonly dubbingLanguagesCodes: string[]\n readonly lastUsedTtsProjectVersionLanguage?: string\n readonly availableTotalCredits: number\n readonly subscriptionAllowsVoice: boolean\n readonly termbaseNames: string[]\n readonly lastUsedTermbaseName?: string\n setupTts(payload: ISetupTtsPayload): void\n}\n\nconst DEFAULT_GENDER = 'male'\n\nconst ProjectVersionSettingsFormTts: React.FC = props => {\n const {\n voices,\n hasLoaded,\n termbaseNames,\n dubbingLanguages,\n lastUsedTermbaseName,\n dubbingLanguagesCodes,\n subscriptionAllowsVoice,\n availableTotalCredits,\n lastUsedTtsProjectVersionLanguage,\n } = props\n\n const [projectVersionLanguage, setProjectVersionLanguage] = useState('')\n const [shouldUseScript, setShouldUseScript] = useState(true)\n const [scriptText, setScriptText] = useState('')\n const [isSubmitted, setIsSubmitted] = useState(false)\n const [gender, setGender] = useState(DEFAULT_GENDER)\n const [voiceName, setVoiceName] = useState('')\n const [languageCode, setLanguageCode] = useState('')\n const [selectedTermbaseName, setSelectedTermbaseName] = useState()\n\n const scriptTextEmpty = scriptText.length === 0\n const projectVersionLanguageNotSelected = projectVersionLanguage.length === 0\n const hasVoices = voices.length > 0\n const matches = scriptText.match(REGEX_BLOCK_SPLITTING_CHARACTERS)\n const approximateNumberOfBlocks = matches ? matches.length : 0\n const totalCost = (scriptText.length - approximateNumberOfBlocks + 1) / CHARACTERS_PER_SECOND_TTS_CHARGING // Simplified formula: The number of characters used here might be slightly higher (never lower) than the ones actually charged in the backend\n const insufficientCredits = availableTotalCredits < totalCost\n const shouldHideCosts = !shouldUseScript || scriptTextEmpty || insufficientCredits || !subscriptionAllowsVoice\n\n useEffect(() => {\n if (!hasLoaded) { return }\n\n if (lastUsedTtsProjectVersionLanguage) {\n setProjectVersionLanguage(lastUsedTtsProjectVersionLanguage)\n }\n\n if (lastUsedTermbaseName) {\n setSelectedTermbaseName(lastUsedTermbaseName)\n }\n }, [hasLoaded])\n\n useEffect(() => {\n if (!projectVersionLanguage) { return }\n\n const newLanguageIndex = indexOf(dubbingLanguages, projectVersionLanguage)\n const newLanguageCode = dubbingLanguagesCodes[newLanguageIndex]\n setLanguageCode(newLanguageCode)\n }, [projectVersionLanguage])\n\n const onSubmit = () => {\n const payload: ISetupTtsPayload = {\n projectVersionLanguage,\n voiceName,\n ...(shouldUseScript ? { scriptText } : {}),\n ...(selectedTermbaseName ? { termbaseName: selectedTermbaseName } : {}),\n }\n\n props.setupTts(payload)\n setIsSubmitted(true)\n }\n\n const goToProjectTypeSelection = () => {\n window.location.href = '/project_type_selection'\n }\n\n const handleShouldUseScript = (newShouldUseScript: boolean) => {\n if (newShouldUseScript) {\n setScriptText('')\n }\n setShouldUseScript(newShouldUseScript)\n }\n\n const renderMainSettings = () => {\n return (\n \n )\n }\n\n const renderVoiceSettings = () => {\n return (\n \n
    \n Voice settings\n
    \n \n {hasVoices && (\n \n )}\n
    \n )\n }\n\n const renderCosts = () => {\n return (\n \n )\n }\n\n const renderConfirmationButton = () => {\n const {\n showSpinner,\n disableButton,\n } = props\n\n const disableConfirmationButton =\n disableButton ||\n !subscriptionAllowsVoice ||\n projectVersionLanguageNotSelected ||\n (scriptTextEmpty && shouldUseScript) ||\n isSubmitted\n\n return (\n \n )\n }\n\n const renderBackButton = () => {\n return (\n \n \n \n )\n }\n\n return (\n \n {renderBackButton()}\n
    \n
    \n
    \n
    \n
    \n Fine-tune your TTS project\n
    \n {renderMainSettings()}\n
    \n
    \n {renderConfirmationButton()}\n {renderCosts()}\n
    \n
    \n
    \n
    \n {renderVoiceSettings()}\n
    \n
    \n
    \n )\n}\n\nexport default ProjectVersionSettingsFormTts\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Header from '@SiteContainers/Header'\nimport ProjectVersionSettingsFormTts from '@SiteComponents/ProjectVersionSettingsFormTts'\n\nimport {\n getUserInfo\n} from '@SiteModules/User/actions'\n\nimport {\n fetchProjectVersionSettingsTts,\n setupTts,\n} from './actions'\n\nimport {\n fetchTermbases,\n} from '@SiteModules/Termbase/actions'\n\nimport {\n getTermbaseNames,\n} from '@SiteModules/Termbase/selectors'\n\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\nimport {\n ISetupTtsPayload,\n} from './types'\n\nimport './ProjectVersionSettingsTts.scss'\n\ninterface ProjectVersionSettingsTtsProps {\n readonly isNewUser: boolean\n readonly loading: boolean\n readonly dubbingLanguages: string[]\n readonly dubbingLanguagesCodes: string[]\n readonly voices: IVoiceAttributes[]\n readonly lastUsedTtsProjectVersionLanguage?: string\n readonly availableTotalCredits: number\n readonly subscriptionAllowsVoice: boolean\n readonly termbaseNames: string[]\n readonly lastUsedTermbaseName?: string\n fetchProjectVersionSettingsTts(): void\n fetchTermbases(): void\n getUserInfo(): void\n setupTts(payload: ISetupTtsPayload): void\n}\n\ninterface ProjectVersionSettingsTtsState {\n hasLoaded: boolean\n}\n\nclass ProjectVersionSettingsTts extends React.Component {\n constructor(props: ProjectVersionSettingsTtsProps) {\n super(props)\n\n this.state = {\n hasLoaded: false\n }\n }\n\n componentDidMount() {\n this.props.fetchProjectVersionSettingsTts()\n this.props.fetchTermbases()\n this.props.getUserInfo()\n }\n\n componentDidUpdate(prevProps: ProjectVersionSettingsTtsProps) {\n if (prevProps.loading && !this.props.loading) {\n this.setState({ hasLoaded: true })\n }\n }\n\n render() {\n const shouldNotLinkToDashboard = this.props.isNewUser\n\n const {\n loading,\n voices,\n dubbingLanguages,\n dubbingLanguagesCodes,\n lastUsedTtsProjectVersionLanguage,\n availableTotalCredits,\n subscriptionAllowsVoice,\n termbaseNames,\n lastUsedTermbaseName,\n } = this.props\n\n return (\n
    \n \n \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { user, projectVersionSettingsTts, termbases } = state\n\n return {\n isNewUser: user.user.attributes.isNewUser,\n lastUsedTtsProjectVersionLanguage: user.user.attributes.lastUsedTtsProjectVersionLanguage,\n loading: projectVersionSettingsTts.loading || user.loading || termbases.loadingTermbases,\n dubbingLanguages: projectVersionSettingsTts.dubbingLanguages,\n dubbingLanguagesCodes: projectVersionSettingsTts.dubbingLanguagesCodes,\n voices: projectVersionSettingsTts.voices,\n availableTotalCredits: projectVersionSettingsTts.availableTotalCredits,\n subscriptionAllowsVoice: projectVersionSettingsTts.subscriptionAllowsVoice,\n termbaseNames: getTermbaseNames(termbases),\n lastUsedTermbaseName: user.user.attributes.lastUsedTermbaseName,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n fetchProjectVersionSettingsTts,\n fetchTermbases,\n getUserInfo,\n setupTts,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ProjectVersionSettingsTts)\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgUpload2 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 22,\n height: 22,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M11 16.333q-.566 0-.95-.384A1.29 1.29 0 0 1 9.668 15V5.467l-2.5 2.5a1.28 1.28 0 0 1-.934.4q-.532 0-.966-.434a1.24 1.24 0 0 1-.383-.95 1.3 1.3 0 0 1 .383-.916l4.8-4.8q.2-.2.433-.284T11 .9q.267 0 .5.083.233.084.433.284l4.8 4.8q.4.4.383.949-.015.55-.383.917a1.36 1.36 0 0 1-.949.416 1.24 1.24 0 0 1-.95-.382l-2.5-2.5V15q0 .566-.383.95a1.3 1.3 0 0 1-.951.383m-8 5.334q-1.099 0-1.883-.783A2.57 2.57 0 0 1 .333 19v-2.667q0-.566.383-.95Q1.1 15 1.666 15q.567 0 .951.383.383.384.383.95V19h16v-2.667q0-.566.384-.95.383-.383.95-.383.566 0 .949.383.384.384.384.95V19q0 1.1-.783 1.884a2.57 2.57 0 0 1-1.884.783z\"\n})));\nexport default SvgUpload2;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgFreeTrialArrow = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 59,\n height: 63,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF818\",\n d: \"M1.104 35.805c1.06-.32 2.708 1.678 4.515 5.166a59 59 0 0 1 1.951 4.213c.106-.648.22-1.312.35-2.008.818-3.733 1.92-8.184 3.84-12.953 1.88-4.768 4.445-9.918 8.115-14.815 3.62-4.914 8.2-8.953 12.998-11.592 2.404-1.318 4.868-2.24 7.216-2.875C42.443.306 44.71.067 46.753.006c4.107-.086 7.33.74 9.395 1.627 2.074.893 3.03 1.858 2.825 2.367-.204.52-1.4.602-3.423.7-2.012.098-4.862.213-8.177.947-1.65.384-3.426.864-5.231 1.624-1.802.762-3.664 1.691-5.495 2.904-3.645 2.438-7.238 5.819-10.365 10.065-3.16 4.213-5.666 8.722-7.755 12.962-2.128 4.227-3.715 8.258-5.176 11.617a194 194 0 0 1-1.213 2.987c1.9-1.23 3.68-2.28 5.252-3.093 3.49-1.802 5.988-2.48 6.67-1.607.682.874-.583 3.134-3.18 6.081-1.297 1.474-2.928 3.12-4.814 4.85l-1.462 1.312-.396.345-.774.637-1.587 1.296A450 450 0 0 1 5.095 63a415 415 0 0 1-2.409-8.283l-.547-1.975-.263-.966-.126-.514-.435-1.916c-.54-2.502-.92-4.788-1.129-6.74-.416-3.907-.143-6.482.918-6.801\"\n})));\nexport default SvgFreeTrialArrow;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgUploadText = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 163,\n height: 51,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF818\",\n d: \"M9.357 4.137q0-4.032 1.232-4.032 1.233 0 1.232 4.564l-.364 4.116q0 5.264 1.4 8.12v.112q0 .56-.756.7h-.112q-1.035-.056-1.82-3.948h-.112q-1.455 4.368-3.724 4.368-2.267 0-2.912-3.668l-.084-1.652v-.532l.42-6.384V4.669q0-.56.644-.868h.252q.784 0 .784 1.036v.168l-.448 7.476v1.036q0 2.24 1.064 2.968h.504q1.428-.869 2.744-5.88l.42-1.904zm9.023 4.284q2.967 0 3.5 3.724 0 3.304-3.08 4.732-.336.168-.924.168h-.196l-.616-.056v.056l.112 7.476q-.196.868-.896.868-.784-.252-.784-.812l-.252-15.232q0-.727.868-.756l.588.252a3.5 3.5 0 0 1 1.68-.42m-1.4 2.968-.084.868.084 2.968.784.196q1.875 0 2.436-2.744v-.42q-.196-2.212-1.568-2.212h-.42q-1.233 0-1.232 1.344m8.37-10.08q.783.28.784.868l.28 10.668v3.444q0 .952-.812.952h-.364q-.505-.336-.505-.784v-3.248l-.252-11.088q0-.7.868-.812m8.12 4.872q2.07 0 3.135 3.08l.112.588q0 2.996-2.8 6.132-1.119 1.036-2.268 1.036-1.68 0-2.38-1.932-.252-.896-.252-1.568v-.336q0-4.425 3.22-6.72.56-.28 1.232-.28m-2.8 7.28q0 1.904.98 1.904 2.043 0 3.387-5.236v-.532q-.475-1.736-1.764-1.736-.504 0-.504.7 0 .476-1.12.756-.98 1.652-.98 4.144m13.084-7.532q1.232 0 1.232.98l-.252.532-.168 5.124q0 3.472 1.4 4.312l.056.42q-.084.812-.756.812h-.168q-2.1-1.428-2.1-4.368h-.196q-1.12 3.136-2.716 3.136-1.485-.42-1.484-2.212 0-3.948 3.164-7.868 1.065-.868 1.988-.868m-3.388 7.616-.112.784v.532h.28q2.1-5.236 2.1-6.384h-.112q-1.624 1.82-2.156 5.068m13.468-12.18q.475 0 .868.896l-1.232 7.784v2.184q0 3.416 1.064 3.416.7.336.7.896 0 .644-1.12.756-1.232 0-1.932-2.268h-.28q-1.035 2.268-2.52 2.268-1.735 0-2.1-2.632 0-3.052 4.088-6.468.812 0 .812-2.268.615-4.564 1.652-4.564m-4.9 13.076v.756l.448.448h.168q.895 0 2.1-5.404h-.168q-2.548 2.549-2.548 4.2m24.2-8.512q1.23 0 1.231.98l-.252.532-.168 5.124q0 3.472 1.4 4.312l.056.42q-.084.812-.756.812h-.168q-2.1-1.428-2.1-4.368h-.196q-1.12 3.136-2.716 3.136-1.484-.42-1.484-2.212 0-3.948 3.164-7.868 1.064-.868 1.988-.868m-3.389 7.616-.112.784v.532h.28q2.1-5.236 2.1-6.384h-.112q-1.623 1.82-2.156 5.068m18.423-6.244q.644 0 1.4 3.08 1.064 2.464 1.204 2.604.14 0 1.036-2.8.895-2.8 1.708-2.8.756.28.756.896-2.325 5.992-2.324 7.924l-.532.532h-.532q-1.008-.728-3.416-7.7l-.252-1.036q.195-.7.952-.7m8.187-5.152q1.064.225 1.064.952-.28.784-.896.784-1.036-.195-1.036-1.036.28-.7.868-.7m1.064 3.92q.447 0 .756.812l-.252 1.988v1.316q0 2.295.784 6.02-.28.532-.952.532-1.149 0-1.512-6.72v-.98q0-2.968 1.176-2.968m9.869-4.704q.475 0 .868.896l-1.232 7.784v2.184q0 3.416 1.064 3.416.7.336.7.896 0 .644-1.12.756-1.233 0-1.932-2.268h-.28q-1.037 2.268-2.52 2.268-1.737 0-2.1-2.632 0-3.052 4.088-6.468.812 0 .812-2.268.615-4.564 1.652-4.564m-4.9 13.076v.756l.448.448h.168q.895 0 2.1-5.404h-.168q-2.548 2.549-2.548 4.2m10.368-7.756q1.12.028 3.78 3.92l.056.476q0 .784-3.836 1.204l-.084.084v.112q.588 2.52 1.232 2.52h.336q.897 0 2.716-1.932h.168q.56 0 .868.812 0 .672-2.352 2.324-.615.364-1.484.532-2.268 0-3.164-4.256-1.288-.195-1.288-1.064 0-.615.952-.812v.112l.28-.112v-.7q0-3.22 1.82-3.22m.168 2.016h-.252l-.112 1.036v.868h.112q1.569-.056 1.568-.336-.728-1.091-1.316-1.568m11.184-2.52q2.073 0 3.136 3.08l.112.588q0 2.996-2.8 6.132-1.119 1.036-2.268 1.036-1.68 0-2.38-1.932-.252-.896-.252-1.568v-.336q0-4.425 3.22-6.72.56-.28 1.232-.28m-2.8 7.28q0 1.904.98 1.904 2.044 0 3.388-5.236v-.532q-.475-1.736-1.764-1.736-.504 0-.504.7 0 .476-1.12.756-.98 1.652-.98 4.144m20.084-5.152.504-.28q.672 0 .98.812a20 20 0 0 0-.448 4.256q0 1.092.644 2.38h.168q.812 0 1.932-6.412.391-.336.756-.336.868 0 .868 3.08.363 3.388.812 3.388l.42-.168q.812.308.812.868-.504 1.065-1.4 1.064-1.008 0-1.932-2.016-1.12 2.352-2.268 2.352-1.708 0-2.38-3.556l-.084-.896v-.28q0-2.24.616-4.256m12.044.112q2.968 0 3.5 3.724 0 3.304-3.08 4.732-.336.168-.924.168h-.196l-.616-.056v.056l.112 7.476q-.196.868-.896.868-.784-.252-.784-.812L150.3 9.345q0-.727.868-.756l.588.252a3.5 3.5 0 0 1 1.68-.42m-1.4 2.968-.084.868.084 2.968.784.196q1.876 0 2.436-2.744v-.42q-.196-2.212-1.568-2.212h-.42q-1.232 0-1.232 1.344M4.049 22.741q.784.168.784.784l-.168 1.232v.364q0 1.232.28 2.604H5q3.248-.98 4.032-.98.812.224.812.812 0 .952-1.932.952L5 29.545q0 3.78.812 10.276-.168.756-.812.756h-.056q-.98 0-.98-2.52-.364-1.876-.616-8.148h-.504Q.213 29.741.213 28.677q0-.308.588-.756h.28l1.288.336h.896l-.252-3.5q0-2.016 1.036-2.016m11.689 6.44q2.072 0 3.136 3.08l.112.588q0 2.996-2.8 6.132-1.12 1.036-2.268 1.036-1.68 0-2.38-1.932-.252-.896-.252-1.568v-.336q0-4.425 3.22-6.72.56-.28 1.232-.28m-2.8 7.28q0 1.904.98 1.904 2.044 0 3.388-5.236v-.532q-.476-1.736-1.764-1.736-.504 0-.504.7 0 .476-1.12.756-.98 1.652-.98 4.144m24.563-9.212h.168q1.82 0 1.82.952-.084.392-.588.784l-1.344-.084h-.168q-1.344 0-4.2.784l.448 3.332h.168q2.38-1.736 3.864-1.736 2.632 0 3.136 3.5v.168q0 2.968-4.004 4.536l-1.4.252q-2.212-.252-2.212-1.036.336-.896.98-.896l.952.28h.7q1.71 0 3.08-2.1.224-.504.224-.868v-.532q-.195-1.68-1.568-1.68h-.056q-1.735 0-4.144 2.996h-.168q-1.12 0-1.12-2.884l-.7-4.2q0-.868 2.268-.868 2.633-.7 3.864-.7m16.941 2.688q.196-.7.896-.7t.924 1.4h.112l1.288-.28q.896 0 1.736 1.68h.112q1.232-1.932 2.52-1.932 2.744.503 2.744 3.584l.056.98-.252 5.656v.532q0 .7-.868.812-.868 0-.868-2.044l.336-5.068q0-2.8-1.316-2.8-.755 0-1.82 3.668-.532 4.2-.868 4.2-.476 0-.476.196-.868-.112-.868-.896l.364-3.388q-.084-3.5-.7-3.5h-.084q-.7.532-.7 2.1v1.484l-.112 4.284q-.195.7-.868.7-.588 0-.756-.98l-.112-3.304.168-2.716q-.168-2.1-.588-3.668m12.835-4.788q1.064.225 1.064.952-.28.784-.896.784-1.035-.195-1.036-1.036.28-.7.868-.7m1.064 3.92q.448 0 .756.812l-.252 1.988v1.316q0 2.295.784 6.02-.28.532-.952.532-1.149 0-1.512-6.72v-.98q0-2.968 1.176-2.968m6.929 1.232q2.38.195 2.38 2.324l.056.364-.056 4.368q0 .756.868 2.044v.056q-.225.812-.812.812-1.737-.728-1.736-3.08v-.364l-.084-.056.084-.112v-.056l.084-3.864q0-.812-.7-.812h-.336q-1.4.56-1.4 6.132 0 1.932-.98 1.932-.757 0-.784-.952v-2.8q0-5.432.952-5.432l.28-.084.588.084q.756-.504 1.596-.504m5.805 1.008.504-.28q.672 0 .98.812a20 20 0 0 0-.448 4.256q0 1.092.644 2.38h.168q.813 0 1.932-6.412.393-.336.756-.336.868 0 .868 3.08.365 3.388.812 3.388l.42-.168q.813.308.812.868-.504 1.065-1.4 1.064-1.008 0-1.932-2.016-1.119 2.352-2.268 2.352-1.708 0-2.38-3.556l-.084-.896v-.28q0-2.24.616-4.256m11.904-8.568q.784.168.784.784l-.168 1.232v.364q0 1.232.28 2.604h.056q3.249-.98 4.032-.98.813.224.813.812 0 .952-1.932.952l-2.912 1.036q0 3.78.811 10.276-.167.756-.811.756h-.056q-.98 0-.98-2.52-.364-1.876-.617-8.148h-.504q-2.632-.168-2.632-1.232 0-.308.588-.756h.28l1.288.336h.896l-.251-3.5q0-2.016 1.035-2.016m9.73 6.944q1.119.028 3.78 3.92l.056.476q0 .784-3.836 1.204l-.084.084v.112q.588 2.52 1.232 2.52h.336q.895 0 2.716-1.932h.168q.56 0 .868.812 0 .672-2.352 2.324-.617.364-1.484.532-2.268 0-3.164-4.256-1.288-.195-1.288-1.064 0-.615.952-.812v.112l.28-.112v-.7q0-3.22 1.82-3.22m.168 2.016h-.252l-.112 1.036v.868h.112q1.568-.056 1.568-.336-.729-1.092-1.316-1.568m12.332-3.304q.756 0 1.036 2.548-.28.7-.924.7-.449-.084-.896-1.036l-.504-.168q-1.317 0-2.38 1.736v.252q0 .42 3.948 1.4 1.652.98 1.652 2.38 0 2.295-3.696 3.92l-1.036.168q-2.352-.252-2.352-2.352v-.084q0-.673.868-.784.671 0 .896 1.4l.224.168h.476q1.596 0 2.968-2.184v-.364q0-.84-3.668-1.568-1.932-.784-1.932-2.184 0-1.82 3.052-3.416 1.344-.168 2.268-.532m16.228-4.088q.784.28.784.868l.28 10.668v3.444q0 .952-.812.952h-.364q-.504-.336-.504-.784v-3.248l-.252-11.088q0-.7.868-.812m8.12 4.872q2.072 0 3.136 3.08l.112.588q0 2.996-2.8 6.132-1.12 1.036-2.268 1.036-1.68 0-2.38-1.932-.252-.896-.252-1.568v-.336q0-4.425 3.22-6.72.56-.28 1.232-.28m-2.8 7.28q0 1.904.98 1.904 2.044 0 3.388-5.236v-.532q-.476-1.736-1.764-1.736-.504 0-.504.7 0 .476-1.12.756-.98 1.652-.98 4.144m11.489-6.16q2.38.195 2.38 2.324l.056.364-.056 4.368q0 .756.868 2.044v.056q-.224.812-.812.812-1.737-.728-1.736-3.08v-.364l-.084-.056.084-.112v-.056l.084-3.864q0-.812-.7-.812h-.336q-1.4.56-1.4 6.132 0 1.932-.98 1.932-.756 0-.784-.952v-2.8q0-5.432.952-5.432l.28-.084.588.084q.756-.504 1.596-.504m9.193-1.316q1.288 0 1.288 1.232.168 0 .168.42h.112l-.112.812.112 5.656-.168 4.48q2.52 0 3.388 3.696 0 .756-1.036.868-.476 0-1.064-2.1-.56-.812-1.288-.812h-.112q-.896 5.964-1.568 5.964-.811 1.485-2.352 1.484-2.268-.532-2.268-2.268v-.168q0-2.633 3.752-5.712l.868-.532.112-3.024v-.7h-.112q-.951 1.204-1.82 1.204h-.168q-1.932 0-2.212-2.968v-.616q0-3.584 2.632-6.216.813-.7 1.848-.7m-2.8 6.552v1.344q.113.924.42.924h.28q.785 0 1.932-5.768v-1.4q-1.68 0-2.632 4.9m-.448 12.768q.112.7.784.7 1.344 0 1.932-4.788h-.168q-2.548 2.212-2.548 4.088M31.37 43.825h86.835v2.1H31.369z\"\n})));\nexport default SvgUploadText;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgConfirm = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 17,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#1D1D1D\",\n d: \"M7.8 15.3a1 1 0 0 1-.288-.7.9.9 0 0 1 .263-.7l4.9-4.9H1.5a.97.97 0 0 1-.713-.288A.97.97 0 0 1 .5 8a.97.97 0 0 1 .287-.713A.97.97 0 0 1 1.5 7h11.175l-4.9-4.9a.9.9 0 0 1-.263-.7A1 1 0 0 1 7.8.7a.95.95 0 0 1 .7-.275q.425 0 .7.275l6.6 6.6q.15.125.213.312.062.188.062.388t-.062.375a.9.9 0 0 1-.213.325l-6.6 6.6a.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275\"\n})));\nexport default SvgConfirm;","import React from 'react'\nimport Upload from '@Images/upload_2.svg'\nimport FreeTrialArrow from '@Images/free_trial_arrow.svg'\nimport UploadText from '@Images/upload_text.svg'\n\ninterface UploadAreaProps {\n readonly fileRef: React.RefObject\n readonly shouldRenderFreeTrialMessage: boolean\n readonly limitToOneFile?: boolean\n openFileManager(): void\n onFileDrop(e: React.DragEvent): void\n handleDragEnter(e: React.DragEvent): void\n handleDragLeave(e: React.DragEvent): void\n handleUpload(filesToUpload: File[]): void\n handleUploadClick(e: React.ChangeEvent): void\n handleDragOver(e: React.DragEvent): void\n}\n\nconst UploadArea: React.FC = props => {\n const renderFreeTrialMessage = () => {\n return (\n \n
    \n
    \n Free trial\n
    \n \n
    \n \n
    \n )\n }\n\n return (\n \n \n
    \n Click to upload
    \n {`or drag-and-drop your file${props.limitToOneFile ? '' : 's' } here`}\n
    \n \n {props.shouldRenderFreeTrialMessage && renderFreeTrialMessage()}\n \n )\n}\n\nexport default UploadArea\n","import React, { useState } from 'react'\nimport { useForm } from 'react-hook-form'\nimport some from 'lodash/some'\nimport sanitizeUrlsString from '@Utils/SanitizeUrlsString'\nimport modifyUrls from '@Utils/ModifyUrls'\nimport validateUrls from '@Utils/ValidateUrls'\nimport toastr from 'toastr'\nimport { ISubmitUrlsPayload } from '@SiteModules/Element/types'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport Confirm from '@Images/confirm.svg'\n\ninterface SubmitUrlsAreaProps {\n readonly uploading: boolean\n readonly remainingElementStorageSpace?: number\n readonly maxNumberOfUrlsToSubmit: number\n readonly placeholder: JSX.Element\n readonly buttonCaption?: string\n submitUrls(payload: ISubmitUrlsPayload): void\n setWarningMessages(newWarningMessages: string[]): void\n setShouldShowRemainingDiskSpaceWarning?(newShouldShowRemainingDiskspaceWarning: boolean): void\n}\n\ntype Form = {\n urlsString: string\n}\n\nconst GOOGLE_DRIVE_URL_PATTERNS = ['docs.google.com', 'drive.google.com']\n\nconst SubmitUrlsArea: React.FC = props => {\n const { register, handleSubmit } = useForm
    ()\n\n const [urls, setUrls] = useState([])\n const [urlsCorrect, setUrlsCorrect] = useState(true)\n\n const tooManyUrls = urls.length > props.maxNumberOfUrlsToSubmit && urlsCorrect\n const googleDriveUsed = some(urls, url => some(GOOGLE_DRIVE_URL_PATTERNS, pattern => url.includes(pattern)))\n const noSpaceLeft = false // typeof(props.remainingElementStorageSpace) === 'number' && props.remainingElementStorageSpace <= 0\n\n const onSubmit = handleSubmit(({ urlsString }) => {\n const modifiedUrls = modifyUrls(sanitizeUrlsString(urlsString))\n if (modifiedUrls.includes(undefined)) {\n toastr.error(\n 'URLs are not valid.',\n 'URL(s) could not be submitted',\n )\n } else {\n const urlsToSubmit = modifiedUrls as string[]\n props.submitUrls({ urls: urlsToSubmit })\n }\n })\n\n const changeUrls = (e: React.ChangeEvent) => {\n const sanitizedUrls = sanitizeUrlsString((e.target as HTMLTextAreaElement).value) || []\n const newUrls = sanitizedUrls\n setUrls(newUrls)\n const newUrlsCorrect = validateUrls(sanitizedUrls)\n setUrlsCorrect(newUrlsCorrect)\n const newWarningMessages = []\n\n const googleDriveUsedInNewUrls = some(newUrls, url => some(GOOGLE_DRIVE_URL_PATTERNS, pattern => url.includes(pattern)))\n\n if (googleDriveUsedInNewUrls) {\n newWarningMessages.push('Unfortunately, we cannot process links to google drive')\n }\n\n const tooManyNewUrls = newUrls.length > props.maxNumberOfUrlsToSubmit && urlsCorrect\n\n if (tooManyNewUrls) {\n newWarningMessages.push(`Maximum ${props.maxNumberOfUrlsToSubmit} URL(s) can be processed together`)\n }\n\n props.setWarningMessages(newWarningMessages)\n\n if (noSpaceLeft && props.setShouldShowRemainingDiskSpaceWarning) {\n props.setShouldShowRemainingDiskSpaceWarning(true)\n }\n }\n\n const renderTextArea = () => {\n const shouldShowPlaceholder = urls.length === 0\n\n return (\n
    \n {shouldShowPlaceholder && (\n
    \n {props.placeholder}\n
    \n )}\n \n
    \n )\n }\n\n const renderSubmitButton = () => {\n return (\n
    \n }\n iconRight\n />\n
    \n )\n }\n\n const shouldShowSubmitButton =\n !props.uploading &&\n urls.length > 0 &&\n urlsCorrect &&\n !tooManyUrls &&\n !googleDriveUsed &&\n !noSpaceLeft\n\n return (\n
    \n \n {renderTextArea()}\n {shouldShowSubmitButton && renderSubmitButton()}\n \n
    \n )\n}\n\nexport default SubmitUrlsArea\n","import React from 'react'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport { Circle } from 'rc-progress'\n\nimport './UploadingProgress.scss'\n\ninterface UploadingProgressProps {\n readonly alreadyUploaded: number\n readonly numberOfFilesToUpload: number\n readonly uploadingFileName: string\n readonly progress: number\n readonly strikeColor: string\n cancelUploading(): void\n}\n\nconst UploadingProgress: React.FC = props => {\n return (\n
    \n
    \n {props.uploadingFileName}\n
    \n {props.numberOfFilesToUpload > 1 && (\n
    \n Uploading {props.alreadyUploaded + 1} of {props.numberOfFilesToUpload} videos\n
    \n )}\n
    \n \n
    {Math.round(props.progress)}%
    \n
    \n \n
    \n )\n}\n\nexport default UploadingProgress\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { Link } from 'react-router-dom'\nimport some from 'lodash/some'\nimport map from 'lodash/map'\nimport S3 from 'aws-sdk/clients/s3'\nimport { IApplicationState } from '@Site/rootReducer'\nimport Header from '@SiteContainers/Header'\nimport UploadArea from './UploadArea'\nimport SubmitUrlsArea from './SubmitUrlsArea'\nimport UploadingProgress from './UploadingProgress'\nimport Loader from '@SiteComponents/Loader'\nimport ElementUploader, { IElementUploaderOptions, IUploadedElement } from '@Utils/ElementUploader'\n\nimport Return from '@Images/return_from_pv_settings.svg'\n\nimport {\n initializeUpload,\n createElement,\n resetUpload,\n submitUrls,\n} from '@SiteModules/Element/actions'\n\nimport {\n createProject\n} from '@SiteModules/Project/actions'\n\nimport {\n IInitializeUploadPayload,\n ISubmitUrlsPayload,\n} from '@SiteModules/Element/types'\n\nimport {\n resetLabelSelection,\n} from '@SiteModules/Label/actions'\n\nimport './Upload.scss'\n\nconst DEFAULT_STRIKE_COLOR = '#43C78F' // bg_default\n\ninterface UploadProps {\n readonly uploading: boolean\n readonly maxFileSize: number | null\n readonly workspaceId: number\n readonly numberOfFilesToUpload: number\n readonly alreadyUploaded: number\n readonly isNewUser: boolean\n readonly remainingElementStorageSpace: number\n readonly usedElementStorageSpace: number\n readonly maxElementStorageSpace: number\n initializeUpload(payload: IInitializeUploadPayload): void\n createElement(payload: IUploadedElement): void\n resetUpload(): void\n submitUrls(payload: ISubmitUrlsPayload): void\n createProject(): void\n resetLabelSelection(): void\n}\n\ninterface UploadState {\n readonly filesToUpload: File[]\n readonly progress: number\n readonly strikeColor: string\n readonly uploadingFileName: string\n readonly showUploadingProgress: boolean\n readonly cancelUploadingCounter: number\n readonly warningMessages: string[]\n readonly showRemainingDiskSpaceWarning: boolean\n}\n\nlet uploadingRequest: S3.ManagedUpload\n\nclass Upload extends React.Component {\n DEFAULT_MAX_VIDEO_SIZE = 4294967296 // 4Gb\n MAX_NUMBER_OF_URLS_TO_SUBMIT = 4\n BYTES_PER_GIGABYTE = 1073741824\n maxVideoSize = this.props.maxFileSize || this.DEFAULT_MAX_VIDEO_SIZE\n dragEnterCounter = 0\n\n state: UploadState = {\n filesToUpload: [],\n progress: 0,\n strikeColor: DEFAULT_STRIKE_COLOR,\n uploadingFileName: '',\n showUploadingProgress: false,\n cancelUploadingCounter: 0,\n warningMessages: [],\n showRemainingDiskSpaceWarning: false\n }\n\n fileRef: React.RefObject\n\n constructor(props: UploadProps) {\n super(props)\n\n props.resetLabelSelection()\n this.fileRef = React.createRef()\n }\n\n componentDidUpdate(prevProps: UploadProps) {\n const { filesToUpload, showUploadingProgress } = this.state\n const { uploading, numberOfFilesToUpload, alreadyUploaded } = this.props\n const shouldUploadNextFile = prevProps.uploading !== uploading && uploading === false && alreadyUploaded < numberOfFilesToUpload\n const shouldStopShowUploadingProgress = alreadyUploaded === numberOfFilesToUpload && alreadyUploaded !== 0\n\n if (showUploadingProgress) {\n if (shouldUploadNextFile) {\n this.uploadFile(filesToUpload[alreadyUploaded])\n }\n\n if (shouldStopShowUploadingProgress) {\n this.setState({ showUploadingProgress: false })\n }\n }\n }\n\n setWarningMessages = (newWarningMessages: string[]) => {\n this.setState({ warningMessages: newWarningMessages })\n }\n\n setShouldShowRemainingDiskSpaceWarning = (newShouldShowRemainingDiskspaceWarning: boolean) => {\n this.setState({ showRemainingDiskSpaceWarning: newShouldShowRemainingDiskspaceWarning })\n }\n\n openFileManager = () => {\n if (!this.fileRef) { return }\n if (!this.fileRef.current) { return }\n\n this.fileRef.current.click()\n }\n\n onFileDrop = (e: React.DragEvent) => {\n e.preventDefault()\n\n const filesList = e.dataTransfer?.files\n if (filesList) {\n const filesToUpload = Array.from(filesList).filter((item) => {\n return item.type.startsWith('video/') || item.type.startsWith('audio/')\n })\n\n if (filesToUpload.length > 0) {\n this.handleUpload(filesToUpload)\n }\n }\n }\n\n handleDragEnter = (e: React.DragEvent) => {\n if (this.dragEnterCounter === 0) {\n e.currentTarget.classList.add('Upload__upload-area-dragOver')\n }\n this.dragEnterCounter++\n }\n\n handleDragLeave = (e: React.DragEvent) => {\n this.dragEnterCounter--\n if (this.dragEnterCounter === 0) {\n e.currentTarget.classList.remove('Upload__upload-area-dragOver')\n }\n }\n\n handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n handleUpload = (filesToUpload: File[]) => {\n this.setWarningMessages([])\n this.setShouldShowRemainingDiskSpaceWarning(false)\n\n // if (reduce(filesToUpload, (totalSize, file: File) => totalSize + file.size, 0) > this.props.remainingElementStorageSpace){\n // this.setShouldShowRemainingDiskSpaceWarning(true)\n // return\n // }\n\n if (some(filesToUpload, (file: File) => file.size > this.maxVideoSize)){\n this.setWarningMessages([`Element(s) cannot be uploaded. At least one element is too large (> ${(this.maxVideoSize / this.BYTES_PER_GIGABYTE).toFixed(0)} GB)`])\n return\n }\n\n this.props.initializeUpload({ numberOfFilesToUpload: filesToUpload.length })\n\n this.setState({ filesToUpload }, () => {\n this.uploadFile(filesToUpload[0])\n })\n }\n\n handleUploadClick = (e: React.ChangeEvent) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) { return }\n\n this.handleUpload(Array.from(files))\n }\n\n uploadFile = (file: File) => {\n const options: IElementUploaderOptions = {\n uploadElementCallback: (params: IUploadedElement) => {\n this.setState({ progress: 100 })\n this.props.createElement(params)\n },\n showProgressCallback: (data: S3.ManagedUpload.Progress) => {\n const progress = data.loaded / file.size * 100\n this.setState({ progress })\n },\n workspaceId: this.props.workspaceId\n }\n\n uploadingRequest = new ElementUploader(file, options).call()\n this.setState({\n progress: 0,\n strikeColor: DEFAULT_STRIKE_COLOR,\n uploadingFileName: file.name,\n showUploadingProgress: true\n })\n }\n\n cancelUploading = () => {\n const shouldShowDashboard = this.props.alreadyUploaded > 0\n\n uploadingRequest.abort()\n this.props.resetUpload()\n this.setState({\n progress: 0,\n strikeColor: DEFAULT_STRIKE_COLOR,\n uploadingFileName: '',\n showUploadingProgress: false,\n filesToUpload: [],\n cancelUploadingCounter: this.state.cancelUploadingCounter + 1\n })\n\n if (shouldShowDashboard) {\n window.location.href = '/'\n }\n }\n\n goToProjectTypeSelection = () => {\n window.location.href = '/project_type_selection'\n }\n\n renderUploadingProgress = () => {\n const { progress, strikeColor, uploadingFileName } = this.state\n const { alreadyUploaded, numberOfFilesToUpload } = this.props\n\n return(\n
    \n
    We're uploading your video(s)
    \n \n
    \n )\n }\n\n renderBackButton = () => {\n return (\n \n \n \n )\n }\n\n renderUploadForm = () => {\n return (\n
    \n {this.renderBackButton()}\n
    \n
    Upload your video
    \n
    Add up to 50 videos at once
    \n {this.renderUploadArea()}\n {this.renderSubmitUrlsArea()}\n {this.renderWarnings()}\n
    \n
    \n {this.renderStartWithBlankProject()}\n
    \n
    \n )\n }\n\n renderUploadArea = () => {\n return (\n \n )\n }\n\n renderSubmitUrlsArea = () => {\n return (\n Or paste your URLs here...
    Add one URL per line. We support links from YouTube, Vimeo and more.}\n />\n )\n }\n\n renderWarnings = () => {\n const shouldShowWarningList = this.state.warningMessages.length > 0\n const usedElementStorageSpace = (this.props.usedElementStorageSpace / this.BYTES_PER_GIGABYTE).toFixed(0)\n const maxElementStorageSpace = (this.props.maxElementStorageSpace / this.BYTES_PER_GIGABYTE).toFixed(0)\n\n return (\n
    \n {this.state.showRemainingDiskSpaceWarning && (\n
    \n {`You are using ${usedElementStorageSpace} GB of the ${maxElementStorageSpace} GB included in your plan.`}
    \n \n Delete assets\n \n {' before uploading new ones or '}\n \n upgrade your plan\n \n .\n
    \n )}\n {shouldShowWarningList && (\n
      \n {map(this.state.warningMessages, (warningMessage, index) => {\n return (\n
    • \n {warningMessage}\n
    • \n )\n })}\n
    \n )}\n
    \n )\n }\n\n renderStartWithBlankProject = () => {\n return (\n \n
    \n Or start with a blank project\n
    \n \n Create empty project\n \n
    \n )\n }\n\n renderLoader = () => {\n return (\n \n )\n }\n\n render() {\n const shouldNotLinkToDashboard = this.props.isNewUser || this.state.showUploadingProgress || this.props.uploading\n const shouldDisableProfileButton = this.state.showUploadingProgress || this.props.uploading\n const shouldRenderLoader = this.props.uploading && !this.state.showUploadingProgress\n const shouldRenderUploadingProgress = this.state.showUploadingProgress\n const shouldRenderUploadForm = !shouldRenderLoader && !shouldRenderUploadingProgress\n\n return (\n
    \n \n {shouldRenderLoader && this.renderLoader()}\n {shouldRenderUploadForm && this.renderUploadForm()}\n {shouldRenderUploadingProgress && this.renderUploadingProgress()}\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { user, elements } = state\n\n return {\n uploading: elements.uploading,\n numberOfFilesToUpload: elements.numberOfFilesToUpload,\n alreadyUploaded: elements.alreadyUploaded,\n maxFileSize: user.user.attributes.maxFileSize,\n workspaceId: user.user.attributes.workspaceId,\n isNewUser: user.user.attributes.isNewUser,\n remainingElementStorageSpace: user.user.attributes.remainingElementStorageSpace,\n usedElementStorageSpace: user.user.attributes.usedElementStorageSpace,\n maxElementStorageSpace: user.user.attributes.maxElementStorageSpace,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n initializeUpload,\n createElement,\n resetUpload,\n submitUrls,\n createProject,\n resetLabelSelection,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload)\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgProjectTypeSelectionArrow = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEBEB\",\n d: \"M7.3 15.3a1 1 0 0 1-.288-.7.9.9 0 0 1 .263-.7l4.9-4.9H1a.97.97 0 0 1-.713-.288A.97.97 0 0 1 0 8a.97.97 0 0 1 .287-.713A.97.97 0 0 1 1 7h11.175l-4.9-4.9a.9.9 0 0 1-.263-.7A1 1 0 0 1 7.3.7.95.95 0 0 1 8 .425q.425 0 .7.275l6.6 6.6q.15.125.213.312.062.188.062.388t-.062.375a.9.9 0 0 1-.213.325l-6.6 6.6a.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275\"\n})));\nexport default SvgProjectTypeSelectionArrow;","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '../../rootReducer'\n\nimport Header from '@SiteContainers/Header'\nimport Arrow from '@Images/project_type_selection_arrow.svg'\n\nimport './ProjectTypeSelection.scss'\n\ninterface ProjectTypeSelectionProps {\n readonly isNewUser: boolean\n}\n\ninterface ProjectTypeSelectionState {\n}\n\nclass ProjectTypeSelection extends React.Component {\n forwardToUpload = () => {\n window.location.href = '/upload'\n }\n\n forwardToSetupTts = () => {\n window.location.href = '/setup_tts'\n }\n\n subtitleDubbing = () => {\n return (\n \n
    \n
    \n Generate subtitles and/or dubbings\n
    \n
    \n Import a video or an audio to add subtitles to it, dub it or translate it.\n
    \n
    \n \n \n )\n }\n\n voiceOverFromText = () => {\n return (\n \n
    \n
    \n Create voices from a text\n
    \n
    \n Import a text or type it and select voices to generate an audio.\n
    \n
    \n \n \n )\n }\n\n render() {\n const shouldNotLinkToDashboard = this.props.isNewUser\n\n return (\n
    \n \n
    What do you want to do?
    \n {this.subtitleDubbing()}\n {this.voiceOverFromText()}\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { user } = state\n\n return {\n isNewUser: user.user.attributes.isNewUser,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ProjectTypeSelection)\n","import React from 'react'\nimport LogoIcon from '@Images/logo.svg'\nimport SalesTeam from '@Images/sales_team.png'\n\nimport './DemoHeader.scss'\n\ninterface DemoHeaderProps {}\n\nconst DemoHeader: React.FC = _props => {\n return (\n
    \n
    \n \n
    \n
    \n {/* Come and meet us Booth: 14.AIE6 */}\n {/* Meet us Booth: 14.AIE6 */}\n {/*
    */}\n
    \n \n Book a meeting\n \n \n
    \n
    \n )\n}\n\nexport default DemoHeader\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport SalesTeam from '@Images/sales_team.png'\nimport classnames from 'classnames'\n\nimport './DemoFooter.scss'\n\ninterface DemoFooterProps {\n submitted: boolean\n}\n\ninterface DemoFooterState {\n}\n\nclass DemoFooter extends React.Component {\n render() {\n return (\n
    \n \n \n Book a meeting with our Sales Team\n \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { demo } = state\n\n return {\n submitted: demo.submitted\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DemoFooter)\n","import {\n DemoActionTypes,\n IDemoActionTypes,\n ISaveUrlInStatePayload,\n ISubmitDemoProjectVersionSettingsPayload\n} from './types'\n\nexport const saveUrlInState = (payload: ISaveUrlInStatePayload): IDemoActionTypes => ({\n type: DemoActionTypes.SAVE_URL_IN_STATE,\n payload\n})\n\nexport const submitDemoProjectVersionSettings = (payload: ISubmitDemoProjectVersionSettingsPayload): IDemoActionTypes => ({\n type: DemoActionTypes.SUBMIT_DEMO_PROJECT_VERSION_SETTINGS,\n payload\n})\n\nexport const setSubmitted = (): IDemoActionTypes => ({\n type: DemoActionTypes.SET_SUBMITTED,\n})\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport some from 'lodash/some'\nimport map from 'lodash/map'\nimport S3 from 'aws-sdk/clients/s3'\nimport router from '@Site/Router'\nimport { IApplicationState } from '@Site/rootReducer'\nimport DemoHeader from '@SiteComponents/DemoHeader'\nimport DemoFooter from '@SiteContainers/DemoFooter'\nimport UploadArea from '@SitePages/Upload/UploadArea'\nimport SubmitUrlsArea from '@SitePages/Upload/SubmitUrlsArea'\nimport UploadingProgress from '@SitePages/Upload/UploadingProgress'\nimport Loader from '@SiteComponents/Loader'\nimport ElementUploader, { IElementUploaderOptions, IUploadedElement } from '@Utils/ElementUploader'\n// import NabshowLogo from '@Images/nabshow_logo.svg'\n// import AfcLogo from '@Images/afc_logo.png'\n// import IbcLogo from '@Images/ibc_logo.png'\nimport ChecksubLogo from '@Images/demo_logo_checksub.png'\n\nimport {\n initializeUpload,\n resetUpload,\n} from '@SiteModules/Element/actions'\n\nimport {\n saveUrlInState\n} from '@SiteModules/Demo/actions'\n\nimport {\n fetchProjectVersionSettingsDemo,\n} from '@SitePages/ProjectVersionSettings/actions'\n\nimport {\n IInitializeUploadPayload,\n ISubmitUrlsPayload,\n} from '@SiteModules/Element/types'\n\nimport {\n ISaveUrlInStatePayload,\n} from '@SiteModules/Demo/types'\n\nimport '@SitePages/Upload/Upload.scss'\nimport './DemoUpload.scss'\n\nconst DEFAULT_STRIKE_COLOR = '#43C78F' // bg_default\nconst NEGATIVE_WORKSPACE_ID = -1\n\ninterface DemoUploadProps {\n readonly uploading: boolean\n readonly numberOfFilesToUpload: number\n readonly alreadyUploaded: number\n readonly workspaceId: number\n initializeUpload(payload: IInitializeUploadPayload): void\n resetUpload(): void\n saveUrlInState(payload: ISaveUrlInStatePayload): void\n fetchProjectVersionSettingsDemo(): void\n}\n\ninterface DemoUploadState {\n readonly filesToUpload: File[]\n readonly progress: number\n readonly strikeColor: string\n readonly uploadingFileName: string\n readonly showUploadingProgress: boolean\n readonly cancelUploadingCounter: number\n readonly warningMessages: string[]\n}\n\nlet uploadingRequest: S3.ManagedUpload\n\nclass DemoUpload extends React.Component {\n DEFAULT_VIDEO_URL = 'https://checksub-video-asset.s3.eu-west-1.amazonaws.com/user/2431/_This_is_the_most_important_event_in_the_world_.mp4' // To be updated later\n MAX_VIDEO_SIZE = 1073741824 // 1Gb\n MAX_NUMBER_OF_URLS_TO_SUBMIT = 1\n BYTES_PER_GIGABYTE = 1073741824\n dragEnterCounter = 0\n\n state: DemoUploadState = {\n filesToUpload: [],\n progress: 0,\n strikeColor: DEFAULT_STRIKE_COLOR,\n uploadingFileName: '',\n showUploadingProgress: false,\n cancelUploadingCounter: 0,\n warningMessages: [],\n }\n\n fileRef: React.RefObject\n\n constructor(props: DemoUploadProps) {\n super(props)\n\n this.fileRef = React.createRef()\n }\n\n componentDidMount() {\n this.props.fetchProjectVersionSettingsDemo()\n }\n\n componentDidUpdate(prevProps: DemoUploadProps) {\n const { filesToUpload, showUploadingProgress } = this.state\n const { uploading, numberOfFilesToUpload, alreadyUploaded } = this.props\n const shouldUploadNextFile = prevProps.uploading !== uploading && uploading === false && alreadyUploaded < numberOfFilesToUpload\n const shouldStopShowUploadingProgress = alreadyUploaded === numberOfFilesToUpload && alreadyUploaded !== 0\n\n if (showUploadingProgress) {\n if (shouldUploadNextFile) {\n this.uploadFile(filesToUpload[alreadyUploaded])\n }\n\n if (shouldStopShowUploadingProgress) {\n this.setState({ showUploadingProgress: false })\n window.location.href = '/'\n }\n }\n }\n\n setWarningMessages = (newWarningMessages: string[]) => {\n this.setState({ warningMessages: newWarningMessages })\n }\n\n openFileManager = () => {\n if (!this.fileRef) { return }\n if (!this.fileRef.current) { return }\n\n this.fileRef.current.click()\n }\n\n onFileDrop = (e: React.DragEvent) => {\n e.preventDefault()\n\n const filesList = e.dataTransfer?.files\n if (filesList) {\n const filesToUpload = Array.from(filesList).filter((item) => {\n return item.type.startsWith('video/') || item.type.startsWith('audio/')\n })\n\n if (filesToUpload.length > 0) {\n this.handleUpload([filesToUpload[0]])\n }\n }\n }\n\n handleDragEnter = (e: React.DragEvent) => {\n if (this.dragEnterCounter === 0) {\n e.currentTarget.classList.add('Upload__upload-area-dragOver')\n }\n this.dragEnterCounter++\n }\n\n handleDragLeave = (e: React.DragEvent) => {\n this.dragEnterCounter--\n if (this.dragEnterCounter === 0) {\n e.currentTarget.classList.remove('Upload__upload-area-dragOver')\n }\n }\n\n handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n handleUpload = (filesToUpload: File[]) => {\n this.setWarningMessages([])\n\n if (some(filesToUpload, (file: File) => file.size > this.MAX_VIDEO_SIZE)){\n this.setWarningMessages([`Video cannot be uploaded because of its size (> ${(this.MAX_VIDEO_SIZE / this.BYTES_PER_GIGABYTE).toFixed(0)} GB)`])\n return\n }\n\n this.props.initializeUpload({ numberOfFilesToUpload: filesToUpload.length })\n\n this.setState({ filesToUpload }, () => {\n this.uploadFile(filesToUpload[0])\n })\n }\n\n handleUploadClick = (e: React.ChangeEvent) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) { return }\n\n this.handleUpload(Array.from(files))\n }\n\n uploadFile = (file: File) => {\n const options: IElementUploaderOptions = {\n uploadElementCallback: (params: IUploadedElement) => {\n this.setState({ progress: 100 })\n this.continueWithSetup(params.url, false)\n },\n showProgressCallback: (data: S3.ManagedUpload.Progress) => {\n const progress = data.loaded / file.size * 100\n this.setState({ progress })\n },\n workspaceId: NEGATIVE_WORKSPACE_ID,\n }\n\n uploadingRequest = new ElementUploader(file, options).call()\n this.setState({\n progress: 0,\n strikeColor: DEFAULT_STRIKE_COLOR,\n uploadingFileName: file.name,\n showUploadingProgress: true\n })\n }\n\n cancelUploading = () => {\n uploadingRequest.abort()\n this.props.resetUpload()\n this.setState({\n progress: 0,\n strikeColor: DEFAULT_STRIKE_COLOR,\n uploadingFileName: '',\n showUploadingProgress: false,\n filesToUpload: [],\n cancelUploadingCounter: this.state.cancelUploadingCounter + 1\n })\n }\n\n continueWithSetup = (url: string, needsDownload: boolean) => {\n this.props.saveUrlInState({ videoUrl: url, needsDownload })\n router.navigate('/demo/setup')\n }\n\n submitUrls = (payload: ISubmitUrlsPayload) => {\n this.continueWithSetup(payload.urls[0], true)\n }\n\n continueWithRandomVideo = () => {\n this.continueWithSetup(this.DEFAULT_VIDEO_URL, false)\n }\n\n renderUploadingProgress = () => {\n const { progress, strikeColor, uploadingFileName } = this.state\n const { alreadyUploaded, numberOfFilesToUpload } = this.props\n\n return(\n
    \n {/* */}\n {/* */}\n {/* */}\n \n
    We're uploading your video
    \n \n
    \n )\n }\n\n renderUploadForm = () => {\n return (\n
    \n
    \n {/* */}\n {/* */}\n {/* */}\n \n
    Translate a video now with Checksub
    \n {this.renderUploadArea()}\n {this.renderSubmitUrlsArea()}\n {this.renderWarnings()}\n {/* {this.renderNoVideos()} */}\n
    \n
    \n )\n }\n\n renderUploadArea = () => {\n return (\n \n )\n }\n\n renderSubmitUrlsPlaceHolder = () => {\n return (\n \n Or paste your URL here...
    We support video links from YouTube, Vimeo and more.
    \n Or paste a URL here (YouTube or Vimeo)\n
    \n )\n }\n\n renderSubmitUrlsArea = () => {\n return (\n \n )\n }\n\n renderWarnings = () => {\n const shouldShowWarningList = this.state.warningMessages.length > 0\n\n return (\n
    \n {shouldShowWarningList && (\n
      \n {map(this.state.warningMessages, (warningMessage, index) => {\n return (\n
    • \n {warningMessage}\n
    • \n )\n })}\n
    \n )}\n
    \n )\n }\n\n renderNoVideos = () => {\n return (\n \n No video? Use one of our random videos.\n \n )\n }\n\n renderLoader = () => {\n return (\n \n )\n }\n\n render() {\n const shouldRenderLoader = this.props.uploading && !this.state.showUploadingProgress\n const shouldRenderUploadingProgress = this.state.showUploadingProgress\n const shouldRenderUploadForm = !shouldRenderLoader && !shouldRenderUploadingProgress\n\n return (\n
    \n \n {shouldRenderLoader && this.renderLoader()}\n {shouldRenderUploadForm && this.renderUploadForm()}\n {shouldRenderUploadingProgress && this.renderUploadingProgress()}\n \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { elements, user } = state\n\n return {\n uploading: elements.uploading,\n numberOfFilesToUpload: elements.numberOfFilesToUpload,\n alreadyUploaded: elements.alreadyUploaded,\n workspaceId: user.user.attributes.workspaceId,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n initializeUpload,\n resetUpload,\n saveUrlInState,\n fetchProjectVersionSettingsDemo,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DemoUpload)\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgConfirmationArrow = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 17,\n height: 16,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#1D1D1D\",\n d: \"M7.8 15.3a1 1 0 0 1-.288-.7.9.9 0 0 1 .263-.7l4.9-4.9H1.5a.97.97 0 0 1-.713-.288A.97.97 0 0 1 .5 8a.97.97 0 0 1 .287-.713A.97.97 0 0 1 1.5 7h11.175l-4.9-4.9a.9.9 0 0 1-.263-.7A1 1 0 0 1 7.8.7a.95.95 0 0 1 .7-.275q.425 0 .7.275l6.6 6.6q.15.125.213.312.062.187.062.388 0 .2-.062.375a.9.9 0 0 1-.213.325l-6.6 6.6a.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275\"\n})));\nexport default SvgConfirmationArrow;","import React from 'react'\n\ninterface EmailInputProps {\n readonly email: string\n setEmail(newEmail: string): void\n}\n\nconst EmailInput: React.FC = props => {\n const onChangeEmail = (e: React.ChangeEvent) => {\n props.setEmail((e.target as HTMLInputElement).value)\n }\n\n return (\n \n \n \n \n \n )\n}\n\nexport default EmailInput\n","import React, { useRef, useState, useEffect } from 'react'\nimport { Loadable } from '@Root/types'\nimport { useForm } from 'react-hook-form'\nimport uniq from 'lodash/uniq'\nimport without from 'lodash/without'\nimport toastr from 'toastr'\n\nimport MainSettings from '@SiteComponents/ProjectVersionSettingsForm/MainSettings'\nimport EmailInput from './EmailInput'\nimport ConfirmationButton from '@SiteComponents/ProjectVersionSettingsForm/ConfirmationButton'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport Return from '@Images/return_from_pv_settings.svg'\n// import NabshowLogo from '@Images/nabshow_logo.svg'\n// import AfcLogo from '@Images/afc_logo.png'\n// import IbcLogo from '@Images/ibc_logo.png'\nimport ChecksubLogo from '@Images/demo_logo_checksub.png'\nimport ConfirmationArrow from '@Images/confirmation_arrow.svg'\nimport SalesTeam from '@Images/sales_team.png'\n\nimport {\n ISubmitDemoProjectVersionSettingsPayload,\n} from '@SiteModules/Demo/types'\n\nimport '@Root/config/dropdowns.scss'\nimport '@SiteComponents/ProjectVersionSettingsForm/ProjectVersionSettingsForm.scss'\nimport './DemoProjectVersionSettingsForm.scss'\n\ninterface DemoProjectVersionSettingsFormProps extends Loadable {\n readonly videoUrl: string\n readonly languagesForVideos: string[]\n readonly translationLanguages: string[]\n readonly hasLoaded: boolean\n readonly submitted: boolean\n readonly needsDownload: boolean\n submitDemoProjectVersionSettings(payload: ISubmitDemoProjectVersionSettingsPayload): void\n setSubmitted(): void\n}\n\nconst DEFAULT_MAX_LANGUAGES_LIMIT = 3\nconst DEFAULT_PROJECT_VERSION_LANGUAGE = 'English'\nconst DEFAULT_SUBTITLE_LANGUAGES = ['English', 'French', 'Spanish']\nconst EMAIL_REGEX = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{1,63})+$/ // As used in site/pages/UsersSignUp/SignUpFormStep1.tsx\nconst DEFAULT_DEMO_LIP_SYNC_MODEL = 'Tiger'\n\ntype TFormData = {\n subtitleLanguages: string[]\n projectVersionLanguage: string\n}\n\nfunction usePrevious(value: any) {\n // The ref object is a generic container whose current property is mutable ...\n // ... and can hold any value, similar to an instance property on a class\n const ref = useRef()\n\n // Store current value in ref\n useEffect(() => {\n ref.current = value\n }, [value]) // Only re-run if value changes\n\n // Return previous value (happens before update in useEffect above)\n return ref.current\n}\n\nconst DemoProjectVersionSettingsForm: React.FC = props => {\n const {\n videoUrl,\n hasLoaded,\n needsDownload,\n } = props\n\n const { control, setValue, getValues, formState: { errors } } = useForm()\n\n const [projectVersionLanguage, setProjectVersionLanguage] = useState(DEFAULT_PROJECT_VERSION_LANGUAGE)\n const [subtitleLanguages, setSubtitleLanguages] = useState(DEFAULT_SUBTITLE_LANGUAGES)\n const [languagesCorrectlySelected, setLanguagesCorrectlySelected] = useState(true)\n const [projectType, setProjectType] = useState('Dubbing with lip-sync')\n const [email, setEmail] = useState('')\n const [isReadyForEmail, setIsReadyForEmail] = useState(false)\n const prevProjectVersionLanguage = usePrevious(projectVersionLanguage)\n\n let isLanguageLimitReached = false\n\n isLanguageLimitReached = DEFAULT_MAX_LANGUAGES_LIMIT < subtitleLanguages.length\n\n const isDubbingProject = projectType === 'Dubbing with lip-sync'\n const numberOfNewTranslationSubtitles = subtitleLanguages.length - 1\n\n const areThereNewTranslationSubtitlesPresent = numberOfNewTranslationSubtitles > 0\n\n useEffect(() => {\n if (!projectVersionLanguage) { return }\n\n addToSubtitles()\n }, [projectVersionLanguage])\n\n useEffect(() => {\n const areNewSubtitlesAdded = subtitleLanguages.length\n const shouldShowSubscriptionWarning = isLanguageLimitReached && areNewSubtitlesAdded\n\n if (shouldShowSubscriptionWarning) {\n toastr.error(\n `${DEFAULT_MAX_LANGUAGES_LIMIT} subtitling languages are allowed.`,\n 'Subtitles limit reached',\n )\n }\n\n if (!areThereNewTranslationSubtitlesPresent && isDubbingProject) {\n setProjectType('Subtitles')\n }\n }, [subtitleLanguages])\n\n useEffect(() => {\n setLanguagesCorrectlySelected(!!projectVersionLanguage && subtitleLanguages.length > 0)\n }, [projectVersionLanguage, subtitleLanguages])\n\n const addToSubtitles = () => {\n let currentSubtitleLanguages = getValues('subtitleLanguages') as unknown as string[] || []\n currentSubtitleLanguages.unshift(projectVersionLanguage)\n currentSubtitleLanguages = uniq(without(currentSubtitleLanguages, prevProjectVersionLanguage || ''))\n setSubtitleLanguages(currentSubtitleLanguages)\n }\n\n const updateProjectVersion = () => {\n const dubbingSettings = { // Settings for \"Dubbing with lip-sync\" since it is the only dubbing project type at the moment\n adaptTranslation: true,\n lipSyncModel: DEFAULT_DEMO_LIP_SYNC_MODEL\n }\n\n const payload: ISubmitDemoProjectVersionSettingsPayload = {\n videoUrl,\n email,\n projectVersionLanguage,\n subtitleLanguages,\n needsDownload,\n dubbing: isDubbingProject,\n ...(isDubbingProject ? dubbingSettings : {}),\n }\n props.submitDemoProjectVersionSettings(payload)\n props.setSubmitted()\n setIsReadyForEmail(false)\n }\n\n const goToUploadPageOrPreviousStep = () => {\n if (isReadyForEmail) {\n setIsReadyForEmail(false)\n } else {\n window.location.href = '/demo/upload'\n }\n }\n\n const renderMainSettings = () => {\n const { languagesForVideos, translationLanguages } = props\n const shouldAllowDubbingProject = areThereNewTranslationSubtitlesPresent\n const projectTypeOptions = shouldAllowDubbingProject ? ['Subtitles', 'Dubbing with lip-sync'] : ['Subtitles']\n\n return (\n \n )\n }\n\n const renderConfirmationButtonSettings = () => {\n const {\n showSpinner,\n disableButton,\n } = props\n\n const disableConfirmationButton =\n disableButton ||\n !languagesCorrectlySelected ||\n isLanguageLimitReached\n\n return (\n }\n iconRight\n />\n )\n }\n\n const renderConfirmationButtonEmail = () => {\n const emailCorrect = EMAIL_REGEX.test(email)\n const disableConfirmationButton = props.submitted || !emailCorrect\n\n return (\n
    \n \n
    \n )\n }\n\n const submit = (event: React.FormEvent) => {\n event.preventDefault()\n\n isReadyForEmail ? updateProjectVersion() : setIsReadyForEmail(true)\n }\n\n const renderBackButton = () => {\n return (\n \n \n \n )\n }\n\n const renderSettingsForm = () => {\n return (\n \n
    \n Fine-tune your project\n
    \n {renderMainSettings()}\n {renderConfirmationButtonSettings()}\n
    \n )\n }\n\n const renderEmailForm = () => {\n return (\n \n
    \n You're almost there!\n
    \n \n {renderConfirmationButtonEmail()}\n
    \n )\n }\n\n const renderConfirmationPage = () => {\n return (\n \n
    \n Your translation is
    being created...\n
    \n
    \n Once finalized, you will receive it by email.\n
    \n
    \n \n \n Book a meeting with our Sales Team\n \n
    \n
    \n )\n }\n\n return (\n \n {renderBackButton()}\n
    \n
    \n
    \n
    \n {/* */}\n {/* */}\n {/* */}\n \n {!isReadyForEmail && !props.submitted && renderSettingsForm()}\n {isReadyForEmail && renderEmailForm()}\n {props.submitted && renderConfirmationPage()}\n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default DemoProjectVersionSettingsForm\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport DemoHeader from '@SiteComponents/DemoHeader'\nimport DemoFooter from '@SiteContainers/DemoFooter'\nimport DemoProjectVersionSettingsForm from '@SiteComponents/DemoProjectVersionSettingsForm'\nimport { Navigate } from 'react-router-dom'\n\nimport {\n submitDemoProjectVersionSettings,\n setSubmitted,\n} from '@SiteModules/Demo/actions'\n\nimport {\n IProjectVersionSettings,\n} from '@SitePages/ProjectVersionSettings/types'\n\nimport {\n ISubmitDemoProjectVersionSettingsPayload,\n} from '@SiteModules/Demo/types'\n\nimport '@SitePages/ProjectVersionSettings/ProjectVersionSettings.scss'\nimport './DemoProjectVersionSettings.scss'\n\ninterface DemoProjectVersionSettingsProps {\n readonly loading: boolean\n readonly projectVersionSettings: IProjectVersionSettings\n readonly videoUrl: string\n readonly needsDownload: boolean\n readonly submitted: boolean\n submitDemoProjectVersionSettings(payload: ISubmitDemoProjectVersionSettingsPayload): void\n setSubmitted(): void\n}\n\ninterface DemoProjectVersionSettingsState {\n}\n\nclass DemoProjectVersionSettings extends React.Component {\n render() {\n const {\n loading,\n projectVersionSettings,\n videoUrl,\n submitted,\n needsDownload,\n } = this.props\n\n const {\n languagesForVideos,\n translationLanguages,\n } = projectVersionSettings.attributes\n\n const hasUrl = videoUrl.length > 0\n\n return (\n \n {hasUrl ? (\n
    \n \n \n \n
    \n ) : (\n \n )}\n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { projectVersionSettings, demo } = state\n\n return {\n videoUrl: demo.videoUrl,\n loading: projectVersionSettings.loading,\n projectVersionSettings: projectVersionSettings.projectVersionSettings,\n submitted: demo.submitted,\n needsDownload: demo.needsDownload,\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n submitDemoProjectVersionSettings,\n setSubmitted,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DemoProjectVersionSettings)\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgWave = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 1749,\n height: 422,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DDFF0C\",\n strokeMiterlimit: 10,\n strokeWidth: 0.15,\n d: \"M3082.73 1c-151.64 42.377-310.18 81.193-480.07 109.703-55.08 9.244-111.68 17.432-170.53 21.094-120.01 7.47-241.71-4.195-363.04-5.76-154.09-1.99-309.05 12.969-445.44 42.314-102.62 22.082-218.08 54.111-334.17 62.149-105.46 7.302-218.91-32.427-312.306-47.928-95.658-15.876-202.647-19.257-303.67-11.091-52.925 4.28-104.401 11.725-151.865 22.241-45.387 10.058-84.927 28.776-138.736 14.065-17.785-4.863-30.08-12.357-45.365-18.482-53.122-21.286-146.017-22.95-203.473-3.642M3076.05 2.329c-148.2 42.946-305.1 82.169-474.06 110.574-56.26 9.474-114.06 17.413-173.94 21.501-72.26 4.893-145.27 3.079-218.52.5-50-1.76-100.11-3.879-150.16-4.471-98.89-1.167-198.13 3.884-292.75 14.523-55.32 6.221-109.05 14.358-160.25 24.329-35.98 6.969-73.38 15.043-111.74 22.905-53.96 11.024-109.83 21.618-166.6 28.402-20.38 2.445-40.87 4.399-61.38 5.683-84.79 5.284-174.62-17.097-255.42-33.562-21.655-4.435-42.664-8.445-62.774-11.383-82.654-12.189-172.793-15.247-260.037-9.938a1321 1321 0 0 0-44.781 3.48c-52.836 5.012-104.269 13.11-152.149 23.991-28.355 6.446-54.657 16.04-83.59 19.071-17.814 1.868-36.542 1.212-57.375-4.12-18.202-4.66-31.192-11.86-47.047-17.776-55.03-20.568-148.67-22.381-207.778-3.322M3069.36 3.654C2924.62 47.172 2769.34 86.8 2601.31 115.1c-57.44 9.708-116.43 17.399-177.35 21.905-73.18 5.345-147.28 4.04-221.68 1.82-50.81-1.514-101.76-3.457-152.66-4.001-100.54-1.083-201.43 3.528-297.62 13.209-56.23 5.659-110.84 13.065-162.94 22.18-36.68 6.354-74.7 13.739-113.63 20.897-54.8 10.025-111.44 19.589-169.22 25.751-20.71 2.226-41.54 4.013-62.42 5.186-86.46 4.815-178.03-16.486-260.297-31.625-22.003-4.088-43.363-7.715-63.779-10.33-83.78-10.731-174.131-12.5-261.258-5.94a1341 1341 0 0 0-44.7 4.111c-52.756 5.746-104.145 14.496-152.435 25.745-28.611 6.667-55.358 16.309-84.832 19.49-18.165 1.96-37.208 1.404-58.363-3.653-18.633-4.456-32.302-11.36-48.728-17.07-56.93-19.849-151.331-21.812-212.076-3.004M3062.68 4.98c-141.31 44.086-294.95 84.123-462.04 112.316-58.62 9.938-118.81 17.38-180.75 22.312-74.12 5.8-149.31 5.001-224.86 3.139-51.61-1.266-103.39-3.031-155.14-3.534-102.19-.996-204.74 3.172-302.49 11.892-57.15 5.1-112.58 11.833-165.63 20.032-37.35 5.776-76.04 12.431-115.52 18.889-55.65 9.026-113.04 17.56-171.85 23.096-21.03 2.008-42.2 3.627-63.43 4.693-88.14 4.345-181.54-15.786-265.192-29.692-22.368-3.72-44.042-7-64.781-9.28-84.846-9.331-175.475-9.753-262.471-1.939a1359 1359 0 0 0-44.62 4.743c-52.668 6.479-104.013 15.881-152.712 27.498-28.867 6.889-56.053 16.579-86.075 19.91-18.516 2.056-37.873 1.601-59.357-3.19-19.064-4.25-33.414-10.863-50.41-16.366-58.837-19.132-153.984-21.247-216.382-2.685M3055.99 6.309c-137.85 44.654-289.87 85.098-456.02 113.189-59.81 10.172-121.16 17.414-184.16 22.717-75.01 6.311-151.32 5.961-228.03 4.461-52.41-1.02-105.03-2.606-157.62-3.064-103.84-.91-208.04 2.819-307.36 10.579-58.07 4.536-114.37 10.557-168.32 17.883-38.06 5.171-77.37 11.123-117.41 16.884-56.5 8.026-114.66 15.531-174.48 20.442-21.36 1.789-42.88 3.241-64.46 4.195-89.8 3.876-184.96-15.148-270.079-27.758-22.72-3.367-44.715-6.285-65.775-8.23-85.9-7.93-176.813-7.005-263.692 2.059a1364 1364 0 0 0-44.54 5.375c-52.581 7.212-103.889 17.267-152.998 29.249-29.122 7.11-56.747 16.845-87.317 20.328-18.867 2.151-38.545 1.798-60.344-2.723-19.503-4.043-34.525-10.363-52.09-15.66-60.746-18.413-156.645-20.679-220.68-2.367M3049.31 7.635c-134.41 45.226-284.79 86.077-450.01 114.06-61 10.402-123.53 17.407-187.57 23.12-75.93 6.775-153.33 6.922-231.21 5.782-53.2-.773-106.66-2.182-160.1-2.598-105.48-.823-211.34 2.463-312.23 9.265-58.99 3.977-116.16 9.28-170.99 15.735-38.77 4.563-78.68 9.857-119.31 14.875-57.32 7.084-116.29 13.443-177.1 17.788-21.7 1.55-43.55 2.855-65.49 3.699-91.48 3.405-188.389-14.514-274.976-25.823-23.063-3.013-45.394-5.569-66.776-7.179-86.945-6.538-178.151-4.258-264.913 6.06a1391 1391 0 0 0-44.466 6.006c-52.493 7.948-103.765 18.655-153.283 31.003-29.379 7.331-57.449 17.114-88.56 20.747-19.218 2.247-39.218 1.996-61.331-2.256-19.941-3.837-35.636-9.864-53.772-14.954-62.646-17.695-159.298-20.11-224.986-2.047M3042.62 8.963c-130.95 45.795-279.71 87.053-443.99 114.931-62.17 10.636-125.89 17.399-190.97 23.528-76.86 7.238-155.35 7.879-234.38 7.101-54.02-.527-108.31-1.757-162.58-2.128-107.14-.736-214.65 2.11-317.11 7.948-59.9 3.415-117.96 8.002-173.68 13.586-39.47 3.956-80 8.556-121.19 12.868-58.17 6.093-117.91 11.405-179.74 15.133-22.01 1.329-44.21 2.472-66.51 3.202-93.14 2.936-191.798-13.879-279.861-23.889-23.406-2.66-46.06-4.857-67.778-6.126-87.982-5.147-179.488-1.511-266.133 10.058a1407 1407 0 0 0-44.386 6.635c-52.406 8.681-103.634 20.041-153.568 32.756-29.635 7.553-58.143 17.384-89.803 21.166-19.561 2.343-39.905 2.197-62.325-1.789-20.387-3.627-36.747-9.367-55.446-14.251-64.554-16.976-161.959-19.544-229.284-1.727M3035.93 10.289c-127.5 46.363-274.62 88.028-437.98 115.802-63.36 10.865-128.26 17.386-194.38 23.931-77.78 7.7-157.37 8.84-237.55 8.421-54.82-.279-109.95-1.332-165.07-1.661-108.78-.649-217.94 1.754-321.97 6.634-60.82 2.855-119.76 6.725-176.37 11.438-40.19 3.348-81.34 7.254-123.08 10.863-59.03 5.099-119.52 9.366-182.37 12.479-22.33 1.107-44.89 2.085-67.54 2.705-94.82 2.466-195.205-13.248-284.744-21.956-23.75-2.311-46.733-4.145-68.78-5.076-89.013-3.761-180.834 1.236-267.354 14.059a1428 1428 0 0 0-44.306 7.266c-52.317 9.415-103.509 21.427-153.853 34.507-29.89 7.774-58.845 17.653-91.045 21.585-19.912 2.436-40.592 2.4-63.312-1.326-20.84-3.417-37.858-8.867-57.127-13.544-66.455-16.261-164.613-18.976-233.59-1.409M3029.25 11.614c-124.06 46.935-269.55 89.007-431.97 116.676-64.54 11.099-130.63 17.375-197.78 24.338-78.7 8.158-159.39 9.801-240.73 9.744-55.61-.033-111.58-.907-167.55-1.191-110.43-.563-221.25 1.397-326.85 5.321a6038 6038 0 0 0-179.05 9.288c-40.91 2.739-82.68 5.952-124.97 8.855-59.88 4.109-121.13 7.332-184.99 9.825-22.67.885-45.56 1.699-68.57 2.208-96.49 1.996-198.606-12.619-289.637-20.023-24.093-1.96-47.398-3.432-69.773-4.025-90.045-2.382-182.172 3.983-268.568 18.06a1460 1460 0 0 0-44.233 7.897c-52.229 10.148-103.385 22.812-154.138 36.261-30.146 7.996-59.539 17.919-92.288 22.004-20.263 2.532-41.286 2.606-64.298-.859-21.294-3.205-38.97-8.37-58.809-12.838-68.363-15.543-167.274-18.407-237.888-1.089M3022.56 12.943c-120.61 47.504-264.47 89.982-425.96 117.547-65.72 11.329-133 17.362-201.2 24.742-79.62 8.615-161.4 10.761-243.89 11.063-56.42.216-113.24-.485-170.03-.724-112.08-.476-224.56 1.044-331.72 4.004a7777 7777 0 0 0-181.74 7.143c-41.62 2.128-84.01 4.651-126.86 6.847-60.74 3.115-122.73 5.297-187.62 7.17-22.99.664-46.23 1.314-69.6 1.712-98.161 1.526-202.014-11.994-294.529-18.087-24.429-1.61-48.07-2.723-70.775-2.975-91.06-1.005-183.509 6.731-269.788 22.058a1471 1471 0 0 0-44.152 8.529c-52.142 10.881-103.254 24.201-154.423 38.014-30.395 8.218-60.242 18.189-93.531 22.423-20.614 2.628-41.981 2.813-65.293-.392-21.754-2.992-40.08-7.87-60.49-12.135-70.263-14.825-169.934-17.841-242.193-.772M3015.88 14.269c-117.16 48.072-259.39 90.961-419.94 118.417-66.91 11.563-135.37 17.351-204.61 25.149-80.55 9.074-163.41 11.722-247.08 12.384-57.22.46-114.86-.06-172.51-.255-113.73-.389-227.86.688-336.59 2.69-63.58 1.171-125.17 2.873-184.42 4.995-42.34 1.514-85.35 3.349-128.76 4.842-61.6 2.119-124.34 3.262-190.25 4.519-23.31.442-46.9.927-70.62 1.215-99.823 1.056-205.401-11.372-299.414-16.154-24.774-1.26-48.736-2.014-71.777-1.924-92.076.365-184.846 9.477-271.009 26.059a1490 1490 0 0 0-44.072 9.16c-52.054 11.614-103.129 25.586-154.7 39.764-30.651 8.439-60.936 18.458-94.774 22.842-20.965 2.724-42.675 3.023-66.28.075-22.214-2.777-41.213-7.355-62.17-11.428-72.245-14.044-172.589-17.273-246.5-.452M3009.19 15.595c-113.71 48.643-254.31 91.936-413.92 119.288-68.1 11.793-137.75 17.335-208.02 25.553-81.47 9.528-165.43 12.682-250.25 13.703-58.02.709-116.5.365-175 .212-115.37-.302-231.16.332-341.46 1.377-64.49.61-126.98 1.586-187.1 2.846-43.05.9-86.69 2.043-130.64 2.833-62.46 1.123-125.95 1.23-192.88 1.865-23.64.224-47.57.541-71.65.718-101.502.587-208.805-10.752-304.309-14.22-25.11-.913-49.401-1.308-72.778-.871-93.093 1.729-186.192 12.224-272.231 30.057-14.773 3.049-29.422 6.332-43.991 9.791-51.966 12.347-103.004 26.972-154.986 41.519-30.906 8.66-61.637 18.724-96.016 23.26-21.308 2.819-43.377 3.235-67.266.539-22.683-2.559-42.325-6.856-63.853-10.725-74.145-13.326-175.249-16.704-250.797-.132M3002.5 16.923c-110.26 49.212-249.23 92.915-407.91 120.162-69.27 12.027-140.11 17.321-211.42 25.96-82.39 9.983-167.45 13.64-253.42 15.023-58.83.954-118.15.79-177.48.682-117.03-.215-234.47-.021-346.34.063-65.41.048-128.79.299-189.79.697-43.77.288-88.03.739-132.54.826-63.31.126-127.55-.802-195.5-.79-23.96.003-48.24.156-72.68.225-103.162.116-212.19-10.136-309.186-12.285-25.446-.565-50.066-.601-73.772.18-94.108 3.091-187.53 14.971-273.451 34.058-14.751 3.265-29.371 6.757-43.918 10.423-51.879 13.083-102.873 28.357-155.271 43.272-31.162 8.882-62.332 18.993-97.259 23.68-21.66 2.911-44.086 3.447-68.26 1.005-23.143-2.337-43.436-6.356-65.534-10.019-76.045-12.604-177.902-16.139-255.103.186M2995.82 18.249c-106.81 49.78-244.28 93.762-401.9 121.033-70.51 12.2-142.48 17.302-214.82 26.364-83.32 10.435-169.47 14.6-256.6 16.345-59.63 1.203-119.79 1.215-179.96 1.149-118.67-.129-237.77-.377-351.21-1.254-66.32-.512-130.59-.993-192.47-1.451-44.49-.329-89.36-.569-134.42-1.179-64.18-.871-129.16-2.834-198.14-3.445-24.28-.215-48.91-.23-73.705-.272-104.84-.353-215.586-9.522-314.08-10.351-25.782-.219-50.731.105-74.774 1.23-95.124 4.45-188.867 17.718-274.664 38.056-14.73 3.477-29.32 7.182-43.838 11.054-51.791 13.817-102.749 29.743-155.556 45.023-31.418 9.103-63.034 19.263-98.501 24.098-22.01 3.008-44.789 3.663-69.248 1.473-23.61-2.116-44.547-5.857-67.208-9.313-77.946-11.883-180.563-15.57-259.401.506M2989.13 19.575c-103.36 50.352-239.2 94.737-395.89 121.903-71.7 12.431-144.86 17.285-218.23 26.768-84.25 10.887-171.49 15.562-259.77 17.665-60.43 1.449-121.43 1.64-182.45 1.619-120.32-.045-241.07-.73-356.08-2.567-67.25-1.075-132.41-2.287-195.16-3.6-45.21-.949-90.7-1.874-136.31-3.187-65.05-1.871-130.77-4.863-200.77-6.099-24.61-.434-49.576-.614-74.729-.769-106.506-.823-218.977-8.909-318.97-8.418-26.126.129-51.396.811-75.775 2.28-96.148 5.803-190.205 20.466-275.885 42.057-14.701 3.69-29.262 7.607-43.758 11.686-51.703 14.55-102.624 31.131-155.84 46.776-31.675 9.322-63.729 19.529-99.745 24.518-22.361 3.103-45.497 3.881-70.234 1.939-24.086-1.891-45.651-5.36-68.889-8.609-79.847-11.166-183.217-15.002-263.707.822M2982.45 20.903c-99.92 50.92-234.12 95.716-389.88 122.774-72.88 12.662-147.23 17.267-221.64 27.176-85.17 11.338-173.5 16.521-262.93 18.984-61.24 1.697-123.07 2.065-184.93 2.086-121.97.042-244.37-1.086-360.96-3.881-68.16-1.634-134.21-3.579-197.84-5.749-45.93-1.565-92.04-3.181-138.21-5.195-65.9-2.873-132.37-6.892-203.39-8.753-24.933-.652-50.247-1-75.752-1.266-108.18-1.293-222.369-8.301-323.86-6.485-26.462.473-52.062 1.514-76.777 3.334-97.163 7.152-191.55 23.213-277.105 46.058-14.679 3.905-29.211 8.035-43.677 12.317-51.616 15.283-102.493 32.517-156.126 48.53-31.93 9.543-64.423 19.799-100.988 24.937-22.712 3.199-46.206 4.102-71.228 2.406-24.554-1.667-46.762-4.86-70.57-7.904-81.747-10.446-185.878-14.436-268.005 1.144M2975.76 22.229c-96.47 51.49-228.91 96.82-383.87 123.645-74 12.955-149.6 17.249-225.04 27.579-86.11 11.791-175.51 17.483-266.11 20.305-62.04 1.942-124.7 2.486-187.42 2.555-123.61.129-247.67-1.442-365.82-5.198-69.08-2.196-136.02-4.875-200.53-7.897-46.64-2.188-93.38-4.489-140.09-7.2-66.77-3.872-133.99-8.921-206.03-11.408-25.254-.87-50.92-1.385-76.782-1.762-109.847-1.763-225.761-7.694-328.751-4.549-26.798.82-52.734 2.218-77.771 4.384-98.187 8.499-192.887 25.96-278.326 50.056-14.649 4.118-29.16 8.46-43.604 12.949-51.528 16.016-102.369 33.902-156.411 50.28-32.186 9.765-65.125 20.068-102.223 25.356-23.055 3.292-46.915 4.324-72.215 2.87-25.022-1.44-47.858-4.381-72.251-7.197-83.604-9.798-188.532-13.868-272.311 1.46M2969.07 23.555c-93.02 52.06-223.83 97.799-377.85 124.519-75.18 13.185-151.97 17.231-228.45 27.986-87.03 12.24-177.53 18.44-269.28 21.627-62.84 2.191-126.35 2.912-189.9 3.023-125.26.215-250.98-1.796-370.7-6.512-70-2.756-137.83-6.171-203.21-10.046-47.36-2.807-94.71-5.8-141.99-9.208-67.62-4.875-135.59-10.95-208.65-14.062-25.577-1.089-51.586-1.772-77.807-2.259-111.521-2.233-229.16-7.093-333.634-2.616-27.142 1.164-53.399 2.918-78.772 5.435-99.218 9.842-194.226 28.707-279.548 54.057-14.627 4.333-29.101 8.884-43.523 13.577-51.44 16.749-102.237 35.288-156.696 52.034-32.442 9.986-65.82 20.334-103.465 25.774-23.407 3.388-47.625 4.549-73.202 3.337-25.49-1.209-48.97-3.884-73.933-6.494-85.505-9.079-191.192-13.299-276.616 1.781M2962.39 24.884c-89.57 52.63-218.75 98.774-371.83 125.39-76.37 13.418-154.35 17.21-231.86 28.39-87.96 12.688-179.55 19.4-272.46 22.946-63.64 2.436-127.98 3.337-192.37 3.493-126.92.302-254.29-2.152-375.57-7.826-70.92-3.319-139.62-7.469-205.9-12.194-48.07-3.43-96.04-7.108-143.87-11.216-68.48-5.881-137.2-12.976-211.281-16.714-25.907-1.307-52.259-2.157-78.838-2.756-113.195-2.702-232.559-6.491-338.524-.682-27.478 1.505-54.072 3.618-79.774 6.485-100.248 11.18-195.563 31.454-280.761 58.055-14.605 4.545-29.049 9.31-43.443 14.208-51.352 17.483-102.112 36.677-156.974 53.785-32.697 10.208-66.52 20.604-104.708 26.194-23.757 3.483-48.326 4.776-74.196 3.803-25.957-.975-50.08-3.384-75.614-5.787-87.412-8.365-193.845-12.734-280.914 2.1M2955.71 26.209c-86.12 53.198-213.67 99.75-365.83 126.261-77.55 13.649-156.73 17.189-235.27 28.797-88.89 13.137-181.57 20.361-275.63 24.266-64.45 2.685-129.62 3.762-194.86 3.959-128.56.389-257.59-2.504-380.45-9.142-71.83-3.878-141.42-8.768-208.57-14.343-48.79-4.052-97.39-8.418-145.77-13.221-69.34-6.883-138.81-15.001-213.906-19.368-26.228-1.526-52.931-2.543-79.861-3.252-114.862-3.173-235.958-5.89-343.415 1.253-27.821 1.85-54.737 4.319-80.775 7.536-101.287 12.517-196.908 34.201-281.982 62.056-14.576 4.761-28.998 9.737-43.362 14.84-51.265 18.218-101.989 38.062-157.26 55.538-32.953 10.429-67.214 20.873-105.95 26.615-24.108 3.579-49.035 5.004-75.183 4.271-26.433-.742-51.191-2.888-77.295-5.082-89.313-7.645-196.507-12.164-285.22 2.418M2949.02 27.535c-82.67 53.77-208.59 100.728-359.81 127.131-78.73 13.882-159.1 17.168-238.67 29.201-89.83 13.586-183.59 21.322-278.81 25.586-65.24 2.93-131.25 4.187-197.34 4.429-130.21.476-260.89-2.861-385.31-10.456-72.75-4.441-143.22-10.067-211.26-16.491-49.5-4.675-98.71-9.729-147.66-15.229-70.19-7.889-140.417-17.028-216.535-22.022-26.557-1.742-53.597-2.93-80.892-3.75-116.536-3.642-239.365-5.291-348.305 3.187-28.158 2.19-55.41 5.018-81.769 8.589-102.332 13.855-198.246 36.948-283.203 66.054-14.554 4.973-28.94 10.162-43.29 15.471-51.184 18.952-101.856 39.447-157.543 57.292-33.202 10.65-67.917 21.139-107.194 27.034-24.459 3.675-49.744 5.234-76.169 4.735-26.901-.506-52.303-2.389-78.977-4.379-91.221-6.927-199.16-11.596-289.519 2.739M2942.33 28.864c-79.22 54.338-203.51 101.704-353.8 128.005-79.92 14.113-161.48 17.144-242.08 29.608-90.76 14.032-185.6 22.282-281.98 26.909-66.04 3.178-132.9 4.611-199.82 4.895-131.86.563-264.2-3.217-390.19-11.769-73.67-5.001-145.03-11.369-213.95-18.641a7729 7729 0 0 1-149.55-17.237c-71.04-8.893-142.031-19.053-219.165-24.676-26.879-1.96-54.269-3.316-81.916-4.246-118.202-4.112-242.771-4.696-353.195 5.12-28.501 2.535-56.089 5.719-82.771 9.639-103.377 15.187-199.583 39.696-284.423 70.055-14.532 5.189-28.889 10.587-43.209 16.103-51.097 19.684-101.733 40.833-157.829 59.042-33.458 10.872-68.612 21.409-108.436 27.454-24.803 3.767-50.446 5.464-77.164 5.201-27.361-.27-53.414-1.892-80.651-3.672-93.129-6.21-201.821-11.028-293.824 3.055M2935.65 30.189c-75.78 54.907-198.44 102.683-347.79 128.876-81.1 14.346-163.86 17.123-245.49 30.012-91.69 14.478-187.61 23.243-285.15 28.229-66.85 3.423-134.54 5.033-202.31 5.365-133.51.65-267.49-3.57-395.06-13.086-74.58-5.563-146.82-12.67-216.63-20.789a7256 7256 0 0 1-151.44-19.242c-71.89-9.899-143.638-21.076-221.789-27.331-27.208-2.175-54.942-3.699-82.946-4.74-119.876-4.582-246.177-4.103-358.078 7.053-28.845 2.876-56.762 6.416-83.772 10.69-104.431 16.518-200.922 42.443-285.637 74.056-14.503 5.401-28.838 11.012-43.129 16.734-51.009 20.418-101.608 42.219-158.114 60.796-33.714 11.093-69.313 21.678-109.679 27.873-25.153 3.863-51.148 5.697-78.151 5.667-27.829-.029-54.525-1.391-82.332-2.968-95.029-5.491-204.481-10.462-298.122 3.375M2928.96 31.515c-72.32 55.478-193.35 103.658-341.77 129.747-82.28 14.576-166.31 17.033-248.9 30.416-92.69 14.852-189.63 24.2-288.32 29.548-67.65 3.672-136.18 5.458-204.79 5.832-135.15.737-270.8-3.926-399.93-14.4-75.5-6.122-148.61-13.972-219.32-22.937-51.63-6.548-102.71-13.661-153.32-21.25-72.745-10.905-145.289-23.037-224.426-29.985-27.544-2.373-55.607-4.085-83.97-5.237-121.543-5.052-249.591-3.508-362.968 8.989-29.189 3.217-57.435 7.116-84.774 11.74-105.483 17.85-202.267 45.19-286.857 78.054-14.481 5.614-28.78 11.44-43.056 17.366-50.921 21.151-101.477 43.607-158.4 62.549-33.969 11.315-70.007 21.945-110.921 28.292-25.504 3.959-51.849 5.931-79.137 6.135-28.297.209-55.637-.892-84.014-2.263-96.937-4.773-207.135-9.893-302.427 3.696M2922.28 32.844C2853.4 88.89 2734 137.477 2586.52 163.46c-83.47 14.81-168.68 17.019-252.31 30.824-93.61 15.303-191.64 25.161-291.49 30.867-68.46 3.918-137.81 5.884-207.27 6.303-136.81.823-274.1-4.28-404.81-15.714-76.41-6.685-150.4-15.274-221.99-25.086-52.34-7.174-104.01-15.011-155.22-23.258-73.539-11.964-146.902-25.069-227.048-32.64-27.866-2.591-56.28-4.471-85.001-5.734-123.216-5.521-253.005-2.914-367.859 10.923-29.532 3.558-58.114 7.814-85.767 12.793C181.212 171.918 84.15 200.677-.324 234.794c-14.459 5.83-28.728 11.866-42.975 17.997-50.833 21.885-101.352 44.993-158.684 64.301-34.226 11.536-70.702 22.213-112.164 28.71-25.856 4.055-52.552 6.165-80.132 6.599-28.758.452-56.747-.395-85.695-1.556-98.838-4.055-209.796-9.328-306.733 4.013M2915.59 34.169c-65.43 56.616-183.19 105.612-329.74 131.492-84.65 15.04-171.05 17-255.71 31.227-94.55 15.758-193.66 26.122-294.67 32.19-69.25 4.166-139.46 6.309-209.76 6.769-138.45.91-277.4-4.635-409.67-17.027-77.34-7.245-152.2-16.579-224.69-27.235-53.04-7.799-105.34-16.318-157.11-25.263-74.397-12.967-148.513-27.097-229.683-35.294-28.194-2.81-56.952-4.857-86.023-6.23-124.884-5.991-256.426-2.325-372.75 12.856-29.875 3.899-58.794 8.51-86.769 13.843-107.61 20.508-204.942 50.685-289.299 86.053-14.43 6.042-28.677 12.291-42.895 18.629-50.745 22.617-101.228 46.378-158.962 66.054-34.481 11.757-71.404 22.483-113.407 29.129-26.206 4.151-53.253 6.401-81.118 7.065-29.218.698-57.859.105-87.376-.852-100.746-3.337-212.449-8.76-311.032 4.333M2908.9 35.495c-61.98 57.187-178.11 106.587-323.73 132.362-85.84 15.274-173.43 16.983-259.12 31.634-95.47 16.211-195.68 27.082-297.84 33.51-70.05 4.414-141.09 6.734-212.23 7.239-140.11.997-280.71-4.991-414.55-18.344-78.25-7.807-153.99-17.88-227.37-29.384-53.75-8.423-106.67-17.623-159-27.27-75.24-13.967-150.123-29.127-232.302-37.946-28.516-3.028-57.624-5.243-87.054-6.727-126.557-6.461-259.847-1.733-377.632 14.789-30.227 4.241-59.474 9.208-87.771 14.894-108.677 21.833-206.28 53.432-290.52 90.054-14.408 6.257-28.618 12.715-42.814 19.26-50.658 23.354-101.097 47.764-159.248 67.808-34.737 11.979-72.098 22.749-114.649 29.548-26.55 4.243-53.948 6.64-82.106 7.532-29.678.94-58.969.602-89.057-.146-102.654-2.619-215.11-8.191-315.337 4.65M2902.22 36.823c-58.53 57.756-173.04 107.567-317.72 133.234-87.02 15.504-175.81 16.964-262.52 32.038-96.41 16.662-197.7 28.043-301.02 34.83-70.86 4.659-142.74 7.158-214.72 7.708-141.76 1.081-284.02-5.344-419.43-19.657-79.17-8.367-155.72-19.233-230.05-31.53-54.42-9.085-108-18.93-160.892-29.279-76.097-14.965-151.733-31.158-234.935-40.599-28.845-3.247-58.29-5.629-88.078-7.224-128.224-6.931-263.348-1.23-382.522 16.725a1501 1501 0 0 0-88.773 15.944C91.809 172.175-6.064 205.192-90.173 243.065c-14.386 6.47-28.567 13.144-42.741 19.892-50.57 24.087-100.972 49.149-159.532 69.558-34.993 12.198-72.8 23.019-115.893 29.967-26.9 4.339-54.641 6.877-83.099 7.999-30.132 1.188-60.081 1.102-90.739.56-104.554-1.9-217.763-7.625-319.635 4.97M2895.54 38.149c-55.09 58.325-167.97 108.542-311.72 134.104-88.19 15.738-178.18 16.95-265.92 32.445-97.34 17.115-199.72 29.001-304.19 36.15-71.67 4.908-144.38 7.583-217.21 8.176-143.4 1.167-287.32-5.701-424.3-20.972-80.08-8.93-157.52-20.526-232.74-33.678-55.12-9.705-109.32-20.238-162.774-31.284-76.945-15.965-153.349-33.187-237.567-43.254-29.166-3.468-58.962-6.015-89.101-7.72-129.898-7.401-266.762-.623-387.413 18.658-30.936 4.905-60.863 10.582-89.766 16.995-110.95 24.398-208.963 58.925-292.954 98.053-14.357 6.685-28.516 13.568-42.661 20.519-50.482 24.821-100.841 50.538-159.818 71.312-35.248 12.419-73.494 23.288-117.134 30.387-27.252 4.435-55.337 7.116-84.087 8.462-30.585 1.434-61.192 1.598-92.412 1.263-106.463-1.182-220.425-7.056-323.941 5.291M2888.85 39.476c-51.64 58.895-162.88 109.517-305.7 134.974-89.38 15.968-180.55 16.932-269.34 32.849-98.26 17.569-201.73 29.961-307.36 37.47-72.47 5.153-146.02 8.005-219.69 8.645-145.05 1.254-290.62-6.057-429.17-22.288-81-9.49-159.31-21.819-235.41-35.827-55.84-10.321-110.67-21.543-164.674-33.292-77.8-16.964-154.957-35.216-240.191-45.908-29.496-3.687-59.635-6.401-90.132-8.218-131.565-7.87-270.176-.012-392.303 20.592-31.28 5.249-61.543 11.285-90.768 18.048-111.996 25.754-210.3 61.67-294.175 102.051-14.335 6.898-28.457 13.993-42.58 21.151-50.395 25.553-100.717 51.924-160.103 73.066-35.504 12.64-74.196 23.554-118.377 30.805-27.603 4.53-56.024 7.355-85.074 8.93-31.038 1.681-62.302 2.097-94.093 1.969-108.363-.467-223.078-6.488-328.24 5.608m3860.7-349.297c-48.19 59.464-157.8 110.496-299.69 135.848-90.56 16.202-182.93 16.914-272.75 33.253-99.19 18.021-203.74 30.922-310.53 38.793-73.27 5.401-147.66 8.429-222.18 9.112-146.69 1.34-293.91-6.41-434.04-23.602-81.91-10.052-161.11-23.112-238.11-37.975-56.54-10.941-111.992-22.851-166.561-35.3-78.648-17.964-156.572-37.248-242.822-48.563-29.818-3.905-60.3-6.784-91.155-8.714-133.239-8.34-273.59.598-397.194 22.527-31.623 5.596-62.215 11.991-91.769 19.099C2.32 172.391-96.269 209.699-180.027 251.334c-14.313 7.11-28.406 14.418-42.5 21.782-50.307 26.287-100.592 53.309-160.388 74.817-35.76 12.862-74.89 23.823-119.62 31.224-27.953 4.626-56.703 7.619-86.067 9.396-31.484 1.954-63.414 2.595-95.775 2.676-110.271.251-225.739-5.92-332.543 5.928M2875.48 42.13c-44.74 60.033-152.72 111.471-293.67 136.719-91.75 16.432-185.3 16.896-276.16 33.66-100.12 18.473-205.76 31.882-313.71 40.112-219.87 16.764-449.89 12.036-663.56-15.337-143.73-18.413-279.12-46.393-409.245-77.431-79.503-18.964-158.18-39.277-245.446-51.218-160.432-21.95-340.242-13.38-494.263 15.25s-283.846 76.082-389.38 130.202c-95.775 49.111-181.798 106.914-323.955 130.627-162.581 27.118-351.5 1.32-521.351 19.487\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DDFF0C\",\n strokeMiterlimit: 10,\n strokeWidth: 0.15,\n d: \"M2536.08 421.609c1.79-75.876-63.74-151.724-181.67-210.261-33.56-16.654-72.9-32.4-122.52-39.705-143.38-21.103-296.48 25.03-417.03 51.223-145.48 31.607-289.31 64.731-440.78 91.404-85.03 14.974-184.91 27.684-267.17 10.303-83.29-17.602-114.991-58.588-149.428-94.279-40.124-41.591-95.38-81.655-176.492-111.604S590.23 69.834 481.648 74.71c-85.03 3.818-162.508 21.48-233.261 41.161-185.9 51.717-343.831 120.183-459.322 199.123M2540.73 418.328c1.59-67.059-56.03-132.691-158.21-188.981-9.48-5.228-19.25-10.369-29.44-15.369-33.5-16.426-72.52-31.972-121.43-39.334-141.48-21.316-292.24 22.405-412.62 47.659-106.73 22.39-212.7 46.031-322.44 67.431-38.07 7.454-76.47 14.633-115.35 21.405-84.36 14.687-183.05 27.226-264.7 10.657-82.67-16.78-115.39-56.179-150.781-90.474-41.243-39.959-97.135-78.467-178.093-107.261-28.187-10.025-59.729-18.763-93.421-25.696-63.041-12.982-133.611-19.655-203.736-16.621-84.232 3.645-161.148 20.592-231.447 39.376-142.325 38.002-268.093 85.173-371.778 139.511-30.943 16.214-59.912 33.062-86.747 50.499M2545.38 415.052c1.53-64.824-59.16-126.821-164.24-183.31-9.54-5.127-19.24-10.202-29.4-15.128-33.46-16.195-72.13-31.544-120.35-38.965-139.58-21.532-287.98 19.78-408.2 44.097-105.61 21.361-210.65 44.377-320.33 65.324-37.79 7.278-75.91 14.305-114.48 20.945-83.68 14.403-181.19 26.768-262.22 11.01-82.04-15.96-115.8-53.773-152.126-86.667-42.354-38.328-98.896-75.28-179.693-102.916-28.136-9.621-59.525-18.009-92.99-24.661-62.595-12.461-132.515-18.883-201.974-15.993-83.436 3.475-159.781 19.703-229.635 37.587-141.477 36.17-266.42 80.75-370.403 132.59-31.031 15.468-60.19 31.577-87.325 48.308M2550.02 411.772c1.48-62.589-62.24-120.949-170.25-177.639-9.59-5.031-19.24-10.037-29.35-14.885-33.41-15.968-71.75-31.113-119.26-38.595-137.69-21.743-283.71 17.159-403.8 40.534-104.47 20.334-208.71 42.617-318.22 63.22-37.55 7.069-75.34 13.975-113.61 20.484-82.99 14.116-179.33 26.31-259.73 11.363-81.41-15.139-116.2-51.364-153.477-82.86-43.472-36.698-100.651-72.093-181.287-98.574-28.092-9.217-59.321-17.255-92.559-23.629-62.157-11.94-131.411-18.111-200.22-15.36-82.639 3.303-158.414 18.813-227.822 35.796C139.799 165.969 15.69 207.954-88.593 257.298c-31.119 14.723-60.461 30.093-87.895 46.121M2554.66 408.495c1.43-60.353-65.29-115.084-176.28-171.969-9.63-4.931-19.23-9.872-29.31-14.642-33.36-15.738-71.36-30.685-118.17-38.227-135.78-21.956-279.42 14.544-399.39 36.973-103.31 19.314-206.7 40.929-316.11 61.113-37.3 6.883-74.77 13.646-112.73 20.023-82.32 13.832-177.48 25.856-257.26 11.716-80.78-14.316-116.6-48.955-154.829-79.053-44.59-35.067-102.405-68.909-182.888-94.232-28.041-8.816-59.108-16.501-92.127-22.597-61.71-11.416-130.307-17.335-198.465-14.732-81.85 3.13-157.055 17.925-226.009 34.007C151.303 169.386 28.021 208.78-76.57 255.625c-31.214 13.978-60.739 28.608-88.473 43.93M2559.31 405.216c1.37-58.118-68.32-109.222-182.31-166.298-9.67-4.836-19.22-9.705-29.26-14.4-33.31-15.51-70.98-30.258-117.09-37.856-133.88-22.168-275.1 11.932-394.98 33.412-102.14 18.302-204.68 39.244-314 59.01-37.03 6.697-74.21 13.316-111.85 19.562-81.64 13.544-175.62 25.397-254.78 12.069-80.15-13.497-116.99-46.546-156.184-75.247-45.701-33.439-104.159-65.722-184.488-89.887-27.99-8.412-58.904-15.747-91.696-21.564-61.265-10.896-129.211-16.564-196.704-14.101-81.053 2.96-155.688 17.04-224.196 32.221-138.941 30.682-261.397 67.481-366.288 111.83-31.301 13.233-61.016 27.125-89.05 41.74M2563.96 401.936c1.32-55.883-71.29-103.368-188.34-160.63-9.69-4.74-19.2-9.54-29.21-14.158-33.26-15.28-70.59-29.829-116-37.487-131.99-22.381-270.77 9.321-390.57 29.847-100.95 17.297-202.66 37.559-311.9 56.903-36.76 6.512-73.64 12.988-110.98 19.098-80.95 13.26-173.75 24.94-252.29 12.422-79.53-12.676-117.4-44.136-157.54-71.44-46.819-31.808-105.912-62.535-186.088-85.545-27.939-8.008-58.692-14.992-91.265-20.528-60.826-10.375-128.107-15.792-194.949-13.473-80.256 2.789-154.328 16.151-222.384 30.431-138.092 28.851-259.723 63.059-364.913 104.909-31.396 12.488-61.294 25.64-89.62 39.55M2568.6 398.659c1.26-53.647-74.24-97.518-194.37-154.959-9.72-4.648-19.19-9.376-29.16-13.915-33.21-15.053-70.21-29.402-114.92-37.117-130.09-22.596-266.42 6.721-386.15 26.287-99.75 16.297-200.63 35.877-309.79 54.799-36.51 6.329-73.09 12.655-110.1 18.637-80.28 12.973-171.9 24.482-249.82 12.775-78.9-11.853-117.8-41.73-158.88-67.634-47.936-30.176-107.673-59.348-187.687-81.199-27.888-7.607-58.487-14.238-90.834-19.496-60.38-9.855-127.003-15.017-193.195-12.841-79.459 2.615-152.961 15.262-220.578 28.641C185.872 179.66 65.067 211.273-40.43 250.628c-31.484 11.742-61.572 24.155-90.197 37.358M2573.25 395.379c1.21-51.412-77.14-91.676-200.39-149.288-9.74-4.555-19.18-9.208-29.12-13.673-33.16-14.822-69.82-28.971-113.83-36.746-128.18-22.809-262.04 4.124-381.74 22.723-98.52 15.307-198.61 34.195-307.68 52.692-36.24 6.144-72.52 12.326-109.23 18.177-79.6 12.688-170.03 24.024-247.34 13.131-78.27-11.033-118.2-39.322-160.24-63.828-49.047-28.545-109.427-56.16-189.281-76.857-27.836-7.203-58.275-13.484-90.402-18.464-59.935-9.33-125.9-14.244-191.441-12.209-78.662 2.445-151.594 14.373-218.765 26.855-136.396 25.191-256.375 54.212-362.172 91.068-31.579 10.998-61.85 22.669-90.775 35.172M2577.89 392.099c1.16-49.176-80.01-85.844-206.41-143.617-9.77-4.462-19.18-9.044-29.07-13.431-33.12-14.594-69.44-28.543-112.74-36.377-126.29-23.022-257.65 1.535-377.34 19.161-97.27 14.325-196.57 32.52-305.57 50.589-35.97 5.964-71.96 11.997-108.36 17.716-78.91 12.401-168.17 23.566-244.86 13.484-77.64-10.214-118.6-36.913-161.58-60.021-50.172-26.915-111.189-52.974-190.889-72.512-27.785-6.799-58.07-12.73-89.971-17.432-59.496-8.81-124.803-13.469-189.679-11.581-77.865 2.272-150.234 13.485-216.952 25.066-135.549 23.362-254.7 49.789-360.798 84.15-31.666 10.252-62.127 21.184-91.345 32.98M2582.54 388.823c1.11-46.941-82.85-80.017-212.45-137.95-9.78-4.372-19.16-8.879-29.02-13.191-33.07-14.364-69.05-28.115-111.66-36.006-124.39-23.234-253.24-1.047-372.93 15.597-96.02 13.353-194.53 30.844-303.46 48.482-35.71 5.782-71.4 11.668-107.48 17.255-78.24 12.117-166.31 23.108-242.39 13.837-77.01-9.393-119-34.503-162.94-56.214-51.275-25.284-112.934-49.787-192.481-68.17-27.734-6.398-57.866-11.979-89.54-16.399-59.05-8.289-123.699-12.697-187.924-10.95-77.076 2.101-148.867 12.596-215.139 23.276-134.701 21.531-253.027 45.364-359.431 77.228-31.755 9.508-62.405 19.7-91.923 30.79M2587.18 385.543c1.06-44.706-85.65-74.203-218.47-132.279-9.79-4.282-19.15-8.711-28.97-12.949-33.02-14.137-68.68-27.687-110.57-35.638-122.49-23.446-248.81-3.618-368.52 12.036-94.74 12.389-192.5 29.168-301.36 46.378-35.43 5.602-70.83 11.339-106.6 16.794-77.56 11.83-164.45 22.654-239.9 14.191-76.38-8.571-119.4-32.098-164.29-52.405-52.394-23.656-114.69-46.6-194.076-63.828-27.683-5.994-57.654-11.225-89.109-15.363-58.604-7.769-122.595-11.926-186.17-10.322-76.279 1.93-147.507 11.707-213.326 21.49-133.853 19.702-251.353 40.94-358.056 70.306-31.85 8.762-62.683 18.216-92.493 28.6m2676.55 109.712c1-42.47-88.41-68.4-224.49-126.608-9.8-4.192-19.12-8.555-28.93-12.706-32.91-13.933-68.29-27.256-109.48-35.267-120.59-23.662-244.36-6.183-364.11 8.475-93.45 11.437-190.45 27.498-299.24 44.271-35.16 5.423-70.27 11.007-105.74 16.331-76.87 11.545-162.58 22.195-237.42 14.543-75.75-7.75-119.8-29.689-165.63-48.598-53.52-22.025-116.449-43.413-195.682-59.483-27.632-5.59-57.449-10.471-88.677-14.331-58.165-7.245-121.499-11.15-184.408-9.69-75.483 1.757-146.141 10.818-211.514 19.7-133.005 17.871-249.679 36.518-356.682 63.388-31.937 8.017-62.96 16.731-93.07 26.412M2596.47 378.986c.95-40.235-91.13-62.61-230.52-120.937-9.81-4.106-19.11-8.388-28.87-12.464-32.86-13.706-67.91-26.828-108.4-34.899-118.7-23.874-239.9-8.732-359.71 4.911-92.14 10.495-188.41 25.829-297.13 42.168-34.88 5.243-69.7 10.677-104.85 15.869-76.2 11.258-160.74 21.738-234.95 14.897-75.12-6.931-120.2-27.28-166.99-44.792-54.62-20.394-118.197-40.226-197.276-55.141-27.588-5.189-57.237-9.716-88.253-13.298-57.72-6.725-120.396-10.378-182.654-9.062-74.686 1.586-144.774 9.929-209.701 17.911-132.157 16.042-248.005 32.094-355.315 56.466-32.033 7.271-63.239 15.246-93.648 24.221m2662.907 110.87c.9-37.999-93.82-56.831-236.54-115.266-9.82-4.019-19.1-8.224-28.83-12.222-32.81-13.478-67.53-26.4-107.31-34.527-116.8-24.087-235.42-11.273-355.3 1.349-90.82 9.564-186.36 24.162-295.03 40.061-34.61 5.064-69.13 10.348-103.97 15.409-75.52 10.973-158.87 21.28-232.47 15.25-74.49-6.108-120.6-24.871-168.34-40.986-55.74-18.763-119.962-37.039-198.88-50.795-27.537-4.785-57.033-8.963-87.822-12.267-57.274-6.203-119.291-9.606-180.9-8.429-73.889 1.415-143.414 9.04-207.895 16.123-131.309 14.212-246.331 27.672-353.94 49.548-32.12 6.526-63.517 13.762-94.219 22.031M2605.76 372.429c.85-35.764-96.47-51.067-242.56-109.598-9.82-3.932-19.09-8.059-28.78-11.979-32.76-13.251-67.15-25.972-106.23-34.16-114.9-24.299-230.92-13.799-350.89-2.214-89.49 8.642-184.31 22.497-292.92 37.957-34.34 4.887-68.58 10.019-103.1 14.947-74.84 10.687-157.01 20.822-229.99 15.603-73.86-5.287-121.01-22.464-169.69-37.179-56.86-17.132-121.718-33.851-200.476-46.453-27.485-4.381-56.82-8.208-87.39-11.231-56.835-5.682-118.195-8.831-179.138-7.798-73.092 1.242-142.047 8.151-206.083 14.334-130.46 12.383-244.657 23.249-352.566 42.626-32.215 5.778-63.794 12.275-94.796 19.84M2610.4 369.149c.79-33.528-99.09-45.318-248.59-103.927-9.82-3.848-19.08-7.894-28.74-11.737-32.71-13.02-66.8-25.511-105.14-33.788-113.12-24.419-226.4-16.31-346.48-5.776-88.15 7.736-182.25 20.837-290.81 35.851-34.06 4.71-68.01 9.689-102.22 14.486-74.16 10.402-155.15 20.365-227.51 15.957-73.24-4.468-121.41-20.056-171.04-33.373-57.97-15.501-123.469-30.665-202.073-42.108-27.434-3.98-56.615-7.454-86.959-10.199-56.389-5.159-117.091-8.058-177.383-7.17-72.303 1.072-140.688 7.263-204.27 12.545-129.613 10.552-242.983 18.826-351.2 35.707-32.302 5.033-64.071 10.791-95.372 17.653M2615.05 365.873c.74-31.293-101.68-39.585-254.62-98.257-9.82-3.764-19.07-7.726-28.68-11.494-32.66-12.793-66.41-25.083-104.05-33.418-111.22-24.634-221.89-18.808-342.07-9.336-86.8 6.841-180.2 19.179-288.7 33.746-33.79 4.537-67.45 9.361-101.36 14.026-73.47 10.115-153.28 19.907-225.02 16.313-72.62-3.645-121.81-17.647-172.4-29.567-59.09-13.87-125.223-27.477-203.673-37.765a1813 1813 0 0 0-86.528-9.166c-55.943-4.639-115.987-7.284-175.629-6.539-71.506.898-139.321 6.377-202.457 10.758-128.765 8.723-241.316 14.403-349.825 28.785-32.398 4.289-64.342 9.307-95.943 15.463M2619.69 362.593c.69-29.06-104.22-33.866-260.65-92.586-9.81-3.68-19.05-7.562-28.64-11.251-32.61-12.563-66.03-24.656-102.97-33.05-109.32-24.847-217.35-21.286-337.65-12.901-85.45 5.958-178.15 17.524-286.59 31.64-33.51 4.363-66.89 9.029-100.48 13.565-72.8 9.831-151.43 19.452-222.55 16.666-71.99-2.825-122.21-15.238-173.74-25.76-60.21-12.242-126.985-24.293-205.282-33.423a2038 2038 0 0 0-86.097-8.134c-55.504-4.118-114.891-6.512-173.875-5.91-70.709.727-137.953 5.488-200.643 8.968-127.917 6.892-239.643 9.977-348.451 21.867-32.486 3.543-64.62 7.822-96.521 13.271M2624.34 359.313c.64-26.825-106.74-28.169-266.67-86.918-9.81-3.6-19.05-7.394-28.59-11.009-32.57-12.336-65.65-24.228-101.88-32.679-107.43-25.062-212.82-23.748-333.25-16.462-84.08 5.088-176.09 15.876-284.49 29.537-33.23 4.189-66.32 8.699-99.59 13.101-72.12 9.543-149.57 18.994-220.08 17.018-71.36-2.005-122.61-12.832-175.09-21.953-61.33-10.611-128.74-21.106-206.876-29.078a2324 2324 0 0 0-85.665-7.098c-55.059-3.597-113.787-5.74-172.113-5.279-69.912.556-136.594 4.599-198.831 7.179-127.069 5.063-237.968 5.554-347.084 14.945-32.573 2.798-64.898 6.338-97.098 11.081M2628.98 356.036c.58-24.589-109.21-22.488-272.69-81.247-9.8-3.519-19.05-7.23-28.55-10.767-32.52-12.105-65.26-23.799-100.79-32.31-105.53-25.278-208.27-26.191-328.84-20.026-82.72 4.228-174.03 14.226-282.38 27.429-32.95 4.016-65.75 8.37-98.72 12.641-71.44 9.259-147.71 18.535-217.59 17.371-70.73-1.182-123.01-10.423-176.45-18.146-62.44-8.981-130.496-17.92-208.471-24.737a2719 2719 0 0 0-85.235-6.065c-54.612-3.074-112.682-4.965-170.358-4.651-69.116.383-135.227 3.711-197.018 5.393-126.221 3.232-236.294 1.131-345.71 8.023-32.668 2.053-65.175 4.854-97.668 8.891m2615.12 114.921c.52-22.354-111.66-16.827-278.73-75.576-9.78-3.441-19.03-7.065-28.5-10.525-32.48-11.874-64.83-23.398-99.71-31.939-103.5-25.577-203.72-28.612-324.43-23.587-81.35 3.384-171.96 12.581-280.27 25.326-32.67 3.845-65.19 8.041-97.84 12.179-70.76 8.972-145.85 18.078-215.11 17.725-70.1-.362-123.42-8.014-177.79-14.34-63.56-7.35-132.256-14.732-210.078-20.391a3280 3280 0 0 0-84.803-5.034c-54.174-2.552-111.579-4.192-168.604-4.019-68.326.213-133.867 2.822-195.212 3.603-125.374 1.404-234.621-3.291-344.336 1.105-32.756 1.307-65.453 3.366-98.246 6.703M2638.27 349.48c.48-20.119-114.05-11.186-284.75-69.906-9.77-3.36-19.02-6.897-28.45-10.282-32.43-11.644-64.45-22.971-98.62-31.571-101.61-25.793-199.17-31.012-320.01-27.148-79.99 2.555-169.89 10.94-278.17 23.219-32.4 3.674-64.63 7.711-96.97 11.718-70.08 8.688-143.99 17.62-212.63 18.078-69.48.458-123.82-5.605-179.15-10.534-64.67-5.718-134.01-11.545-211.674-16.048a4077 4077 0 0 0-84.371-4.001c-53.728-2.032-110.483-3.421-166.843-3.388-67.529.042-132.5 1.933-193.399 1.813-124.526-.427-232.947-7.714-342.969-5.817-32.851.563-65.731 1.882-98.816 4.513M2642.92 346.2c.42-17.883-116.43-5.569-290.78-64.238-9.76-3.282-19.01-6.733-28.4-10.04-32.39-11.413-64.06-22.542-97.53-31.2-99.71-26.005-194.64-33.387-315.61-30.712-78.63 1.739-167.82 9.301-276.06 21.115-32.12 3.505-64.07 7.38-96.1 11.258-69.4 8.4-142.13 17.162-210.15 18.431-68.85 1.281-124.21-3.199-180.5-6.727-65.79-4.088-135.76-8.358-213.267-11.704a5460 5460 0 0 0-83.941-2.965c-53.289-1.512-109.379-2.646-165.088-2.759-66.732-.132-131.133 1.044-191.587.023-123.677-2.256-231.272-12.137-341.594-12.736-32.938-.182-66.009.398-99.393 2.322M2647.56 342.92c.38-15.648-118.76.027-296.8-58.567-9.75-3.208-19.02-6.559-28.36-9.797-32.39-11.159-63.68-22.115-96.44-30.829-97.82-26.218-190.1-35.74-311.2-34.274-77.27.934-165.76 7.67-273.95 19.009-31.84 3.337-63.5 7.05-95.22 10.797-68.72 8.116-140.27 16.704-207.68 18.784-68.21 2.101-124.61-.79-181.85-2.921-66.9-2.459-137.51-5.171-214.866-7.361a8272 8272 0 0 0-83.509-1.933c-52.844-.988-108.275-1.874-163.334-2.128-65.936-.302-129.774.156-189.774-1.763-122.829-4.087-229.598-16.56-340.22-19.658-33.034-.927-66.286-1.086-99.97.132M2652.21 339.643c.31-13.412-121.07 5.599-302.83-52.896-9.73-3.13-19.01-6.392-28.3-9.558-32.35-10.929-63.3-21.684-95.36-30.461-95.92-26.43-185.58-38.065-306.79-37.837-75.93.143-163.69 6.039-271.85 16.904-31.55 3.17-62.94 6.722-94.34 10.334-68.04 7.828-138.41 16.249-205.2 19.137-67.59 2.921-125.01 1.619-183.2.886-68.02-.829-139.27-1.984-216.47-3.02-26.981-.353-54.744-.67-83.077-.901-52.398-.466-107.179-1.098-161.58-1.499-65.139-.473-128.406-.733-187.961-3.552-121.981-5.916-227.924-20.984-338.853-26.577-33.121-1.672-66.564-2.57-100.541-2.055M2656.86 336.363c.26-11.177-123.34 11.147-308.85-47.225-9.72-3.055-19-6.227-28.26-9.316-32.31-10.701-62.92-21.256-94.28-30.09-94.01-26.642-181.08-40.366-302.39-41.398-74.59-.635-161.61 4.414-269.73 14.798-31.27 3.004-62.37 6.392-93.47 9.872-67.36 7.544-136.55 15.792-202.72 19.494-66.96 3.74-125.41 4.028-184.54 4.692-69.13.802-141.03 1.203-218.075 1.326-26.93.05-54.54.083-82.647.131-51.959.054-106.075-.326-159.817-.868-64.343-.646-127.048-1.622-186.149-5.341-121.133-7.748-226.25-25.41-337.478-33.499-33.209-2.418-66.843-4.055-101.12-4.246M2661.5 333.087c.21-8.942-125.57 16.668-314.88-41.555-9.7-2.98-19-6.062-28.21-9.073-32.25-10.471-62.53-20.828-93.19-29.722-92.11-26.858-176.59-42.64-297.97-44.959-73.27-1.401-159.54 2.792-267.62 12.694-31 2.84-61.82 6.063-92.6 9.411-66.68 7.257-134.69 15.334-200.24 19.847-66.33 4.563-125.82 6.434-185.9 8.499-70.25 2.432-142.79 4.39-219.672 5.667-26.879.455-54.328.838-82.223 1.164-51.513.575-104.971.446-158.063-.239-63.553-.817-125.68-2.511-184.335-7.128-120.285-9.576-224.577-29.833-336.105-40.42-33.304-3.163-67.12-5.539-101.696-6.437M2666.15 329.807c.16-6.706-127.78 22.162-320.91-35.887-9.68-2.908-18.97-5.895-28.16-8.831-32.21-10.243-62.15-20.4-92.1-29.35-90.22-27.071-172.14-44.888-293.56-48.524-71.98-2.155-157.47 1.176-265.52 10.588-30.72 2.675-61.24 5.73-91.72 8.95-66 6.973-132.83 14.876-197.76 20.2-65.7 5.383-126.22 8.843-187.25 12.305-71.37 4.064-144.54 7.577-221.263 10.013a8219 8219 0 0 1-81.791 2.199c-51.068 1.099-103.875 1.221-156.309.393-62.756-.991-124.313-3.4-182.53-8.918-119.437-11.405-222.902-34.256-334.737-47.339-33.392-3.908-67.398-7.026-102.267-8.627M2670.79 326.527c.1-4.471-129.95 27.63-326.93-30.216-9.66-2.837-18.97-5.73-28.11-8.588-32.16-10.013-61.77-19.969-91.02-28.983-88.32-27.283-167.72-47.108-289.15-52.085-70.7-2.897-155.4-.434-263.41 8.484-30.43 2.514-60.68 5.402-90.84 8.49-65.32 6.685-130.97 14.418-195.28 20.552-65.07 6.204-126.62 11.252-188.6 16.112-72.48 5.695-146.3 10.764-222.869 14.355a5505 5505 0 0 1-81.36 3.232 3068 3068 0 0 1-154.547 1.024c-61.959-1.161-122.954-4.289-180.717-10.708-118.589-13.235-221.228-38.678-333.363-54.26-33.487-4.653-67.676-8.511-102.844-10.815M2675.43 323.25c.05-2.236-132.08 33.067-332.96-24.545-9.64-2.765-18.95-5.563-28.07-8.346-32.1-9.786-61.38-19.541-89.93-28.611-86.42-27.496-163.34-49.302-284.74-55.65-69.45-3.629-153.3-1.987-261.3 6.378-30.15 2.367-60.12 5.072-89.97 8.028-64.64 6.401-129.11 13.961-192.8 20.906-64.44 7.027-127.01 13.661-189.95 19.919-73.6 7.325-148.05 13.951-224.47 18.7a4166 4166 0 0 1-80.929 4.264c-50.183 2.14-101.667 2.765-152.793 1.652-61.162-1.332-121.586-5.174-178.903-12.494-117.742-15.064-219.555-43.101-331.99-61.179-33.574-5.398-67.953-9.995-103.414-13.005M2680.08 319.97s-134.19 38.478-338.98-18.874c-204.8-57.352-275.3-119.231-656.39-91.284-263.35 19.314-511.79 66.686-777.279 80.891-109.232 5.845-223.714 3.092-328.129-12-116.894-16.896-217.881-47.524-330.622-68.101-33.67-6.143-68.224-11.479-103.992-15.196\"\n})));\nexport default SvgWave;","import reduce from 'lodash/reduce'\nimport indexOf from 'lodash/indexOf'\n\nexport interface IProcessingFactors {\n [key: string]: number\n}\n\nconst PROCESSING_FACTORS: IProcessingFactors = {\n initializing: 0.01, // No data\n downloading: 0.18,\n transcribing: 0.79,\n importingSrt: 0.01,\n waitingDiarizationWithTranscription: 0.12, // 0.91 for generatingDiarization - 0.79 for transcribing since done in parallel\n waitingDiarizationWithoutTranscription: 0.91, // not done in parallel when an SRT is imported\n detectingGender: 0.15, // Very rough estimate because of lack of data. Currently only used for external api, so not relevant for the processing page\n checkingQuality: 0.57, // Estimated to be similar to adaptingTranslation\n translating: 0.02, // No data\n translatingAndCheckingQuality: 0.59, // Difference to translating estimated to be similar to adaptingTranslation\n separatingAudio: 0.44,\n initializingVoice: 0.01, // No data\n generatingVoice: 0.21,\n adaptingTranslation: 0.57,\n regeneratingVoice: 0.21,\n lipSyncing: 22.11,\n processed: 0.00\n}\n\nclass ProcessingInfo {\n static getTotalProcessingDuration = (allProcessingSteps: string[], projectVersionDuration: number) => {\n\n const sumOfFactors = reduce(allProcessingSteps, (sum, processingStep) => {\n return sum + PROCESSING_FACTORS[processingStep] || 0\n }, 0)\n\n return sumOfFactors * projectVersionDuration\n }\n\n static getPercentageLimitsForStep = (currentProcessingStep: string, allProcessingSteps: string[], totalProcessingDuration: number, projectVersionDuration: number) => {\n const currentProcessingStepIndex = indexOf(allProcessingSteps, currentProcessingStep)\n const remainingProcessingSteps = allProcessingSteps.slice(currentProcessingStepIndex)\n\n const sumOfFactors = reduce(remainingProcessingSteps, (sum, processingStep) => {\n return sum + PROCESSING_FACTORS[processingStep] || 0\n }, 0)\n\n const lowerLimit = 100 - sumOfFactors * projectVersionDuration / totalProcessingDuration * 100\n const upperLimit = 100 - (sumOfFactors - (PROCESSING_FACTORS[currentProcessingStep] || 0)) * projectVersionDuration / totalProcessingDuration * 100\n\n return [lowerLimit, upperLimit]\n }\n}\n\nexport default ProcessingInfo\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators, Dispatch, Action } from 'redux'\nimport { IApplicationState } from '@Site/rootReducer'\nimport getParamValueFromUrl from '@Utils/GetParamValueFromUrl'\nimport Header from '@SiteContainers/Header'\nimport Wave from '@Images/wave.svg'\nimport ProcessingInfo from '@Utils/ProcessingInfo'\nimport classnames from 'classnames'\nimport './Processing.scss'\n\nconst TIME_BETWEEN_CURRENT_PROCESSING_UPDATES = 10000 // 10 sec\nconst UPPER_PERCENTAGE_LIMIT_FOR_COUTING = 99\nconst SECONDS_PER_MINUTE = 60\nconst COUNT_INTERVAL = 0.1 // %, a smaller number means more updates of the % shown\nconst LOAD_INTERVAL = 0.1 // %, a smaller number makes the progress bar update smoother\nconst LOAD_PERIOD = 10 // sec. Time until progress bar reaches the maximum\n\nimport {\n IFetchProcessingInfoPayload,\n IFetchCurrentProcessingStepPayload,\n} from './types'\n\nimport {\n fetchProcessingInfo,\n fetchCurrentProcessingStep,\n} from './actions'\n\ninterface ProcessingProps {\n readonly loading: boolean\n readonly allProcessingSteps: string[]\n readonly currentProcessingStep: string\n readonly projectVersionDuration: number\n readonly projectTitle: string\n readonly projectId: string\n readonly subtitleId: number\n readonly hasVoice: boolean\n fetchProcessingInfo(payload: IFetchProcessingInfoPayload): void\n fetchCurrentProcessingStep(payload: IFetchCurrentProcessingStepPayload): void\n}\n\ninterface ProcessingState {\n projectVersionId: string\n totalProcessingDuration: number // in sec\n percentageDone: number\n loaderPercentage: number\n currentStepUpperPercentageLimit: number\n intervalIdForUpdateOfCurrentProcessingStep: number\n intervalIdForCounting: number\n intervalIdForLoading: number\n onlyDownloading: boolean\n}\n\nclass Processing extends React.Component {\n constructor(props: ProcessingProps) {\n super(props)\n\n this.state = {\n projectVersionId: '',\n totalProcessingDuration: 0,\n percentageDone: 0,\n currentStepUpperPercentageLimit: 0,\n loaderPercentage: 0,\n intervalIdForUpdateOfCurrentProcessingStep: -1,\n intervalIdForCounting: -1,\n intervalIdForLoading: -1,\n onlyDownloading: false\n }\n }\n\n componentDidMount() {\n const projectVersionId = getParamValueFromUrl(window.location.href, 'projectVersionId')\n\n if (projectVersionId) {\n this.setState({ projectVersionId })\n this.props.fetchProcessingInfo({ projectVersionId })\n } else {\n window.location.href = '/'\n }\n }\n\n componentDidUpdate(previousProps: ProcessingProps) {\n const {\n loading,\n allProcessingSteps,\n currentProcessingStep,\n projectVersionDuration\n } = this.props\n\n if (!loading) {\n this.forwardIfNecessary()\n }\n\n if ((previousProps.loading !== loading) && !loading) {\n if (allProcessingSteps.length > 0) {\n const totalProcessingDuration = ProcessingInfo.getTotalProcessingDuration(allProcessingSteps, projectVersionDuration)\n this.setState({ totalProcessingDuration })\n this.prepareCounting(totalProcessingDuration)\n } else {\n this.setState({ onlyDownloading: true })\n }\n\n this.prepareUpdatingCurrentProcessingStep()\n this.prepareLoading()\n } else if ((previousProps.currentProcessingStep !== currentProcessingStep) && !this.state.onlyDownloading) {\n clearInterval(this.state.intervalIdForCounting)\n this.prepareCounting(this.state.totalProcessingDuration)\n }\n }\n\n componentWillUnmount() {\n clearInterval(this.state.intervalIdForUpdateOfCurrentProcessingStep)\n clearInterval(this.state.intervalIdForCounting)\n clearInterval(this.state.intervalIdForLoading)\n }\n\n prepareUpdatingCurrentProcessingStep = () => {\n const newTimerId = window.setInterval(this.updateCurrentProcessingStep, TIME_BETWEEN_CURRENT_PROCESSING_UPDATES)\n this.setState({ intervalIdForUpdateOfCurrentProcessingStep: newTimerId })\n }\n\n updateCurrentProcessingStep = () => {\n this.props.fetchCurrentProcessingStep({ projectVersionId: this.state.projectVersionId })\n }\n\n prepareCounting = (totalProcessingDuration: number) => {\n const {\n allProcessingSteps,\n currentProcessingStep,\n projectVersionDuration\n } = this.props\n\n const currentStepPercentageLimits = ProcessingInfo.getPercentageLimitsForStep(currentProcessingStep, allProcessingSteps, totalProcessingDuration, projectVersionDuration)\n this.setState({ percentageDone: currentStepPercentageLimits[0], currentStepUpperPercentageLimit: currentStepPercentageLimits[1] }, () => {\n const newTimerId = window.setInterval(this.count, totalProcessingDuration / 100 * 1000 * COUNT_INTERVAL) // divided by 100 to calculate processing duration per percent, multiplied 1000 to convert to ms\n this.setState({ intervalIdForCounting: newTimerId })\n })\n }\n\n count = () => {\n const shouldCount = this.state.percentageDone < this.state.currentStepUpperPercentageLimit && this.state.percentageDone < UPPER_PERCENTAGE_LIMIT_FOR_COUTING\n\n if (shouldCount) {\n this.setState({ percentageDone: this.state.percentageDone + COUNT_INTERVAL })\n }\n }\n\n prepareLoading = () => {\n const newTimerId = window.setInterval(this.load, LOAD_PERIOD / 100 * 1000 * LOAD_INTERVAL) // divided by 100 to calculate load period per percent, multiplied 1000 to convert to ms\n this.setState({ intervalIdForLoading: newTimerId })\n }\n\n load = () => {\n let newLoaderPercentage = this.state.loaderPercentage + LOAD_INTERVAL\n if (newLoaderPercentage > 100) {\n newLoaderPercentage = 0\n }\n\n this.setState({ loaderPercentage: newLoaderPercentage })\n }\n\n forwardIfNecessary = () => {\n const { currentProcessingStep, projectId, subtitleId, hasVoice } = this.props\n\n if (currentProcessingStep === 'processed' && this.state.onlyDownloading) {\n window.location.href = `/setup?projectVersionIds=${this.state.projectVersionId}`\n } else if (currentProcessingStep === 'processed') {\n const urlParams = hasVoice ? '?openVoice=true' : ''\n\n window.location.href = `/projects/${projectId}/project_versions/${this.state.projectVersionId}/subtitles/${subtitleId}/edit${urlParams}`\n } else if (currentProcessingStep === '') {\n window.location.href = '/'\n }\n }\n\n renderInfo = () => {\n const { onlyDownloading } = this.state\n\n return (\n
    \n
    \n {this.props.projectTitle}\n
    \n \n {`We're ${onlyDownloading ? 'downloading your video' : 'generating your project'}. `}
    \n You can close this page and come back later.\n
    \n {!onlyDownloading && this.renderDurationInfo()}\n \n )\n }\n\n renderDurationInfo = () => {\n const remainingDurationEstimateInSeconds = (100 - this.state.percentageDone ) / 100 * this.state.totalProcessingDuration\n const remainingDurationEstimate = remainingDurationEstimateInSeconds > SECONDS_PER_MINUTE ? `${Math.round(remainingDurationEstimateInSeconds / SECONDS_PER_MINUTE)} minutes` : `${Math.round(remainingDurationEstimateInSeconds)} seconds`\n\n return (\n \n
    \n {Math.round(this.state.percentageDone)}%\n
    \n
    \n Estimated time remaining: {remainingDurationEstimate}\n
    \n
    \n )\n\n }\n\n render() {\n return (\n
    \n
    \n
    \n \n
    \n {this.renderInfo()}\n \n
    \n
    \n
    \n )\n }\n}\n\nfunction mapStateToProps(state: IApplicationState) {\n const { processing } = state\n\n return {\n loading: processing.loading,\n allProcessingSteps: processing.attributes.allProcessingSteps,\n currentProcessingStep: processing.attributes.currentProcessingStep,\n projectVersionDuration: processing.attributes.projectVersionDuration,\n projectTitle: processing.attributes.projectTitle,\n projectId: processing.attributes.projectId,\n subtitleId: processing.attributes.subtitleId,\n hasVoice: processing.attributes.hasVoice\n }\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return bindActionCreators({\n fetchProcessingInfo,\n fetchCurrentProcessingStep,\n }, dispatch)\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Processing)\n","import React from 'react'\nimport { createBrowserRouter } from 'react-router-dom'\n\nimport PublicRoute from './PublicRoute'\nimport PrivateRoute from './PrivateRoute'\n\nimport NoMatch from '@SitePages/NoMatch'\nimport Dashboard from '@SitePages/Dashboard'\nimport Vocabularies from '@SitePages/Vocabularies'\nimport Guidelines from '@SitePages/Guidelines'\nimport Termbases from '@SitePages/Termbases'\nimport UsersSignUp from '@SitePages/UsersSignUp'\nimport UsersSignIn from '@SitePages/UsersSignIn'\nimport Survey from '@SitePages/Onboarding/Survey'\nimport Subscription from '@SitePages/Subscription'\nimport UsersPasswordNew from '@SitePages/UsersPasswordNew'\nimport UsersPasswordEdit from '@SitePages/UsersPasswordEdit'\nimport UsersConfirmationNew from '@SitePages/UsersConfirmationNew'\nimport CheckEmail from '@SitePages/Onboarding/CheckEmail'\nimport ChannelsNew from '@SitePages/ChannelsNew'\nimport ChannelsManage from '@SitePages/ChannelsManage'\nimport ProjectVersionSettings from '@SitePages/ProjectVersionSettings'\nimport ProjectVersionSettingsTts from '@SitePages/ProjectVersionSettingsTts'\nimport Upload from '@SitePages/Upload'\nimport ProjectTypeSelection from '@SitePages/ProjectTypeSelection'\nimport DemoUpload from '@SitePages/DemoUpload'\nimport DemoProjectVersionSettings from '@SitePages/DemoProjectVersionSettings'\nimport Processing from '@SitePages/Processing'\n\nconst router = createBrowserRouter(\n [\n {\n element: ,\n children: [\n {\n path: '/demo/upload',\n element: \n },\n {\n path: '/demo/setup',\n element: \n },\n {\n path: '/users/sign_up',\n element: \n },\n {\n path: '/users/sign_in',\n element: \n },\n {\n path: '/users/confirmation/new',\n element: \n },\n {\n path: '/users/password/new',\n element: \n },\n {\n path: '/users/password/edit',\n element: \n }\n ]\n },\n {\n element: ,\n children: [\n {\n path: '/',\n element: \n },\n {\n path: '/subscriptions',\n element: \n },\n {\n path: '/channels/new',\n element: \n },\n {\n path: '/channels/manage',\n element: \n },\n {\n path: '/customizations/vocabularies',\n element: \n },\n {\n path: '/customizations/guidelines',\n element: \n },\n {\n path: '/customizations/termbases',\n element: \n },\n {\n path: '/project_type_selection',\n element: \n },\n {\n path: '/upload',\n element: \n },\n {\n path: '/setup',\n element: \n },\n {\n path: '/setup_tts',\n element: \n },\n {\n path: '/processing',\n element: \n },\n {\n path: '/onboarding',\n element: \n },\n {\n path: '/onboarding/check_email',\n element: \n }\n ]\n },\n {\n path: '*',\n element: \n }\n ]\n)\n\nexport default router\n","import React from 'react'\n\nimport CloseIcon from '@Images/close.svg'\nimport MagicIcon from '@Images/magic.svg'\n\nimport './Alert.scss'\n\ninterface AlertProps {\n readonly message: string\n close(): void\n}\n\nconst Alert: React.FC = props => {\n return (\n
    \n
    \n \n {props.message.split('\\n').map((line, index) => (\n \n {line}\n
    \n
    \n ))}\n
    \n\n \n Learn more\n \n\n \n
    \n )\n}\n\nexport default Alert\n","import React from 'react'\nimport Loader from '@SiteComponents/Loader'\nimport classnames from 'classnames'\n\nimport './ButtonNew.scss'\n\ninterface ButtonNewProps {\n readonly color: string\n readonly caption: string\n readonly disabled?: boolean\n readonly showSpinner?: boolean\n readonly type?: 'button' | 'submit' | 'reset' | undefined\n readonly icon?: JSX.Element\n readonly active?: boolean\n readonly iconLeft?: boolean\n onMouseEnter?(): void\n onMouseLeave?(): void\n onClick?(): void\n}\n\nconst ButtonNew: React.FC = props => {\n const onClick = () => {\n if (!props.onClick) { return }\n\n props.onClick()\n }\n\n return (\n \n {props.showSpinner ? (\n \n ) : (\n
    \n {props.iconLeft && props.icon}\n {props.caption}\n {!props.iconLeft && props.icon}\n
    \n )}\n \n )\n}\n\nexport default ButtonNew\n","import React from 'react'\nimport Loader from '@SiteComponents/Loader'\nimport classnames from 'classnames'\n\nimport './ButtonNewV2.scss'\n\ninterface ButtonNewV2Props {\n readonly styleType: string\n readonly caption: string\n readonly disabled?: boolean\n readonly showSpinner?: boolean\n readonly size: string\n readonly type?: 'button' | 'submit' | 'reset' | undefined\n readonly icon?: JSX.Element\n readonly iconRight?: boolean\n readonly active?: boolean\n onMouseEnter?(): void\n onMouseLeave?(): void\n onClick?(e?: any): void\n}\n\nconst ButtonNewV2: React.FC = props => {\n const onClick = (e: any) => {\n if (!props.onClick) { return }\n\n props.onClick(e)\n }\n\n const renderCaption = () => {\n return (\n \n {props.caption}\n \n )\n }\n\n return (\n \n {props.showSpinner && (\n \n )}\n {!props.showSpinner && !props.iconRight && props.icon}\n {!props.showSpinner && renderCaption()}\n {!props.showSpinner && props.iconRight && props.icon}\n \n )\n}\n\nexport default ButtonNewV2\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgCloseTiny = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14,\n height: 15,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#E4E4E4\",\n d: \"m11.083 4.24-.822-.823L7 6.677l-3.262-3.26-.822.822L6.177 7.5l-3.26 3.261.822.823L7 8.323l3.26 3.26.823-.822-3.26-3.26z\"\n})));\nexport default SvgCloseTiny;","import React, { useState, useEffect } from 'react'\nimport Loader from '@SiteComponents/Loader'\nimport ButtonNewV2 from '@SiteComponents/ButtonNewV2'\nimport Close from '@Images/close_tiny.svg'\nimport classnames from 'classnames'\n\nimport {\n IExternalToken,\n} from '@SiteContainers/ExternalTokenPopup/types'\n\nimport './ExternalTokenForm.scss'\n\nconst DEFAULT_VALIDITY_TIME_IN_DAYS = 30\nconst MINIMUM_VALIDITY_TIME_IN_DAYS = 1\nconst TEN_YEARS_IN_DAYS = 3650\n\ninterface ExternalTokenFormProps {\n readonly loading: boolean\n readonly externalTokenData: IExternalToken\n readonly textAreaRef: React.RefObject\n readonly renderedFromDashboard: boolean\n copyToClipboard(e: any): void\n setValidityOfExternalToken(validityInDays: number): void\n}\n\nconst ExternalTokenForm: React.FC = props => {\n const {\n loading,\n textAreaRef,\n externalTokenData,\n renderedFromDashboard,\n } = props\n\n const {\n externalTokenUrl,\n } = externalTokenData.attributes\n\n const [hasDefinedValidity, setHasDefinedValidity] = useState(false)\n const [validity, setValidity] = useState(DEFAULT_VALIDITY_TIME_IN_DAYS.toString())\n\n useEffect(() => {\n setExpiryDateFarInTheFuture()\n }, [])\n\n const setExpiryDate = () => {\n props.setValidityOfExternalToken(DEFAULT_VALIDITY_TIME_IN_DAYS)\n setValidity(DEFAULT_VALIDITY_TIME_IN_DAYS.toString())\n setHasDefinedValidity(true)\n }\n\n const setExpiryDateFarInTheFuture = () => {\n props.setValidityOfExternalToken(TEN_YEARS_IN_DAYS)\n setValidity(TEN_YEARS_IN_DAYS.toString())\n setHasDefinedValidity(false)\n }\n\n const onChangeValidity = (e: React.ChangeEvent) => {\n const target = e.target as HTMLInputElement\n if (target.value) {\n setValidity(target.value)\n const validityInDays = Math.max(Math.min(parseInt(target.value, 10), TEN_YEARS_IN_DAYS), MINIMUM_VALIDITY_TIME_IN_DAYS)\n props.setValidityOfExternalToken(validityInDays)\n } else {\n setValidity('')\n props.setValidityOfExternalToken(TEN_YEARS_IN_DAYS)\n }\n }\n\n return (\n
    \n
    Share your project
    \n {externalTokenUrl && (\n \n \n\n
    \n {hasDefinedValidity ? (\n \n Access expires in\n \n \n \n days\n \n
    \n ) : (\n \n Add expiry date\n
    \n )}\n
    \n\n
    \n {loading ? (\n \n ) : (\n \n )}\n
    \n \n )}\n \n )\n}\n\nexport default ExternalTokenForm\n","import React from 'react'\n\nimport './Loader.scss'\n\ninterface LoaderProps {\n readonly color?: string\n}\n\nconst Loader: React.FC = props => {\n return (\n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default Loader\n","import React from 'react'\nimport InputForFloatAsText from '@EditorComponents/InputForFloatAsText'\nimport CheckboxV2 from '@EditorComponents/CheckboxV2'\n\nimport './Parameter.scss'\n\ninterface ParameterProps {\n readonly title: string\n readonly value: number\n readonly minValue: number\n readonly maxValue: number\n readonly useValue: boolean\n readonly unit?: string\n readonly isForSite?: boolean\n changeParameter(newValue: number): void\n changeUseParameter(newUseParameter: boolean): void\n}\n\nconst Parameter: React.FC = props => {\n const {\n title,\n value,\n minValue,\n maxValue,\n unit,\n useValue,\n isForSite,\n } = props\n\n return (\n
    \n
    \n \n {title}\n
    \n \n
    \n )\n}\n\nexport default Parameter\n","var _path, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgRainbow = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 14,\n height: 15,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#rainbow_svg__a)\",\n d: \"M0 14.98h14v-14H0z\"\n})), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"rainbow_svg__a\",\n width: 1,\n height: 1,\n patternContentUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#rainbow_svg__b\",\n transform: \"scale(.00625)\"\n})), /*#__PURE__*/React.createElement(\"image\", {\n xlinkHref: \"data:image/png;base64,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\",\n id: \"rainbow_svg__b\",\n width: 160,\n height: 160\n}))));\nexport default SvgRainbow;","import React, { useState } from 'react'\nimport map from 'lodash/map'\n\nimport Rainbow from '@Images/rainbow.svg'\nimport ButtonNew from '@SiteComponents/ButtonNew'\n\nimport {\n ITheme,\n} from '@SiteModules/Theme/types'\n\nimport './ThemesForm.scss'\n\ninterface ThemesFormProps {\n readonly themes: ITheme[]\n readonly isReady: boolean\n readonly isRenderedInEditor: boolean\n onSubmit(themeId: number): void\n}\n\nconst ThemesForm: React.FC = props => {\n const [currentThemeId, setCurrentThemeId] = useState(undefined)\n const [hiddenImageIndex, setHiddenImageIndex] = useState(undefined)\n\n const {\n themes,\n isReady,\n isRenderedInEditor,\n onSubmit,\n } = props\n\n const noThemeSelected = !currentThemeId\n\n const onClick = () => {\n if (typeof(currentThemeId) === 'number') {\n onSubmit(currentThemeId)\n }\n }\n\n const renderVideoThemeList = () => {\n return (\n \n {map(themes, (theme, index) => {\n const { id, attributes } = theme\n const { name, sampleUrl, sampleImageUrl} = attributes\n const isSelected = id === currentThemeId\n const videoId = `theme-preview-${index}`\n\n const handleSelectTheme = () => {\n setCurrentThemeId(id)\n }\n\n const onMouseOver = () => {\n setHiddenImageIndex(index)\n const video = document.getElementById(videoId) as HTMLVideoElement\n video.play()\n }\n\n const onMouseOut = () => {\n setHiddenImageIndex(undefined)\n const video = document.getElementById(videoId) as HTMLVideoElement\n video.pause()\n video.currentTime = 0\n }\n\n const shouldShowImage = hiddenImageIndex !== index\n\n return (\n \n \n \n \n {shouldShowImage && (\n \n )}\n \n {name}\n
    \n \n )\n })}\n \n )\n }\n\n return (\n \n
    \n
    \n
    \n \n
    \n
    \n

    \n Choose your subtitles style\n

    \n
    \n \n Use one of our themes to give your video more impact.
    \n You can always customize the theme later in the settings of the project.\n \n {renderVideoThemeList()}\n \n
    \n )\n}\n\nexport default ThemesForm\n","import {\n AssetsActionTypes,\n IDeleteElementPayload,\n IGetElementsSuccessPayload,\n IGetAffectedProjectVersionsPayload,\n IGetAffectedProjectVersionsSuccessPayload,\n} from './types'\n\nexport const increasePageCount = () => ({\n type: AssetsActionTypes.INCREASE_PAGE_COUNT\n})\n\nexport const decreasePageCount = () => ({\n type: AssetsActionTypes.DECREASE_PAGE_COUNT\n})\n\nexport const getElements = () => ({\n type: AssetsActionTypes.GET_ELEMENTS\n})\n\nexport const getElementsSuccess = (payload: IGetElementsSuccessPayload) => ({\n type: AssetsActionTypes.GET_ELEMENTS_SUCCESS,\n payload\n})\n\nexport const getElementsFailure = () => ({\n type: AssetsActionTypes.GET_ELEMENTS_FAILURE\n})\n\nexport const getAffectedProjectVersions = (payload: IGetAffectedProjectVersionsPayload) => ({\n type: AssetsActionTypes.GET_AFFECTED_PROJECT_VERSIONS,\n payload\n})\n\nexport const getAffectedProjectVersionsSuccess = (payload: IGetAffectedProjectVersionsSuccessPayload) => ({\n type: AssetsActionTypes.GET_AFFECTED_PROJECT_VERSIONS_SUCCESS,\n payload\n})\n\nexport const getAffectedProjectVersionsFailure = () => ({\n type: AssetsActionTypes.GET_AFFECTED_PROJECT_VERSIONS_FAILURE,\n})\n\nexport const closeDeleteElementPopup = () => ({\n type: AssetsActionTypes.CLOSE_DELETE_ELEMENT_POPUP,\n})\n\nexport const deleteElement = (payload: IDeleteElementPayload) => ({\n type: AssetsActionTypes.DELETE_ELEMENT,\n payload\n})\n\nexport const deleteElementSuccess = () => ({\n type: AssetsActionTypes.DELETE_ELEMENT_SUCCESS,\n})\n\nexport const deleteElementFailure = () => ({\n type: AssetsActionTypes.DELETE_ELEMENT_FAILURE,\n})\n","import { IAction } from '@Root/types'\n\nimport {\n IProjectVersion\n} from '@SiteContainers/ProjectVersionsList/types'\n\nexport const AssetsActionTypes = {\n INCREASE_PAGE_COUNT: '@@assetsTable/INCREASE_PAGE_COUNT',\n DECREASE_PAGE_COUNT: '@@assetsTable/DECREASE_PAGE_COUNT',\n GET_ELEMENTS: '@@assetsTable/GET_ELEMENTS',\n GET_ELEMENTS_SUCCESS: '@@assetsTable/GET_ELEMENTS_SUCCESS',\n GET_ELEMENTS_FAILURE: '@@assetsTable/GET_ELEMENTS_FAILURE',\n GET_AFFECTED_PROJECT_VERSIONS: '@@assetsTable/GET_AFFECTED_PROJECTS',\n GET_AFFECTED_PROJECT_VERSIONS_SUCCESS: '@@assetsTable/GET_AFFECTED_PROJECT_VERSIONS_SUCCESS',\n GET_AFFECTED_PROJECT_VERSIONS_FAILURE: '@@assetsTable/GET_AFFECTED_PROJECT_VERSIONS_FAILURE',\n CLOSE_DELETE_ELEMENT_POPUP: '@@assetsTable/CLOSE_DELETE_ELEMENT_POPUP',\n DELETE_ELEMENT: '@@assetsTable/DELETE_ELEMENT',\n DELETE_ELEMENT_SUCCESS: '@@assetsTable/DELETE_ELEMENT_SUCCESS',\n DELETE_ELEMENT_FAILURE: '@@assetsTable/DELETE_ELEMENT_FAILURE',\n}\n\nexport interface IAssetsTableState {\n readonly elements: IElement[]\n readonly affectedProjectVersions: IProjectVersion[]\n readonly elementToDeleteId: string\n readonly loading: boolean\n readonly deleting: boolean\n readonly totalCount: number\n readonly totalPages: number\n readonly currentPage: number\n readonly loadingAffectedProjectVersions: boolean\n readonly openDeleteElementPopup: boolean\n}\n\nexport interface IElement {\n readonly id: string\n readonly type: 'element'\n readonly attributes: IElementAttributes\n}\n\nexport interface IElementAttributes {\n readonly thumbnailUrl: string\n readonly title: string\n readonly duration: string\n readonly createdAt: string\n readonly kind: string\n readonly size: string\n}\n\nexport interface IGetElementsPayload {\n readonly page: number\n}\n\nexport interface IGetElementsSuccessResponse {\n readonly data: IGetElementsBody\n readonly config: object\n readonly headers: object\n readonly request: object\n readonly status: 200\n readonly statusText: string\n}\n\nexport interface IGetElementsBody {\n readonly totalCount: number\n readonly totalPages: number\n readonly data: IElement[]\n}\n\nexport interface IGetElementsSuccessAction {\n type: string,\n payload: IGetElementsSuccessPayload\n}\n\nexport type IGetElementsSuccessPayload = IGetElementsBody\n\nexport interface IGetAffectedProjectVersionsPayload {\n readonly elementId: string\n}\n\nexport interface IGetAffectedProjectVersionsSuccessResponse {\n readonly data: IGetAffectedProjectVersionsBody\n readonly config: object\n readonly headers: object\n readonly request: object\n readonly status: 200\n readonly statusText: string\n}\n\nexport interface IGetAffectedProjectVersionsBody {\n data: IProjectVersion[]\n}\n\nexport interface IGetAffectedProjectVersionsSuccessAction {\n type: string,\n payload: IGetAffectedProjectVersionsSuccessPayload\n}\n\nexport interface IGetAffectedProjectVersionsSuccessPayload extends IGetAffectedProjectVersionsBody {\n elementId: string\n}\n\nexport interface IDeleteElementPayload {\n elementId: string\n}\n\nexport type IAssetsActionTypes = IAction | IGetElementsSuccessAction | IGetAffectedProjectVersionsSuccessAction\n","import {\n ChannelsActionTypes,\n IGetExternalVideosSuccessPayload,\n IGetExternalChannelsSuccessPayload,\n IRemoveExternalChannelPayload\n} from './types'\n\nexport const getExternalVideos = () => ({\n type: ChannelsActionTypes.GET_EXTERNAL_VIDEOS\n})\n\nexport const getExternalVideosFailure = () => ({\n type: ChannelsActionTypes.GET_EXTERNAL_VIDEOS_FAILURE\n})\n\nexport const getExternalVideosSuccess = (payload: IGetExternalVideosSuccessPayload) => ({\n type: ChannelsActionTypes.GET_EXTERNAL_VIDEOS_SUCCESS,\n payload\n})\n\nexport const increasePageCount = () => ({\n type: ChannelsActionTypes.INCREASE_PAGE_COUNT\n})\n\nexport const decreasePageCount = () => ({\n type: ChannelsActionTypes.DECREASE_PAGE_COUNT\n})\n\nexport const getExternalChannels = () => ({\n type: ChannelsActionTypes.GET_EXTERNAL_CHANNELS\n})\n\nexport const getExternalChannelsFailure = () => ({\n type: ChannelsActionTypes.GET_EXTERNAL_CHANNELS_FAILURE\n})\n\nexport const getExternalChannelsSuccess = (payload: IGetExternalChannelsSuccessPayload) => ({\n type: ChannelsActionTypes.GET_EXTERNAL_CHANNELS_SUCCESS,\n payload\n})\n\nexport const openActionsDropdown = () => ({\n type: ChannelsActionTypes.OPEN_ACTIONS_DROPDOWN\n})\n\nexport const closeDropdowns = () => ({\n type: ChannelsActionTypes.CLOSE_DROPDOWNS\n})\n\nexport const removeExternalChannel = (payload: IRemoveExternalChannelPayload) => ({\n type: ChannelsActionTypes.REMOVE_EXTERNAL_CHANNEL,\n payload\n})\n","export const ChannelsActionTypes = {\n GET_EXTERNAL_VIDEOS: '@@channelsTable/GET_EXTERNAL_VIDEOS',\n GET_EXTERNAL_VIDEOS_SUCCESS: '@@channelsTable/GET_EXTERNAL_VIDEOS_SUCCESS',\n GET_EXTERNAL_VIDEOS_FAILURE: '@@channelsTable/GET_EXTERNAL_VIDEOS_FAILURE',\n INCREASE_PAGE_COUNT: '@@channelsTable/INCREASE_PAGE_COUNT',\n DECREASE_PAGE_COUNT: '@@channelsTable/DECREASE_PAGE_COUNT',\n GET_EXTERNAL_CHANNELS: '@@channelsManage/GET_EXTERNAL_CHANNELS',\n GET_EXTERNAL_CHANNELS_SUCCESS: '@@channelsManage/GET_EXTERNAL_CHANNELS_SUCCESS',\n GET_EXTERNAL_CHANNELS_FAILURE: '@@channelsManage/GET_EXTERNAL_CHANNELS_FAILURE',\n OPEN_ACTIONS_DROPDOWN: '@@channelsManage/OPEN_ACTIONS_DROPDOWN',\n CLOSE_DROPDOWNS: '@@channelsManage/CLOSE_DROPDOWNS',\n REMOVE_EXTERNAL_CHANNEL: '@@channelsManage/REMOVE_EXTERNAL_CHANNEL'\n}\n\nexport interface IChannelsTableState {\n readonly externalChannels: IExternalChannel[]\n readonly externalVideos: IExternalVideo[]\n readonly loadingVideos: boolean\n readonly loadingChannels: boolean\n readonly totalCount: number\n readonly totalPages: number\n readonly currentPage: number\n readonly videosPerPage: number\n readonly actionsDropdownOpen: boolean\n readonly hasLoadedVideosOnce: boolean\n}\n\nexport interface IExternalChannel {\n readonly id: string\n readonly service: string\n readonly name: string\n readonly thumbnailUrl: string\n readonly valid: boolean\n readonly verified: boolean\n}\n\nexport interface IExternalVideo {\n readonly externalId: string\n readonly title: string\n readonly length: number\n readonly createdAt: string\n readonly thumbnailUrl: string\n readonly service: string\n readonly externalChannelId: string\n readonly externalChannelName: string\n readonly downloadUrl: string\n readonly canBeDownloaded: boolean\n readonly isReady: boolean\n}\n\nexport interface IGetExternalVideosAction {\n readonly type: string\n}\n\nexport interface IGetExternalVideosSuccessAction {\n readonly type: string\n readonly payload: IGetExternalVideosSuccessPayload\n}\n\nexport interface IGetExternalVideosSuccessPayload {\n readonly videos: IExternalVideo[]\n readonly unprocessedChannelsIds: number[]\n}\n\nexport interface IGetExternalChannelsAction {\n readonly type: string\n}\n\nexport interface IGetExternalChannelsSuccessAction {\n readonly type: string\n readonly payload: IGetExternalChannelsSuccessPayload\n}\n\nexport interface IGetExternalChannelsSuccessPayload {\n readonly externalChannels: IExternalChannel[]\n}\n\nexport interface IRemoveExternalChannelPayload {\n readonly externalChannelId: string\n}\n\nexport type IChannelsActionTypes = IGetExternalVideosAction | IGetExternalVideosSuccessAction | IGetExternalChannelsAction | IGetExternalChannelsSuccessAction\n","export const DashboardMenuActionTypes = {\n CHANGE_TAB: '@@dashboardMenu/CHANGE_TAB'\n}\n\nexport interface IChangeTabPayload {\n readonly newTab: string\n}\n\nexport interface IDashboardMenuState {\n readonly currentTab: string\n}\n\nexport interface IChangeTabAction {\n readonly type: string\n readonly payload: IChangeTabPayload\n}\n\nexport type IDashboardMenuActionTypes = IChangeTabAction\n","import {\n DashboardSidebarActionTypes,\n} from './types'\n\nimport {\n IDeleteLabelPayload,\n} from '@SiteContainers/DeleteLabelPopup/types'\n\nimport {\n IRenameLabelPopupOpenPayload,\n} from '@SiteContainers/RenameLabelPopup/types'\n\nexport const closePopupDashboardSidebar = () => ({\n type: DashboardSidebarActionTypes.CLOSE_POPUP\n})\n\nexport const openCreateLabelPopup = () => ({\n type: DashboardSidebarActionTypes.OPEN_CREATE_LABEL_POPUP\n})\n\nexport const openDeleteLabelPopup = (payload: IDeleteLabelPayload) => ({\n type: DashboardSidebarActionTypes.OPEN_DELETE_LABEL_POPUP,\n payload,\n})\n\nexport const openRenameLabelPopup = (payload: IRenameLabelPopupOpenPayload) => ({\n type: DashboardSidebarActionTypes.OPEN_RENAME_LABEL_POPUP,\n payload\n})\n","import { TActionTypes } from '@Root/types'\n\nexport const DashboardSidebarActionTypes = {\n CLOSE_POPUP: '@@dashboardSidebar/CLOSE_POPUP',\n OPEN_DELETE_LABEL_POPUP: '@@dashboardSidebar/OPEN_DELETE_LABEL_POPUP',\n OPEN_RENAME_LABEL_POPUP: '@@dashboardSidebar/OPEN_RENAME_LABEL_POPUP',\n OPEN_CREATE_LABEL_POPUP: '@@dashboardSidebar/OPEN_CREATE_LABEL_POPUP',\n}\n\nexport interface IDashboardSidebarState {\n readonly openCreateLabelPopup: boolean\n readonly openDeleteLabelPopup: boolean\n readonly openRenameLabelPopup: boolean\n}\n\nexport type IDashboardSidebarActions = TActionTypes\n","import {\n IDeleteLabelPayload,\n DeleteLabelActionTypes,\n TDeleteLabelActionTypes,\n} from './types'\n\nexport const deleteLabel = (payload: IDeleteLabelPayload): TDeleteLabelActionTypes => ({\n type: DeleteLabelActionTypes.DELETE_LABEL,\n payload,\n})\n\nexport const deleteLabelFailure = (): TDeleteLabelActionTypes => ({\n type: DeleteLabelActionTypes.DELETE_LABEL_FAILURE,\n})\n\nexport const deleteLabelSuccess = (): TDeleteLabelActionTypes => ({\n type: DeleteLabelActionTypes.DELETE_LABEL_SUCCESS\n})\n","export const DeleteLabelActionTypes = {\n DELETE_LABEL: '@@deleteLabel/DELETE_LABEL',\n DELETE_LABEL_FAILURE: '@@deleteLabel/DELETE_LABEL_FAILURE',\n DELETE_LABEL_SUCCESS: '@@deleteLabel/DELETE_LABEL_SUCCESS',\n}\n\nexport interface IDeleteLabelState {\n readonly errors: string[]\n readonly loading: boolean\n readonly caption: string\n readonly labelId: number\n}\n\nexport interface IDeleteLabelAction {\n readonly type: string\n readonly payload: IDeleteLabelPayload\n}\n\nexport interface IDeleteLabelSuccessAction {\n readonly type: string\n}\n\nexport interface IDeleteLabelFailureAction {\n readonly type: string\n}\n\nexport interface IDeleteLabelPayload {\n readonly labelId: number\n}\n\nexport interface IDeleteLabelPopupOpen {\n readonly type: string\n readonly payload: IDeleteLabelPopupOpenPayload\n}\n\nexport interface IDeleteLabelPopupOpenPayload {\n readonly labelId: number\n readonly caption: string\n}\n\nexport type TDeleteLabelActionTypes = IDeleteLabelAction | IDeleteLabelPopupOpen | IDeleteLabelFailureAction | IDeleteLabelSuccessAction\n","import {\n DeleteProjectVersionActionTypes,\n IDeleteProjectVersionActionTypes,\n IDeleteProjectVersionPayload,\n} from './types'\n\nexport const deleteProjectVersion = (payload: IDeleteProjectVersionPayload): IDeleteProjectVersionActionTypes => ({\n type: DeleteProjectVersionActionTypes.DELETE_PROJECT_VERSION,\n payload,\n})\n\nexport const deleteProjectVersionFailure = (): IDeleteProjectVersionActionTypes => ({\n type: DeleteProjectVersionActionTypes.DELETE_PROJECT_VERSION_FAILURE,\n})\n\nexport const deleteProjectVersionSuccess = (): IDeleteProjectVersionActionTypes => ({\n type: DeleteProjectVersionActionTypes.DELETE_PROJECT_VERSION_SUCCESS\n})\n","export const DeleteProjectVersionActionTypes = {\n DELETE_PROJECT_VERSION: '@@deleteProjectVersion/DELETE_PROJECT_VERSION',\n DELETE_PROJECT_VERSION_FAILURE: '@@deleteProjectVersion/DELETE_PROJECT_VERSION_FAILURE',\n DELETE_PROJECT_VERSION_SUCCESS: '@@deleteProjectVersion/DELETE_PROJECT_VERSION_SUCCESS',\n}\n\nexport interface IDeleteProjectVersionState {\n readonly errors: string[]\n readonly loading: boolean\n readonly projectVersionIds: string[]\n}\n\nexport interface IDeleteProjectVersionAction {\n readonly type: string\n readonly payload: IDeleteProjectVersionPayload\n}\n\nexport interface IDeleteProjectVersionSuccessAction {\n readonly type: string\n}\n\nexport interface IDeleteProjectVersionFailureAction {\n readonly type: string\n}\n\nexport interface IDeleteProjectVersionPayload {\n readonly projectVersionIds: string[]\n}\n\nexport type IDeleteProjectVersionActionTypes = IDeleteProjectVersionAction | IDeleteProjectVersionFailureAction | IDeleteProjectVersionSuccessAction\n","import {\n IExternalToken,\n ExternalTokenActionTypes,\n IExternalTokenActionTypes,\n ICreateOrUpdateExternalTokenPayload,\n} from './types'\n\nexport const createOrUpdateExternalToken = (payload: ICreateOrUpdateExternalTokenPayload): IExternalTokenActionTypes => ({\n type: ExternalTokenActionTypes.CREATE_OR_UPDATE_EXTERNAL_TOKEN,\n payload\n})\n\nexport const createOrUpdateExternalTokenSuccess = (externalTokenData: IExternalToken): IExternalTokenActionTypes => ({\n type: ExternalTokenActionTypes.CREATE_OR_UPDATE_EXTERNAL_TOKEN_SUCCESS,\n externalTokenData\n})\n\nexport const createOrUpdateExternalTokenFailure = (): IExternalTokenActionTypes => ({\n type: ExternalTokenActionTypes.CREATE_OR_UPDATE_EXTERNAL_TOKEN_FAILURE,\n})\n","export const ExternalTokenActionTypes = {\n CREATE_OR_UPDATE_EXTERNAL_TOKEN: '@@externalToken/CREATE_OR_UPDATE_EXTERNAL_TOKEN',\n CREATE_OR_UPDATE_EXTERNAL_TOKEN_SUCCESS: '@@externalTopup/CREATE_OR_UPDATE_EXTERNAL_TOKEN_SUCCESS',\n CREATE_OR_UPDATE_EXTERNAL_TOKEN_FAILURE: '@@externalTopup/CREATE_OR_UPDATE_EXTERNAL_TOKEN_FAILURE',\n}\n\nexport interface IExternalToken {\n readonly id: string\n readonly type: 'externalToken'\n readonly attributes: {\n readonly externalTokenUrl: string\n }\n}\n\nexport interface IExternalTokenData {\n readonly data: IExternalToken\n}\n\nexport interface IExternalTokenState {\n readonly externalTokenData: IExternalToken\n readonly loading: boolean\n}\n\nexport interface ICreateOrUpdateExternalTokenAction {\n readonly type: string\n readonly payload: ICreateOrUpdateExternalTokenPayload\n}\n\nexport interface ICreateOrUpdateExternalTokenPayload {\n readonly subtitleId: number\n readonly validityInDays: number\n}\n\nexport interface IFetchExternalTokenFailureAction {\n readonly type: string\n}\n\nexport interface ICreateOrUpdateExternalTokenFailureAction {\n readonly type: string\n}\n\nexport interface ICreateOrUpdateExternalTokenSuccessAction {\n readonly type: string\n readonly externalTokenData: IExternalToken\n}\n\nexport interface ICreateOrUpdateExternalTokenSuccessResponse {\n readonly data: IExternalTokenData\n readonly config: object\n readonly headers: object\n readonly request: object\n readonly status: number\n readonly statusText: string\n}\n\nexport type IExternalTokenActionTypes =\n ICreateOrUpdateExternalTokenAction |\n ICreateOrUpdateExternalTokenSuccessAction |\n IFetchExternalTokenFailureAction |\n ICreateOrUpdateExternalTokenFailureAction\n","import {\n IImportSrtPayload,\n ImportSrtActionTypes,\n} from './types'\n\nexport const importSrt = (payload: IImportSrtPayload) => ({\n type: ImportSrtActionTypes.IMPORT_SRT,\n payload,\n})\n\nexport const importSrtSuccess = () => ({\n type: ImportSrtActionTypes.IMPORT_SRT_SUCCESS,\n})\n\nexport const importSrtFailure = () => ({\n type: ImportSrtActionTypes.IMPORT_SRT_FAILURE,\n})\n","export const ImportSrtActionTypes = {\n IMPORT_SRT: '@@importSrt/IMPORT_SRT',\n IMPORT_SRT_SUCCESS: '@@importSrt/IMPORT_SRT_SUCCESS',\n IMPORT_SRT_FAILURE: '@@importSrt/IMPORT_SRT_FAILURE',\n}\n\nexport interface IImportSrtState {\n readonly loading: boolean\n}\n\nexport interface PayloadImportSrt {\n readonly payload: PayloadImportSrtBody\n}\n\nexport interface PayloadImportSrtBody {\n readonly fileSrt: File | null\n}\n\nexport interface IImportSrtAction {\n readonly type: string\n readonly payload: PayloadImportSrt\n}\n\nexport interface IImportSrtFailureAction {\n readonly type: string\n}\n\nexport interface IImportSrtSuccessAction {\n readonly type: string\n}\n\nexport interface IImportSrtPayload {\n readonly projectVersionId: string\n readonly subtitleId: number\n readonly fileSrt: File | null\n readonly enableSpeakerDiarization: boolean\n}\n\nexport type TImportSrtActions = IImportSrtAction | IImportSrtSuccessAction | IImportSrtFailureAction\n","import {\n IProjectVersion,\n IDeleteProjectVersionPopup,\n ProjectVersionActionTypes,\n ISubtitle,\n IOpenImportSrtPayload,\n IOpenExportationPayload,\n IOpenRateSubtitlePayload,\n IUpdateProjectVersionsPayload,\n TProjectVersionsListActionTypes,\n IChangeSelectedProjectVersionsPayload,\n IUPdateProjectVersionSuccessResponsePayload,\n IRateSubtitlePayload,\n} from './types'\n\nexport const fetchProjectVersions = (): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.FETCH_PROJECT_VERSIONS\n})\n\nexport const loadProjectVersions = (): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.LOAD_PROJECT_VERSIONS\n})\n\nexport const fetchProjectVersionsSuccess = (projectVersions: IProjectVersion[], subtitles: ISubtitle[], totalCount: number, totalPages: number): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.FETCH_PROJECT_VERSIONS_SUCCESS,\n projectVersions,\n totalCount,\n totalPages,\n subtitles\n})\n\nexport const fetchProjectVersionsFailure = (): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.FETCH_PROJECT_VERSIONS_FAILURE,\n})\n\nexport const updateProjectVersions = (payload: IUpdateProjectVersionsPayload): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.UPDATE_PROJECT_VERSIONS,\n payload\n})\n\nexport const updateProjectVersionsSuccess = (payload: IUPdateProjectVersionSuccessResponsePayload): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.UPDATE_PROJECT_VERSIONS_SUCCESS,\n payload\n})\n\nexport const updateProjectVersionsFailure = (): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.UPDATE_PROJECT_VERSIONS_FAILURE,\n})\n\nexport const closePopup = () => ({\n type: ProjectVersionActionTypes.CLOSE_POPUP\n})\n\nexport const openExternalTokenPopup = (subtitleId: number) => ({\n type: ProjectVersionActionTypes.OPEN_EXTERNAL_TOKEN_POPUP,\n payload: { subtitleId }\n})\n\nexport const openExportationPopup = (payload: IOpenExportationPayload) => ({\n type: ProjectVersionActionTypes.OPEN_EXPORTATION_POPUP,\n payload\n})\n\nexport const openRateSubtitlePopup = (payload: IOpenRateSubtitlePayload) => ({\n type: ProjectVersionActionTypes.OPEN_RATE_SUBTITLE_POPUP,\n payload\n})\n\nexport const openImportSrtPopup = (payload: IOpenImportSrtPayload) => ({\n type: ProjectVersionActionTypes.OPEN_IMPORT_SRT_POPUP,\n payload\n})\n\nexport const openDeleteProjectVersionPopup = (payload: IDeleteProjectVersionPopup) => ({\n type: ProjectVersionActionTypes.OPEN_DELETE_PROJECT_VERSION_POPUP,\n payload\n})\n\nexport const changeSelectedProjectVersions = (payload: IChangeSelectedProjectVersionsPayload): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.CHANGE_SELECTED_PROJECT_VERSIONS,\n payload\n})\n\nexport const increasePageCount = (): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.INCREASE_PAGE_COUNT,\n})\n\nexport const decreasePageCount = (): TProjectVersionsListActionTypes => ({\n type: ProjectVersionActionTypes.DECREASE_PAGE_COUNT,\n})\n\nexport const rateSubtitle = (payload: IRateSubtitlePayload) => {\n return {\n type: ProjectVersionActionTypes.RATE_SUBTITLE,\n payload\n }\n}\n","import { TActionTypes } from '@Root/types'\n\nexport const ProjectVersionActionTypes = {\n LOAD_PROJECT_VERSIONS: '@@projectVersionsList/LOAD_PROJECT_VERSIONS',\n FETCH_PROJECT_VERSIONS: '@@projectVersionsList/FETCH_PROJECT_VERSIONS',\n FETCH_PROJECT_VERSIONS_SUCCESS: '@@projectVersionsList/FETCH_PROJECT_VERSIONS_SUCCESS',\n FETCH_PROJECT_VERSIONS_FAILURE: '@@projectVersionsList/FETCH_PROJECT_VERSIONS_FAILURE',\n UPDATE_PROJECT_VERSIONS: '@@projectVersionsList/UPDATE_PROJECT_VERSIONS',\n UPDATE_PROJECT_VERSIONS_SUCCESS: '@@projectVersionsList/UPDATE_PROJECT_VERSIONS_SUCCESS',\n UPDATE_PROJECT_VERSIONS_FAILURE: '@@projectVersionsList/UPDATE_PROJECT_VERSIONS_FAILURE',\n CLOSE_POPUP: '@@projectVersionsList/CLOSE_POPUP',\n OPEN_EXTERNAL_TOKEN_POPUP: '@@projectVersionsList/OPEN_EXTERNAL_TOKEN_POPUP',\n OPEN_EXPORTATION_POPUP: '@@projectVersionsList/OPEN_EXPORTATION_POPUP',\n OPEN_RATE_SUBTITLE_POPUP: '@@projectVersionsList/OPEN_RATE_SUBTITLE_POPUP',\n OPEN_IMPORT_SRT_POPUP: '@@projectVersionsList/OPEN_IMPORT_SRT_POPUP',\n OPEN_DELETE_PROJECT_VERSION_POPUP: '@@projectVersionsList/OPEN_DELETE_PROJECT_VERSION_POPUP',\n CHANGE_SELECTED_PROJECT_VERSIONS: '@@projectVersionsList/CHANGE_SELECTED_PROJECT_VERSIONS',\n INCREASE_PAGE_COUNT: '@@projectVersionsList/INCREASE_PAGE_COUNT',\n DECREASE_PAGE_COUNT: '@@projectVersionsList/DECREASE_PAGE_COUNT',\n RATE_SUBTITLE: '@@projectVersionsList/RATE_SUBTITLE'\n}\n\nexport interface IProjectVersionsListState {\n readonly projectVersions: IProjectVersion[]\n readonly loading: boolean\n readonly subtitleId: number\n readonly subtitleIds: number[]\n readonly currentPage: number\n readonly totalCount: number\n readonly totalPages: number\n readonly subtitles: ISubtitle[]\n readonly editingProjectVersionIds: string[]\n readonly selectedProjectVersions: string[]\n readonly openImportSrtPopup: boolean\n readonly openDeleteProjectVersionPopup: boolean\n readonly openExportationPopup: boolean\n readonly openRateSubtitlePopup: boolean\n readonly openExternalTokenPopup: boolean\n readonly subtitleHasSpeakers: boolean\n readonly editingVideoBelongsToManualProject: boolean\n}\n\nexport interface IProjectVersion {\n readonly id: string\n readonly type: 'project_version'\n readonly attributes: IProjectVersionAttributes\n readonly relationships: IProjectVersionRelationships\n}\n\nexport interface IProjectVersionAttributes {\n readonly title: string\n readonly status: string\n readonly duration: string\n readonly language: string\n readonly createdAt: string\n readonly projectId: string\n readonly thumbnailUrl: string\n readonly hasBeenCaptionedForFree: boolean\n readonly hasAnySubscriptionSubtitles: boolean\n readonly belongsToManualProject: boolean\n readonly belongsToTtsProject: boolean\n readonly isDisabled: boolean\n readonly hasAssets: boolean,\n readonly isShortened: boolean,\n}\n\nexport type TProjectVersionDependency = ISubtitle\n\nexport interface IProjectVersionRelationships {\n readonly subtitles: {\n readonly data: ISubtitleReference[]\n }\n}\n\nexport interface IOpenExternalToken {\n readonly payload: {\n readonly subtitleId: number\n }\n}\n\nexport interface IOpenExportationAction {\n readonly type: string\n readonly payload: IOpenExportationPayload\n}\n\nexport interface IOpenExportationPayload {\n readonly subtitleIds: number[]\n}\n\nexport interface IOpenRateSubtitle {\n readonly payload: IOpenRateSubtitlePayload\n}\n\nexport interface IOpenRateSubtitlePayload {\n readonly subtitleId: number\n}\n\nexport interface IOpenImportSrtAction {\n readonly type: string\n readonly payload: IOpenImportSrtPayload\n}\n\nexport interface IOpenImportSrtPayload {\n readonly projectVersionId: string\n readonly subtitleId: number\n}\n\nexport interface IChangeSelectedProjectVersionsAction {\n readonly type: string\n readonly payload: IChangeSelectedProjectVersionsPayload\n}\n\nexport interface IChangeSelectedProjectVersionsPayload {\n readonly projectVersionId: string\n readonly selectProjectVersion: boolean\n}\n\nexport interface IUpdateProjectVersionsAction {\n readonly type: string\n readonly payload: IUpdateProjectVersionsPayload\n}\n\nexport interface IUpdateProjectVersionsPayload {\n readonly subtitlesToUpdateIds: number[]\n readonly projectVersionsToUpdateIds: string[]\n}\n\nexport interface IUpdateProjectVersionsApiCallPayload {\n readonly subtitlesToUpdateIds: number[]\n readonly projectVersionsToUpdateIds: string[]\n readonly selectedLabels: number[]\n}\n\nexport interface IUpdateProjectVersionsFailureAction {\n readonly type: string\n readonly error: string\n}\n\nexport interface IUpdateProjectVersionsSuccessAction {\n readonly type: string\n readonly payload: IUPdateProjectVersionSuccessResponsePayload\n}\n\nexport interface IUpdateProjectVersionsSuccessResponse {\n readonly data: IUPdateProjectVersionSuccessResponsePayload\n readonly config: object\n readonly headers: object\n readonly request: object\n readonly status: 200\n readonly statusText: string\n}\n\nexport interface IUPdateProjectVersionSuccessResponsePayload {\n readonly subtitles: {\n readonly data: ISubtitle[]\n }\n readonly projectVersions: {\n readonly data: IProjectVersion[]\n }\n}\n\nexport interface ISubtitle {\n readonly id: string\n readonly type: 'subtitle'\n readonly attributes: {\n readonly type: string\n readonly stage: string\n readonly projectId: string\n readonly projectVersionId: string\n readonly language: string\n readonly category: string\n readonly created_at: string\n readonly processing_step: string\n readonly waiting_for_completion_of_transcript: boolean\n readonly transcription: boolean\n readonly numberOfStars: number\n readonly hasPaidExportation: boolean\n readonly hasSpeakers: boolean\n readonly isExporting: boolean\n readonly exportedAt: string | null\n readonly exportationFileUrl: string | null\n readonly exportationUrls: IExportationUrls | null\n readonly hasVoice: boolean\n readonly belongsToTtsProject: boolean\n }\n}\n\nexport interface IExportationUrls {\n readonly [key: string]: string | undefined\n}\n\nexport interface ISubtitleReference {\n readonly id: string\n readonly type: 'subtitle'\n}\n\nexport interface IProjectVersionTableRow extends IProjectVersionAttributes {\n readonly id: string\n readonly subtitles: ISubtitleReference[]\n}\n\nexport interface IFetchProjectVersionsAction {\n readonly type: string\n}\n\nexport interface IFetchProjectVersionsApiCallPayload {\n readonly selectedLabels: number[]\n readonly page: number\n readonly perPage: number\n}\n\nexport interface IFetchProjectVersionsFailureAction {\n readonly type: string\n}\n\nexport interface IFetchProjectVersionsSuccessAction {\n readonly type: string\n readonly projectVersions: IProjectVersion[]\n readonly totalCount: number\n readonly totalPages: number\n readonly subtitles: ISubtitle[]\n}\n\nexport interface IFetchProjectVersionsSuccessResponse {\n readonly data: IFetchProjectVersionsBody\n readonly config: object\n readonly headers: object\n readonly request: object\n readonly status: 200\n readonly statusText: string\n}\n\nexport interface IFetchProjectVersionsSuccessAction {\n readonly data: IFetchProjectVersionsBody\n readonly config: object\n readonly headers: object\n readonly request: object\n readonly status: 200\n readonly statusText: string\n}\n\ninterface IFetchProjectVersionsBody {\n readonly data: IProjectVersion[]\n readonly included: ISubtitle[]\n readonly totalCount: number\n readonly totalPages: number\n}\n\nexport interface IDeleteProjectVersionPopup {\n readonly projectVersionIds: string[]\n}\n\nexport interface IOpenDeleteProjectVersionPopupAction {\n readonly type: string\n readonly payload: IDeleteProjectVersionPopup\n}\n\nexport interface IRateSubtitlePayload {\n readonly comment: string\n readonly subtitleId: string\n readonly numberOfStars: number\n}\n\nexport type TProjectVersionsListActionTypes =\n TActionTypes |\n IFetchProjectVersionsSuccessAction |\n IOpenDeleteProjectVersionPopupAction |\n IUpdateProjectVersionsAction |\n IUpdateProjectVersionsSuccessAction |\n IOpenExportationAction\n","import {\n IRenameLabelPayload,\n RenameLabelActionTypes,\n TRenameLabelActionTypes,\n} from './types'\n\nexport const renameLabel = (payload: IRenameLabelPayload): TRenameLabelActionTypes => ({\n type: RenameLabelActionTypes.RENAME_LABEL,\n payload\n})\n\nexport const renameLabelFailure = (): TRenameLabelActionTypes => ({\n type: RenameLabelActionTypes.RENAME_LABEL_FAILURE,\n})\n\nexport const renameLabelSuccess = (): TRenameLabelActionTypes => ({\n type: RenameLabelActionTypes.RENAME_LABEL_SUCCESS,\n})\n","export const RenameLabelActionTypes = {\n RENAME_LABEL: '@@renameLabelPopup/RENAME_LABEL',\n RENAME_LABEL_FAILURE: '@@renameLabelPopup/RENAME_LABEL_FAILURE',\n RENAME_LABEL_SUCCESS: '@@renameLabelPopup/RENAME_LABEL_SUCCESS',\n}\n\nexport interface IRenameLabelState {\n readonly errors: string[]\n readonly loading: boolean\n readonly labelId: number\n readonly caption: string\n}\n\nexport interface IRenameLabelAction {\n readonly type: string\n readonly payload: IRenameLabelPayload\n}\n\nexport interface IRenameLabelPayload {\n readonly labelId: number\n readonly caption: string\n}\n\nexport interface IRenameLabelPopupOpenPayload {\n readonly labelId: number\n readonly caption: string\n}\n\nexport interface IRenameLabelSuccessAction {\n readonly type: string\n}\n\nexport interface IRenameLabelFailureAction {\n readonly type: string\n}\n\nexport type TRenameLabelActionTypes = IRenameLabelAction | IRenameLabelSuccessAction | IRenameLabelFailureAction\n","import { TActionTypes, IAction } from '@Root/types'\n\nexport const DemoActionTypes = {\n SAVE_URL_IN_STATE: '@@demo/SAVE_URL_IN_STATE',\n SUBMIT_DEMO_PROJECT_VERSION_SETTINGS: '@@demo/SUBMIT_DEMO_PROJECT_VERSION_SETTINGS',\n SET_SUBMITTED: '@@demo/SET_SUBMITTED',\n}\n\nexport interface IDemoState {\n readonly videoUrl: string\n readonly needsDownload: boolean\n readonly submitted: boolean\n}\n\nexport interface ISaveUrlInStatePayload {\n readonly videoUrl: string\n readonly needsDownload: boolean\n}\n\nexport interface ISubmitDemoProjectVersionSettingsPayload {\n readonly videoUrl: string\n readonly email: string\n readonly projectVersionLanguage: string\n readonly subtitleLanguages: string[]\n readonly needsDownload: boolean\n readonly dubbing: boolean\n readonly adaptTranslation?: boolean\n readonly lipSyncModel?: string\n}\n\nexport type IDemoActionTypes =\n TActionTypes |\n IAction |\n IAction\n","import { IUploadedElement } from '@Utils/ElementUploader'\n\nimport {\n ISubmitUrlsPayload,\n ElementActionTypes,\n IInitializeUploadPayload,\n ISubmitUrlsSuccessResponseBody,\n ICreateElementSuccessResponseBody,\n} from './types'\n\nexport const createElement = (payload: IUploadedElement) => ({\n type: ElementActionTypes.CREATE_ELEMENT,\n payload\n})\n\nexport const createElementFailure = () => ({\n type: ElementActionTypes.CREATE_ELEMENT_FAILURE,\n})\n\nexport const createElementSuccess = (payload: ICreateElementSuccessResponseBody) => ({\n type: ElementActionTypes.CREATE_ELEMENT_SUCCESS,\n payload\n})\n\nexport const resetUpload = () => ({\n type: ElementActionTypes.RESET_UPLOAD,\n})\n\nexport const initializeUpload = (payload: IInitializeUploadPayload) => ({\n type: ElementActionTypes.INITIALIZE_UPLOAD,\n payload\n})\n\nexport const submitUrls = (payload: ISubmitUrlsPayload) => ({\n type: ElementActionTypes.SUBMIT_URLS,\n payload\n})\n\nexport const submitUrlsSuccess = (payload: ISubmitUrlsSuccessResponseBody) => ({\n type: ElementActionTypes.SUBMIT_URLS_SUCCESS,\n payload\n})\n\nexport const submitUrlsFailure = () => ({\n type: ElementActionTypes.SUBMIT_URLS_FAILURE,\n})\n","import { IAction } from '@Root/types'\nimport { IProjectVersion } from '@SiteContainers/ProjectVersionsList/types'\n\nexport const ElementActionTypes = {\n CREATE_ELEMENT: '@@element/CREATE_ELEMENT',\n CREATE_ELEMENT_SUCCESS: '@@element/CREATE_ELEMENT_SUCCESS',\n CREATE_ELEMENT_FAILURE: '@@element/CREATE_ELEMENT_FAILURE',\n RESET_UPLOAD: '@@element/RESET_UPLOAD',\n INITIALIZE_UPLOAD: '@@element/INITIALIZE_UPLOAD',\n SUBMIT_URLS: '@@element/SUBMIT_URLS',\n SUBMIT_URLS_SUCCESS: '@@element/SUBMIT_URLS_SUCCESS',\n SUBMIT_URLS_FAILURE: '@@element/SUBMIT_URLS_FAILURE',\n}\n\nexport interface IElementState {\n readonly uploading: boolean\n readonly numberOfFilesToUpload: number\n readonly alreadyUploaded: number\n readonly uploadedProjectVersionIds: string[]\n}\n\nexport interface IInitializeUploadPayload {\n readonly numberOfFilesToUpload: number\n}\n\nexport interface ICreateElementSuccessResponseBody {\n readonly data: IProjectVersion[]\n}\n\nexport interface ICreateElementSuccessAction {\n readonly type: string\n readonly payload: ICreateElementSuccessResponseBody\n}\n\nexport interface ISubmitUrlsPayload {\n readonly urls: string[]\n}\n\nexport interface ISubmitUrlsSuccessResponseBody {\n readonly data: IProjectVersion[]\n}\n\nexport interface ISubmitUrlsSuccessAction {\n readonly type: string\n readonly payload: ISubmitUrlsSuccessResponseBody\n}\n\nexport type TElementAction =\n IAction | ICreateElementSuccessAction | ISubmitUrlsSuccessAction\n","import {\n GuidelineActionTypes,\n IFetchGuidelinesSuccessResponseBody,\n IUpdateGuidelinePayload,\n IDeleteGuidelinePayload,\n ICreateGuidelinePayload,\n IUpdateDefaultGuidelinePayload,\n IDeleteDefaultGuidelinePayload,\n} from './types'\n\nexport const fetchGuidelines = () => ({\n type: GuidelineActionTypes.FETCH_GUIDELINES,\n})\n\nexport const fetchGuidelinesSuccess = (payload: IFetchGuidelinesSuccessResponseBody) => ({\n type: GuidelineActionTypes.FETCH_GUIDELINES_SUCCESS,\n payload,\n})\n\nexport const fetchGuidelinesFailure = () => ({\n type: GuidelineActionTypes.FETCH_GUIDELINES_FAILURE,\n})\n\nexport const createGuideline = (payload: ICreateGuidelinePayload) => ({\n type: GuidelineActionTypes.CREATE_GUIDELINE,\n payload,\n})\n\nexport const createGuidelineFailure = () => ({\n type: GuidelineActionTypes.CREATE_GUIDELINE_FAILURE,\n})\n\nexport const createGuidelineSuccess = () => ({\n type: GuidelineActionTypes.CREATE_GUIDELINE_SUCCESS,\n})\n\nexport const updateGuideline = (payload: IUpdateGuidelinePayload) => ({\n type: GuidelineActionTypes.UPDATE_GUIDELINE,\n payload,\n})\n\nexport const updateGuidelineSuccess = () => ({\n type: GuidelineActionTypes.UPDATE_GUIDELINE_SUCCESS,\n})\n\nexport const updateGuidelineFailure = () => ({\n type: GuidelineActionTypes.UPDATE_GUIDELINE_FAILURE,\n})\n\nexport const deleteGuideline = (payload: IDeleteGuidelinePayload) => ({\n type: GuidelineActionTypes.DELETE_GUIDELINE,\n payload,\n})\n\nexport const deleteGuidelineSuccess = () => ({\n type: GuidelineActionTypes.DELETE_GUIDELINE_SUCCESS,\n})\n\nexport const deleteGuidelineFailure = () => ({\n type: GuidelineActionTypes.DELETE_GUIDELINE_FAILURE,\n})\n\nexport const updateDefaultGuideline = (payload: IUpdateDefaultGuidelinePayload) => ({\n type: GuidelineActionTypes.UPDATE_DEFAULT_GUIDELINE,\n payload,\n})\n\nexport const updateDefaultGuidelineSuccess = () => ({\n type: GuidelineActionTypes.UPDATE_DEFAULT_GUIDELINE_SUCCESS,\n})\n\nexport const updateDefaultGuidelineFailure = () => ({\n type: GuidelineActionTypes.UPDATE_DEFAULT_GUIDELINE_FAILURE,\n})\n\nexport const deleteDefaultGuideline = (payload: IDeleteDefaultGuidelinePayload) => ({\n type: GuidelineActionTypes.DELETE_DEFAULT_GUIDELINE,\n payload,\n})\n\nexport const deleteDefaultGuidelineSuccess = () => ({\n type: GuidelineActionTypes.DELETE_DEFAULT_GUIDELINE_SUCCESS,\n})\n\nexport const deleteDefaultGuidelineFailure = () => ({\n type: GuidelineActionTypes.DELETE_DEFAULT_GUIDELINE_FAILURE,\n})\n","import { IActionSuccess } from '@Root/types'\n\nexport const GuidelineActionTypes = {\n FETCH_GUIDELINES: '@@guideline/FETCH_GUIDELINES',\n FETCH_GUIDELINES_SUCCESS: '@@guideline/FETCH_GUIDELINES_SUCCESS',\n FETCH_GUIDELINES_FAILURE: '@@guideline/FETCH_GUIDELINES_FAILURE',\n CREATE_GUIDELINE: '@@guideline/CREATE_GUIDELINE',\n CREATE_GUIDELINE_SUCCESS: '@@guideline/CREATE_GUIDELINE_SUCCESS',\n CREATE_GUIDELINE_FAILURE: '@@guideline/CREATE_GUIDELINE_FAILURE',\n UPDATE_GUIDELINE: '@@guideline/UPDATE_GUIDELINE',\n UPDATE_GUIDELINE_SUCCESS: '@@guideline/UPDATE_GUIDELINE_SUCCESS',\n UPDATE_GUIDELINE_FAILURE: '@@guideline/UPDATE_GUIDELINE_FAILURE',\n DELETE_GUIDELINE: '@@guideline/DELETE_GUIDELINE',\n DELETE_GUIDELINE_SUCCESS: '@@guideline/DELETE_GUIDELINE_SUCCESS',\n DELETE_GUIDELINE_FAILURE: '@@guideline/DELETE_GUIDELINE_FAILURE',\n UPDATE_DEFAULT_GUIDELINE: '@@guideline/UPDATE_DEFAULT_GUIDELINE',\n UPDATE_DEFAULT_GUIDELINE_SUCCESS: '@@guideline/UPDATE_DEFAULT_GUIDELINE_SUCCESS',\n UPDATE_DEFAULT_GUIDELINE_FAILURE: '@@guideline/UPDATE_DEFAULT_GUIDELINE_FAILURE',\n DELETE_DEFAULT_GUIDELINE: '@@guideline/DELETE_DEFAULT_GUIDELINE',\n DELETE_DEFAULT_GUIDELINE_SUCCESS: '@@guideline/DELETE_DEFAULT_GUIDELINE_SUCCESS',\n DELETE_DEFAULT_GUIDELINE_FAILURE: '@@guideline/DELETE_DEFAULT_GUIDELINE_FAILURE',\n}\n\nexport interface IGuidelineState {\n readonly guidelines: IGuideline[]\n readonly loading: boolean\n readonly modifying: boolean\n}\n\nexport interface IGuideline {\n readonly id: number\n readonly attributes: IGuidelineAttributes\n}\n\nexport interface IGuidelineAttributes {\n readonly category: string\n readonly name: string\n readonly prompt: string\n readonly isDefault: boolean\n readonly parameters: IGuidelineParameters\n}\n\nexport interface IGuidelineParameters {\n readonly numberOfLines: number\n readonly cpl: number\n readonly gap: number\n readonly cps: number\n readonly useAiCorrection: boolean\n readonly useNumberOfLines: boolean\n readonly useCpl: boolean\n readonly useGap: boolean\n readonly useCps: boolean\n readonly [key: string]: number | boolean\n}\n\nexport interface IGuidelineData {\n readonly id: string\n readonly type: 'guideline'\n readonly attributes: IGuidelineAttributes\n}\n\nexport interface IFetchGuidelinesSuccessResponseBody {\n readonly data: IGuidelineData[]\n}\n\nexport interface ICreateGuidelinePayload {\n readonly category: string\n readonly prompt?: string\n readonly parameters: IGuidelineParameters\n}\n\nexport interface IUpdateGuidelinePayload {\n readonly id: number\n readonly name?: string\n readonly prompt?: string\n readonly parameters?: IGuidelineParameters\n}\n\nexport interface IDeleteGuidelinePayload {\n readonly id: number\n}\n\nexport interface IUpdateDefaultGuidelinePayload {\n readonly id: number\n readonly name: string\n readonly prompt: string\n readonly parameters: IGuidelineParameters\n readonly category: string\n readonly hasSavedNameOnly: boolean\n}\n\nexport interface IDeleteDefaultGuidelinePayload {\n readonly id: number\n}\n\nexport interface ICreateCustomizationPayload {\n readonly content?: string\n readonly parameters?: IGuidelineParameters\n}\n\nexport interface ISaveCustomizationPayload {\n readonly id: number\n readonly name?: string\n readonly content?: string\n readonly parameters?: IGuidelineParameters\n readonly defaultGuideline?: IGuideline\n}\n\nexport interface IParameter {\n readonly name: string\n readonly title: string\n readonly unit: string\n readonly minValue: number\n readonly maxValue: number\n readonly isFloat?: boolean\n readonly step?: number\n}\n\nexport type TGuidelineActionTypes =\n IActionSuccess\n","import {\n ICreateLabelPayload,\n IFetchLabelsSuccessResponseBody,\n LabelActionTypes,\n ILabelActionTypes,\n IChangeSelectedLabelsPayload,\n IProjectVersionLabelsPayload\n} from './types'\n\nexport const fetchLabels = (): ILabelActionTypes => ({\n type: LabelActionTypes.FETCH_LABELS,\n})\n\nexport const fetchLabelsFailure = (): ILabelActionTypes => ({\n type: LabelActionTypes.FETCH_LABELS_FAILURE,\n})\n\nexport const fetchLabelsSuccess = (payload: IFetchLabelsSuccessResponseBody): ILabelActionTypes => ({\n type: LabelActionTypes.FETCH_LABELS_SUCCESS,\n payload,\n})\n\nexport const createLabel = (payload: ICreateLabelPayload): ILabelActionTypes => ({\n type: LabelActionTypes.CREATE_LABEL,\n payload,\n})\n\nexport const createLabelFailure = (): ILabelActionTypes => ({\n type: LabelActionTypes.CREATE_LABEL_FAILURE,\n})\n\nexport const createLabelSuccess = (): ILabelActionTypes => ({\n type: LabelActionTypes.CREATE_LABEL_SUCCESS,\n})\n\nexport const changeSelectedLabels = (payload: IChangeSelectedLabelsPayload): ILabelActionTypes => ({\n type: LabelActionTypes.CHANGE_SELECTED_LABELS,\n payload\n})\n\nexport const resetLabelSelection = (): ILabelActionTypes => ({\n type: LabelActionTypes.RESET_LABEL_SELECTION,\n})\n\nexport const deleteProjectVersionLabels = (payload: IProjectVersionLabelsPayload): ILabelActionTypes => ({\n type: LabelActionTypes.DELETE_PROJECT_VERSION_LABELS,\n payload\n})\n\nexport const deleteProjectVersionLabelsFailure = (): ILabelActionTypes => ({\n type: LabelActionTypes.DELETE_PROJECT_VERSION_LABELS_FAILURE,\n})\n\nexport const deleteProjectVersionLabelsSuccess = (): ILabelActionTypes => ({\n type: LabelActionTypes.DELETE_PROJECT_VERSION_LABELS_SUCCESS,\n})\n\nexport const createProjectVersionLabels = (payload: IProjectVersionLabelsPayload): ILabelActionTypes => ({\n type: LabelActionTypes.CREATE_PROJECT_VERSION_LABELS,\n payload\n})\n\nexport const createProjectVersionLabelsFailure = (): ILabelActionTypes => ({\n type: LabelActionTypes.CREATE_PROJECT_VERSION_LABELS_FAILURE,\n})\n\nexport const createProjectVersionLabelsSuccess = (): ILabelActionTypes => ({\n type: LabelActionTypes.CREATE_PROJECT_VERSION_LABELS_SUCCESS,\n})\n","import { TActionTypes, IAction } from '@Root/types'\n\nexport const LabelActionTypes = {\n FETCH_LABELS: '@@label/FETCH_LABEL',\n FETCH_LABELS_FAILURE: '@@label/FETCH_LABELS_FAILURE',\n FETCH_LABELS_SUCCESS: '@@label/FETCH_LABELS_SUCCESS',\n CREATE_LABEL: '@@label/CREATE_LABEL',\n CREATE_LABEL_FAILURE: '@@label/CREATE_LABEL_FAILURE',\n CREATE_LABEL_SUCCESS: '@@label/CREATE_LABEL_SUCCESS',\n CHANGE_SELECTED_LABELS: '@@label/CHANGE_SELECTED_LABELS',\n RESET_LABEL_SELECTION: '@@label/RESET_LABEL_SELECTION',\n DELETE_PROJECT_VERSION_LABELS: '@@label/DELETE_PROJECT_VERSION_LABELS',\n DELETE_PROJECT_VERSION_LABELS_FAILURE: '@@label/DELETE_PROJECT_VERSION_LABELS_FAILURE',\n DELETE_PROJECT_VERSION_LABELS_SUCCESS: '@@label/DELETE_PROJECT_VERSION_LABELS_SUCCESS',\n CREATE_PROJECT_VERSION_LABELS: '@@label/CREATE_PROJECT_VERSION_LABELS',\n CREATE_PROJECT_VERSION_LABELS_FAILURE: '@@label/CREATE_PROJECT_VERSION_LABELS_FAILURE',\n CREATE_PROJECT_VERSION_LABELS_SUCCESS: '@@label/CREATE_PROJECT_VERSION_LABELS_SUCCESS',\n}\n\nexport interface ILabelState {\n readonly labels: ILabel[]\n readonly selectedLabels: number[]\n readonly createLabel: {\n readonly loading: boolean\n }\n readonly fetchLabels: {\n readonly loading: boolean\n }\n}\n\nexport interface ILabel {\n readonly id: string\n readonly type: 'label'\n readonly attributes: ILabelAttributes\n}\n\nexport interface ILabelAttributes {\n readonly id: number\n readonly caption: string\n readonly projectVersionIds: string[]\n}\n\nexport interface IFetchSsoDataPayload {\n readonly ssoOrganizationId: number\n}\n\nexport interface IFetchLabelsSuccessResponseBody {\n readonly data: ILabel[]\n}\n\nexport interface IFetchLabelsSuccessAction extends IAction {\n readonly payload: IFetchLabelsSuccessResponseBody\n}\n\nexport interface ICreateLabelPayload {\n readonly caption: string\n}\n\nexport interface IChangeSelectedLabelsAction {\n readonly type: string\n readonly payload: IChangeSelectedLabelsPayload\n}\n\nexport interface IChangeSelectedLabelsPayload {\n readonly labelId: number\n}\n\nexport interface IProjectVersionLabelsPayload {\n readonly labelId: number\n readonly selectedProjectVersions: string[]\n}\n\nexport interface IEditLabelPayload {\n readonly id: string\n readonly labelName: string\n}\n\nexport type ILabelActionTypes =\n TActionTypes |\n IAction |\n IFetchLabelsSuccessAction |\n IChangeSelectedLabelsAction |\n IAction\n","import {\n ProjectActionTypes\n} from './types'\n\nexport const createProject = () => ({\n type: ProjectActionTypes.CREATE_PROJECT,\n})\n\nexport const createProjectSuccess = () => ({\n type: ProjectActionTypes.CREATE_PROJECT_SUCCESS,\n})\n\nexport const createProjectFailure = () => ({\n type: ProjectActionTypes.CREATE_PROJECT_FAILURE,\n})\n","import { IProjectVersion } from '@SiteContainers/ProjectVersionsList/types'\n\nexport const ProjectActionTypes = {\n CREATE_PROJECT: '@@project/CREATE_PROJECT',\n CREATE_PROJECT_SUCCESS: '@@project/CREATE_PROJECT_SUCCESS',\n CREATE_PROJECT_FAILURE: '@@project/CREATE_PROJECT_FAILURE',\n}\n\nexport interface ICreateProjectSuccessResponseBody {\n readonly data: IProjectVersion[]\n}\n","import {\n ISubscription,\n ICancelSubscriptionPayload,\n IStartCheckoutSessionPayload,\n IUpdateSubscriptionPayload,\n SubscriptionsActionTypes,\n TSubscriptionsActionTypes,\n} from './types'\n\nexport const cancelSubscription = (payload: ICancelSubscriptionPayload): TSubscriptionsActionTypes => ({\n type: SubscriptionsActionTypes.CANCEL_SUBSCRIPTION,\n payload,\n})\n\nexport const cancelSubscriptionSuccess = (payload: ISubscription): TSubscriptionsActionTypes => ({\n type: SubscriptionsActionTypes.CANCEL_SUBSCRIPTION_SUCCESS,\n payload\n})\n\nexport const cancelSubscriptionFailure = (): TSubscriptionsActionTypes => ({\n type: SubscriptionsActionTypes.CANCEL_SUBSCRIPTION_FAILURE,\n})\n\nexport const startCheckoutSession = (payload: IStartCheckoutSessionPayload): TSubscriptionsActionTypes => ({\n type: SubscriptionsActionTypes.START_CHECKOUT_SESSION,\n payload\n})\n\nexport const startCheckoutSessionFailure = (): TSubscriptionsActionTypes => ({\n type: SubscriptionsActionTypes.START_CHECKOUT_SESSION_FAILURE,\n})\n\nexport const updateSubscription = (payload: IUpdateSubscriptionPayload): TSubscriptionsActionTypes => ({\n type: SubscriptionsActionTypes.UPDATE_SUBSCRIPTION,\n payload,\n})\n\nexport const updateSubscriptionSuccess = (payload: ISubscription): TSubscriptionsActionTypes => ({\n type: SubscriptionsActionTypes.UPDATE_SUBSCRIPTION_SUCCESS,\n payload,\n})\n\nexport const updateSubscriptionFailure = (): TSubscriptionsActionTypes => ({\n type: SubscriptionsActionTypes.UPDATE_SUBSCRIPTION_FAILURE,\n})\n","import { IAction, TActions } from '@Root/types'\n\nexport const SubscriptionsActionTypes = {\n CANCEL_SUBSCRIPTION: '@@subscription/CANCEL_SUBSCRIPTION',\n CANCEL_SUBSCRIPTION_SUCCESS: '@@subscription/CANCEL_SUBSCRIPTION_SUCCESS',\n CANCEL_SUBSCRIPTION_FAILURE: '@@subscription/CANCEL_SUBSCRIPTION_FAILURE',\n\n UPDATE_SUBSCRIPTION: '@@subscription/UPDATE_SUBSCRIPTION',\n UPDATE_SUBSCRIPTION_SUCCESS: '@@subscription/UPDATE_SUBSCRIPTION_SUCCESS',\n UPDATE_SUBSCRIPTION_FAILURE: '@@subscription/UPDATE_SUBSCRIPTION_FAILURE',\n\n START_CHECKOUT_SESSION: '@@subscription/START_CHECKOUT_SESSION',\n START_CHECKOUT_SESSION_FAILURE: '@@subscription/START_CHECKOUT_SESSION_FAILURE',\n}\n\nexport interface ISubscriptionState {\n readonly hasLoadedSuccessfully: boolean\n}\n\nexport interface ISubscription {\n readonly id: string\n readonly type: 'subscription',\n readonly attributes: {\n readonly plan: string\n readonly maxLanguagesLimit: number\n readonly minutesProvided: number\n readonly minutesProvidedByPeriod: number\n readonly isCurrent: boolean\n readonly isCanceled: boolean\n readonly isTrialing: boolean\n readonly cancelAtPeriodEnd: boolean\n readonly hasCreditLikeCharging: boolean\n readonly renewalDate: string\n readonly allowsVoice: boolean\n readonly allowsVoiceCloning: boolean\n readonly allowsTranslationAdaptionForDubbing: boolean\n readonly allowsLipSyncing: boolean\n }\n readonly price: IPrice\n}\n\nexport interface IPrice {\n readonly id: string,\n readonly type: 'price'\n readonly attributes: {\n readonly amount: number\n readonly vat: number\n readonly shouldApplyVat: boolean\n readonly currency: string\n }\n}\n\nexport interface ISubscriptionBody {\n readonly data: ISubscription\n}\n\nexport interface ICancelSubscriptionPayload {\n readonly cancellationReason?: string\n}\n\nexport interface IStartCheckoutSessionPayload {\n readonly planName: string,\n readonly currency: string\n}\n\nexport interface IUpdateSubscriptionPayload {\n readonly subscriptionId: string,\n readonly planName: string,\n}\n\nexport interface IUpdateSubscriptionSuccessResponseBody {\n readonly data: ISubscription\n}\n\nexport type ICancelSubscriptionSuccessResponseBody = IUpdateSubscriptionSuccessResponseBody\n\nexport interface IUpdateSubscriptionSuccessAction extends IAction {\n readonly payload: ISubscription\n}\n\nexport type ICancelSubscriptionSuccessAction = IUpdateSubscriptionSuccessAction\n\nexport type TSubscriptionsActionTypes =\n TActions |\n TActions |\n IUpdateSubscriptionSuccessAction |\n ICancelSubscriptionSuccessAction\n","import {\n TermbaseActionTypes,\n IFetchTermbasesSuccessResponseBody,\n IFetchTermbaseEntriesPayload,\n IFetchTermbaseEntriesSuccessResponseBody,\n ISetActiveTermbaseIdPayload,\n ISetActivePagePayload,\n ISetSearchTermPayload,\n ICreateTermbasePayload,\n IUpdateTermbasePayload,\n IDeleteTermbasePayload,\n IUpdateTermbaseEntryPayload,\n IAddTermbaseEntryPayload,\n IDeleteTermbaseEntryPayload,\n} from './types'\n\nexport const fetchTermbases = () => ({\n type: TermbaseActionTypes.FETCH_TERMBASES,\n})\n\nexport const fetchTermbasesFailure = () => ({\n type: TermbaseActionTypes.FETCH_TERMBASES_FAILURE,\n})\n\nexport const fetchTermbasesSuccess = (payload: IFetchTermbasesSuccessResponseBody) => ({\n type: TermbaseActionTypes.FETCH_TERMBASES_SUCCESS,\n payload,\n})\n\nexport const fetchTermbaseEntries = (payload: IFetchTermbaseEntriesPayload) => ({\n type: TermbaseActionTypes.FETCH_TERMBASE_ENTRIES,\n payload,\n})\n\nexport const fetchTermbaseEntriesFailure = () => ({\n type: TermbaseActionTypes.FETCH_TERMBASE_ENTRIES_FAILURE,\n})\n\nexport const fetchTermbaseEntriesSuccess = (payload: IFetchTermbaseEntriesSuccessResponseBody) => ({\n type: TermbaseActionTypes.FETCH_TERMBASE_ENTRIES_SUCCESS,\n payload,\n})\n\nexport const setActiveTermbaseId = (payload: ISetActiveTermbaseIdPayload) => ({\n type: TermbaseActionTypes.SET_ACTIVE_TERMBASE_ID,\n payload,\n})\n\nexport const setActivePage = (payload: ISetActivePagePayload) => ({\n type: TermbaseActionTypes.SET_ACTIVE_PAGE,\n payload,\n})\n\nexport const resetTermbaseEntries = () => ({\n type: TermbaseActionTypes.RESET_TERMBASE_ENTRIES,\n})\n\nexport const setSearchTerm = (payload: ISetSearchTermPayload) => ({\n type: TermbaseActionTypes.SET_SEARCH_TERM,\n payload\n})\n\nexport const createTermbase = (payload: ICreateTermbasePayload) => ({\n type: TermbaseActionTypes.CREATE_TERMBASE,\n payload,\n})\n\nexport const createTermbaseFailure = () => ({\n type: TermbaseActionTypes.CREATE_TERMBASE_FAILURE,\n})\n\nexport const createTermbaseSuccess = () => ({\n type: TermbaseActionTypes.CREATE_TERMBASE_SUCCESS,\n})\n\nexport const updateTermbase = (payload: IUpdateTermbasePayload) => ({\n type: TermbaseActionTypes.UPDATE_TERMBASE,\n payload,\n})\n\nexport const updateTermbaseFailure = () => ({\n type: TermbaseActionTypes.UPDATE_TERMBASE_FAILURE,\n})\n\nexport const updateTermbaseSuccess = () => ({\n type: TermbaseActionTypes.UPDATE_TERMBASE_SUCCESS,\n})\n\nexport const updateTermbaseEntry = (payload: IUpdateTermbaseEntryPayload) => ({\n type: TermbaseActionTypes.UPDATE_TERMBASE_ENTRY,\n payload,\n})\n\nexport const updateTermbaseEntryFailure = () => ({\n type: TermbaseActionTypes.UPDATE_TERMBASE_ENTRY_FAILURE,\n})\n\nexport const updateTermbaseEntrySuccess = () => ({\n type: TermbaseActionTypes.UPDATE_TERMBASE_ENTRY_SUCCESS,\n})\n\nexport const deleteTermbase = (payload: IDeleteTermbasePayload) => ({\n type: TermbaseActionTypes.DELETE_TERMBASE,\n payload,\n})\n\nexport const deleteTermbaseFailure = () => ({\n type: TermbaseActionTypes.DELETE_TERMBASE_FAILURE,\n})\n\nexport const deleteTermbaseSuccess = () => ({\n type: TermbaseActionTypes.DELETE_TERMBASE_SUCCESS,\n})\n\nexport const deleteTermbaseEntry = (payload: IDeleteTermbaseEntryPayload) => ({\n type: TermbaseActionTypes.DELETE_TERMBASE_ENTRY,\n payload,\n})\n\nexport const deleteTermbaseEntryFailure = () => ({\n type: TermbaseActionTypes.DELETE_TERMBASE_ENTRY_FAILURE,\n})\n\nexport const deleteTermbaseEntrySuccess = () => ({\n type: TermbaseActionTypes.DELETE_TERMBASE_ENTRY_SUCCESS,\n})\n\nexport const addTermbaseEntry = (payload: IAddTermbaseEntryPayload) => ({\n type: TermbaseActionTypes.ADD_TERMBASE_ENTRY,\n payload,\n})\n\nexport const addTermbaseEntrySuccess = () => ({\n type: TermbaseActionTypes.ADD_TERMBASE_ENTRY_SUCCESS,\n})\n\nexport const addTermbaseEntryFailure = () => ({\n type: TermbaseActionTypes.ADD_TERMBASE_ENTRY_FAILURE,\n})\n","import { IAction, IActionSuccess } from '@Root/types'\n\nexport const TermbaseActionTypes = {\n FETCH_TERMBASES: '@@termbase/FETCH_TERMBASES',\n FETCH_TERMBASES_FAILURE: '@@termbase/FETCH_TERMBASES_FAILURE',\n FETCH_TERMBASES_SUCCESS: '@@termbase/FETCH_TERMBASES_SUCCESS',\n FETCH_TERMBASE_ENTRIES: '@@termbase/FETCH_TERMBASE_ENTRIES',\n FETCH_TERMBASE_ENTRIES_FAILURE: '@@termbase/FETCH_TERMBASE_ENTRIES_FAILURE',\n FETCH_TERMBASE_ENTRIES_SUCCESS: '@@termbase/FETCH_TERMBASE_ENTRIES_SUCCESS',\n SET_ACTIVE_TERMBASE_ID: '@@termbase/SET_ACTIVE_TERMBASE_ID',\n SET_ACTIVE_PAGE: '@@termbase/SET_ACTIVE_PAGE',\n RESET_TERMBASE_ENTRIES: '@@termbase/RESET_TERMBASE_ENTRIES',\n SET_SEARCH_TERM: '@@termbase/SET_SEARCH_TERM',\n CREATE_TERMBASE: '@@termbase/CREATE_TERMBASE',\n CREATE_TERMBASE_FAILURE: '@@termbase/CREATE_TERMBASE_FAILURE',\n CREATE_TERMBASE_SUCCESS: '@@termbase/CREATE_TERMBASE_SUCCESS',\n UPDATE_TERMBASE: '@@termbase/UPDATE_TERMBASE',\n UPDATE_TERMBASE_FAILURE: '@@termbase/UPDATE_TERMBASE_FAILURE',\n UPDATE_TERMBASE_SUCCESS: '@@termbase/UPDATE_TERMBASE_SUCCESS',\n UPDATE_TERMBASE_ENTRY: '@@termbase/UPDATE_TERMBASE_ENTRY',\n UPDATE_TERMBASE_ENTRY_FAILURE: '@@termbase/UPDATE_TERMBASE_ENTRY_FAILURE',\n UPDATE_TERMBASE_ENTRY_SUCCESS: '@@termbase/UPDATE_TERMBASE_ENTRY_SUCCESS',\n DELETE_TERMBASE: '@@termbase/DELETE_TERMBASE',\n DELETE_TERMBASE_FAILURE: '@@termbase/DELETE_TERMBASE_FAILURE',\n DELETE_TERMBASE_SUCCESS: '@@termbase/DELETE_TERMBASE_SUCCESS',\n DELETE_TERMBASE_ENTRY: '@@termbase/DELETE_TERMBASE_ENTRY',\n DELETE_TERMBASE_ENTRY_FAILURE: '@@termbase/DELETE_TERMBASE_ENTRY_FAILURE',\n DELETE_TERMBASE_ENTRY_SUCCESS: '@@termbase/DELETE_TERMBASE_ENTRY_SUCCESS',\n ADD_TERMBASE_ENTRY: '@@termbase/ADD_TERMBASE_ENTRY',\n ADD_TERMBASE_ENTRY_SUCCESS: '@@termbase/ADD_TERMBASE_ENTRY_SUCCESS',\n ADD_TERMBASE_ENTRY_FAILURE: '@@termbase/ADD_TERMBASE_ENTRY_FAILURE',\n}\n\nexport interface ITermbaseState {\n readonly termbases: ITermbase[]\n readonly termbaseEntries: ITermbaseEntry[]\n readonly activeTermbaseId?: number\n readonly activePage: number\n readonly totalPages: number\n readonly totalTermbaseEntryCount: number\n readonly searchTerm?: string\n readonly loadingTermbases: boolean\n readonly loadingTermbaseEntries: boolean\n readonly modifying: boolean\n readonly allFullnameLanguages: string[]\n}\n\nexport interface ITermbase {\n readonly id: number\n readonly attributes: ITermbaseAttributes\n}\n\nexport interface ITermbaseAttributes {\n readonly name: string\n readonly languages: string[]\n readonly fullnameLanguages: string[]\n}\n\nexport interface ITermbaseEntry {\n id: number,\n attributes: ITermbaseEntryAttributes\n}\n\nexport interface ITermbaseEntryAttributes {\n data: ITermbaseEntryData[]\n}\n\nexport interface ITermbaseEntryData {\n language: string\n term?: string\n pronunciation?: string\n updatedAt: string\n}\n\nexport interface IFetchTermbasesSuccessResponseBody {\n readonly data: IFetchTermbasesSuccessResponseData[]\n readonly allFullnameLanguages: string[]\n}\n\nexport interface IFetchTermbasesSuccessResponseData {\n readonly id: string\n readonly type: 'termbase'\n readonly attributes: ITermbaseAttributes\n}\n\nexport interface IFetchTermbaseEntriesPayload {\n readonly termbaseId: number\n readonly page: number\n readonly searchTerm?: string\n}\n\nexport interface IFetchTermbaseEntriesSuccessResponseBody {\n readonly data: IFetchTermbaseEntriesSuccessResponseData[]\n readonly totalCount: number\n readonly totalPages: number\n}\n\nexport interface IFetchTermbaseEntriesSuccessResponseData {\n readonly id: string\n readonly type: 'termbaseEntry'\n readonly attributes: ITermbaseEntryAttributes\n}\n\nexport interface ISetActiveTermbaseIdPayload {\n activeTermbaseId?: number\n}\n\nexport interface ISetActivePagePayload {\n activePage: number\n}\n\nexport interface ISetSearchTermPayload {\n searchTerm: string\n}\n\nexport interface ICreateTermbasePayload {\n name: string,\n languages: string[]\n}\n\nexport interface IUpdateTermbasePayload {\n readonly id: number\n readonly name: string\n readonly languages: string[]\n}\n\nexport interface IDeleteTermbasePayload {\n readonly id: number\n}\n\nexport interface ISaveTermbasePayload {\n name: string,\n languages: string[]\n}\n\nexport interface IAddTermbaseEntryPayload {\n readonly id: number\n}\n\nexport interface IUpdateTermbaseEntryPayload {\n readonly termbaseEntryId: number\n readonly entryDataItemIndex: number\n readonly term?: string\n readonly pronunciation?: string\n}\n\nexport interface IDeleteTermbaseEntryPayload {\n id: number\n}\n\nexport type TTermbaseActionTypes =\n IActionSuccess |\n IActionSuccess |\n IAction |\n IAction |\n IAction\n","import {\n ThemeActionTypes,\n TThemeActionTypes,\n ISetThemePayload,\n IFetchThemesSuccessResponseBody,\n} from './types'\n\nexport const setTheme = (payload: ISetThemePayload): TThemeActionTypes => ({\n type: ThemeActionTypes.SET_THEME,\n payload\n})\n\nexport const openSetThemePopup = (): TThemeActionTypes => ({\n type: ThemeActionTypes.OPEN_SET_THEME_POPUP,\n})\n\nexport const closeSetThemePopup = (): TThemeActionTypes => ({\n type: ThemeActionTypes.CLOSE_SET_THEME_POPUP,\n})\n\nexport const fetchThemes = () => ({\n type: ThemeActionTypes.FETCH_THEMES,\n})\n\nexport const fetchThemesSuccess = (payload: IFetchThemesSuccessResponseBody) => ({\n type: ThemeActionTypes.FETCH_THEMES_SUCCESS,\n payload,\n})\n\nexport const fetchThemesFailure = () => ({\n type: ThemeActionTypes.FETCH_THEMES_FAILURE,\n})\n","import { IActionSuccess, IAction } from '@Root/types'\n\nexport const ThemeActionTypes = {\n SET_THEME: '@@theme/SET_THEME',\n FETCH_THEMES: '@@theme/FETCH_THEMES',\n FETCH_THEMES_SUCCESS: '@@theme/FETCH_THEMES_SUCCESS',\n FETCH_THEMES_FAILURE: '@@theme/FETCH_THEMES_FAILURE',\n OPEN_SET_THEME_POPUP: '@@theme/OPEN_SET_THEME_POPUP',\n CLOSE_SET_THEME_POPUP: '@@theme/CLOSE_SET_THEME_POPUP',\n}\n\nexport interface IThemeState {\n readonly themes: ITheme[]\n readonly setThemePopupOpen: boolean\n readonly loadingThemes: boolean\n}\n\nexport interface ITheme {\n readonly id: number\n readonly attributes: IThemeAttributes\n}\n\nexport interface IThemeAttributes {\n readonly name: string\n readonly sampleUrl?: string\n readonly sampleImageUrl?: string\n}\n\nexport interface ISetThemePayload {\n readonly themeId: number\n readonly isNewProject: boolean\n readonly projectVersionIds: string[]\n readonly subtitleLanguages: string[]\n}\n\nexport interface IThemeData {\n readonly id: string\n readonly type: 'theme'\n readonly attributes: IThemeAttributes\n}\n\nexport interface IFetchThemesSuccessResponseBody {\n readonly data: IThemeData[]\n}\n\nexport type TThemeActionTypes = IAction | IActionSuccess\n","import {\n IUserInfo,\n IUserStripeInfo,\n UserActionTypes,\n IConnectExternalChannel,\n IOpenSsoAdminPortal,\n ISetLastViewedAlert,\n} from './types'\n\nimport {\n IGetExportingSubtitleIdsSuccessPayload,\n IGetExportingProjectVersionIdsSuccessPayload,\n} from '@EditorModules/User/types'\n\nexport const logout = (payload: string) => ({\n type: UserActionTypes.LOGOUT,\n payload\n})\n\nexport const logoutFailure = () => ({\n type: UserActionTypes.LOGOUT_FAILURE,\n})\n\nexport const logoutSuccess = () => ({\n type: UserActionTypes.LOGOUT_SUCCESS,\n})\n\nexport const getUserInfo = () => ({\n type: UserActionTypes.GET_INFO,\n})\n\nexport const getUserInfoSuccess = (payload: IUserInfo) => ({\n type: UserActionTypes.GET_INFO_SUCCESS,\n payload,\n})\n\nexport const getUserInfoFailure = () => ({\n type: UserActionTypes.GET_INFO_FAILURE,\n})\n\nexport const getUserStripeInfo = () => ({\n type: UserActionTypes.GET_STRIPE_INFO,\n})\n\nexport const getUserStripeInfoSuccess = (payload: IUserStripeInfo) => ({\n type: UserActionTypes.GET_STRIPE_INFO_SUCCESS,\n payload,\n})\n\nexport const getUserStripeInfoFailure = () => ({\n type: UserActionTypes.GET_STRIPE_INFO_FAILURE,\n})\n\nexport const connectExternalChannel = (payload: IConnectExternalChannel) => ({\n type: UserActionTypes.CONNECT_EXTERNAL_CHANNEL,\n payload\n})\n\nexport const createCustomerPortalSession = () => ({\n type: UserActionTypes.CREATE_CUSTOMER_PORTAL_SESSION\n})\n\nexport const createCustomerPortalSessionFailure = () => ({\n type: UserActionTypes.CREATE_CUSTOMER_PORTAL_SESSION_FAILURE,\n})\n\nexport const openSsoAdminPortal = (payload: IOpenSsoAdminPortal) => ({\n type: UserActionTypes.OPEN_SSO_ADMIN_PORTAL,\n payload\n})\n\nexport const setLastViewedAlert = (payload: ISetLastViewedAlert) => ({\n type: UserActionTypes.SET_LAST_VIEWED_ALERT,\n payload\n})\n\nexport const getExportingSubtitleIds = () => {\n return {\n type: UserActionTypes.GET_EXPORTING_SUBTITLE_IDS,\n }\n}\n\nexport const getExportingSubtitleIdsSuccess = (payload: IGetExportingSubtitleIdsSuccessPayload) => {\n return {\n type: UserActionTypes.GET_EXPORTING_SUBTITLE_IDS_SUCCESS,\n payload,\n }\n}\n\nexport const getExportingProjectVersionIds = () => {\n return {\n type: UserActionTypes.GET_EXPORTING_PROJECT_VERSION_IDS,\n }\n}\n\nexport const getExportingProjectVersionIdsSuccess = (payload: IGetExportingProjectVersionIdsSuccessPayload) => {\n return {\n type: UserActionTypes.GET_EXPORTING_PROJECT_VERSION_IDS_SUCCESS,\n payload,\n }\n}\n","import { IAction } from '@Root/types'\n\nimport {\n ISubscription\n} from '@SiteModules/Subscription/types'\n\nimport {\n IGetExportingSubtitleIdsSuccessPayload,\n IGetExportingProjectVersionIdsSuccessPayload\n} from '@EditorModules/User/types'\n\nexport const UserActionTypes = {\n LOGOUT: '@@user/LOGOUT',\n LOGOUT_FAILURE: '@@user/LOGOUT_FAILURE',\n LOGOUT_SUCCESS: '@@user/LOGOUT_SUCCESS',\n\n GET_INFO: '@@user/GET_INFO',\n GET_INFO_FAILURE: '@@user/GET_INFO_FAILURE',\n GET_INFO_SUCCESS: '@@user/GET_INFO_SUCCESS',\n\n GET_STRIPE_INFO: '@@user/GET_STRIPE_INFO',\n GET_STRIPE_INFO_FAILURE: '@@user/GET_STRIPE_INFO_FAILURE',\n GET_STRIPE_INFO_SUCCESS: '@@user/GET_STRIPE_INFO_SUCCESS',\n\n CONNECT_EXTERNAL_CHANNEL: '@@user/CONNECT_EXTERNAL_CHANNEL',\n\n CREATE_CUSTOMER_PORTAL_SESSION: '@@user/CREATE_CUSTOMER_PORTAL_SESSION',\n CREATE_CUSTOMER_PORTAL_SESSION_FAILURE: '@@user/CREATE_CUSTOMER_PORTAL_SESSION_FAILURE',\n\n OPEN_SSO_ADMIN_PORTAL: '@@user/OPEN_SSO_ADMIN_PORTAL',\n\n SET_LAST_VIEWED_ALERT: '@@user/SET_LAST_VIEWED_ALERT',\n\n GET_EXPORTING_SUBTITLE_IDS: '@@user/GET_EXPORTING_SUBTITLE_IDS',\n GET_EXPORTING_SUBTITLE_IDS_SUCCESS: '@@user/GET_EXPORTING_SUBTITLE_IDS_SUCCESS',\n\n GET_EXPORTING_PROJECT_VERSION_IDS: '@@user/GET_EXPORTING_PROJECT_VERSION_IDS',\n GET_EXPORTING_PROJECT_VERSION_IDS_SUCCESS: '@@user/GET_EXPORTING_PROJECT_VERSION_IDS_SUCCESS',\n}\n\nexport interface IConnectExternalChannel {\n readonly service: string\n}\n\nexport interface IOpenSsoAdminPortal {\n readonly ssoOrganizationId: number\n}\n\nexport interface ISetLastViewedAlert {\n readonly alertId: number\n}\n\nexport interface IUserState {\n readonly user: IUser\n readonly loading: boolean\n readonly hasLoadedStripeInfoSuccessfully: boolean\n readonly subscription: ISubscription\n readonly stripe?: IUserStripe\n}\n\nexport interface IUser {\n readonly id: string\n readonly type: 'user'\n readonly attributes: IUserAttributes\n}\n\nexport interface IUserAttributes {\n readonly name: string\n readonly email: string\n readonly lastName: string\n readonly role: string\n readonly workspaceId: number\n readonly onboardingState: string\n readonly maxFileSize: number | null\n readonly confirmedEmail: boolean\n readonly remainingElementStorageSpace: number\n readonly usedElementStorageSpace: number\n readonly maxElementStorageSpace: number\n readonly hasActiveElements: boolean\n readonly canGetTrial: boolean\n readonly isNewUser: boolean\n readonly usingPersonalSubscription: boolean\n readonly lastUsedTranscriptInformation?: ITranscriptInformation\n readonly lastUsedTranslationInformation?: ITranslationInformation\n readonly lastUsedDubbingInformation?: IDubbingInformation\n readonly lastUsedTtsProjectVersionLanguage?: string\n readonly lastUsedTermbaseName?: string\n readonly relevantAlert: IAlert | null\n readonly exportingSubtitleIds: number[]\n readonly exportingProjectVersionIds: string[]\n readonly availableTotalCredits: number\n}\n\nexport interface IAlert {\n readonly id: number\n readonly message: string\n}\n\nexport interface ITranscriptInformation {\n readonly language?: string\n readonly subtitleLanguages?: string[]\n readonly vocabularyName?: string\n readonly guidelineName?: string\n readonly createdAfterGuidelineDeployment?: boolean\n}\n\nexport interface ITranslationInformation {\n readonly lastUsedReviewTranscript: boolean\n readonly guidelineName?: string\n readonly createdAfterGuidelineDeployment?: boolean\n}\n\nexport interface IDubbingInformation {\n readonly lastUsedSeparateAudio?: boolean\n readonly lastUsedAdaptTranslation?: boolean\n}\n\nexport interface IUserStripe {\n readonly id: string\n readonly type: 'userStripe'\n readonly attributes: IUserStripeAttributes\n}\n\nexport interface IUserStripeAttributes {\n readonly taxPercent: number\n readonly customerCurrency?: string\n}\n\nexport interface IUserStripeInfo {\n readonly data: IUserStripe\n}\n\nexport interface IUserInfo {\n readonly user: {\n readonly data: IUser,\n }\n readonly subscription: {\n readonly data: ISubscription,\n },\n readonly stripe?: IUserStripeInfo\n}\n\nexport type TUserActions = IAction | IAction | IAction | IAction | IAction\n","import {\n VocabularyActionTypes,\n IFetchVocabulariesSuccessResponseBody,\n ICreateVocabularyPayload,\n IUpdateVocabularyPayload,\n IDeleteVocabularyPayload,\n} from './types'\n\nexport const fetchVocabularies = () => ({\n type: VocabularyActionTypes.FETCH_VOCABULARIES,\n})\n\nexport const fetchVocabulariesFailure = () => ({\n type: VocabularyActionTypes.FETCH_VOCABULARIES_FAILURE,\n})\n\nexport const fetchVocabulariesSuccess = (payload: IFetchVocabulariesSuccessResponseBody) => ({\n type: VocabularyActionTypes.FETCH_VOCABULARIES_SUCCESS,\n payload,\n})\n\nexport const createVocabulary = (payload: ICreateVocabularyPayload) => ({\n type: VocabularyActionTypes.CREATE_VOCABULARY,\n payload,\n})\n\nexport const createVocabularyFailure = () => ({\n type: VocabularyActionTypes.CREATE_VOCABULARY_FAILURE,\n})\n\nexport const createVocabularySuccess = () => ({\n type: VocabularyActionTypes.CREATE_VOCABULARY_SUCCESS,\n})\n\nexport const updateVocabulary = (payload: IUpdateVocabularyPayload) => ({\n type: VocabularyActionTypes.UPDATE_VOCABULARY,\n payload,\n})\n\nexport const updateVocabularyFailure = () => ({\n type: VocabularyActionTypes.UPDATE_VOCABULARY_FAILURE,\n})\n\nexport const updateVocabularySuccess = () => ({\n type: VocabularyActionTypes.UPDATE_VOCABULARY_SUCCESS,\n})\n\nexport const deleteVocabulary = (payload: IDeleteVocabularyPayload) => ({\n type: VocabularyActionTypes.DELETE_VOCABULARY,\n payload,\n})\n\nexport const deleteVocabularyFailure = () => ({\n type: VocabularyActionTypes.DELETE_VOCABULARY_FAILURE,\n})\n\nexport const deleteVocabularySuccess = () => ({\n type: VocabularyActionTypes.DELETE_VOCABULARY_SUCCESS,\n})\n","import { IActionSuccess } from '@Root/types'\n\nexport const VocabularyActionTypes = {\n FETCH_VOCABULARIES: '@@vocabulary/FETCH_VOCABULARIES',\n FETCH_VOCABULARIES_FAILURE: '@@vocabulary/FETCH_VOCABULARIES_FAILURE',\n FETCH_VOCABULARIES_SUCCESS: '@@vocabulary/FETCH_VOCABULARIES_SUCCESS',\n CREATE_VOCABULARY: '@@vocabulary/CREATE_VOCABULARY',\n CREATE_VOCABULARY_FAILURE: '@@vocabulary/CREATE_VOCABULARY_FAILURE',\n CREATE_VOCABULARY_SUCCESS: '@@vocabulary/CREATE_VOCABULARY_SUCCESS',\n UPDATE_VOCABULARY: '@@vocabulary/UPDATE_VOCABULARY',\n UPDATE_VOCABULARY_FAILURE: '@@vocabulary/UPDATE_VOCABULARY_FAILURE',\n UPDATE_VOCABULARY_SUCCESS: '@@vocabulary/UPDATE_VOCABULARY_SUCCESS',\n DELETE_VOCABULARY: '@@vocabulary/DELETE_VOCABULARY',\n DELETE_VOCABULARY_FAILURE: '@@vocabulary/DELETE_VOCABULARY_FAILURE',\n DELETE_VOCABULARY_SUCCESS: '@@vocabulary/DELETE_VOCABULARY_SUCCESS',\n}\n\nexport interface IVocabularyState {\n readonly vocabularies: IVocabulary[]\n readonly loading: boolean\n readonly modifying: boolean\n}\n\nexport interface IVocabulary {\n readonly id: number\n readonly attributes: IVocabularyAttributes\n}\n\nexport interface IVocabularyAttributes {\n readonly name: string\n readonly utterances: string[]\n}\n\nexport interface IVocabularyData {\n readonly id: string\n readonly type: 'vocabulary'\n readonly attributes: IVocabularyAttributes\n}\n\nexport interface IFetchVocabulariesSuccessResponseBody {\n readonly data: IVocabularyData[]\n}\n\nexport interface ICreateVocabularyPayload {\n readonly utterances?: string[]\n}\n\nexport interface IUpdateVocabularyPayload {\n readonly id: number\n readonly name?: string\n readonly utterances?: string[]\n}\n\nexport interface IDeleteVocabularyPayload {\n readonly id: number\n}\n\nexport type TVocabularyActionTypes =\n IActionSuccess\n","import {\n ISurveyData,\n SurveyActionTypes,\n TSurveyActionTypes,\n} from './types'\n\nexport const submitSurvey = (payload: ISurveyData): TSurveyActionTypes => ({\n type: SurveyActionTypes.SUBMIT_SURVEY,\n payload,\n})\n\nexport const submitSurveySuccess = (): TSurveyActionTypes => ({\n type: SurveyActionTypes.SUBMIT_SURVEY_SUCCESS,\n})\n\nexport const submitSurveyFailure = (): TSurveyActionTypes => ({\n type: SurveyActionTypes.SUBMIT_SURVEY_FAILURE,\n})\n","import { TActions } from '@Root/types'\n\nexport const SurveyActionTypes = {\n SUBMIT_SURVEY: '@@surveyForm/SUBMIT_SURVEY',\n SUBMIT_SURVEY_FAILURE: '@@surveyForm/SUBMIT_SURVEY_FAILURE',\n SUBMIT_SURVEY_SUCCESS: '@@surveyForm/SUBMIT_SURVEY_SUCCESS',\n}\n\nexport interface ISurveyData {\n readonly role: string\n readonly videoQuantityPerMonth: string\n readonly organizationSize: string\n}\n\nexport type TSurveyActionTypes = TActions\n","import {\n TProcessingActionTypes,\n ProcessingActionTypes,\n IFetchProcessingInfoPayload,\n IFetchProcessingInfoSuccessResponseBody,\n IFetchCurrentProcessingStepPayload,\n IFetchCurrentProcessingStepSuccessResponseBody\n} from './types'\n\nexport const fetchProcessingInfo = (payload: IFetchProcessingInfoPayload): TProcessingActionTypes => ({\n type: ProcessingActionTypes.FETCH_PROCESSING_INFO,\n payload\n})\n\nexport const fetchProcessingInfoSuccess = (payload: IFetchProcessingInfoSuccessResponseBody): TProcessingActionTypes => ({\n type: ProcessingActionTypes.FETCH_PROCESSING_INFO_SUCCESS,\n payload,\n})\n\nexport const fetchProcessingInfoSuccessForDownloading = (): TProcessingActionTypes => ({\n type: ProcessingActionTypes.FETCH_PROCESSING_INFO_SUCCESS_FOR_DOWNLOADING,\n})\n\nexport const fetchCurrentProcessingStep = (payload: IFetchCurrentProcessingStepPayload): TProcessingActionTypes => ({\n type: ProcessingActionTypes.FETCH_CURRENT_PROCESSING_STEP,\n payload\n})\n\nexport const fetchCurrentProcessingStepSuccess = (payload: IFetchCurrentProcessingStepSuccessResponseBody): TProcessingActionTypes => ({\n type: ProcessingActionTypes.FETCH_CURRENT_PROCESSING_STEP_SUCCESS,\n payload,\n})\n","import { TActionTypes, IAction } from '@Root/types'\n\nexport const ProcessingActionTypes = {\n FETCH_PROCESSING_INFO: '@@processing/FETCH_PROCESSING_INFO',\n FETCH_PROCESSING_INFO_SUCCESS: '@@processing/FETCH_PROCESSING_INFO_SUCCESS',\n FETCH_PROCESSING_INFO_SUCCESS_FOR_DOWNLOADING: '@@processing/FETCH_PROCESSING_INFO_SUCCESS_FOR_DOWNLOADING',\n FETCH_CURRENT_PROCESSING_STEP: '@@processing/FETCH_CURRENT_PROCESSING_STEP',\n FETCH_CURRENT_PROCESSING_STEP_SUCCESS: '@@processing/FETCH_CURRENT_PROCESSING_STEP_SUCCESS',\n}\n\nexport interface IProcessingState {\n readonly loading: boolean\n readonly attributes: IProcessingAttributes\n}\n\nexport interface IProcessingAttributes {\n readonly allProcessingSteps: string[]\n readonly currentProcessingStep: string\n readonly projectVersionDuration: number\n readonly projectTitle: string\n readonly projectId: string\n readonly subtitleId: number\n readonly hasVoice: boolean\n}\n\nexport interface IFetchProcessingInfoPayload {\n readonly projectVersionId: string\n}\n\nexport interface IFetchProcessingInfoSuccessResponseBody {\n readonly data: {\n readonly attributes: IProcessingAttributes\n }\n}\n\nexport interface IFetchCurrentProcessingStepPayload {\n readonly projectVersionId: string\n}\n\nexport interface IFetchCurrentProcessingStepSuccessResponseBody {\n readonly data: {\n readonly currentProcessingStep: string\n }\n}\n\nexport type TProcessingActionTypes = TActionTypes |\n IAction |\n IAction\n","import {\n IFetchProjectVersionSettingsSuccessPayload,\n TProjectVersionSettingsAction,\n PayloadSubmitProjectVersionUpdateBody,\n ProjectVersionSettingsActionTypes,\n IProjectVersionSettingsActionTypes,\n IFetchProjectVersionSettingsMultiplePayload,\n IFetchProjectVersionSettingsMultipleSuccessPayload,\n IFetchProjectVersionSettingsPayload,\n IFetchProjectVersionSettingsDemoSuccessPayload,\n} from './types'\n\nexport const submitProjectVersionUpdate = (payload: PayloadSubmitProjectVersionUpdateBody) => ({\n type: ProjectVersionSettingsActionTypes.SUBMIT_PROJECT_VERSION_UPDATE,\n payload,\n})\n\nexport const submitProjectVersionUpdateSuccess = (): TProjectVersionSettingsAction => ({\n type: ProjectVersionSettingsActionTypes.SUBMIT_PROJECT_VERSION_UPDATE_SUCCESS\n})\n\nexport const submitProjectVersionUpdateFailure = (): TProjectVersionSettingsAction => ({\n type: ProjectVersionSettingsActionTypes.SUBMIT_PROJECT_VERSION_UPDATE_FAILURE,\n})\n\nexport const fetchProjectVersionSettings = (payload: IFetchProjectVersionSettingsPayload): IProjectVersionSettingsActionTypes => ({\n type: ProjectVersionSettingsActionTypes.FETCH_PROJECT_VERSION_SETTINGS,\n payload,\n})\n\nexport const fetchProjectVersionSettingsSuccess = (payload: IFetchProjectVersionSettingsSuccessPayload): IProjectVersionSettingsActionTypes => ({\n type: ProjectVersionSettingsActionTypes.FETCH_PROJECT_VERSION_SETTINGS_SUCCESS,\n payload,\n})\n\nexport const projectVersionSettingsFailure = (): IProjectVersionSettingsActionTypes => ({\n type: ProjectVersionSettingsActionTypes.PROJECT_VERSION_SETTINGS_FAILURE,\n})\n\nexport const fetchProjectVersionSettingsMultiple = (payload: IFetchProjectVersionSettingsMultiplePayload): IProjectVersionSettingsActionTypes => ({\n type: ProjectVersionSettingsActionTypes.FETCH_PROJECT_VERSION_SETTINGS_MULTIPLE,\n payload,\n})\n\nexport const fetchProjectVersionSettingsMultipleSuccess = (payload: IFetchProjectVersionSettingsMultipleSuccessPayload): IProjectVersionSettingsActionTypes => ({\n type: ProjectVersionSettingsActionTypes.FETCH_PROJECT_VERSION_SETTINGS_MULTIPLE_SUCCESS,\n payload,\n})\n\nexport const fetchProjectVersionSettingsDemo = (): IProjectVersionSettingsActionTypes => ({\n type: ProjectVersionSettingsActionTypes.FETCH_PROJECT_VERSION_SETTINGS_DEMO,\n})\n\nexport const fetchProjectVersionSettingsDemoSuccess = (payload: IFetchProjectVersionSettingsDemoSuccessPayload): IProjectVersionSettingsActionTypes => ({\n type: ProjectVersionSettingsActionTypes.FETCH_PROJECT_VERSION_SETTINGS_DEMO_SUCCESS,\n payload,\n})\n","import { IAction } from '@Root/types'\n\nexport const ProjectVersionSettingsActionTypes = {\n SUBMIT_PROJECT_VERSION_UPDATE: '@@projectVersionSettings/SUBMIT_PROJECT_VERSION_UPDATE',\n SUBMIT_PROJECT_VERSION_UPDATE_SUCCESS: '@@projectVersionSettings/SUBMIT_PROJECT_VERSION_UPDATE_SUCCESS',\n SUBMIT_PROJECT_VERSION_UPDATE_FAILURE: '@@projectVersionSettings/SUBMIT_PROJECT_VERSION_UPDATE_FAILURE',\n FETCH_PROJECT_VERSION_SETTINGS: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS',\n FETCH_PROJECT_VERSION_SETTINGS_SUCCESS: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS_SUCCESS',\n PROJECT_VERSION_SETTINGS_FAILURE: '@@projectVersionSettings/PROJECT_VERSION_SETTINGS_FAILURE',\n FETCH_PROJECT_VERSION_SETTINGS_MULTIPLE: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS_MULTIPLE',\n FETCH_PROJECT_VERSION_SETTINGS_MULTIPLE_SUCCESS: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS_MULTIPLE_SUCCESS',\n FETCH_PROJECT_VERSION_SETTINGS_DEMO: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS_DEMO',\n FETCH_PROJECT_VERSION_SETTINGS_DEMO_SUCCESS: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS_DEMO_SUCCESS',\n}\n\nexport interface IProjectVersionSettings {\n readonly attributes: IProjectVersionSettingsStateAttributes\n}\n\nexport type IProjectVersionSettingsStateAttributes = IProjectVersionSettingsAttributes & IOtherSettingsAttributes & ILanguageSettingsAttributes\n\nexport interface IProjectVersionSettingsAttributes {\n readonly title: string\n readonly language: string\n readonly duration: number\n readonly subtitleLanguages: string[]\n readonly hasMainAssets: boolean\n readonly hasAudioSeparation: boolean\n readonly subscriptionSubtitlesLength: number\n readonly projectTermbaseName?: string\n}\n\nexport interface IOtherSettingsAttributes {\n readonly availableTotalCredits: number\n}\n\nexport interface ILanguageSettingsAttributes extends ILanguageBaseSettingsAttributes {\n readonly alignmentLanguages: string[]\n readonly translationFormalityOptionLanguages: string[]\n}\n\nexport interface ILanguageBaseSettingsAttributes {\n readonly languagesForVideos: string[]\n readonly translationLanguages: string[]\n readonly nonTranslatableLanguages: string[]\n readonly voiceCloningLanguages: string[]\n}\n\nexport interface IProjectVersionSettingsState {\n readonly projectVersionSettings: IProjectVersionSettings\n readonly loading: boolean\n readonly isReadyForTheme: boolean\n}\n\nexport interface PayloadSubmitProjectVersionUpdate {\n readonly payload: PayloadSubmitProjectVersionUpdateBody\n}\n\nexport interface PayloadSubmitProjectVersionUpdateBody {\n readonly projectVersionLanguage: string\n readonly vocabularyIds: number[]\n readonly subtitleLanguages: string[]\n readonly automaticTranslation: boolean\n readonly projectVersionIds: string[]\n readonly includesTranscript: boolean\n readonly transcriptText?: string\n readonly srtTranscriptText?: string\n readonly reviewTranscriptBeforeTranslation: boolean\n readonly formality?: string\n readonly enableSpeakerDiarization: boolean\n readonly dubbing: boolean\n readonly generateShortenedProjectVersion: boolean\n readonly createCustomVoices?: boolean\n readonly shouldSeparateAudio?: boolean\n readonly adaptTranslation?: boolean\n readonly lipSyncModel?: string\n readonly captionGuidelineId?: number\n readonly translationGuidelineId?: number\n readonly termbaseId?: number\n}\n\nexport interface IFetchProjectVersionSettingsPayload {\n readonly projectVersionId: string\n}\n\nexport interface IProjectVersionSettingsFailureAction {\n readonly type: string\n}\n\nexport interface IFetchProjectVersionSettingsSuccessPayload {\n attributes: IProjectVersionSettingsStateAttributes\n}\n\nexport interface IFetchProjectVersionSettingsSuccessResponse {\n readonly data : {\n readonly projectVersionData: IProjectVersionDataBody\n readonly otherData: IOtherDataBody\n readonly languageData: ILanguageDataBody\n }\n}\n\nexport interface IProjectVersionDataBody {\n readonly id: string\n readonly type: 'projectVersionSettings'\n readonly attributes: IProjectVersionSettingsAttributes\n}\n\nexport interface IOtherDataBody {\n readonly id: string\n readonly type: 'otherSettings'\n readonly attributes: IOtherSettingsAttributes\n}\n\nexport interface ILanguageDataBody {\n readonly id: string\n readonly type: 'languageSettings'\n readonly attributes: ILanguageSettingsAttributes\n}\n\nexport interface ILanguageBaseDataBody {\n readonly id: string\n readonly type: 'languageSettings'\n readonly attributes: ILanguageBaseSettingsAttributes\n}\n\nexport interface IOpenProjectVersionSettings {\n readonly type: string\n readonly projectVersionId: string\n}\n\nexport interface ISubmitProjectVersionUpdateFailureAction {\n readonly type: string\n}\n\nexport interface IFetchProjectVersionSettingsMultiplePayload {\n projectVersionIds: string[]\n}\n\nexport interface IFetchProjectVersionSettingsMultipleSuccessResponse {\n readonly data : {\n readonly projectVersionData: IProjectVersionMultipleDataBody\n readonly otherData: IOtherDataBody\n readonly languageData: ILanguageDataBody\n }\n}\n\nexport interface IProjectVersionMultipleDataBody {\n readonly attributes: IProjectVersionSettingsMultipleAttributes\n}\n\nexport interface IFetchProjectVersionSettingsMultipleSuccessPayload {\n attributes: IProjectVersionSettingsMultipleStateAttributes\n}\n\nexport type IProjectVersionSettingsMultipleStateAttributes = IProjectVersionSettingsMultipleAttributes & IOtherSettingsAttributes & ILanguageSettingsAttributes\n\nexport interface IProjectVersionSettingsMultipleAttributes {\n readonly duration: number\n}\n\nexport interface IFetchProjectVersionSettingsDemoSuccessResponse {\n readonly data : {\n readonly languageData: ILanguageBaseDataBody\n }\n}\n\nexport interface IFetchProjectVersionSettingsDemoSuccessPayload {\n attributes: ILanguageBaseSettingsAttributes\n}\n\nexport type TProjectVersionSettingsAction = IOpenProjectVersionSettings | ISubmitProjectVersionUpdateFailureAction\n\nexport type IProjectVersionSettingsActionTypes =\n IAction |\n IAction |\n IAction |\n IAction |\n IAction |\n IProjectVersionSettingsFailureAction\n","import {\n ISetupTtsPayload,\n ProjectVersionSettingsTtsActionTypes,\n IFetchProjectVersionSettingsTtsSuccessResponsePayload\n} from './types'\n\nexport const fetchProjectVersionSettingsTts = () => ({\n type: ProjectVersionSettingsTtsActionTypes.FETCH_PROJECT_VERSION_SETTINGS_TTS,\n})\n\nexport const fetchProjectVersionSettingsTtsSuccess = (payload: IFetchProjectVersionSettingsTtsSuccessResponsePayload) => {\n return {\n type: ProjectVersionSettingsTtsActionTypes.FETCH_PROJECT_VERSION_SETTINGS_TTS_SUCCESS,\n payload\n }\n}\n\nexport const fetchProjectVersionSettingsTtsFailure = () => ({\n type: ProjectVersionSettingsTtsActionTypes.FETCH_PROJECT_VERSION_SETTINGS_TTS_FAILURE,\n})\n\nexport const setupTts = (payload: ISetupTtsPayload) => ({\n type: ProjectVersionSettingsTtsActionTypes.SETUP_TTS,\n payload\n})\n\nexport const setupTtsFailure = () => ({\n type: ProjectVersionSettingsTtsActionTypes.SETUP_TTS_FAILURE,\n})\n","import { IAction } from '@Root/types'\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\nexport const ProjectVersionSettingsTtsActionTypes = {\n FETCH_PROJECT_VERSION_SETTINGS_TTS: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS_TTS',\n FETCH_PROJECT_VERSION_SETTINGS_TTS_SUCCESS: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS_TTS_SUCCESS',\n FETCH_PROJECT_VERSION_SETTINGS_TTS_FAILURE: '@@projectVersionSettings/FETCH_PROJECT_VERSION_SETTINGS_TTS_FAILURE',\n SETUP_TTS: '@@projectVersionSettings/SETUP_TTS',\n SETUP_TTS_SUCCESS: '@@projectVersionSettings/SETUP_TTS_SUCCESS',\n SETUP_TTS_FAILURE: '@@projectVersionSettings/SETUP_TTS_FAILURE',\n}\n\nexport interface IProjectVersionSettingsTtsState {\n readonly loading: boolean\n readonly dubbingLanguages: string[]\n readonly dubbingLanguagesCodes: string[]\n readonly voices: IVoiceAttributes[]\n readonly subscriptionAllowsVoice: boolean\n readonly availableTotalCredits: number\n}\n\nexport interface IFetchProjectVersionSettingsTtsSuccessResponsePayload {\n readonly dubbingLanguages: string[]\n readonly dubbingLanguagesCodes: string[]\n readonly voices: IVoiceAttributes[]\n readonly subscription: {\n readonly allowsVoice: boolean\n readonly availableTotalCredits: number\n }\n}\n\nexport interface ISetupTtsPayload {\n readonly projectVersionLanguage: string\n readonly voiceName: string\n readonly scriptText?: string\n readonly termbaseName?: string\n}\n\nexport interface ISetupTtsSuccessResponsePayload {\n readonly editorUrl: string\n}\n\nexport type IProjectVersionSettingsTtsActionTypes =\n IAction\n","import {\n PayloadData,\n ConfirmationNewFormActionTypes,\n TConfirmationNewActionTypes\n} from './types'\n\nexport const confirmationNew = (payload: PayloadData): TConfirmationNewActionTypes => ({\n type: ConfirmationNewFormActionTypes.CONFIRMATION_NEW,\n payload\n})\n\nexport const confirmationNewSuccess = (): TConfirmationNewActionTypes => ({\n type: ConfirmationNewFormActionTypes.CONFIRMATION_NEW_SUCCESS,\n})\n\nexport const confirmationNewFailure = (): TConfirmationNewActionTypes => ({\n type: ConfirmationNewFormActionTypes.CONFIRMATION_NEW_FAILURE,\n})\n","export const ConfirmationNewFormActionTypes = {\n CONFIRMATION_NEW: '@@confirmationNewForm/CONFIRMATION_NEW',\n CONFIRMATION_NEW_FAILURE: '@@confirmationNewForm/CONFIRMATION_NEW_FAILURE',\n CONFIRMATION_NEW_SUCCESS: '@@confirmationNewForm/CONFIRMATION_NEW_SUCCESS'\n}\n\nexport interface IUserConfirmationNewState {\n readonly errors: string[]\n readonly loading: boolean\n}\n\nexport interface PayloadData {\n readonly payload: {\n readonly utf8: string\n readonly commit: string\n readonly user: {\n readonly email: string\n }\n }\n}\n\nexport interface IConfirmationNewAction {\n readonly type: string\n readonly payload: PayloadData\n}\n\nexport interface IConfirmationNewFailureAction {\n readonly type: string\n}\n\nexport interface IConfirmationNewSuccessAction {\n readonly type: string\n}\n\nexport type TConfirmationNewActionTypes = IConfirmationNewAction | IConfirmationNewFailureAction | IConfirmationNewSuccessAction\n","import {\n PayloadData,\n UserPasswordEditActionTypes,\n TPasswordEditActionTypes\n} from './types'\n\nexport const updatePassword = (payload: PayloadData): TPasswordEditActionTypes => ({\n type: UserPasswordEditActionTypes.UPDATE_PASSWORD,\n payload\n})\n\nexport const updatePasswordSuccess = (): TPasswordEditActionTypes => ({\n type: UserPasswordEditActionTypes.UPDATE_PASSWORD_SUCCESS\n})\n\nexport const updatePasswordFailure = (): TPasswordEditActionTypes => ({\n type: UserPasswordEditActionTypes.UPDATE_PASSWORD_FAILURE, \n})\n","export const UserPasswordEditActionTypes = {\n UPDATE_PASSWORD: '@@usersPasswordEdit/UPDATE_PASSWORD',\n UPDATE_PASSWORD_FAILURE: '@@usersPasswordEdit/UPDATE_PASSWORD_FAILURE',\n UPDATE_PASSWORD_SUCCESS: '@@usersPasswordEdit/UPDATE_PASSWORD_SUCCESS'\n}\n\nexport interface IUserPasswordEditState {\n readonly loading: boolean\n}\n\nexport interface PayloadData {\n readonly payload: {\n readonly utf8: string\n readonly commit: string\n readonly user: {\n readonly password: string\n readonly password_confirmation: string\n }\n }\n}\n\nexport interface IPasswordEditAction {\n readonly type: string\n readonly payload: PayloadData\n}\n\nexport interface IPasswordEditFailureAction {\n readonly type: string\n}\n\nexport interface IPasswordEditSuccessAction {\n readonly type: string\n}\n\nexport type TPasswordEditActionTypes = IPasswordEditAction | IPasswordEditFailureAction | IPasswordEditSuccessAction\n","import {\n PayloadData,\n PasswordNewFormActionTypes,\n TPasswordNewActionTypes\n} from './types'\n\nexport const passwordNew = (payload: PayloadData): TPasswordNewActionTypes => ({\n type: PasswordNewFormActionTypes.PASSWORD_NEW,\n payload\n})\n\nexport const passwordNewSuccess = (): TPasswordNewActionTypes => ({\n type: PasswordNewFormActionTypes.PASSWORD_NEW_SUCCESS,\n})\n\nexport const passwordNewFailure = (): TPasswordNewActionTypes => ({\n type: PasswordNewFormActionTypes.PASSWORD_NEW_FAILURE,\n})\n","export const PasswordNewFormActionTypes = {\n PASSWORD_NEW: '@@passwordNewForm/PASSWORD_NEW',\n PASSWORD_NEW_FAILURE: '@@passwordNewForm/PASSWORD_NEW_FAILURE',\n PASSWORD_NEW_SUCCESS: '@@passwordNewForm/PASSWORD_NEW_SUCCESS'\n}\n\nexport interface IUserPasswordNewState {\n readonly loading: boolean\n}\n\nexport interface PayloadData {\n readonly payload: {\n readonly utf8: string\n readonly commit: string\n readonly user: {\n readonly email: string\n }\n }\n}\n\nexport interface IPasswordNewAction {\n readonly type: string\n readonly payload: PayloadData\n}\n\nexport interface IPasswordNewFailureAction {\n readonly type: string\n}\n\nexport interface IPasswordNewSuccessAction {\n readonly type: string\n}\n\nexport type TPasswordNewActionTypes = IPasswordNewAction | IPasswordNewFailureAction | IPasswordNewSuccessAction\n","import { IUser } from '@SiteModules/User/types'\n\nimport {\n IUserSignInPayload,\n ISsoSignInPayload,\n SignInFormActionTypes,\n TSignInActionTypes,\n} from './types'\n\nexport const signIn = (payload: IUserSignInPayload): TSignInActionTypes => ({\n type: SignInFormActionTypes.SIGN_IN,\n payload,\n})\n\nexport const ssoSignIn = (payload: ISsoSignInPayload): TSignInActionTypes => ({\n type: SignInFormActionTypes.SSO_SIGN_IN,\n payload,\n})\n\nexport const signInSuccess = (payload: IUser): TSignInActionTypes => ({\n type: SignInFormActionTypes.SIGN_IN_SUCCESS,\n payload,\n})\n\nexport const signInFailure = (): TSignInActionTypes => ({\n type: SignInFormActionTypes.SIGN_IN_FAILURE,\n})\n","import {\n IUser,\n IUserAttributes,\n} from '@SiteModules/User/types'\n\nexport const SignInFormActionTypes = {\n SIGN_IN: '@@signInForm/SIGN_IN',\n SSO_SIGN_IN: '@@signInForm/SSO_SIGN_IN',\n SIGN_IN_FAILURE: '@@signInForm/SIGN_IN_FAILURE',\n SIGN_IN_SUCCESS: '@@signInForm/SIGN_IN_SUCCESS',\n}\n\nexport interface PayloadData {\n readonly utf8: string\n readonly commit: string\n readonly user: IUserSignInPayload\n}\n\nexport interface IUserSignInPayload {\n readonly email: string\n readonly password: string\n readonly remember_me: number\n}\n\nexport interface ISsoSignInPayload {\n readonly emailOrDomain: string\n}\n\nexport interface IUserSignInState {\n readonly user: IUserAttributes\n readonly errors: string[]\n readonly loading: boolean\n}\n\nexport interface ISignInAction {\n readonly type: string\n readonly payload: IUserSignInPayload\n}\n\nexport interface ISsoSignInAction {\n readonly type: string\n readonly payload: ISsoSignInPayload\n}\n\nexport interface ISignInFailureAction {\n readonly type: string\n}\n\nexport interface ISignInSuccessAction {\n readonly type: string\n readonly payload: IUser\n}\n\nexport type TSignInActionTypes = ISignInAction | ISsoSignInAction | ISignInFailureAction | ISignInSuccessAction\n","import {\n PayloadData,\n SignUpFormActionTypes,\n TSignUpActionTypes\n} from './types'\n\nexport const signUp = (payload: PayloadData): TSignUpActionTypes => ({\n type: SignUpFormActionTypes.SIGN_UP,\n payload\n})\n\nexport const signUpSuccess = (): TSignUpActionTypes => ({\n type: SignUpFormActionTypes.SIGN_UP_SUCCESS,\n})\n\nexport const signUpFailure = (): TSignUpActionTypes => ({\n type: SignUpFormActionTypes.SIGN_UP_FAILURE,\n})\n","export const SignUpFormActionTypes = {\n SIGN_UP: '@@signUpForm/SIGN_UP',\n SIGN_UP_FAILURE: '@@signUpForm/SIGN_UP_FAILURE',\n SIGN_UP_SUCCESS: '@@signUpForm/SIGN_UP_SUCCESS'\n}\n\nexport interface IUserSignUpState {\n readonly loading: boolean\n}\n\nexport interface PayloadData {\n readonly payload: PayloadDataBody\n}\n\nexport interface PayloadDataBody {\n readonly name: string\n readonly email: string\n readonly lastName: string\n readonly password: string\n readonly languages: string[]\n readonly passwordConfirmation: string\n}\n\nexport interface ISignUpAction {\n readonly type: string\n readonly payload: PayloadData\n}\n\nexport interface ISignUpFailureAction {\n readonly type: string\n}\n\nexport interface ISignUpSuccessAction {\n readonly type: string\n}\n\nexport type TSignUpActionTypes = ISignUpAction | ISignUpFailureAction | ISignUpSuccessAction\n","import zipAndSaveFiles from '@Utils/ZipAndSaveFiles'\n\nimport {\n IExportationForDownload,\n} from '@EditorModules/Exportation/types'\n\nexport default function autoDownloadExportation(exportationReadyForDownload: IExportationForDownload): void {\n if (exportationReadyForDownload.urls.length === 1) {\n const a = document.createElement('a')\n a.href = exportationReadyForDownload.urls[0]\n a.download = 'true'\n a.click()\n } else {\n zipAndSaveFiles(exportationReadyForDownload.urls)\n }\n}\n","export function getWidth() {\n return Math.max(\n // document.body.scrollWidth, // does not work with overflow: hidden for body\n document.documentElement.scrollWidth,\n document.body.offsetWidth,\n document.documentElement.offsetWidth,\n document.documentElement.clientWidth\n )\n}\n\nexport function getHeight() {\n return Math.max(\n // document.body.scrollHeight, // does not work with overflow: hidden for body\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.documentElement.clientHeight\n )\n}\n","import mapKeys from 'lodash/mapKeys'\nimport mapValues from 'lodash/mapValues'\nimport snakeCase from 'lodash/snakeCase'\nimport isPlainObject from 'lodash/isPlainObject'\n\ninterface IObject {\n [key: string]: any\n}\n\nexport default function convertToSnakeCase(hash: IObject) {\n return mapKeysDeep(hash, snakeCase)\n}\n\nconst mapKeysDeep = (hash: IObject, callback: (key: any) => {}): any[any] => {\n const keys = mapKeys(hash, (_value, key) => {\n return callback(key)\n })\n\n return mapValues(keys, (val) => {\n return isPlainObject(val) ? mapKeysDeep(val, callback) : val\n })\n}\n","import AWS from 'aws-sdk/global'\nimport S3 from 'aws-sdk/clients/s3'\nimport { v4 as uuidv4 } from 'uuid'\nimport toastr from 'toastr'\n\nimport FileNameSanitizer from '@Utils/FileNameSanitizer'\n\nimport 'toastr/build/toastr.css'\n\nconst AUDIO_EXTENSION = 'mp3'\n\nconst TOASTR_OPTIONS = {\n closeButton: true,\n timeOut: 0,\n extendedTimeOut: 0\n}\n\nexport interface IElementUploaderOptions {\n readonly workspaceId: number\n uploadElementCallback: (params: IUploadedElement) => void\n showProgressCallback: (data: S3.ManagedUpload.Progress) => void\n}\n\nexport interface IUploadedElement {\n readonly width: number\n readonly height: number\n readonly url: string\n readonly filename: string\n readonly kind: string\n}\n\ninterface IAWSUploadParams {\n readonly ACL: string\n readonly ContentType: string\n readonly Body: File\n readonly Bucket: string\n readonly Key: string\n}\n\ninterface IElementMetaData {\n readonly width: number\n readonly height: number\n readonly size: number\n readonly filename: string\n readonly loaded: boolean\n}\n\nclass ElementUploader {\n S3Client: S3\n workspaceId: number\n filename: string\n sanitizedFileName: string\n element: HTMLVideoElement\n elementMetaData: IElementMetaData\n uploadElementCallback: (params: IUploadedElement) => void\n showProgressCallback: (data: S3.ManagedUpload.Progress) => void\n\n constructor(\n private readonly file: File,\n options: IElementUploaderOptions,\n ) {\n this.file = file\n this.elementMetaData = { width: 0, height: 0, size: 0, filename: '', loaded: false }\n this.filename = decodeURI(encodeURI(this.file.name))\n // we have to take only the first 50 chars to supress the error for tempfiles:\n // Filename too long @rb_sysopen - /tmp/...\n // the maximum tempfile's name is 170 chars, but we also add a UUID to it.\n this.sanitizedFileName = new FileNameSanitizer(this.filename).call().substring(0,50)\n this.uploadElementCallback = options.uploadElementCallback\n this.showProgressCallback = options.showProgressCallback\n this.element = this._initializeElement()\n this.workspaceId = options.workspaceId\n\n AWS.config.region = 'eu-west-1'\n AWS.config.credentials = new AWS.CognitoIdentityCredentials({\n IdentityPoolId: 'eu-west-1:f53d9a4e-3b29-483f-a166-9dff87ca2941'\n })\n\n // https://github.com/aws/aws-sdk-js/issues/949#issuecomment-204178782\n this.S3Client = new S3({\n region: 'eu-west-1',\n useAccelerateEndpoint: false,\n httpOptions: { timeout: 0 },\n })\n }\n\n call(): S3.ManagedUpload {\n const params = this._generateAwsParams()\n return this._upload(params)\n }\n\n _upload(params: IAWSUploadParams): S3.ManagedUpload {\n return this.S3Client.upload(params, (err: Error, data: S3.ManagedUpload.SendData) => {\n if (err) {\n if (err.name === 'RequestTimeTooSkewed') {\n toastr.error('Please adjust the system time of your device. Then try the uploading again.', 'Element cannot be uploaded!', TOASTR_OPTIONS)\n }\n if (!window.Rollbar) { return }\n window.Rollbar.error(err, data)\n } else {\n const fileExtension = this.file.name.split('.').pop()\n const kind = fileExtension === AUDIO_EXTENSION ? 'audio' : 'video'\n if (this.elementMetaData.loaded) {\n this.uploadElementCallback({\n ...this.elementMetaData,\n url: decodeURI(data.Location),\n kind\n })\n } else {\n toastr.error('There is a problem with the format of your file. Your file could be corrupted. Please check it.', 'Upload cannot be completed!', TOASTR_OPTIONS)\n }\n this.element.removeEventListener('loadedmetadata', () => {\n this.elementMetaData = {\n height: this.element.videoHeight,\n width: this.element.videoWidth,\n size: this.file.size,\n filename: this.filename,\n loaded: true\n }\n })\n }\n }).on('httpUploadProgress', (data: S3.ManagedUpload.Progress) => {\n this.showProgressCallback(data)\n })\n }\n\n _generateAwsParams(): IAWSUploadParams {\n const fileExtension = this.filename.split('.').pop()\n const workspaceIdForUpload = this.workspaceId >= 0 ? this.workspaceId : 'shared'\n const bucketName = window.EditorSources ? `${window.EditorSources.s3Bucket}/workspace/${workspaceIdForUpload}` : `${window.Checksub.s3Bucket}/workspace/${workspaceIdForUpload}`\n\n // Characters That Might Require Special Handling\n // https://docs.aws.amazon.com/en_us/AmazonS3/latest/dev/UsingMetadata.html\n const key = encodeURI(`${this.sanitizedFileName}_${uuidv4()}.${fileExtension}`)\n\n return {\n ACL: 'public-read',\n ContentType: this.file.type,\n Body: this.file,\n Bucket: bucketName,\n Key: key\n }\n }\n\n _initializeElement(): HTMLVideoElement {\n const element = document.createElement('video')\n element.preload = 'metadata'\n element.src = URL.createObjectURL(this.file)\n\n element.addEventListener('loadedmetadata', () => {\n this.elementMetaData = {\n height: this.element.videoHeight,\n width: this.element.videoWidth,\n size: this.file.size,\n filename: this.filename,\n loaded: true\n }\n })\n\n return element\n }\n}\n\nexport default ElementUploader\n","// https://www.compart.com/en/unicode/category/Pd\nconst DASHES = /[\\u002D\\u2011-\\u2015\\ufe58\\uff0d]/g\n\n// https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html\nconst BLACKLIST_CHARACTERS = /[\\s().|«»^> 0) {\n return `${hours} h ${Math.floor((credit - hours * 3600) / 60)} min ${Math.round(credit % 60)} sec`\n } else {\n return `${Math.floor(credit / 60)} min ${Math.round(credit % 60)} sec`\n }\n}\n","export default function formattedCreditsWithHoursShort(credit: number): string {\n const hours = Math.floor(credit / 3600)\n if (hours > 0) {\n return `${hours}h ${Math.floor((credit - hours * 3600) / 60)}m ${Math.round(credit % 60)}s`\n } else {\n return `${Math.floor(credit / 60)}m ${Math.round(credit % 60)}s`\n }\n}\n","import filter from 'lodash/filter'\n\nimport {\n IVoiceAttributes,\n} from '@EditorContainers/Settings/types'\n\nexport default function getDefaultCountry(voices: IVoiceAttributes[], gender: string, languageCode: string): string {\n let defaultCountry = 'All'\n\n const voicesForGenderAndLanguageCode = filter(voices, voice => {\n return voice.gender === gender && voice.languages.includes(languageCode)\n })\n\n const languageCodeIsDialectLanguageCode = languageCode.split('_').length > 1\n\n if (voicesForGenderAndLanguageCode.length > 0 && languageCodeIsDialectLanguageCode) {\n defaultCountry = voicesForGenderAndLanguageCode[0].country\n } else if (voicesForGenderAndLanguageCode.length > 0 ) {\n const dialectLanguageCode = `${languageCode}_${languageCode}` // Avoids that for example Canada is found as the default region for language code fr, by searching for voices that also have fr_fr in their languages\n const voicesForGenderAndDialectLanguageCode = filter(voicesForGenderAndLanguageCode, voice => {\n return voice.languages.includes(dialectLanguageCode)\n })\n\n defaultCountry = voicesForGenderAndDialectLanguageCode.length > 0 ? voicesForGenderAndDialectLanguageCode[0].country : voicesForGenderAndLanguageCode[0].country\n }\n\n return defaultCountry\n}\n","export default function getMetaValue(name: string) {\n const element = document.head.querySelector(`meta[name=\"${name}\"]`) as HTMLMetaElement\n return element.getAttribute('content')\n}\n","export default function getParamValueFromUrl(url: string, key: string): string | null {\n const urlParts = url.split('?')\n const searchParams = urlParts[1]\n\n if (!searchParams) { return null }\n\n let params: string[] = []\n\n searchParams.split('&').forEach((param) => {\n params = params.concat(param.split('='))\n })\n\n const index = params.indexOf(key)\n\n return index !== -1 ? params[index + 1] : null\n}\n","export default function hasElementOrSomeParentTheClass(element: HTMLElement, classname: string): boolean {\n if (element.className !== 'SVGAnimatedString' && typeof element.className === 'string') {\n if (element.className.split(' ').indexOf(classname) >= 0) { return true }\n }\n\n if (element.parentElement) {\n return element.parentElement && hasElementOrSomeParentTheClass(element.parentElement, classname)\n }\n\n return false\n}\n","export default function hasInternetConnection(): boolean {\n const onLine = window.navigator.onLine\n const isOnLinePropertySupportedByBrowser = typeof onLine === 'boolean'\n\n // If a browser supports the onLine property we'll use its value\n if (isOnLinePropertySupportedByBrowser) { return onLine }\n\n return true\n}\n","import toastr from 'toastr'\nimport axios from 'axios'\n\nimport hasInternetConnection from '@Utils/HasInternetConnection'\n\nconst DEFAULT_MESSAGE = 'An error occurred'\nconst INTERNET_CONNECTION_IS_BROKEN = 'An error occurred. Check your internet connection and try again.'\nconst REGENERATING_BLOCK_ERROR_MESSAGE = 'This voice block is already being regenerated.'\nconst REGENERATING_BLOCK_ERROR_TITLE = 'Already in process'\n\nexport default class Logger {\n static error = (e: unknown, title = 'Error') => {\n let message = ''\n\n if (axios.isAxiosError(e)) {\n if (e.response) {\n message = e.response.data.message\n } else {\n message = hasInternetConnection()\n ? e.message\n : INTERNET_CONNECTION_IS_BROKEN\n }\n } else {\n message = e instanceof Error\n ? e.message\n : DEFAULT_MESSAGE\n }\n\n if (message === REGENERATING_BLOCK_ERROR_MESSAGE) {\n title = REGENERATING_BLOCK_ERROR_TITLE\n }\n\n toastr.error(message || DEFAULT_MESSAGE, title)\n\n if (window.Rollbar) {\n window.Rollbar.error(message, e)\n }\n }\n\n static info = (info: string) => {\n if (window.Rollbar) {\n window.Rollbar.info(info)\n }\n }\n}\n","import map from 'lodash/map'\nimport last from 'lodash/last'\n\nexport default function modifyUrls(urls: string[]): (string | undefined)[] {\n const modifiedUrls = map(urls, url => {\n if (url.includes('.wistia.com/media')) {\n const wistiaVideoId = last(url.split('/'))\n return `https://fast.wistia.net/embed/iframe/${wistiaVideoId}`\n } else if (url.includes('youtube.com/shorts')) {\n const youtubeVideoId = last(url.split('/'))\n return `https://youtu.be/${youtubeVideoId}`\n } else if (url.includes('youtube.com') || url.includes('youtu.be')) {\n return simplifiedYoutubUrl(url)\n } else {\n return url\n }\n })\n\n return modifiedUrls\n}\n\n// https://blog.devgenius.io/how-to-extract-the-id-of-a-youtube-or-vimeo-url-with-javascript-ad5e2d1049a\nconst simplifiedYoutubUrl = (url: string) => {\n const regExp = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/\n const match = url.match(regExp)\n return match && match[2].length === 11 ? `https://youtu.be/${match[2]}` : undefined\n}\n","import each from 'lodash/each'\n\nexport default function sanitizeUrlsString(urlsString: string): string[] {\n const urls: string[] = []\n each(urlsString.split('\\n'), url => {\n url = url.trim()\n if (url.length > 0) {\n urls.push(url)\n }\n })\n\n return urls\n}\n","import confetti from 'canvas-confetti'\n\nconst PARTICLE_COUNT = 200\n\nexport default function showConfetti() {\n runRealisticAnimation()\n}\n\nconst runRealisticAnimation = () => {\n fire(0.2, { spread: 60, startVelocity: 55, gravity: 3.4 })\n fire(0.35, { spread: 100, scalar: 0.8, startVelocity: 55, gravity: 3.4 })\n}\n\nconst fire = (particleRatio: number, options: confetti.Options) => {\n const particleCount = Math.floor(PARTICLE_COUNT * particleRatio)\n\n confetti({ origin: { x: 0.2, y: 0.3 }, particleCount, ...options, })\n confetti({ origin: { x: 0.5, y: 0.5 }, particleCount, ...options })\n confetti({ origin: { x: 0.8, y: 0.9 }, particleCount, ...options })\n confetti({ origin: { x: 0.8, y: 0.3 }, particleCount, ...options })\n confetti({ origin: { x: 0.2, y: 0.9 }, particleCount, ...options })\n}\n","import map from 'lodash/map'\nimport find from 'lodash/find'\nimport assign from 'lodash/assign'\nimport concat from 'lodash/concat'\nimport differenceBy from 'lodash/differenceBy'\n\nexport default function smartMerge(hash1: ArrayLike, hash2: ArrayLike) {\n let isWithUuid = false\n\n const updatedHash1 = map(hash1, (obj) => {\n if (obj.uuid) {\n isWithUuid = true\n return assign(obj, find(hash2, { uuid: obj.uuid }))\n } else {\n return assign(obj, find(hash2, { id: obj.id }))\n }\n })\n\n const result = isWithUuid ? differenceBy(hash2, hash1, 'uuid') : differenceBy(hash2, hash1, 'id')\n\n return concat(updatedHash1, result)\n}\n","import { useEffect } from 'react'\nimport hasElementOrSomeParentTheClass from '@Utils/HasElementOrSomeParentTheClass'\n\nexport default function useClickOutsideListener(elementClass: string, setOpen: (newOpen: boolean) => void, open: boolean): void {\n useEffect(() => {\n const handleClickOutside = (e: MouseEvent) => {\n if (!open) { return }\n if (e.target) {\n const element = e.target as HTMLElement\n if (hasElementOrSomeParentTheClass(element, elementClass)) {\n return\n }\n setOpen(false)\n }\n }\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n })\n}\n","import every from 'lodash/every'\n\nexport default function validateUrls(urls: string[]): boolean {\n const urlRegex = /^https?:\\/\\/[a-z0-9-]+(\\.[a-z0-9-]+)+([\\/?].*)?$/ // https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s01.html\n\n return every(urls, url => urlRegex.test(url))\n}\n","import JSZip from 'jszip'\nimport axios from 'axios'\nimport saveAs from 'file-saver'\n\nconst ZIP_FILENAME = 'Checksub.zip'\n\nexport default function zipAndSaveFiles(urls: (string | undefined)[]): void {\n // Zip files: https://yashodgayashan.medium.com/zip-files-in-react-30fb77fd6a58\n const zip = new JSZip()\n\n const axiosCalls = urls.map(url => {\n return (\n axios.get(url as string, { responseType: 'blob' })\n )\n })\n\n Promise.all(axiosCalls).then(responses => {\n responses.forEach(response => {\n const urlParts = response.config!.url!.split('/')\n const filename = urlParts[urlParts.length - 1]\n\n zip.file(filename, response.data)\n })\n\n zip.generateAsync({ type: 'blob' }).then(content => {\n saveAs(content, ZIP_FILENAME)\n })\n })\n}\n"],"names":["_path","_defs","_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","props","xmlns","xmlnsXlink","width","height","fill","d","id","patternContentUnits","xlinkHref","href","transform","_path2","fillOpacity","_rect","rx","_name","label","checked","defaultChecked","disabled","tooltipForDisabledLine1","tooltipForDisabledLine2","tooltipForEnabledLine1","tooltipForEnabledLine2","labelIcon","registerReturn","checkboxUuid","uuidv4","_useState2","_slicedToArray","useState","checkmarkActive","setCheckmarkActive","_useState4","showInfo","setShowInfo","_useState6","infoTimeout","setInfoTimeout","handleActiveChangeCheckmark","toggleShowInfo","clearTimeout","newInfoTimeout","setTimeout","window","EditorSources","tooltipDelay","shouldShowInfoForDisabled","shouldShowInfoForEnabled","React","className","classnames","onMouseEnter","onMouseLeave","htmlFor","concat","type","name","onChange","target","customRef","ref","items","noPortal","tooltip","listWidth","itemsToShow","currentItem","isForLipSync","shouldBlockDropdown","classNameOfContainerToMakeUnscrollable","paddingToCompensateScrollbarWhenUnscrollable","hasNoDropdown","openDropdown","setOpenDropdown","dropdownButtonRef","useRef","shouldShowInfo","showItemsAsJsx","dropdownUuid","openOrCloseDropdown","newOpenDropdown","container","document","getElementsByClassName","containerElement","style","overflowY","paddingRight","useClickOutsideListener","dropdownButtonBounds","newDropdownWidth","dropdownX","dropdownY","noDropdown","canFindDropdownButton","toggleShowDropdown","itemList","map","value","index","isCurrentItem","key","onClick","Checkmark","current","DropdownArrow","getBoundingClientRect","Math","min","x","Page","y","top","left","ReactDOM","getElementById","color","showSpinner","Loader","caption","icon","max","step","unit","isForSite","defaultValue","hasHorizontalCursor","numberOfDigits","Checksub","toFixed","inputValue","_setInputValue","_useState8","inputUuid","inputValueRef","_useState10","isFocused","_setIsFocused","isFocusedRef","setIsFocused","newIsFocused","setInputValue","newInputValue","useEffect","addEventListener","useSpecialKeys","removeEventListener","shouldShowUnit","newValue","parseFloat","isANumber","keyCode","input","blur","handleChange","handleFocus","handleBlur","isNaN","changeToValue","onBlur","onFocus","_props","closePopup","CloseIcon","children","cookies","get","Navigate","to","replace","Outlet","isAuthorized","onboardingState","location","pathname","viewBox","fillRule","clipRule","ENTERPRISE_OR_CUSTOM_SUBSCRIPTION_PLAN_NAME_PARTS","hasExternalChannels","subscriptionIsCurrent","subscriptionPlan","usingPersonalSubscription","pathForChannels","hasEnterpriseOrCustomSubscription","includes","split","shouldRenderSubscriptionAndBilling","shouldRenderChannels","Link","HomeIcon","ChannelsIcon","GuidelinesIcon","TermbasesIcon","VocabularyIcon","SubscriptionIcon","createCustomerPortalSession","Billing","open","Help","logout","LogoutIcon","openProfileDropdown","setOpenProfileDropdown","ProfileIcon","ProfileDropdown","Header","_React$Component","_this","_classCallCheck","_callSuper","toggleShowInfoForCredits","state","infoForCreditsTimeout","setState","showInfoForCredits","_inherits","_this2","_this$props","this","availableTotalCredits","hasLoadedSubscriptionInfoSuccessfully","cancelAtPeriodEnd","renewalDate","shouldNotLinkToDashboard","shouldDisableProfileButton","hideCredits","hideSalesLink","shouldRenderSubscriptionCredits","shouldShowInfoForCredits","LogoIcon","formattedCreditsWithHoursShort","ProfileButton","connect","user","channelsTable","subscription","externalChannels","attributes","isCurrent","plan","hasLoadedSuccessfully","dispatch","bindActionCreators","showInfoForId","setShowInfoForId","infoForIdTimeout","setInfoForIdTimeout","shouldShowActionTools","setShouldShowActionTools","element","shouldShowColoredThumbnail","thumbnailUrl","toggleShowInfoForId","newInfoForIdTimeout","showActionTools","hideActionTools","src","title","duration","slice","createdAt","kind","size","Delete","deleteElement","elementId","totalCount","currentPage","totalPages","itemsPerPage","decreasePageCount","PaginationLeft","increasePageCount","PaginationRight","AssetsTable","loading","elements","Pagination","Asset","getAffectedProjectVersions","EmptyDashboard","_this$props2","shouldRenderAssets","statusOfAssets","shouldRenderLoader","shouldRenderBlankPage","renderLoader","renderAssets","renderBlankPage","assetsTable","externalVideo","showButton","setShowButton","shouldDisableNewProjectButton","canBeDownloaded","isReady","capitalize","service","externalChannelName","Button","submitUrls","urls","downloadUrl","ChannelsTable","externalVideos","uploading","videosPerPage","startIndex","endIndex","ChannelsItem","shouldRenderExternalVideos","statusOfExternalVideos","some","channel","valid","toastr","closeButton","timeOut","extendedTimeOut","preventDuplicates","renderExternalVideos","loadingVideos","router","navigate","changeTab","payload","DashboardMenuActionTypes","CHANGE_TAB","DashboardMenu","_len","args","Array","_key","getMenuItems","menuItems","hasSubscription","areChannelsLoading","push","userHasActiveElements","getTabList","currentTab","isCurrentTab","toLowerCase","newTab","hasLoadedVideosOnce","areVideosLoading","getExternalVideos","areElementsLoading","getElements","getParamValueFromUrl","isCurrentTabChannels","ConnectChannelButton","dashboardMenu","loadingChannels","hasActiveElements","isDark","CloseIconForDarkMode","CloseIconForLightMode","ImportSrt","fileRef","openFileManager","click","uploadFile","files","fileSrt","projectVersionId","subtitleId","enableSpeakerDiarization","importSrt","setEnableSpeakerDiarization","Popup","AttentionIcon","Checkbox","display","accept","projectVersionsList","editingProjectVersionIds","subtitles","anyExportingSubtitleHasSpeakers","onlyOneSubtitleSelected","format","shouldAllowVideoExportation","category","redirectToEditor","projectId","downloadAsZipFile","event","innerText","zip","JSZip","axiosCalls","subtitle","url","getUrl","axios","responseType","Promise","all","then","responses","forEach","response","headerLine","headers","startFileNameIndex","indexOf","endFileNameIndex","lastIndexOf","filename","substring","file","data","generateAsync","content","saveAs","hasSpeakers","download","PROCESSED_SUBTITLE_STAGES","PROCESSING_SUBTITLE_STAGES","getSubtitles","getProcessingOrExportingSubtitles","createSelector","editingProjectVersionId","filter","stage","isExporting","getSubtitleIdsToUpdate","processingOrExportingSubtitles","parseInt","getDownloadingProjectVersions","projectVersions","projectVersion","status","getProjectVersionIdsToUpdate","downloadingProjectVersions","getCurrentProcessedSubtitles","subtitleIds","currentProcessedSubtitles","subtitleStage","isProcessed","getAnyCurrentProcessedSubtitleHasSpeakers","getDisabledProjectVersionsSelected","selectedProjectVersions","selectedProjectVersionId","selectedProjectVersion","find","isDisabled","getProjectVersionsWithoutAssetsSelected","hasAssets","getProjectVersionsThatBelongToManualProjectSelected","belongsToManualProject","getProjectVersionsThatBelongToTtsProjectSelected","belongsToTtsProject","getProjectVersionsWithLanguageSelected","language","getProjectVersionsWithFreeCaptioningSelected","hasBeenCaptionedForFree","getProjectVersionsWithAnySubscriptionSubtitlesSelected","hasAnySubscriptionSubtitles","getProjectVersionsWithAtLeastOneProcessedSubtitleSelected","every","selectedProjectVersionHasProcessedSubtitle","getSubtitleIdsOfSelectedProjectVersions","subtitlesOfSelectedProjectVersions","subtitleOfSelectedProjectVersions","getShortenedProjectVersionsSelected","isShortened","getProjectVersionsWitUndeterminedLengthSelected","Exportation","ExportationButtons","_dispatch","newCaption","setNewCaption","_useForm","useForm","register","onSubmit","handleSubmit","_ref","submit","shouldDisableButton","disableButton","trim","placeholder","autoComplete","maxLength","CreateLabelPopup","CreateLabelForm","createLabel","labels","stroke","strokeWidth","openBalloon","setOpenBalloon","showMoreIcon","setShowMoreIcon","labelId","labelStatus","onCreateLabelClick","useCallback","openCreateLabelPopup","closeBalloon","changeSelectedLabels","onMouseOver","LabelIcon","stopPropagation","MoreIcon","Balloon","openRenameLabelPopup","openDeleteLabelPopup","labelCaptions","labelIds","labelsList","selectedLabels","Label","allProjectVersionsStatus","resetLabelSelection","PlusBig","shouldRenderSubscriptionManagement","getLabelCaptions","getLabelIds","getLabelsInAllSelectedProjectVersions","labelsInAllSelectedProjectVersions","each","difference","projectVersionIds","getLabelsInNoSelectedProjectVersion","labelsInNoSelectedProjectVersion","DashboardSidebar","fetchLabels","labelState","LabelsPanel","DashboardLinks","RateSubtitle","handleClickOnStar","numberOfStars","rateSubtitle","comment","shouldShowCommentInput","handleCommentInput","_this$state","renderStars","range","rating","setRating","resetRating","Star","StarActive","renderRating","renderCommentInput","toString","ExternalToken","textAreaRef","setValidityOfExternalToken","validityInDays","createOrUpdateExternalToken","copyToClipboard","select","execCommand","focus","externalTokenData","ExternalTokenForm","renderedFromDashboard","externalToken","padNumber","num","s","String","hasCurrentSubscription","showInfoForDisabled","setShowInfoForDisabled","showInfoForProcessing","setShowInfoForProcessing","showInfoForRating","setShowInfoForRating","infoForDisabledTimeout","setInfoForDisabledTimeout","_useState12","infoForProcessingTimeout","setInfoForProcessingTimeout","_useState14","infoForRatingTimeout","setInfoForRatingTimeout","dateString","date","year","month","day","hours","minutes","toggleShowInfoForDisabled","newInfoForDisabledTimeout","toggleShowInfoForProcessing","newInfoForProcessingTimeout","toggleShowInfoForRating","newInfoForRatingTimeout","_subtitle$attributes2","ratableSubtitle","alreadyRated","isUnpaid","allowLinkToEditorOnly","waiting_for_completion_of_transcript","processingStep","processing_step","isProcessing","openEditor","_subtitle$attributes3","hasVoice","urlParams","shouldRenderIcon","transcription","shouldShowImportSrt","projectVersionIsShortened","Transcription","join","created_at","exportationFileUrl","exportationUrls","values","zipAndSaveFiles","exportedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","ButtonNewV2","styleType","openRateSubtitlePopup","RatingStarActive","RatingStar","More","_subtitle$attributes","editorUrl","openExportationPopup","openExternalTokenPopup","openImportSrtPopup","showSubtitles","setShowSubtitles","showInfoForAdding","setShowInfoForAdding","showInfoForTitle","setShowInfoForTitle","infoForAddingTimeout","setInfoForAddingTimeout","_useState16","_useState18","infoForTitleTimeout","setInfoForTitleTimeout","row","durationNotYetDetermined","rowStatus","projectVersionStatus","projectVersionStatusClasses","projectVersionSubtitles","intersectionBy","subtitlesCount","hasNoSubtitles","transcriptionSubtitle","translationSubtitles","shouldAllowAddingSubtitleLanguages","toggleShowingSubtitles","toggleShowInfoForAdding","newInfoForAddingTimeout","toggleShowInfoForTitle","newInfoForTitleTimeout","toggleShowingBalloon","openProjectVersionSettings","openDeleteProjectVersionPopup","handleProjectVersionSelection","selectProjectVersion","changeSelectedProjectVersions","handleMouseEnterLength","handleMouseLeaveLength","handleMouseEnterTitle","handleMouseLeaveTitle","indexOfFirstIntegerInId","search","colorPicker","shouldShowSubtitlesButton","shouldShowLinkToEditor","selected","Add","colSpan","Subtitle","renderSubtitles","ProjectVersionsList","intervalId","prepareUpdating","shouldUpdateProjectVersionsAndSubtitles","isTimerPresent","shouldRemoveInterval","newTimerId","setInterval","updateProjectVersions","clearInterval","subtitlesToUpdateIds","projectVersionsToUpdateIds","rows","_objectSpread","relationships","ProjectVersion","statusOfProjectVersions","renderProjectVersions","fetchProjectVersionSettings","checkRef","indeterminate","checkboxValue","IndeterminateCheckbox","createProjectVersionLabels","deleteProjectVersionLabels","openLabelsDropdown","setOpenLabelsDropdown","numberOfSelectedProjectVersions","disabledProjectVersionsSelected","projectVersionsWithLanguageSelected","projectVersionsThatBelongToManualProjectSelected","projectVersionsThatBelongToTtsProjectSelected","shouldRenderPagination","projectVersionsWithoutAssetsSelected","projectVersionsWithFreeCaptioningSelected","projectVersionsWithAtLeastOneProcessedSubtitleSelected","projectVersionsWithAnySubscriptionSubtitlesSelected","shortenedProjectVersionsSelected","projectVersionsWitUndeterminedLengthSelected","videoSelection","labelsWrapperStatus","shouldAllowToAddLanguages","shouldAllowToExport","IconButton","Plus","Download","Folder","LabelsDropdown","Trash","TableHeaderContainer","subtitleIdsOfSelectedProjectVersions","TableHeader","newLabelCaption","setNewLabelCaption","renameLabel","labelIsUnchanged","EditorButton","RenameLabelPopup","EditLabelForm","_state$renameLabel","DeleteLabelPopup","deleteConfirmation","changeDeleteCofirmation","handleConfirm","deleteLabel","_state$deleteLabel","DeleteElement","projectVersionsToShow","affectedProjectVersions","renderPopupContent","deleting","shouldShowWarningAboutProjectVersions","shouldRenderInformationAboutMoreProjectVersions","loadingAffectedProjectVersions","elementToDeleteId","DeleteProjectVersion","deleteProjectVersion","Dashboard","closeDeleteElementPopup","closePopupDashboardSidebar","forwardToProjectTypeSelection","renderExternalTokenPopup","ExternalTokenPopup","renderExportationPopup","ExportationPopup","renderSrtImportPopup","ImportSrtPopup","renderDeleteProjectVersionPopup","DeleteProjectVersionPopup","renderRateSubtitlePopup","RateSubtitlePopup","renderCreateLabelPopup","renderDeleteElementPopup","DeleteElementPopup","renderDeleteLabelPopup","renderRenameLabelPopup","renderPopups","importSrtPopupOpen","exportationPopupOpen","createLabelPopupOpen","deleteLabelPopupOpen","renameLabelPopupOpen","rateSubtitlePopupOpen","externalTokenPopupOpen","deleteElementPopupOpen","deleteProjectVersionPopupOpen","renderProjectsTab","renderChannelsTab","renderAssetsTab","renderDashboard","shouldRenderProjectsTab","shouldRenderChannelsTab","shouldRenderAssetsTab","hasLoadedProjectVersions","fetchProjectVersions","querySelectorAll","backgroundColor","showConfetti","prevProps","loadingUserData","confirmedEmail","userRole","loadingProjectVersions","shouldForwardToEmailConfirmationPage","shouldForwardToSubscriptions","hasLoadedSubscriptionSuccessfully","hasProjectVersions","hasLabelsSelected","shouldForwardToProjectTypeSelection","shouldForward","shouldRenderDashboard","PageLoader","dashboardSidebar","email","openDeleteElementPopup","role","firstLetterUppercase","str","charAt","toUpperCase","BASIC_PARAMETERS","minValue","maxValue","ADVANCED_PARAMETERS","editedParameters","advancedSettingsOpen","setAdvancedSettingsOpen","advancedSettingsOpenDelayed","setAdvancedSettingsOpenDelayed","changeUseParameter","changeParameter","toggleAdvancedSettings","listDiv","clientHeight","closeAdvancedSettings","openAdvancedSettings","wrapper","querySelector","basicParametersList","parameter","Parameter","useValue","advancedParametersList","Arrow","header","description","captionButton1","captionButton2","useEnterToConfirm","handleKeydown","code","handleDiscard","delayedAction","placeholderText","contentEdited","parametersEdited","activeItem","editedContent","editedName","linkOffset","isBusy","maxContentLength","maxNameLength","isVocabulary","discardChangesPopupOpen","defaultParameters","deleteConfirmationPopupOpen","setDeleteConfirmationPopupOpen","isGuideline","somethingHasBeenEdited","hasItems","contentTooLong","itemName","editedNameRef","activeItemRef","itemsRef","handleClickOutside","hasOnlyDefaultValuesForGuidelines","shouldDisableSaveButton","shouldRenderLink","shouldRenderParameters","topValueOfActiveLine","handleSaveEditedName","hasElementOrSomeParentTheClass","closeDeleteConfirmationPopup","setDelayedActionType","changeContent","newEditedContent","setEditedContent","setContentEdited","contentHasChanged","utterances","prompt","startEditingName","setEditedName","changeEditedName","cancelEditingName","shouldContinueAfterNameCheck","newEditedName","nameAlreadyUsed","item","nameTooLong","message","_editedNameRef$curren","trimmedEditedName","isDefault","save","defaultGuideline","saveEverything","parameters","create","createNewItem","openDiscardChangesPopup","deleteItem","newEditedParameters","_defineProperty","setEditedParameters","isNew","JSON","stringify","hasChanged","hasEditedParameters","setParametersEdited","changeAiCorrection","itemsToRender","isActive","setDelayedActionItemIndex","setActiveItem","changeItem","autoFocus","SaveInput","CancelEditing","DeleteItem","EditItem","renderNameAndActions","unstable_usePrompt","when","CheckboxV2","useAiCorrection","Parameters","WarningPopup","closeDiscardChangesPopup","vocabularies","modifying","setDiscardChangesPopupOpen","delayedActionType","delayedActionItemIndex","activeVocabulary","setActiveVocabulary","editedUtterancesString","setEditedUtterancesString","utterancesEdited","setUtterancesEdited","hasSavedNameOnly","setHasSavedNameOnly","hasCreatedVocabulary","setHasCreatedVocabulary","hasVocabularies","handleCreating","handleLoadingUpdatingDeleting","resetState","createdVocabulary","reduce","a","b","updatedActiveVocabulary","vocabulary","newActiveVocabulary","newEditedUtterancesString","newVocabulary","changeVocabulary","createVocabulary","deleteVocabulary","handleCreate","handleSave","hasContentToSave","updateVocabulary","CustomizationForm","Vocabularies","hasLoadedInitially","fetchVocabularies","VocabulariesForm","TABS","DEFAULT_PARAMETERS","numberOfLines","cpl","gap","cps","useNumberOfLines","useCpl","useGap","useCps","captionGuidelines","translationGuidelines","activeTabIndex","setActiveTabIndex","activeGuideline","setActiveGuideline","editedPrompt","setEditedPrompt","promptEdited","setPromptEdited","_useState20","_useState22","_useState24","hasCreatedGuideline","setHasCreatedGuideline","isCaptionGuidelinesTab","relevantGuidelines","hasRelevantGuidelines","newGuideline","changeGuideline","createdGuideline","newActiveGuideline","relevantGuideline","newEditedPrompt","guideline","createGuideline","deleteDefaultGuideline","deleteGuideline","updateDefaultGuideline","updateGuideline","tabItems","tab","getGuidelines","guidelines","getCaptionGuidelines","getTranslationGuidelines","getCaptionGuidelineNames","captionGuideline","getCaptionGuidelineIds","getTranslationGuidelineNames","translationGuideline","getTranslationGuidelineIds","Guidelines","fetchGuidelines","GuidelinesForm","TOP_LANGUAGES","termbaseToSetUp","allFullnameLanguages","otherTermbasesNames","initialName","initialLanguages","fullnameLanguages","setName","languages","setLanguages","languagesWithTopLanguagesFirst","uniq","newName","inputUnchanged","nameTooShort","nameAlreadyInUse","nameProtected","noLanguagesSelected","inputCannotBeProcessed","info","inputFieldLanguages","inputContainerLanguages","border","handleMouseEnter","handleMouseLeave","handleChangeName","languageGrouping","onSearch","emptyList","innerHTML","TermbaseSettingsIcon","Multiselect","groupBy","saveTermbase","termbaseEntries","editedTerm","editedPronunciation","editedTermbaseEntryId","editedTermbaseEntryDataItemIndex","editedTermRef","editedPronunciationRef","editedTermbaseEntryIdRef","editedTermbaseEntryDataItemIndexRef","termbaseEntriesRef","handleSaveEditedTerm","handleSaveEditedPronunciation","setKeepAfterLoading","changeEditedTerm","setEditedTerm","changeEditedPronunciation","setEditedPronunciation","cancelEditing","setEditedTermbaseEntryDataItemIndex","shouldContinueAfterCheck","newEditedItem","lengthLimit","newEditedTerm","term","termbaseEntry","dataItem","updateTermbaseEntry","termbaseEntryId","entryDataItemIndex","newEditedPronunciation","pronunciation","tableBody","languageColorIndex","termbaseLanguageColors","languageColor","cx","cy","ry","isEditing","termIsEmpty","pronunciationIsNotEmpty","shouldShowPlaceholder","startEditingTerm","setEditedTermbaseEntryId","startEditingPronunciation","updatedAt","deleteTermbaseEntry","rightValueOfActiveBackground","showingText","shouldShowSearchIcon","termbases","activeTermbase","activePage","totalTermbaseEntryCount","searchTerm","deleteTermbaseConfirmationPopupOpen","setDeleteTermbaseConfirmationPopupOpen","deleteTermbaseEntryConfirmationPopupOpen","setDeleteTermbaseEntryConfirmationPopupOpen","termbaseSettingsPopupOpen","setTermbaseSettingsPopupOpen","setTermbaseToSetUp","hasPages","pageCounter","from","_","i","otherTermbases","termbase","otherTermbase","setDelayedActionItem","openTermbaseSettingsPopupForCreate","disableScrollingOfPage","openTermbaseSettingsPopupForUpdate","closeTermbaseSettingsPopup","undefined","disable","updateTermbase","createTermbase","deleteTermbase","addTermbaseEntry","termbasesToRender","setActiveTermbaseId","activeTermbaseId","changeTermbase","DeleteTermbase","EditTermbase","handleChangeSearchTerm","setSearchTerm","pages","pageCount","setActivePage","renderDeleteConfirmationPopup","entity","Search","TermAdd","TermbasesTable","right","TermbaseSettingsPopup","loadingTermbases","loadingTermbaseEntries","delayedActionItem","hasCreatedTermbase","setHasCreatedTermbase","keepAfterLoading","hasTermbases","createdTermbase","newActiveTermbase","TermbasesFormBody","Termbases","handleCreateTermbase","handleDeleteTermbase","handleFetchTermbaseEntries","termbaseId","page","hasSearchTerm","fetchTermbaseEntries","handleSetActiveTermbaseId","resetTermbaseEntries","handleAddTermbaseEntry","handleDeleteTermbaseEntry","isOnLastPage","hasOnlyOneItemOnThisPage","handleSetActivePage","handleSetSearchTerm","fetchTermbases","TermbasesForm","_path3","_path4","Logo","caption1","caption2","preserveAspectRatio","errors","formState","emailFromUrl","setEmailFromUrl","decodeURIComponent","password","forwardToGoogle","GoogleLogo","required","pattern","minLength","rel","termsAndConditions","lastName","_toConsumableArray","navigator","browserLanguage","userLanguage","systemLanguage","passwordConfirmation","UsersSignUp","signUpFirstStep","isFirstOnboardingStep","OnboardingSidebar","SignUpFormStep1","SignUpFormStep2","signUp","userSignUp","sso","setSso","remember_me","emailOrDomain","changeSso","UsersSignIn","signIn","useSso","ssoSignIn","SignInForm","_circle","userSignIn","ROLES","VIDEO_QUANTITY_PER_MONTH","ORGANIZATION_SIZES","control","videoQuantityPerMonth","organizationSize","renderRoleDropdownList","_ref2","field","DropdownList","selectIcon","renderVideoQuantityPerMonthDropdownList","_ref3","renderOrganizationSizeDropdownList","_ref4","Controller","rules","render","Survey","submitSurvey","increaseStep","renderStep0","renderStep1","ReactPlayer","playing","loop","renderStep2","renderStep3","renderStep4","renderStep5","SurveyForm","renderProgressIndicator","BallActive","Ball","formattedCredits","credit","floor","round","REASONS","setStep","cancellationReason","setCancellationReason","timeToKeepCredits","onCancel","cancelSubscription","onContinue","formData","renderCancellationReasonDropdownList","isFirstStep","isSecondStep","InfoBadge","subscriptionIsTrialing","CancelSubscriptionFormTrial","CancelSubscriptionForm","fullNewPlanName","priceInUsd","pricePerPeriodWithoutVat","taxPercent","formattedNewPlanName","startCase","formattedNewPlanNameAllCapital","currency","willPayTax","total","updateSubscription","PRICE","subscriptionPriceCalculatorPerPeriod","selectedPlanName","monthlyPeriod","_PRICE$selectedPlanNa","endOfTrial","dayjs","add","durationTrialInDays","isMonthlyPeriod","changePeriod","isPriceInUsd","changeCurrency","planName","canGetTrial","features","currentPlan","currentPlanVersion","shouldShowButton","isCurrentPlan","canCancel","canUnlock","buttonSubtext","higherPlanSelected","lowerPlanSelected","samePlanButOtherPlanVersionSelected","canUpgrade","canDowngrade","priceSubtext","costPerPeriod","costPerMonth","feature","ReverseCheckmark","ButtonNew","handleBuy","handleCancel","handleBuyOrUpdate","scheduleDemo","CURRENT_PLAN_VERSION","CURRENT_PLANS","Subscription","handleChangePeriod","handleChangeCurrency","cancelSubscriptionPopupOpen","newPlanName","updateSubscriptionPopupOpen","startCheckoutSession","closeCancelSubscriptionPopup","closeUpdateSubscriptionPopup","renderCancelSubscriptionPopup","CancelSubscriptionPopup","renderUpdateSubscriptionPopup","_this$state2","UpdateSubscriptionPopup","_this$state3","updatedPlan","subscriptionId","renderTitle","getPlanSettings","minutesProvidedByPeriod","maxLanguagesLimit","renderPeriodSwitch","PeriodSwitch","renderCurrencySwitch","CurrencySwitch","renderOffers","_this$props3","hasLoadedStripeInfoSuccessfully","_this$state4","_plan$split2","planPeriod","planVersion","isPlanMonthly","plansToRender","unshift","planToRender","planSettings","Offer","EnterpriseOffer","renderFaq","Faq","getUserStripeInfo","stripeCustomerCurrency","shouldRenderFaq","shouldRenderCurrencySwitch","_user$stripe","_user$stripe2","isTrialing","stripe","customerCurrency","UsersPasswordNew","PasswordNewForm","passwordNew","userPasswordNew","watch","password_confirmation","reset_password_token","URLSearchParams","validate","UsersPasswordEdit","UsersPasswordEditForm","updatePassword","userPasswordEdit","UsersConfirmationNew","ConfirmationNewForm","confirmationNew","userConfirmationNew","CheckEmail","goToConfirmationNew","renderHeader","renderText","renderResendLink","getUserInfo","shouldRenderCheckEmail","ChannelsNew","handleVimeoConnectClick","connectExternalChannel","handleYoutubeConnectClick","renderYoutubeButton","YoutubeLogo","renderVimeoButton","VimeoIcon","_state","showInfoForStatus","setShowInfoForStatus","infoForStatusTimeout","setInfoForStatusTimeout","externalChannel","toggleShowStatusInfo","newInfoForStatusTimeout","YoutubeChannelIcon","VimeoChannelIcon","Crossmark","handleActionsClick","ChannelsManage","currentChannel","actionsDropdownOpen","closeDropdowns","handleDropdownClickOnRemove","_this$currentChannel","externalChannelId","removeExternalChannel","handleDropdownClickOnRefresh","_this$currentChannel2","renderActionsDropdown","dropdown","boundingRect","currentTarget","openActionsDropdown","renderChannels","Channel","convertFormality","formality","formalityOption","getLanguagesThatDoNotAllowVoiceCloning","projectVersionLanguage","subtitleLanguages","voiceCloningLanguages","languagesThatDoNotAllowDubbing","subtitleLanguage","projectType","changeProjectType","projectTypeOptions","originalLanguages","subtitlingLanguages","changeSubtitleLanguages","isTranslatable","languagesForVideos","changeProjectVersionLanguage","translationLanguages","initialProjectVersionLanguage","disabledSubtitleLanguages","hasLoaded","subtitleLanguagesRef","topLanguagesForSubtitling","setToManual","endsWith","originalLanguagesWithTopLanguagesFirst","subtitlingLanguagesWithTopLanguagesFirst","originalLanguageGrouping","subtitlingLanguageGrouping","shouldDisableSelectingProjectVersionLanguage","fillInPlaceholderProjectVersionLanguage","searchProjectVersionLanguage","closedDropdownSubtitleLanguages","classList","remove","dropdownSubtitleLanguages","setValue","inputFieldProjectVersionLanguage","inputTagListSubtitleLanguages","inputFieldSubtitleLanguages","inputContainerSubtitleLanguages","paddingLeft","paddingTop","padding","handleProjectVersionLanguageChange","handleSubtitleLanguagesChange","renderProjectVersionLanguageDropDownDropdownList","renderSubtitleLanguagesDropDownDropdownList","ProjectType","formattedMissingCredits","totalCost","openedForMultipleProjects","shouldHideCosts","hasEnoughTotalCredits","formattedTotalCost","formattedCreditsWithHours","active","setActive","handleActiveChange","setChecked","hasSrt","speakerDiarizationChecked","dragEnterCounter","setDragEnterCounter","srtParser","srtParser2","changeTranscriptText","newText","parsedText","fromSrt","newHasSrt","setHasSrt","setTranscriptText","toSrt","handleTranscriptChange","handleImportClick","handleFileImport","_fileRef$current","onFileDrop","_e$dataTransfer","preventDefault","dataTransfer","handleDragOver","handleDragEnter","handleDragLeave","nextDragEnterCounter","error","fileReader","FileReader","onload","_fileReader$result","newTranscriptText","result","readAsText","onDrop","onDragOver","onDragEnter","onDragLeave","AddVideosImage","File","setSpeakerDiarizationChecked","shouldRenderLinkToSubscription","defaultCaption","iconRight","buttonCaption","termbaseNames","selectedTermbaseName","setSelectedTermbaseName","termbasesPresent","termbaseNamesWithOptionForNoList","bodyOpen","setBodyOpen","bodyOpenDelayed","setBodyOpenDelayed","openBody","bodyDiv","closeBody","showInfoForDisabledUploadOption","setShowInfoForDisabledUploadOption","infoForDisabledUploadOptionTimeout","setInfoForDisabledUploadOptionTimeout","uploadScriptChecked","setUploadScriptChecked","generateShortenedProjectVersion","toggleInfoForDisabledUploadOption","newInfoForDisabledUploadOptionTimeout","shouldShowDisabledUploadOptionMultiple","shouldShowInfoForDisabledUploadOption","vocabularyNames","vocabularyChecked","setVocabularyChecked","selectedVocabularyName","setSelectedVocabularyName","vocabulariesPresent","vocabularyNamesWithOptionForNoList","guidelineNames","selectedGuidelineName","setSelectedGuidelineName","guidelinesPresent","guidelineNamesWithOptionForNoList","canUseVocabularies","canUseGuidelines","showUploadOption","reviewTranscriptChecked","noSpeakerDiarizationChecked","setReviewTranscriptChecked","setNoSpeakerDiarizationChecked","areThereNewTranslationSubtitlesPresent","shouldRenderReviewTranscript","shouldRenderVocabularies","shouldRenderGuidelines","showBody","UploadOption","FORMALITY_OPTIONS","changeFormality","canSetFormality","Formality","DUBBING_TYPES","disableDropdown","selectedDubbingType","setSelectedDubbingType","LIP_SYNC_MODELS","LIP_SYNC_MODELS_WITH_EXPLANATION","lipSyncModelIndex","lipSyncModel","lipSyncModelWithExplanation","newLipSyncModelWithExplanation","newLipSyncModelIndex","setLipSyncModel","separateAudioChecked","adaptTranslationChecked","lipSyncChecked","hasAudioSeparation","subscriptionAllowsTranslationAdaptionForDubbing","subscriptionAllowsLipSyncing","isAdmin","setSeparateAudioChecked","setAdaptTranslationChecked","setLipSyncChecked","hasLanguagesThatDoNotAllowVoiceCloning","shouldRenderAdaptTranslation","shouldRenderLipSync","infoText","toggleBody","renderItems","DubbingType","renderSeparateAudio","LipSyncModel","DEFAULT_GUIDELINE_NAME","isSubscriptionCurrent","projectVersionDuration","subscriptionSubtitlesLength","alignmentLanguages","subscriptionHasCreditLikeCharging","lastUsedTranscriptLanguage","lastUsedSubtitleLanguages","translationFormalityOptionLanguages","subscriptionAllowsVoiceAndVoiceCloning","hasMainAssets","lastUsedReviewTranscript","lastUsedSeparateAudio","lastUsedAdaptTranslation","lastUsedVocabularyName","lastUsedCaptionGuidelineName","lastUsedTranslationGuidelineName","captionGuidelineNames","translationGuidelineNames","vocabularyIds","captionGuidelineIds","translationGuidelineIds","termbaseIds","projectTermbaseName","lastUsedTermbaseName","lastTranscriptCreatedAfterGuidelineDeployment","lastTranslationCreatedAfterGuidelineDeployment","getValues","setProjectVersionLanguage","setInitialProjectVersionLanguage","setSubtitleLanguages","setDisabledSubtitleLanguages","onlyNewSubtitleLanguages","setOnlyNewSubtitleLanguages","languagesCorrectlySelected","setLanguagesCorrectlySelected","payloadSubmitProjectVersionUpdateBody","setPayloadSubmitProjectVersionUpdateBody","shouldShowTextAreaForTranscriptImport","setShouldShowTextAreaForTranscriptImport","transcriptText","setFormality","_useState26","setProjectType","_useState28","languagesThatDoNotAllowVoiceCloning","setLanguagesThatDoNotAllowVoiceCloning","_useState30","_useState32","_useState34","_useState36","selectedCaptionGuidelineName","setSelectedCaptionGuidelineName","_useState38","selectedTranslationGuidelineName","setSelectedTranslationGuidelineName","_useState40","_useState42","_useState44","_useState46","_useState48","_useState50","_useState52","_useState54","isSubmitted","setIsSubmitted","prevProjectVersionLanguage","isLanguageLimitReached","isDubbingProject","willDubImmediately","subtitlesCostCredits","isNewProject","numberOfNewTranslationSubtitles","totalCostWithCreditLikeCharging","hasNoSubscriptionSubtitles","subtitlesCostWithoutCreditLikeCharging","onlyNewTranslationLanguages","canUploadTranscript","canUseCaptionGuidelines","newSpeakerDiarizationChecked","uniqSubtitleLanguages","initialSubtitleLanguages","initialTermbaseName","newLanguagesThatDoNotAllowVoiceCloning","addToSubtitles","disableLanguages","newOnlyNewSubtitleLanguages","areNewSubtitlesAdded","nonTranslatableLanguages","currentDisabledSubtitleLanguages","without","currentSubtitleLanguages","_formData","updateProjectVersion","onSubmitWithTranscript","submitProjectVersionUpdate","srtTranscriptText","willUseVocabularies","willUseCaptionGuideline","willUseTranslationGuideline","willUseTermbase","automaticTranslation","reviewTranscriptBeforeTranslation","dubbingSettings","createCustomVoices","shouldSeparateAudio","adaptTranslation","findVocabularyIds","includesTranscript","dubbing","captionGuidelineId","findGuidelineId","translationGuidelineId","findTermbaseId","selectedVocabularyNames","findIndex","vocabularyName","guidelineIds","guidelineNameToUse","guidelineName","termbaseNameToUse","termbaseName","newProjectVersionLanguage","wasTranslatable","newSubtitleLanguages","goToDashboarOrPreviousStep","shouldRenderTranscriptionOptions","shouldRenderTranslationOptions","shouldRenderDubbingOptions","renderGeneralOptions","GeneralOptions","renderTranscriptionOptions","TranscriptionOptions","renderTranslationOptions","TranslationOptions","renderDubbingOptions","DubbingOptions","renderCosts","Costs","renderConfirmationButton","willContinueWithScriptImportation","transcriptEmpty","disableConfirmationButton","ConfirmationButton","Return","ScriptImport","MainSettings","SetThemePopup","close","isForOneProjectVersion","themeId","setTheme","themes","isReadyForTheme","loadingThemes","ThemesForm","isRenderedInEditor","fetchThemes","projectVersionSettings","getVocabularies","getVocabularyNames","getVocabularyIds","getTermbases","getTermbaseNames","getTermbaseIds","ProjectVersionSettings","renderSetThemePopup","closeSetThemePopup","openSetThemePopup","projectVersionIdsFromUrl","isForMultipleProjectVersions","fetchProjectVersionSettingsMultiple","setThemePopupOpen","_projectVersionSettin","ProjectVersionSettingsForm","_user$user$attributes","_user$user$attributes2","_user$user$attributes3","_user$user$attributes4","_user$user$attributes5","_user$user$attributes6","_user$user$attributes7","_user$user$attributes8","_user$user$attributes9","_user$user$attributes10","hasCreditLikeCharging","lastUsedTranscriptInformation","lastUsedTranslationInformation","lastUsedDubbingInformation","createdAfterGuidelineDeployment","allowsVoice","allowsVoiceCloning","allowsTranslationAdaptionForDubbing","allowsLipSyncing","changeScriptText","setScriptText","handleScriptChange","newScriptText","dubbingLanguages","shouldUseScript","OnOffSwitch","setShouldUseScript","GENDERS","gender","DropdownV2","newGender","setGender","voices","country","availableCountries","voice","sort","hasOnlyOneCountry","setCountry","voiceName","currentVoiceAudio","setCurrentVoiceAudio","showInfoForVoiceSample","setShowInfoForVoiceSample","infoForVoiceSampleTimeout","setInfoForVoiceSampleTimeout","currentVoice","setVoiceAudio","sampleUrl","paused","pause","Audio","toggleShowInfoForVoiceSample","newInfoForVoiceSampleTimeout","VoicePlayIcon","play","PREMIUM_VOICE_SERVICES","languageCode","voicesForGenderAndCountry","setVoicesForGenderAndCountry","currentVoiceHasWrongLanguage","setCurrentVoiceHasWrongLanguage","showInfoForVoiceHasWrongLanguage","setShowInfoForVoiceHasWrongLanguage","infoForVoiceHasWrongLanguageTimeout","setInfoForVoiceHasWrongLanguageTimeout","voiceNamesForGenderAndCountry","hasOnlyOneVoiceName","shouldShowWarningForVoiceHasWrongLanguage","newVoicesForGenderAndCountry","currentVoiceHasWrongGender","currentVoiceHasWrongCountry","newVoice","newVoiceForGenderAndCountry","handleChangeVoiceName","newCurrentVoiceHasWrongLanguage","isPremiumVoice","serviceName","newVoiceName","setVoiceName","WarningIconVoice","newInfoForVoiceHasWrongLanguageTimeout","PlayButtonForVoices","getDefaultCountry","Country","Gender","VoiceName","VoiceSettings","NO_TERMBASE","newTermbaseName","Termbase","formattedCosts","confirm","REGEX_BLOCK_SPLITTING_CHARACTERS","dubbingLanguagesCodes","subscriptionAllowsVoice","lastUsedTtsProjectVersionLanguage","scriptText","setLanguageCode","scriptTextEmpty","projectVersionLanguageNotSelected","hasVoices","matches","match","approximateNumberOfBlocks","newLanguageIndex","newLanguageCode","setupTts","goToProjectTypeSelection","handleShouldUseScript","newShouldUseScript","DefaultVoiceOptions","ProjectVersionSettingsTts","fetchProjectVersionSettingsTts","isNewUser","ProjectVersionSettingsFormTts","projectVersionSettingsTts","Upload","limitToOneFile","multiple","handleUploadClick","shouldRenderFreeTrialMessage","UploadText","FreeTrialArrow","GOOGLE_DRIVE_URL_PATTERNS","setUrls","urlsCorrect","setUrlsCorrect","tooManyUrls","maxNumberOfUrlsToSubmit","googleDriveUsed","urlsString","modifiedUrls","modifyUrls","sanitizeUrlsString","urlsToSubmit","changeUrls","sanitizedUrls","newUrls","newUrlsCorrect","validateUrls","newWarningMessages","setWarningMessages","shouldShowSubmitButton","Confirm","uploadingFileName","numberOfFilesToUpload","alreadyUploaded","Circle","percent","progress","strokeColor","strikeColor","cancelUploading","uploadingRequest","DEFAULT_STRIKE_COLOR","DEFAULT_MAX_VIDEO_SIZE","MAX_NUMBER_OF_URLS_TO_SUBMIT","BYTES_PER_GIGABYTE","maxVideoSize","maxFileSize","filesToUpload","showUploadingProgress","cancelUploadingCounter","warningMessages","showRemainingDiskSpaceWarning","setShouldShowRemainingDiskSpaceWarning","newShouldShowRemainingDiskspaceWarning","filesList","startsWith","handleUpload","initializeUpload","options","uploadElementCallback","params","createElement","showProgressCallback","loaded","workspaceId","ElementUploader","shouldShowDashboard","abort","resetUpload","renderUploadingProgress","UploadingProgress","renderBackButton","renderUploadForm","renderUploadArea","renderSubmitUrlsArea","renderWarnings","renderStartWithBlankProject","UploadArea","SubmitUrlsArea","remainingElementStorageSpace","shouldShowWarningList","usedElementStorageSpace","maxElementStorageSpace","warningMessage","createProject","shouldUploadNextFile","shouldStopShowUploadingProgress","shouldRenderUploadingProgress","shouldRenderUploadForm","ProjectTypeSelection","forwardToUpload","forwardToSetupTts","subtitleDubbing","voiceOverFromText","SalesTeam","DemoFooter","submitted","demo","saveUrlInState","DemoActionTypes","SAVE_URL_IN_STATE","submitDemoProjectVersionSettings","SUBMIT_DEMO_PROJECT_VERSION_SETTINGS","setSubmitted","SET_SUBMITTED","DemoUpload","DEFAULT_VIDEO_URL","MAX_VIDEO_SIZE","continueWithSetup","needsDownload","videoUrl","continueWithRandomVideo","ChecksubLogo","renderSubmitUrlsPlaceHolder","renderNoVideos","fetchProjectVersionSettingsDemo","DemoHeader","setEmail","DEFAULT_SUBTITLE_LANGUAGES","EMAIL_REGEX","isReadyForEmail","setIsReadyForEmail","goToUploadPageOrPreviousStep","ConfirmationArrow","EmailInput","emailCorrect","test","renderEmailForm","DemoProjectVersionSettings","hasUrl","DemoProjectVersionSettingsForm","strokeMiterlimit","PROCESSING_FACTORS","initializing","downloading","transcribing","importingSrt","waitingDiarizationWithTranscription","waitingDiarizationWithoutTranscription","detectingGender","checkingQuality","translating","translatingAndCheckingQuality","separatingAudio","initializingVoice","generatingVoice","adaptingTranslation","regeneratingVoice","lipSyncing","processed","ProcessingInfo","_createClass","getTotalProcessingDuration","allProcessingSteps","sum","getPercentageLimitsForStep","currentProcessingStep","totalProcessingDuration","currentProcessingStepIndex","remainingProcessingSteps","sumOfFactors","Processing","prepareUpdatingCurrentProcessingStep","updateCurrentProcessingStep","intervalIdForUpdateOfCurrentProcessingStep","fetchCurrentProcessingStep","prepareCounting","currentStepPercentageLimits","percentageDone","currentStepUpperPercentageLimit","count","intervalIdForCounting","prepareLoading","load","LOAD_PERIOD","intervalIdForLoading","newLoaderPercentage","loaderPercentage","forwardIfNecessary","onlyDownloading","renderInfo","projectTitle","renderDurationInfo","remainingDurationEstimateInSeconds","remainingDurationEstimate","fetchProcessingInfo","previousProps","Wave","processing","createBrowserRouter","PublicRoute","path","PrivateRoute","NoMatch","MagicIcon","line","iconLeft","TEN_YEARS_IN_DAYS","externalTokenUrl","hasDefinedValidity","setHasDefinedValidity","validity","setValidity","setExpiryDateFarInTheFuture","readOnly","Close","InputForFloatAsText","currentThemeId","setCurrentThemeId","hiddenImageIndex","setHiddenImageIndex","noThemeSelected","Rainbow","theme","sampleImageUrl","isSelected","videoId","shouldShowImage","onMouseOut","video","currentTime","AssetsActionTypes","INCREASE_PAGE_COUNT","DECREASE_PAGE_COUNT","GET_ELEMENTS","getElementsSuccess","GET_ELEMENTS_SUCCESS","getElementsFailure","GET_ELEMENTS_FAILURE","GET_AFFECTED_PROJECT_VERSIONS","getAffectedProjectVersionsSuccess","GET_AFFECTED_PROJECT_VERSIONS_SUCCESS","getAffectedProjectVersionsFailure","GET_AFFECTED_PROJECT_VERSIONS_FAILURE","CLOSE_DELETE_ELEMENT_POPUP","DELETE_ELEMENT","deleteElementSuccess","DELETE_ELEMENT_SUCCESS","deleteElementFailure","DELETE_ELEMENT_FAILURE","ChannelsActionTypes","GET_EXTERNAL_VIDEOS","getExternalVideosFailure","GET_EXTERNAL_VIDEOS_FAILURE","getExternalVideosSuccess","GET_EXTERNAL_VIDEOS_SUCCESS","getExternalChannelsFailure","GET_EXTERNAL_CHANNELS_FAILURE","getExternalChannelsSuccess","GET_EXTERNAL_CHANNELS_SUCCESS","OPEN_ACTIONS_DROPDOWN","CLOSE_DROPDOWNS","REMOVE_EXTERNAL_CHANNEL","GET_EXTERNAL_CHANNELS","DashboardSidebarActionTypes","CLOSE_POPUP","OPEN_CREATE_LABEL_POPUP","OPEN_DELETE_LABEL_POPUP","OPEN_RENAME_LABEL_POPUP","DeleteLabelActionTypes","DELETE_LABEL","deleteLabelFailure","DELETE_LABEL_FAILURE","deleteLabelSuccess","DELETE_LABEL_SUCCESS","DeleteProjectVersionActionTypes","DELETE_PROJECT_VERSION","deleteProjectVersionFailure","DELETE_PROJECT_VERSION_FAILURE","deleteProjectVersionSuccess","DELETE_PROJECT_VERSION_SUCCESS","ExternalTokenActionTypes","CREATE_OR_UPDATE_EXTERNAL_TOKEN","createOrUpdateExternalTokenSuccess","CREATE_OR_UPDATE_EXTERNAL_TOKEN_SUCCESS","createOrUpdateExternalTokenFailure","CREATE_OR_UPDATE_EXTERNAL_TOKEN_FAILURE","ImportSrtActionTypes","IMPORT_SRT","importSrtSuccess","IMPORT_SRT_SUCCESS","importSrtFailure","IMPORT_SRT_FAILURE","ProjectVersionActionTypes","FETCH_PROJECT_VERSIONS","loadProjectVersions","LOAD_PROJECT_VERSIONS","fetchProjectVersionsSuccess","FETCH_PROJECT_VERSIONS_SUCCESS","fetchProjectVersionsFailure","FETCH_PROJECT_VERSIONS_FAILURE","UPDATE_PROJECT_VERSIONS","updateProjectVersionsSuccess","UPDATE_PROJECT_VERSIONS_SUCCESS","updateProjectVersionsFailure","UPDATE_PROJECT_VERSIONS_FAILURE","OPEN_EXTERNAL_TOKEN_POPUP","OPEN_EXPORTATION_POPUP","OPEN_RATE_SUBTITLE_POPUP","OPEN_IMPORT_SRT_POPUP","OPEN_DELETE_PROJECT_VERSION_POPUP","CHANGE_SELECTED_PROJECT_VERSIONS","RATE_SUBTITLE","RenameLabelActionTypes","RENAME_LABEL","renameLabelFailure","RENAME_LABEL_FAILURE","renameLabelSuccess","RENAME_LABEL_SUCCESS","ElementActionTypes","CREATE_ELEMENT","createElementFailure","CREATE_ELEMENT_FAILURE","createElementSuccess","CREATE_ELEMENT_SUCCESS","RESET_UPLOAD","INITIALIZE_UPLOAD","SUBMIT_URLS","submitUrlsSuccess","SUBMIT_URLS_SUCCESS","submitUrlsFailure","SUBMIT_URLS_FAILURE","GuidelineActionTypes","FETCH_GUIDELINES","fetchGuidelinesSuccess","FETCH_GUIDELINES_SUCCESS","fetchGuidelinesFailure","FETCH_GUIDELINES_FAILURE","CREATE_GUIDELINE","createGuidelineFailure","CREATE_GUIDELINE_FAILURE","createGuidelineSuccess","CREATE_GUIDELINE_SUCCESS","UPDATE_GUIDELINE","updateGuidelineSuccess","UPDATE_GUIDELINE_SUCCESS","updateGuidelineFailure","UPDATE_GUIDELINE_FAILURE","DELETE_GUIDELINE","deleteGuidelineSuccess","DELETE_GUIDELINE_SUCCESS","deleteGuidelineFailure","DELETE_GUIDELINE_FAILURE","UPDATE_DEFAULT_GUIDELINE","updateDefaultGuidelineSuccess","UPDATE_DEFAULT_GUIDELINE_SUCCESS","updateDefaultGuidelineFailure","UPDATE_DEFAULT_GUIDELINE_FAILURE","DELETE_DEFAULT_GUIDELINE","deleteDefaultGuidelineSuccess","DELETE_DEFAULT_GUIDELINE_SUCCESS","deleteDefaultGuidelineFailure","DELETE_DEFAULT_GUIDELINE_FAILURE","LabelActionTypes","FETCH_LABELS","fetchLabelsFailure","FETCH_LABELS_FAILURE","fetchLabelsSuccess","FETCH_LABELS_SUCCESS","CREATE_LABEL","createLabelFailure","CREATE_LABEL_FAILURE","createLabelSuccess","CREATE_LABEL_SUCCESS","CHANGE_SELECTED_LABELS","RESET_LABEL_SELECTION","DELETE_PROJECT_VERSION_LABELS","deleteProjectVersionLabelsFailure","DELETE_PROJECT_VERSION_LABELS_FAILURE","deleteProjectVersionLabelsSuccess","DELETE_PROJECT_VERSION_LABELS_SUCCESS","CREATE_PROJECT_VERSION_LABELS","createProjectVersionLabelsFailure","CREATE_PROJECT_VERSION_LABELS_FAILURE","createProjectVersionLabelsSuccess","CREATE_PROJECT_VERSION_LABELS_SUCCESS","ProjectActionTypes","CREATE_PROJECT","createProjectSuccess","CREATE_PROJECT_SUCCESS","createProjectFailure","CREATE_PROJECT_FAILURE","SubscriptionsActionTypes","CANCEL_SUBSCRIPTION","cancelSubscriptionSuccess","CANCEL_SUBSCRIPTION_SUCCESS","cancelSubscriptionFailure","CANCEL_SUBSCRIPTION_FAILURE","START_CHECKOUT_SESSION","startCheckoutSessionFailure","START_CHECKOUT_SESSION_FAILURE","UPDATE_SUBSCRIPTION","updateSubscriptionSuccess","UPDATE_SUBSCRIPTION_SUCCESS","updateSubscriptionFailure","UPDATE_SUBSCRIPTION_FAILURE","TermbaseActionTypes","FETCH_TERMBASES","fetchTermbasesFailure","FETCH_TERMBASES_FAILURE","fetchTermbasesSuccess","FETCH_TERMBASES_SUCCESS","FETCH_TERMBASE_ENTRIES","fetchTermbaseEntriesFailure","FETCH_TERMBASE_ENTRIES_FAILURE","fetchTermbaseEntriesSuccess","FETCH_TERMBASE_ENTRIES_SUCCESS","SET_ACTIVE_TERMBASE_ID","SET_ACTIVE_PAGE","RESET_TERMBASE_ENTRIES","SET_SEARCH_TERM","CREATE_TERMBASE","createTermbaseFailure","CREATE_TERMBASE_FAILURE","createTermbaseSuccess","CREATE_TERMBASE_SUCCESS","UPDATE_TERMBASE","updateTermbaseFailure","UPDATE_TERMBASE_FAILURE","updateTermbaseSuccess","UPDATE_TERMBASE_SUCCESS","UPDATE_TERMBASE_ENTRY","updateTermbaseEntryFailure","UPDATE_TERMBASE_ENTRY_FAILURE","updateTermbaseEntrySuccess","UPDATE_TERMBASE_ENTRY_SUCCESS","DELETE_TERMBASE","deleteTermbaseFailure","DELETE_TERMBASE_FAILURE","deleteTermbaseSuccess","DELETE_TERMBASE_SUCCESS","DELETE_TERMBASE_ENTRY","deleteTermbaseEntryFailure","DELETE_TERMBASE_ENTRY_FAILURE","deleteTermbaseEntrySuccess","DELETE_TERMBASE_ENTRY_SUCCESS","ADD_TERMBASE_ENTRY","addTermbaseEntrySuccess","ADD_TERMBASE_ENTRY_SUCCESS","addTermbaseEntryFailure","ADD_TERMBASE_ENTRY_FAILURE","ThemeActionTypes","SET_THEME","OPEN_SET_THEME_POPUP","CLOSE_SET_THEME_POPUP","FETCH_THEMES","fetchThemesSuccess","FETCH_THEMES_SUCCESS","fetchThemesFailure","FETCH_THEMES_FAILURE","UserActionTypes","LOGOUT","logoutSuccess","LOGOUT_SUCCESS","GET_INFO","getUserInfoSuccess","GET_INFO_SUCCESS","getUserInfoFailure","GET_INFO_FAILURE","GET_STRIPE_INFO","getUserStripeInfoSuccess","GET_STRIPE_INFO_SUCCESS","getUserStripeInfoFailure","GET_STRIPE_INFO_FAILURE","CONNECT_EXTERNAL_CHANNEL","CREATE_CUSTOMER_PORTAL_SESSION","createCustomerPortalSessionFailure","CREATE_CUSTOMER_PORTAL_SESSION_FAILURE","setLastViewedAlert","SET_LAST_VIEWED_ALERT","getExportingSubtitleIds","GET_EXPORTING_SUBTITLE_IDS","getExportingSubtitleIdsSuccess","GET_EXPORTING_SUBTITLE_IDS_SUCCESS","getExportingProjectVersionIds","GET_EXPORTING_PROJECT_VERSION_IDS","getExportingProjectVersionIdsSuccess","GET_EXPORTING_PROJECT_VERSION_IDS_SUCCESS","LOGOUT_FAILURE","OPEN_SSO_ADMIN_PORTAL","VocabularyActionTypes","FETCH_VOCABULARIES","fetchVocabulariesFailure","FETCH_VOCABULARIES_FAILURE","fetchVocabulariesSuccess","FETCH_VOCABULARIES_SUCCESS","CREATE_VOCABULARY","createVocabularyFailure","CREATE_VOCABULARY_FAILURE","createVocabularySuccess","CREATE_VOCABULARY_SUCCESS","UPDATE_VOCABULARY","updateVocabularyFailure","UPDATE_VOCABULARY_FAILURE","updateVocabularySuccess","UPDATE_VOCABULARY_SUCCESS","DELETE_VOCABULARY","deleteVocabularyFailure","DELETE_VOCABULARY_FAILURE","deleteVocabularySuccess","DELETE_VOCABULARY_SUCCESS","SurveyActionTypes","SUBMIT_SURVEY","submitSurveySuccess","SUBMIT_SURVEY_SUCCESS","submitSurveyFailure","SUBMIT_SURVEY_FAILURE","ProcessingActionTypes","FETCH_PROCESSING_INFO","fetchProcessingInfoSuccess","FETCH_PROCESSING_INFO_SUCCESS","fetchProcessingInfoSuccessForDownloading","FETCH_PROCESSING_INFO_SUCCESS_FOR_DOWNLOADING","FETCH_CURRENT_PROCESSING_STEP","fetchCurrentProcessingStepSuccess","FETCH_CURRENT_PROCESSING_STEP_SUCCESS","ProjectVersionSettingsActionTypes","SUBMIT_PROJECT_VERSION_UPDATE","submitProjectVersionUpdateSuccess","SUBMIT_PROJECT_VERSION_UPDATE_SUCCESS","submitProjectVersionUpdateFailure","SUBMIT_PROJECT_VERSION_UPDATE_FAILURE","FETCH_PROJECT_VERSION_SETTINGS","fetchProjectVersionSettingsSuccess","FETCH_PROJECT_VERSION_SETTINGS_SUCCESS","projectVersionSettingsFailure","PROJECT_VERSION_SETTINGS_FAILURE","FETCH_PROJECT_VERSION_SETTINGS_MULTIPLE","fetchProjectVersionSettingsMultipleSuccess","FETCH_PROJECT_VERSION_SETTINGS_MULTIPLE_SUCCESS","FETCH_PROJECT_VERSION_SETTINGS_DEMO","fetchProjectVersionSettingsDemoSuccess","FETCH_PROJECT_VERSION_SETTINGS_DEMO_SUCCESS","ProjectVersionSettingsTtsActionTypes","FETCH_PROJECT_VERSION_SETTINGS_TTS","fetchProjectVersionSettingsTtsSuccess","FETCH_PROJECT_VERSION_SETTINGS_TTS_SUCCESS","fetchProjectVersionSettingsTtsFailure","FETCH_PROJECT_VERSION_SETTINGS_TTS_FAILURE","SETUP_TTS","setupTtsFailure","SETUP_TTS_FAILURE","SETUP_TTS_SUCCESS","ConfirmationNewFormActionTypes","CONFIRMATION_NEW","confirmationNewSuccess","CONFIRMATION_NEW_SUCCESS","confirmationNewFailure","CONFIRMATION_NEW_FAILURE","UserPasswordEditActionTypes","UPDATE_PASSWORD","updatePasswordSuccess","UPDATE_PASSWORD_SUCCESS","updatePasswordFailure","UPDATE_PASSWORD_FAILURE","PasswordNewFormActionTypes","PASSWORD_NEW","passwordNewSuccess","PASSWORD_NEW_SUCCESS","passwordNewFailure","PASSWORD_NEW_FAILURE","SignInFormActionTypes","SIGN_IN","SSO_SIGN_IN","signInSuccess","SIGN_IN_SUCCESS","signInFailure","SIGN_IN_FAILURE","SignUpFormActionTypes","SIGN_UP","signUpSuccess","SIGN_UP_SUCCESS","signUpFailure","SIGN_UP_FAILURE","autoDownloadExportation","exportationReadyForDownload","getWidth","documentElement","scrollWidth","body","offsetWidth","clientWidth","getHeight","scrollHeight","offsetHeight","convertToSnakeCase","hash","mapKeysDeep","snakeCase","callback","keys","mapKeys","_value","mapValues","val","isPlainObject","TOASTR_OPTIONS","S3Client","sanitizedFileName","elementMetaData","decodeURI","encodeURI","FileNameSanitizer","_initializeElement","AWS","region","credentials","IdentityPoolId","S3","useAccelerateEndpoint","httpOptions","timeout","_generateAwsParams","_upload","upload","err","Rollbar","pop","Location","videoHeight","videoWidth","on","fileExtension","workspaceIdForUpload","bucketName","s3Bucket","ACL","ContentType","Body","Bucket","Key","preload","URL","createObjectURL","DASHES","BLACKLIST_CHARACTERS","BLACKLIST_UNICODE_CHARACTERS","fileName","normalize","defaultCountry","voicesForGenderAndLanguageCode","languageCodeIsDialectLanguageCode","dialectLanguageCode","voicesForGenderAndDialectLanguageCode","getMetaValue","head","getAttribute","searchParams","param","classname","parentElement","hasInternetConnection","onLine","DEFAULT_MESSAGE","Logger","isAxiosError","Error","wistiaVideoId","last","youtubeVideoId","simplifiedYoutubUrl","runRealisticAnimation","fire","spread","startVelocity","gravity","scalar","particleRatio","particleCount","confetti","origin","smartMerge","hash1","hash2","isWithUuid","updatedHash1","obj","uuid","differenceBy","elementClass","setOpen","urlRegex","ZIP_FILENAME","urlParts","config"],"sourceRoot":""}