summaryrefslogtreecommitdiff
path: root/priv/static/static/js/2.5f3ceb7bdf08fadacf00.js.map
blob: 06d872608f93db9ebbf325783af2b0996c6d8191 (plain)
1
{"version":3,"sources":["webpack:///./src/components/settings_modal/settings_modal_content.scss?d424","webpack:///./src/components/settings_modal/settings_modal_content.scss","webpack:///./src/components/importer/importer.vue?7798","webpack:///./src/components/importer/importer.vue?6af6","webpack:///./src/components/exporter/exporter.vue?dea3","webpack:///./src/components/exporter/exporter.vue?cc2b","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss?4d0c","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack:///./src/components/autosuggest/autosuggest.vue?9908","webpack:///./src/components/autosuggest/autosuggest.vue?9383","webpack:///./src/components/block_card/block_card.vue?7ad7","webpack:///./src/components/block_card/block_card.vue?ddc8","webpack:///./src/components/mute_card/mute_card.vue?c72f","webpack:///./src/components/mute_card/mute_card.vue?1268","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?a613","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?c85e","webpack:///./src/components/selectable_list/selectable_list.vue?a6e3","webpack:///./src/components/selectable_list/selectable_list.vue?c2f8","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?c223","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?81f6","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?44d1","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?17b7","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?540b","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?cd9f","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?da3d","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?57b8","webpack:///./src/components/settings_modal/tabs/profile_tab.scss?588b","webpack:///./src/components/settings_modal/tabs/profile_tab.scss","webpack:///./src/components/image_cropper/image_cropper.vue?f169","webpack:///./src/components/image_cropper/image_cropper.vue?6235","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss?080d","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack:///./src/components/color_input/color_input.scss?c457","webpack:///./src/components/color_input/color_input.scss","webpack:///./src/components/color_input/color_input.vue?6a4c","webpack:///./src/components/color_input/color_input.vue?bb22","webpack:///./src/components/shadow_control/shadow_control.vue?bfd4","webpack:///./src/components/shadow_control/shadow_control.vue?78ef","webpack:///./src/components/font_control/font_control.vue?5f33","webpack:///./src/components/font_control/font_control.vue?bef4","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?a340","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?32fa","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?1ae8","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?ab81","webpack:///./src/components/importer/importer.js","webpack:///./src/components/importer/importer.vue","webpack:///./src/components/importer/importer.vue?11c1","webpack:///./src/components/exporter/exporter.js","webpack:///./src/components/exporter/exporter.vue","webpack:///./src/components/exporter/exporter.vue?8ccc","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.js","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue?eb14","webpack:///./src/components/autosuggest/autosuggest.js","webpack:///./src/components/autosuggest/autosuggest.vue","webpack:///./src/components/autosuggest/autosuggest.vue?b400","webpack:///./src/components/block_card/block_card.js","webpack:///./src/components/block_card/block_card.vue","webpack:///./src/components/block_card/block_card.vue?c0ce","webpack:///./src/components/mute_card/mute_card.js","webpack:///./src/components/mute_card/mute_card.vue","webpack:///./src/components/mute_card/mute_card.vue?1fcb","webpack:///./src/components/domain_mute_card/domain_mute_card.js","webpack:///./src/components/domain_mute_card/domain_mute_card.vue","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?bd8a","webpack:///./src/components/selectable_list/selectable_list.js","webpack:///./src/components/selectable_list/selectable_list.vue","webpack:///./src/components/selectable_list/selectable_list.vue?012d","webpack:///./src/hocs/with_subscription/with_subscription.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue?ef8c","webpack:///./src/components/settings_modal/tabs/notifications_tab.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue?79e8","webpack:///src/components/settings_modal/helpers/modified_indicator.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?e06d","webpack:///./src/components/settings_modal/helpers/boolean_setting.js","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue?03b6","webpack:///./src/components/settings_modal/helpers/choice_setting.js","webpack:///./src/components/settings_modal/helpers/choice_setting.vue","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?bf0a","webpack:///./src/components/settings_modal/helpers/shared_computed_object.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue?8eaf","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?198f","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.js","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue?14b1","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue?5e8d","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?ab3a","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.js","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue?2be5","webpack:///./src/components/image_cropper/image_cropper.js","webpack:///./src/components/image_cropper/image_cropper.vue","webpack:///./src/components/image_cropper/image_cropper.vue?f953","webpack:///./src/components/settings_modal/tabs/profile_tab.js","webpack:///./src/components/settings_modal/tabs/profile_tab.vue","webpack:///./src/components/settings_modal/tabs/profile_tab.vue?cec7","webpack:///src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue?f146","webpack:///./src/components/settings_modal/tabs/general_tab.js","webpack:///./src/components/settings_modal/tabs/general_tab.vue","webpack:///./src/components/settings_modal/tabs/general_tab.vue?f786","webpack:///./src/components/settings_modal/tabs/version_tab.js","webpack:///./src/services/version/version.service.js","webpack:///./src/components/settings_modal/tabs/version_tab.vue","webpack:///./src/components/settings_modal/tabs/version_tab.vue?7cbe","webpack:///src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue?3d5b","webpack:///./src/components/range_input/range_input.vue","webpack:///src/components/range_input/range_input.vue","webpack:///./src/components/range_input/range_input.vue?202a","webpack:///src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue?0078","webpack:///./src/components/shadow_control/shadow_control.js","webpack:///./src/components/shadow_control/shadow_control.vue","webpack:///./src/components/shadow_control/shadow_control.vue?1399","webpack:///./src/components/font_control/font_control.js","webpack:///./src/components/font_control/font_control.vue","webpack:///./src/components/font_control/font_control.vue?b0ba","webpack:///src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?dc36","webpack:///src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?f344","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.js","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue?8594","webpack:///./src/components/settings_modal/settings_modal_content.js","webpack:///./src/components/settings_modal/settings_modal_content.vue","webpack:///./src/components/settings_modal/settings_modal_content.vue?277c"],"names":["content","module","i","locals","exports","add","default","push","library","faCircleNotch","faTimes","Importer","props","submitHandler","type","Function","required","submitButtonLabel","String","this","$t","successMessage","errorMessage","data","file","error","success","submitting","methods","change","$refs","input","files","submit","dismiss","then","__vue_styles__","context","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","on","_v","_s","_e","Exporter","getContent","filename","exportButtonLabel","processingMessage","processing","process","fileToDownload","document","createElement","setAttribute","encodeURIComponent","style","display","body","appendChild","click","removeChild","setTimeout","DataImportExportTab","activeTab","newDomainToMute","created","$store","dispatch","components","Checkbox","computed","mapState","backendInteractor","state","api","user","users","currentUser","getFollowsContent","exportFriends","id","generateExportableUsersContent","getBlocksContent","fetchBlocks","getMutesContent","fetchMutes","importFollows","status","Error","importBlocks","importMutes","map","is_local","screen_name","location","hostname","join","query","filter","placeholder","term","timeout","results","resultsVisible","filtered","watch","val","fetchResults","clearTimeout","onInputClick","onClickOutside","directives","name","rawName","value","expression","domProps","$event","target","composing","length","_l","item","_t","BlockCard","progress","getters","findUser","userId","relationship","blocked","blocking","BasicUserCard","unblockUser","blockUser","MuteCard","muted","muting","unmuteUser","muteUser","DomainMuteCard","ProgressButton","domainMutes","includes","domain","unmuteDomain","muteDomain","scopedSlots","_u","key","fn","proxy","SelectableList","List","items","Array","getKey","selected","allKeys","filteredSelected","indexOf","allSelected","noneSelected","someSelected","isSelected","toggle","checked","splice","toggleAll","slice","class","withSubscription","fetch","select","childPropName","additionalPropNames","WrappedComponent","Object","keys","getComponentProps","v","concat","Vue","component","loading","fetchedData","$props","refresh","isEmpty","fetchData","render","h","$listeners","$scopedSlots","children","entries","$slots","slot","BlockList","get","MuteList","DomainMuteList","MutesAndBlocks","TabSwitcher","Autosuggest","knownDomains","instance","activateTab","tabName","filterUnblockedUsers","userIds","reject","filterUnMutedUsers","queryUserIds","blockUsers","ids","unblockUsers","muteUsers","unmuteUsers","filterUnMutedDomains","urls","url","queryKnownDomains","Promise","resolve","toLowerCase","unmuteDomains","domains","row","NotificationsTab","notificationSettings","notification_settings","updateNotificationSettings","settings","model","callback","$$v","$set","ModifiedIndicator","pathDefault","path","split","firstSegment","rest","$parent","undefined","defaultState","isChanged","update","e","disabled","Select","option","label","SharedComputedObject","configDefaultState","defaultConfig","reduce","acc","mergedConfig","set","useStreamingApi","console","FilteringTab","muteWordsStringLocal","muteWords","replyVisibilityOptions","mode","BooleanSetting","ChoiceSetting","muteWordsString","word","notificationVisibility","handler","deep","replyVisibility","backupCodes","inProgress","codes","ready","displayTitle","code","Confirm","confirm","$emit","cancel","currentPassword","deactivate","isActivated","totp","doActivate","cancelDeactivate","doDeactivate","confirmDeactivate","mfaDisableOTP","password","res","Mfa","available","enabled","setupState","setupOTPState","getNewCodes","otpSettings","provisioning_uri","otpConfirmToken","readyInit","RecoveryCodes","VueQrcode","canSetupOTP","setupInProgress","backupCodesPrepared","setupOTPInProgress","completedOTP","prepareOTP","confirmOTP","confirmNewBackupCodes","activateOTP","fetchBackupCodes","generateMfaBackupCodes","getBackupCodes","confirmBackupCodes","cancelBackupCodes","setupOTP","mfaSetupOTP","doConfirmOTP","mfaConfirmOTP","token","completeSetup","fetchSettings","cancelSetup","settingsMFA","result","mounted","width","SecurityTab","newEmail","changeEmailError","changeEmailPassword","changedEmail","deletingAccount","deleteAccountConfirmPasswordInput","deleteAccountError","changePasswordInputs","changedPassword","changePasswordError","pleromaBackend","oauthTokens","tokens","oauthToken","appName","app_name","validUntil","Date","valid_until","toLocaleDateString","localeService","internalToBrowserLocale","$i18n","locale","confirmDelete","deleteAccount","$router","changePassword","params","newPassword","newPasswordConfirmation","logout","changeEmail","email","replace","revokeToken","window","t","ImageCropper","trigger","Element","cropperOptions","aspectRatio","autoCropArea","viewMode","movable","zoomable","guides","mimes","saveButtonLabel","saveWithoutCroppingButtonlabel","cancelButtonLabel","cropper","dataUrl","saveText","saveWithoutCroppingText","cancelText","destroy","cropping","pickImage","createCropper","Cropper","img","getTriggerDOM","querySelector","readFile","fileInput","reader","FileReader","onload","readAsDataURL","addEventListener","beforeDestroy","removeEventListener","stopPropagation","faPlus","ProfileTab","newName","newBio","unescape","description","newLocked","locked","newNoRichText","no_rich_text","newDefaultScope","default_scope","newFields","fields","field","hideFollows","hide_follows","hideFollowers","hide_followers","hideFollowsCount","hide_follows_count","hideFollowersCount","hide_followers_count","showRole","show_role","role","discoverable","bot","allowFollowingMove","allow_following_move","pickAvatarBtnVisible","bannerUploading","backgroundUploading","banner","bannerPreview","background","backgroundPreview","ScopeSelector","EmojiInput","emojiUserSuggestor","suggestor","emoji","customEmoji","store","emojiSuggestor","userSuggestor","fieldsLimits","maxFields","defaultAvatar","server","defaultBanner","isDefaultAvatar","baseAvatar","profile_image_url","isDefaultBanner","baseBanner","cover_photo","isDefaultBackground","background_image","avatarImgSrc","src","profile_image_url_original","bannerImgSrc","updateProfile","note","display_name","fields_attributes","el","merge","commit","changeVis","visibility","addField","deleteField","index","event","$delete","uploadFile","size","filesize","fileSizeFormatService","fileSizeFormat","allowedsize","messageKey","messageArgs","num","filesizeunit","unit","allowedsizeunit","level","resetAvatar","submitAvatar","resetBanner","submitBanner","resetBackground","submitBackground","that","updateAvatar","avatar","updateProfileImages","displayUploadError","getCroppedCanvas","toBlob","message","_","languages","language","getLanguageName","languageName","charAt","toLocaleUpperCase","browserLocale","lang","faGlobe","GeneralTab","subjectLineOptions","loopSilentAvailable","getOwnPropertyDescriptor","HTMLVideoElement","prototype","HTMLMediaElement","InterfaceLanguageSwitcher","postFormats","postContentOptions","format","instanceSpecificPanelPresent","showInstanceSpecificPanel","instanceWallpaperUsed","instanceShoutboxPresent","shoutAvailable","streaming","hideNsfw","loopVideo","VersionTab","backendVersion","frontendVersion","frontendVersionLink","backendVersionLink","versionString","matches","match","fallback","Boolean","showOptionalTickbox","present","validColor","transparentColor","computedColor","startsWith","backgroundColor","max","hardMax","min","hardMin","step","faChevronDown","faChevronUp","toModel","object","x","y","blur","spread","inset","color","alpha","selectedId","cValue","ColorInput","OpacityInput","del","Math","moveUp","moveDn","beforeUpdate","anyShadows","anyShadowsFallback","currentFallback","moveUpValid","moveDnValid","usingFallback","rgb","hex2rgb","boxShadow","getCssShadow","shadow","isArray","_i","$$a","$$el","$$c","$$i","lValue","availableOptions","noInherit","options","dValue","family","isCustom","preset","custom","large","contrast","hint","hint_18pt","aaa","aa","laaa","laa","staticStyle","v1OnlyNames","themeImporter","newImporter","validator","importValidator","onImport","onImportFailure","themeExporter","newExporter","getExportedObject","exportedTheme","availableStyles","selectedTheme","theme","themeWarning","tempImportFile","engineVersion","previewShadows","previewColors","previewRadii","previewFonts","shadowsInvalid","colorsInvalid","radiiInvalid","keepColor","keepShadows","keepOpacity","keepRoundness","keepFonts","SLOT_INHERITANCE","OPACITIES","shadowSelected","shadowsLocal","fontsLocal","btnRadiusLocal","inputRadiusLocal","checkboxRadiusLocal","panelRadiusLocal","avatarRadiusLocal","avatarAltRadiusLocal","attachmentRadiusLocal","tooltipRadiusLocal","chatMessageRadiusLocal","self","getThemes","promises","all","k","themes","themesComplete","loadThemeFromLocalStorage","shadowsAvailable","themeWarningHelp","pre","origin","themeEngineVersion","noActionsPossible","CURRENT_VERSION","selectedVersion","currentColors","currentOpacity","currentRadii","btn","checkbox","panel","avatarAlt","tooltip","attachment","chatMessage","preview","composePreset","previewTheme","colors","opacity","radii","shadows","fonts","previewContrast","bg","colorsConverted","ratios","slotIsBaseText","textColor","layer","variant","opacitySlot","getOpacitySlot","textColors","layers","getLayers","textColorKey","newKey","toUpperCase","getContrastRatioLayers","ratio","text","toPrecision","warn","previewRules","rules","values","DEFAULT_SHADOWS","sort","currentShadowOverriden","currentShadow","currentShadowFallback","assign","themeValid","saveEverything","source","_pleroma_theme_version","RangeInput","ContrastRatio","ShadowControl","FontControl","Preview","loadTheme","fileVersion","forceUseSource","dismissWarning","version","snapshotEngineVersion","versionsMatch","sourceSnapshotMismatch","forcedSourceLoad","normalizeLocalState","forceLoadLocalStorage","forceLoad","forceSnapshot","err","confirmLoadSource","customTheme","customThemeSource","themeData","setCustomTheme","updatePreviewColorsAndShadows","generateColors","generateShadows","mod","importTheme","importData","exportTheme","exportData","parsed","forceSource","clearAll","clearV1","$data","endsWith","forEach","clearRoundness","clearOpacity","clearShadows","clearFonts","colors2to3","fg","fgColorLocal","rgb2hex","textColorLocal","Set","hex","Number","isNaN","shadows2to3","generateRadii","getOwnPropertyNames","generateFonts","fontsInvalid","find","s","log","bgColorLocal","linkColorLocal","cRedColorLocal","cGreenColorLocal","cBlueColorLocal","cOrangeColorLocal","bgOpacityLocal","bgText","link","accentColorLocal","accent","bgLink","fgText","fgTextColorLocal","fgLink","fgLinkColorLocal","bgCRed","bgCBlue","bgCGreen","bgCOrange","postLinkColorLocal","postLink","cGreen","postGreentextColorLocal","postGreentext","alertError","alertErrorColorLocal","alertErrorText","alertErrorTextColorLocal","alertWarning","alertWarningColorLocal","alertWarningText","alertWarningTextColorLocal","alertNeutral","alertNeutralColorLocal","alertNeutralText","alertNeutralTextColorLocal","alert","alertOpacityLocal","badgeNotification","badgeNotificationColorLocal","badgeNotificationText","badgeNotificationTextColorLocal","panelColorLocal","panelOpacityLocal","panelText","panelTextColorLocal","panelLink","panelLinkColorLocal","topBar","topBarColorLocal","topBarText","topBarTextColorLocal","topBarLink","topBarLinkColorLocal","inputColorLocal","inputOpacityLocal","inputText","inputTextColorLocal","btnColorLocal","btnOpacityLocal","btnText","btnTextColorLocal","btnPanelText","btnPanelTextColorLocal","btnTopBarText","btnTopBarTextColorLocal","btnPressed","btnPressedColorLocal","btnPressedText","btnPressedTextColorLocal","btnPressedPanelText","btnPressedPanelTextColorLocal","btnPressedTopBarText","btnPressedTopBarTextColorLocal","btnDisabled","btnDisabledColorLocal","btnDisabledText","btnDisabledTextColorLocal","btnDisabledPanelText","btnDisabledPanelTextColorLocal","btnDisabledTopBarText","btnDisabledTopBarTextColorLocal","btnToggled","btnToggledColorLocal","btnToggledText","btnToggledTextColorLocal","btnToggledPanelText","btnToggledPanelTextColorLocal","btnToggledTopBarText","btnToggledTopBarTextColorLocal","tab","tabColorLocal","tabText","tabTextColorLocal","tabActiveText","tabActiveTextColorLocal","border","borderColorLocal","borderOpacityLocal","faint","faintColorLocal","faintLink","faintLinkColorLocal","panelFaint","panelFaintColorLocal","faintOpacityLocal","underlay","underlayColorLocal","underlayOpacityLocal","wallpaper","wallpaperColorLocal","poll","pollColorLocal","pollText","pollTextColorLocal","icon","iconColorLocal","highlight","highlightColorLocal","highlightText","highlightTextColorLocal","highlightLink","highlightLinkColorLocal","popover","popoverColorLocal","popoverOpacityLocal","popoverText","popoverTextColorLocal","popoverLink","popoverLinkColorLocal","selectedPost","selectedPostColorLocal","selectedPostText","selectedPostTextColorLocal","selectedPostLink","selectedPostLinkColorLocal","selectedMenu","selectedMenuColorLocal","selectedMenuText","selectedMenuTextColorLocal","selectedMenuLink","selectedMenuLinkColorLocal","chatBgColorLocal","chatMessageIncomingBgColorLocal","chatMessageIncomingTextColorLocal","chatMessageIncomingLinkColorLocal","chatMessageIncomingBorderColorLocal","chatMessageOutgoingBgColorLocal","chatMessageOutgoingTextColorLocal","chatMessageOutgoingLinkColorLocal","chatMessageOutgoingBorderColorLocal","interface","post","postCode","faWrench","faUser","faFilter","faPaintBrush","faBell","faDownload","faEyeSlash","faInfo","SettingsModalContent","MutesAndBlocksTab","ThemeTab","isLoggedIn","open","settingsModalState","onOpen","targetTab","settingsModalTargetTab","tabIndex","tabSwitcher","findIndex","elm","setTab"],"mappings":"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","file":"static/js/2.5f3ceb7bdf08fadacf00.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!./settings_modal_content.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"a45e17ec\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".settings_tab-switcher{height:100%}.settings_tab-switcher .setting-item{border-bottom:2px solid var(--fg,#182230);margin:1em 1em 1.4em;padding-bottom:1.4em}.settings_tab-switcher .setting-item>div,.settings_tab-switcher .setting-item>label{display:block;margin-bottom:.5em}.settings_tab-switcher .setting-item>div:last-child,.settings_tab-switcher .setting-item>label:last-child{margin-bottom:0}.settings_tab-switcher .setting-item .select-multiple{display:-ms-flexbox;display:flex}.settings_tab-switcher .setting-item .select-multiple .option-list{margin:0;padding-left:.5em}.settings_tab-switcher .setting-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:1em}.settings_tab-switcher .setting-item select{min-width:10em}.settings_tab-switcher .setting-item textarea{width:100%;max-width:100%;height:100px}.settings_tab-switcher .setting-item .unavailable,.settings_tab-switcher .setting-item .unavailable svg{color:var(--cRed,red);color:red}.settings_tab-switcher .setting-item .number-input{max-width:6em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./importer.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5bed876c\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".importer-uploading{font-size:1.5em;margin:.25em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./exporter.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"432fc7c6\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".exporter-processing{margin:.25em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../../node_modules/sass-loader/lib/loader.js!./mutes_and_blocks_tab.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"33ca0d90\", content, true, {});","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mutes-and-blocks-tab{height:100%}.mutes-and-blocks-tab .usersearch-wrapper{padding:1em}.mutes-and-blocks-tab .bulk-actions{text-align:right;padding:0 1em;min-height:28px}.mutes-and-blocks-tab .bulk-action-button{width:10em}.mutes-and-blocks-tab .domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.mutes-and-blocks-tab .domain-mute-button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./autosuggest.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3a9ec1bf\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".autosuggest{position:relative}.autosuggest-input{display:block;width:100%}.autosuggest-results{position:absolute;left:0;top:100%;right:0;max-height:400px;background-color:#121a24;background-color:var(--bg,#121a24);border-color:#222;border:1px solid var(--border,#222);border-radius:4px;border-radius:var(--inputRadius,4px);border-top-left-radius:0;border-top-right-radius:0;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);overflow-y:auto;z-index:1}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./block_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"211aa67c\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".block-card-content-container{margin-top:.5em;text-align:right}.block-card-content-container button{width:10em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mute_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7ea980e0\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mute-card-content-container{margin-top:.5em;text-align:right}.mute-card-content-container button{width:10em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./domain_mute_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"39a942c3\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".domain-mute-card{-ms-flex:1 0;flex:1 0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:.6em 1em .6em 0}.domain-mute-card-domain{margin-right:1em;overflow:hidden;text-overflow:ellipsis}.domain-mute-card button{width:10em}.autosuggest-results .domain-mute-card{padding-left:1em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./selectable_list.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3724291e\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".selectable-list-item-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.selectable-list-item-inner>*{min-width:0}.selectable-list-item-selected-inner{background-color:#151e2a;background-color:var(--selectedMenu,#151e2a);color:var(--selectedMenuText,#b9b9ba);--faint:var(--selectedMenuFaintText,$fallback--faint);--faintLink:var(--selectedMenuFaintLink,$fallback--faint);--lightText:var(--selectedMenuLightText,$fallback--lightText);--icon:var(--selectedMenuIcon,$fallback--icon)}.selectable-list-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.6em 0;border-bottom:2px solid;border-bottom-color:#222;border-bottom-color:var(--border,#222)}.selectable-list-header-actions{-ms-flex:1;flex:1}.selectable-list-checkbox-wrapper{padding:0 10px;-ms-flex:none;flex:none}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../../node_modules/sass-loader/lib/loader.js!../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./modified_indicator.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1fa434a2\", content, true, {});","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".ModifiedIndicator{display:inline-block;position:relative}.ModifiedIndicator .modified-tooltip{margin:.5em 1em;min-width:10em;text-align:center}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../../node_modules/sass-loader/lib/loader.js!../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./choice_setting.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"9374f1e2\", content, true, {});","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/index.js?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mfa.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"a588473e\", content, true, {});","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mfa-settings .method-item,.mfa-settings .mfa-heading{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline}.mfa-settings .warning{color:orange;color:var(--cOrange,orange)}.mfa-settings .setup-otp{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.mfa-settings .setup-otp .qr-code{-ms-flex:1;flex:1;padding-right:10px}.mfa-settings .setup-otp .verify{-ms-flex:1;flex:1}.mfa-settings .setup-otp .error{margin:4px 0 0}.mfa-settings .setup-otp .confirm-otp-actions button{width:15em;margin-top:5px}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/index.js?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mfa_backup_codes.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4065bf15\", content, true, {});","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mfa-backup-codes .warning{color:orange;color:var(--cOrange,orange)}.mfa-backup-codes .backup-codes{font-family:var(--postCodeFont,monospace)}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../../node_modules/sass-loader/lib/loader.js!./profile_tab.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"27925ae8\", content, true, {});","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".profile-tab .bio{margin:0}.profile-tab .visibility-tray{padding-top:5px}.profile-tab input[type=file]{padding:5px;height:auto}.profile-tab .banner-background-preview{max-width:100%;width:300px;position:relative}.profile-tab .banner-background-preview img{width:100%}.profile-tab .uploading{font-size:1.5em;margin:.25em}.profile-tab .name-changer{width:100%}.profile-tab .current-avatar-container{position:relative;width:150px;height:150px}.profile-tab .current-avatar{display:block;width:100%;height:100%;border-radius:4px;border-radius:var(--avatarRadius,4px)}.profile-tab .reset-button{position:absolute;top:.2em;right:.2em;border-radius:5px;border-radius:var(--tooltipRadius,5px);background-color:rgba(0,0,0,.6);opacity:.7;color:#fff;width:1.5em;height:1.5em;text-align:center;line-height:1.5em;font-size:1.5em;cursor:pointer}.profile-tab .reset-button:hover{opacity:1}.profile-tab .oauth-tokens{width:100%}.profile-tab .oauth-tokens th{text-align:left}.profile-tab .oauth-tokens .actions{text-align:right}.profile-tab-usersearch-wrapper{padding:1em}.profile-tab-bulk-actions{text-align:right;padding:0 1em;min-height:28px}.profile-tab-bulk-actions button{width:10em}.profile-tab-domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.profile-tab-domain-mute-form button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}.profile-tab .setting-subitem{margin-left:1.75em}.profile-tab .profile-fields{display:-ms-flexbox;display:flex}.profile-tab .profile-fields>.emoji-input{-ms-flex:1 1 auto;flex:1 1 auto;margin:0 .2em .5em;min-width:0}.profile-tab .profile-fields .delete-field{width:20px;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;margin:0 .2em .5em;padding:0 .5em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./image_cropper.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0dfd0b33\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".image-cropper-img-input{display:none}.image-cropper-image-container{position:relative}.image-cropper-image-container img{display:block;max-width:100%}.image-cropper-buttons-wrapper{margin-top:10px}.image-cropper-buttons-wrapper button{margin-top:5px}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/index.js?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../../../node_modules/sass-loader/lib/loader.js!./theme_tab.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4fafab12\", content, true, {});","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".theme-tab{padding-bottom:2em}.theme-tab .theme-warning{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:.5em}.theme-tab .theme-warning .buttons .btn{margin-bottom:.5em}.theme-tab .preset-switcher{margin-right:1em}.theme-tab .style-control{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:5px}.theme-tab .style-control .label{-ms-flex:1;flex:1}.theme-tab .style-control.disabled input,.theme-tab .style-control.disabled select{opacity:.5}.theme-tab .style-control .opt{margin:.5em}.theme-tab .style-control .color-input{-ms-flex:0 0 0px;flex:0 0 0}.theme-tab .style-control input,.theme-tab .style-control select{min-width:3em;margin:0;-ms-flex:0;flex:0}.theme-tab .style-control input[type=number],.theme-tab .style-control select[type=number]{min-width:5em}.theme-tab .style-control input[type=range],.theme-tab .style-control select[type=range]{-ms-flex:1;flex:1;min-width:3em;-ms-flex-item-align:start;align-self:flex-start}.theme-tab .reset-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .apply-container,.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .radius-container,.theme-tab .reset-container{display:-ms-flexbox;display:flex}.theme-tab .fonts-container,.theme-tab .radius-container{-ms-flex-direction:column;flex-direction:column}.theme-tab .color-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.theme-tab .color-container>h4{width:99%}.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .presets-container,.theme-tab .radius-container,.theme-tab .shadow-container{margin:1em 1em 0}.theme-tab .tab-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline;width:100%;min-height:30px;margin-bottom:1em}.theme-tab .tab-header p{-ms-flex:1;flex:1;margin:0;margin-right:.5em}.theme-tab .tab-header-buttons{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.theme-tab .tab-header-buttons .btn{min-width:1px;-ms-flex:0 auto;flex:0 auto;padding:0 1em;margin-bottom:.5em}.theme-tab .shadow-selector .override{-ms-flex:1;flex:1;margin-left:.5em}.theme-tab .shadow-selector .select-container{margin-top:-4px;margin-bottom:-3px}.theme-tab .save-load,.theme-tab .save-load-options{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .save-load-options .import-export,.theme-tab .save-load-options .presets,.theme-tab .save-load .import-export,.theme-tab .save-load .presets{margin-bottom:.5em}.theme-tab .save-load-options .import-export,.theme-tab .save-load .import-export{display:-ms-flexbox;display:flex}.theme-tab .save-load-options .override,.theme-tab .save-load .override{margin-left:.5em}.theme-tab .save-load-options{-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:.5em;-ms-flex-pack:center;justify-content:center}.theme-tab .save-load-options .keep-option{margin:0 .5em .5em;min-width:25%}.theme-tab .preview-container{border-top:1px dashed;border-bottom:1px dashed;border-color:#222;border-color:var(--border,#222);margin:1em 0;padding:1em;background-color:var(--wallpaper);background-image:var(--body-background-image);background-size:cover;background-position:50% 50%}.theme-tab .preview-container .dummy .post{font-family:var(--postFont);display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .post .content h4{margin-bottom:.25em}.theme-tab .preview-container .dummy .post .content .icons{margin-top:.5em;display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content .icons i{margin-right:1em}.theme-tab .preview-container .dummy .after-post{margin-top:1em;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.theme-tab .preview-container .dummy .avatar,.theme-tab .preview-container .dummy .avatar-alt{background:linear-gradient(135deg,#b8e1fc,#a9d2f3 10%,#90bae4 25%,#90bcea 37%,#90bff0 50%,#6ba8e5 51%,#a2daf5 83%,#bdf3fd);color:#000;font-family:sans-serif;text-align:center;margin-right:1em}.theme-tab .preview-container .dummy .avatar-alt{-ms-flex:0 auto;flex:0 auto;margin-left:28px;font-size:12px;min-width:20px;min-height:20px;line-height:20px;border-radius:10px;border-radius:var(--avatarAltRadius,10px)}.theme-tab .preview-container .dummy .avatar{-ms-flex:0 auto;flex:0 auto;width:48px;height:48px;font-size:14px;line-height:48px}.theme-tab .preview-container .dummy .actions{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .preview-container .dummy .actions .checkbox{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:baseline;align-items:baseline;margin-right:1em;-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .separator{margin:1em;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222)}.theme-tab .preview-container .dummy .panel-heading .alert,.theme-tab .preview-container .dummy .panel-heading .badge,.theme-tab .preview-container .dummy .panel-heading .btn,.theme-tab .preview-container .dummy .panel-heading .faint{margin-left:1em;white-space:nowrap}.theme-tab .preview-container .dummy .panel-heading .faint{text-overflow:ellipsis;min-width:2em;overflow-x:hidden}.theme-tab .preview-container .dummy .panel-heading .flex-spacer{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .btn{margin-left:0;padding:0 1em;min-width:3em;min-height:30px}.theme-tab .apply-container{-ms-flex-pack:center;justify-content:center}.theme-tab .color-item,.theme-tab .radius-item{min-width:20em;margin:5px 6px 0 0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 0px;flex:1 1 0}.theme-tab .color-item.wide,.theme-tab .radius-item.wide{min-width:60%}.theme-tab .color-item:not(.wide):nth-child(odd),.theme-tab .radius-item:not(.wide):nth-child(odd){margin-right:7px}.theme-tab .color-item .color,.theme-tab .color-item .opacity,.theme-tab .radius-item .color,.theme-tab .radius-item .opacity{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .radius-item{-ms-flex-preferred-size:auto;flex-basis:auto}.theme-tab .theme-color-cl,.theme-tab .theme-radius-rn{border:0;box-shadow:none;background:transparent;color:var(--faint,hsla(240,1%,73%,.5));-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.theme-tab .theme-color-cl,.theme-tab .theme-color-in,.theme-tab .theme-radius-in{margin-left:4px}.theme-tab .theme-radius-in{min-width:1em;max-width:7em;-ms-flex:1;flex:1}.theme-tab .theme-radius-lb{max-width:50em}.theme-tab .theme-preview-content{padding:20px}.theme-tab .apply-container .btn{min-height:28px;min-width:10em;padding:0 2em}.theme-tab .btn{margin-left:.25em;margin-right:.25em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!./color_input.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7e57f952\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".color-input,.color-input-field.input{display:-ms-inline-flexbox;display:inline-flex}.color-input-field.input{-ms-flex:0 0 0px;flex:0 0 0;max-width:9em;-ms-flex-align:stretch;align-items:stretch;padding:.2em 8px}.color-input-field.input input{background:none;color:#b9b9ba;color:var(--inputText,#b9b9ba);border:none;padding:0;margin:0}.color-input-field.input input.textColor{-ms-flex:1 0 3em;flex:1 0 3em;min-width:3em;padding:0}.color-input-field.input .computedIndicator,.color-input-field.input .transparentIndicator,.color-input-field.input input.nativeColor{-ms-flex:0 0 2em;flex:0 0 2em;min-width:2em;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;height:100%}.color-input-field.input .transparentIndicator{background-color:#f0f;position:relative}.color-input-field.input .transparentIndicator:after,.color-input-field.input .transparentIndicator:before{display:block;content:\\\"\\\";background-color:#000;position:absolute;height:50%;width:50%}.color-input-field.input .transparentIndicator:after{top:0;left:0}.color-input-field.input .transparentIndicator:before{bottom:0;right:0}.color-input .label{-ms-flex:1 1 auto;flex:1 1 auto}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=1!./color_input.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6c632637\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".color-control input.text-input{max-width:7em;-ms-flex:1;flex:1}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./shadow_control.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d219da80\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shadow-control{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin-bottom:1em}.shadow-control .shadow-preview-container,.shadow-control .shadow-tweak{margin:5px 6px 0 0}.shadow-control .shadow-preview-container{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.shadow-control .shadow-preview-container input[type=number]{width:5em;min-width:2em}.shadow-control .shadow-preview-container .x-shift-control,.shadow-control .shadow-preview-container .y-shift-control{display:-ms-flexbox;display:flex;-ms-flex:0;flex:0}.shadow-control .shadow-preview-container .x-shift-control[disabled=disabled] *,.shadow-control .shadow-preview-container .y-shift-control[disabled=disabled] *{opacity:.5}.shadow-control .shadow-preview-container .x-shift-control{-ms-flex-align:start;align-items:flex-start}.shadow-control .shadow-preview-container .x-shift-control .wrap,.shadow-control .shadow-preview-container input[type=range]{margin:0;width:15em;height:2em}.shadow-control .shadow-preview-container .y-shift-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end}.shadow-control .shadow-preview-container .y-shift-control .wrap{width:2em;height:15em}.shadow-control .shadow-preview-container .y-shift-control input[type=range]{transform-origin:1em 1em;transform:rotate(90deg)}.shadow-control .shadow-preview-container .preview-window{-ms-flex:1;flex:1;background-color:#999;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-image:linear-gradient(45deg,#666 25%,transparent 0),linear-gradient(-45deg,#666 25%,transparent 0),linear-gradient(45deg,transparent 75%,#666 0),linear-gradient(-45deg,transparent 75%,#666 0);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;border-radius:4px;border-radius:var(--inputRadius,4px)}.shadow-control .shadow-preview-container .preview-window .preview-block{width:33%;height:33%;background-color:#121a24;background-color:var(--bg,#121a24);border-radius:10px;border-radius:var(--panelRadius,10px)}.shadow-control .shadow-tweak{-ms-flex:1;flex:1;min-width:280px}.shadow-control .shadow-tweak .id-control{-ms-flex-align:stretch;align-items:stretch}.shadow-control .shadow-tweak .id-control .shadow-switcher{-ms-flex:1;flex:1}.shadow-control .shadow-tweak .id-control .btn,.shadow-control .shadow-tweak .id-control .shadow-switcher{min-width:1px;margin-right:5px}.shadow-control .shadow-tweak .id-control .btn{padding:0 .4em;margin:0 .1em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./font_control.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d9c0acde\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".font-control input.custom-font{min-width:10em}.font-control.custom .font-switcher{border-top-right-radius:0;border-bottom-right-radius:0}.font-control.custom .custom-font{border-top-left-radius:0;border-bottom-left-radius:0}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./contrast_ratio.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"b94bc120\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".contrast-ratio{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:-4px;margin-bottom:5px}.contrast-ratio .label{margin-right:1em}.contrast-ratio .rating{display:inline-block;text-align:center;margin-left:.5em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/index.js?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./preview.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6fe23c76\", content, true, {});","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".preview-container{position:relative}.underlay-preview{position:absolute;top:0;bottom:0;left:10px;right:10px}\", \"\"]);\n\n// exports\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faCircleNotch,\n  faTimes\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faCircleNotch,\n  faTimes\n)\n\nconst Importer = {\n  props: {\n    submitHandler: {\n      type: Function,\n      required: true\n    },\n    submitButtonLabel: {\n      type: String,\n      default () {\n        return this.$t('importer.submit')\n      }\n    },\n    successMessage: {\n      type: String,\n      default () {\n        return this.$t('importer.success')\n      }\n    },\n    errorMessage: {\n      type: String,\n      default () {\n        return this.$t('importer.error')\n      }\n    }\n  },\n  data () {\n    return {\n      file: null,\n      error: false,\n      success: false,\n      submitting: false\n    }\n  },\n  methods: {\n    change () {\n      this.file = this.$refs.input.files[0]\n    },\n    submit () {\n      this.dismiss()\n      this.submitting = true\n      this.submitHandler(this.file)\n        .then(() => { this.success = true })\n        .catch(() => { this.error = true })\n        .finally(() => { this.submitting = false })\n    },\n    dismiss () {\n      this.success = false\n      this.error = false\n    }\n  }\n}\n\nexport default Importer\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./importer.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./importer.js\"\nimport __vue_script__ from \"!!babel-loader!./importer.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a867b6dc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./importer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"importer\"},[_c('form',[_c('input',{ref:\"input\",attrs:{\"type\":\"file\"},on:{\"change\":_vm.change}})]),_vm._v(\" \"),(_vm.submitting)?_c('FAIcon',{staticClass:\"importer-uploading\",attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.submit}},[_vm._v(\"\\n    \"+_vm._s(_vm.submitButtonLabel)+\"\\n  \")]),_vm._v(\" \"),(_vm.success)?_c('div',[_c('FAIcon',{attrs:{\"icon\":\"times\"},on:{\"click\":_vm.dismiss}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.successMessage))])],1):(_vm.error)?_c('div',[_c('FAIcon',{attrs:{\"icon\":\"times\"},on:{\"click\":_vm.dismiss}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.errorMessage))])],1):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { library } from '@fortawesome/fontawesome-svg-core'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faCircleNotch\n)\n\nconst Exporter = {\n  props: {\n    getContent: {\n      type: Function,\n      required: true\n    },\n    filename: {\n      type: String,\n      default: 'export.csv'\n    },\n    exportButtonLabel: {\n      type: String,\n      default () {\n        return this.$t('exporter.export')\n      }\n    },\n    processingMessage: {\n      type: String,\n      default () {\n        return this.$t('exporter.processing')\n      }\n    }\n  },\n  data () {\n    return {\n      processing: false\n    }\n  },\n  methods: {\n    process () {\n      this.processing = true\n      this.getContent()\n        .then((content) => {\n          const fileToDownload = document.createElement('a')\n          fileToDownload.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(content))\n          fileToDownload.setAttribute('download', this.filename)\n          fileToDownload.style.display = 'none'\n          document.body.appendChild(fileToDownload)\n          fileToDownload.click()\n          document.body.removeChild(fileToDownload)\n          // Add delay before hiding processing state since browser takes some time to handle file download\n          setTimeout(() => { this.processing = false }, 2000)\n        })\n    }\n  }\n}\n\nexport default Exporter\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./exporter.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./exporter.js\"\nimport __vue_script__ from \"!!babel-loader!./exporter.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6a56c20e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./exporter.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exporter\"},[(_vm.processing)?_c('div',[_c('FAIcon',{attrs:{\"icon\":\"circle-notch\",\"size\":\"lg\",\"spin\":\"\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.processingMessage))])],1):_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.process}},[_vm._v(\"\\n    \"+_vm._s(_vm.exportButtonLabel)+\"\\n  \")])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Importer from 'src/components/importer/importer.vue'\nimport Exporter from 'src/components/exporter/exporter.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport { mapState } from 'vuex'\n\nconst DataImportExportTab = {\n  data () {\n    return {\n      activeTab: 'profile',\n      newDomainToMute: ''\n    }\n  },\n  created () {\n    this.$store.dispatch('fetchTokens')\n  },\n  components: {\n    Importer,\n    Exporter,\n    Checkbox\n  },\n  computed: {\n    ...mapState({\n      backendInteractor: (state) => state.api.backendInteractor,\n      user: (state) => state.users.currentUser\n    })\n  },\n  methods: {\n    getFollowsContent () {\n      return this.backendInteractor.exportFriends({ id: this.user.id })\n        .then(this.generateExportableUsersContent)\n    },\n    getBlocksContent () {\n      return this.backendInteractor.fetchBlocks()\n        .then(this.generateExportableUsersContent)\n    },\n    getMutesContent () {\n      return this.backendInteractor.fetchMutes()\n        .then(this.generateExportableUsersContent)\n    },\n    importFollows (file) {\n      return this.backendInteractor.importFollows({ file })\n        .then((status) => {\n          if (!status) {\n            throw new Error('failed')\n          }\n        })\n    },\n    importBlocks (file) {\n      return this.backendInteractor.importBlocks({ file })\n        .then((status) => {\n          if (!status) {\n            throw new Error('failed')\n          }\n        })\n    },\n    importMutes (file) {\n      return this.backendInteractor.importMutes({ file })\n        .then((status) => {\n          if (!status) {\n            throw new Error('failed')\n          }\n        })\n    },\n    generateExportableUsersContent (users) {\n      // Get addresses\n      return users.map((user) => {\n        // check is it's a local user\n        if (user && user.is_local) {\n          // append the instance address\n          // eslint-disable-next-line no-undef\n          return user.screen_name + '@' + location.hostname\n        }\n        return user.screen_name\n      }).join('\\n')\n    }\n  }\n}\n\nexport default DataImportExportTab\n","/* script */\nexport * from \"!!babel-loader!./data_import_export_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./data_import_export_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-492b1b68\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./data_import_export_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.data_import_export_tab')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.follow_import')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.import_followers_from_a_csv_file')))]),_vm._v(\" \"),_c('Importer',{attrs:{\"submit-handler\":_vm.importFollows,\"success-message\":_vm.$t('settings.follows_imported'),\"error-message\":_vm.$t('settings.follow_import_error')}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.follow_export')))]),_vm._v(\" \"),_c('Exporter',{attrs:{\"get-content\":_vm.getFollowsContent,\"filename\":\"friends.csv\",\"export-button-label\":_vm.$t('settings.follow_export_button')}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.block_import')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.import_blocks_from_a_csv_file')))]),_vm._v(\" \"),_c('Importer',{attrs:{\"submit-handler\":_vm.importBlocks,\"success-message\":_vm.$t('settings.blocks_imported'),\"error-message\":_vm.$t('settings.block_import_error')}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.block_export')))]),_vm._v(\" \"),_c('Exporter',{attrs:{\"get-content\":_vm.getBlocksContent,\"filename\":\"blocks.csv\",\"export-button-label\":_vm.$t('settings.block_export_button')}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.mute_import')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.import_mutes_from_a_csv_file')))]),_vm._v(\" \"),_c('Importer',{attrs:{\"submit-handler\":_vm.importMutes,\"success-message\":_vm.$t('settings.mutes_imported'),\"error-message\":_vm.$t('settings.mute_import_error')}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.mute_export')))]),_vm._v(\" \"),_c('Exporter',{attrs:{\"get-content\":_vm.getMutesContent,\"filename\":\"mutes.csv\",\"export-button-label\":_vm.$t('settings.mute_export_button')}})],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","const debounceMilliseconds = 500\n\nexport default {\n  props: {\n    query: { // function to query results and return a promise\n      type: Function,\n      required: true\n    },\n    filter: { // function to filter results in real time\n      type: Function\n    },\n    placeholder: {\n      type: String,\n      default: 'Search...'\n    }\n  },\n  data () {\n    return {\n      term: '',\n      timeout: null,\n      results: [],\n      resultsVisible: false\n    }\n  },\n  computed: {\n    filtered () {\n      return this.filter ? this.filter(this.results) : this.results\n    }\n  },\n  watch: {\n    term (val) {\n      this.fetchResults(val)\n    }\n  },\n  methods: {\n    fetchResults (term) {\n      clearTimeout(this.timeout)\n      this.timeout = setTimeout(() => {\n        this.results = []\n        if (term) {\n          this.query(term).then((results) => { this.results = results })\n        }\n      }, debounceMilliseconds)\n    },\n    onInputClick () {\n      this.resultsVisible = true\n    },\n    onClickOutside () {\n      this.resultsVisible = false\n    }\n  }\n}\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./autosuggest.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./autosuggest.js\"\nimport __vue_script__ from \"!!babel-loader!./autosuggest.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-105e6799\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./autosuggest.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.onClickOutside),expression:\"onClickOutside\"}],staticClass:\"autosuggest\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.term),expression:\"term\"}],staticClass:\"autosuggest-input\",attrs:{\"placeholder\":_vm.placeholder},domProps:{\"value\":(_vm.term)},on:{\"click\":_vm.onInputClick,\"input\":function($event){if($event.target.composing){ return; }_vm.term=$event.target.value}}}),_vm._v(\" \"),(_vm.resultsVisible && _vm.filtered.length > 0)?_c('div',{staticClass:\"autosuggest-results\"},[_vm._l((_vm.filtered),function(item){return _vm._t(\"default\",null,{\"item\":item})})],2):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst BlockCard = {\n  props: ['userId'],\n  data () {\n    return {\n      progress: false\n    }\n  },\n  computed: {\n    user () {\n      return this.$store.getters.findUser(this.userId)\n    },\n    relationship () {\n      return this.$store.getters.relationship(this.userId)\n    },\n    blocked () {\n      return this.relationship.blocking\n    }\n  },\n  components: {\n    BasicUserCard\n  },\n  methods: {\n    unblockUser () {\n      this.progress = true\n      this.$store.dispatch('unblockUser', this.user.id).then(() => {\n        this.progress = false\n      })\n    },\n    blockUser () {\n      this.progress = true\n      this.$store.dispatch('blockUser', this.user.id).then(() => {\n        this.progress = false\n      })\n    }\n  }\n}\n\nexport default BlockCard\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./block_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./block_card.js\"\nimport __vue_script__ from \"!!babel-loader!./block_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0f5ac826\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./block_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('basic-user-card',{attrs:{\"user\":_vm.user}},[_c('div',{staticClass:\"block-card-content-container\"},[(_vm.blocked)?_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.progress},on:{\"click\":_vm.unblockUser}},[(_vm.progress)?[_vm._v(\"\\n        \"+_vm._s(_vm.$t('user_card.unblock_progress'))+\"\\n      \")]:[_vm._v(\"\\n        \"+_vm._s(_vm.$t('user_card.unblock'))+\"\\n      \")]],2):_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.progress},on:{\"click\":_vm.blockUser}},[(_vm.progress)?[_vm._v(\"\\n        \"+_vm._s(_vm.$t('user_card.block_progress'))+\"\\n      \")]:[_vm._v(\"\\n        \"+_vm._s(_vm.$t('user_card.block'))+\"\\n      \")]],2)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst MuteCard = {\n  props: ['userId'],\n  data () {\n    return {\n      progress: false\n    }\n  },\n  computed: {\n    user () {\n      return this.$store.getters.findUser(this.userId)\n    },\n    relationship () {\n      return this.$store.getters.relationship(this.userId)\n    },\n    muted () {\n      return this.relationship.muting\n    }\n  },\n  components: {\n    BasicUserCard\n  },\n  methods: {\n    unmuteUser () {\n      this.progress = true\n      this.$store.dispatch('unmuteUser', this.userId).then(() => {\n        this.progress = false\n      })\n    },\n    muteUser () {\n      this.progress = true\n      this.$store.dispatch('muteUser', this.userId).then(() => {\n        this.progress = false\n      })\n    }\n  }\n}\n\nexport default MuteCard\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mute_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mute_card.js\"\nimport __vue_script__ from \"!!babel-loader!./mute_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5e3199a7\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mute_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('basic-user-card',{attrs:{\"user\":_vm.user}},[_c('div',{staticClass:\"mute-card-content-container\"},[(_vm.muted)?_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.progress},on:{\"click\":_vm.unmuteUser}},[(_vm.progress)?[_vm._v(\"\\n        \"+_vm._s(_vm.$t('user_card.unmute_progress'))+\"\\n      \")]:[_vm._v(\"\\n        \"+_vm._s(_vm.$t('user_card.unmute'))+\"\\n      \")]],2):_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.progress},on:{\"click\":_vm.muteUser}},[(_vm.progress)?[_vm._v(\"\\n        \"+_vm._s(_vm.$t('user_card.mute_progress'))+\"\\n      \")]:[_vm._v(\"\\n        \"+_vm._s(_vm.$t('user_card.mute'))+\"\\n      \")]],2)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ProgressButton from '../progress_button/progress_button.vue'\n\nconst DomainMuteCard = {\n  props: ['domain'],\n  components: {\n    ProgressButton\n  },\n  computed: {\n    user () {\n      return this.$store.state.users.currentUser\n    },\n    muted () {\n      return this.user.domainMutes.includes(this.domain)\n    }\n  },\n  methods: {\n    unmuteDomain () {\n      return this.$store.dispatch('unmuteDomain', this.domain)\n    },\n    muteDomain () {\n      return this.$store.dispatch('muteDomain', this.domain)\n    }\n  }\n}\n\nexport default DomainMuteCard\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./domain_mute_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./domain_mute_card.js\"\nimport __vue_script__ from \"!!babel-loader!./domain_mute_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0b8ac930\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./domain_mute_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"domain-mute-card\"},[_c('div',{staticClass:\"domain-mute-card-domain\"},[_vm._v(\"\\n    \"+_vm._s(_vm.domain)+\"\\n  \")]),_vm._v(\" \"),(_vm.muted)?_c('ProgressButton',{staticClass:\"btn button-default\",attrs:{\"click\":_vm.unmuteDomain},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return [_vm._v(\"\\n      \"+_vm._s(_vm.$t('domain_mute_card.unmute_progress'))+\"\\n    \")]},proxy:true}],null,false,11670719)},[_vm._v(\"\\n    \"+_vm._s(_vm.$t('domain_mute_card.unmute'))+\"\\n    \")]):_c('ProgressButton',{staticClass:\"btn button-default\",attrs:{\"click\":_vm.muteDomain},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return [_vm._v(\"\\n      \"+_vm._s(_vm.$t('domain_mute_card.mute_progress'))+\"\\n    \")]},proxy:true}])},[_vm._v(\"\\n    \"+_vm._s(_vm.$t('domain_mute_card.mute'))+\"\\n    \")])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import List from '../list/list.vue'\nimport Checkbox from '../checkbox/checkbox.vue'\n\nconst SelectableList = {\n  components: {\n    List,\n    Checkbox\n  },\n  props: {\n    items: {\n      type: Array,\n      default: () => []\n    },\n    getKey: {\n      type: Function,\n      default: item => item.id\n    }\n  },\n  data () {\n    return {\n      selected: []\n    }\n  },\n  computed: {\n    allKeys () {\n      return this.items.map(this.getKey)\n    },\n    filteredSelected () {\n      return this.allKeys.filter(key => this.selected.indexOf(key) !== -1)\n    },\n    allSelected () {\n      return this.filteredSelected.length === this.items.length\n    },\n    noneSelected () {\n      return this.filteredSelected.length === 0\n    },\n    someSelected () {\n      return !this.allSelected && !this.noneSelected\n    }\n  },\n  methods: {\n    isSelected (item) {\n      return this.filteredSelected.indexOf(this.getKey(item)) !== -1\n    },\n    toggle (checked, item) {\n      const key = this.getKey(item)\n      const oldChecked = this.isSelected(key)\n      if (checked !== oldChecked) {\n        if (checked) {\n          this.selected.push(key)\n        } else {\n          this.selected.splice(this.selected.indexOf(key), 1)\n        }\n      }\n    },\n    toggleAll (value) {\n      if (value) {\n        this.selected = this.allKeys.slice(0)\n      } else {\n        this.selected = []\n      }\n    }\n  }\n}\n\nexport default SelectableList\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./selectable_list.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./selectable_list.js\"\nimport __vue_script__ from \"!!babel-loader!./selectable_list.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5aa354a2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./selectable_list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"selectable-list\"},[(_vm.items.length > 0)?_c('div',{staticClass:\"selectable-list-header\"},[_c('div',{staticClass:\"selectable-list-checkbox-wrapper\"},[_c('Checkbox',{attrs:{\"checked\":_vm.allSelected,\"indeterminate\":_vm.someSelected},on:{\"change\":_vm.toggleAll}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('selectable_list.select_all'))+\"\\n      \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"selectable-list-header-actions\"},[_vm._t(\"header\",null,{\"selected\":_vm.filteredSelected})],2)]):_vm._e(),_vm._v(\" \"),_c('List',{attrs:{\"items\":_vm.items,\"get-key\":_vm.getKey},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"selectable-list-item-inner\",class:{ 'selectable-list-item-selected-inner': _vm.isSelected(item) }},[_c('div',{staticClass:\"selectable-list-checkbox-wrapper\"},[_c('Checkbox',{attrs:{\"checked\":_vm.isSelected(item)},on:{\"change\":function (checked) { return _vm.toggle(checked, item); }}})],1),_vm._v(\" \"),_vm._t(\"item\",null,{\"item\":item})],2)]}},{key:\"empty\",fn:function(){return [_vm._t(\"empty\")]},proxy:true}],null,true)})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport isEmpty from 'lodash/isEmpty'\nimport { getComponentProps } from '../../services/component_utils/component_utils'\nimport './with_subscription.scss'\n\nimport { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faCircleNotch\n)\n\nconst withSubscription = ({\n  fetch, // function to fetch entries and return a promise\n  select, // function to select data from store\n  childPropName = 'content', // name of the prop to be passed into the wrapped component\n  additionalPropNames = [] // additional prop name list of the wrapper component\n}) => (WrappedComponent) => {\n  const originalProps = Object.keys(getComponentProps(WrappedComponent))\n  const props = originalProps.filter(v => v !== childPropName).concat(additionalPropNames)\n\n  return Vue.component('withSubscription', {\n    props: [\n      ...props,\n      'refresh' // boolean saying to force-fetch data whenever created\n    ],\n    data () {\n      return {\n        loading: false,\n        error: false\n      }\n    },\n    computed: {\n      fetchedData () {\n        return select(this.$props, this.$store)\n      }\n    },\n    created () {\n      if (this.refresh || isEmpty(this.fetchedData)) {\n        this.fetchData()\n      }\n    },\n    methods: {\n      fetchData () {\n        if (!this.loading) {\n          this.loading = true\n          this.error = false\n          fetch(this.$props, this.$store)\n            .then(() => {\n              this.loading = false\n            })\n            .catch(() => {\n              this.error = true\n              this.loading = false\n            })\n        }\n      }\n    },\n    render (h) {\n      if (!this.error && !this.loading) {\n        const props = {\n          props: {\n            ...this.$props,\n            [childPropName]: this.fetchedData\n          },\n          on: this.$listeners,\n          scopedSlots: this.$scopedSlots\n        }\n        const children = Object.entries(this.$slots).map(([key, value]) => h('template', { slot: key }, value))\n        return (\n          <div class=\"with-subscription\">\n            <WrappedComponent {...props}>\n              {children}\n            </WrappedComponent>\n          </div>\n        )\n      } else {\n        return (\n          <div class=\"with-subscription-loading\">\n            {this.error\n              ? <a onClick={this.fetchData} class=\"alert error\">{this.$t('general.generic_error')}</a>\n              : <FAIcon spin icon=\"circle-notch\"/>\n            }\n          </div>\n        )\n      }\n    }\n  })\n}\n\nexport default withSubscription\n","import get from 'lodash/get'\nimport map from 'lodash/map'\nimport reject from 'lodash/reject'\nimport Autosuggest from 'src/components/autosuggest/autosuggest.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\nimport BlockCard from 'src/components/block_card/block_card.vue'\nimport MuteCard from 'src/components/mute_card/mute_card.vue'\nimport DomainMuteCard from 'src/components/domain_mute_card/domain_mute_card.vue'\nimport SelectableList from 'src/components/selectable_list/selectable_list.vue'\nimport ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport withSubscription from 'src/components/../hocs/with_subscription/with_subscription'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\n\nconst BlockList = withSubscription({\n  fetch: (props, $store) => $store.dispatch('fetchBlocks'),\n  select: (props, $store) => get($store.state.users.currentUser, 'blockIds', []),\n  childPropName: 'items'\n})(SelectableList)\n\nconst MuteList = withSubscription({\n  fetch: (props, $store) => $store.dispatch('fetchMutes'),\n  select: (props, $store) => get($store.state.users.currentUser, 'muteIds', []),\n  childPropName: 'items'\n})(SelectableList)\n\nconst DomainMuteList = withSubscription({\n  fetch: (props, $store) => $store.dispatch('fetchDomainMutes'),\n  select: (props, $store) => get($store.state.users.currentUser, 'domainMutes', []),\n  childPropName: 'items'\n})(SelectableList)\n\nconst MutesAndBlocks = {\n  data () {\n    return {\n      activeTab: 'profile'\n    }\n  },\n  created () {\n    this.$store.dispatch('fetchTokens')\n    this.$store.dispatch('getKnownDomains')\n  },\n  components: {\n    TabSwitcher,\n    BlockList,\n    MuteList,\n    DomainMuteList,\n    BlockCard,\n    MuteCard,\n    DomainMuteCard,\n    ProgressButton,\n    Autosuggest,\n    Checkbox\n  },\n  computed: {\n    knownDomains () {\n      return this.$store.state.instance.knownDomains\n    },\n    user () {\n      return this.$store.state.users.currentUser\n    }\n  },\n  methods: {\n    importFollows (file) {\n      return this.$store.state.api.backendInteractor.importFollows({ file })\n        .then((status) => {\n          if (!status) {\n            throw new Error('failed')\n          }\n        })\n    },\n    importBlocks (file) {\n      return this.$store.state.api.backendInteractor.importBlocks({ file })\n        .then((status) => {\n          if (!status) {\n            throw new Error('failed')\n          }\n        })\n    },\n    generateExportableUsersContent (users) {\n      // Get addresses\n      return users.map((user) => {\n        // check is it's a local user\n        if (user && user.is_local) {\n          // append the instance address\n          // eslint-disable-next-line no-undef\n          return user.screen_name + '@' + location.hostname\n        }\n        return user.screen_name\n      }).join('\\n')\n    },\n    activateTab (tabName) {\n      this.activeTab = tabName\n    },\n    filterUnblockedUsers (userIds) {\n      return reject(userIds, (userId) => {\n        const relationship = this.$store.getters.relationship(this.userId)\n        return relationship.blocking || userId === this.user.id\n      })\n    },\n    filterUnMutedUsers (userIds) {\n      return reject(userIds, (userId) => {\n        const relationship = this.$store.getters.relationship(this.userId)\n        return relationship.muting || userId === this.user.id\n      })\n    },\n    queryUserIds (query) {\n      return this.$store.dispatch('searchUsers', { query })\n        .then((users) => map(users, 'id'))\n    },\n    blockUsers (ids) {\n      return this.$store.dispatch('blockUsers', ids)\n    },\n    unblockUsers (ids) {\n      return this.$store.dispatch('unblockUsers', ids)\n    },\n    muteUsers (ids) {\n      return this.$store.dispatch('muteUsers', ids)\n    },\n    unmuteUsers (ids) {\n      return this.$store.dispatch('unmuteUsers', ids)\n    },\n    filterUnMutedDomains (urls) {\n      return urls.filter(url => !this.user.domainMutes.includes(url))\n    },\n    queryKnownDomains (query) {\n      return new Promise((resolve, reject) => {\n        resolve(this.knownDomains.filter(url => url.toLowerCase().includes(query)))\n      })\n    },\n    unmuteDomains (domains) {\n      return this.$store.dispatch('unmuteDomains', domains)\n    }\n  }\n}\n\nexport default MutesAndBlocks\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./mutes_and_blocks_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./mutes_and_blocks_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./mutes_and_blocks_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d98eb706\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mutes_and_blocks_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tab-switcher',{staticClass:\"mutes-and-blocks-tab\",attrs:{\"scrollable-tabs\":true}},[_c('div',{attrs:{\"label\":_vm.$t('settings.blocks_tab')}},[_c('div',{staticClass:\"usersearch-wrapper\"},[_c('Autosuggest',{attrs:{\"filter\":_vm.filterUnblockedUsers,\"query\":_vm.queryUserIds,\"placeholder\":_vm.$t('settings.search_user_to_block')},scopedSlots:_vm._u([{key:\"default\",fn:function(row){return [_c('BlockCard',{attrs:{\"user-id\":row.item}})]}}])})],1),_vm._v(\" \"),_c('BlockList',{attrs:{\"refresh\":true,\"get-key\":function (i) { return i; }},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar selected = ref.selected;\nreturn [_c('div',{staticClass:\"bulk-actions\"},[(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn button-default bulk-action-button\",attrs:{\"click\":function () { return _vm.blockUsers(selected); }},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return [_vm._v(\"\\n              \"+_vm._s(_vm.$t('user_card.block_progress'))+\"\\n            \")]},proxy:true}],null,true)},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('user_card.block'))+\"\\n            \")]):_vm._e(),_vm._v(\" \"),(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn button-default\",attrs:{\"click\":function () { return _vm.unblockUsers(selected); }},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return [_vm._v(\"\\n              \"+_vm._s(_vm.$t('user_card.unblock_progress'))+\"\\n            \")]},proxy:true}],null,true)},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('user_card.unblock'))+\"\\n            \")]):_vm._e()],1)]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('BlockCard',{attrs:{\"user-id\":item}})]}},{key:\"empty\",fn:function(){return [_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.no_blocks'))+\"\\n      \")]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.mutes_tab')}},[_c('tab-switcher',[_c('div',{attrs:{\"label\":\"Users\"}},[_c('div',{staticClass:\"usersearch-wrapper\"},[_c('Autosuggest',{attrs:{\"filter\":_vm.filterUnMutedUsers,\"query\":_vm.queryUserIds,\"placeholder\":_vm.$t('settings.search_user_to_mute')},scopedSlots:_vm._u([{key:\"default\",fn:function(row){return [_c('MuteCard',{attrs:{\"user-id\":row.item}})]}}])})],1),_vm._v(\" \"),_c('MuteList',{attrs:{\"refresh\":true,\"get-key\":function (i) { return i; }},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar selected = ref.selected;\nreturn [_c('div',{staticClass:\"bulk-actions\"},[(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn button-default\",attrs:{\"click\":function () { return _vm.muteUsers(selected); }},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return [_vm._v(\"\\n                  \"+_vm._s(_vm.$t('user_card.mute_progress'))+\"\\n                \")]},proxy:true}],null,true)},[_vm._v(\"\\n                \"+_vm._s(_vm.$t('user_card.mute'))+\"\\n                \")]):_vm._e(),_vm._v(\" \"),(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn button-default\",attrs:{\"click\":function () { return _vm.unmuteUsers(selected); }},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return [_vm._v(\"\\n                  \"+_vm._s(_vm.$t('user_card.unmute_progress'))+\"\\n                \")]},proxy:true}],null,true)},[_vm._v(\"\\n                \"+_vm._s(_vm.$t('user_card.unmute'))+\"\\n                \")]):_vm._e()],1)]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('MuteCard',{attrs:{\"user-id\":item}})]}},{key:\"empty\",fn:function(){return [_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.no_mutes'))+\"\\n          \")]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.domain_mutes')}},[_c('div',{staticClass:\"domain-mute-form\"},[_c('Autosuggest',{attrs:{\"filter\":_vm.filterUnMutedDomains,\"query\":_vm.queryKnownDomains,\"placeholder\":_vm.$t('settings.type_domains_to_mute')},scopedSlots:_vm._u([{key:\"default\",fn:function(row){return [_c('DomainMuteCard',{attrs:{\"domain\":row.item}})]}}])})],1),_vm._v(\" \"),_c('DomainMuteList',{attrs:{\"refresh\":true,\"get-key\":function (i) { return i; }},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar selected = ref.selected;\nreturn [_c('div',{staticClass:\"bulk-actions\"},[(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn button-default\",attrs:{\"click\":function () { return _vm.unmuteDomains(selected); }},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return [_vm._v(\"\\n                  \"+_vm._s(_vm.$t('domain_mute_card.unmute_progress'))+\"\\n                \")]},proxy:true}],null,true)},[_vm._v(\"\\n                \"+_vm._s(_vm.$t('domain_mute_card.unmute'))+\"\\n                \")]):_vm._e()],1)]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('DomainMuteCard',{attrs:{\"domain\":item}})]}},{key:\"empty\",fn:function(){return [_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.no_mutes'))+\"\\n          \")]},proxy:true}])})],1)])],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Checkbox from 'src/components/checkbox/checkbox.vue'\n\nconst NotificationsTab = {\n  data () {\n    return {\n      activeTab: 'profile',\n      notificationSettings: this.$store.state.users.currentUser.notification_settings,\n      newDomainToMute: ''\n    }\n  },\n  components: {\n    Checkbox\n  },\n  computed: {\n    user () {\n      return this.$store.state.users.currentUser\n    }\n  },\n  methods: {\n    updateNotificationSettings () {\n      this.$store.state.api.backendInteractor\n        .updateNotificationSettings({ settings: this.notificationSettings })\n    }\n  }\n}\n\nexport default NotificationsTab\n","/* script */\nexport * from \"!!babel-loader!./notifications_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./notifications_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-23c6a366\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./notifications_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.notifications')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.notification_setting_filters')))]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.notificationSettings.block_from_strangers),callback:function ($$v) {_vm.$set(_vm.notificationSettings, \"block_from_strangers\", $$v)},expression:\"notificationSettings.block_from_strangers\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.notification_setting_block_from_strangers'))+\"\\n      \")])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.notification_setting_privacy')))]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.notificationSettings.hide_notification_contents),callback:function ($$v) {_vm.$set(_vm.notificationSettings, \"hide_notification_contents\", $$v)},expression:\"notificationSettings.hide_notification_contents\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.notification_setting_hide_notification_contents'))+\"\\n      \")])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.notification_mutes')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.notification_blocks')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.updateNotificationSettings}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.save'))+\"\\n    \")])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","<template>\n  <span\n    v-if=\"changed\"\n    class=\"ModifiedIndicator\"\n  >\n    <Popover\n      trigger=\"hover\"\n    >\n      <template v-slot:trigger>\n        &nbsp;\n        <FAIcon\n          icon=\"wrench\"\n          :aria-label=\"$t('settings.setting_changed')\"\n        />\n      </template>\n      <template v-slot:content>\n        <div class=\"modified-tooltip\">\n          {{ $t('settings.setting_changed') }}\n        </div>\n      </template>\n    </Popover>\n  </span>\n</template>\n\n<script>\nimport Popover from 'src/components/popover/popover.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faWrench } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faWrench\n)\n\nexport default {\n  components: { Popover },\n  props: ['changed']\n}\n</script>\n\n<style lang=\"scss\">\n.ModifiedIndicator {\n  display: inline-block;\n  position: relative;\n\n  .modified-tooltip {\n    margin: 0.5em 1em;\n    min-width: 10em;\n    text-align: center;\n  }\n}\n</style>\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./modified_indicator.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./modified_indicator.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./modified_indicator.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-be0aa34e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./modified_indicator.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.changed)?_c('span',{staticClass:\"ModifiedIndicator\"},[_c('Popover',{attrs:{\"trigger\":\"hover\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_vm._v(\"\\n       \\n      \"),_c('FAIcon',{attrs:{\"icon\":\"wrench\",\"aria-label\":_vm.$t('settings.setting_changed')}})]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"modified-tooltip\"},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.setting_changed'))+\"\\n      \")])]},proxy:true}],null,false,1710729471)})],1):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { get, set } from 'lodash'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nexport default {\n  components: {\n    Checkbox,\n    ModifiedIndicator\n  },\n  props: [\n    'path',\n    'disabled'\n  ],\n  computed: {\n    pathDefault () {\n      const [firstSegment, ...rest] = this.path.split('.')\n      return [firstSegment + 'DefaultValue', ...rest].join('.')\n    },\n    state () {\n      const value = get(this.$parent, this.path)\n      if (value === undefined) {\n        return this.defaultState\n      } else {\n        return value\n      }\n    },\n    defaultState () {\n      return get(this.$parent, this.pathDefault)\n    },\n    isChanged () {\n      return this.state !== this.defaultState\n    }\n  },\n  methods: {\n    update (e) {\n      set(this.$parent, this.path, e)\n    }\n  }\n}\n","/* script */\nexport * from \"!!babel-loader!./boolean_setting.js\"\nimport __vue_script__ from \"!!babel-loader!./boolean_setting.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5036f1bc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./boolean_setting.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"BooleanSetting\"},[_c('Checkbox',{attrs:{\"checked\":_vm.state,\"disabled\":_vm.disabled},on:{\"change\":_vm.update}},[(!!_vm.$slots.default)?_c('span',{staticClass:\"label\"},[_vm._t(\"default\")],2):_vm._e(),_vm._v(\" \"),_c('ModifiedIndicator',{attrs:{\"changed\":_vm.isChanged}})],1)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { get, set } from 'lodash'\nimport Select from 'src/components/select/select.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nexport default {\n  components: {\n    Select,\n    ModifiedIndicator\n  },\n  props: [\n    'path',\n    'disabled',\n    'options'\n  ],\n  computed: {\n    pathDefault () {\n      const [firstSegment, ...rest] = this.path.split('.')\n      return [firstSegment + 'DefaultValue', ...rest].join('.')\n    },\n    state () {\n      const value = get(this.$parent, this.path)\n      if (value === undefined) {\n        return this.defaultState\n      } else {\n        return value\n      }\n    },\n    defaultState () {\n      return get(this.$parent, this.pathDefault)\n    },\n    isChanged () {\n      return this.state !== this.defaultState\n    }\n  },\n  methods: {\n    update (e) {\n      set(this.$parent, this.path, e)\n    }\n  }\n}\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./choice_setting.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./choice_setting.js\"\nimport __vue_script__ from \"!!babel-loader!./choice_setting.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4ff93bac\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./choice_setting.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"ChoiceSetting\"},[_vm._t(\"default\"),_vm._v(\" \"),_c('Select',{attrs:{\"value\":_vm.state,\"disabled\":_vm.disabled},on:{\"change\":_vm.update}},_vm._l((_vm.options),function(option){return _c('option',{key:option.key,domProps:{\"value\":option.value}},[_vm._v(\"\\n      \"+_vm._s(option.label)+\"\\n      \"+_vm._s(option.value === _vm.defaultState ? _vm.$t('settings.instance_default_simple') : '')+\"\\n    \")])}),0),_vm._v(\" \"),_c('ModifiedIndicator',{attrs:{\"changed\":_vm.isChanged}})],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { defaultState as configDefaultState } from 'src/modules/config.js'\n\nconst SharedComputedObject = () => ({\n  user () {\n    return this.$store.state.users.currentUser\n  },\n  // Getting values for default properties\n  ...Object.keys(configDefaultState)\n    .map(key => [\n      key + 'DefaultValue',\n      function () {\n        return this.$store.getters.defaultConfig[key]\n      }\n    ])\n    .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n  // Generating computed values for vuex properties\n  ...Object.keys(configDefaultState)\n    .map(key => [key, {\n      get () { return this.$store.getters.mergedConfig[key] },\n      set (value) {\n        this.$store.dispatch('setOption', { name: key, value })\n      }\n    }])\n    .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n  // Special cases (need to transform values or perform actions first)\n  useStreamingApi: {\n    get () { return this.$store.getters.mergedConfig.useStreamingApi },\n    set (value) {\n      const promise = value\n        ? this.$store.dispatch('enableMastoSockets')\n        : this.$store.dispatch('disableMastoSockets')\n\n      promise.then(() => {\n        this.$store.dispatch('setOption', { name: 'useStreamingApi', value })\n      }).catch((e) => {\n        console.error('Failed starting MastoAPI Streaming socket', e)\n        this.$store.dispatch('disableMastoSockets')\n        this.$store.dispatch('setOption', { name: 'useStreamingApi', value: false })\n      })\n    }\n  }\n})\n\nexport default SharedComputedObject\n","import { filter, trim } from 'lodash'\nimport BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\n\nconst FilteringTab = {\n  data () {\n    return {\n      muteWordsStringLocal: this.$store.getters.mergedConfig.muteWords.join('\\n'),\n      replyVisibilityOptions: ['all', 'following', 'self'].map(mode => ({\n        key: mode,\n        value: mode,\n        label: this.$t(`settings.reply_visibility_${mode}`)\n      }))\n    }\n  },\n  components: {\n    BooleanSetting,\n    ChoiceSetting\n  },\n  computed: {\n    ...SharedComputedObject(),\n    muteWordsString: {\n      get () {\n        return this.muteWordsStringLocal\n      },\n      set (value) {\n        this.muteWordsStringLocal = value\n        this.$store.dispatch('setOption', {\n          name: 'muteWords',\n          value: filter(value.split('\\n'), (word) => trim(word).length > 0)\n        })\n      }\n    }\n  },\n  // Updating nested properties\n  watch: {\n    notificationVisibility: {\n      handler (value) {\n        this.$store.dispatch('setOption', {\n          name: 'notificationVisibility',\n          value: this.$store.getters.mergedConfig.notificationVisibility\n        })\n      },\n      deep: true\n    },\n    replyVisibility () {\n      this.$store.dispatch('queueFlushAll')\n    }\n  }\n}\n\nexport default FilteringTab\n","/* script */\nexport * from \"!!babel-loader!./filtering_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./filtering_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6f76ed3c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./filtering_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.filtering')}},[_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"select-multiple\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('settings.notification_visibility')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.likes\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.notification_visibility_likes'))+\"\\n          \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.repeats\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.notification_visibility_repeats'))+\"\\n          \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.follows\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.notification_visibility_follows'))+\"\\n          \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.mentions\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.notification_visibility_mentions'))+\"\\n          \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.moves\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.notification_visibility_moves'))+\"\\n          \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.emojiReactions\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.notification_visibility_emoji_reactions'))+\"\\n          \")])],1)])]),_vm._v(\" \"),_c('ChoiceSetting',{attrs:{\"id\":\"replyVisibility\",\"path\":\"replyVisibility\",\"options\":_vm.replyVisibilityOptions}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.replies_in_timeline'))+\"\\n    \")]),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hidePostStats\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.hide_post_stats'))+\"\\n      \")])],1),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hideUserStats\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.hide_user_stats'))+\"\\n      \")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.filtering_explanation')))]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.muteWordsString),expression:\"muteWordsString\"}],staticClass:\"resize-height\",attrs:{\"id\":\"muteWords\"},domProps:{\"value\":(_vm.muteWordsString)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.muteWordsString=$event.target.value}}})]),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hideFilteredStatuses\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.hide_filtered_statuses'))+\"\\n      \")])],1)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","export default {\n  props: {\n    backupCodes: {\n      type: Object,\n      default: () => ({\n        inProgress: false,\n        codes: []\n      })\n    }\n  },\n  data: () => ({}),\n  computed: {\n    inProgress () { return this.backupCodes.inProgress },\n    ready () { return this.backupCodes.codes.length > 0 },\n    displayTitle () { return this.inProgress || this.ready }\n  }\n}\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mfa_backup_codes.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mfa_backup_codes.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa_backup_codes.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1284fe74\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa_backup_codes.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mfa-backup-codes\"},[(_vm.displayTitle)?_c('h4',[_vm._v(\"\\n    \"+_vm._s(_vm.$t('settings.mfa.recovery_codes'))+\"\\n  \")]):_vm._e(),_vm._v(\" \"),(_vm.inProgress)?_c('i',[_vm._v(_vm._s(_vm.$t('settings.mfa.waiting_a_recovery_codes')))]):_vm._e(),_vm._v(\" \"),(_vm.ready)?[_c('p',{staticClass:\"alert warning\"},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.mfa.recovery_codes_warning'))+\"\\n    \")]),_vm._v(\" \"),_c('ul',{staticClass:\"backup-codes\"},_vm._l((_vm.backupCodes.codes),function(code){return _c('li',{key:code},[_vm._v(\"\\n        \"+_vm._s(code)+\"\\n      \")])}),0)]:_vm._e()],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","const Confirm = {\n  props: ['disabled'],\n  data: () => ({}),\n  methods: {\n    confirm () { this.$emit('confirm') },\n    cancel () { this.$emit('cancel') }\n  }\n}\nexport default Confirm\n","/* script */\nexport * from \"!!babel-loader!./confirm.js\"\nimport __vue_script__ from \"!!babel-loader!./confirm.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-232a09eb\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./confirm.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\"),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.confirm}},[_vm._v(\"\\n    \"+_vm._s(_vm.$t('general.confirm'))+\"\\n  \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n    \"+_vm._s(_vm.$t('general.cancel'))+\"\\n  \")])],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Confirm from './confirm.vue'\nimport { mapState } from 'vuex'\n\nexport default {\n  props: ['settings'],\n  data: () => ({\n    error: false,\n    currentPassword: '',\n    deactivate: false,\n    inProgress: false // progress peform request to disable otp method\n  }),\n  components: {\n    'confirm': Confirm\n  },\n  computed: {\n    isActivated () {\n      return this.settings.totp\n    },\n    ...mapState({\n      backendInteractor: (state) => state.api.backendInteractor\n    })\n  },\n  methods: {\n    doActivate () {\n      this.$emit('activate')\n    },\n    cancelDeactivate () { this.deactivate = false },\n    doDeactivate () {\n      this.error = null\n      this.deactivate = true\n    },\n    confirmDeactivate () { // confirm deactivate TOTP method\n      this.error = null\n      this.inProgress = true\n      this.backendInteractor.mfaDisableOTP({\n        password: this.currentPassword\n      })\n        .then((res) => {\n          this.inProgress = false\n          if (res.error) {\n            this.error = res.error\n            return\n          }\n          this.deactivate = false\n          this.$emit('deactivate')\n        })\n    }\n  }\n}\n","import RecoveryCodes from './mfa_backup_codes.vue'\nimport TOTP from './mfa_totp.vue'\nimport Confirm from './confirm.vue'\nimport VueQrcode from '@chenfengyuan/vue-qrcode'\nimport { mapState } from 'vuex'\n\nconst Mfa = {\n  data: () => ({\n    settings: { // current settings of MFA\n      available: false,\n      enabled: false,\n      totp: false\n    },\n    setupState: { // setup mfa\n      state: '', // state of setup. '' -> 'getBackupCodes' -> 'setupOTP' -> 'complete'\n      setupOTPState: '' // state of setup otp. '' -> 'prepare' -> 'confirm' -> 'complete'\n    },\n    backupCodes: {\n      getNewCodes: false,\n      inProgress: false, //  progress of fetch codes\n      codes: []\n    },\n    otpSettings: { // pre-setup setting of OTP. secret key, qrcode url.\n      provisioning_uri: '',\n      key: ''\n    },\n    currentPassword: null,\n    otpConfirmToken: null,\n    error: null,\n    readyInit: false\n  }),\n  components: {\n    'recovery-codes': RecoveryCodes,\n    'totp-item': TOTP,\n    'qrcode': VueQrcode,\n    'confirm': Confirm\n  },\n  computed: {\n    canSetupOTP () {\n      return (\n        (this.setupInProgress && this.backupCodesPrepared) ||\n          this.settings.enabled\n      ) && !this.settings.totp && !this.setupOTPInProgress\n    },\n    setupInProgress () {\n      return this.setupState.state !== '' && this.setupState.state !== 'complete'\n    },\n    setupOTPInProgress () {\n      return this.setupState.state === 'setupOTP' && !this.completedOTP\n    },\n    prepareOTP () {\n      return this.setupState.setupOTPState === 'prepare'\n    },\n    confirmOTP () {\n      return this.setupState.setupOTPState === 'confirm'\n    },\n    completedOTP () {\n      return this.setupState.setupOTPState === 'completed'\n    },\n    backupCodesPrepared () {\n      return !this.backupCodes.inProgress && this.backupCodes.codes.length > 0\n    },\n    confirmNewBackupCodes () {\n      return this.backupCodes.getNewCodes\n    },\n    ...mapState({\n      backendInteractor: (state) => state.api.backendInteractor\n    })\n  },\n\n  methods: {\n    activateOTP () {\n      if (!this.settings.enabled) {\n        this.setupState.state = 'getBackupcodes'\n        this.fetchBackupCodes()\n      }\n    },\n    fetchBackupCodes () {\n      this.backupCodes.inProgress = true\n      this.backupCodes.codes = []\n\n      return this.backendInteractor.generateMfaBackupCodes()\n        .then((res) => {\n          this.backupCodes.codes = res.codes\n          this.backupCodes.inProgress = false\n        })\n    },\n    getBackupCodes () { // get a new backup codes\n      this.backupCodes.getNewCodes = true\n    },\n    confirmBackupCodes () { // confirm getting new backup codes\n      this.fetchBackupCodes().then((res) => {\n        this.backupCodes.getNewCodes = false\n      })\n    },\n    cancelBackupCodes () { // cancel confirm form of new backup codes\n      this.backupCodes.getNewCodes = false\n    },\n\n    // Setup OTP\n    setupOTP () { // prepare setup OTP\n      this.setupState.state = 'setupOTP'\n      this.setupState.setupOTPState = 'prepare'\n      this.backendInteractor.mfaSetupOTP()\n        .then((res) => {\n          this.otpSettings = res\n          this.setupState.setupOTPState = 'confirm'\n        })\n    },\n    doConfirmOTP () { // handler confirm enable OTP\n      this.error = null\n      this.backendInteractor.mfaConfirmOTP({\n        token: this.otpConfirmToken,\n        password: this.currentPassword\n      })\n        .then((res) => {\n          if (res.error) {\n            this.error = res.error\n            return\n          }\n          this.completeSetup()\n        })\n    },\n\n    completeSetup () {\n      this.setupState.setupOTPState = 'complete'\n      this.setupState.state = 'complete'\n      this.currentPassword = null\n      this.error = null\n      this.fetchSettings()\n    },\n    cancelSetup () { // cancel setup\n      this.setupState.setupOTPState = ''\n      this.setupState.state = ''\n      this.currentPassword = null\n      this.error = null\n    },\n    // end Setup OTP\n\n    // fetch settings from server\n    async fetchSettings () {\n      let result = await this.backendInteractor.settingsMFA()\n      if (result.error) return\n      this.settings = result.settings\n      this.settings.available = true\n      return result\n    }\n  },\n  mounted () {\n    this.fetchSettings().then(() => {\n      this.readyInit = true\n    })\n  }\n}\nexport default Mfa\n","/* script */\nexport * from \"!!babel-loader!./mfa_totp.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa_totp.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5466d3a1\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa_totp.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"method-item\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('settings.mfa.otp')))]),_vm._v(\" \"),(!_vm.isActivated)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.doActivate}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('general.enable'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.isActivated)?_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.deactivate},on:{\"click\":_vm.doDeactivate}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('general.disable'))+\"\\n    \")]):_vm._e()]),_vm._v(\" \"),(_vm.deactivate)?_c('confirm',{attrs:{\"disabled\":_vm.inProgress},on:{\"confirm\":_vm.confirmDeactivate,\"cancel\":_vm.cancelDeactivate}},[_vm._v(\"\\n    \"+_vm._s(_vm.$t('settings.enter_current_password_to_confirm'))+\":\\n    \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}})]):_vm._e(),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n    \"+_vm._s(_vm.error)+\"\\n  \")]):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mfa.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mfa.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c62074fa\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.readyInit && _vm.settings.available)?_c('div',{staticClass:\"setting-item mfa-settings\"},[_c('div',{staticClass:\"mfa-heading\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.mfa.title')))])]),_vm._v(\" \"),_c('div',[(!_vm.setupInProgress)?_c('div',{staticClass:\"setting-item\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings.mfa.authentication_methods')))]),_vm._v(\" \"),_c('totp-item',{attrs:{\"settings\":_vm.settings},on:{\"deactivate\":_vm.fetchSettings,\"activate\":_vm.activateOTP}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),(_vm.settings.enabled)?_c('div',[(!_vm.confirmNewBackupCodes)?_c('recovery-codes',{attrs:{\"backup-codes\":_vm.backupCodes}}):_vm._e(),_vm._v(\" \"),(!_vm.confirmNewBackupCodes)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.getBackupCodes}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.mfa.generate_new_recovery_codes'))+\"\\n        \")]):_vm._e(),_vm._v(\" \"),(_vm.confirmNewBackupCodes)?_c('div',[_c('confirm',{attrs:{\"disabled\":_vm.backupCodes.inProgress},on:{\"confirm\":_vm.confirmBackupCodes,\"cancel\":_vm.cancelBackupCodes}},[_c('p',{staticClass:\"warning\"},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.mfa.warning_of_generate_new_codes'))+\"\\n            \")])])],1):_vm._e()],1):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.setupInProgress)?_c('div',[_c('h3',[_vm._v(_vm._s(_vm.$t('settings.mfa.setup_otp')))]),_vm._v(\" \"),(!_vm.setupOTPInProgress)?_c('recovery-codes',{attrs:{\"backup-codes\":_vm.backupCodes}}):_vm._e(),_vm._v(\" \"),(_vm.canSetupOTP)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.cancelSetup}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('general.cancel'))+\"\\n      \")]):_vm._e(),_vm._v(\" \"),(_vm.canSetupOTP)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.setupOTP}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.mfa.setup_otp'))+\"\\n      \")]):_vm._e(),_vm._v(\" \"),(_vm.setupOTPInProgress)?[(_vm.prepareOTP)?_c('i',[_vm._v(_vm._s(_vm.$t('settings.mfa.wait_pre_setup_otp')))]):_vm._e(),_vm._v(\" \"),(_vm.confirmOTP)?_c('div',[_c('div',{staticClass:\"setup-otp\"},[_c('div',{staticClass:\"qr-code\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.mfa.scan.title')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.mfa.scan.desc')))]),_vm._v(\" \"),_c('qrcode',{attrs:{\"value\":_vm.otpSettings.provisioning_uri,\"options\":{ width: 200 }}}),_vm._v(\" \"),_c('p',[_vm._v(\"\\n                \"+_vm._s(_vm.$t('settings.mfa.scan.secret_code'))+\":\\n                \"+_vm._s(_vm.otpSettings.key)+\"\\n              \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"verify\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('general.verify')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.mfa.verify.desc')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.otpConfirmToken),expression:\"otpConfirmToken\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.otpConfirmToken)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.otpConfirmToken=$event.target.value}}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.enter_current_password_to_confirm'))+\":\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}}),_vm._v(\" \"),_c('div',{staticClass:\"confirm-otp-actions\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.doConfirmOTP}},[_vm._v(\"\\n                  \"+_vm._s(_vm.$t('settings.mfa.confirm_and_enable'))+\"\\n                \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.cancelSetup}},[_vm._v(\"\\n                  \"+_vm._s(_vm.$t('general.cancel'))+\"\\n                \")])]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n                \"+_vm._s(_vm.error)+\"\\n              \")]):_vm._e()])])]):_vm._e()]:_vm._e()],2):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Mfa from './mfa.vue'\nimport localeService from 'src/services/locale/locale.service.js'\n\nconst SecurityTab = {\n  data () {\n    return {\n      newEmail: '',\n      changeEmailError: false,\n      changeEmailPassword: '',\n      changedEmail: false,\n      deletingAccount: false,\n      deleteAccountConfirmPasswordInput: '',\n      deleteAccountError: false,\n      changePasswordInputs: [ '', '', '' ],\n      changedPassword: false,\n      changePasswordError: false\n    }\n  },\n  created () {\n    this.$store.dispatch('fetchTokens')\n  },\n  components: {\n    ProgressButton,\n    Mfa,\n    Checkbox\n  },\n  computed: {\n    user () {\n      return this.$store.state.users.currentUser\n    },\n    pleromaBackend () {\n      return this.$store.state.instance.pleromaBackend\n    },\n    oauthTokens () {\n      return this.$store.state.oauthTokens.tokens.map(oauthToken => {\n        return {\n          id: oauthToken.id,\n          appName: oauthToken.app_name,\n          validUntil: new Date(oauthToken.valid_until).toLocaleDateString(localeService.internalToBrowserLocale(this.$i18n.locale))\n        }\n      })\n    }\n  },\n  methods: {\n    confirmDelete () {\n      this.deletingAccount = true\n    },\n    deleteAccount () {\n      this.$store.state.api.backendInteractor.deleteAccount({ password: this.deleteAccountConfirmPasswordInput })\n        .then((res) => {\n          if (res.status === 'success') {\n            this.$store.dispatch('logout')\n            this.$router.push({ name: 'root' })\n          } else {\n            this.deleteAccountError = res.error\n          }\n        })\n    },\n    changePassword () {\n      const params = {\n        password: this.changePasswordInputs[0],\n        newPassword: this.changePasswordInputs[1],\n        newPasswordConfirmation: this.changePasswordInputs[2]\n      }\n      this.$store.state.api.backendInteractor.changePassword(params)\n        .then((res) => {\n          if (res.status === 'success') {\n            this.changedPassword = true\n            this.changePasswordError = false\n            this.logout()\n          } else {\n            this.changedPassword = false\n            this.changePasswordError = res.error\n          }\n        })\n    },\n    changeEmail () {\n      const params = {\n        email: this.newEmail,\n        password: this.changeEmailPassword\n      }\n      this.$store.state.api.backendInteractor.changeEmail(params)\n        .then((res) => {\n          if (res.status === 'success') {\n            this.changedEmail = true\n            this.changeEmailError = false\n          } else {\n            this.changedEmail = false\n            this.changeEmailError = res.error\n          }\n        })\n    },\n    logout () {\n      this.$store.dispatch('logout')\n      this.$router.replace('/')\n    },\n    revokeToken (id) {\n      if (window.confirm(`${this.$i18n.t('settings.revoke_token')}?`)) {\n        this.$store.dispatch('revokeToken', id)\n      }\n    }\n  }\n}\n\nexport default SecurityTab\n","/* script */\nexport * from \"!!babel-loader!./security_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./security_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dc4ec0ae\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./security_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.security_tab')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.change_email')))]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.new_email')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newEmail),expression:\"newEmail\"}],attrs:{\"type\":\"email\",\"autocomplete\":\"email\"},domProps:{\"value\":(_vm.newEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newEmail=$event.target.value}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changeEmailPassword),expression:\"changeEmailPassword\"}],attrs:{\"type\":\"password\",\"autocomplete\":\"current-password\"},domProps:{\"value\":(_vm.changeEmailPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.changeEmailPassword=$event.target.value}}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.changeEmail}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.save'))+\"\\n    \")]),_vm._v(\" \"),(_vm.changedEmail)?_c('p',[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.changed_email'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.changeEmailError !== false)?[_c('p',[_vm._v(_vm._s(_vm.$t('settings.change_email_error')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.changeEmailError))])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.change_password')))]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[0]),expression:\"changePasswordInputs[0]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[0])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 0, $event.target.value)}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.new_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[1]),expression:\"changePasswordInputs[1]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[1])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 1, $event.target.value)}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.confirm_new_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[2]),expression:\"changePasswordInputs[2]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[2])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 2, $event.target.value)}}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.changePassword}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.save'))+\"\\n    \")]),_vm._v(\" \"),(_vm.changedPassword)?_c('p',[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.changed_password'))+\"\\n    \")]):(_vm.changePasswordError !== false)?_c('p',[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.change_password_error'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.changePasswordError)?_c('p',[_vm._v(\"\\n      \"+_vm._s(_vm.changePasswordError)+\"\\n    \")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.oauth_tokens')))]),_vm._v(\" \"),_c('table',{staticClass:\"oauth-tokens\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('settings.app_name')))]),_vm._v(\" \"),_c('th',[_vm._v(_vm._s(_vm.$t('settings.valid_until')))]),_vm._v(\" \"),_c('th')])]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.oauthTokens),function(oauthToken){return _c('tr',{key:oauthToken.id},[_c('td',[_vm._v(_vm._s(oauthToken.appName))]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(oauthToken.validUntil))]),_vm._v(\" \"),_c('td',{staticClass:\"actions\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.revokeToken(oauthToken.id)}}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.revoke_token'))+\"\\n            \")])])])}),0)])]),_vm._v(\" \"),_c('mfa'),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.delete_account')))]),_vm._v(\" \"),(!_vm.deletingAccount)?_c('p',[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.delete_account_description'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.deletingAccount)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.delete_account_instructions')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('login.password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deleteAccountConfirmPasswordInput),expression:\"deleteAccountConfirmPasswordInput\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.deleteAccountConfirmPasswordInput)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.deleteAccountConfirmPasswordInput=$event.target.value}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.deleteAccount}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.delete_account'))+\"\\n      \")])]):_vm._e(),_vm._v(\" \"),(_vm.deleteAccountError !== false)?_c('p',[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.delete_account_error'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.deleteAccountError)?_c('p',[_vm._v(\"\\n      \"+_vm._s(_vm.deleteAccountError)+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(!_vm.deletingAccount)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.confirmDelete}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.save'))+\"\\n    \")]):_vm._e()])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Cropper from 'cropperjs'\nimport 'cropperjs/dist/cropper.css'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faCircleNotch\n)\n\nconst ImageCropper = {\n  props: {\n    trigger: {\n      type: [String, window.Element],\n      required: true\n    },\n    submitHandler: {\n      type: Function,\n      required: true\n    },\n    cropperOptions: {\n      type: Object,\n      default () {\n        return {\n          aspectRatio: 1,\n          autoCropArea: 1,\n          viewMode: 1,\n          movable: false,\n          zoomable: false,\n          guides: false\n        }\n      }\n    },\n    mimes: {\n      type: String,\n      default: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'\n    },\n    saveButtonLabel: {\n      type: String\n    },\n    saveWithoutCroppingButtonlabel: {\n      type: String\n    },\n    cancelButtonLabel: {\n      type: String\n    }\n  },\n  data () {\n    return {\n      cropper: undefined,\n      dataUrl: undefined,\n      filename: undefined,\n      submitting: false\n    }\n  },\n  computed: {\n    saveText () {\n      return this.saveButtonLabel || this.$t('image_cropper.save')\n    },\n    saveWithoutCroppingText () {\n      return this.saveWithoutCroppingButtonlabel || this.$t('image_cropper.save_without_cropping')\n    },\n    cancelText () {\n      return this.cancelButtonLabel || this.$t('image_cropper.cancel')\n    }\n  },\n  methods: {\n    destroy () {\n      if (this.cropper) {\n        this.cropper.destroy()\n      }\n      this.$refs.input.value = ''\n      this.dataUrl = undefined\n      this.$emit('close')\n    },\n    submit (cropping = true) {\n      this.submitting = true\n      this.submitHandler(cropping && this.cropper, this.file)\n        .then(() => this.destroy())\n        .finally(() => {\n          this.submitting = false\n        })\n    },\n    pickImage () {\n      this.$refs.input.click()\n    },\n    createCropper () {\n      this.cropper = new Cropper(this.$refs.img, this.cropperOptions)\n    },\n    getTriggerDOM () {\n      return typeof this.trigger === 'object' ? this.trigger : document.querySelector(this.trigger)\n    },\n    readFile () {\n      const fileInput = this.$refs.input\n      if (fileInput.files != null && fileInput.files[0] != null) {\n        this.file = fileInput.files[0]\n        let reader = new window.FileReader()\n        reader.onload = (e) => {\n          this.dataUrl = e.target.result\n          this.$emit('open')\n        }\n        reader.readAsDataURL(this.file)\n        this.$emit('changed', this.file, reader)\n      }\n    }\n  },\n  mounted () {\n    // listen for click event on trigger\n    const trigger = this.getTriggerDOM()\n    if (!trigger) {\n      this.$emit('error', 'No image make trigger found.', 'user')\n    } else {\n      trigger.addEventListener('click', this.pickImage)\n    }\n    // listen for input file changes\n    const fileInput = this.$refs.input\n    fileInput.addEventListener('change', this.readFile)\n  },\n  beforeDestroy: function () {\n    // remove the event listeners\n    const trigger = this.getTriggerDOM()\n    if (trigger) {\n      trigger.removeEventListener('click', this.pickImage)\n    }\n    const fileInput = this.$refs.input\n    fileInput.removeEventListener('change', this.readFile)\n  }\n}\n\nexport default ImageCropper\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./image_cropper.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./image_cropper.js\"\nimport __vue_script__ from \"!!babel-loader!./image_cropper.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0bac39f0\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./image_cropper.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-cropper\"},[(_vm.dataUrl)?_c('div',[_c('div',{staticClass:\"image-cropper-image-container\"},[_c('img',{ref:\"img\",attrs:{\"src\":_vm.dataUrl,\"alt\":\"\"},on:{\"load\":function($event){$event.stopPropagation();return _vm.createCropper($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-cropper-buttons-wrapper\"},[_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.saveText)},on:{\"click\":function($event){return _vm.submit()}}}),_vm._v(\" \"),_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.cancelText)},on:{\"click\":_vm.destroy}}),_vm._v(\" \"),_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.saveWithoutCroppingText)},on:{\"click\":function($event){return _vm.submit(false)}}}),_vm._v(\" \"),(_vm.submitting)?_c('FAIcon',{attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):_vm._e()],1)]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"input\",staticClass:\"image-cropper-img-input\",attrs:{\"type\":\"file\",\"accept\":_vm.mimes}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import unescape from 'lodash/unescape'\nimport merge from 'lodash/merge'\nimport ImageCropper from 'src/components/image_cropper/image_cropper.vue'\nimport ScopeSelector from 'src/components/scope_selector/scope_selector.vue'\nimport fileSizeFormatService from 'src/components/../services/file_size_format/file_size_format.js'\nimport ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport EmojiInput from 'src/components/emoji_input/emoji_input.vue'\nimport suggestor from 'src/components/emoji_input/suggestor.js'\nimport Autosuggest from 'src/components/autosuggest/autosuggest.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faTimes,\n  faPlus,\n  faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faTimes,\n  faPlus,\n  faCircleNotch\n)\n\nconst ProfileTab = {\n  data () {\n    return {\n      newName: this.$store.state.users.currentUser.name,\n      newBio: unescape(this.$store.state.users.currentUser.description),\n      newLocked: this.$store.state.users.currentUser.locked,\n      newNoRichText: this.$store.state.users.currentUser.no_rich_text,\n      newDefaultScope: this.$store.state.users.currentUser.default_scope,\n      newFields: this.$store.state.users.currentUser.fields.map(field => ({ name: field.name, value: field.value })),\n      hideFollows: this.$store.state.users.currentUser.hide_follows,\n      hideFollowers: this.$store.state.users.currentUser.hide_followers,\n      hideFollowsCount: this.$store.state.users.currentUser.hide_follows_count,\n      hideFollowersCount: this.$store.state.users.currentUser.hide_followers_count,\n      showRole: this.$store.state.users.currentUser.show_role,\n      role: this.$store.state.users.currentUser.role,\n      discoverable: this.$store.state.users.currentUser.discoverable,\n      bot: this.$store.state.users.currentUser.bot,\n      allowFollowingMove: this.$store.state.users.currentUser.allow_following_move,\n      pickAvatarBtnVisible: true,\n      bannerUploading: false,\n      backgroundUploading: false,\n      banner: null,\n      bannerPreview: null,\n      background: null,\n      backgroundPreview: null\n    }\n  },\n  components: {\n    ScopeSelector,\n    ImageCropper,\n    EmojiInput,\n    Autosuggest,\n    ProgressButton,\n    Checkbox\n  },\n  computed: {\n    user () {\n      return this.$store.state.users.currentUser\n    },\n    emojiUserSuggestor () {\n      return suggestor({\n        emoji: [\n          ...this.$store.state.instance.emoji,\n          ...this.$store.state.instance.customEmoji\n        ],\n        store: this.$store\n      })\n    },\n    emojiSuggestor () {\n      return suggestor({ emoji: [\n        ...this.$store.state.instance.emoji,\n        ...this.$store.state.instance.customEmoji\n      ] })\n    },\n    userSuggestor () {\n      return suggestor({ store: this.$store })\n    },\n    fieldsLimits () {\n      return this.$store.state.instance.fieldsLimits\n    },\n    maxFields () {\n      return this.fieldsLimits ? this.fieldsLimits.maxFields : 0\n    },\n    defaultAvatar () {\n      return this.$store.state.instance.server + this.$store.state.instance.defaultAvatar\n    },\n    defaultBanner () {\n      return this.$store.state.instance.server + this.$store.state.instance.defaultBanner\n    },\n    isDefaultAvatar () {\n      const baseAvatar = this.$store.state.instance.defaultAvatar\n      return !(this.$store.state.users.currentUser.profile_image_url) ||\n      this.$store.state.users.currentUser.profile_image_url.includes(baseAvatar)\n    },\n    isDefaultBanner () {\n      const baseBanner = this.$store.state.instance.defaultBanner\n      return !(this.$store.state.users.currentUser.cover_photo) ||\n      this.$store.state.users.currentUser.cover_photo.includes(baseBanner)\n    },\n    isDefaultBackground () {\n      return !(this.$store.state.users.currentUser.background_image)\n    },\n    avatarImgSrc () {\n      const src = this.$store.state.users.currentUser.profile_image_url_original\n      return (!src) ? this.defaultAvatar : src\n    },\n    bannerImgSrc () {\n      const src = this.$store.state.users.currentUser.cover_photo\n      return (!src) ? this.defaultBanner : src\n    }\n  },\n  methods: {\n    updateProfile () {\n      this.$store.state.api.backendInteractor\n        .updateProfile({\n          params: {\n            note: this.newBio,\n            locked: this.newLocked,\n            // Backend notation.\n            /* eslint-disable camelcase */\n            display_name: this.newName,\n            fields_attributes: this.newFields.filter(el => el != null),\n            default_scope: this.newDefaultScope,\n            no_rich_text: this.newNoRichText,\n            hide_follows: this.hideFollows,\n            hide_followers: this.hideFollowers,\n            discoverable: this.discoverable,\n            bot: this.bot,\n            allow_following_move: this.allowFollowingMove,\n            hide_follows_count: this.hideFollowsCount,\n            hide_followers_count: this.hideFollowersCount,\n            show_role: this.showRole\n            /* eslint-enable camelcase */\n          } }).then((user) => {\n          this.newFields.splice(user.fields.length)\n          merge(this.newFields, user.fields)\n          this.$store.commit('addNewUsers', [user])\n          this.$store.commit('setCurrentUser', user)\n        })\n    },\n    changeVis (visibility) {\n      this.newDefaultScope = visibility\n    },\n    addField () {\n      if (this.newFields.length < this.maxFields) {\n        this.newFields.push({ name: '', value: '' })\n        return true\n      }\n      return false\n    },\n    deleteField (index, event) {\n      this.$delete(this.newFields, index)\n    },\n    uploadFile (slot, e) {\n      const file = e.target.files[0]\n      if (!file) { return }\n      if (file.size > this.$store.state.instance[slot + 'limit']) {\n        const filesize = fileSizeFormatService.fileSizeFormat(file.size)\n        const allowedsize = fileSizeFormatService.fileSizeFormat(this.$store.state.instance[slot + 'limit'])\n        this.$store.dispatch('pushGlobalNotice', {\n          messageKey: 'upload.error.message',\n          messageArgs: [\n            this.$t('upload.error.file_too_big', {\n              filesize: filesize.num,\n              filesizeunit: filesize.unit,\n              allowedsize: allowedsize.num,\n              allowedsizeunit: allowedsize.unit\n            })\n          ],\n          level: 'error'\n        })\n        return\n      }\n      // eslint-disable-next-line no-undef\n      const reader = new FileReader()\n      reader.onload = ({ target }) => {\n        const img = target.result\n        this[slot + 'Preview'] = img\n        this[slot] = file\n      }\n      reader.readAsDataURL(file)\n    },\n    resetAvatar () {\n      const confirmed = window.confirm(this.$t('settings.reset_avatar_confirm'))\n      if (confirmed) {\n        this.submitAvatar(undefined, '')\n      }\n    },\n    resetBanner () {\n      const confirmed = window.confirm(this.$t('settings.reset_banner_confirm'))\n      if (confirmed) {\n        this.submitBanner('')\n      }\n    },\n    resetBackground () {\n      const confirmed = window.confirm(this.$t('settings.reset_background_confirm'))\n      if (confirmed) {\n        this.submitBackground('')\n      }\n    },\n    submitAvatar (cropper, file) {\n      const that = this\n      return new Promise((resolve, reject) => {\n        function updateAvatar (avatar) {\n          that.$store.state.api.backendInteractor.updateProfileImages({ avatar })\n            .then((user) => {\n              that.$store.commit('addNewUsers', [user])\n              that.$store.commit('setCurrentUser', user)\n              resolve()\n            })\n            .catch((error) => {\n              that.displayUploadError(error)\n              reject(error)\n            })\n        }\n\n        if (cropper) {\n          cropper.getCroppedCanvas().toBlob(updateAvatar, file.type)\n        } else {\n          updateAvatar(file)\n        }\n      })\n    },\n    submitBanner (banner) {\n      if (!this.bannerPreview && banner !== '') { return }\n\n      this.bannerUploading = true\n      this.$store.state.api.backendInteractor.updateProfileImages({ banner })\n        .then((user) => {\n          this.$store.commit('addNewUsers', [user])\n          this.$store.commit('setCurrentUser', user)\n          this.bannerPreview = null\n        })\n        .catch(this.displayUploadError)\n        .finally(() => { this.bannerUploading = false })\n    },\n    submitBackground (background) {\n      if (!this.backgroundPreview && background !== '') { return }\n\n      this.backgroundUploading = true\n      this.$store.state.api.backendInteractor.updateProfileImages({ background })\n        .then((data) => {\n          this.$store.commit('addNewUsers', [data])\n          this.$store.commit('setCurrentUser', data)\n          this.backgroundPreview = null\n        })\n        .catch(this.displayUploadError)\n        .finally(() => { this.backgroundUploading = false })\n    },\n    displayUploadError (error) {\n      this.$store.dispatch('pushGlobalNotice', {\n        messageKey: 'upload.error.message',\n        messageArgs: [error.message],\n        level: 'error'\n      })\n    }\n  }\n}\n\nexport default ProfileTab\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./profile_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./profile_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./profile_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-12b56c32\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./profile_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"profile-tab\"},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.name_bio')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.name')))]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiSuggestor},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newName),expression:\"newName\"}],staticClass:\"name-changer\",attrs:{\"id\":\"username\"},domProps:{\"value\":(_vm.newName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newName=$event.target.value}}})]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.bio')))]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiUserSuggestor},model:{value:(_vm.newBio),callback:function ($$v) {_vm.newBio=$$v},expression:\"newBio\"}},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newBio),expression:\"newBio\"}],staticClass:\"bio resize-height\",domProps:{\"value\":(_vm.newBio)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newBio=$event.target.value}}})]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.newLocked),callback:function ($$v) {_vm.newLocked=$$v},expression:\"newLocked\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.lock_account_description'))+\"\\n      \")])],1),_vm._v(\" \"),_c('div',[_c('label',{attrs:{\"for\":\"default-vis\"}},[_vm._v(_vm._s(_vm.$t('settings.default_vis')))]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-tray\",attrs:{\"id\":\"default-vis\"}},[_c('scope-selector',{attrs:{\"show-all\":true,\"user-default\":_vm.newDefaultScope,\"initial-scope\":_vm.newDefaultScope,\"on-scope-change\":_vm.changeVis}})],1)]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.newNoRichText),callback:function ($$v) {_vm.newNoRichText=$$v},expression:\"newNoRichText\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.no_rich_text_description'))+\"\\n      \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.hideFollows),callback:function ($$v) {_vm.hideFollows=$$v},expression:\"hideFollows\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.hide_follows_description'))+\"\\n      \")])],1),_vm._v(\" \"),_c('p',{staticClass:\"setting-subitem\"},[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideFollows},model:{value:(_vm.hideFollowsCount),callback:function ($$v) {_vm.hideFollowsCount=$$v},expression:\"hideFollowsCount\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.hide_follows_count_description'))+\"\\n      \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.hideFollowers),callback:function ($$v) {_vm.hideFollowers=$$v},expression:\"hideFollowers\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.hide_followers_description'))+\"\\n      \")])],1),_vm._v(\" \"),_c('p',{staticClass:\"setting-subitem\"},[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideFollowers},model:{value:(_vm.hideFollowersCount),callback:function ($$v) {_vm.hideFollowersCount=$$v},expression:\"hideFollowersCount\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.hide_followers_count_description'))+\"\\n      \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.allowFollowingMove),callback:function ($$v) {_vm.allowFollowingMove=$$v},expression:\"allowFollowingMove\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.allow_following_move'))+\"\\n      \")])],1),_vm._v(\" \"),(_vm.role === 'admin' || _vm.role === 'moderator')?_c('p',[_c('Checkbox',{model:{value:(_vm.showRole),callback:function ($$v) {_vm.showRole=$$v},expression:\"showRole\"}},[(_vm.role === 'admin')?[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.show_admin_badge'))+\"\\n        \")]:_vm._e(),_vm._v(\" \"),(_vm.role === 'moderator')?[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.show_moderator_badge'))+\"\\n        \")]:_vm._e()],2)],1):_vm._e(),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.discoverable),callback:function ($$v) {_vm.discoverable=$$v},expression:\"discoverable\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.discoverable'))+\"\\n      \")])],1),_vm._v(\" \"),(_vm.maxFields > 0)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.profile_fields.label')))]),_vm._v(\" \"),_vm._l((_vm.newFields),function(_,i){return _c('div',{key:i,staticClass:\"profile-fields\"},[_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"hide-emoji-button\":\"\",\"suggest\":_vm.userSuggestor},model:{value:(_vm.newFields[i].name),callback:function ($$v) {_vm.$set(_vm.newFields[i], \"name\", $$v)},expression:\"newFields[i].name\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newFields[i].name),expression:\"newFields[i].name\"}],attrs:{\"placeholder\":_vm.$t('settings.profile_fields.name')},domProps:{\"value\":(_vm.newFields[i].name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newFields[i], \"name\", $event.target.value)}}})]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"hide-emoji-button\":\"\",\"suggest\":_vm.userSuggestor},model:{value:(_vm.newFields[i].value),callback:function ($$v) {_vm.$set(_vm.newFields[i], \"value\", $$v)},expression:\"newFields[i].value\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newFields[i].value),expression:\"newFields[i].value\"}],attrs:{\"placeholder\":_vm.$t('settings.profile_fields.value')},domProps:{\"value\":(_vm.newFields[i].value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newFields[i], \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('button',{staticClass:\"delete-field button-unstyled -hover-highlight\",on:{\"click\":function($event){return _vm.deleteField(i)}}},[_c('FAIcon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.newFields.length > 1),expression:\"newFields.length > 1\"}],attrs:{\"icon\":\"times\"}})],1)],1)}),_vm._v(\" \"),(_vm.newFields.length < _vm.maxFields)?_c('button',{staticClass:\"add-field faint button-unstyled -hover-highlight\",on:{\"click\":_vm.addField}},[_c('FAIcon',{attrs:{\"icon\":\"plus\"}}),_vm._v(\"\\n        \"+_vm._s(_vm.$t(\"settings.profile_fields.add_field\"))+\"\\n      \")],1):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.bot),callback:function ($$v) {_vm.bot=$$v},expression:\"bot\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.bot'))+\"\\n      \")])],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.newName && _vm.newName.length === 0},on:{\"click\":_vm.updateProfile}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.save'))+\"\\n    \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.avatar')))]),_vm._v(\" \"),_c('p',{staticClass:\"visibility-notice\"},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.avatar_size_instruction'))+\"\\n    \")]),_vm._v(\" \"),_c('div',{staticClass:\"current-avatar-container\"},[_c('img',{staticClass:\"current-avatar\",attrs:{\"src\":_vm.user.profile_image_url_original}}),_vm._v(\" \"),(!_vm.isDefaultAvatar && _vm.pickAvatarBtnVisible)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_avatar'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetAvatar}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_avatar')))]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pickAvatarBtnVisible),expression:\"pickAvatarBtnVisible\"}],staticClass:\"button-default btn\",attrs:{\"id\":\"pick-avatar\",\"type\":\"button\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.upload_a_photo'))+\"\\n    \")]),_vm._v(\" \"),_c('image-cropper',{attrs:{\"trigger\":\"#pick-avatar\",\"submit-handler\":_vm.submitAvatar},on:{\"open\":function($event){_vm.pickAvatarBtnVisible=false},\"close\":function($event){_vm.pickAvatarBtnVisible=true}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.profile_banner')))]),_vm._v(\" \"),_c('div',{staticClass:\"banner-background-preview\"},[_c('img',{attrs:{\"src\":_vm.user.cover_photo}}),_vm._v(\" \"),(!_vm.isDefaultBanner)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_profile_banner'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetBanner}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_profile_banner')))]),_vm._v(\" \"),(_vm.bannerPreview)?_c('img',{staticClass:\"banner-background-preview\",attrs:{\"src\":_vm.bannerPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.uploadFile('banner', $event)}}})]),_vm._v(\" \"),(_vm.bannerUploading)?_c('FAIcon',{staticClass:\"uploading\",attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):(_vm.bannerPreview)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.submitBanner(_vm.banner)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.save'))+\"\\n    \")]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.profile_background')))]),_vm._v(\" \"),_c('div',{staticClass:\"banner-background-preview\"},[_c('img',{attrs:{\"src\":_vm.user.background_image}}),_vm._v(\" \"),(!_vm.isDefaultBackground)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_profile_background'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetBackground}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_profile_background')))]),_vm._v(\" \"),(_vm.backgroundPreview)?_c('img',{staticClass:\"banner-background-preview\",attrs:{\"src\":_vm.backgroundPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.uploadFile('background', $event)}}})]),_vm._v(\" \"),(_vm.backgroundUploading)?_c('FAIcon',{staticClass:\"uploading\",attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):(_vm.backgroundPreview)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.submitBackground(_vm.background)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.save'))+\"\\n    \")]):_vm._e()],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","<template>\n  <div>\n    <label for=\"interface-language-switcher\">\n      {{ $t('settings.interfaceLanguage') }}\n    </label>\n    <Select\n      id=\"interface-language-switcher\"\n      v-model=\"language\"\n    >\n      <option\n        v-for=\"lang in languages\"\n        :key=\"lang.code\"\n        :value=\"lang.code\"\n      >\n        {{ lang.name }}\n      </option>\n    </Select>\n  </div>\n</template>\n\n<script>\nimport languagesObject from '../../i18n/messages'\nimport localeService from '../../services/locale/locale.service.js'\nimport ISO6391 from 'iso-639-1'\nimport _ from 'lodash'\nimport Select from '../select/select.vue'\n\nexport default {\n  components: {\n    Select\n  },\n  computed: {\n    languages () {\n      return _.map(languagesObject.languages, (code) => ({ code: code, name: this.getLanguageName(code) })).sort((a, b) => a.name.localeCompare(b.name))\n    },\n\n    language: {\n      get: function () { return this.$store.getters.mergedConfig.interfaceLanguage },\n      set: function (val) {\n        this.$store.dispatch('setOption', { name: 'interfaceLanguage', value: val })\n      }\n    }\n  },\n\n  methods: {\n    getLanguageName (code) {\n      const specialLanguageNames = {\n        'ja_easy': 'やさしいにほんご',\n        'zh': '简体中文',\n        'zh_Hant': '繁體中文'\n      }\n      const languageName = specialLanguageNames[code] || ISO6391.getNativeName(code)\n      const browserLocale = localeService.internalToBrowserLocale(code)\n      return languageName.charAt(0).toLocaleUpperCase(browserLocale) + languageName.slice(1)\n    }\n  }\n}\n</script>\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./interface_language_switcher.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./interface_language_switcher.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72cb1bd2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./interface_language_switcher.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{attrs:{\"for\":\"interface-language-switcher\"}},[_vm._v(\"\\n    \"+_vm._s(_vm.$t('settings.interfaceLanguage'))+\"\\n  \")]),_vm._v(\" \"),_c('Select',{attrs:{\"id\":\"interface-language-switcher\"},model:{value:(_vm.language),callback:function ($$v) {_vm.language=$$v},expression:\"language\"}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang.code,domProps:{\"value\":lang.code}},[_vm._v(\"\\n      \"+_vm._s(lang.name)+\"\\n    \")])}),0)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\nimport InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faGlobe\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faGlobe\n)\n\nconst GeneralTab = {\n  data () {\n    return {\n      subjectLineOptions: ['email', 'noop', 'masto'].map(mode => ({\n        key: mode,\n        value: mode,\n        label: this.$t(`settings.subject_line_${mode === 'masto' ? 'mastodon' : mode}`)\n      })),\n      loopSilentAvailable:\n      // Firefox\n      Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') ||\n      // Chrome-likes\n      Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'webkitAudioDecodedByteCount') ||\n      // Future spec, still not supported in Nightly 63 as of 08/2018\n      Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'audioTracks')\n    }\n  },\n  components: {\n    BooleanSetting,\n    ChoiceSetting,\n    InterfaceLanguageSwitcher\n  },\n  computed: {\n    postFormats () {\n      return this.$store.state.instance.postFormats || []\n    },\n    postContentOptions () {\n      return this.postFormats.map(format => ({\n        key: format,\n        value: format,\n        label: this.$t(`post_status.content_type[\"${format}\"]`)\n      }))\n    },\n    instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel },\n    instanceWallpaperUsed () {\n      return this.$store.state.instance.background &&\n        !this.$store.state.users.currentUser.background_image\n    },\n    instanceShoutboxPresent () { return this.$store.state.instance.shoutAvailable },\n    ...SharedComputedObject()\n  }\n}\n\nexport default GeneralTab\n","/* script */\nexport * from \"!!babel-loader!./general_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./general_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dc1c5d9a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./general_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.general')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.interface')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('interface-language-switcher')],1),_vm._v(\" \"),(_vm.instanceSpecificPanelPresent)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideISP\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.hide_isp'))+\"\\n        \")])],1):_vm._e(),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"sidebarRight\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.right_sidebar'))+\"\\n        \")])],1),_vm._v(\" \"),(_vm.instanceWallpaperUsed)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideInstanceWallpaper\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.hide_wallpaper'))+\"\\n        \")])],1):_vm._e(),_vm._v(\" \"),(_vm.instanceShoutboxPresent)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideShoutbox\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.hide_shoutbox'))+\"\\n        \")])],1):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('nav.timeline')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideMutedPosts\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.hide_muted_posts'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"collapseMessageWithSubject\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.collapse_subject'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"streaming\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.streaming'))+\"\\n        \")]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\",class:[{disabled: !_vm.streaming}]},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"pauseOnUnfocused\",\"disabled\":!_vm.streaming}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.pause_on_unfocused'))+\"\\n            \")])],1)])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useStreamingApi\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.useStreamingApi'))+\"\\n          \"),_c('br'),_vm._v(\" \"),_c('small',[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.useStreamingApiWarning'))+\"\\n          \")])])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"emojiReactionsOnTimeline\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.emoji_reactions_on_timeline'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"virtualScrolling\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.virtual_scrolling'))+\"\\n        \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.composing')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"scopeCopy\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.scope_copy'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"alwaysShowSubjectInput\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.subject_input_always_show'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('ChoiceSetting',{attrs:{\"id\":\"subjectLineBehavior\",\"path\":\"subjectLineBehavior\",\"options\":_vm.subjectLineOptions}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.subject_line_behavior'))+\"\\n        \")])],1),_vm._v(\" \"),(_vm.postFormats.length > 0)?_c('li',[_c('ChoiceSetting',{attrs:{\"id\":\"postContentType\",\"path\":\"postContentType\",\"options\":_vm.postContentOptions}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.post_status_content_type'))+\"\\n        \")])],1):_vm._e(),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"minimalScopesMode\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.minimal_scopes_mode'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"sensitiveByDefault\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.sensitive_by_default'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"autohideFloatingPostButton\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.autohide_floating_post_button'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"padEmoji\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.pad_emoji'))+\"\\n        \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.attachments')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideAttachments\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.hide_attachments_in_tl'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideAttachmentsInConv\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.hide_attachments_in_convo'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('label',{attrs:{\"for\":\"maxThumbnails\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.max_thumbnails'))+\"\\n        \")]),_vm._v(\" \"),_c('input',{staticClass:\"number-input\",attrs:{\"id\":\"maxThumbnails\",\"path.number\":\"maxThumbnails\",\"type\":\"number\",\"min\":\"0\",\"step\":\"1\"}})]),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideNsfw\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.nsfw_clickthrough'))+\"\\n        \")])],1),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"preloadImage\",\"disabled\":!_vm.hideNsfw}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.preload_images'))+\"\\n          \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useOneClickNsfw\",\"disabled\":!_vm.hideNsfw}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.use_one_click_nsfw'))+\"\\n          \")])],1)]),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"stopGifs\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.stop_gifs'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"loopVideo\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.loop_video'))+\"\\n        \")]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\",class:[{disabled: !_vm.streaming}]},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"loopVideoSilentOnly\",\"disabled\":!_vm.loopVideo || !_vm.loopSilentAvailable}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.loop_video_silent_only'))+\"\\n            \")]),_vm._v(\" \"),(!_vm.loopSilentAvailable)?_c('div',{staticClass:\"unavailable\"},[_c('FAIcon',{attrs:{\"icon\":\"globe\"}}),_vm._v(\"! \"+_vm._s(_vm.$t('settings.limited_availability'))+\"\\n            \")],1):_vm._e()],1)])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"playVideosInModal\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.play_videos_in_modal'))+\"\\n        \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useContainFit\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.use_contain_fit'))+\"\\n        \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.notifications')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"webPushNotifications\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.enable_web_push_notifications'))+\"\\n        \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.fun')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"greentext\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.greentext'))+\"\\n        \")])],1)])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { extractCommit } from 'src/services/version/version.service'\n\nconst pleromaFeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma-fe/commit/'\nconst pleromaBeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma/commit/'\n\nconst VersionTab = {\n  data () {\n    const instance = this.$store.state.instance\n    return {\n      backendVersion: instance.backendVersion,\n      frontendVersion: instance.frontendVersion\n    }\n  },\n  computed: {\n    frontendVersionLink () {\n      return pleromaFeCommitUrl + this.frontendVersion\n    },\n    backendVersionLink () {\n      return pleromaBeCommitUrl + extractCommit(this.backendVersion)\n    }\n  }\n}\n\nexport default VersionTab\n","\nexport const extractCommit = versionString => {\n  const regex = /-g(\\w+)/i\n  const matches = versionString.match(regex)\n  return matches ? matches[1] : ''\n}\n","/* script */\nexport * from \"!!babel-loader!./version_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./version_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ce257d26\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./version_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.version.title')}},[_c('div',{staticClass:\"setting-item\"},[_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.version.backend_version')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.backendVersionLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.backendVersion))])])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.version.frontend_version')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.frontendVersionLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.frontendVersion))])])])])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"color-input style-control\"\n    :class=\"{ disabled: !present || disabled }\"\n  >\n    <label\n      :for=\"name\"\n      class=\"label\"\n    >\n      {{ label }}\n    </label>\n    <Checkbox\n      v-if=\"typeof fallback !== 'undefined' && showOptionalTickbox\"\n      :checked=\"present\"\n      :disabled=\"disabled\"\n      class=\"opt\"\n      @change=\"$emit('input', typeof value === 'undefined' ? fallback : undefined)\"\n    />\n    <div class=\"input color-input-field\">\n      <input\n        :id=\"name + '-t'\"\n        class=\"textColor unstyled\"\n        type=\"text\"\n        :value=\"value || fallback\"\n        :disabled=\"!present || disabled\"\n        @input=\"$emit('input', $event.target.value)\"\n      >\n      <input\n        v-if=\"validColor\"\n        :id=\"name\"\n        class=\"nativeColor unstyled\"\n        type=\"color\"\n        :value=\"value || fallback\"\n        :disabled=\"!present || disabled\"\n        @input=\"$emit('input', $event.target.value)\"\n      >\n      <div\n        v-if=\"transparentColor\"\n        class=\"transparentIndicator\"\n      />\n      <div\n        v-if=\"computedColor\"\n        class=\"computedIndicator\"\n        :style=\"{backgroundColor: fallback}\"\n      />\n    </div>\n  </div>\n</template>\n<style lang=\"scss\" src=\"./color_input.scss\"></style>\n<script>\nimport Checkbox from '../checkbox/checkbox.vue'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\nexport default {\n  components: {\n    Checkbox\n  },\n  props: {\n    // Name of color, used for identifying\n    name: {\n      required: true,\n      type: String\n    },\n    // Readable label\n    label: {\n      required: true,\n      type: String\n    },\n    // Color value, should be required but vue cannot tell the difference\n    // between \"property missing\" and \"property set to undefined\"\n    value: {\n      required: false,\n      type: String,\n      default: undefined\n    },\n    // Color fallback to use when value is not defeind\n    fallback: {\n      required: false,\n      type: String,\n      default: undefined\n    },\n    // Disable the control\n    disabled: {\n      required: false,\n      type: Boolean,\n      default: false\n    },\n    // Show \"optional\" tickbox, for when value might become mandatory\n    showOptionalTickbox: {\n      required: false,\n      type: Boolean,\n      default: true\n    }\n  },\n  computed: {\n    present () {\n      return typeof this.value !== 'undefined'\n    },\n    validColor () {\n      return hex2rgb(this.value || this.fallback)\n    },\n    transparentColor () {\n      return this.value === 'transparent'\n    },\n    computedColor () {\n      return this.value && this.value.startsWith('--')\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\">\n.color-control {\n  input.text-input {\n    max-width: 7em;\n    flex: 1;\n  }\n}\n</style>\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./color_input.scss\")\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=1!./color_input.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-77e407b6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./color_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"color-input style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n    \"+_vm._s(_vm.label)+\"\\n  \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined' && _vm.showOptionalTickbox)?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"input color-input-field\"},[_c('input',{staticClass:\"textColor unstyled\",attrs:{\"id\":_vm.name + '-t',\"type\":\"text\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),(_vm.validColor)?_c('input',{staticClass:\"nativeColor unstyled\",attrs:{\"id\":_vm.name,\"type\":\"color\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}):_vm._e(),_vm._v(\" \"),(_vm.transparentColor)?_c('div',{staticClass:\"transparentIndicator\"}):_vm._e(),_vm._v(\" \"),(_vm.computedColor)?_c('div',{staticClass:\"computedIndicator\",style:({backgroundColor: _vm.fallback})}):_vm._e()])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6a3c1a26\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./range_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","<template>\n  <div\n    class=\"range-control style-control\"\n    :class=\"{ disabled: !present || disabled }\"\n  >\n    <label\n      :for=\"name\"\n      class=\"label\"\n    >\n      {{ label }}\n    </label>\n    <input\n      v-if=\"typeof fallback !== 'undefined'\"\n      :id=\"name + '-o'\"\n      class=\"opt\"\n      type=\"checkbox\"\n      :checked=\"present\"\n      @input=\"$emit('input', !present ? fallback : undefined)\"\n    >\n    <label\n      v-if=\"typeof fallback !== 'undefined'\"\n      class=\"opt-l\"\n      :for=\"name + '-o'\"\n    />\n    <input\n      :id=\"name\"\n      class=\"input-number\"\n      type=\"range\"\n      :value=\"value || fallback\"\n      :disabled=\"!present || disabled\"\n      :max=\"max || hardMax || 100\"\n      :min=\"min || hardMin || 0\"\n      :step=\"step || 1\"\n      @input=\"$emit('input', $event.target.value)\"\n    >\n    <input\n      :id=\"name\"\n      class=\"input-number\"\n      type=\"number\"\n      :value=\"value || fallback\"\n      :disabled=\"!present || disabled\"\n      :max=\"hardMax\"\n      :min=\"hardMin\"\n      :step=\"step || 1\"\n      @input=\"$emit('input', $event.target.value)\"\n    >\n  </div>\n</template>\n\n<script>\nexport default {\n  props: [\n    'name', 'value', 'fallback', 'disabled', 'label', 'max', 'min', 'step', 'hardMin', 'hardMax'\n  ],\n  computed: {\n    present () {\n      return typeof this.value !== 'undefined'\n    }\n  }\n}\n</script>\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"range-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n    \"+_vm._s(_vm.label)+\"\\n  \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"range\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.max || _vm.hardMax || 100,\"min\":_vm.min || _vm.hardMin || 0,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.hardMax,\"min\":_vm.hardMin,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"opacity-control style-control\"\n    :class=\"{ disabled: !present || disabled }\"\n  >\n    <label\n      :for=\"name\"\n      class=\"label\"\n    >\n      {{ $t('settings.style.common.opacity') }}\n    </label>\n    <Checkbox\n      v-if=\"typeof fallback !== 'undefined'\"\n      :checked=\"present\"\n      :disabled=\"disabled\"\n      class=\"opt\"\n      @change=\"$emit('input', !present ? fallback : undefined)\"\n    />\n    <input\n      :id=\"name\"\n      class=\"input-number\"\n      type=\"number\"\n      :value=\"value || fallback\"\n      :disabled=\"!present || disabled\"\n      max=\"1\"\n      min=\"0\"\n      step=\".05\"\n      @input=\"$emit('input', $event.target.value)\"\n    >\n  </div>\n</template>\n\n<script>\nimport Checkbox from '../checkbox/checkbox.vue'\nexport default {\n  components: {\n    Checkbox\n  },\n  props: [\n    'name', 'value', 'fallback', 'disabled'\n  ],\n  computed: {\n    present () {\n      return typeof this.value !== 'undefined'\n    }\n  }\n}\n</script>\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3b48fa39\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./opacity_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"opacity-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n    \"+_vm._s(_vm.$t('settings.style.common.opacity'))+\"\\n  \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":\"1\",\"min\":\"0\",\"step\":\".05\"},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ColorInput from '../color_input/color_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport Select from '../select/select.vue'\nimport { getCssShadow } from '../../services/style_setter/style_setter.js'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faTimes,\n  faChevronDown,\n  faChevronUp,\n  faPlus\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faChevronDown,\n  faChevronUp,\n  faTimes,\n  faPlus\n)\n\nconst toModel = (object = {}) => ({\n  x: 0,\n  y: 0,\n  blur: 0,\n  spread: 0,\n  inset: false,\n  color: '#000000',\n  alpha: 1,\n  ...object\n})\n\nexport default {\n  // 'Value' and 'Fallback' can be undefined, but if they are\n  // initially vue won't detect it when they become something else\n  // therefore i'm using \"ready\" which should be passed as true when\n  // data becomes available\n  props: [\n    'value', 'fallback', 'ready'\n  ],\n  data () {\n    return {\n      selectedId: 0,\n      // TODO there are some bugs regarding display of array (it's not getting updated when deleting for some reason)\n      cValue: (this.value || this.fallback || []).map(toModel)\n    }\n  },\n  components: {\n    ColorInput,\n    OpacityInput,\n    Select\n  },\n  methods: {\n    add () {\n      this.cValue.push(toModel(this.selected))\n      this.selectedId = this.cValue.length - 1\n    },\n    del () {\n      this.cValue.splice(this.selectedId, 1)\n      this.selectedId = this.cValue.length === 0 ? undefined : Math.max(this.selectedId - 1, 0)\n    },\n    moveUp () {\n      const movable = this.cValue.splice(this.selectedId, 1)[0]\n      this.cValue.splice(this.selectedId - 1, 0, movable)\n      this.selectedId -= 1\n    },\n    moveDn () {\n      const movable = this.cValue.splice(this.selectedId, 1)[0]\n      this.cValue.splice(this.selectedId + 1, 0, movable)\n      this.selectedId += 1\n    }\n  },\n  beforeUpdate () {\n    this.cValue = this.value || this.fallback\n  },\n  computed: {\n    anyShadows () {\n      return this.cValue.length > 0\n    },\n    anyShadowsFallback () {\n      return this.fallback.length > 0\n    },\n    selected () {\n      if (this.ready && this.anyShadows) {\n        return this.cValue[this.selectedId]\n      } else {\n        return toModel({})\n      }\n    },\n    currentFallback () {\n      if (this.ready && this.anyShadowsFallback) {\n        return this.fallback[this.selectedId]\n      } else {\n        return toModel({})\n      }\n    },\n    moveUpValid () {\n      return this.ready && this.selectedId > 0\n    },\n    moveDnValid () {\n      return this.ready && this.selectedId < this.cValue.length - 1\n    },\n    present () {\n      return this.ready &&\n        typeof this.cValue[this.selectedId] !== 'undefined' &&\n        !this.usingFallback\n    },\n    usingFallback () {\n      return typeof this.value === 'undefined'\n    },\n    rgb () {\n      return hex2rgb(this.selected.color)\n    },\n    style () {\n      return this.ready ? {\n        boxShadow: getCssShadow(this.fallback)\n      } : {}\n    }\n  }\n}\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./shadow_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./shadow_control.js\"\nimport __vue_script__ from \"!!babel-loader!./shadow_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ee55a534\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./shadow_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shadow-control\",class:{ disabled: !_vm.present }},[_c('div',{staticClass:\"shadow-preview-container\"},[_c('div',{staticClass:\"y-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.y)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"y\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.y)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"y\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-window\"},[_c('div',{staticClass:\"preview-block\",style:(_vm.style)})]),_vm._v(\" \"),_c('div',{staticClass:\"x-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.x)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"x\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.x)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"x\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"shadow-tweak\"},[_c('div',{staticClass:\"id-control style-control\",attrs:{\"disabled\":_vm.usingFallback}},[_c('Select',{staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback},model:{value:(_vm.selectedId),callback:function ($$v) {_vm.selectedId=$$v},expression:\"selectedId\"}},_vm._l((_vm.cValue),function(shadow,index){return _c('option',{key:index,domProps:{\"value\":index}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.style.shadows.shadow_id', { value: index }))+\"\\n        \")])}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.ready || !_vm.present},on:{\"click\":_vm.del}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"times\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.moveUpValid},on:{\"click\":_vm.moveUp}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"chevron-up\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.moveDnValid},on:{\"click\":_vm.moveDn}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"chevron-down\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.usingFallback},on:{\"click\":_vm.add}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"plus\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"inset-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"inset\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.style.shadows.inset'))+\"\\n      \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.inset),expression:\"selected.inset\"}],staticClass:\"input-inset\",attrs:{\"id\":\"inset\",\"disabled\":!_vm.present,\"name\":\"inset\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.selected.inset)?_vm._i(_vm.selected.inset,null)>-1:(_vm.selected.inset)},on:{\"change\":function($event){var $$a=_vm.selected.inset,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selected, \"inset\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selected, \"inset\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selected, \"inset\", $$c)}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"inset\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"blur-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.style.shadows.blur'))+\"\\n      \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-range\",attrs:{\"id\":\"blur\",\"disabled\":!_vm.present,\"name\":\"blur\",\"type\":\"range\",\"max\":\"20\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"blur\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"blur\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"spread-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.style.shadows.spread'))+\"\\n      \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-range\",attrs:{\"id\":\"spread\",\"disabled\":!_vm.present,\"name\":\"spread\",\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"spread\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"spread\", $event.target.value)}}})]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"disabled\":!_vm.present,\"label\":_vm.$t('settings.style.common.color'),\"fallback\":_vm.currentFallback.color,\"show-optional-tickbox\":false,\"name\":\"shadow\"},model:{value:(_vm.selected.color),callback:function ($$v) {_vm.$set(_vm.selected, \"color\", $$v)},expression:\"selected.color\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"disabled\":!_vm.present},model:{value:(_vm.selected.alpha),callback:function ($$v) {_vm.$set(_vm.selected, \"alpha\", $$v)},expression:\"selected.alpha\"}}),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.hintV3\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"--variable,mod\")])])],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set } from 'vue'\nimport Select from '../select/select.vue'\n\nexport default {\n  components: {\n    Select\n  },\n  props: [\n    'name', 'label', 'value', 'fallback', 'options', 'no-inherit'\n  ],\n  data () {\n    return {\n      lValue: this.value,\n      availableOptions: [\n        this.noInherit ? '' : 'inherit',\n        'custom',\n        ...(this.options || []),\n        'serif',\n        'monospace',\n        'sans-serif'\n      ].filter(_ => _)\n    }\n  },\n  beforeUpdate () {\n    this.lValue = this.value\n  },\n  computed: {\n    present () {\n      return typeof this.lValue !== 'undefined'\n    },\n    dValue () {\n      return this.lValue || this.fallback || {}\n    },\n    family: {\n      get () {\n        return this.dValue.family\n      },\n      set (v) {\n        set(this.lValue, 'family', v)\n        this.$emit('input', this.lValue)\n      }\n    },\n    isCustom () {\n      return this.preset === 'custom'\n    },\n    preset: {\n      get () {\n        if (this.family === 'serif' ||\n            this.family === 'sans-serif' ||\n            this.family === 'monospace' ||\n            this.family === 'inherit') {\n          return this.family\n        } else {\n          return 'custom'\n        }\n      },\n      set (v) {\n        this.family = v === 'custom' ? '' : v\n      }\n    }\n  }\n}\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./font_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./font_control.js\"\nimport __vue_script__ from \"!!babel-loader!./font_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-132a42de\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./font_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-control style-control\",class:{ custom: _vm.isCustom }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.preset === 'custom' ? _vm.name : _vm.name + '-font-switcher'}},[_vm._v(\"\\n    \"+_vm._s(_vm.label)+\"\\n  \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exlcude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('Select',{staticClass:\"font-switcher\",attrs:{\"id\":_vm.name + '-font-switcher',\"disabled\":!_vm.present},model:{value:(_vm.preset),callback:function ($$v) {_vm.preset=$$v},expression:\"preset\"}},_vm._l((_vm.availableOptions),function(option){return _c('option',{key:option,domProps:{\"value\":option}},[_vm._v(\"\\n      \"+_vm._s(option === 'custom' ? _vm.$t('settings.style.fonts.custom') : option)+\"\\n    \")])}),0),_vm._v(\" \"),(_vm.isCustom)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.family),expression:\"family\"}],staticClass:\"custom-font\",attrs:{\"id\":_vm.name,\"type\":\"text\"},domProps:{\"value\":(_vm.family)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.family=$event.target.value}}}):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","<template>\n  <span\n    v-if=\"contrast\"\n    class=\"contrast-ratio\"\n  >\n    <span\n      :title=\"hint\"\n      class=\"rating\"\n    >\n      <span v-if=\"contrast.aaa\">\n        <FAIcon icon=\"thumbs-up\" />\n      </span>\n      <span v-if=\"!contrast.aaa && contrast.aa\">\n        <FAIcon icon=\"adjust\" />\n      </span>\n      <span v-if=\"!contrast.aaa && !contrast.aa\">\n        <FAIcon icon=\"exclamation-triangle\" />\n      </span>\n    </span>\n    <span\n      v-if=\"contrast && large\"\n      class=\"rating\"\n      :title=\"hint_18pt\"\n    >\n      <span v-if=\"contrast.laaa\">\n        <FAIcon icon=\"thumbs-up\" />\n      </span>\n      <span v-if=\"!contrast.laaa && contrast.laa\">\n        <FAIcon icon=\"adjust\" />\n      </span>\n      <span v-if=\"!contrast.laaa && !contrast.laa\">\n        <FAIcon icon=\"exclamation-triangle\" />\n      </span>\n    </span>\n  </span>\n</template>\n\n<script>\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faAdjust,\n  faExclamationTriangle,\n  faThumbsUp\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faAdjust,\n  faExclamationTriangle,\n  faThumbsUp\n)\n\nexport default {\n  props: {\n    large: {\n      required: false,\n      type: Boolean,\n      default: false\n    },\n    // TODO: Make theme switcher compute theme initially so that contrast\n    // component won't be called without contrast data\n    contrast: {\n      required: false,\n      type: Object,\n      default: () => ({})\n    }\n  },\n  computed: {\n    hint () {\n      const levelVal = this.contrast.aaa ? 'aaa' : (this.contrast.aa ? 'aa' : 'bad')\n      const level = this.$t(`settings.style.common.contrast.level.${levelVal}`)\n      const context = this.$t('settings.style.common.contrast.context.text')\n      const ratio = this.contrast.text\n      return this.$t('settings.style.common.contrast.hint', { level, context, ratio })\n    },\n    hint_18pt () {\n      const levelVal = this.contrast.laaa ? 'aaa' : (this.contrast.laa ? 'aa' : 'bad')\n      const level = this.$t(`settings.style.common.contrast.level.${levelVal}`)\n      const context = this.$t('settings.style.common.contrast.context.18pt')\n      const ratio = this.contrast.text\n      return this.$t('settings.style.common.contrast.hint', { level, context, ratio })\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\">\n.contrast-ratio {\n  display: flex;\n  justify-content: flex-end;\n\n  margin-top: -4px;\n  margin-bottom: 5px;\n\n  .label {\n    margin-right: 1em;\n  }\n\n  .rating {\n    display: inline-block;\n    text-align: center;\n    margin-left: 0.5em;\n  }\n}\n</style>\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./contrast_ratio.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6d90b7c4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./contrast_ratio.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.contrast)?_c('span',{staticClass:\"contrast-ratio\"},[_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint}},[(_vm.contrast.aaa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"thumbs-up\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && _vm.contrast.aa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"adjust\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && !_vm.contrast.aa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"exclamation-triangle\"}})],1):_vm._e()]),_vm._v(\" \"),(_vm.contrast && _vm.large)?_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint_18pt}},[(_vm.contrast.laaa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"thumbs-up\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && _vm.contrast.laa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"adjust\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && !_vm.contrast.laa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"exclamation-triangle\"}})],1):_vm._e()]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","<template>\n  <div class=\"preview-container\">\n    <div class=\"underlay underlay-preview\" />\n    <div class=\"panel dummy\">\n      <div class=\"panel-heading\">\n        <div class=\"title\">\n          {{ $t('settings.style.preview.header') }}\n          <span class=\"badge badge-notification\">\n            99\n          </span>\n        </div>\n        <span class=\"faint\">\n          {{ $t('settings.style.preview.header_faint') }}\n        </span>\n        <span class=\"alert error\">\n          {{ $t('settings.style.preview.error') }}\n        </span>\n        <button class=\"btn button-default\">\n          {{ $t('settings.style.preview.button') }}\n        </button>\n      </div>\n      <div class=\"panel-body theme-preview-content\">\n        <div class=\"post\">\n          <div class=\"avatar still-image\">\n            ( ͡° ͜ʖ ͡°)\n          </div>\n          <div class=\"content\">\n            <h4>\n              {{ $t('settings.style.preview.content') }}\n            </h4>\n\n            <i18n path=\"settings.style.preview.text\">\n              <code style=\"font-family: var(--postCodeFont)\">\n                {{ $t('settings.style.preview.mono') }}\n              </code>\n              <a style=\"color: var(--link)\">\n                {{ $t('settings.style.preview.link') }}\n              </a>\n            </i18n>\n\n            <div class=\"icons\">\n              <FAIcon\n                fixed-width\n                style=\"color: var(--cBlue)\"\n                class=\"fa-scale-110 fa-old-padding\"\n                icon=\"reply\"\n              />\n              <FAIcon\n                fixed-width\n                style=\"color: var(--cGreen)\"\n                class=\"fa-scale-110 fa-old-padding\"\n                icon=\"retweet\"\n              />\n              <FAIcon\n                fixed-width\n                style=\"color: var(--cOrange)\"\n                class=\"fa-scale-110 fa-old-padding\"\n                icon=\"star\"\n              />\n              <FAIcon\n                fixed-width\n                style=\"color: var(--cRed)\"\n                class=\"fa-scale-110 fa-old-padding\"\n                icon=\"times\"\n              />\n            </div>\n          </div>\n        </div>\n\n        <div class=\"after-post\">\n          <div class=\"avatar-alt\">\n            :^)\n          </div>\n          <div class=\"content\">\n            <i18n\n              path=\"settings.style.preview.fine_print\"\n              tag=\"span\"\n              class=\"faint\"\n            >\n              <a style=\"color: var(--faintLink)\">\n                {{ $t('settings.style.preview.faint_link') }}\n              </a>\n            </i18n>\n          </div>\n        </div>\n        <div class=\"separator\" />\n\n        <span class=\"alert error\">\n          {{ $t('settings.style.preview.error') }}\n        </span>\n        <input\n          :value=\"$t('settings.style.preview.input')\"\n          type=\"text\"\n        >\n\n        <div class=\"actions\">\n          <span class=\"checkbox\">\n            <input\n              id=\"preview_checkbox\"\n              checked=\"very yes\"\n              type=\"checkbox\"\n            >\n            <label for=\"preview_checkbox\">{{ $t('settings.style.preview.checkbox') }}</label>\n          </span>\n          <button class=\"btn button-default\">\n            {{ $t('settings.style.preview.button') }}\n          </button>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faTimes,\n  faStar,\n  faRetweet,\n  faReply\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faTimes,\n  faStar,\n  faRetweet,\n  faReply\n)\n\nexport default {}\n</script>\n\n<style lang=\"scss\">\n.preview-container {\n  position: relative;\n}\n.underlay-preview {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 10px;\n  right: 10px;\n}\n</style>\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./preview.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./preview.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./preview.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1d0bb165\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"preview-container\"},[_c('div',{staticClass:\"underlay underlay-preview\"}),_vm._v(\" \"),_c('div',{staticClass:\"panel dummy\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.style.preview.header'))+\"\\n        \"),_c('span',{staticClass:\"badge badge-notification\"},[_vm._v(\"\\n          99\\n        \")])]),_vm._v(\" \"),_c('span',{staticClass:\"faint\"},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.style.preview.header_faint'))+\"\\n      \")]),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n      \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\"},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n      \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body theme-preview-content\"},[_c('div',{staticClass:\"post\"},[_c('div',{staticClass:\"avatar still-image\"},[_vm._v(\"\\n          ( ͡° ͜ʖ ͡°)\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('h4',[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.style.preview.content'))+\"\\n          \")]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.preview.text\"}},[_c('code',{staticStyle:{\"font-family\":\"var(--postCodeFont)\"}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.preview.mono'))+\"\\n            \")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"var(--link)\"}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.preview.link'))+\"\\n            \")])]),_vm._v(\" \"),_c('div',{staticClass:\"icons\"},[_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cBlue)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"reply\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cGreen)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"retweet\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cOrange)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"star\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cRed)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"times\"}})],1)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"after-post\"},[_c('div',{staticClass:\"avatar-alt\"},[_vm._v(\"\\n          :^)\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('i18n',{staticClass:\"faint\",attrs:{\"path\":\"settings.style.preview.fine_print\",\"tag\":\"span\"}},[_c('a',{staticStyle:{\"color\":\"var(--faintLink)\"}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.preview.faint_link'))+\"\\n            \")])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"separator\"}),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n        \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n      \")]),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.$t('settings.style.preview.input')}}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_c('span',{staticClass:\"checkbox\"},[_c('input',{attrs:{\"id\":\"preview_checkbox\",\"checked\":\"very yes\",\"type\":\"checkbox\"}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"preview_checkbox\"}},[_vm._v(_vm._s(_vm.$t('settings.style.preview.checkbox')))])]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\"},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n        \")])])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set, delete as del } from 'vue'\nimport {\n  rgb2hex,\n  hex2rgb,\n  getContrastRatioLayers\n} from 'src/services/color_convert/color_convert.js'\nimport {\n  DEFAULT_SHADOWS,\n  generateColors,\n  generateShadows,\n  generateRadii,\n  generateFonts,\n  composePreset,\n  getThemes,\n  shadows2to3,\n  colors2to3\n} from 'src/services/style_setter/style_setter.js'\nimport {\n  newImporter,\n  newExporter\n} from 'src/services/export_import/export_import.js'\nimport {\n  SLOT_INHERITANCE\n} from 'src/services/theme_data/pleromafe.js'\nimport {\n  CURRENT_VERSION,\n  OPACITIES,\n  getLayers,\n  getOpacitySlot\n} from 'src/services/theme_data/theme_data.service.js'\nimport ColorInput from 'src/components/color_input/color_input.vue'\nimport RangeInput from 'src/components/range_input/range_input.vue'\nimport OpacityInput from 'src/components/opacity_input/opacity_input.vue'\nimport ShadowControl from 'src/components/shadow_control/shadow_control.vue'\nimport FontControl from 'src/components/font_control/font_control.vue'\nimport ContrastRatio from 'src/components/contrast_ratio/contrast_ratio.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Select from 'src/components/select/select.vue'\n\nimport Preview from './preview.vue'\n\n// List of color values used in v1\nconst v1OnlyNames = [\n  'bg',\n  'fg',\n  'text',\n  'link',\n  'cRed',\n  'cGreen',\n  'cBlue',\n  'cOrange'\n].map(_ => _ + 'ColorLocal')\n\nconst colorConvert = (color) => {\n  if (color.startsWith('--') || color === 'transparent') {\n    return color\n  } else {\n    return hex2rgb(color)\n  }\n}\n\nexport default {\n  data () {\n    return {\n      themeImporter: newImporter({\n        validator: this.importValidator,\n        onImport: this.onImport,\n        onImportFailure: this.onImportFailure\n      }),\n      themeExporter: newExporter({\n        filename: 'pleroma_theme',\n        getExportedObject: () => this.exportedTheme\n      }),\n      availableStyles: [],\n      selected: '',\n      selectedTheme: this.$store.getters.mergedConfig.theme,\n      themeWarning: undefined,\n      tempImportFile: undefined,\n      engineVersion: 0,\n\n      previewShadows: {},\n      previewColors: {},\n      previewRadii: {},\n      previewFonts: {},\n\n      shadowsInvalid: true,\n      colorsInvalid: true,\n      radiiInvalid: true,\n\n      keepColor: false,\n      keepShadows: false,\n      keepOpacity: false,\n      keepRoundness: false,\n      keepFonts: false,\n\n      ...Object.keys(SLOT_INHERITANCE)\n        .map(key => [key, ''])\n        .reduce((acc, [key, val]) => ({ ...acc, [ key + 'ColorLocal' ]: val }), {}),\n\n      ...Object.keys(OPACITIES)\n        .map(key => [key, ''])\n        .reduce((acc, [key, val]) => ({ ...acc, [ key + 'OpacityLocal' ]: val }), {}),\n\n      shadowSelected: undefined,\n      shadowsLocal: {},\n      fontsLocal: {},\n\n      btnRadiusLocal: '',\n      inputRadiusLocal: '',\n      checkboxRadiusLocal: '',\n      panelRadiusLocal: '',\n      avatarRadiusLocal: '',\n      avatarAltRadiusLocal: '',\n      attachmentRadiusLocal: '',\n      tooltipRadiusLocal: '',\n      chatMessageRadiusLocal: ''\n    }\n  },\n  created () {\n    const self = this\n\n    getThemes()\n      .then((promises) => {\n        return Promise.all(\n          Object.entries(promises)\n            .map(([k, v]) => v.then(res => [k, res]))\n        )\n      })\n      .then(themes => themes.reduce((acc, [k, v]) => {\n        if (v) {\n          return {\n            ...acc,\n            [k]: v\n          }\n        } else {\n          return acc\n        }\n      }, {}))\n      .then((themesComplete) => {\n        self.availableStyles = themesComplete\n      })\n  },\n  mounted () {\n    this.loadThemeFromLocalStorage()\n    if (typeof this.shadowSelected === 'undefined') {\n      this.shadowSelected = this.shadowsAvailable[0]\n    }\n  },\n  computed: {\n    themeWarningHelp () {\n      if (!this.themeWarning) return\n      const t = this.$t\n      const pre = 'settings.style.switcher.help.'\n      const {\n        origin,\n        themeEngineVersion,\n        type,\n        noActionsPossible\n      } = this.themeWarning\n      if (origin === 'file') {\n        // Loaded v2 theme from file\n        if (themeEngineVersion === 2 && type === 'wrong_version') {\n          return t(pre + 'v2_imported')\n        }\n        if (themeEngineVersion > CURRENT_VERSION) {\n          return t(pre + 'future_version_imported') + ' ' +\n            (\n              noActionsPossible\n                ? t(pre + 'snapshot_missing')\n                : t(pre + 'snapshot_present')\n            )\n        }\n        if (themeEngineVersion < CURRENT_VERSION) {\n          return t(pre + 'future_version_imported') + ' ' +\n            (\n              noActionsPossible\n                ? t(pre + 'snapshot_missing')\n                : t(pre + 'snapshot_present')\n            )\n        }\n      } else if (origin === 'localStorage') {\n        if (type === 'snapshot_source_mismatch') {\n          return t(pre + 'snapshot_source_mismatch')\n        }\n        // FE upgraded from v2\n        if (themeEngineVersion === 2) {\n          return t(pre + 'upgraded_from_v2')\n        }\n        // Admin downgraded FE\n        if (themeEngineVersion > CURRENT_VERSION) {\n          return t(pre + 'fe_downgraded') + ' ' +\n            (\n              noActionsPossible\n                ? t(pre + 'migration_snapshot_ok')\n                : t(pre + 'migration_snapshot_gone')\n            )\n        }\n        // Admin upgraded FE\n        if (themeEngineVersion < CURRENT_VERSION) {\n          return t(pre + 'fe_upgraded') + ' ' +\n            (\n              noActionsPossible\n                ? t(pre + 'migration_snapshot_ok')\n                : t(pre + 'migration_snapshot_gone')\n            )\n        }\n      }\n    },\n    selectedVersion () {\n      return Array.isArray(this.selectedTheme) ? 1 : 2\n    },\n    currentColors () {\n      return Object.keys(SLOT_INHERITANCE)\n        .map(key => [key, this[key + 'ColorLocal']])\n        .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n    },\n    currentOpacity () {\n      return Object.keys(OPACITIES)\n        .map(key => [key, this[key + 'OpacityLocal']])\n        .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n    },\n    currentRadii () {\n      return {\n        btn: this.btnRadiusLocal,\n        input: this.inputRadiusLocal,\n        checkbox: this.checkboxRadiusLocal,\n        panel: this.panelRadiusLocal,\n        avatar: this.avatarRadiusLocal,\n        avatarAlt: this.avatarAltRadiusLocal,\n        tooltip: this.tooltipRadiusLocal,\n        attachment: this.attachmentRadiusLocal,\n        chatMessage: this.chatMessageRadiusLocal\n      }\n    },\n    preview () {\n      return composePreset(this.previewColors, this.previewRadii, this.previewShadows, this.previewFonts)\n    },\n    previewTheme () {\n      if (!this.preview.theme.colors) return { colors: {}, opacity: {}, radii: {}, shadows: {}, fonts: {} }\n      return this.preview.theme\n    },\n    // This needs optimization maybe\n    previewContrast () {\n      try {\n        if (!this.previewTheme.colors.bg) return {}\n        const colors = this.previewTheme.colors\n        const opacity = this.previewTheme.opacity\n        if (!colors.bg) return {}\n        const hints = (ratio) => ({\n          text: ratio.toPrecision(3) + ':1',\n          // AA level, AAA level\n          aa: ratio >= 4.5,\n          aaa: ratio >= 7,\n          // same but for 18pt+ texts\n          laa: ratio >= 3,\n          laaa: ratio >= 4.5\n        })\n        const colorsConverted = Object.entries(colors).reduce((acc, [key, value]) => ({ ...acc, [key]: colorConvert(value) }), {})\n\n        const ratios = Object.entries(SLOT_INHERITANCE).reduce((acc, [key, value]) => {\n          const slotIsBaseText = key === 'text' || key === 'link'\n          const slotIsText = slotIsBaseText || (\n            typeof value === 'object' && value !== null && value.textColor\n          )\n          if (!slotIsText) return acc\n          const { layer, variant } = slotIsBaseText ? { layer: 'bg' } : value\n          const background = variant || layer\n          const opacitySlot = getOpacitySlot(background)\n          const textColors = [\n            key,\n            ...(background === 'bg' ? ['cRed', 'cGreen', 'cBlue', 'cOrange'] : [])\n          ]\n\n          const layers = getLayers(\n            layer,\n            variant || layer,\n            opacitySlot,\n            colorsConverted,\n            opacity\n          )\n\n          return {\n            ...acc,\n            ...textColors.reduce((acc, textColorKey) => {\n              const newKey = slotIsBaseText\n                ? 'bg' + textColorKey[0].toUpperCase() + textColorKey.slice(1)\n                : textColorKey\n              return {\n                ...acc,\n                [newKey]: getContrastRatioLayers(\n                  colorsConverted[textColorKey],\n                  layers,\n                  colorsConverted[textColorKey]\n                )\n              }\n            }, {})\n          }\n        }, {})\n\n        return Object.entries(ratios).reduce((acc, [k, v]) => { acc[k] = hints(v); return acc }, {})\n      } catch (e) {\n        console.warn('Failure computing contrasts', e)\n      }\n    },\n    previewRules () {\n      if (!this.preview.rules) return ''\n      return [\n        ...Object.values(this.preview.rules),\n        'color: var(--text)',\n        'font-family: var(--interfaceFont, sans-serif)'\n      ].join(';')\n    },\n    shadowsAvailable () {\n      return Object.keys(DEFAULT_SHADOWS).sort()\n    },\n    currentShadowOverriden: {\n      get () {\n        return !!this.currentShadow\n      },\n      set (val) {\n        if (val) {\n          set(this.shadowsLocal, this.shadowSelected, this.currentShadowFallback.map(_ => Object.assign({}, _)))\n        } else {\n          del(this.shadowsLocal, this.shadowSelected)\n        }\n      }\n    },\n    currentShadowFallback () {\n      return (this.previewTheme.shadows || {})[this.shadowSelected]\n    },\n    currentShadow: {\n      get () {\n        return this.shadowsLocal[this.shadowSelected]\n      },\n      set (v) {\n        set(this.shadowsLocal, this.shadowSelected, v)\n      }\n    },\n    themeValid () {\n      return !this.shadowsInvalid && !this.colorsInvalid && !this.radiiInvalid\n    },\n    exportedTheme () {\n      const saveEverything = (\n        !this.keepFonts &&\n        !this.keepShadows &&\n        !this.keepOpacity &&\n        !this.keepRoundness &&\n        !this.keepColor\n      )\n\n      const source = {\n        themeEngineVersion: CURRENT_VERSION\n      }\n\n      if (this.keepFonts || saveEverything) {\n        source.fonts = this.fontsLocal\n      }\n      if (this.keepShadows || saveEverything) {\n        source.shadows = this.shadowsLocal\n      }\n      if (this.keepOpacity || saveEverything) {\n        source.opacity = this.currentOpacity\n      }\n      if (this.keepColor || saveEverything) {\n        source.colors = this.currentColors\n      }\n      if (this.keepRoundness || saveEverything) {\n        source.radii = this.currentRadii\n      }\n\n      const theme = {\n        themeEngineVersion: CURRENT_VERSION,\n        ...this.previewTheme\n      }\n\n      return {\n        // To separate from other random JSON files and possible future source formats\n        _pleroma_theme_version: 2, theme, source\n      }\n    }\n  },\n  components: {\n    ColorInput,\n    OpacityInput,\n    RangeInput,\n    ContrastRatio,\n    ShadowControl,\n    FontControl,\n    TabSwitcher,\n    Preview,\n    Checkbox,\n    Select\n  },\n  methods: {\n    loadTheme (\n      {\n        theme,\n        source,\n        _pleroma_theme_version: fileVersion\n      },\n      origin,\n      forceUseSource = false\n    ) {\n      this.dismissWarning()\n      if (!source && !theme) {\n        throw new Error('Can\\'t load theme: empty')\n      }\n      const version = (origin === 'localStorage' && !theme.colors)\n        ? 'l1'\n        : fileVersion\n      const snapshotEngineVersion = (theme || {}).themeEngineVersion\n      const themeEngineVersion = (source || {}).themeEngineVersion || 2\n      const versionsMatch = themeEngineVersion === CURRENT_VERSION\n      const sourceSnapshotMismatch = (\n        theme !== undefined &&\n          source !== undefined &&\n          themeEngineVersion !== snapshotEngineVersion\n      )\n      // Force loading of source if user requested it or if snapshot\n      // is unavailable\n      const forcedSourceLoad = (source && forceUseSource) || !theme\n      if (!(versionsMatch && !sourceSnapshotMismatch) &&\n          !forcedSourceLoad &&\n          version !== 'l1' &&\n          origin !== 'defaults'\n      ) {\n        if (sourceSnapshotMismatch && origin === 'localStorage') {\n          this.themeWarning = {\n            origin,\n            themeEngineVersion,\n            type: 'snapshot_source_mismatch'\n          }\n        } else if (!theme) {\n          this.themeWarning = {\n            origin,\n            noActionsPossible: true,\n            themeEngineVersion,\n            type: 'no_snapshot_old_version'\n          }\n        } else if (!versionsMatch) {\n          this.themeWarning = {\n            origin,\n            noActionsPossible: !source,\n            themeEngineVersion,\n            type: 'wrong_version'\n          }\n        }\n      }\n      this.normalizeLocalState(theme, version, source, forcedSourceLoad)\n    },\n    forceLoadLocalStorage () {\n      this.loadThemeFromLocalStorage(true)\n    },\n    dismissWarning () {\n      this.themeWarning = undefined\n      this.tempImportFile = undefined\n    },\n    forceLoad () {\n      const { origin } = this.themeWarning\n      switch (origin) {\n        case 'localStorage':\n          this.loadThemeFromLocalStorage(true)\n          break\n        case 'file':\n          this.onImport(this.tempImportFile, true)\n          break\n      }\n      this.dismissWarning()\n    },\n    forceSnapshot () {\n      const { origin } = this.themeWarning\n      switch (origin) {\n        case 'localStorage':\n          this.loadThemeFromLocalStorage(false, true)\n          break\n        case 'file':\n          console.err('Forcing snapshout from file is not supported yet')\n          break\n      }\n      this.dismissWarning()\n    },\n    loadThemeFromLocalStorage (confirmLoadSource = false, forceSnapshot = false) {\n      const {\n        customTheme: theme,\n        customThemeSource: source\n      } = this.$store.getters.mergedConfig\n      if (!theme && !source) {\n        // Anon user or never touched themes\n        this.loadTheme(\n          this.$store.state.instance.themeData,\n          'defaults',\n          confirmLoadSource\n        )\n      } else {\n        this.loadTheme(\n          {\n            theme,\n            source: forceSnapshot ? theme : source\n          },\n          'localStorage',\n          confirmLoadSource\n        )\n      }\n    },\n    setCustomTheme () {\n      this.$store.dispatch('setOption', {\n        name: 'customTheme',\n        value: {\n          themeEngineVersion: CURRENT_VERSION,\n          ...this.previewTheme\n        }\n      })\n      this.$store.dispatch('setOption', {\n        name: 'customThemeSource',\n        value: {\n          themeEngineVersion: CURRENT_VERSION,\n          shadows: this.shadowsLocal,\n          fonts: this.fontsLocal,\n          opacity: this.currentOpacity,\n          colors: this.currentColors,\n          radii: this.currentRadii\n        }\n      })\n    },\n    updatePreviewColorsAndShadows () {\n      this.previewColors = generateColors({\n        opacity: this.currentOpacity,\n        colors: this.currentColors\n      })\n      this.previewShadows = generateShadows(\n        { shadows: this.shadowsLocal, opacity: this.previewTheme.opacity, themeEngineVersion: this.engineVersion },\n        this.previewColors.theme.colors,\n        this.previewColors.mod\n      )\n    },\n    importTheme () { this.themeImporter.importData() },\n    exportTheme () { this.themeExporter.exportData() },\n    onImport (parsed, forceSource = false) {\n      this.tempImportFile = parsed\n      this.loadTheme(parsed, 'file', forceSource)\n    },\n    onImportFailure (result) {\n      this.$store.dispatch('pushGlobalNotice', { messageKey: 'settings.invalid_theme_imported', level: 'error' })\n    },\n    importValidator (parsed) {\n      const version = parsed._pleroma_theme_version\n      return version >= 1 || version <= 2\n    },\n    clearAll () {\n      this.loadThemeFromLocalStorage()\n    },\n\n    // Clears all the extra stuff when loading V1 theme\n    clearV1 () {\n      Object.keys(this.$data)\n        .filter(_ => _.endsWith('ColorLocal') || _.endsWith('OpacityLocal'))\n        .filter(_ => !v1OnlyNames.includes(_))\n        .forEach(key => {\n          set(this.$data, key, undefined)\n        })\n    },\n\n    clearRoundness () {\n      Object.keys(this.$data)\n        .filter(_ => _.endsWith('RadiusLocal'))\n        .forEach(key => {\n          set(this.$data, key, undefined)\n        })\n    },\n\n    clearOpacity () {\n      Object.keys(this.$data)\n        .filter(_ => _.endsWith('OpacityLocal'))\n        .forEach(key => {\n          set(this.$data, key, undefined)\n        })\n    },\n\n    clearShadows () {\n      this.shadowsLocal = {}\n    },\n\n    clearFonts () {\n      this.fontsLocal = {}\n    },\n\n    /**\n     * This applies stored theme data onto form. Supports three versions of data:\n     * v3 (version >= 3) - newest version of themes which supports snapshots for better compatiblity\n     * v2 (version = 2) - newer version of themes.\n     * v1 (version = 1) - older version of themes (import from file)\n     * v1l (version = l1) - older version of theme (load from local storage)\n     * v1 and v1l differ because of way themes were stored/exported.\n     * @param {Object} theme - theme data (snapshot)\n     * @param {Number} version - version of data. 0 means try to guess based on data. \"l1\" means v1, locastorage type\n     * @param {Object} source - theme source - this will be used if compatible\n     * @param {Boolean} source - by default source won't be used if version doesn't match since it might render differently\n     *                           this allows importing source anyway\n     */\n    normalizeLocalState (theme, version = 0, source, forceSource = false) {\n      let input\n      if (typeof source !== 'undefined') {\n        if (forceSource || source.themeEngineVersion === CURRENT_VERSION) {\n          input = source\n          version = source.themeEngineVersion\n        } else {\n          input = theme\n        }\n      } else {\n        input = theme\n      }\n\n      const radii = input.radii || input\n      const opacity = input.opacity\n      const shadows = input.shadows || {}\n      const fonts = input.fonts || {}\n      const colors = !input.themeEngineVersion\n        ? colors2to3(input.colors || input)\n        : input.colors || input\n\n      if (version === 0) {\n        if (input.version) version = input.version\n        // Old v1 naming: fg is text, btn is foreground\n        if (typeof colors.text === 'undefined' && typeof colors.fg !== 'undefined') {\n          version = 1\n        }\n        // New v2 naming: text is text, fg is foreground\n        if (typeof colors.text !== 'undefined' && typeof colors.fg !== 'undefined') {\n          version = 2\n        }\n      }\n\n      this.engineVersion = version\n\n      // Stuff that differs between V1 and V2\n      if (version === 1) {\n        this.fgColorLocal = rgb2hex(colors.btn)\n        this.textColorLocal = rgb2hex(colors.fg)\n      }\n\n      if (!this.keepColor) {\n        this.clearV1()\n        const keys = new Set(version !== 1 ? Object.keys(SLOT_INHERITANCE) : [])\n        if (version === 1 || version === 'l1') {\n          keys\n            .add('bg')\n            .add('link')\n            .add('cRed')\n            .add('cBlue')\n            .add('cGreen')\n            .add('cOrange')\n        }\n\n        keys.forEach(key => {\n          const color = colors[key]\n          const hex = rgb2hex(colors[key])\n          this[key + 'ColorLocal'] = hex === '#aN' ? color : hex\n        })\n      }\n\n      if (opacity && !this.keepOpacity) {\n        this.clearOpacity()\n        Object.entries(opacity).forEach(([k, v]) => {\n          if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return\n          this[k + 'OpacityLocal'] = v\n        })\n      }\n\n      if (!this.keepRoundness) {\n        this.clearRoundness()\n        Object.entries(radii).forEach(([k, v]) => {\n          // 'Radius' is kept mostly for v1->v2 localstorage transition\n          const key = k.endsWith('Radius') ? k.split('Radius')[0] : k\n          this[key + 'RadiusLocal'] = v\n        })\n      }\n\n      if (!this.keepShadows) {\n        this.clearShadows()\n        if (version === 2) {\n          this.shadowsLocal = shadows2to3(shadows, this.previewTheme.opacity)\n        } else {\n          this.shadowsLocal = shadows\n        }\n        this.shadowSelected = this.shadowsAvailable[0]\n      }\n\n      if (!this.keepFonts) {\n        this.clearFonts()\n        this.fontsLocal = fonts\n      }\n    }\n  },\n  watch: {\n    currentRadii () {\n      try {\n        this.previewRadii = generateRadii({ radii: this.currentRadii })\n        this.radiiInvalid = false\n      } catch (e) {\n        this.radiiInvalid = true\n        console.warn(e)\n      }\n    },\n    shadowsLocal: {\n      handler () {\n        if (Object.getOwnPropertyNames(this.previewColors).length === 1) return\n        try {\n          this.updatePreviewColorsAndShadows()\n          this.shadowsInvalid = false\n        } catch (e) {\n          this.shadowsInvalid = true\n          console.warn(e)\n        }\n      },\n      deep: true\n    },\n    fontsLocal: {\n      handler () {\n        try {\n          this.previewFonts = generateFonts({ fonts: this.fontsLocal })\n          this.fontsInvalid = false\n        } catch (e) {\n          this.fontsInvalid = true\n          console.warn(e)\n        }\n      },\n      deep: true\n    },\n    currentColors () {\n      try {\n        this.updatePreviewColorsAndShadows()\n        this.colorsInvalid = false\n        this.shadowsInvalid = false\n      } catch (e) {\n        this.colorsInvalid = true\n        this.shadowsInvalid = true\n        console.warn(e)\n      }\n    },\n    currentOpacity () {\n      try {\n        this.updatePreviewColorsAndShadows()\n      } catch (e) {\n        console.warn(e)\n      }\n    },\n    selected () {\n      this.selectedTheme = Object.entries(this.availableStyles).find(([k, s]) => {\n        if (Array.isArray(s)) {\n          console.log(s[0] === this.selected, this.selected)\n          return s[0] === this.selected\n        } else {\n          return s.name === this.selected\n        }\n      })[1]\n    },\n    selectedTheme () {\n      this.dismissWarning()\n      if (this.selectedVersion === 1) {\n        if (!this.keepRoundness) {\n          this.clearRoundness()\n        }\n\n        if (!this.keepShadows) {\n          this.clearShadows()\n        }\n\n        if (!this.keepOpacity) {\n          this.clearOpacity()\n        }\n\n        if (!this.keepColor) {\n          this.clearV1()\n\n          this.bgColorLocal = this.selectedTheme[1]\n          this.fgColorLocal = this.selectedTheme[2]\n          this.textColorLocal = this.selectedTheme[3]\n          this.linkColorLocal = this.selectedTheme[4]\n          this.cRedColorLocal = this.selectedTheme[5]\n          this.cGreenColorLocal = this.selectedTheme[6]\n          this.cBlueColorLocal = this.selectedTheme[7]\n          this.cOrangeColorLocal = this.selectedTheme[8]\n        }\n      } else if (this.selectedVersion >= 2) {\n        this.normalizeLocalState(this.selectedTheme.theme, 2, this.selectedTheme.source)\n      }\n    }\n  }\n}\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./theme_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./theme_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./theme_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-400e19a1\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./theme_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-tab\"},[_c('div',{staticClass:\"presets-container\"},[_c('div',{staticClass:\"save-load\"},[(_vm.themeWarning)?_c('div',{staticClass:\"theme-warning\"},[_c('div',{staticClass:\"alert warning\"},[_vm._v(\"\\n          \"+_vm._s(_vm.themeWarningHelp)+\"\\n        \")]),_vm._v(\" \"),_c('div',{staticClass:\"buttons\"},[(_vm.themeWarning.type === 'snapshot_source_mismatch')?[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.switcher.use_source'))+\"\\n            \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceSnapshot}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.switcher.use_snapshot'))+\"\\n            \")])]:(_vm.themeWarning.noActionsPossible)?[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('general.dismiss'))+\"\\n            \")])]:[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.switcher.load_theme'))+\"\\n            \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.switcher.keep_as_is'))+\"\\n            \")])]],2)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"presets\"},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.presets'))+\"\\n          \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"preset-switcher\"}},[_c('Select',{staticClass:\"preset-switcher\",attrs:{\"id\":\"preset-switcher\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},_vm._l((_vm.availableStyles),function(style){return _c('option',{key:style.name,style:({\n                  backgroundColor: style[1] || (style.theme || style.source).colors.bg,\n                  color: style[3] || (style.theme || style.source).colors.text\n                }),domProps:{\"value\":style.name || style[0]}},[_vm._v(\"\\n                \"+_vm._s(style[0] || style.name)+\"\\n              \")])}),0)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"export-import\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.importTheme}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t(\"settings.import_theme\"))+\"\\n          \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.exportTheme}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t(\"settings.export_theme\"))+\"\\n          \")])])])]),_vm._v(\" \"),_c('div',{staticClass:\"save-load-options\"},[_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepColor),callback:function ($$v) {_vm.keepColor=$$v},expression:\"keepColor\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.style.switcher.keep_color'))+\"\\n        \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepShadows),callback:function ($$v) {_vm.keepShadows=$$v},expression:\"keepShadows\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.style.switcher.keep_shadows'))+\"\\n        \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepOpacity),callback:function ($$v) {_vm.keepOpacity=$$v},expression:\"keepOpacity\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.style.switcher.keep_opacity'))+\"\\n        \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepRoundness),callback:function ($$v) {_vm.keepRoundness=$$v},expression:\"keepRoundness\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.style.switcher.keep_roundness'))+\"\\n        \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepFonts),callback:function ($$v) {_vm.keepFonts=$$v},expression:\"keepFonts\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('settings.style.switcher.keep_fonts'))+\"\\n        \")])],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.switcher.save_load_hint')))])])]),_vm._v(\" \"),_c('preview',{style:(_vm.previewRules)}),_vm._v(\" \"),_c('keep-alive',[_c('tab-switcher',{key:\"style-tweak\"},[_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.common_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('div',{staticClass:\"tab-header-buttons\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n            \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n            \")])])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_1')))]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.main')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"bgColor\",\"label\":_vm.$t('settings.background')},model:{value:(_vm.bgColorLocal),callback:function ($$v) {_vm.bgColorLocal=$$v},expression:\"bgColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"bgOpacity\",\"fallback\":_vm.previewTheme.opacity.bg},model:{value:(_vm.bgOpacityLocal),callback:function ($$v) {_vm.bgOpacityLocal=$$v},expression:\"bgOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"textColor\",\"label\":_vm.$t('settings.text')},model:{value:(_vm.textColorLocal),callback:function ($$v) {_vm.textColorLocal=$$v},expression:\"textColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"accentColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.accent'),\"show-optional-tickbox\":typeof _vm.linkColorLocal !== 'undefined'},model:{value:(_vm.accentColorLocal),callback:function ($$v) {_vm.accentColorLocal=$$v},expression:\"accentColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"linkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links'),\"show-optional-tickbox\":typeof _vm.accentColorLocal !== 'undefined'},model:{value:(_vm.linkColorLocal),callback:function ($$v) {_vm.linkColorLocal=$$v},expression:\"linkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"fgColor\",\"label\":_vm.$t('settings.foreground')},model:{value:(_vm.fgColorLocal),callback:function ($$v) {_vm.fgColorLocal=$$v},expression:\"fgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgTextColor\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.fgText},model:{value:(_vm.fgTextColorLocal),callback:function ($$v) {_vm.fgTextColorLocal=$$v},expression:\"fgTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgLinkColor\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.fgLink},model:{value:(_vm.fgLinkColorLocal),callback:function ($$v) {_vm.fgLinkColorLocal=$$v},expression:\"fgLinkColorLocal\"}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.foreground_hint')))])],1),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.rgbo')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cRedColor\",\"label\":_vm.$t('settings.cRed')},model:{value:(_vm.cRedColorLocal),callback:function ($$v) {_vm.cRedColorLocal=$$v},expression:\"cRedColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCRed}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cBlueColor\",\"label\":_vm.$t('settings.cBlue')},model:{value:(_vm.cBlueColorLocal),callback:function ($$v) {_vm.cBlueColorLocal=$$v},expression:\"cBlueColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCBlue}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cGreenColor\",\"label\":_vm.$t('settings.cGreen')},model:{value:(_vm.cGreenColorLocal),callback:function ($$v) {_vm.cGreenColorLocal=$$v},expression:\"cGreenColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCGreen}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cOrangeColor\",\"label\":_vm.$t('settings.cOrange')},model:{value:(_vm.cOrangeColorLocal),callback:function ($$v) {_vm.cOrangeColorLocal=$$v},expression:\"cOrangeColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCOrange}})],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_2')))])]),_vm._v(\" \"),_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.advanced_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n          \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n          \")])]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.post')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postLinkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links')},model:{value:(_vm.postLinkColorLocal),callback:function ($$v) {_vm.postLinkColorLocal=$$v},expression:\"postLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postLink}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postGreentextColor\",\"fallback\":_vm.previewTheme.colors.cGreen,\"label\":_vm.$t('settings.greentext')},model:{value:(_vm.postGreentextColorLocal),callback:function ($$v) {_vm.postGreentextColorLocal=$$v},expression:\"postGreentextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postGreentext}}),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.alert')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertError\",\"label\":_vm.$t('settings.style.advanced_colors.alert_error'),\"fallback\":_vm.previewTheme.colors.alertError},model:{value:(_vm.alertErrorColorLocal),callback:function ($$v) {_vm.alertErrorColorLocal=$$v},expression:\"alertErrorColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertErrorText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertErrorText},model:{value:(_vm.alertErrorTextColorLocal),callback:function ($$v) {_vm.alertErrorTextColorLocal=$$v},expression:\"alertErrorTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertErrorText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarning\",\"label\":_vm.$t('settings.style.advanced_colors.alert_warning'),\"fallback\":_vm.previewTheme.colors.alertWarning},model:{value:(_vm.alertWarningColorLocal),callback:function ($$v) {_vm.alertWarningColorLocal=$$v},expression:\"alertWarningColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarningText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertWarningText},model:{value:(_vm.alertWarningTextColorLocal),callback:function ($$v) {_vm.alertWarningTextColorLocal=$$v},expression:\"alertWarningTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertWarningText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutral\",\"label\":_vm.$t('settings.style.advanced_colors.alert_neutral'),\"fallback\":_vm.previewTheme.colors.alertNeutral},model:{value:(_vm.alertNeutralColorLocal),callback:function ($$v) {_vm.alertNeutralColorLocal=$$v},expression:\"alertNeutralColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutralText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertNeutralText},model:{value:(_vm.alertNeutralTextColorLocal),callback:function ($$v) {_vm.alertNeutralTextColorLocal=$$v},expression:\"alertNeutralTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertNeutralText,\"large\":\"\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"alertOpacity\",\"fallback\":_vm.previewTheme.opacity.alert},model:{value:(_vm.alertOpacityLocal),callback:function ($$v) {_vm.alertOpacityLocal=$$v},expression:\"alertOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.badge')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotification\",\"label\":_vm.$t('settings.style.advanced_colors.badge_notification'),\"fallback\":_vm.previewTheme.colors.badgeNotification},model:{value:(_vm.badgeNotificationColorLocal),callback:function ($$v) {_vm.badgeNotificationColorLocal=$$v},expression:\"badgeNotificationColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotificationText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.badgeNotificationText},model:{value:(_vm.badgeNotificationTextColorLocal),callback:function ($$v) {_vm.badgeNotificationTextColorLocal=$$v},expression:\"badgeNotificationTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.badgeNotificationText,\"large\":\"\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.panel_header')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelColor\",\"fallback\":_vm.previewTheme.colors.panel,\"label\":_vm.$t('settings.background')},model:{value:(_vm.panelColorLocal),callback:function ($$v) {_vm.panelColorLocal=$$v},expression:\"panelColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"panelOpacity\",\"fallback\":_vm.previewTheme.opacity.panel,\"disabled\":_vm.panelColorLocal === 'transparent'},model:{value:(_vm.panelOpacityLocal),callback:function ($$v) {_vm.panelOpacityLocal=$$v},expression:\"panelOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelTextColor\",\"fallback\":_vm.previewTheme.colors.panelText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.panelTextColorLocal),callback:function ($$v) {_vm.panelTextColorLocal=$$v},expression:\"panelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelLinkColor\",\"fallback\":_vm.previewTheme.colors.panelLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.panelLinkColorLocal),callback:function ($$v) {_vm.panelLinkColorLocal=$$v},expression:\"panelLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelLink,\"large\":\"\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.top_bar')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarColor\",\"fallback\":_vm.previewTheme.colors.topBar,\"label\":_vm.$t('settings.background')},model:{value:(_vm.topBarColorLocal),callback:function ($$v) {_vm.topBarColorLocal=$$v},expression:\"topBarColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarTextColor\",\"fallback\":_vm.previewTheme.colors.topBarText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.topBarTextColorLocal),callback:function ($$v) {_vm.topBarTextColorLocal=$$v},expression:\"topBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarLinkColor\",\"fallback\":_vm.previewTheme.colors.topBarLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.topBarLinkColorLocal),callback:function ($$v) {_vm.topBarLinkColorLocal=$$v},expression:\"topBarLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.inputs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputColor\",\"fallback\":_vm.previewTheme.colors.input,\"label\":_vm.$t('settings.background')},model:{value:(_vm.inputColorLocal),callback:function ($$v) {_vm.inputColorLocal=$$v},expression:\"inputColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"inputOpacity\",\"fallback\":_vm.previewTheme.opacity.input,\"disabled\":_vm.inputColorLocal === 'transparent'},model:{value:(_vm.inputOpacityLocal),callback:function ($$v) {_vm.inputOpacityLocal=$$v},expression:\"inputOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputTextColor\",\"fallback\":_vm.previewTheme.colors.inputText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.inputTextColorLocal),callback:function ($$v) {_vm.inputTextColorLocal=$$v},expression:\"inputTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.inputText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.buttons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnColor\",\"fallback\":_vm.previewTheme.colors.btn,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnColorLocal),callback:function ($$v) {_vm.btnColorLocal=$$v},expression:\"btnColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"btnOpacity\",\"fallback\":_vm.previewTheme.opacity.btn,\"disabled\":_vm.btnColorLocal === 'transparent'},model:{value:(_vm.btnOpacityLocal),callback:function ($$v) {_vm.btnOpacityLocal=$$v},expression:\"btnOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTextColor\",\"fallback\":_vm.previewTheme.colors.btnText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnTextColorLocal),callback:function ($$v) {_vm.btnTextColorLocal=$$v},expression:\"btnTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPanelTextColorLocal),callback:function ($$v) {_vm.btnPanelTextColorLocal=$$v},expression:\"btnPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnTopBarTextColorLocal),callback:function ($$v) {_vm.btnTopBarTextColorLocal=$$v},expression:\"btnTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.pressed')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedColor\",\"fallback\":_vm.previewTheme.colors.btnPressed,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnPressedColorLocal),callback:function ($$v) {_vm.btnPressedColorLocal=$$v},expression:\"btnPressedColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnPressedTextColorLocal),callback:function ($$v) {_vm.btnPressedTextColorLocal=$$v},expression:\"btnPressedTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPressedPanelTextColorLocal),callback:function ($$v) {_vm.btnPressedPanelTextColorLocal=$$v},expression:\"btnPressedPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnPressedTopBarTextColorLocal),callback:function ($$v) {_vm.btnPressedTopBarTextColorLocal=$$v},expression:\"btnPressedTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.disabled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledColor\",\"fallback\":_vm.previewTheme.colors.btnDisabled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnDisabledColorLocal),callback:function ($$v) {_vm.btnDisabledColorLocal=$$v},expression:\"btnDisabledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnDisabledTextColorLocal),callback:function ($$v) {_vm.btnDisabledTextColorLocal=$$v},expression:\"btnDisabledTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnDisabledPanelTextColorLocal),callback:function ($$v) {_vm.btnDisabledPanelTextColorLocal=$$v},expression:\"btnDisabledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnDisabledTopBarTextColorLocal),callback:function ($$v) {_vm.btnDisabledTopBarTextColorLocal=$$v},expression:\"btnDisabledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.toggled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledColor\",\"fallback\":_vm.previewTheme.colors.btnToggled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnToggledColorLocal),callback:function ($$v) {_vm.btnToggledColorLocal=$$v},expression:\"btnToggledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnToggledTextColorLocal),callback:function ($$v) {_vm.btnToggledTextColorLocal=$$v},expression:\"btnToggledTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnToggledPanelTextColorLocal),callback:function ($$v) {_vm.btnToggledPanelTextColorLocal=$$v},expression:\"btnToggledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnToggledTopBarTextColorLocal),callback:function ($$v) {_vm.btnToggledTopBarTextColorLocal=$$v},expression:\"btnToggledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledTopBarText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.tabs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabColor\",\"fallback\":_vm.previewTheme.colors.tab,\"label\":_vm.$t('settings.background')},model:{value:(_vm.tabColorLocal),callback:function ($$v) {_vm.tabColorLocal=$$v},expression:\"tabColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabTextColor\",\"fallback\":_vm.previewTheme.colors.tabText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabTextColorLocal),callback:function ($$v) {_vm.tabTextColorLocal=$$v},expression:\"tabTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabActiveTextColor\",\"fallback\":_vm.previewTheme.colors.tabActiveText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabActiveTextColorLocal),callback:function ($$v) {_vm.tabActiveTextColorLocal=$$v},expression:\"tabActiveTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabActiveText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.borders')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"borderColor\",\"fallback\":_vm.previewTheme.colors.border,\"label\":_vm.$t('settings.style.common.color')},model:{value:(_vm.borderColorLocal),callback:function ($$v) {_vm.borderColorLocal=$$v},expression:\"borderColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"borderOpacity\",\"fallback\":_vm.previewTheme.opacity.border,\"disabled\":_vm.borderColorLocal === 'transparent'},model:{value:(_vm.borderOpacityLocal),callback:function ($$v) {_vm.borderOpacityLocal=$$v},expression:\"borderOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.faint_text')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintColor\",\"fallback\":_vm.previewTheme.colors.faint,\"label\":_vm.$t('settings.text')},model:{value:(_vm.faintColorLocal),callback:function ($$v) {_vm.faintColorLocal=$$v},expression:\"faintColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintLinkColor\",\"fallback\":_vm.previewTheme.colors.faintLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.faintLinkColorLocal),callback:function ($$v) {_vm.faintLinkColorLocal=$$v},expression:\"faintLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelFaintColor\",\"fallback\":_vm.previewTheme.colors.panelFaint,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.panelFaintColorLocal),callback:function ($$v) {_vm.panelFaintColorLocal=$$v},expression:\"panelFaintColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"faintOpacity\",\"fallback\":_vm.previewTheme.opacity.faint},model:{value:(_vm.faintOpacityLocal),callback:function ($$v) {_vm.faintOpacityLocal=$$v},expression:\"faintOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.underlay')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"underlay\",\"label\":_vm.$t('settings.style.advanced_colors.underlay'),\"fallback\":_vm.previewTheme.colors.underlay},model:{value:(_vm.underlayColorLocal),callback:function ($$v) {_vm.underlayColorLocal=$$v},expression:\"underlayColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"underlayOpacity\",\"fallback\":_vm.previewTheme.opacity.underlay,\"disabled\":_vm.underlayOpacityLocal === 'transparent'},model:{value:(_vm.underlayOpacityLocal),callback:function ($$v) {_vm.underlayOpacityLocal=$$v},expression:\"underlayOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.wallpaper')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"wallpaper\",\"label\":_vm.$t('settings.style.advanced_colors.wallpaper'),\"fallback\":_vm.previewTheme.colors.wallpaper},model:{value:(_vm.wallpaperColorLocal),callback:function ($$v) {_vm.wallpaperColorLocal=$$v},expression:\"wallpaperColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.poll')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"poll\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.poll},model:{value:(_vm.pollColorLocal),callback:function ($$v) {_vm.pollColorLocal=$$v},expression:\"pollColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"pollText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.pollText},model:{value:(_vm.pollTextColorLocal),callback:function ($$v) {_vm.pollTextColorLocal=$$v},expression:\"pollTextColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.icons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"icon\",\"label\":_vm.$t('settings.style.advanced_colors.icons'),\"fallback\":_vm.previewTheme.colors.icon},model:{value:(_vm.iconColorLocal),callback:function ($$v) {_vm.iconColorLocal=$$v},expression:\"iconColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.highlight')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlight\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.highlight},model:{value:(_vm.highlightColorLocal),callback:function ($$v) {_vm.highlightColorLocal=$$v},expression:\"highlightColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.highlightText},model:{value:(_vm.highlightTextColorLocal),callback:function ($$v) {_vm.highlightTextColorLocal=$$v},expression:\"highlightTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.highlightLink},model:{value:(_vm.highlightLinkColorLocal),callback:function ($$v) {_vm.highlightLinkColorLocal=$$v},expression:\"highlightLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.popover')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popover\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.popover},model:{value:(_vm.popoverColorLocal),callback:function ($$v) {_vm.popoverColorLocal=$$v},expression:\"popoverColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"popoverOpacity\",\"fallback\":_vm.previewTheme.opacity.popover,\"disabled\":_vm.popoverOpacityLocal === 'transparent'},model:{value:(_vm.popoverOpacityLocal),callback:function ($$v) {_vm.popoverOpacityLocal=$$v},expression:\"popoverOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.popoverText},model:{value:(_vm.popoverTextColorLocal),callback:function ($$v) {_vm.popoverTextColorLocal=$$v},expression:\"popoverTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.popoverLink},model:{value:(_vm.popoverLinkColorLocal),callback:function ($$v) {_vm.popoverLinkColorLocal=$$v},expression:\"popoverLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedPost')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPost\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedPost},model:{value:(_vm.selectedPostColorLocal),callback:function ($$v) {_vm.selectedPostColorLocal=$$v},expression:\"selectedPostColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedPostText},model:{value:(_vm.selectedPostTextColorLocal),callback:function ($$v) {_vm.selectedPostTextColorLocal=$$v},expression:\"selectedPostTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedPostLink},model:{value:(_vm.selectedPostLinkColorLocal),callback:function ($$v) {_vm.selectedPostLinkColorLocal=$$v},expression:\"selectedPostLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedMenu')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenu\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedMenu},model:{value:(_vm.selectedMenuColorLocal),callback:function ($$v) {_vm.selectedMenuColorLocal=$$v},expression:\"selectedMenuColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedMenuText},model:{value:(_vm.selectedMenuTextColorLocal),callback:function ($$v) {_vm.selectedMenuTextColorLocal=$$v},expression:\"selectedMenuTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedMenuLink},model:{value:(_vm.selectedMenuLinkColorLocal),callback:function ($$v) {_vm.selectedMenuLinkColorLocal=$$v},expression:\"selectedMenuLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('chats.chats')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatBgColorLocal),callback:function ($$v) {_vm.chatBgColorLocal=$$v},expression:\"chatBgColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.chat.incoming')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatMessageIncomingBgColorLocal),callback:function ($$v) {_vm.chatMessageIncomingBgColorLocal=$$v},expression:\"chatMessageIncomingBgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingTextColor\",\"fallback\":_vm.previewTheme.colors.text,\"label\":_vm.$t('settings.text')},model:{value:(_vm.chatMessageIncomingTextColorLocal),callback:function ($$v) {_vm.chatMessageIncomingTextColorLocal=$$v},expression:\"chatMessageIncomingTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingLinkColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.links')},model:{value:(_vm.chatMessageIncomingLinkColorLocal),callback:function ($$v) {_vm.chatMessageIncomingLinkColorLocal=$$v},expression:\"chatMessageIncomingLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingBorderLinkColor\",\"fallback\":_vm.previewTheme.colors.fg,\"label\":_vm.$t('settings.style.advanced_colors.chat.border')},model:{value:(_vm.chatMessageIncomingBorderColorLocal),callback:function ($$v) {_vm.chatMessageIncomingBorderColorLocal=$$v},expression:\"chatMessageIncomingBorderColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.chat.outgoing')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatMessageOutgoingBgColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingBgColorLocal=$$v},expression:\"chatMessageOutgoingBgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingTextColor\",\"fallback\":_vm.previewTheme.colors.text,\"label\":_vm.$t('settings.text')},model:{value:(_vm.chatMessageOutgoingTextColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingTextColorLocal=$$v},expression:\"chatMessageOutgoingTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingLinkColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.links')},model:{value:(_vm.chatMessageOutgoingLinkColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingLinkColorLocal=$$v},expression:\"chatMessageOutgoingLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingBorderLinkColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.style.advanced_colors.chat.border')},model:{value:(_vm.chatMessageOutgoingBorderColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingBorderColorLocal=$$v},expression:\"chatMessageOutgoingBorderColorLocal\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"radius-container\",attrs:{\"label\":_vm.$t('settings.style.radii._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.radii_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearRoundness}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n          \")])]),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"btnRadius\",\"label\":_vm.$t('settings.btnRadius'),\"fallback\":_vm.previewTheme.radii.btn,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.btnRadiusLocal),callback:function ($$v) {_vm.btnRadiusLocal=$$v},expression:\"btnRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"inputRadius\",\"label\":_vm.$t('settings.inputRadius'),\"fallback\":_vm.previewTheme.radii.input,\"max\":\"9\",\"hard-min\":\"0\"},model:{value:(_vm.inputRadiusLocal),callback:function ($$v) {_vm.inputRadiusLocal=$$v},expression:\"inputRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"checkboxRadius\",\"label\":_vm.$t('settings.checkboxRadius'),\"fallback\":_vm.previewTheme.radii.checkbox,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.checkboxRadiusLocal),callback:function ($$v) {_vm.checkboxRadiusLocal=$$v},expression:\"checkboxRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"panelRadius\",\"label\":_vm.$t('settings.panelRadius'),\"fallback\":_vm.previewTheme.radii.panel,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.panelRadiusLocal),callback:function ($$v) {_vm.panelRadiusLocal=$$v},expression:\"panelRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarRadius\",\"label\":_vm.$t('settings.avatarRadius'),\"fallback\":_vm.previewTheme.radii.avatar,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarRadiusLocal),callback:function ($$v) {_vm.avatarRadiusLocal=$$v},expression:\"avatarRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarAltRadius\",\"label\":_vm.$t('settings.avatarAltRadius'),\"fallback\":_vm.previewTheme.radii.avatarAlt,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarAltRadiusLocal),callback:function ($$v) {_vm.avatarAltRadiusLocal=$$v},expression:\"avatarAltRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"attachmentRadius\",\"label\":_vm.$t('settings.attachmentRadius'),\"fallback\":_vm.previewTheme.radii.attachment,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.attachmentRadiusLocal),callback:function ($$v) {_vm.attachmentRadiusLocal=$$v},expression:\"attachmentRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"tooltipRadius\",\"label\":_vm.$t('settings.tooltipRadius'),\"fallback\":_vm.previewTheme.radii.tooltip,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.tooltipRadiusLocal),callback:function ($$v) {_vm.tooltipRadiusLocal=$$v},expression:\"tooltipRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"chatMessageRadius\",\"label\":_vm.$t('settings.chatMessageRadius'),\"fallback\":_vm.previewTheme.radii.chatMessage || 2,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.chatMessageRadiusLocal),callback:function ($$v) {_vm.chatMessageRadiusLocal=$$v},expression:\"chatMessageRadiusLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"shadow-container\",attrs:{\"label\":_vm.$t('settings.style.shadows._tab_label')}},[_c('div',{staticClass:\"tab-header shadow-selector\"},[_c('div',{staticClass:\"select-container\"},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.style.shadows.component'))+\"\\n            \"),_c('Select',{staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\"},model:{value:(_vm.shadowSelected),callback:function ($$v) {_vm.shadowSelected=$$v},expression:\"shadowSelected\"}},_vm._l((_vm.shadowsAvailable),function(shadow){return _c('option',{key:shadow,domProps:{\"value\":shadow}},[_vm._v(\"\\n                \"+_vm._s(_vm.$t('settings.style.shadows.components.' + shadow))+\"\\n              \")])}),0)],1),_vm._v(\" \"),_c('div',{staticClass:\"override\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"override\"}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t('settings.style.shadows.override'))+\"\\n            \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentShadowOverriden),expression:\"currentShadowOverriden\"}],staticClass:\"input-override\",attrs:{\"id\":\"override\",\"name\":\"override\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentShadowOverriden)?_vm._i(_vm.currentShadowOverriden,null)>-1:(_vm.currentShadowOverriden)},on:{\"change\":function($event){var $$a=_vm.currentShadowOverriden,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentShadowOverriden=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentShadowOverriden=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentShadowOverriden=$$c}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"override\"}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearShadows}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n          \")])]),_vm._v(\" \"),_c('ShadowControl',{attrs:{\"ready\":!!_vm.currentShadowFallback,\"fallback\":_vm.currentShadowFallback},model:{value:(_vm.currentShadow),callback:function ($$v) {_vm.currentShadow=$$v},expression:\"currentShadow\"}}),_vm._v(\" \"),(_vm.shadowSelected === 'avatar' || _vm.shadowSelected === 'avatarStatus')?_c('div',[_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.always_drop_shadow\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"filter: drop-shadow()\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.avatar_inset')))]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.drop_shadow_syntax\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"drop-shadow\")]),_vm._v(\" \"),_c('code',[_vm._v(\"spread-radius\")]),_vm._v(\" \"),_c('code',[_vm._v(\"inset\")])]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.inset_classic\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"box-shadow\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.spread_zero')))])],1):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"fonts-container\",attrs:{\"label\":_vm.$t('settings.style.fonts._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.fonts.help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearFonts}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n          \")])]),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"ui\",\"label\":_vm.$t('settings.style.fonts.components.interface'),\"fallback\":_vm.previewTheme.fonts.interface,\"no-inherit\":\"1\"},model:{value:(_vm.fontsLocal.interface),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"interface\", $$v)},expression:\"fontsLocal.interface\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"input\",\"label\":_vm.$t('settings.style.fonts.components.input'),\"fallback\":_vm.previewTheme.fonts.input},model:{value:(_vm.fontsLocal.input),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"input\", $$v)},expression:\"fontsLocal.input\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"post\",\"label\":_vm.$t('settings.style.fonts.components.post'),\"fallback\":_vm.previewTheme.fonts.post},model:{value:(_vm.fontsLocal.post),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"post\", $$v)},expression:\"fontsLocal.post\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"postCode\",\"label\":_vm.$t('settings.style.fonts.components.postCode'),\"fallback\":_vm.previewTheme.fonts.postCode},model:{value:(_vm.fontsLocal.postCode),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"postCode\", $$v)},expression:\"fontsLocal.postCode\"}})],1)])],1),_vm._v(\" \"),_c('div',{staticClass:\"apply-container\"},[_c('button',{staticClass:\"btn button-default submit\",attrs:{\"disabled\":!_vm.themeValid},on:{\"click\":_vm.setCustomTheme}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('general.apply'))+\"\\n    \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearAll}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('settings.style.switcher.reset'))+\"\\n    \")])])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\n\nimport DataImportExportTab from './tabs/data_import_export_tab.vue'\nimport MutesAndBlocksTab from './tabs/mutes_and_blocks_tab.vue'\nimport NotificationsTab from './tabs/notifications_tab.vue'\nimport FilteringTab from './tabs/filtering_tab.vue'\nimport SecurityTab from './tabs/security_tab/security_tab.vue'\nimport ProfileTab from './tabs/profile_tab.vue'\nimport GeneralTab from './tabs/general_tab.vue'\nimport VersionTab from './tabs/version_tab.vue'\nimport ThemeTab from './tabs/theme_tab/theme_tab.vue'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n  faWrench,\n  faUser,\n  faFilter,\n  faPaintBrush,\n  faBell,\n  faDownload,\n  faEyeSlash,\n  faInfo\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n  faWrench,\n  faUser,\n  faFilter,\n  faPaintBrush,\n  faBell,\n  faDownload,\n  faEyeSlash,\n  faInfo\n)\n\nconst SettingsModalContent = {\n  components: {\n    TabSwitcher,\n\n    DataImportExportTab,\n    MutesAndBlocksTab,\n    NotificationsTab,\n    FilteringTab,\n    SecurityTab,\n    ProfileTab,\n    GeneralTab,\n    VersionTab,\n    ThemeTab\n  },\n  computed: {\n    isLoggedIn () {\n      return !!this.$store.state.users.currentUser\n    },\n    open () {\n      return this.$store.state.interface.settingsModalState !== 'hidden'\n    }\n  },\n  methods: {\n    onOpen () {\n      const targetTab = this.$store.state.interface.settingsModalTargetTab\n      // We're being told to open in specific tab\n      if (targetTab) {\n        const tabIndex = this.$refs.tabSwitcher.$slots.default.findIndex(elm => {\n          return elm.data && elm.data.attrs['data-tab-name'] === targetTab\n        })\n        if (tabIndex >= 0) {\n          this.$refs.tabSwitcher.setTab(tabIndex)\n        }\n      }\n      // Clear the state of target tab, so that next time settings is opened\n      // it doesn't force it.\n      this.$store.dispatch('clearSettingsModalTargetTab')\n    }\n  },\n  mounted () {\n    this.onOpen()\n  },\n  watch: {\n    open: function (value) {\n      if (value) this.onOpen()\n    }\n  }\n}\n\nexport default SettingsModalContent\n","function injectStyle (context) {\n  require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./settings_modal_content.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./settings_modal_content.js\"\nimport __vue_script__ from \"!!babel-loader!./settings_modal_content.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c173d428\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./settings_modal_content.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tab-switcher',{ref:\"tabSwitcher\",staticClass:\"settings_tab-switcher\",attrs:{\"side-tab-bar\":true,\"scrollable-tabs\":true}},[_c('div',{attrs:{\"label\":_vm.$t('settings.general'),\"icon\":\"wrench\",\"data-tab-name\":\"general\"}},[_c('GeneralTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.profile_tab'),\"icon\":\"user\",\"data-tab-name\":\"profile\"}},[_c('ProfileTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.security_tab'),\"icon\":\"lock\",\"data-tab-name\":\"security\"}},[_c('SecurityTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.filtering'),\"icon\":\"filter\",\"data-tab-name\":\"filtering\"}},[_c('FilteringTab')],1),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.theme'),\"icon\":\"paint-brush\",\"data-tab-name\":\"theme\"}},[_c('ThemeTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.notifications'),\"icon\":\"bell\",\"data-tab-name\":\"notifications\"}},[_c('NotificationsTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.data_import_export_tab'),\"icon\":\"download\",\"data-tab-name\":\"dataImportExport\"}},[_c('DataImportExportTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.mutes_and_blocks'),\"fullHeight\":true,\"icon\":\"eye-slash\",\"data-tab-name\":\"mutesAndBlocks\"}},[_c('MutesAndBlocksTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.version.title'),\"icon\":\"info\",\"data-tab-name\":\"version\"}},[_c('VersionTab')],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }"],"sourceRoot":""}